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 0C5D51FF16B for ; Thu, 9 Jan 2025 13:57:05 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id D865FEC8E; Thu, 9 Jan 2025 13:56:49 +0100 (CET) Mime-Version: 1.0 Date: Thu, 09 Jan 2025 13:56:15 +0100 Message-Id: To: "Wolfgang Bumiller" From: "Max Carrara" X-Mailer: aerc 0.18.2-0-ge037c095a049 References: <20241220185207.519912-1-m.carrara@proxmox.com> <20241220185207.519912-2-m.carrara@proxmox.com> In-Reply-To: X-SPAM-LEVEL: Spam detection results: 0 AWL -2.451 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_SOMETLD_ARE_BAD_TLD 5 .bar, .beauty, .buzz, .cam, .casa, .cfd, .club, .date, .guru, .link, .live, .monster, .online, .press, .pw, .quest, .rest, .sbs, .shop, .stream, .top, .trade, .wiki, .work, .xyz TLD abuse RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [python.org, cppreference.com, rust-lang.org, foo.bar] Subject: Re: [pve-devel] [PATCH v2 pve-common 01/12] introduce PVE::Path 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 Cc: 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" T24gVGh1IEphbiA5LCAyMDI1IGF0IDEyOjA2IFBNIENFVCwgV29sZmdhbmcgQnVtaWxsZXIgd3Jv dGU6Cj4gT24gVGh1LCBKYW4gMDksIDIwMjUgYXQgMTA6NTY6MTZBTSArMDEwMCwgTWF4IENhcnJh cmEgd3JvdGU6Cj4gPiBPbiBXZWQgSmFuIDgsIDIwMjUgYXQgMzowNSBQTSBDRVQsIFdvbGZnYW5n IEJ1bWlsbGVyIHdyb3RlOgo+ID4gPiBPbiBGcmksIERlYyAyMCwgMjAyNCBhdCAwNzo1MTo1NlBN ICswMTAwLCBNYXggQ2FycmFyYSB3cm90ZToKPiA+ID4gPiArbXkgc3ViIF9wYXRoX2ZpbGVfc3Vm Zml4ZXMgOiBwcm90b3R5cGUoJCkgewo+ID4gPiA+ICsgICAgbXkgKCRmaWxlX25hbWVfbm9fcHJl Zml4KSA9IEBfOwo+ID4gPiA+ICsKPiA+ID4gPiArICAgIGNvbmZlc3MgIlwkZmlsZV9uYW1lX25v X3ByZWZpeCBpcyB1bmRlZiIgaWYgIWRlZmluZWQoJGZpbGVfbmFtZV9ub19wcmVmaXgpOwo+ID4g PiA+ICsKPiA+ID4gPiArICAgICMgU3VmZml4ZXMgYXJlIGV4dHJhY3RlZCAibWFudWFsbHkiIGJl Y2F1c2Ugam9pbigpaW5nIHRoZSByZXN1bHQgb2Ygc3BsaXQoKQo+ID4gPiA+ICsgICAgIyByZXN1 bHRzIGluIGEgZGlmZmVyZW50IGZpbGUgbmFtZSB0aGFuIHRoZSBvcmlnaW5hbC4gTGV0J3Mgc2F5 IHlvdSBoYXZlIGEKPiA+ID4gPiArICAgICMgZmlsZSBuYW1lZCAiZm9vLmJhci4iLiBUaGUgY29y cmVjdCBzdWZmaXhlcyB3b3VsZCBiZSAoImJhciIsICIiKS4KPiA+ID4gPiArICAgICMgV2l0aCBz cGxpdCwgeW91IGdldCB0aGUgZm9sbG93aW5nOgo+ID4gPiA+ICsgICAgIyAgICAgc3BsaXQoL1wu LywgIi5iYXIuIikgICAgIC0tPiAoIiIsICJiYXIiKSAgICAgLS0+IGpvaW4oKWVkIHRvICJmb28u LmJhciIKPiA+ID4gPiArICAgICMgICAgIHNwbGl0KC9cLi8sICIuYmFyLiIsIC0xKSAtLT4gKCIi LCAiYmFyIiwgIiIpIC0tPiBqb2luKCllZCB0byAiZm9vLi5iYXIuIgo+ID4gPiA+ICsgICAgbXkg QHN1ZmZpeGVzID0gKCk7Cj4gPiA+ID4gKyAgICB3aGlsZSAoJGZpbGVfbmFtZV9ub19wcmVmaXgg PX4gc3xeKFwuW15cLl0qKXx8KSB7Cj4gPiA+ID4gKwlteSAkc3VmZml4ID0gJDE7Cj4gPiA+ID4g Kwkkc3VmZml4ID1+IHN8XlwufHw7Cj4gPiA+ID4gKwlwdXNoKEBzdWZmaXhlcywgJHN1ZmZpeCk7 Cj4gPiA+ID4gKyAgICB9Cj4gPiA+ID4gKwo+ID4gPiA+ICsgICAgcmV0dXJuIEBzdWZmaXhlczsK PiA+ID4gPiArfQo+ID4gPiA+ICsKPiA+ID4gPiArPWhlYWQzIHBhdGhfZmlsZV9zdWZmaXhlcygk cGF0aCkKPiA+ID4gPiArCj4gPiA+ID4gK1JldHVybnMgdGhlIHN1ZmZpeGVzIG9mIHRoZSBDPCRw YXRoPidzIGZpbGUgbmFtZSBhcyBhIGxpc3QuIElmIHRoZSBDPCRwYXRoPiBkb2VzCj4gPiA+ID4g K25vdCBoYXZlIGEgdmFsaWQgZmlsZSBuYW1lLCBhbiBlbXB0eSBsaXN0IGlzIHJldHVybmVkIGlu c3RlYWQuCj4gPiA+ID4gKwo+ID4gPiA+ICtJbiBzY2FsYXIgY29udGV4dCwgcmV0dXJucyBhIHJl ZmVyZW5jZSB0byBhIGxpc3QuCj4gPiA+Cj4gPiA+ICheIElzbid0IHRoaXMgYSBiaXQgYXdrd2Fy ZD8pCj4gPiAKPiA+IFdlbGwsIGRvIHlvdSB0aGluayBpdCBpcz8gSSd2ZSBiZWVuIHVzaW5nIHRo YXQga2luZCBvZiAicmV0dXJuIHN0eWxlIgo+ID4gaGVyZSBhbmQgdGhlcmUgYW5kIGhhdmUgYmVl biBsaWtpbmcgaXQsIGJ1dCBpZiBpdCdzIHdlaXJkIHRvIG90aGVycywgSQo+ID4gY2FuIGFkYXB0 IGl0LiA6UAo+Cj4gSWYgeW91IHJlbW92ZSB0aGUgZGlzdGluY3Rpb24gYW5kIGFsd2F5cyByZXR1 cm4gdGhlIGxpc3QsIHRoZSBzY2FsYXIKPiBjb250ZXh0IHdvdWxkIGdpdmUgeW91IHRoZSBmaW5h bCBlbGVtZW50LCB3aGljaCB3b3VsZCBiZSAidGhlIGV4dGVuc2lvbiIKPiAoJ2d6Jywgbm90ICd0 YXIuZ3onIDpQKSwgd2hpY2ggd291bGQgYWxzbyBiZSBhIG5pY2Ugc2hvcnRjdXQgZm9yIHdoYXQK PiBJJ2QgYW50aWNpcGF0ZSB0byBiZSBvbmUgb2YgdGhlIG1vc3QgY29tbW9uKD8pIHVzZXMuCgpT dXJlLCB0aGF0J3MgZmluZSBieSBtZSEKClRob3VnaCwgSSBzdGlsbCB3YW5uYSBrZWVwIHBhdGhf ZmlsZV9zdWZmaXgoKSBhcm91bmQsIGFzIHRoYXQgcmV0dXJucwpvbmx5IHRoZSBsYXN0IHN1ZmZp eCAodGhlIGV4dGVuc2lvbiksIGFzIHRoYXQncyBhIGJpdCBtb3JlIGV4cGxpY2l0LgoKVGhlcmUg YXJlIGEgZmV3IG90aGVyIGZ1bmN0aW9ucyB0aGF0IHJldHVybiBhIGxpc3RyZWYgaW4gc2NhbGFy IGNvbnRleHQKdGhvdWdoOyBJJ2QgcHJlZmVyIHRvIGFkYXB0IHRob3NlIHRvbyB0aGVuLCBmb3Ig Y29uc2lzdGVuY3kncyBzYWtlIGFuZAphbGwgdGhhdC4gKFNpbmNlIHRoaXMgaXMgYSBmcmVzaCBs aWJyYXJ5LCBJIHdhbnQgaXQgdG8gaGF2ZSBubyBzdXJwcmlzZXMKYWJvdXQgaXRzIHVzYWdlIDtQ ICkKCkknbGwgaGF2ZSB0byBhZGFwdCB0aGUgdGVzdHMgYSBsaXR0bGUgZm9yIHRoaXMsIGJ1dCBv dGhlcndpc2UgdGhpcwpzaG91bGRuJ3QgYmUgbXVjaCBvZiBhIGhhc3NsZSB0byBjaGFuZ2UuCgo+ Cj4gPiAKPiA+ID4KPiA+ID4gPiArCj4gPiA+ID4gK1RoZSBzdWZmaXhlcyBvZiBhIHBhdGggYXJl IGVzc2VudGlhbGx5IHRoZSBmaWxlIG5hbWUncyBleHRlbnNpb25zLCB0aGUgcGFydHMKPiA+ID4g PiArdGhhdCBjb21lIGFmdGVyIHRoZSBMPDwgcHJlZml4fC8icGF0aF9maWxlX3ByZWZpeCgkcGF0 aCkiID4+Lgo+ID4gPiA+ICsKPiA+ID4gPiArICAgIG15IEBzdWZmaXhlcyA9IHBhdGhfZmlsZV9z dWZmaXhlcygiL2V0Yy9yZXNvbHYuY29uZiIpOwo+ID4gPiA+ICsgICAgIyAoImNvbmYiKQo+ID4g PiA+ICsKPiA+ID4gPiArICAgIG15ICRzdWZmaXhlcyA9IHBhdGhfZmlsZV9wcmVmaXgoIi90bXAv YXJjaGl2ZS50YXIuenN0Iik7Cj4gPiA+ID4gKyAgICAjIFsidGFyIiwgInpzdCJdCj4gPiA+ID4g Kwo+ID4gPiA+ICtUaHJvd3MgYW4gZXhjZXB0aW9uIGlmIEM8JHBhdGg+IGlzIEM8dW5kZWY+Lgo+ ID4gPiA+ICsKPiA+ID4gPiArPWN1dAo+ID4gPiA+ICsKPiA+ID4gPiArc3ViIHBhdGhfZmlsZV9z dWZmaXhlcyA6IHByb3RvdHlwZSgkKSB7Cj4gPiA+ID4gKyAgICBteSAoJHBhdGgpID0gQF87Cj4g PiA+ID4gKwo+ID4gPiA+ICsgICAgY3JvYWsgIlwkcGF0aCBpcyB1bmRlZiIgaWYgIWRlZmluZWQo JHBhdGgpOwo+ID4gPiA+ICsKPiA+ID4gPiArICAgIG15ICRmaWxlX25hbWUgPSBwYXRoX2ZpbGVf bmFtZSgkcGF0aCk7Cj4gPiA+ID4gKyAgICBpZiAoIWRlZmluZWQoJGZpbGVfbmFtZSkpIHsKPiA+ ID4gPiArCXJldHVybiB3YW50YXJyYXkgPyAoKSA6IFtdOwo+ID4gPiA+ICsgICAgfQo+ID4gPiA+ ICsKPiA+ID4gPiArICAgICh1bmRlZiwgJGZpbGVfbmFtZSkgPSBfcGF0aF9maWxlX3ByZWZpeCgk ZmlsZV9uYW1lKTsKPiA+ID4gPiArCj4gPiA+ID4gKyAgICBteSBAc3VmZml4ZXMgPSBfcGF0aF9m aWxlX3N1ZmZpeGVzKCRmaWxlX25hbWUpOwo+ID4gPiA+ICsKPiA+ID4gPiArICAgIHJldHVybiB3 YW50YXJyYXkgPyBAc3VmZml4ZXMgOiBcQHN1ZmZpeGVzOwo+ID4gPiA+ICt9Cj4gPiA+ID4gKwo+ ID4gPiA+ICs9aGVhZDMgcGF0aF93aXRoX2ZpbGVfc3VmZml4ZXMoJHBhdGgsIEBzdWZmaXhlcykK PiA+ID4gPiArCj4gPiA+ID4gK1JldHVybnMgQzwkcGF0aD4gd2l0aCBuZXcgQzxAc3VmZml4ZXM+ LiBUaGlzIGlzIHNpbWlsYXIgdG8KPiA+ID4gPiArQzxMPDwgcGF0aF93aXRoX2ZpbGVfbmFtZSgp fC8icGF0aF93aXRoX2ZpbGVfbmFtZSgkcGF0aCwgJGZpbGVfbmFtZSkiID4+PiwKPiA+ID4gPiAr ZXhjZXB0IHRoYXQgdGhlIHN1ZmZpeGVzIG9mIHRoZSBmaWxlIG5hbWUgYXJlIHJlcGxhY2VkLgo+ ID4gPiA+ICsKPiA+ID4gPiArSWYgdGhlIEM8JHBhdGg+IGRvZXMgbm90IGhhdmUgYSBmaWxlIG5h bWUsIEM8dW5kZWY+IGlzIHJldHVybmVkLgo+ID4gPiA+ICsKPiA+ID4gPiArICAgIG15ICRuZXdf cGF0aCA9IHBhdGhfd2l0aF9maWxlX3N1ZmZpeGVzKCIvdG1wL2FyY2hpdmUudGFyLnpzdCIsICJw eGFyIiwgImd6Iik7Cj4gPiA+ID4gKyAgICAjIC90bXAvYXJjaGl2ZS5weGFyLmd6Cj4gPiA+ID4g Kwo+ID4gPiA+ICsgICAgbXkgJG5ld19wYXRoID0gcGF0aF93aXRoX2ZpbGVfc3VmZml4ZXMoIi90 bXAvYXJjaGl2ZS50YXIuenN0IiwgImd6Iik7Cj4gPiA+ID4gKyAgICAjIC90bXAvYXJjaGl2ZS5n ego+ID4gPiA+ICsKPiA+ID4gPiArSWYgdGhlIGZpbGUgbmFtZSBoYXMgbm8gc3VmZml4ZXMsIHRo ZSBDPEBzdWZmaXhlcz4gYXJlIGFwcGVuZGVkIGluc3RlYWQ6Cj4gPiA+ID4gKwo+ID4gPiA+ICsg ICAgbXkgJG5ld19wYXRoID0gcGF0aF93aXRoX2ZpbGVfc3VmZml4ZXMoIi9ldGMvcmVzb2x2Iiwg ImNvbmYiKTsKPiA+ID4gPiArICAgICMgL2V0Yy9yZXNvbHYuY29uZgo+ID4gPiA+ICsKPiA+ID4g PiArICAgIG15ICRuZXdfcGF0aCA9IHBhdGhfd2l0aF9maWxlX3N1ZmZpeGVzKCIvZXRjL3Jlc29s diIsICJjb25mIiwgInpzdCIpOwo+ID4gPiA+ICsgICAgIyAvZXRjL3Jlc29sdi5jb25mLnpzdAo+ ID4gPiA+ICsKPiA+ID4gPiArSWYgdGhlcmUgYXJlIG5vIEM8QHN1ZmZpeGVzPiBwcm92aWRlZCwg dGhlIGZpbGUgbmFtZSdzIHN1ZmZpeGVzIHdpbGwKPiA+ID4gPiArYmUgcmVtb3ZlZCAoaWYgdGhl cmUgYXJlIGFueSk6Cj4gPiA+ID4gKwo+ID4gPiA+ICsgICAgbXkgJG5ld19wYXRoID0gcGF0aF93 aXRoX2ZpbGVfc3VmZml4ZXMoIi90bXAvYXJjaGl2ZS50YXIuenN0Iik7Cj4gPiA+ID4gKyAgICAj IC90bXAvYXJjaGl2ZQo+ID4gPiA+ICsKPiA+ID4gPiArTm90ZSB0aGF0IGFuIGVtcHR5IHN0cmlu ZyBpcyBzdGlsbCBhIHZhbGlkIHN1ZmZpeCAoYW4gImVtcHR5IiBmaWxlIGVuZGluZyk6Cj4gPiA+ ID4gKwo+ID4gPiA+ICsgICAgbXkgJG5ld19wYXRoID0gcGF0aF93aXRoX2ZpbGVfc3VmZml4ZXMo Ii90bXAvYXJjaGl2ZS50YXIuenN0IiwgIiIsICIiLCAiIiwgInpzdCIpOwo+ID4gPiA+ICsgICAg IyAvdG1wL2FyY2hpdmUuLi4uenN0Cj4gPiA+ID4gKwo+ID4gPiA+ICtUaHJvd3MgYW4gZXhjZXB0 aW9uIGlmIEM8JHBhdGg+IG9yIGFueSBvZiB0aGUgQzxAc3VmZml4ZXM+IGlzIEM8dW5kZWY+LCBv cgo+ID4gPiA+ICtpZiBhbnkgc3VmZml4IGNvbnRhaW5zIGEgcGF0aCBzZXBhcmF0b3IgKEM8Lz4p IG9yIGEgQzwuPi4KPiA+ID4gPiArCj4gPiA+ID4gKz1jdXQKPiA+ID4gPiArCj4gPiA+ID4gK3N1 YiBwYXRoX3dpdGhfZmlsZV9zdWZmaXhlcyA6IHByb3RvdHlwZSgkQCkgewo+ID4gPiA+ICsgICAg bXkgKCRwYXRoLCBAc3VmZml4ZXMpID0gQF87Cj4gPiA+Cj4gPiA+IEkgYW0gcXVlc3Rpb25pbmcg YSBiaXQgdGhlIHNhbml0eSBvZiBoYXZpbmcgInN1ZmZpeGVzIiB0aHJvdWdob3V0IHRoaXMKPiA+ ID4gbW9kdWxlIGluc3RlYWQgb2Ygc2ltcGx5IGFuICJleHRlbnNpb24iIHRoYXQgY292ZXJzIHRo ZW0gYWxsIGFuZCBjYW4gYmUKPiA+ID4gc3BsaXQgaWYgbmVlZGVkLi4uCj4gPiA+Cj4gPiA+IERv IHdlIGhhdmUvYW50aWNpcGF0ZSBwYXJ0aWN1bGFyIHVzZSBjYXNlcyB3aGVyZSB0aGlzIGlzIG1v cmUKPiA+ID4gY29udmVuaWVudD8KPiA+IAo+ID4gVG8gYmUgcmVhbGx5IGhvbmVzdCwgaXQgd2Fz IDUwLzUwIG9uIHRoZSAiZXh0ZW5zaW9uIiB2cyAic3VmZml4ZXMiCj4gPiBkZWNpc2lvbi4gSSB0 aGVuIG9wdGVkIGZvciBzdWZmaXhlcyBpbnN0ZWFkLCBiZWNhdXNlIHRoZXkgc2VlbWVkIHRvIGJl Cj4gPiBsZXNzIGFtYmlndW91cyB0aGFuIGFuICJleHRlbnNpb24iLiBMZXQgbWUgZWxhYm9yYXRl Lgo+ID4gCj4gPiBMZXQncyBzYXkgd2UgaGF2ZSBhIGZpbGUgY2FsbGVkICJmb28udGFyLmd6IiAt LSB3aGF0IHdvdWxkIGl0cyBleHRlbnNpb24KPiA+IGJlPyBTb21lIG1pZ2h0IHNheSB0aGF0ICIu dGFyLmd6IiBpcyBpdHMgZXh0ZW5zaW9uLCB3aGlsZSBzb21lIG90aGVycwo+ID4gbWlnaHQgc2F5 ICIuZ3oiOyBib3RoIGhhdmUgZGlmZmVyZW50IHJlYXNvbmluZ3MgYnV0IGFyZW4ndCBuZWNlc3Nh cmlseQo+ID4gbW9yZSBvciBsZXNzIGNvcnJlY3QgdGhhbiB0aGUgb3RoZXIuCj4gPiAKPiA+IElu IG91ciBjYXNlLCBib3RoIHlvdSBhbmQgSSB3b3VsZCBzYXkgdGhhdCAiLnRhci5neiIgaXMgdGhl IGV4dGVuc2lvbiwKPiA+IGJ1dC4uLgo+ID4gCj4gPiBSdXN0J3Mgc3RkOjpwYXRoOjpQYXRoOjpl eHRlbnNpb24gWzFdIHdvdWxkIHJldHVybiAiZ3oiIGZvciB0aGUgYWJvdmUsCj4gPiB3aGlsZSBD KysncyBzdGQ6OmZpbGVzeXN0ZW06OnBhdGg6OmV4dGVuc2lvbiBbMl0gcmV0dXJucyAiLmd6IiAo YnV0IHRoZXkKPiA+IGRvbid0IGhhdmUgc3VjaCBhIGNhc2UgaW4gdGhlaXIgZG9jcyEpLiBKYXZh IGhhcyBqYXZhLm5pby5maWxlLlBhdGgsIGJ1dAo+ID4gY29udmVuaWVudGx5IGRvZXNuJ3QgY2Fy ZSBhYm91dCBleHRlbnNpb25zLiBLb3RsaW4gZml4ZXN0IGhpcyBieSBhZGRpbmcKPiA+IGFuICJl eHRlbnNpb24iIHByb3BlcnR5IHRvIHRoYXQgY2xhc3MsIHdoaWNoIHJldHVybnMgImd6IiBbM10u Cj4gPiAKPiA+IFB5dGhvbidzIHBhdGhsaWIgaXMgdGhlIG9ubHkgb25lIEkndmUgc2VlbiBnbyB0 aGUgInN1ZmZpeCByb3V0ZSIgYW5kCj4gPiBwcm92aWRlcyB0aGUgcGF0aGxpYi5QdXJlUGF0aC5z dWZmaXggYW5kIC5zdWZmaXhlcyBtZXRob2RzIFs0XS4gVGhpcwo+ID4gdHlwZSBvZiBhcHByb2Fj aCBhbHNvIGNhbWUgdXAgb24gdGhlIChSdXN0KSB0cmFja2luZyBpc3N1ZSBmb3IKPiA+IFBhdGg6 OmZpbGVfcHJlZml4IFs1XS4KPiA+IAo+ID4gV2hlbiBJIHdhcyBsb29raW5nIHVwIGFsbCB0aGF0 LCBJIGRlY2lkZWQgdG8gZ28gZm9yIHRoZSBwcmVmaXggKwo+ID4gc3VmZml4KGVzKSByb3V0ZSwg YXMgdGhhdCBqdXN0IHNlZW1lZCB0byBiZSB0aGUgbW9zdCB1bmFtYmlndW91cy4KPiA+IENvbnZl bmllbmNlIHdhc24ndCByZWFsbHkgYSBmYWN0b3IgaGVyZSwgYmVjYXVzZSB0aGVyZSdzIHRoZQo+ ID4gInBhdGhfd2l0aF9maWxlXyogZmFtaWx5IiBvZiBmdW5jdGlvbnMgdGhhdCBzaG91bGQgaGFu ZGxlIG1vc3Qgb2YgdGhlCj4gPiByZXBsYWNlbWVudCBjYXNlcy4KPiA+IAo+ID4gKEJlc2lkZXMs IEkgZm91bmQgaXQgcXVpdGUgbmljZSB0aGF0IEkgY291bGQgam9pbigpIG9uIHRoZSBwcmVmaXgg Kwo+ID4gc3VmZml4ZXMgKGUuZy4gam9pbigiLiIsICJmb28iLCAidGFyIiwgImd6IikpIHRoYXQg SSBmaXJzdCBleHRyYWN0ZWQKPiA+IHdpdGggcGF0aF9maWxlX3ByZWZpeCgpIGFuZCBwYXRoX2Zp bGVfc3VmZml4ZXMoKTsgSSBsaWtlIHRoYXQgdGhlcmUncyBhbgo+ID4gImludmVyc2UiIG9wZXJh dGlvbi4pCj4gPiAKPiA+ICpCdXQsKiBJIHdvdWxkbid0IGJlIG9wcG9zZWQgdG8gYWRkaW5nIGEg ZnVuY3Rpb24gdGhhdCBqdXN0IHJldHVybnMKPiA+ICJ0YXIuZ3oiIGZvciB0aGUgYWJvdmUgY2Fz ZS4gUGVyaGFwcyB3aXRoIGEgZGlmZmVyZW50IG5hbWUgdGhvdWdoIDpQCj4gPiAKPiA+IFsxXSBo dHRwczovL2RvYy5ydXN0LWxhbmcub3JnL3N0ZC9wYXRoL3N0cnVjdC5QYXRoLmh0bWwjbWV0aG9k LmV4dGVuc2lvbgo+ID4gWzJdIGh0dHBzOi8vZW4uY3BwcmVmZXJlbmNlLmNvbS93L2NwcC9maWxl c3lzdGVtL3BhdGgvZXh0ZW5zaW9uCj4gPiBbM10gaHR0cHM6Ly9naXRodWIuY29tL0pldEJyYWlu cy9rb3RsaW4vYmxvYi9ycnIvMi4xLjAvY29yZS1kb2NzL2xpYnJhcmllcy9zdGRsaWIvamRrNy9z cmMva290bGluL2lvL3BhdGgvUGF0aFV0aWxzLmt0I0w0Ngo+ID4gWzRdIGh0dHBzOi8vZG9jcy5w eXRob24ub3JnLzMvbGlicmFyeS9wYXRobGliLmh0bWwjcGF0aGxpYi5QdXJlUGF0aC5zdWZmaXgK PiA+IFs1XSBodHRwczovL2dpdGh1Yi5jb20vcnVzdC1sYW5nL3J1c3QvaXNzdWVzLzg2MzE5Cj4K PiBUQkggSSB3b3VsZG4ndCBjYXJlIGlmIGl0IHJldHVybmVkICJ0YXIuZ3oiLCAiLnRhci5neiIs ICJneiIgb3IgIi5neiIKPiBhcyBsb25nIGFzIGl0J3MgZG9jdW1lbnRlZCA7LSkuCj4KPiBCdXQg eWVhaCwgSSBndWVzcyBzdWZmaXhlcyBtYWtlcyBzZW5zZSAtICJmb3JjZXMiKPCfpKopIHlvdSB0 byBub3QgaWdub3JlCj4gaXQgaW4geW91ciBjb2RlLi4uCgpBQ0sgLS0gd2lsbCBrZWVwIGl0IHRo YXQgd2F5IHRoZW4uCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCnB2ZS1kZXZlbCBtYWlsaW5nIGxpc3QKcHZlLWRldmVsQGxpc3RzLnByb3htb3guY29t Cmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3B2ZS1k ZXZlbAo=