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 59F1A1FF15F
	for <inbox@lore.proxmox.com>; Mon, 23 Sep 2024 13:48:00 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id D989F1C26B;
	Mon, 23 Sep 2024 13:48:10 +0200 (CEST)
Message-ID: <5f6413c9-0749-4f4f-9ec7-965aa8e66a51@proxmox.com>
Date: Mon, 23 Sep 2024 13:48:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: pve-devel@lists.proxmox.com
References: <20240919095202.1375181-1-d.csapak@proxmox.com>
 <21f250b8-a59c-426d-96de-11606cbb0e42@proxmox.com>
 <c6a05311-215e-4a5a-82ac-a1032fb331ec@proxmox.com>
 <d5b69768-acc4-45f7-bd3b-7cfe26cb261a@proxmox.com>
 <01449bce-3356-44a3-915b-47b6871b5b39@proxmox.com>
Content-Language: en-US
From: Filip Schauer <f.schauer@proxmox.com>
In-Reply-To: <01449bce-3356-44a3-915b-47b6871b5b39@proxmox.com>
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.053 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
 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
Subject: Re: [pve-devel] [RFC PATCH pve-cluster] fix #5728: pmxcfs: allow
 bigger writes than 4k for fuse
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-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

SSBhbHNvIHJhbiBzb21lIGJlbmNobWFya3Mgd2l0aCB0aGUgc2FtZSBzY3JpcHQuCgpJIGNyZWF0
ZWQgYSBWTSB3aXRoIHR3byB2aXJ0dWFsIGRpc2tzLCAoYm90aCBvbiBhbiBMVk0gVGhpbiBzdG9y
YWdlKQppbnN0YWxsZWQgUFZFIG9uIG9uZSBkaXNrIGFuZCBzZXQgdXAgYW4gZXh0NCBwYXJ0aXRp
b24gb24gdGhlIG90aGVyLgoKSSBzdG9wcGVkIHB2ZXN0YXRkIGFuZCBwdmUtY2x1c3RlciwKCmBg
YApzeXN0ZW1jdGwgc3RvcCBwdmVzdGF0ZApzeXN0ZW1jdGwgc3RvcCBwdmUtY2x1c3RlcgpgYGAK
Cm1vdmVkIHRoZSBwbXhjZnMgZGF0YWJhc2UgZmlsZSB0byBpdHMgb3duIGRpc2sKCmBgYAptdiAv
dmFyL2xpYi9wdmUtY2x1c3Rlci9jb25maWcuZGIgL3RtcC8KbW91bnQgL2Rldi9zZGIxIC92YXIv
bGliL3B2ZS1jbHVzdGVyCm12IC90bXAvY29uZmlnLmRiIC92YXIvbGliL3B2ZS1jbHVzdGVyLwpg
YGAKCmFuZCBzdGFydGVkIHB2ZS1jbHVzdGVyIGFnYWluLgoKYGBgCnN5c3RlbWN0bCBzdGFydCBw
dmUtY2x1c3RlcgpgYGAKClRoZXNlIGFyZSBteSByZXN1bHRzIGJlZm9yZSBhbmQgYWZ0ZXIgYXBw
bHlpbmcgdGhlIHBhdGNoOgoKZGF0YSBzaXplwqAgd3JpdHRlbiAob2xkKcKgIGFtcGxpZmljYXRp
b24gKG9sZCnCoCB3cml0dGVuIChuZXcpIAphbXBsaWZpY2F0aW9uIChuZXcpCjHCoMKgwqDCoMKg
wqDCoMKgwqAgNDjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgNDjCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgNDXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgNDUKMsKgwqDCoMKg
wqDCoMKgwqDCoCA0OMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCA0NcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyMwo0wqDCoMKg
wqDCoMKgwqDCoMKgIDgywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDIxwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIDgwwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDIwCjjCoMKg
wqDCoMKgwqDCoMKgwqAgMTIxwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxNcKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA5MMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxMQoxNsKg
wqDCoMKgwqDCoMKgwqAgMjE3wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxNMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxNDbCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDkKMzLCoMKg
wqDCoMKgwqDCoMKgIDUwNsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTbCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgMzE0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxMAo2NMKgwqDC
oMKgwqDCoMKgwqAgMTQ3MsKgwqDCoMKgwqDCoMKgwqDCoMKgIDIzwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIDgyNsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTMKMTI4wqDCoMKg
wqDCoMKgwqAgNTU4NcKgwqDCoMKgwqDCoMKgwqDCoMKgIDQ0wqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIDM3NjXCoMKgwqDCoMKgwqDCoMKgwqDCoCAyOQoyNTbCoMKgwqDCoMKg
wqDCoCAyMDQyNMKgwqDCoMKgwqDCoMKgwqDCoCA4MMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCAxMDc0M8KgwqDCoMKgwqDCoMKgwqDCoCA0Mgo1MTLCoMKgwqDCoMKgwqDCoCA4
NjcxNcKgwqDCoMKgwqDCoMKgwqDCoCAxNjnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIDQzNjUwwqDCoMKgwqDCoMKgwqDCoMKgIDg1CjEwMjTCoMKgwqDCoMKgwqAgMzY5NTY4wqDC
oMKgwqDCoMKgwqDCoCAzNjHCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDE4NzQ5
NsKgwqDCoMKgwqDCoMKgwqAgMTgzCgpBcyBjYW4gYmUgc2VlbiwgbXkgcmVzdWx0cyBhcmUgc2lt
aWxhciB3aXRoIGFtcGxpZmljYXRpb24gcmVhbGx5IHBpY2tpbmcKdXAgYXQgMTI4ay4gVGhlIHBh
dGNoIHNlZW1zIHRvIGN1dCB3cml0ZSBhbXBsaWZpY2F0aW9uIGluIGhhbGYgd2l0aCBiaWcKZmls
ZXMsIHdoaWxlIG1ha2luZyB2aXJ0dWFsbHkgbm8gZGlmZmVyZW5jZSB3aXRoIGZpbGVzIHVwIHRv
IDRrLgoKT24gMjMvMDkvMjAyNCAxMToxNywgRG9taW5payBDc2FwYWsgd3JvdGU6Cj4gT24gOS8x
OS8yNCAxNjo1NywgVGhvbWFzIExhbXByZWNodCB3cm90ZToKPj4gQW0gMTkvMDkvMjAyNCB1bSAx
NDo0NSBzY2hyaWViIERvbWluaWsgQ3NhcGFrOgo+Pj4gT24gOS8xOS8yNCAxNDowMSwgVGhvbWFz
IExhbXByZWNodCB3cm90ZToKPj4+PiBBbSAxOS8wOS8yMDI0IHVtIDExOjUyIHNjaHJpZWIgRG9t
aW5payBDc2FwYWs6Cj4+Pj4+IGJ5IGRlZmF1bHQgbGliZnVzZTIgbGltaXRzIHdyaXRlcyB0byA0
ayBzaXplLCB3aGljaCBtZWFucyB0aGF0IG9uIAo+Pj4+PiB3cml0ZXMKPj4+Pj4gYmlnZ2VyIHRo
YW4gdGhhdCwgd2UgZG8gYSB3aG9sZSB3cml0ZSBjeWNsZSBmb3IgZWFjaCA0ayBibG9jayB0aGF0
IAo+Pj4+PiBjb21lcwo+Pj4+PiBpbi4gVG8gYXZvaWQgdGhhdCwgYWRkIHRoZSBvcHRpb24gJ2Jp
Z193cml0ZXMnIHRvIGFsbG93IHdyaXRlcyBiaWdnZXIKPj4+Pj4gdGhhbiA0ayBhdCBvbmNlLgo+
Pj4+Pgo+Pj4+PiBUaGlzIHNob3VsZCBpbXByb3ZlIHBteGNmcyBwZXJmb3JtYW5jZSBmb3Igc2l0
dWF0aW9ucyB3aGVyZSB3ZSBvZnRlbgo+Pj4+PiB3cml0ZSBsYXJnZSBmaWxlcyAoZS5nLiBiaWcg
aGEgc3RhdHVzKSBhbmQgbWF5YmUgcmVkdWNlIHdyaXRlcyB0byAKPj4+Pj4gZGlzay4KPj4+Pgo+
Pj4+IFNob3VsZD8gU29tZXRoaW5nIGxpa2UgYmVmb3JlL2FmdGVyIGZvciBiZW5jaG1hcmsgbnVt
YmVycywgZmxhbWVncmFwaHMKPj4+PiB3b3VsZCBiZSByZWFsbHkgZ29vZCB0byBoYXZlLCB3aXRo
b3V0IHRob3NlIGl0J3MgcmF0aGVyIGhhcmQgdG8gCj4+Pj4gZGlzY3Vzcwo+Pj4+IHRoaXMsIGFu
ZCBJJ2QgbGlrZSB0byBhdm9pZCBoYXZpbmcgdG8gZG8gdGhvc2UsIG9yIGNoZWNrIHRoZSBpbm5l
ciAKPj4+PiB3b3JraW5ncwo+Pj4+IG9mIHRoZSBhZmZlY3RlZCBmdXNlIHVzZXJzcGFjZS9rZXJu
ZWwgY29kZSBwYXRocyBoZXJlIG15c2VsZi4KPj4+Cj4+PiB3ZWxsIEkgbWVhbiB0aGUgY29kZSBj
aGFuZ2UgaXMgcmVsYXRpdmVseSBzbWFsbCBhbmQgdGhlIHJlc3VsdCBpcyAKPj4+IHJhdGhlciBj
bGVhcjoKPj4KPj4gV2VsbCBzdXJlIHRoZSBjb2RlIGNoYW5nZSBpcyBqdXN0IHNldHRpbmcgYW4g
b3B0aW9uLi4uIEJ1dCB0aGUgYWN0dWFsIAo+PiBjaGFuZ2UgaXMKPj4gYWJzdHJhY3RlZCBhd2F5
IGFuZCB3b3VsZCBiZW5lZml0IGZyb20gYWN0dWFsbHkgbG9va2luZyBpbnRvLi4KPj4KPj4+IGlu
IHRoZSBjdXJyZW50IGNhc2Ugd2UgaGF2ZSB0aGUgZm9sbG93aW5nIGNhbGxzIGZyb20gcG14Y2Zz
IAo+Pj4gKHNob3J0ZW5lZCBmb3IgZS1tYWlsKQo+Pj4gd2hlbiB3cml0aW5nIGEgc2luZ2xlIDEy
OGsgYmxvY2s6Cj4+PiAoZGQgaWY9Li4uIG9mPS9ldGMvcHZlL3Rlc3QgYnM9MTI4ayBjb3VudD0x
KQo+Pgo+PiBCZXR0ZXIgdGhhbiBub3RoaW5nIGJ1dCBzdGlsbCBubyBhY3R1YWwgbnVtYmVycyAo
cmVkdWNlZCB0aW1lLCAKPj4gcmVkdWNlZCB3cml0ZSBhbXAKPj4gaW4gY29tYmluYXRpb24gd2l0
aCBzcWxpdGUsIC4uLiksIHNvbWUgYmFzaWMgYW5hbHlzaXMgb3ZlciBmaWxlL3dyaXRlIAo+PiBz
aXplIGRpc3RyaWJ1dGlvbgo+PiBvbiBhIHNpbmdsZSBub2RlIGFuZCAoZS5nLiB0aHJlZSBub2Rl
KSBjbHVzdGVyLCAuLi4KPj4gSWYgdGhhdCdzIGFsbCBvYnZpb3VzIGZvciB5b3UgdGhlbiBncmVh
dCwgYnV0IGFzIGFscmVhZHkgbWVudGlvbmVkIGluIAo+PiB0aGUgcGFzdCwgSQo+PiB3YW50IGFj
dHVhbCBkYXRhIGluIGNvbW1pdCBtZXNzYWdlcyBmb3Igc3VjaCBzdHVmZiwgYW5kIEkgY2Fubm90
IAo+PiByZWFsbHkgc2VlIGEgZG93bnNpZGUKPj4gb2YgaGF2aW5nIHN1Y2ggbnVtYmVycy4KPj4K
Pj4gQWdhaW4sIGFzIGlzIEknbSBub3QgcmVhbGx5IHNlZWluZyB3aGF0J3MgdG8gZGlzY3Vzcywg
eW91IHNlbmQgaXQgYXMgCj4+IFJGQyBhZnRlcgo+PiBhbGwuCj4+Cj4+PiBbLi4uXQo+Pj4gc28g
YSBmYWN0b3Igb2YgMzIgbGVzcyBjYWxscyB0byBjZnNfZnVzZV93cml0ZSAoaW5jbHVkaW5nIG1l
bWRiX3B3cml0ZSkKPj4KPj4gVGhhdCBjYW4gYmUgaHVnZSBvciBub3Qgc28gYmlnIGF0IGFsbCwg
aS5lLiBhcyBtZW50aW9uZWQgYWJvdmUsIGl0IAo+PiB3b3VsZCB3ZSBnb29kIHRvCj4+IG1lYXN1
cmUgdGhlIGltcGFjdCB0aHJvdWdoIHNvbWUgb3RoZXIgbWV0cmljcy4KPj4KPj4gQW5kIEZXSVcs
IEkgdXNlZCBicGZ0cmFjZSB0byBjb3VudCBbMF0gd2l0aCBhbiB1bnBhdGNoZWQgcG14Y2ZzLCAK
Pj4gdGhlcmUgSSBnZXQKPj4gdGhlIDMyIGNhbGxzIHRvIGNmc19mdXNlX3dyaXRlIG9ubHkgZm9y
IGEgbmV3IGZpbGUsIG92ZXJ3cml0aW5nIHRoZSAKPj4gZXhpc3RpbmcKPj4gZmlsZSBhZ2FpbiB3
aXRoIHRoZSBzYW1lIGFtb3VudCBvZiBkYXRhICgxMjhrKSBqdXN0IGNhdXNlcyBhIHNpbmdsZSAK
Pj4gY2FsbC4KPj4gSSB0cmllZCB1c2luZyBtb3JlIGRhdGEgKGUuZy4gZnJvbSAxMjhrIGluaXRp
YWxseSB0byAyNTZrIG9yIDUxMmspIAo+PiBhbmQgaXQncwo+PiBhbHdheXMgdGhlIGRhdGEgZGl2
aWRlZCBieSAxMjhrIChldmVuIGlmIHRoZSBmaXJzdCBmaWxlIGhhcyBhIAo+PiBkaWZmZXJlbnQg
c2l6ZSkKPj4KPj4gV2UgZG8gbm90IG92ZXJyaWRlIGV4aXN0aW5nIGZpbGVzIG9mdGVuLCBidXQg
cmF0aGVyIHdyaXRlIHRvIGEgbmV3IAo+PiBmaWxlIGFuZAo+PiB0aGVuIHJlbmFtZSwgYnV0IHN0
aWxsIHF1aXRlIGludGVyZXN0aW5nIGFuZCBJTU8gcmVhbGx5IHNob3dpbmcgdGhhdCAKPj4ganVz
dAo+PiBiZWNhdXNlIHRoaXMgaXMgMSArLTEgbGluZSBjaGFuZ2UgaXQgZG9lc24ndCBuZWNlc3Nh
cmlseSBoYXZlIHRvIGJlIAo+PiB0cml2aWFsCj4+IGFuZCBvYnZpb3VzIGluIGl0cyBlZmZlY3Rz
Lgo+Pgo+PiBbMF06IGJwZnRyYWNlIC1lICd1OmNmc19mdXNlX3dyaXRlIC9zdHIoYXJncy0+cGF0
aCkgPT0gIi90ZXN0Ii8ge0AgPSAKPj4gY291bnQoKTt9IEVORCB7IHByaW50KEApIH0nIC1wICIk
KHBpZG9mIHBteGNmcykiCj4+Cj4+Cj4+Pj4+IElmIHdlJ2QgY2hhbmdlIHRvIGxpYmZ1c2UzLCB0
aGlzIHdvdWxkIGJlIGEgbm9uLWlzc3VlLCBzaW5jZSB0aGF0IAo+Pj4+PiBvcHRpb24KPj4+Pj4g
Z290IHJlbW92ZWQgYW5kIGlzIHRoZSBkZWZhdWx0IHRoZXJlLgo+Pj4+Cj4+Pj4gSSdkIHByZWZl
ciB0aGF0LiBBdCBsZWFzdCBpZiBkb25lIHdpdGggdGhlIGZ1dHVyZSBQVkUgOS4wLCBhcyBJIGRv
IAo+Pj4+IG5vdCB0aGluawo+Pj4+IGl0J3MgYSBnb29kIGlkZWEgaW4gdGhlIG1pZGRsZSBvZiBh
IHN0YWJsZSByZWxlYXNlIGN5Y2xlLgo+Pj4KPj4+IHdoeSBub3QgdGhpcyBjaGFuZ2Ugbm93LCBh
bmQgdGhlIHJld3JpdGUgdG8gbGliZnVzZTMgbGF0ZXI/IHRoYXQgd2F5IAo+Pj4gd2UgY2FuCj4+
PiBoYXZlIHNvbWUgaW1wcm92ZW1lbnRzIG5vdyB0b28uLi4KPj4KPj4gQmVjYXVzZSBJIHdhbnQg
c29tZSBhY3R1YWwgZGF0YSBhbmQgcmVhc29uaW5nIGZpcnN0LCBldmVuIGlmIGl0J3MgCj4+IHF1
aXRlIGxpa2VseQo+PiB0aGF0IHRoaXMgaW1wcm92ZXMgdGhpbmdzIFNvbWVob3fihKIsIEknZCBs
aWtlIHRvIGFjdHVhbGx5IGtub3cgaW4gd2hhdCAKPj4gbWV0cmljcwo+PiBhbmQgYnkgaG93IG11
Y2ggKGV2ZW4gaWYganVzdCBhbiB1cHBlciBib3VuZCBkdWUgdG8gdGhlIGJlbmNobWFyayBvciAK
Pj4gc29tZQo+PiBtZWFzdXJlbWVudCBiZWluZyByYXRoZXIgYXJ0aWZpY2lhbCkuCj4+Cj4+IEkg
bWVhbiB5b3UgbmFtZSB0aGUgYmlnIEhBIHN0YXR1cywgd2h5IG5vdCBtZWFzdXJlIHRoYXQgZm9y
IHJlYWw/IAo+PiBsaWtlLCBwcm9iYWJseQo+PiBhbW9uZyBvdGhlciB0aGluZ3MsIGluIHRlcm1z
IG9mIGJ5dGVzIGhpdHRpbmcgdGhlIGJsb2NrIGxheWVyLCBpLmUuIAo+PiB0aGUgYWN0dWFsCj4+
IGJhY2tpbmcgZGlzayBmcm9tIHRob3NlIHJlcXVlc3RzIGFzIHRoZW4gd2UnZCBrbm93IGZvciBy
ZWFsIGlmIHRoaXMgCj4+IGNhbiByZWR1Y2UKPj4gdGhlIHdyaXRlIGxvYWQgdGhlcmUsIG5vdCBq
dXN0IHRoYXQgaXQgbWF5YmUgc2hvdWxkLgo+Cj4KPiBoaSwKPgo+IGZpcnN0IGkganVzdCB3YW50
ZWQgdG8gc2F5IEknbSBzb3JyeSBmb3IgbXkgc25hcmt5IGNvbW1lbnQgYWJvdXQgbm90IAo+IG5l
ZWRpbmcgdG8gdGVzdAo+IHBlcmZvcm1hbmNlIGZvciBzdWNoIGNvZGUuIFlvdSdyZSByaWdodCwg
YW55IGluc2lnaHQgd2UgY2FuIGdhaW4gdGhlcmUKPiBpcyBnb29kIGFuZCB3ZSAoSSEpIHNob3Vs
ZCB0YWtlIHRoZSB0aW1lIHRvIGRvIHRoYXQsIGV2ZW4gaWYgdGhlCj4gY2hhbmdlIGxvb2tzICJv
YnZpb3VzIiBsaWtlIGl0IGRvZXMgaGVyZQo+Cj4gc28gaSBkaWQgc29tZSBiZW5jaG1hcmtzICht
b3N0bHkgZGlzayB3cml0ZXMpIGFuZCB3cm90ZSB0aGUgc2hvcnQgCj4gc2NyaXB0IGJlbG93Cj4g
KG1heWJlIHdlIGNhbiByZXVzZSB0aGF0PykKPgo+IC0tLS04PC0tLS0KPiB1c2Ugc3RyaWN0Owo+
IHVzZSB3YXJuaW5nczsKPgo+IHVzZSBQVkU6OlRvb2xzOwo+Cj4gbXkgJHNpemUgPSBzaGlmdDsK
Pgo+IHN1YiBnZXRfYnl0ZXNfd3JpdHRlbiB7Cj4gwqDCoMKgwqDCoMKgwqAgbXkgJGZoID0gSU86
OkZpbGUtPm5ldygiL3Byb2MvZGlza3N0YXRzIiwgInIiKTsKPiDCoMKgwqDCoMKgwqDCoCBkaWUg
aWYgISRmaDsKPiDCoMKgwqDCoMKgwqDCoCBteSAkYnl0ZXMgPSB1bmRlZjsKPiDCoMKgwqDCoMKg
wqDCoCB3aGlsZSAoZGVmaW5lZChteSAkbGluZSA9IDwkZmg+KSkgewo+IMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBpZiAoJGxpbmUgPX4gbS9zZGIvKSB7Cj4gwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBteSBAZmllbGRzID0gc3BsaXQoL1xzKy8s
ICRsaW5lKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
ICRieXRlcyA9ICRmaWVsZHNbMTBdICogNTEyOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCB9Cj4gwqDCoMKgwqDCoMKgwqAgfQo+IMKgwqDCoMKgwqDCoMKgIHJldHVybiAkYnl0ZXM7
Cj4gfQo+Cj4gc3ViIHRlc3Rfd3JpdGUgewo+IMKgwqDCoMKgwqDCoMKgIG15ICgkaykgPSBAXzsK
PiDCoMKgwqDCoMKgwqDCoCBzeXN0ZW0oInJtIC9ldGMvcHZlL3Rlc3RmaWxlIik7Cj4gwqDCoMKg
wqDCoMKgwqAgbXkgJGRhdGEgPSAiYSJ4KCRrKjEwMjQpOwo+IMKgwqDCoMKgwqDCoMKgIHN5c3Rl
bSgic3luYzsgZWNobyAtbiAzPiAvcHJvYy9zeXMvdm0vZHJvcF9jYWNoZXMiKTsKPiDCoMKgwqDC
oMKgwqDCoCBteSAkYnl0ZXNfYmVmb3JlID0gZ2V0X2J5dGVzX3dyaXR0ZW4oKTsKPiDCoMKgwqDC
oMKgwqDCoCBQVkU6OlRvb2xzOjpmaWxlX3NldF9jb250ZW50cygiL2V0Yy9wdmUvdGVzdGZpbGUi
LCAkZGF0YSk7Cj4gwqDCoMKgwqDCoMKgwqAgc3lzdGVtKCJzeW5jOyBlY2hvIC1uIDM+IC9wcm9j
L3N5cy92bS9kcm9wX2NhY2hlcyIpOwo+IMKgwqDCoMKgwqDCoMKgIG15ICRieXRlc19hZnRlciA9
IGdldF9ieXRlc193cml0dGVuKCk7Cj4gwqDCoMKgwqDCoMKgwqAgcmV0dXJuICRieXRlc19hZnRl
ciAtICRieXRlc19iZWZvcmU7Cj4gfQo+Cj4gJHNpemUgLy89IDEyODsKPgo+IG15ICR3cml0dGVu
ID0gdGVzdF93cml0ZSgkc2l6ZSkgLyAxMDI0Owo+IHByaW50KCIkd3JpdHRlblxuIik7Cj4gLS0t
LT44LS0tLQo+Cj4gdG8gc2ltdWxhdGUgb3VyIHJlYWwgd3JpdGUgcGF0dGVybnMgd2l0aCB2YXJ5
aW5nIGZpbGUgc2l6ZXMKPgo+IGkgaW5zdGFsbGVkIGEgZnJlc2ggcHZlLCB0dXJuZWQgb2ZmIHB2
ZXN0YXRkIGFuZCBwdXQgCj4gL3Zhci9saWIvcHZlLWNsdXN0ZXIgb24gaXQncyBvd24gZGlzawo+
ICgvZGV2L3NkYiksIHNvIGRpc2tzdGF0cyBvbmx5IGNvbnRhaW5zIHdyaXRlcyBmcm9tIHRoZSBw
bXhjZnMKPgo+IHRoZSByZXN1bHRzIGFyZSBiZWxvdyAoYWxsIHNpemVzIGFyZSBrYnl0ZXMsIHJh
biB0aGVtIG11bHRpcGxlIHRpbWVzLCAKPiBidXQgdGhleQo+IHNlZW0gdG8gYmUgY29uc2lzdGVu
dCkKPgo+IGRhdGEgc2l6ZcKgIHdyaXR0ZW4gKG9sZCnCoCBhbXBsaWZpY2F0aW9uIChvbGQpwqAg
d3JpdHRlbiAobmV3KSAKPiBhbXBsaWZpY2F0aW9uIChuZXcpCj4gMcKgwqDCoMKgwqDCoMKgwqDC
oCA1NsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA1NsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCA1NsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA1Ngo+IDLCoMKgwqDCoMKgwqDC
oMKgwqAgNzLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMzbCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgNzbCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMzgKPiA0wqDCoMKgwqDC
oMKgwqDCoMKgIDg0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDIxwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIDg4wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDIyCj4gOMKgwqDC
oMKgwqDCoMKgwqDCoCAxNDTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDE4wqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIDEwNMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTMKPiAxNsKg
wqDCoMKgwqDCoMKgwqAgMjM2wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxNMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxNjDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDEwCj4gMzLC
oMKgwqDCoMKgwqDCoMKgIDUzMsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTbCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMzI0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxMAo+IDY0
wqDCoMKgwqDCoMKgwqDCoCAxNDk2wqDCoMKgwqDCoMKgwqDCoMKgwqAgMjPCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgODM2wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxMwo+IDEy
OMKgwqDCoMKgwqDCoMKgIDY2MTbCoMKgwqDCoMKgwqDCoMKgwqDCoCA1McKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAzODQ4wqDCoMKgwqDCoMKgwqDCoMKgwqAgMzAKPiAyNTbC
oMKgwqDCoMKgwqDCoCAyMDYwMMKgwqDCoMKgwqDCoMKgwqDCoCA4MMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCAxMDU2OMKgwqDCoMKgwqDCoMKgwqDCoCA0MQo+IDUxMsKgwqDC
oMKgwqDCoMKgIDg3Mjk2wqDCoMKgwqDCoMKgwqDCoMKgIDE3MMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgNDM0MTbCoMKgwqDCoMKgwqDCoMKgwqAgODQKPiAxMDI0wqDCoMKgwqDC
oMKgIDM4ODQ2MMKgwqDCoMKgwqDCoMKgwqAgMzc5wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCAxOTcwMzLCoMKgwqDCoMKgwqDCoMKgIDE5Mgo+Cj4gZm9yIHNtYWxsZXIgd3JpdGVz
IHRoZXJlIHNlZW1zIHRvIGJlIGEgbWluaW11bSBvdmVyaGVhZCBvZiB+NTAtMTAwIGtieXRlcwo+
IGZvciBiaWcgZmlsZXMgd2l0aCBoYXZlIGEgbWFzc2l2ZSBhbXBsaWZpY2F0aW9uIG9mID4gMTAw
eAo+Cj4gbXkgcGF0Y2ggZG9lcyBzZWVtIHRvIG1ha2UgYSBkaWZmZXJlbmNlIGZvciBmaWxlcyA+
NGsKPgo+IGJ1dCB0aGUgYmlnZ2VzdCBzdXJwcmlzZSBoZXJlIGlzIHRoYXQgdGhlIHdyaXRlIGFt
cGxpZmljYXRpb24KPiBpcyBub3QgbGluZWFyLCBidXQgaW5jcmVhc2VzIHdpdGggYW4gaW5jcmVh
c2UgaW4gYnl0ZXMgd2Ugd2FudCB0byB3cml0ZQo+IHNvIGUuZy4gZ29pbmcgZnJvbSAxMjhrIC0+
IDI1NmsgZmlsZSB3cml0ZSB3ZSBkb24ndCBqdXN0IHdyaXRlIGRvdWJsZSAKPiB0aGUgYW1vdW50
LAo+IGJ1dCAzeCB0byA0eCBhcyBtdWNoLgo+Cj4gaSBhbHNvIHByb2R1Y2VkIGEgZmxhbWVncmFw
aCBhY2NvcmRpbmcgdG8gCj4gaHR0cHM6Ly93d3cuYnJlbmRhbmdyZWdnLmNvbS9GbGFtZUdyYXBo
cy9jcHVmbGFtZWdyYXBocy5odG1sLCBidXQgdGhhdCAKPiBzaG93ZWQgdmlydHVhbGx5IG5vIGNo
YW5nZSBiZXR3ZWVuIHZlcnNpb25zIHdpdGhvdXQKPiBhbmQgd2l0aCBteSBwYXRjaCAoaWYgb25l
IGhhcyBhIGdvb2Qgc3ZnIGhvc3RlciwgaSBjYW4gcG9zdCB0aGVtIG9mYykKPgo+IHNvLCB0bDtk
cgo+Cj4gZm9yIHNtYWxsIHdyaXRlcyBkb2VzIG5vdCBtYWtlIHRoYXQgbXVjaCBvZiBhIGRpZmZl
cmVuY2UsIGJ1dAo+IHdlIGNhbiBzYXZlIH5oYWxmIHRoZSB3cml0ZXMgZm9yIGxhcmdlIGZpbGVz
IGluIHRoZSBwbXhjZnMKPiAod2hpY2ggZS5nLiBhIGhhLXN0YXRlIGZpbGUgY291bGQgZG8pCj4K
Pgo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBw
dmUtZGV2ZWwgbWFpbGluZyBsaXN0Cj4gcHZlLWRldmVsQGxpc3RzLnByb3htb3guY29tCj4gaHR0
cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcHZlLWRldmVs
CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHZlLWRl
dmVsIG1haWxpbmcgbGlzdApwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6Ly9saXN0
cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcHZlLWRldmVsCg==