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 EC3EF1FF15F for ; Mon, 23 Sep 2024 16:08:49 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id EABCF1ECDF; Mon, 23 Sep 2024 16:09:00 +0200 (CEST) Message-ID: Date: Mon, 23 Sep 2024 16:08:56 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: pve-devel@lists.proxmox.com References: <20240919095202.1375181-1-d.csapak@proxmox.com> <21f250b8-a59c-426d-96de-11606cbb0e42@proxmox.com> <01449bce-3356-44a3-915b-47b6871b5b39@proxmox.com> <5f6413c9-0749-4f4f-9ec7-965aa8e66a51@proxmox.com> From: Filip Schauer In-Reply-To: <5f6413c9-0749-4f4f-9ec7-965aa8e66a51@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.603 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 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 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" Q2hhbmdpbmcgdGhlIHdheSB3ZSB3cml0ZSBmaWxlcywgY2FuIGVsaW1pbmF0ZSB0aGUgZXhwb25l bnRpYWwgZ3Jvd3RoIG9mCndyaXRlIGFtcGxpZmljYXRpb24gd2l0aCBmaWxlcyBvZiB1cCB0byAx MjhLaUIgaW4gc2l6ZS4KClJpZ2h0IG5vdyB3ZSBhcmUgdXNpbmcgYFBWRTo6VG9vbHM6OmZpbGVf c2V0X2NvbnRlbnRzYCwgd2hpY2ggaXRzZWxmCnVzZXMgYHByaW50YC4gQW5kIGxvb2tpbmcgYXQg dGhlIGRlYnVnIG91dHB1dCB3ZSBjYW4gc2VlIHRoYXQgdGhpcyBlbmRzCnVwIHdyaXRpbmcgdGhl IGZpbGUgY29udGVudHMgaW4gOGsgYmxvY2tzLgoKYGBgCiQgZWNobyAxID4gL2V0Yy9wdmUvLmRl YnVnICYmIHBlcmwgLWUgJ3VzZSBQVkU6OlRvb2xzOyBteSAkZGF0YSA9IAoiYSJ4KDEyOCoxMDI0 KTsgUFZFOjpUb29sczo6ZmlsZV9zZXRfY29udGVudHMoIi9ldGMvcHZlL3Rlc3RmaWxlIiwgCiRk YXRhKTsnICYmIGVjaG8gMCA+IC9ldGMvcHZlLy5kZWJ1ZwokIGpvdXJuYWxjdGwgLW4yNTAgLXUg cHZlLWNsdXN0ZXIgfCBncmVwIGNmc19mdXNlX3dyaXRlClNlcCAyMyAxNToyMzowNCBwbXhjZnNi ZW5jaCBwbXhjZnNbMTY4MzVdOiBbbWFpbl0gZGVidWc6IGVudGVyIApjZnNfZnVzZV93cml0ZSAv dGVzdGZpbGUudG1wLjIyNDg3IDgxOTIgMCAocG14Y2ZzLmM6MzU1OmNmc19mdXNlX3dyaXRlKQpT ZXAgMjMgMTU6MjM6MDQgcG14Y2ZzYmVuY2ggcG14Y2ZzWzE2ODM1XTogW21haW5dIGRlYnVnOiBs ZWF2ZSAKY2ZzX2Z1c2Vfd3JpdGUgL3Rlc3RmaWxlLnRtcC4yMjQ4NyAoODE5MikgKHBteGNmcy5j OjM2ODpjZnNfZnVzZV93cml0ZSkKLi4uCmBgYAoKU28gbGV0cyBjaGFuZ2UgdGhlIGJlbmNobWFy ayBzY3JpcHQgdG8gd3JpdGUgYWxsIHRoZSBjb250ZW50cyBpbiBhCnNpbmdsZSBibG9jay4KCmBg YGRpZmYKQEAgLTIxLDEwICsyMSw5IEBACiDCoHN1YiB0ZXN0X3dyaXRlIHsKIMKgwqDCoMKgwqDC oMKgwqAgbXkgKCRrKSA9IEBfOwogwqDCoMKgwqDCoMKgwqDCoCBzeXN0ZW0oInJtIC9ldGMvcHZl L3Rlc3RmaWxlIik7Ci3CoMKgwqDCoMKgwqDCoCBteSAkZGF0YSA9ICJhIngoJGsqMTAyNCk7CiDC oMKgwqDCoMKgwqDCoMKgIHN5c3RlbSgic3luYzsgZWNobyAtbiAzID4gL3Byb2Mvc3lzL3ZtL2Ry b3BfY2FjaGVzIik7CiDCoMKgwqDCoMKgwqDCoMKgIG15ICRieXRlc19iZWZvcmUgPSBnZXRfYnl0 ZXNfd3JpdHRlbigpOwotwqDCoMKgwqDCoMKgwqAgUFZFOjpUb29sczo6ZmlsZV9zZXRfY29udGVu dHMoIi9ldGMvcHZlL3Rlc3RmaWxlIiwgJGRhdGEpOworwqDCoMKgwqDCoMKgwqAgc3lzdGVtKCJk ZCBpZj0vZGV2L3VyYW5kb20gb2Y9L2V0Yy9wdmUvdGVzdGZpbGUgYnM9JHtrfWsgCmNvdW50PTEg Mj4gL2Rldi9udWxsIik7CiDCoMKgwqDCoMKgwqDCoMKgIHN5c3RlbSgic3luYzsgZWNobyAtbiAz ID4gL3Byb2Mvc3lzL3ZtL2Ryb3BfY2FjaGVzIik7CiDCoMKgwqDCoMKgwqDCoMKgIG15ICRieXRl c19hZnRlciA9IGdldF9ieXRlc193cml0dGVuKCk7CiDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAk Ynl0ZXNfYWZ0ZXIgLSAkYnl0ZXNfYmVmb3JlOwpgYGAKCkFsb25nIHdpdGggdGhlIGAtb2JpZ193 cml0ZXNgIHBhdGNoIGFwcGxpZWQsIHRoaXMgZ2l2ZXMgdGhlIGZvbGxvd2luZwpyZXN1bHRzOgoK ZGF0YSBzaXplwqAgd3JpdHRlbsKgIGFtcGxpZmljYXRpb24KMcKgwqDCoMKgwqDCoMKgwqDCoCA1 NMKgwqDCoMKgwqDCoCA1NC4wCjLCoMKgwqDCoMKgwqDCoMKgwqAgMzPCoMKgwqDCoMKgwqAgMTYu NQo0wqDCoMKgwqDCoMKgwqDCoMKgIDQ5wqDCoMKgwqDCoMKgIDEyLjMKOMKgwqDCoMKgwqDCoMKg wqDCoCA1M8KgwqDCoMKgwqDCoCA2LjYKMTbCoMKgwqDCoMKgwqDCoMKgIDYywqDCoMKgwqDCoMKg IDMuOQozMsKgwqDCoMKgwqDCoMKgwqAgNzfCoMKgwqDCoMKgwqAgMi40CjY0wqDCoMKgwqDCoMKg wqDCoCAxMTTCoMKgwqDCoMKgIDEuOAoxMjjCoMKgwqDCoMKgwqDCoCAxNzjCoMKgwqDCoMKgIDEu NAoyNTbCoMKgwqDCoMKgwqDCoCA1ODDCoMKgwqDCoMKgIDIuMwo1MTLCoMKgwqDCoMKgwqDCoCAy MTU3wqDCoMKgwqAgNC4yCjEwMjTCoMKgwqDCoMKgwqAgOTg0NMKgwqDCoMKgIDkuNgoKV2l0aCB0 aGlzIHdlIHdyaXRlIGluIDEyOGsgYmxvY2tzIGluc3RlYWQgb2YgOGsgYmxvY2tzLCBlbGltaW5h dGluZyB0aGUKcmFwaWQgd3JpdGUgYW1wbGlmaWNhdGlvbiBncm93dGggdXAgdW50aWwgMTI4ayBk YXRhIHNpemUuCgpJdCBzZWVtcyB0aGF0IGBQVkU6OlRvb2xzOjpmaWxlX3NldF9jb250ZW50c2Ag bmVlZHMgdG8gYmUgb3B0aW1pemVkIHRvCm5vdCB3cml0ZSB0aGUgY29udGVudHMgaW4gOGsgYmxv Y2tzLiBJbnN0ZWFkIG9mIGBwcmludGAgd2UgbWlnaHQgd2FudCB0bwp1c2UgYHN5c3dyaXRlYC4K CgpPbiAyMy8wOS8yMDI0IDEzOjQ4LCBGaWxpcCBTY2hhdWVyIHdyb3RlOgo+IEkgYWxzbyByYW4g c29tZSBiZW5jaG1hcmtzIHdpdGggdGhlIHNhbWUgc2NyaXB0Lgo+Cj4gSSBjcmVhdGVkIGEgVk0g d2l0aCB0d28gdmlydHVhbCBkaXNrcywgKGJvdGggb24gYW4gTFZNIFRoaW4gc3RvcmFnZSkKPiBp bnN0YWxsZWQgUFZFIG9uIG9uZSBkaXNrIGFuZCBzZXQgdXAgYW4gZXh0NCBwYXJ0aXRpb24gb24g dGhlIG90aGVyLgo+Cj4gSSBzdG9wcGVkIHB2ZXN0YXRkIGFuZCBwdmUtY2x1c3RlciwKPgo+IGBg YAo+IHN5c3RlbWN0bCBzdG9wIHB2ZXN0YXRkCj4gc3lzdGVtY3RsIHN0b3AgcHZlLWNsdXN0ZXIK PiBgYGAKPgo+IG1vdmVkIHRoZSBwbXhjZnMgZGF0YWJhc2UgZmlsZSB0byBpdHMgb3duIGRpc2sK Pgo+IGBgYAo+IG12IC92YXIvbGliL3B2ZS1jbHVzdGVyL2NvbmZpZy5kYiAvdG1wLwo+IG1vdW50 IC9kZXYvc2RiMSAvdmFyL2xpYi9wdmUtY2x1c3Rlcgo+IG12IC90bXAvY29uZmlnLmRiIC92YXIv bGliL3B2ZS1jbHVzdGVyLwo+IGBgYAo+Cj4gYW5kIHN0YXJ0ZWQgcHZlLWNsdXN0ZXIgYWdhaW4u Cj4KPiBgYGAKPiBzeXN0ZW1jdGwgc3RhcnQgcHZlLWNsdXN0ZXIKPiBgYGAKPgo+IFRoZXNlIGFy ZSBteSByZXN1bHRzIGJlZm9yZSBhbmQgYWZ0ZXIgYXBwbHlpbmcgdGhlIHBhdGNoOgo+Cj4gZGF0 YSBzaXplwqAgd3JpdHRlbiAob2xkKcKgIGFtcGxpZmljYXRpb24gKG9sZCnCoCB3cml0dGVuIChu ZXcpIAo+IGFtcGxpZmljYXRpb24gKG5ldykKPiAxwqDCoMKgwqDCoMKgwqDCoMKgIDQ4wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIDQ4wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IDQ1wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDQ1Cj4gMsKgwqDCoMKgwqDCoMKgwqDCoCA0OMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyNMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCA0NcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyMwo+IDTCoMKgwqDCoMKgwqDCoMKgwqAg ODLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjHCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgODDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjAKPiA4wqDCoMKgwqDCoMKgwqDC oMKgIDEyMcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgOTDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTEKPiAxNsKgwqDCoMKgwqDC oMKgwqAgMjE3wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxNMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAxNDbCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDkKPiAzMsKgwqDCoMKgwqDC oMKgwqAgNTA2wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxNsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAzMTTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDEwCj4gNjTCoMKgwqDCoMKg wqDCoMKgIDE0NzLCoMKgwqDCoMKgwqDCoMKgwqDCoCAyM8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCA4MjbCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDEzCj4gMTI4wqDCoMKgwqDC oMKgwqAgNTU4NcKgwqDCoMKgwqDCoMKgwqDCoMKgIDQ0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIDM3NjXCoMKgwqDCoMKgwqDCoMKgwqDCoCAyOQo+IDI1NsKgwqDCoMKgwqDC oMKgIDIwNDI0wqDCoMKgwqDCoMKgwqDCoMKgIDgwwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIDEwNzQzwqDCoMKgwqDCoMKgwqDCoMKgIDQyCj4gNTEywqDCoMKgwqDCoMKgwqAg ODY3MTXCoMKgwqDCoMKgwqDCoMKgwqAgMTY5wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCA0MzY1MMKgwqDCoMKgwqDCoMKgwqDCoCA4NQo+IDEwMjTCoMKgwqDCoMKgwqAgMzY5NTY4 wqDCoMKgwqDCoMKgwqDCoCAzNjHCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDE4 NzQ5NsKgwqDCoMKgwqDCoMKgwqAgMTgzCj4KPiBBcyBjYW4gYmUgc2VlbiwgbXkgcmVzdWx0cyBh cmUgc2ltaWxhciB3aXRoIGFtcGxpZmljYXRpb24gcmVhbGx5IHBpY2tpbmcKPiB1cCBhdCAxMjhr LiBUaGUgcGF0Y2ggc2VlbXMgdG8gY3V0IHdyaXRlIGFtcGxpZmljYXRpb24gaW4gaGFsZiB3aXRo IGJpZwo+IGZpbGVzLCB3aGlsZSBtYWtpbmcgdmlydHVhbGx5IG5vIGRpZmZlcmVuY2Ugd2l0aCBm aWxlcyB1cCB0byA0ay4KPgo+IE9uIDIzLzA5LzIwMjQgMTE6MTcsIERvbWluaWsgQ3NhcGFrIHdy b3RlOgo+PiBPbiA5LzE5LzI0IDE2OjU3LCBUaG9tYXMgTGFtcHJlY2h0IHdyb3RlOgo+Pj4gQW0g MTkvMDkvMjAyNCB1bSAxNDo0NSBzY2hyaWViIERvbWluaWsgQ3NhcGFrOgo+Pj4+IE9uIDkvMTkv MjQgMTQ6MDEsIFRob21hcyBMYW1wcmVjaHQgd3JvdGU6Cj4+Pj4+IEFtIDE5LzA5LzIwMjQgdW0g MTE6NTIgc2NocmllYiBEb21pbmlrIENzYXBhazoKPj4+Pj4+IGJ5IGRlZmF1bHQgbGliZnVzZTIg bGltaXRzIHdyaXRlcyB0byA0ayBzaXplLCB3aGljaCBtZWFucyB0aGF0IG9uIAo+Pj4+Pj4gd3Jp dGVzCj4+Pj4+PiBiaWdnZXIgdGhhbiB0aGF0LCB3ZSBkbyBhIHdob2xlIHdyaXRlIGN5Y2xlIGZv ciBlYWNoIDRrIGJsb2NrIAo+Pj4+Pj4gdGhhdCBjb21lcwo+Pj4+Pj4gaW4uIFRvIGF2b2lkIHRo YXQsIGFkZCB0aGUgb3B0aW9uICdiaWdfd3JpdGVzJyB0byBhbGxvdyB3cml0ZXMgCj4+Pj4+PiBi aWdnZXIKPj4+Pj4+IHRoYW4gNGsgYXQgb25jZS4KPj4+Pj4+Cj4+Pj4+PiBUaGlzIHNob3VsZCBp bXByb3ZlIHBteGNmcyBwZXJmb3JtYW5jZSBmb3Igc2l0dWF0aW9ucyB3aGVyZSB3ZSBvZnRlbgo+ Pj4+Pj4gd3JpdGUgbGFyZ2UgZmlsZXMgKGUuZy4gYmlnIGhhIHN0YXR1cykgYW5kIG1heWJlIHJl ZHVjZSB3cml0ZXMgdG8gCj4+Pj4+PiBkaXNrLgo+Pj4+Pgo+Pj4+PiBTaG91bGQ/IFNvbWV0aGlu ZyBsaWtlIGJlZm9yZS9hZnRlciBmb3IgYmVuY2htYXJrIG51bWJlcnMsIAo+Pj4+PiBmbGFtZWdy YXBocwo+Pj4+PiB3b3VsZCBiZSByZWFsbHkgZ29vZCB0byBoYXZlLCB3aXRob3V0IHRob3NlIGl0 J3MgcmF0aGVyIGhhcmQgdG8gCj4+Pj4+IGRpc2N1c3MKPj4+Pj4gdGhpcywgYW5kIEknZCBsaWtl IHRvIGF2b2lkIGhhdmluZyB0byBkbyB0aG9zZSwgb3IgY2hlY2sgdGhlIGlubmVyIAo+Pj4+PiB3 b3JraW5ncwo+Pj4+PiBvZiB0aGUgYWZmZWN0ZWQgZnVzZSB1c2Vyc3BhY2Uva2VybmVsIGNvZGUg cGF0aHMgaGVyZSBteXNlbGYuCj4+Pj4KPj4+PiB3ZWxsIEkgbWVhbiB0aGUgY29kZSBjaGFuZ2Ug aXMgcmVsYXRpdmVseSBzbWFsbCBhbmQgdGhlIHJlc3VsdCBpcyAKPj4+PiByYXRoZXIgY2xlYXI6 Cj4+Pgo+Pj4gV2VsbCBzdXJlIHRoZSBjb2RlIGNoYW5nZSBpcyBqdXN0IHNldHRpbmcgYW4gb3B0 aW9uLi4uIEJ1dCB0aGUgCj4+PiBhY3R1YWwgY2hhbmdlIGlzCj4+PiBhYnN0cmFjdGVkIGF3YXkg YW5kIHdvdWxkIGJlbmVmaXQgZnJvbSBhY3R1YWxseSBsb29raW5nIGludG8uLgo+Pj4KPj4+PiBp biB0aGUgY3VycmVudCBjYXNlIHdlIGhhdmUgdGhlIGZvbGxvd2luZyBjYWxscyBmcm9tIHBteGNm cyAKPj4+PiAoc2hvcnRlbmVkIGZvciBlLW1haWwpCj4+Pj4gd2hlbiB3cml0aW5nIGEgc2luZ2xl IDEyOGsgYmxvY2s6Cj4+Pj4gKGRkIGlmPS4uLiBvZj0vZXRjL3B2ZS90ZXN0IGJzPTEyOGsgY291 bnQ9MSkKPj4+Cj4+PiBCZXR0ZXIgdGhhbiBub3RoaW5nIGJ1dCBzdGlsbCBubyBhY3R1YWwgbnVt YmVycyAocmVkdWNlZCB0aW1lLCAKPj4+IHJlZHVjZWQgd3JpdGUgYW1wCj4+PiBpbiBjb21iaW5h dGlvbiB3aXRoIHNxbGl0ZSwgLi4uKSwgc29tZSBiYXNpYyBhbmFseXNpcyBvdmVyIAo+Pj4gZmls ZS93cml0ZSBzaXplIGRpc3RyaWJ1dGlvbgo+Pj4gb24gYSBzaW5nbGUgbm9kZSBhbmQgKGUuZy4g dGhyZWUgbm9kZSkgY2x1c3RlciwgLi4uCj4+PiBJZiB0aGF0J3MgYWxsIG9idmlvdXMgZm9yIHlv dSB0aGVuIGdyZWF0LCBidXQgYXMgYWxyZWFkeSBtZW50aW9uZWQgCj4+PiBpbiB0aGUgcGFzdCwg SQo+Pj4gd2FudCBhY3R1YWwgZGF0YSBpbiBjb21taXQgbWVzc2FnZXMgZm9yIHN1Y2ggc3R1ZmYs IGFuZCBJIGNhbm5vdCAKPj4+IHJlYWxseSBzZWUgYSBkb3duc2lkZQo+Pj4gb2YgaGF2aW5nIHN1 Y2ggbnVtYmVycy4KPj4+Cj4+PiBBZ2FpbiwgYXMgaXMgSSdtIG5vdCByZWFsbHkgc2VlaW5nIHdo YXQncyB0byBkaXNjdXNzLCB5b3Ugc2VuZCBpdCBhcyAKPj4+IFJGQyBhZnRlcgo+Pj4gYWxsLgo+ Pj4KPj4+PiBbLi4uXQo+Pj4+IHNvIGEgZmFjdG9yIG9mIDMyIGxlc3MgY2FsbHMgdG8gY2ZzX2Z1 c2Vfd3JpdGUgKGluY2x1ZGluZyAKPj4+PiBtZW1kYl9wd3JpdGUpCj4+Pgo+Pj4gVGhhdCBjYW4g YmUgaHVnZSBvciBub3Qgc28gYmlnIGF0IGFsbCwgaS5lLiBhcyBtZW50aW9uZWQgYWJvdmUsIGl0 IAo+Pj4gd291bGQgd2UgZ29vZCB0bwo+Pj4gbWVhc3VyZSB0aGUgaW1wYWN0IHRocm91Z2ggc29t ZSBvdGhlciBtZXRyaWNzLgo+Pj4KPj4+IEFuZCBGV0lXLCBJIHVzZWQgYnBmdHJhY2UgdG8gY291 bnQgWzBdIHdpdGggYW4gdW5wYXRjaGVkIHBteGNmcywgCj4+PiB0aGVyZSBJIGdldAo+Pj4gdGhl IDMyIGNhbGxzIHRvIGNmc19mdXNlX3dyaXRlIG9ubHkgZm9yIGEgbmV3IGZpbGUsIG92ZXJ3cml0 aW5nIHRoZSAKPj4+IGV4aXN0aW5nCj4+PiBmaWxlIGFnYWluIHdpdGggdGhlIHNhbWUgYW1vdW50 IG9mIGRhdGEgKDEyOGspIGp1c3QgY2F1c2VzIGEgc2luZ2xlIAo+Pj4gY2FsbC4KPj4+IEkgdHJp ZWQgdXNpbmcgbW9yZSBkYXRhIChlLmcuIGZyb20gMTI4ayBpbml0aWFsbHkgdG8gMjU2ayBvciA1 MTJrKSAKPj4+IGFuZCBpdCdzCj4+PiBhbHdheXMgdGhlIGRhdGEgZGl2aWRlZCBieSAxMjhrIChl dmVuIGlmIHRoZSBmaXJzdCBmaWxlIGhhcyBhIAo+Pj4gZGlmZmVyZW50IHNpemUpCj4+Pgo+Pj4g V2UgZG8gbm90IG92ZXJyaWRlIGV4aXN0aW5nIGZpbGVzIG9mdGVuLCBidXQgcmF0aGVyIHdyaXRl IHRvIGEgbmV3IAo+Pj4gZmlsZSBhbmQKPj4+IHRoZW4gcmVuYW1lLCBidXQgc3RpbGwgcXVpdGUg aW50ZXJlc3RpbmcgYW5kIElNTyByZWFsbHkgc2hvd2luZyB0aGF0IAo+Pj4ganVzdAo+Pj4gYmVj YXVzZSB0aGlzIGlzIDEgKy0xIGxpbmUgY2hhbmdlIGl0IGRvZXNuJ3QgbmVjZXNzYXJpbHkgaGF2 ZSB0byBiZSAKPj4+IHRyaXZpYWwKPj4+IGFuZCBvYnZpb3VzIGluIGl0cyBlZmZlY3RzLgo+Pj4K Pj4+IFswXTogYnBmdHJhY2UgLWUgJ3U6Y2ZzX2Z1c2Vfd3JpdGUgL3N0cihhcmdzLT5wYXRoKSA9 PSAiL3Rlc3QiLyB7QCA9IAo+Pj4gY291bnQoKTt9IEVORCB7IHByaW50KEApIH0nIC1wICIkKHBp ZG9mIHBteGNmcykiCj4+Pgo+Pj4KPj4+Pj4+IElmIHdlJ2QgY2hhbmdlIHRvIGxpYmZ1c2UzLCB0 aGlzIHdvdWxkIGJlIGEgbm9uLWlzc3VlLCBzaW5jZSB0aGF0IAo+Pj4+Pj4gb3B0aW9uCj4+Pj4+ PiBnb3QgcmVtb3ZlZCBhbmQgaXMgdGhlIGRlZmF1bHQgdGhlcmUuCj4+Pj4+Cj4+Pj4+IEknZCBw cmVmZXIgdGhhdC4gQXQgbGVhc3QgaWYgZG9uZSB3aXRoIHRoZSBmdXR1cmUgUFZFIDkuMCwgYXMg SSBkbyAKPj4+Pj4gbm90IHRoaW5rCj4+Pj4+IGl0J3MgYSBnb29kIGlkZWEgaW4gdGhlIG1pZGRs ZSBvZiBhIHN0YWJsZSByZWxlYXNlIGN5Y2xlLgo+Pj4+Cj4+Pj4gd2h5IG5vdCB0aGlzIGNoYW5n ZSBub3csIGFuZCB0aGUgcmV3cml0ZSB0byBsaWJmdXNlMyBsYXRlcj8gdGhhdCAKPj4+PiB3YXkg d2UgY2FuCj4+Pj4gaGF2ZSBzb21lIGltcHJvdmVtZW50cyBub3cgdG9vLi4uCj4+Pgo+Pj4gQmVj YXVzZSBJIHdhbnQgc29tZSBhY3R1YWwgZGF0YSBhbmQgcmVhc29uaW5nIGZpcnN0LCBldmVuIGlm IGl0J3MgCj4+PiBxdWl0ZSBsaWtlbHkKPj4+IHRoYXQgdGhpcyBpbXByb3ZlcyB0aGluZ3MgU29t ZWhvd+KEoiwgSSdkIGxpa2UgdG8gYWN0dWFsbHkga25vdyBpbiAKPj4+IHdoYXQgbWV0cmljcwo+ Pj4gYW5kIGJ5IGhvdyBtdWNoIChldmVuIGlmIGp1c3QgYW4gdXBwZXIgYm91bmQgZHVlIHRvIHRo ZSBiZW5jaG1hcmsgb3IgCj4+PiBzb21lCj4+PiBtZWFzdXJlbWVudCBiZWluZyByYXRoZXIgYXJ0 aWZpY2lhbCkuCj4+Pgo+Pj4gSSBtZWFuIHlvdSBuYW1lIHRoZSBiaWcgSEEgc3RhdHVzLCB3aHkg bm90IG1lYXN1cmUgdGhhdCBmb3IgcmVhbD8gCj4+PiBsaWtlLCBwcm9iYWJseQo+Pj4gYW1vbmcg b3RoZXIgdGhpbmdzLCBpbiB0ZXJtcyBvZiBieXRlcyBoaXR0aW5nIHRoZSBibG9jayBsYXllciwg aS5lLiAKPj4+IHRoZSBhY3R1YWwKPj4+IGJhY2tpbmcgZGlzayBmcm9tIHRob3NlIHJlcXVlc3Rz IGFzIHRoZW4gd2UnZCBrbm93IGZvciByZWFsIGlmIHRoaXMgCj4+PiBjYW4gcmVkdWNlCj4+PiB0 aGUgd3JpdGUgbG9hZCB0aGVyZSwgbm90IGp1c3QgdGhhdCBpdCBtYXliZSBzaG91bGQuCj4+Cj4+ Cj4+IGhpLAo+Pgo+PiBmaXJzdCBpIGp1c3Qgd2FudGVkIHRvIHNheSBJJ20gc29ycnkgZm9yIG15 IHNuYXJreSBjb21tZW50IGFib3V0IG5vdCAKPj4gbmVlZGluZyB0byB0ZXN0Cj4+IHBlcmZvcm1h bmNlIGZvciBzdWNoIGNvZGUuIFlvdSdyZSByaWdodCwgYW55IGluc2lnaHQgd2UgY2FuIGdhaW4g dGhlcmUKPj4gaXMgZ29vZCBhbmQgd2UgKEkhKSBzaG91bGQgdGFrZSB0aGUgdGltZSB0byBkbyB0 aGF0LCBldmVuIGlmIHRoZQo+PiBjaGFuZ2UgbG9va3MgIm9idmlvdXMiIGxpa2UgaXQgZG9lcyBo ZXJlCj4+Cj4+IHNvIGkgZGlkIHNvbWUgYmVuY2htYXJrcyAobW9zdGx5IGRpc2sgd3JpdGVzKSBh bmQgd3JvdGUgdGhlIHNob3J0IAo+PiBzY3JpcHQgYmVsb3cKPj4gKG1heWJlIHdlIGNhbiByZXVz ZSB0aGF0PykKPj4KPj4gLS0tLTg8LS0tLQo+PiB1c2Ugc3RyaWN0Owo+PiB1c2Ugd2FybmluZ3M7 Cj4+Cj4+IHVzZSBQVkU6OlRvb2xzOwo+Pgo+PiBteSAkc2l6ZSA9IHNoaWZ0Owo+Pgo+PiBzdWIg Z2V0X2J5dGVzX3dyaXR0ZW4gewo+PiDCoMKgwqDCoMKgwqDCoCBteSAkZmggPSBJTzo6RmlsZS0+ bmV3KCIvcHJvYy9kaXNrc3RhdHMiLCAiciIpOwo+PiDCoMKgwqDCoMKgwqDCoCBkaWUgaWYgISRm aDsKPj4gwqDCoMKgwqDCoMKgwqAgbXkgJGJ5dGVzID0gdW5kZWY7Cj4+IMKgwqDCoMKgwqDCoMKg IHdoaWxlIChkZWZpbmVkKG15ICRsaW5lID0gPCRmaD4pKSB7Cj4+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBpZiAoJGxpbmUgPX4gbS9zZGIvKSB7Cj4+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXkgQGZpZWxkcyA9IHNwbGl0KC9ccysvLCAk bGluZSk7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg JGJ5dGVzID0gJGZpZWxkc1sxMF0gKiA1MTI7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB9Cj4+IMKgwqDCoMKgwqDCoMKgIH0KPj4gwqDCoMKgwqDCoMKgwqAgcmV0dXJuICRieXRl czsKPj4gfQo+Pgo+PiBzdWIgdGVzdF93cml0ZSB7Cj4+IMKgwqDCoMKgwqDCoMKgIG15ICgkaykg PSBAXzsKPj4gwqDCoMKgwqDCoMKgwqAgc3lzdGVtKCJybSAvZXRjL3B2ZS90ZXN0ZmlsZSIpOwo+ PiDCoMKgwqDCoMKgwqDCoCBteSAkZGF0YSA9ICJhIngoJGsqMTAyNCk7Cj4+IMKgwqDCoMKgwqDC oMKgIHN5c3RlbSgic3luYzsgZWNobyAtbiAzPiAvcHJvYy9zeXMvdm0vZHJvcF9jYWNoZXMiKTsK Pj4gwqDCoMKgwqDCoMKgwqAgbXkgJGJ5dGVzX2JlZm9yZSA9IGdldF9ieXRlc193cml0dGVuKCk7 Cj4+IMKgwqDCoMKgwqDCoMKgIFBWRTo6VG9vbHM6OmZpbGVfc2V0X2NvbnRlbnRzKCIvZXRjL3B2 ZS90ZXN0ZmlsZSIsICRkYXRhKTsKPj4gwqDCoMKgwqDCoMKgwqAgc3lzdGVtKCJzeW5jOyBlY2hv IC1uIDM+IC9wcm9jL3N5cy92bS9kcm9wX2NhY2hlcyIpOwo+PiDCoMKgwqDCoMKgwqDCoCBteSAk Ynl0ZXNfYWZ0ZXIgPSBnZXRfYnl0ZXNfd3JpdHRlbigpOwo+PiDCoMKgwqDCoMKgwqDCoCByZXR1 cm4gJGJ5dGVzX2FmdGVyIC0gJGJ5dGVzX2JlZm9yZTsKPj4gfQo+Pgo+PiAkc2l6ZSAvLz0gMTI4 Owo+Pgo+PiBteSAkd3JpdHRlbiA9IHRlc3Rfd3JpdGUoJHNpemUpIC8gMTAyNDsKPj4gcHJpbnQo IiR3cml0dGVuXG4iKTsKPj4gLS0tLT44LS0tLQo+Pgo+PiB0byBzaW11bGF0ZSBvdXIgcmVhbCB3 cml0ZSBwYXR0ZXJucyB3aXRoIHZhcnlpbmcgZmlsZSBzaXplcwo+Pgo+PiBpIGluc3RhbGxlZCBh IGZyZXNoIHB2ZSwgdHVybmVkIG9mZiBwdmVzdGF0ZCBhbmQgcHV0IAo+PiAvdmFyL2xpYi9wdmUt Y2x1c3RlciBvbiBpdCdzIG93biBkaXNrCj4+ICgvZGV2L3NkYiksIHNvIGRpc2tzdGF0cyBvbmx5 IGNvbnRhaW5zIHdyaXRlcyBmcm9tIHRoZSBwbXhjZnMKPj4KPj4gdGhlIHJlc3VsdHMgYXJlIGJl bG93IChhbGwgc2l6ZXMgYXJlIGtieXRlcywgcmFuIHRoZW0gbXVsdGlwbGUgdGltZXMsIAo+PiBi dXQgdGhleQo+PiBzZWVtIHRvIGJlIGNvbnNpc3RlbnQpCj4+Cj4+IGRhdGEgc2l6ZcKgIHdyaXR0 ZW4gKG9sZCnCoCBhbXBsaWZpY2F0aW9uIChvbGQpwqAgd3JpdHRlbiAobmV3KSAKPj4gYW1wbGlm aWNhdGlvbiAobmV3KQo+PiAxwqDCoMKgwqDCoMKgwqDCoMKgIDU2wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIDU2wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDU2wqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIDU2Cj4+IDLCoMKgwqDCoMKgwqDCoMKgwqAgNzLCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgMzbCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgNzbCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgMzgKPj4gNMKgwqDCoMKgwqDCoMKgwqDCoCA4NMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAyMcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA4 OMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyMgo+PiA4wqDCoMKgwqDCoMKgwqDCoMKgIDE0NMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgMTjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgMTA0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxMwo+PiAxNsKgwqDCoMKgwqDCoMKgwqAgMjM2 wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxNMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAxNjDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDEwCj4+IDMywqDCoMKgwqDCoMKgwqDCoCA1 MzLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDE2wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIDMyNMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTAKPj4gNjTCoMKgwqDCoMKgwqDCoMKg IDE0OTbCoMKgwqDCoMKgwqDCoMKgwqDCoCAyM8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCA4MzbCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDEzCj4+IDEyOMKgwqDCoMKgwqDCoMKg IDY2MTbCoMKgwqDCoMKgwqDCoMKgwqDCoCA1McKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAzODQ4wqDCoMKgwqDCoMKgwqDCoMKgwqAgMzAKPj4gMjU2wqDCoMKgwqDCoMKgwqAg MjA2MDDCoMKgwqDCoMKgwqDCoMKgwqAgODDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgMTA1NjjCoMKgwqDCoMKgwqDCoMKgwqAgNDEKPj4gNTEywqDCoMKgwqDCoMKgwqAgODcy OTbCoMKgwqDCoMKgwqDCoMKgwqAgMTcwwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCA0MzQxNsKgwqDCoMKgwqDCoMKgwqDCoCA4NAo+PiAxMDI0wqDCoMKgwqDCoMKgIDM4ODQ2MMKg wqDCoMKgwqDCoMKgwqAgMzc5wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxOTcw MzIgMTkyCj4+Cj4+IGZvciBzbWFsbGVyIHdyaXRlcyB0aGVyZSBzZWVtcyB0byBiZSBhIG1pbmlt dW0gb3ZlcmhlYWQgb2YgfjUwLTEwMCAKPj4ga2J5dGVzCj4+IGZvciBiaWcgZmlsZXMgd2l0aCBo YXZlIGEgbWFzc2l2ZSBhbXBsaWZpY2F0aW9uIG9mID4gMTAweAo+Pgo+PiBteSBwYXRjaCBkb2Vz IHNlZW0gdG8gbWFrZSBhIGRpZmZlcmVuY2UgZm9yIGZpbGVzID40awo+Pgo+PiBidXQgdGhlIGJp Z2dlc3Qgc3VycHJpc2UgaGVyZSBpcyB0aGF0IHRoZSB3cml0ZSBhbXBsaWZpY2F0aW9uCj4+IGlz IG5vdCBsaW5lYXIsIGJ1dCBpbmNyZWFzZXMgd2l0aCBhbiBpbmNyZWFzZSBpbiBieXRlcyB3ZSB3 YW50IHRvIHdyaXRlCj4+IHNvIGUuZy4gZ29pbmcgZnJvbSAxMjhrIC0+IDI1NmsgZmlsZSB3cml0 ZSB3ZSBkb24ndCBqdXN0IHdyaXRlIGRvdWJsZSAKPj4gdGhlIGFtb3VudCwKPj4gYnV0IDN4IHRv IDR4IGFzIG11Y2guCj4+Cj4+IGkgYWxzbyBwcm9kdWNlZCBhIGZsYW1lZ3JhcGggYWNjb3JkaW5n IHRvIAo+PiBodHRwczovL3d3dy5icmVuZGFuZ3JlZ2cuY29tL0ZsYW1lR3JhcGhzL2NwdWZsYW1l Z3JhcGhzLmh0bWwsIGJ1dCAKPj4gdGhhdCBzaG93ZWQgdmlydHVhbGx5IG5vIGNoYW5nZSBiZXR3 ZWVuIHZlcnNpb25zIHdpdGhvdXQKPj4gYW5kIHdpdGggbXkgcGF0Y2ggKGlmIG9uZSBoYXMgYSBn b29kIHN2ZyBob3N0ZXIsIGkgY2FuIHBvc3QgdGhlbSBvZmMpCj4+Cj4+IHNvLCB0bDtkcgo+Pgo+ PiBmb3Igc21hbGwgd3JpdGVzIGRvZXMgbm90IG1ha2UgdGhhdCBtdWNoIG9mIGEgZGlmZmVyZW5j ZSwgYnV0Cj4+IHdlIGNhbiBzYXZlIH5oYWxmIHRoZSB3cml0ZXMgZm9yIGxhcmdlIGZpbGVzIGlu IHRoZSBwbXhjZnMKPj4gKHdoaWNoIGUuZy4gYSBoYS1zdGF0ZSBmaWxlIGNvdWxkIGRvKQo+Pgo+ Pgo+Pgo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ PiBwdmUtZGV2ZWwgbWFpbGluZyBsaXN0Cj4+IHB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQo+ PiBodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wdmUt ZGV2ZWwKPgo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPiBwdmUtZGV2ZWwgbWFpbGluZyBsaXN0Cj4gcHZlLWRldmVsQGxpc3RzLnByb3htb3guY29t Cj4gaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcHZl LWRldmVsCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K cHZlLWRldmVsIG1haWxpbmcgbGlzdApwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6 Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcHZlLWRldmVsCg==