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 A4CA91FF17A for ; Fri, 18 Jul 2025 12:09:39 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 2CECC19A1B; Fri, 18 Jul 2025 12:10:47 +0200 (CEST) Message-ID: <103d8839-6be4-477d-88e3-49f025d6c3b4@proxmox.com> Date: Fri, 18 Jul 2025 12:10:13 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Lukas Wagner , Proxmox Backup Server development discussion References: <20250715125332.954494-1-c.ebner@proxmox.com> <20250715125332.954494-24-c.ebner@proxmox.com> <99ddaa61-b71e-4fe8-8c9e-24f2cc6efdf7@proxmox.com> Content-Language: en-US, de-DE From: Christian Ebner In-Reply-To: X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1752833411219 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 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [mod.rs, environment.rs] Subject: Re: [pbs-devel] [PATCH proxmox-backup v8 14/45] api: reader: fetch chunks based on datastore backend X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Backup Server development discussion Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" T24gNy8xOC8yNSAxMjowMyBQTSwgTHVrYXMgV2FnbmVyIHdyb3RlOgo+IE9uICAyMDI1LTA3LTE4 IDExOjU4LCBDaHJpc3RpYW4gRWJuZXIgd3JvdGU6Cj4+IE9uIDcvMTgvMjUgMTA6MzggQU0sIEx1 a2FzIFdhZ25lciB3cm90ZToKPj4+IE9uZSBjb21tZW50IGlubGluZSwgYnV0IG5vdGhpbmcgcHJv aGliaXRpdmUgb2YgYSBSLWI6Cj4+Pgo+Pj4gUmV2aWV3ZWQtYnk6IEx1a2FzIFdhZ25lciA8bC53 YWduZXJAcHJveG1veC5jb20+Cj4+Pgo+Pj4KPj4+IE9uwqAgMjAyNS0wNy0xNSAxNDo1MywgQ2hy aXN0aWFuIEVibmVyIHdyb3RlOgo+Pj4+IFJlYWQgdGhlIGNodW5rIGJhc2VkIG9uIHRoZSBkYXRh c3RvcmVzIGJhY2tlbmQsIHJlYWRpbmcgZnJvbSBsb2NhbAo+Pj4+IGZpbGVzeXN0ZW0gb3IgZmV0 Y2hpbmcgZnJvbSBTMyBvYmplY3Qgc3RvcmUuCj4+Pj4KPj4+PiBTaWduZWQtb2ZmLWJ5OiBDaHJp c3RpYW4gRWJuZXIgPGMuZWJuZXJAcHJveG1veC5jb20+Cj4+Pj4gLS0tCj4+Pj4gY2hhbmdlcyBz aW5jZSB2ZXJzaW9uIDc6Cj4+Pj4gLSBubyBjaGFuZ2VzCj4+Pj4KPj4+PiAgwqAgc3JjL2FwaTIv cmVhZGVyL2Vudmlyb25tZW50LnJzIHwgMTIgKysrKysrLS0tLQo+Pj4+ICDCoCBzcmMvYXBpMi9y ZWFkZXIvbW9kLnJzwqDCoMKgwqDCoMKgwqDCoCB8IDQxICsrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0KPj4+PiAgwqAgMiBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAx NyBkZWxldGlvbnMoLSkKPj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS9zcmMvYXBpMi9yZWFkZXIvZW52 aXJvbm1lbnQucnMgYi9zcmMvYXBpMi9yZWFkZXIvZW52aXJvbm1lbnQucnMKPj4+PiBpbmRleCAz YjJmMDZmNDMuLjg5MjQzNTJiMCAxMDA2NDQKPj4+PiAtLS0gYS9zcmMvYXBpMi9yZWFkZXIvZW52 aXJvbm1lbnQucnMKPj4+PiArKysgYi9zcmMvYXBpMi9yZWFkZXIvZW52aXJvbm1lbnQucnMKPj4+ PiBAQCAtMSwxMyArMSwxNCBAQAo+Pj4+ICDCoCB1c2Ugc3RkOjpjb2xsZWN0aW9uczo6SGFzaFNl dDsKPj4+PiAgwqAgdXNlIHN0ZDo6c3luYzo6e0FyYywgUndMb2NrfTsKPj4+PiAgwqAgK3VzZSBh bnlob3c6OkVycm9yOwo+Pj4+ICDCoCB1c2Ugc2VyZGVfanNvbjo6e2pzb24sIFZhbHVlfTsKPj4+ PiAgwqAgwqAgdXNlIHByb3htb3hfcm91dGVyOjp7UnBjRW52aXJvbm1lbnQsIFJwY0Vudmlyb25t ZW50VHlwZX07Cj4+Pj4gIMKgIMKgIHVzZSBwYnNfYXBpX3R5cGVzOjpBdXRoaWQ7Cj4+Pj4gIMKg IHVzZSBwYnNfZGF0YXN0b3JlOjpiYWNrdXBfaW5mbzo6QmFja3VwRGlyOwo+Pj4+IC11c2UgcGJz X2RhdGFzdG9yZTo6RGF0YVN0b3JlOwo+Pj4+ICt1c2UgcGJzX2RhdGFzdG9yZTo6e0RhdGFTdG9y ZSwgRGF0YXN0b3JlQmFja2VuZH07Cj4+Pj4gIMKgIHVzZSBwcm94bW94X3Jlc3Rfc2VydmVyOjpm b3JtYXR0ZXI6Oio7Cj4+Pj4gIMKgIHVzZSBwcm94bW94X3Jlc3Rfc2VydmVyOjpXb3JrZXJUYXNr Owo+Pj4+ICDCoCB1c2UgdHJhY2luZzo6aW5mbzsKPj4+PiBAQCAtMjMsNiArMjQsNyBAQCBwdWIg c3RydWN0IFJlYWRlckVudmlyb25tZW50IHsKPj4+PiAgwqDCoMKgwqDCoCBwdWIgd29ya2VyOiBB cmM8V29ya2VyVGFzaz4sCj4+Pj4gIMKgwqDCoMKgwqAgcHViIGRhdGFzdG9yZTogQXJjPERhdGFT dG9yZT4sCj4+Pj4gIMKgwqDCoMKgwqAgcHViIGJhY2t1cF9kaXI6IEJhY2t1cERpciwKPj4+PiAr wqDCoMKgIHB1YiBiYWNrZW5kOiBEYXRhc3RvcmVCYWNrZW5kLAo+Pj4+ICDCoMKgwqDCoMKgIGFs bG93ZWRfY2h1bmtzOiBBcmM8UndMb2NrPEhhc2hTZXQ8W3U4OyAzMl0+Pj4sCj4+Pj4gIMKgIH0K Pj4+PiAgwqAgQEAgLTMzLDggKzM1LDkgQEAgaW1wbCBSZWFkZXJFbnZpcm9ubWVudCB7Cj4+Pj4g IMKgwqDCoMKgwqDCoMKgwqDCoCB3b3JrZXI6IEFyYzxXb3JrZXJUYXNrPiwKPj4+PiAgwqDCoMKg wqDCoMKgwqDCoMKgIGRhdGFzdG9yZTogQXJjPERhdGFTdG9yZT4sCj4+Pj4gIMKgwqDCoMKgwqDC oMKgwqDCoCBiYWNrdXBfZGlyOiBCYWNrdXBEaXIsCj4+Pj4gLcKgwqDCoCApIC0+IFNlbGYgewo+ Pj4+IC3CoMKgwqDCoMKgwqDCoCBTZWxmIHsKPj4+PiArwqDCoMKgICkgLT4gUmVzdWx0PFNlbGYs IEVycm9yPiB7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGxldCBiYWNrZW5kID0gZGF0YXN0b3JlLmJh Y2tlbmQoKT87Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIE9rKFNlbGYgewo+Pj4+ICDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCByZXN1bHRfYXR0cmlidXRlczoganNvbiEoe30pLAo+Pj4+ICDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlbnZfdHlwZSwKPj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgYXV0aF9pZCwKPj4+PiBAQCAtNDMsOCArNDYsOSBAQCBpbXBsIFJlYWRlckVudmly b25tZW50IHsKPj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGVidWc6IHRyYWNpbmc6 OmVuYWJsZWQhKHRyYWNpbmc6OkxldmVsOjpERUJVRyksCj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGZvcm1hdHRlcjogSlNPTl9GT1JNQVRURVIsCj4+Pj4gIMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGJhY2t1cF9kaXIsCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYmFj a2VuZCwKPj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYWxsb3dlZF9jaHVua3M6IEFy Yzo6bmV3KFJ3TG9jazo6bmV3KEhhc2hTZXQ6Om5ldygpKSksCj4+Pj4gLcKgwqDCoMKgwqDCoMKg IH0KPj4+PiArwqDCoMKgwqDCoMKgwqAgfSkKPj4+PiAgwqDCoMKgwqDCoCB9Cj4+Pj4gIMKgIMKg wqDCoMKgwqAgcHViIGZuIGxvZzxTOiBBc1JlZjxzdHI+Pigmc2VsZiwgbXNnOiBTKSB7Cj4+Pj4g ZGlmZiAtLWdpdCBhL3NyYy9hcGkyL3JlYWRlci9tb2QucnMgYi9zcmMvYXBpMi9yZWFkZXIvbW9k LnJzCj4+Pj4gaW5kZXggYTc3MjE2MDQzLi45OTdkOWNhNzcgMTAwNjQ0Cj4+Pj4gLS0tIGEvc3Jj L2FwaTIvcmVhZGVyL21vZC5ycwo+Pj4+ICsrKyBiL3NyYy9hcGkyL3JlYWRlci9tb2QucnMKPj4+ PiBAQCAtMyw2ICszLDcgQEAKPj4+PiAgwqAgdXNlIGFueWhvdzo6e2JhaWwsIGZvcm1hdF9lcnIs IENvbnRleHQsIEVycm9yfTsKPj4+PiAgwqAgdXNlIGZ1dHVyZXM6Oio7Cj4+Pj4gIMKgIHVzZSBo ZXg6OkZyb21IZXg7Cj4+Pj4gK3VzZSBodHRwX2JvZHlfdXRpbDo6Qm9keUV4dDsKPj4+PiAgwqAg dXNlIGh5cGVyOjpib2R5OjpJbmNvbWluZzsKPj4+PiAgwqAgdXNlIGh5cGVyOjpoZWFkZXI6Ontz ZWxmLCBIZWFkZXJWYWx1ZSwgQ09OTkVDVElPTiwgVVBHUkFERX07Cj4+Pj4gIMKgIHVzZSBoeXBl cjo6aHR0cDo6cmVxdWVzdDo6UGFydHM7Cj4+Pj4gQEAgLTI3LDggKzI4LDkgQEAgdXNlIHBic19h cGlfdHlwZXM6OnsKPj4+PiAgwqAgfTsKPj4+PiAgwqAgdXNlIHBic19jb25maWc6OkNhY2hlZFVz ZXJJbmZvOwo+Pj4+ICDCoCB1c2UgcGJzX2RhdGFzdG9yZTo6aW5kZXg6OkluZGV4RmlsZTsKPj4+ PiAtdXNlIHBic19kYXRhc3RvcmU6OntEYXRhU3RvcmUsIFBST1hNT1hfQkFDS1VQX1JFQURFUl9Q Uk9UT0NPTF9JRF9WMX07Cj4+Pj4gK3VzZSBwYnNfZGF0YXN0b3JlOjp7RGF0YVN0b3JlLCBEYXRh c3RvcmVCYWNrZW5kLCBQUk9YTU9YX0JBQ0tVUF9SRUFERVJfUFJPVE9DT0xfSURfVjF9Owo+Pj4+ ICDCoCB1c2UgcGJzX3Rvb2xzOjpqc29uOjpyZXF1aXJlZF9zdHJpbmdfcGFyYW07Cj4+Pj4gK3Vz ZSBwcm94bW94X3MzX2NsaWVudDo6UzNDbGllbnQ7Cj4+Pj4gIMKgIMKgIHVzZSBjcmF0ZTo6YXBp Mjo6YmFja3VwOjpvcHRpb25hbF9uc19wYXJhbTsKPj4+PiAgwqAgdXNlIGNyYXRlOjphcGkyOjpo ZWxwZXJzOwo+Pj4+IEBAIC0xNjIsNyArMTY0LDcgQEAgZm4gdXBncmFkZV90b19iYWNrdXBfcmVh ZGVyX3Byb3RvY29sKAo+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgd29ya2VyLmNsb25lKCksCj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBkYXRhc3RvcmUsCj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBiYWNrdXBfZGlyLAo+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgKTsKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICk/Owo+Pj4+ ICDCoCDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVudi5kZWJ1ZyA9IGRlYnVn Owo+Pj4+ICDCoCBAQCAtMzIzLDE3ICszMjUsMTAgQEAgZm4gZG93bmxvYWRfY2h1bmsoCj4+Pj4g IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICkpOwo+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAg fQo+Pj4+ICDCoCAtwqDCoMKgwqDCoMKgwqAgbGV0IChwYXRoLCBfKSA9IGVudi5kYXRhc3RvcmUu Y2h1bmtfcGF0aCgmZGlnZXN0KTsKPj4+PiAtwqDCoMKgwqDCoMKgwqAgbGV0IHBhdGgyID0gcGF0 aC5jbG9uZSgpOwo+Pj4+IC0KPj4+PiAtwqDCoMKgwqDCoMKgwqAgZW52LmRlYnVnKGZvcm1hdCEo ImRvd25sb2FkIGNodW5rIHs6P30iLCBwYXRoKSk7Cj4+Pj4gLQo+Pj4+IC3CoMKgwqDCoMKgwqDC oCBsZXQgZGF0YSA9Cj4+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHJveG1veF9hc3luYzo6 cnVudGltZTo6YmxvY2tfaW5fcGxhY2UofHwgc3RkOjpmczo6cmVhZChwYXRoKSkubWFwX2Vyciht b3ZlIHxlcnJ8IHsKPj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGh0dHBfZXJy IShCQURfUkVRVUVTVCwgInJlYWRpbmcgZmlsZSB7Oj99IGZhaWxlZDoge30iLCBwYXRoMiwgZXJy KQo+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0pPzsKPj4+PiAtCj4+Pj4gLcKgwqDCoMKg wqDCoMKgIGxldCBib2R5ID0gQm9keTo6ZnJvbShkYXRhKTsKPj4+PiArwqDCoMKgwqDCoMKgwqAg bGV0IGJvZHkgPSBtYXRjaCAmZW52LmJhY2tlbmQgewo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIERhdGFzdG9yZUJhY2tlbmQ6OkZpbGVzeXN0ZW0gPT4gbG9hZF9mcm9tX2ZpbGVzeXN0ZW0o ZW52LCAmZGlnZXN0KT8sCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRGF0YXN0b3JlQmFj a2VuZDo6UzMoczNfY2xpZW50KSA9PiBmZXRjaF9mcm9tX29iamVjdF9zdG9yZShzM19jbGllbnQs ICZkaWdlc3QpLmF3YWl0PywKPj4+PiArwqDCoMKgwqDCoMKgwqAgfTsKPj4+PiAgwqAgwqDCoMKg wqDCoMKgwqDCoMKgIC8vIGZpeG1lOiBzZXQgb3RoZXIgaGVhZGVycyA/Cj4+Pj4gIMKgwqDCoMKg wqDCoMKgwqDCoCBPayhSZXNwb25zZTo6YnVpbGRlcigpCj4+Pj4gQEAgLTM0NSw2ICszNDAsMjYg QEAgZm4gZG93bmxvYWRfY2h1bmsoCj4+Pj4gIMKgwqDCoMKgwqAgLmJveGVkKCkKPj4+PiAgwqAg fQo+Pj4+ICDCoCArYXN5bmMgZm4gZmV0Y2hfZnJvbV9vYmplY3Rfc3RvcmUoczNfY2xpZW50OiAm UzNDbGllbnQsIGRpZ2VzdDogJlt1ODsgMzJdKSAtPiBSZXN1bHQ8Qm9keSwgRXJyb3I+IHsKPj4+ PiArwqDCoMKgIGxldCBvYmplY3Rfa2V5ID0gcGJzX2RhdGFzdG9yZTo6czM6Om9iamVjdF9rZXlf ZnJvbV9kaWdlc3QoZGlnZXN0KT87Cj4+Pj4gK8KgwqDCoCBpZiBsZXQgU29tZShyZXNwb25zZSkg PSBzM19jbGllbnQuZ2V0X29iamVjdChvYmplY3Rfa2V5KS5hd2FpdD8gewo+Pj4KPj4+IF4gRG8g d2UgbWF5YmUgd2FudCBzb21lIGtpbmQgb2YgcmV0cnktbG9naWMgZm9yIHJldHJpZXZpbmcgb2Jq ZWN0cyBhcyB3ZWxsPyBEaXNyZWdhcmQKPj4+IGluIGNhc2UgeW91IGltcGxlbWVudCBpdCBpbiBh IGxhdGVyIHBhdGNoLCBJJ20gcmV2aWV3aW5nIHRoaXMgc2VyaWVzIHBhdGNoIGJ5IHBhdGNoLgo+ Pgo+PiBXaGlsZSBhIHJldHJ5IG1pZ2h0IGJlIG9mIGludGVyZXN0IGluIGNhc2Ugb2YgaW50ZXIt bWl0dGVuIGlzc3VlcywgZm9yIHRoZSB0aW1lIGJlaW5nIEkgd291bGQgbGlrZSB0byByZWZyYWlu IGZyb20gZG9pbmcgc28gZm9yIHRoZSByZWFzb25zIHN0YXRlZCBpbiBteSByZXBseSB0byBwcm94 bW94LWJhY2t1cCBwYXRjaCAwMDA0LiBJZiB0aGUgbmVlZCBmb3IgdGhpcyB0cnVseSBhcmlzZXMs IGFkZGluZyB0aGlzIGxhdGVyIG9uIHNob3VsZCBiZSByYXRoZXIgc2ltcGxlLiBJZiB5b3UgYWxy ZWFkeSBzZWUgdGhpcyBhcyBhbiBpc3N1ZSBub3csIEkgY2FuIG9mIGNvdXJzZSBhZGQgdGhlIHJl dHJ5IGxvZ2ljIHJpZ2h0IGF3YXkuCj4gCj4gTm8sIEknbSBmaW5lIHdpdGggcmV2aXNpdGluZyB0 aGlzIGxhdGVyLCBlLmcuIGFmdGVyIGEgcG90ZW50aWFsIHJvbGxvdXQgd2hlcmUgd2UgaGF2ZSBz b21lIGluaXRpYWwgdXNlciBmZWVkYmFjay4gSXQncyBzdGlsbAo+IGV4cGVyaW1lbnRhbCBhZnRl ciBhbGwgOikKClllcywgY291bGQgd2VsbCBiZSB0aGF0IHRoaXMgaXMgbmVlZGVkIGFuZCBtYWtl cyBzZW5zZSwgYWZ0ZXIgYWxsIEkgCmFkZGVkIHRoZSBwdXQgcmV0cnkgbG9naWMgYW5kIHJhdGUg bGltaXRpbmcgb3B0aW9uIG9ubHkgYWZ0ZXIgc2VlaW5nIAp0aGF0IHRoaXMgaXMgaW5kZWVkIGFu IGlzc3VlIHdoZW4gSSBlbmNvdW50ZXJlZCBlcnJvcnMgd2hlbiB1cGxvYWRpbmcgdG8gCmZhc3Qg dG8gQ2xvdWRmbGFyZSBSMiBvYmplY3Qgc3RvcmVzLCB3aGljaCBzZWVtcyB3YXMgcmF0aGVyIGVh c2lseSAKb3ZlcndoZWxtLgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpwYnMtZGV2ZWwgbWFpbGluZyBsaXN0CnBicy1kZXZlbEBsaXN0cy5wcm94bW94 LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9w YnMtZGV2ZWwK