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 B012F1FF17C for <inbox@lore.proxmox.com>; Wed, 2 Apr 2025 10:29:21 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 721AEC33A; Wed, 2 Apr 2025 10:29:09 +0200 (CEST) Date: Wed, 2 Apr 2025 10:28:35 +0200 (CEST) From: =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com> To: "DERUMIER, Alexandre" <alexandre.derumier@groupe-cyllene.com>, "pve-devel@lists.proxmox.com" <pve-devel@lists.proxmox.com> Message-ID: <1188660913.4446.1743582515306@webmail.proxmox.com> In-Reply-To: <0e2cd118f35aa8d4c410d362fea1a1b366df1570.camel@groupe-cyllene.com> References: <20250311102905.2680524-1-alexandre.derumier@groupe-cyllene.com> <mailman.943.1741688960.293.pve-devel@lists.proxmox.com> <1614620193.3974.1743515437162@webmail.proxmox.com> <0e2cd118f35aa8d4c410d362fea1a1b366df1570.camel@groupe-cyllene.com> MIME-Version: 1.0 X-Priority: 3 Importance: Normal X-Mailer: Open-Xchange Mailer v7.10.6-Rev75 X-Originating-Client: open-xchange-appsuite X-SPAM-LEVEL: Spam detection results: 0 AWL 0.044 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] [PATCH v4 pve-storage 1/5] qcow2: add external snapshot 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> Cj4gREVSVU1JRVIsIEFsZXhhbmRyZSA8YWxleGFuZHJlLmRlcnVtaWVyQGdyb3VwZS1jeWxsZW5l LmNvbT4gaGF0IGFtIDAyLjA0LjIwMjUgMTA6MDEgQ0VTVCBnZXNjaHJpZWJlbjoKPiAKPiAgCj4g PiDCoAo+ID4gQEAgLTcxNiw3ICs3MjEsMTEgQEAgc3ViIGZpbGVzeXN0ZW1fcGF0aCB7Cj4gPiDC oAo+ID4gwqDCoMKgwqAgbXkgJGRpciA9ICRjbGFzcy0+Z2V0X3N1YmRpcigkc2NmZywgJHZ0eXBl KTsKPiA+IMKgCj4gPiAtwqDCoMKgICRkaXIgLj0gIi8kdm1pZCIgaWYgJHZ0eXBlIGVxICdpbWFn ZXMnOwo+ID4gK8KgwqDCoCBpZiAoJHNjZmctPntzbmFwZXh0fSAmJiAkc25hcG5hbWUpIHsKPiA+ ICsgJG5hbWUgPSAkY2xhc3MtPmdldF9zbmFwX3ZvbG5hbWUoJHZvbG5hbWUsICRzbmFwbmFtZSk7 Cj4gPiArwqDCoMKgIH0gZWxzZSB7Cj4gPiArICRkaXIgLj0gIi8kdm1pZCIgaWYgJHZ0eXBlIGVx ICdpbWFnZXMnOwo+ID4gK8KgwqDCoCB9Cj4gCj4gPj50aGlzIGlzIGEgYml0IHdlaXJkLCBhcyBp dCBtaXhlcyB2b2xuYW1lcyAod2l0aCB0aGUgYCR2bWlkL2AgcHJlZml4KQo+ID4+YW5kIG5hbWVz ICh3aXRob3V0KSwgaXQncyBvbmx5IGNhbGxlZCB0d2ljZSBpbiB0aGlzIHBhdGNoLCBhbmQgdGhp cwo+ID4+aGVyZSBhbHJlYWR5IGhhcyAkdm9sbmFtZSBwYXJzZWQsIHNvIGNvdWxkIHdlIG1heWJl IGxldAo+ID4+Z2V0X3NuYXBfdm9sbmFtZSB0YWtlIGFuZCByZXR1cm4gdGhlICRuYW1lIHBhcnQg d2l0aG91dCB0aGUgZGlyPwo+IAo+IG9rIQo+IAo+ID4gwqAKPiA+IMKgwqDCoMKgIG15ICRwYXRo ID0gIiRkaXIvJG5hbWUiOwo+ID4gwqAKPiA+IEBAIC04NzMsNyArODgyLDcgQEAgc3ViIGNsb25l X2ltYWdlIHsKPiA+IMKgfQo+ID4gwqAKPiA+IMKgc3ViIGFsbG9jX2ltYWdlIHsKPiA+IC3CoMKg wqAgbXkgKCRjbGFzcywgJHN0b3JlaWQsICRzY2ZnLCAkdm1pZCwgJGZtdCwgJG5hbWUsICRzaXpl KSA9IEBfOwo+ID4gK8KgwqDCoCBteSAoJGNsYXNzLCAkc3RvcmVpZCwgJHNjZmcsICR2bWlkLCAk Zm10LCAkbmFtZSwgJHNpemUsCj4gPiAkYmFja2luZykgPSBAXzsKPiAKPiA+PnRoaXMgZXh0ZW5k cyB0aGUgc3RvcmFnZSBBUEksIHNvIGl0IHNob3VsZCBhY3R1YWxseSBkbyB0aGF0Li4gYW5kCj4g Pj5wcm9iYWJseSAkYmFja2luZyBzaG91bGQgbm90IGJlIGFuIGFyYml0cmFyeSBwYXRoLCBidXQg c29tZXRoaW5nIHRoYXQKPiA+PmlzIHJlc29sdmVkIGxvY2FsbHk/Cj4gCj4gSSdsbCBzZW5kIHRo ZSAkc25hcG5hbWUgYXMgcGFyYW0gaW5zdGVhZAoKc2VlIG15IGNvbW1lbnRzIG9uIHRoZSBxZW11 LXNlcnZlciBzaWRlLCBJIHRoaW5rIGl0IHdvdWxkIGJlIGV2ZW4gYmV0dGVyIGlmIHdlIGNvdWxk IGp1c3QgZ2V0IHJpZCBvZiBleHRlbmRpbmcgYWxsb2NfaW1hZ2UgbGlrZSB0aGlzLCBhbmQgaW5z dGVhZCBhbHdheXMgZ28gdmlhIHZvbHVtZV9zbmFwc2hvdC4uCgo+IAo+IAo+ID4gKwo+ID4gK8Kg wqDCoCBpZigkYmFja2luZykgewo+ID4gKyBwdXNoIEAkY21kLCAnLWInLCAkYmFja2luZywgJy1G JywgJ3Fjb3cyJzsKPiA+ICsgcHVzaCBAJG9wdGlvbnMsICdleHRlbmRlZF9sMj1vbicsJ2NsdXN0 ZXJfc2l6ZT0xMjhrJzsKPiA+ICvCoMKgwqAgfTsKPiA+ICvCoMKgwqAgcHVzaCBAJG9wdGlvbnMs IHByZWFsbG9jYXRpb25fY21kX29wdGlvbigkc2NmZywgJGZtdCk7Cj4gPiArwqDCoMKgIHB1c2gg QCRjbWQsICctbycsIGpvaW4oJywnLCBAJG9wdGlvbnMpIGlmIEAkb3B0aW9ucyA+IDA7Cj4gPiAr wqDCoMKgIHB1c2ggQCRjbWQsICctZicsICRmbXQsICRwYXRoOwo+ID4gK8KgwqDCoCBwdXNoIEAk Y21kLCAiJHtzaXplfUsiIGlmICEkYmFja2luZzsKPiAKPiA+PmlzIHRoaXMgYmVjYXVzZSBpdCB3 aWxsIGF1dG9tYXRpY2FsbHkgdGFrZSB0aGUgc2l6ZSBmcm9tIHRoZSBiYWNraW5nCj4gPj5pbWFn ZT8KPiAKPiBZZXMsIGl0IHRha2Ugc2l6ZSBmcm9tIHRoZSBiYWNraW5nLiAgKGFuZCByZWZ1c2Ug aWYgeW91IHNwZWNpZnkgc2l6ZQo+IHBhcmFtIGF0IHRoZSBzYW1lIHRpbWUgdGhhbiBiYWNraW5n IGZpbGUpCgp3ZSBwYXNzIGEgc2l6ZSBhbmQgYSBiYWNraW5nIGZpbGUgaW4gcWVtdS1zZXJ2ZXIs IHNvIEkgZ3Vlc3MgdGhhdCBpcyB3cm9uZyB0aGVyZT8gOykKCj4gCj4gCj4gPiArIG15ICRwYXRo ID0gJGNsYXNzLT5wYXRoKCRzY2ZnLCAkdm9sbmFtZSwgJHN0b3JlaWQpOwo+ID4gKyBteSAkc25h cHBhdGggPSAkY2xhc3MtPnBhdGgoJHNjZmcsICR2b2xuYW1lLCAkc3RvcmVpZCwgJHNuYXApOwo+ ID4gKyAjcmVuYW1lIGN1cnJlbnQgdm9sdW1lIHRvIHNuYXAgdm9sdW1lCj4gPiArIGRpZSAic25h cHNob3Qgdm9sdW1lICRzbmFwcGF0aCBhbHJlYWR5IGV4aXN0XG4iIGlmIC1lICRzbmFwcGF0aDsK PiA+ICsgcmVuYW1lKCRwYXRoLCAkc25hcHBhdGgpIGlmIC1lICRwYXRoOwo+IAo+ID4+dGhpcyBp cyBzdGlsbCBsb29raW5nIHdlaXJkLi4gSSBkb24ndCB0aGluayBpdCBtYWtlcyBzZW5zZSBpbnRl cmZhY2UKPiA+Pndpc2UgdG8gYWxsb3cgc25hcHNob3R0aW5nIGEgdm9sdW1lIHRoYXQgZG9lc24n dCBldmVuIGV4aXN0Li4KPiAKPiBUaGlzIGlzIG1vcmUgYnkgc2VjdXJpdHksIEknbSBzdGlsbCB1 bnN1cmUgb2YgdGhlIGJlaGF2aW91ciBpZiB5b3UgaGF2ZQo+IG11bHRpcGxlIGRpc2tzLCBhbmQg dGhhdCBzbmFwc2hvdCBpcyBkeWluZyBpbiB0aGUgbWlkZGxlLiAoMSBkaXNrCj4gcmVuYW1lLCB0 aGUgb3RoZXIgbm90IHJlbmFtZWQpLiAKCkkgYW0gbm90IHN1cmUgd2hhdCB3ZSBnYWluIGJ5IHRo aXMgb3RoZXIgdGhhbiBwYXBlcmluZyBvdmVyIGlzc3Vlcy4KCmZvciBtdWx0aS1kaXNrcyB3aGF0 IHdlJ2QgbmVlZCB0byBkbyBpczoKLSBsb29wIG92ZXIgdm9sdW1lcwotLSB0YWtlIGEgc25hcHNo b3Qgb2Ygdm9sdW1lCi0tIGFzIHBhcnQgb2YgZXJyb3IgaGFuZGxpbmcgZGlyZWN0bHkgaW4gdGFr aW5nIGEgc25hcHNob3QsIHVuZG8gYWxsIHN0ZXBzIGRvbmUgdW50aWwgdGhlIHBvaW50IG9mIGVy cm9yCi0gaWYgYW4gZXJyb3Igb2NjdXJzLCBsb29wIG92ZXIgYWxsIGFscmVhZHkgY29ycmVjdGx5 IHNuYXBzaG90dGVkIHZvbHVtZXMKLS0gdW5kbyBzbmFwc2hvdCBvZiBlYWNoIHN1Y2ggdm9sdW1l Cgo+IAo+ID4gKwo+ID4gKyBteSAoJHZ0eXBlLCAkbmFtZSwgJHZtaWQsIHVuZGVmLCB1bmRlZiwg JGlzQmFzZSwgJGZvcm1hdCkgPQo+ID4gKyDCoMKgwqAgJGNsYXNzLT5wYXJzZV92b2xuYW1lKCR2 b2xuYW1lKTsKPiA+ICsKPiA+ICsgJGNsYXNzLT5hbGxvY19pbWFnZSgkc3RvcmVpZCwgJHNjZmcs ICR2bWlkLCAncWNvdzInLCAkbmFtZSwgdW5kZWYsCj4gPiAkc25hcHBhdGgpOwo+ID4gKyBpZiAo JEApIHsKPiA+ICsgwqDCoMKgIGV2YWwgeyAkY2xhc3MtPmZyZWVfaW1hZ2UoJHN0b3JlaWQsICRz Y2ZnLCAkdm9sbmFtZSwgMCkgfTsKPiA+ICsgwqDCoMKgIHdhcm4gJEAgaWYgJEA7Cj4gCj4gPj5t aXNzaW5nIGNsZWFudXAgLSB0aGlzIHNob3VsZCB1bmRvIHRoZSByZW5hbWUgZnJvbSBhYm92ZQo+ IAo+IERvIHlvdSBoYXZlIGFuIGlkZWEgaG93IHRvIGRvIGl0IHdpdGggbXV0aXBsZSBkaXNrID8g IAo+IChyZXZlcnQgcmVuYW1pbmcgb2Ygb3RoZXIgZGlza3MgZWxzZXdoZXJlIGluIHRoZSBjb2Rl PyBqdXN0IGtlZXAgdGhlbQo+IGxpa2UgdGhpcyk/IAoKc2VlIGFib3ZlLCB0aGUgdm9sdW1lX3Nu YXBzaG90IHRhc2sgc2hvdWxkIGNsZWFuIHVwIHdoYXQgaXQgZGlkIHVwIHRvIHRoZSBwb2ludCBv ZiBlcnJvciwgYW5kIGl0cyBjYWxsZXIgaXMgcmVzcG9uc2libGUgZm9yIHVuZG9pbmcgYWxyZWFk eSBjb21wbGV0ZWQgdm9sdW1lX3NuYXBzaG90IGNhbGxzLiBvYnZpb3VzbHkgdGhpcyB3b24ndCBh bHdheXMgd29yayAoZm9yIGV4YW1wbGUsIGlmIHRoZSBzbmFwc2hvdCBmYWlscyBiZWNhdXNlIHRo ZSBzdG9yYWdlIGhhcyBhIHByb2JsZW0sIGl0J3MgdmVyeSBsaWtlbHkgdGhhdCB1bmRvaW5nIHRo aW5ncyBpcyBub3QgcG9zc2libGUgZWl0aGVyIGFuZCBtYW51YWwgY2xlYW51cCB3aWxsIGJlIHJl cXVpcmVkKQoKPiAKPiAKPiA+IMKgCj4gPiBAQCAtMTE4Nyw5ICsxMjUxLDE1IEBAIHN1YiB2b2x1 bWVfc25hcHNob3Rfcm9sbGJhY2sgewo+ID4gwqAKPiA+IMKgwqDCoMKgIG15ICRwYXRoID0gJGNs YXNzLT5maWxlc3lzdGVtX3BhdGgoJHNjZmcsICR2b2xuYW1lKTsKPiA+IMKgCj4gPiAtwqDCoMKg IG15ICRjbWQgPSBbJy91c3IvYmluL3FlbXUtaW1nJywgJ3NuYXBzaG90JywnLWEnLCAkc25hcCwg JHBhdGhdOwo+ID4gLQo+ID4gLcKgwqDCoCBydW5fY29tbWFuZCgkY21kKTsKPiA+ICvCoMKgwqAg aWYgKCRzY2ZnLT57c25hcGV4dH0pIHsKPiA+ICsgI3NpbXBseSBkZWxldGUgdGhlIGN1cnJlbnQg c25hcHNob3QgYW5kIHJlY3JlYXRlIGl0Cj4gPiArIG15ICRwYXRoID0gJGNsYXNzLT5maWxlc3lz dGVtX3BhdGgoJHNjZmcsICR2b2xuYW1lKTsKPiA+ICsgdW5saW5rKCRwYXRoKTsKPiA+ICsgJGNs YXNzLT52b2x1bWVfc25hcHNob3QoJHNjZmcsICRzdG9yZWlkLCAkdm9sbmFtZSwgJHNuYXApOwo+ IAo+ID4+aW5zdGVhZCBvZiB2b2x1bWVfc25hcHNob3QsIHRoaXMgY291bGQgc2ltcGx5IGNhbGwg YWxsb2NfaW1hZ2Ugd2l0aAo+ID4+dGhlIGJhY2tpbmcgZmlsZT8gdGhlbiB2b2x1bWVfc25hcHNo b3QgY291bGQgYWx3YXlzIHJlbmFtZSBhbmQgYWx3YXlzCj4gPj5jbGVhbnVwIHByb3Blcmx5Li4K PiAKPiBZZXMgLCBiZXR0ZXIgbGlrZSB0aGlzIGluZGVlZAoKSSB0aGluayBhbGxvY19pbWFnZSBz aG91bGQgYmUgc3BsaXQgaW50byBhbiBpbnRlcm5hbCBoZWxwZXIgdGhhdCB0YWtlcyB0aGUgYmFj a2luZyBmaWxlIHBhcmFtZXRlciwgYW5kIHRoZSBleGlzdGluZyBhbGxvY19pbWFnZSB0aGF0IHNo b3VsZG4ndCBnZXQgdGhhdCBwYXJhbWV0ZXIgdGhvdWdoCgo+IAo+ID4gCj4gPiArIH0gZWxzZSB7 Cj4gPiArIMKgwqDCoCAjd2UgcmViYXNlIHRoZSBjaGlsZCBpbWFnZSBvbiB0aGUgcGFyZW50IGFz IG5ldyBiYWNraW5nIGltYWdlCj4gCj4gPj5zaG91bGQgd2UgZXh0ZW5kIHRoaXMgdG8gbWFrZSBp dCBjbGVhciB3aGF0IHRoaXMgbWVhbnM/IGl0IG1lYW5zCj4gPj5jb3B5aW5nIGFueSBwYXJ0cyBv ZiAkc25hcCB0aGF0IGFyZSBub3QgaW4gJHBhcmVudCBhbmQgbm90IHlldAo+ID4+b3ZlcndyaXR0 ZW4gYnkgJGNoaWxkIGludG8gJGNoaWxkLCByaWdodD8KPiA+Pgo+IHllcywKPiBpbnRlcm1lZGlh dGUgc25hcHNob3Q6IChyZWJhc2UpCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ IHNuYXAxICgxMEcpLS0+c25hcDIgKDFHKS0tLS1jdXJyZW50KDFHKQo+IC0tLT4gZGVsZXRlIHNu YXAyCj4gCj4gcmViYXNlIGN1cnJlbnQgb24gc25hcDEKPiAKPiBzbmFwMSgxMEcpLS0tLS0+Y3Vy cmVudCgyRykKPiAKPiAKPiBvcgo+IAo+IHNuYXAxICgxMEcpLS0+c25hcDIgKDFHKS0tLS0+IHNu YXAzICgxRyktLS0+Y3VycmVudCgxRykKPiAtLS0+IGRlbGV0ZSBzbmFwMgo+IAo+IHJlYmFzZSBz bmFwMyBvbiBzbmFwMQo+IAo+IHNuYXAxICgxMEcpLS0tPiBzbmFwMyAoMkcpLS0tPmN1cnJlbnQo MUcpCj4gCj4gCj4gCj4gPj5zbyBob3cgZXhwZW5zaXZlIHRoaXMgaXMgZGVwZW5kcyBvbjoKPiA+ Pi0gaG93IG1hbnkgY2hhbmdlcyBhcmUgYmV0d2VlbiAkcGFyZW50IGFuZCAkc25hcCAoaW5jcmVh c2VzIGNvc3QpCj4gPj4tIGhvdyBtYW55IG9mIHRob3NlIGFyZSBvdmVyd3JpdHRlbiBieSBjaGFu Z2VzIGJldHdlZW4gJHNuYXAgYW5kCj4gPj4kY2hpbGQgKGRlY3JlYXNlcyBjb3N0KQo+IAo+IAo+ IGJ1dCB5ZXMsIHRoZSBmaW5hbCBzaXplIG9mIHRoZSBjaGlsZCBpcyBub3QgMTAwJSB0aGUgYWRk aXRpb25hbCBjb250ZW50Cj4gb2YgdGhlIGRlbGV0ZWQgc25hcHNob3QsIGlmIHNvbWUgYmxvY2tz IGhhcyBhbHJlYWR5IGJlZW4gb3ZlcndyaXRlbiBpbgo+IHRoZSBjaGlsZAo+IAo+IAo+IHNvLCB3 ZSBjb3VsZCBjYWxsIGl0OiAibWVyZ2UgZGlmZiBjb250ZW50IG9mIHRoZSBkZWxldGUgc25hcCB0 byB0aGUKPiBjaGlsZHNuYXAiCj4gCj4gCj4gCj4gCj4gCj4gPj4rc3ViIGdldF9zbmFwX3ZvbG5h bWUgewo+ID4+KyAgICBteSAoJGNsYXNzLCAkdm9sbmFtZSwgJHNuYXBuYW1lKSA9IEBfOwo+ID4+ Kwo+ID4+KyAgICBteSAoJHZ0eXBlLCAkbmFtZSwgJHZtaWQsICRiYXNlbmFtZSwgJGJhc2V2bWlk LCAkaXNCYXNlLAo+ID4+JGZvcm1hdCkgPSAkY2xhc3MtPnBhcnNlX3ZvbG5hbWUoJHZvbG5hbWUp Owo+ICsgICAgJG5hbWUgPSAhJHNuYXBuYW1lIHx8ICRzbmFwbmFtZSBlcSAnY3VycmVudCcgPyAk dm9sbmFtZSA6Cj4gIiR2bWlkL3NuYXAtJHNuYXBuYW1lLSRuYW1lIjsKPiAKPiA+Pm90aGVyIHdh eSByb3VuZCB3b3VsZCBiZSBiZXR0ZXIgdG8gZ3JvdXAgYnkgdm9sdW1lIGZpcnN0IElNSE8KPiAo JHZtaWQvc25hcC0kbmFtZS0kc25hcG5hbWUpLCBhcyB0aGlzIGlzIHNpbWlsYXIgdG8gaG93IHdl IGVuY29kZQo+ID4+c25hcHNob3RzIG9mdGVuIG9uIHRoZSBzdG9yYWdlIGxldmVsICh2b2x1bWVA c25hcCkuIHdlIGFsc28gbmVlZCB0bwo+ID4+aGF2ZSBzb21lIGRlbGltaXRlciBiZXR3ZWVuIHNu YXBzaG90IGFuZCB2b2x1bWUgbmFtZSB0aGF0IGlzIG5vdAo+ID4+YWxsb3dlZCBpbiBlaXRoZXIg KGhhcmQgZm9yIHZvbG5hbWUgc2luY2UgYmFzaWNhbGx5IGV2ZXJ5dGhpbmcgYnV0Cj4gPj4nLycg Z29lcywgYnV0IHNuYXBzaG90cyBoYXZlIGEgcmVzdHJpY3RlZCBjaGFyYWN0ZXIgc2V0IChjb25m aWdpZCwKPiA+PndoaWNoIG1lYW5zIGFscGhhbnVtZXJpYywgaHlwaGVuIGFuZCB1bmRlcnNjb3Jl KSwgc28gd2UgY291bGQgdXNlCj4gPj5zb21ldGhpbmcgbGlrZSAnLicgYXMgZGVsaW1pdGVyPyBv ciB3ZSBzd2l0Y2ggdG8gZGlyZWN0b3JpZXMgYW5kIGRvCj4gPj4kdm1pZC9zbmFwLyRzbmFwLyRu YW1lPykKPiAKPiBQZXJzb25uYWx5LCBJIHByZWZlciBhICcuJyBkZWxpbWl0ZXIgdGhhbiBzdWIg ZGlyZWN0b3J5LiAoYmV0dGVyIHRvCj4gaGF2ZSB0aGUgaW5mbyBpbiB0aGUgZmlsZW5hbWUgaXRz ZWxmKQoKd2UgY2FuIHN0aWxsIGJpa2VzaGVkIHRoaXMgbGF0ZXIgb25jZSBvdGhlciBpc3N1ZSBh cmUgaXJvbmVkIG91dCwgSSBqdXN0IHdhbnRlZCB0byBub3RlIGl0IC0gaXQncyB2ZXJ5IHVuZm9y dHVuYXRlIHRoYXQgdm9sdW1lIG5hbWVzIGN1cnJlbnRseSBhcmUgc28gdW5yZXN0cmljdGVkLCBi dXQgd2UgaGF2ZSB0byBsaXZlIHdpdGggaXQgZm9yIG5vdy4gSSBqdXN0IHJlYWxpemVkIHRoYXQg ZXZlbiBzbmFwLVhYWC5xY293MiB3b3VsZCBiZSByZWNvZ25pemVkL3JldHVybmVkIGFzIGltYWdl LCBzbyB3ZSBuZWVkIHNvbWV0aGluZyBlbHNlIG9yIGZpbHRlciB0aGVtIG91dCBhbnl3YXkuCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHZlLWRldmVs IG1haWxpbmcgbGlzdApwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6Ly9saXN0cy5w cm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcHZlLWRldmVsCg==