From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pbs-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 E0E371FF164
	for <inbox@lore.proxmox.com>; Fri, 28 Feb 2025 13:14:33 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 9D874CB8E;
	Fri, 28 Feb 2025 13:14:31 +0100 (CET)
Message-ID: <c0660dc4-fe61-4d3f-8ac4-d23776ec06bf@proxmox.com>
Date: Fri, 28 Feb 2025 13:13:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Hannes Laimer <h.laimer@proxmox.com>,
 Proxmox Backup Server development discussion <pbs-devel@lists.proxmox.com>
References: <20250116064543.74619-1-h.laimer@proxmox.com>
 <20250116064543.74619-4-h.laimer@proxmox.com>
 <1235fc69-3d69-4a16-a273-a9270a6a3afb@proxmox.com>
 <2eba7340-531c-40a9-a470-386aa6b2aad3@proxmox.com>
Content-Language: en-US, de-DE
From: Christian Ebner <c.ebner@proxmox.com>
In-Reply-To: <2eba7340-531c-40a9-a470-386aa6b2aad3@proxmox.com>
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.029 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. [job.store, datastore.rs, datastore.name, sync.rs]
Subject: Re: [pbs-devel] [PATCH proxmox-backup 3/7] api: admin: run
 configured sync jobs when a datastore is mounted
X-BeenThere: pbs-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox Backup Server development discussion
 <pbs-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pbs-devel>, 
 <mailto:pbs-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pbs-devel/>
List-Post: <mailto:pbs-devel@lists.proxmox.com>
List-Help: <mailto:pbs-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel>, 
 <mailto:pbs-devel-request@lists.proxmox.com?subject=subscribe>
Reply-To: Proxmox Backup Server development discussion
 <pbs-devel@lists.proxmox.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: pbs-devel-bounces@lists.proxmox.com
Sender: "pbs-devel" <pbs-devel-bounces@lists.proxmox.com>

T24gMi8yOC8yNSAwOToxOCwgSGFubmVzIExhaW1lciB3cm90ZToKPiAKPiAKPiBPbiAyLzQvMjUg
MTU6MzMsIENocmlzdGlhbiBFYm5lciB3cm90ZToKPj4gVGhpcyBwYXRjaCBuZWVkcyB0byBiZSBy
ZWJhc2VkIG9uIGN1cnJlbnQgbWFzdGVyLgo+Pgo+PiBIaWdoIGxldmVsIGNvbW1lbnQ6Cj4+IE1p
eGluZyB0aGUgbW91bnQgYXBpIGhhbmRsZXIgd2l0aCB0aGUgZXhlY3V0aW9uIGxvZ2ljIGZvciB0
aGUgc3luYyAKPj4gam9icyBpcyBub3QgdGhlIGJlc3QgYXBwcm9hY2ggaGVyZSBJIHRoaW5rLiBU
aGlzIG1peGVzIHVucmVsYXRlZCBjb2RlIAo+PiBhbmQgbWFrZXMgaXQgaGFyZGVyIHRvIGZ1cnRo
ZXIgZXh0ZW5kwqAgdGhpcyB0byBlLmcuIGFsc28gcnVuIHZlcmlmeSwgCj4+IHBydW5lIG9yIGdh
cmJhZ2UgY29sbGVjdGlvbiBpbiB0aGUgZnV0dXJlLgo+Pgo+IAo+IFRoZSBlbmRwb2ludCBzdGFy
dHMgdGhlIHRhc2sgdGhhdCBkb2VzIHRoZSBtb3VudGluZywgYW5kIGl0IHN0YXJ0cyB0aGUKPiB0
YXNrcyB0aGF0IG1hbmFnZXMgcG9zc2libGUgc3luYyBqb2JzLiBJIGRvbid0IHRoaW5rIHRoaXMg
cmVhbGx5IGRvZXMKPiBhbnl0aGluZyB0byB0aGUgbG9naWMgb2YgdGhlIHN5bmMgam9iIGl0c2Vs
Zi4gU3VyZSwgdGhpcwo+ICJydW4gdGhlc2Ugam9icyBpbiBzZXF1ZW5jZSIgd291bGQgbWFrZSBz
ZW5zZSwgYnV0IGN1cnJlbnRseSB3ZSBjYW4ndCBkbwo+IHRoYXQsIHdlIGRvbid0IGhhdmUgYW4g
aW50ZXJmYWNlIGZvciBqb2JzLiBOb3QgZXZlbiBqb2ItaWRzIGFyZSB1bmlxdWUKPiBhY3Jvc3Mg
ZGlmZmVyZW50IGpvYiB0eXBlcy4gSSBhbSBub3Qgc3VyZSB3ZWF0aGVyIHRoZXJlIHdvdWxkIGJl
IGEgbG90Cj4gb2YgdmFsdWUgaW4gdHJ5aW5nIHRvIGhhdmUgYSBtb3JlIGFic3RyYWN0IGpvYiB0
aGluZ3MuIFRoZSBvbmx5IHRoaW5nCj4gSSBjb3VsZCB0aGluayBvZiBpcyBqb2JzIHRyaWdnZXJp
bmcgZWFjaCBvdGhlci4gQnV0IEkgZmVlbCBsaWtlIHRoYXQKPiBtaWdodCBiZSBvdXQgb2Ygc2Nv
cGUgZm9yIHRoaXMgaGVyZS4KClJpZ2h0LCB0aGVyZWZvcmUgaGF2aW5nIHRoZSBqb2Igc2NoZWR1
bGVyIHF1ZXVpbmcgYW5kIGV4ZWN1dGluZyB0aGUgam9icyAKc2VlbWVkIGJldHRlciB0byBtZS4g
QnV0IHlvdSBhcmUgcmlnaHQsIHRoZXJlIGlzIGN1cnJlbnRseSBubyAKaW1wbGVtZW50YXRpb24g
dGhhdCB3b3VsZCBhY2hpZXZlIHRoaXMuCgo+IAo+PiBKdXN0IGFuIGlkZWE6IE1heWJlIGl0IHdv
dWxkIGJlIHBvc3NpYmxlIHRvIGxldCB0aGUgbW91bnQgd29ya2VyIHRhc2sgCj4+IHNpZ25hbCB0
aGUgbW91bnQgZXZlbnQgdmlhIGUuZy4gYSBzdGQ6OnN5bmM6Om1wc2M6OmNoYW5uZWwoKSBvciB0
aGUgCj4+IGNvbW1hbmQgc29ja2V0IChhbHJlYWR5IHVzZWQgdG8gcmVxdWVzdCBkYXRhc3RvcmUg
Y2FjaGUgdXBkYXRlcyBvbiAKPj4gdW5tb3VudCkgdG8gc2NoZWR1bGUgYSBtYW5hZ2luZyB0YXNr
IGluIHRoZSBwcm94bW94LWJhY2t1cC1wcm94eT8KPj4KPiAKPiBUaGlzIGlzIGEgcHJpdmlsZWdl
ZCBlbmRwb2ludCwgaXQgcnVucyBvbiB0aGUgYXBpIHByb2Nlc3MsIHNvIHdlCj4gY2FuJ3QgcmVh
bGx5IHVzZSBjaGFubmVscyBoZXJlLiBBbmQgaXQgZG9uJ3QgdGhpbmsgdGhlIGNvbW1hbmQgc29j
a2V0Cj4gaXMgdGhlIHJpZ2h0IHRvb2wgZm9yIHRoaXMsIG9uZSByZWFzb24gYmVpbmcgaXQgaXMg
bW9yZSBvZiBhIGhpdCBvciBtaXNzCj4gKHRlY2huaWNhbGx5KSB3aGljaCBpcyBub3QgcmVhbGx5
IHdoYXQgd2Ugd2FudCBoZXJlLiBBbHNvIGhhdmluZyB0aGUgYXBpCj4gcHJvY2VzcyBoYW5kbGUg
dGhpcyBpcyBJTUhPIG5vdCB3aGF0IHdlIHdhbnQuCgpSaWdodCwgZmFpciBwb2ludCwgd2FzIGp1
c3QgdGhyb3dpbmcgaWRlYXMgYXQgeW91IDspLgoKSW4gbGFjayBvZiBiZXR0ZXIgYXBwcm9hY2hl
cyBvbmUgbWlnaHQgc3RpY2sgd2l0aCB0aGUgY3VycmVudCAKaW1wbGVtZW50YXRpb24gZm9yIGV4
ZWN1dGluZyB0aGUgam9icy4gQnV0IEkgdGhpbmsgdGhpcyBpcyByYXRoZXIgCnVuZmxleGlibGUg
YW5kIHdpbGwgYmUgaGFyZGVyIHRvIGV4dGVuZCBpZiBuZWVkZWQsIGdldHRpbmcgbWVzc3kgd2l0
aCBhIApqb2IgZXhlY3V0aW5nIGpvYnMsIHdoaWNoIHRoZW1zZWxmIG1pZ2h0IGV4ZWN1dGUgeWV0
IGFub3RoZXIgam9iPwoKT3BpbmlvbnMgb3Igc3VnZ2VzdGlvbnMgb2Ygb3RoZXIgZGV2cyBvbiB0
aGlzPwoKPiAKPj4gZnVydGhlciBjb21tZW50cyBpbmxpbmUuCj4+Cj4+IE9uIDEvMTYvMjUgMDc6
NDUsIEhhbm5lcyBMYWltZXIgd3JvdGU6Cj4+PiBXaGVuIGEgZGF0YXN0b3JlIGlzIG1vdW50ZWQs
IHNwYXduIGEgbmV3IHRhc2sgdG8gcnVuIGFsbCBzeW5jIGpvYnMKPj4+IG1hcmtlZCB3aXRoIGBy
dW4tb24tbW91bnRgLiBUaGVzZSBqb2JzIHJ1biBzZXF1ZW50aWFsbHkgYW5kIGluY2x1ZGUKPj4+
IGFueSBqb2IgZm9yIHdoaWNoIHRoZSBtb3VudGVkIGRhdGFzdG9yZSBpczoKPj4+Cj4+PiAtIFRo
ZSBzb3VyY2Ugb3IgdGFyZ2V0IGluIGEgbG9jYWwgcHVzaC9wdWxsIGpvYgo+Pj4gLSBUaGUgc291
cmNlIGluIGEgcHVzaCBqb2IgdG8gYSByZW1vdGUgZGF0YXN0b3JlCj4+PiAtIFRoZSB0YXJnZXQg
aW4gYSBwdWxsIGpvYiBmcm9tIGEgcmVtb3RlIGRhdGFzdG9yZQo+Pj4KPj4+IFNpZ25lZC1vZmYt
Ynk6IEhhbm5lcyBMYWltZXIgPGgubGFpbWVyQHByb3htb3guY29tPgo+Pj4gLS0tCj4+PiDCoCBz
cmMvYXBpMi9hZG1pbi9kYXRhc3RvcmUucnMgfCA5MCArKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrLS0tCj4+PiDCoCBzcmMvYXBpMi9hZG1pbi9zeW5jLnJzwqDCoMKgwqDCoCB8wqAg
MiArLQo+Pj4gwqAgc3JjL3NlcnZlci9zeW5jLnJzwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA3ICst
LQo+Pj4gwqAgMyBmaWxlcyBjaGFuZ2VkLCA5MCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygt
KQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9zcmMvYXBpMi9hZG1pbi9kYXRhc3RvcmUucnMgYi9zcmMv
YXBpMi9hZG1pbi9kYXRhc3RvcmUucnMKPj4+IGluZGV4IGY1ZDgwZDYxMC4uMjFiNTgzOTFkIDEw
MDY0NAo+Pj4gLS0tIGEvc3JjL2FwaTIvYWRtaW4vZGF0YXN0b3JlLnJzCj4+PiArKysgYi9zcmMv
YXBpMi9hZG1pbi9kYXRhc3RvcmUucnMKPj4+IEBAIC00MSw4ICs0MSw4IEBAIHVzZSBwYnNfYXBp
X3R5cGVzOjp7Cj4+PiDCoMKgwqDCoMKgIERhdGFTdG9yZUNvbmZpZywgRGF0YVN0b3JlTGlzdEl0
ZW0sIERhdGFTdG9yZU1vdW50U3RhdHVzLCAKPj4+IERhdGFTdG9yZVN0YXR1cywKPj4+IMKgwqDC
oMKgwqAgR2FyYmFnZUNvbGxlY3Rpb25Kb2JTdGF0dXMsIEdyb3VwTGlzdEl0ZW0sIEpvYlNjaGVk
dWxlU3RhdHVzLCAKPj4+IEtlZXBPcHRpb25zLCBNYWludGVuYW5jZU1vZGUsCj4+PiDCoMKgwqDC
oMKgIE1haW50ZW5hbmNlVHlwZSwgT3BlcmF0aW9uLCBQcnVuZUpvYk9wdGlvbnMsIFNuYXBzaG90
TGlzdEl0ZW0sIAo+Pj4gU25hcHNob3RWZXJpZnlTdGF0ZSwKPj4+IC3CoMKgwqAgQkFDS1VQX0FS
Q0hJVkVfTkFNRV9TQ0hFTUEsIEJBQ0tVUF9JRF9TQ0hFTUEsIAo+Pj4gQkFDS1VQX05BTUVTUEFD
RV9TQ0hFTUEsIEJBQ0tVUF9USU1FX1NDSEVNQSwKPj4+IC3CoMKgwqAgQkFDS1VQX1RZUEVfU0NI
RU1BLCBDQVRBTE9HX05BTUUsIENMSUVOVF9MT0dfQkxPQl9OQU1FLCAKPj4+IERBVEFTVE9SRV9T
Q0hFTUEsCj4+PiArwqDCoMKgIFN5bmNKb2JDb25maWcsIEJBQ0tVUF9BUkNISVZFX05BTUVfU0NI
RU1BLCBCQUNLVVBfSURfU0NIRU1BLCAKPj4+IEJBQ0tVUF9OQU1FU1BBQ0VfU0NIRU1BLAo+Pj4g
K8KgwqDCoCBCQUNLVVBfVElNRV9TQ0hFTUEsIEJBQ0tVUF9UWVBFX1NDSEVNQSwgQ0FUQUxPR19O
QU1FLCAKPj4+IENMSUVOVF9MT0dfQkxPQl9OQU1FLCBEQVRBU1RPUkVfU0NIRU1BLAo+Pj4gwqDC
oMKgwqDCoCBJR05PUkVfVkVSSUZJRURfQkFDS1VQU19TQ0hFTUEsIE1BTklGRVNUX0JMT0JfTkFN
RSwgCj4+PiBNQVhfTkFNRVNQQUNFX0RFUFRILCBOU19NQVhfREVQVEhfU0NIRU1BLAo+Pj4gwqDC
oMKgwqDCoCBQUklWX0RBVEFTVE9SRV9BVURJVCwgUFJJVl9EQVRBU1RPUkVfQkFDS1VQLCAKPj4+
IFBSSVZfREFUQVNUT1JFX01PRElGWSwgUFJJVl9EQVRBU1RPUkVfUFJVTkUsCj4+PiDCoMKgwqDC
oMKgIFBSSVZfREFUQVNUT1JFX1JFQUQsIFBSSVZfREFUQVNUT1JFX1ZFUklGWSwgUFJJVl9TWVNf
TU9ESUZZLCAKPj4+IFVQSUQsIFVQSURfU0NIRU1BLAo+Pj4gQEAgLTI1MDAsNiArMjUwMCw1MSBA
QCBwdWIgZm4gZG9fbW91bnRfZGV2aWNlKGRhdGFzdG9yZTogCj4+PiBEYXRhU3RvcmVDb25maWcp
IC0+IFJlc3VsdDwoKSwgRXJyb3I+IHsKPj4+IMKgwqDCoMKgwqAgT2soKCkpCj4+PiDCoCB9Cj4+
PiArYXN5bmMgZm4gZG9fc3luY19qb2JzKAo+Pgo+PiBuaXQ6IHRoaXMgaGVscGVyIGZ1bmN0aW9u
IG1ha2VzIG1vcmUgc2Vuc2UgdG8gYmUgcGxhY2VkIGludG8gYHNyYy8gCj4+IGFwaTIvIGFkbWlu
L3N5bmMucnNgIEkgd291bGQgc2F5LCBhcyBpdCBwdXJlbHkgaGFuZGxlcyBleGVjdXRpb24gb2Yg
Cj4+IHN5bmMgam9icy4KPj4KPj4+ICvCoMKgwqAgam9ic190b19ydW46IFZlYzxTeW5jSm9iQ29u
ZmlnPiwKPj4+ICvCoMKgwqAgd29ya2VyOiBBcmM8V29ya2VyVGFzaz4sCj4+PiArKSAtPiBSZXN1
bHQ8KCksIEVycm9yPiB7Cj4+PiArwqDCoMKgIGxldCBjb3VudCA9IGpvYnNfdG9fcnVuLmxlbigp
Owo+Pj4gK8KgwqDCoCBpbmZvISgKPj4+ICvCoMKgwqDCoMKgwqDCoCAid2lsbCBydW4ge30gc3lu
YyBqb2JzOiB7fSIsCj4+PiArwqDCoMKgwqDCoMKgwqAgY291bnQsCj4+Cj4+IG5pdDogdGhpcyB2
YXJpYWJsZSBjYW4gYmUgaW4tbGluZWQgaW50byB0aGUgZm9ybWF0IHN0cmluZy4KPj4KPj4+ICvC
oMKgwqDCoMKgwqDCoCBqb2JzX3RvX3J1bgo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLml0
ZXIoKQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLm1hcCh8anwgai5pZC5jbG9uZSgpKQo+
Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLmNvbGxlY3Q6OjxWZWM8U3RyaW5nPj4oKQo+Pj4g
K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLmpvaW4oIiwgIikKPj4KPj4gbml0OiBub3Qgc3VyZSBp
ZiBpdCBpcyByZXF1aXJlZCB0byBsaXN0IGFsbCBzeW5jIGpvYnMgYS1wcmlvcmksIAo+PiBlc3Bl
Y2lhbGx5IHNpbmNlIHRoYXQgbGluZSBtaWdodCBnZXQgcmF0aGVyIGxvbmcgaWYgbWFueSBzeW5j
IGpvYnMgYXJlIAo+PiB0byBiZSBleGVjdXRlZD8gQWxzbywgdGhhdCB3b3VsZCBhdm9pZCB0aGUg
ZG91YmxlIGl0ZXJhdGlvbiBhbmQgaWQgCj4+IGNsb25pbmcuCj4+Cj4+PiArwqDCoMKgICk7Cj4+
PiArCj4+PiArwqDCoMKgIGZvciAoaSwgam9iX2NvbmZpZykgaW4gam9ic190b19ydW4uaW50b19p
dGVyKCkuZW51bWVyYXRlKCkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgIGlmIHdvcmtlci5hYm9ydF9y
ZXF1ZXN0ZWQoKSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBiYWlsISgiYWJvcnRlZCBk
dWUgdG8gdXNlciByZXF1ZXN0Iik7Cj4+PiArwqDCoMKgwqDCoMKgwqAgfQo+Pj4gK8KgwqDCoMKg
wqDCoMKgIGxldCBqb2JfaWQgPSBqb2JfY29uZmlnLmlkLmNsb25lKCk7Cj4+PiArwqDCoMKgwqDC
oMKgwqAgbGV0IE9rKGpvYikgPSBKb2I6Om5ldygic3luY2pvYiIsICZqb2JfaWQpIGVsc2Ugewo+
Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29udGludWU7Cj4+PiArwqDCoMKgwqDCoMKgwqAg
fTsKPj4+ICvCoMKgwqDCoMKgwqDCoCBsZXQgYXV0aF9pZCA9IEF1dGhpZDo6cm9vdF9hdXRoX2lk
KCkuY2xvbmUoKTsKPj4+ICvCoMKgwqDCoMKgwqDCoCBpbmZvISgiW3t9L3tjb3VudH1dIHN0YXJ0
aW5nICd7am9iX2lkfScuLi4iLCBpICsgMSk7Cj4+PiArwqDCoMKgwqDCoMKgwqAgbWF0Y2ggY3Jh
dGU6OnNlcnZlcjo6ZG9fc3luY19qb2IoCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBqb2Is
Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBqb2JfY29uZmlnLAo+Pj4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgJmF1dGhfaWQsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBTb21lKCJt
b3VudCIudG9fc3RyaW5nKCkpLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZmFsc2UsCj4+
PiArwqDCoMKgwqDCoMKgwqAgKSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBPaygoX3Vw
aWQsIGhhbmRsZSkpID0+IHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdG9r
aW86OnNlbGVjdCEgewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IHN5bmNfZG9uZSA9IGhhbmRsZS5mdXNlKCkgPT4gaWYgbGV0IEVycihlcnIpID0gCj4+PiBzeW5j
X2RvbmUgeyB3YXJuISgiY291bGQgbm90IHdhaXQgZm9yIGpvYiB0byBmaW5pc2g6IHtlcnJ9Iik7
IH0sCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX2Fib3J0ID0g
d29ya2VyLmFib3J0X2Z1dHVyZSgpID0+IGJhaWwhKCJhYm9ydGVkIAo+Pj4gZHVlIHRvIHVzZXIg
cmVxdWVzdCIpLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+Pj4gK8Kg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRXJyKGVy
cikgPT4gd2FybiEoInVuYWJsZSB0byBzdGFydCBzeW5jIGpvYiB7am9iX2lkfSAtIAo+Pj4ge2Vy
cn0iKSwKPj4+ICvCoMKgwqDCoMKgwqDCoCB9Cj4+PiArwqDCoMKgIH0KPj4+ICsKPj4+ICvCoMKg
wqAgT2soKCkpCj4+PiArfQo+Pj4gKwo+Pj4gwqAgI1thcGkoCj4+PiDCoMKgwqDCoMKgIHByb3Rl
Y3RlZDogdHJ1ZSwKPj4+IMKgwqDCoMKgwqAgaW5wdXQ6IHsKPj4+IEBAIC0yNTMxLDEyICsyNTc2
LDQ3IEBAIHB1YiBmbiBtb3VudChzdG9yZTogU3RyaW5nLCBycGNlbnY6ICZtdXQgZHluIAo+Pj4g
UnBjRW52aXJvbm1lbnQpIC0+IFJlc3VsdDxWYWx1ZSwgRXIKPj4+IMKgwqDCoMKgwqAgbGV0IGF1
dGhfaWQ6IEF1dGhpZCA9IHJwY2Vudi5nZXRfYXV0aF9pZCgpLnVud3JhcCgpLnBhcnNlKCk/Owo+
Pj4gwqDCoMKgwqDCoCBsZXQgdG9fc3Rkb3V0ID0gcnBjZW52LmVudl90eXBlKCkgPT0gUnBjRW52
aXJvbm1lbnRUeXBlOjpDTEk7Cj4+PiAtwqDCoMKgIGxldCB1cGlkID0gV29ya2VyVGFzazo6bmV3
X3RocmVhZCgKPj4+ICvCoMKgwqAgbGV0IHVwaWQgPSBXb3JrZXJUYXNrOjpzcGF3bigKPj4+IMKg
wqDCoMKgwqDCoMKgwqDCoCAibW91bnQtZGV2aWNlIiwKPj4+IC3CoMKgwqDCoMKgwqDCoCBTb21l
KHN0b3JlKSwKPj4+ICvCoMKgwqDCoMKgwqDCoCBTb21lKHN0b3JlLmNsb25lKCkpLAo+Pj4gwqDC
oMKgwqDCoMKgwqDCoMKgIGF1dGhfaWQudG9fc3RyaW5nKCksCj4+PiDCoMKgwqDCoMKgwqDCoMKg
wqAgdG9fc3Rkb3V0LAo+Pj4gLcKgwqDCoMKgwqDCoMKgIG1vdmUgfF93b3JrZXJ8IGRvX21vdW50
X2RldmljZShkYXRhc3RvcmUpLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIG1vdmUgfF93b3JrZXJ8IGFz
eW5jIG1vdmUgewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZG9fbW91bnRfZGV2aWNlKGRh
dGFzdG9yZS5jbG9uZSgpKT87Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsZXQgT2soKHN5
bmNfY29uZmlnLCBfZGlnZXN0KSkgPSAKPj4+IHBic19jb25maWc6OnN5bmM6OmNvbmZpZygpIGVs
c2Ugewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3YXJuISgidW5hYmxlIHRv
IHJlYWQgc3luYyBqb2IgY29uZmlnLCB3b24ndCBydW4gYW55IAo+Pj4gc3luYyBqb2JzIik7Cj4+
PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBPaygoKSk7Cj4+PiArwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbGV0IE9r
KGxpc3QpID0gCj4+PiBzeW5jX2NvbmZpZy5jb252ZXJ0X3RvX3R5cGVkX2FycmF5KCJzeW5jIikg
ZWxzZSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHdhcm4hKCJ1bmFibGUg
dG8gcGFyc2Ugc3luYyBqb2IgY29uZmlnLCB3b24ndCBydW4gCj4+PiBhbnkgc3luYyBqb2JzIik7
Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBPaygoKSk7Cj4+PiAr
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbGV0
IGpvYnNfdG9fcnVuOiBWZWM8U3luY0pvYkNvbmZpZz4gPSBsaXN0Cj4+PiArwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIC5pbnRvX2l0ZXIoKQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCAuZmlsdGVyKHxqb2I6ICZTeW5jSm9iQ29uZmlnfCB7Cj4+PiArwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLy8gYWRkIGpvYiBpZmYgYW55IG9mIHRoZXNl
IGFwcGx5Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLy/CoMKg
IC0gdGhlIGpvYnMgaXMgbG9jYWwgYW5kIHdlIGFyZSBzb3VyY2Ugb3IgCj4+PiB0YXJnZXQKPj4+
ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvL8KgwqAgLSB3ZSBhcmUg
dGhlIHNvdXJjZSBvZiBhIHB1c2ggdG8gYSByZW1vdGUKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCAvL8KgwqAgLSB3ZSBhcmUgdGhlIHRhcmdldCBvZiBhIHB1bGwg
ZnJvbSBhIHJlbW90ZQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IC8vCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLy8gYGpvYi5z
dG9yZSA9PSBkYXRhc3RvcmUubmFtZWAgaWZmIHdlIGFyZSB0aGUgCj4+PiB0YXJnZXQgZm9yIHB1
bGwgZnJvbSByZW1vdGUgb3Igd2UKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCAvLyBhcmUgdGhlIHNvdXJjZSBmb3IgcHVzaCB0byByZW1vdGUsIHRoZXJlZm9yZSAK
Pj4+IHdlIGRvbid0IGhhdmUgdG8gY2hlY2sgZm9yIHRoZQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8vIGRpcmVjdGlvbiBvZiB0aGUgam9iLgo+Pgo+PiBUaGlz
IG1pc3NlcyBhIGNoZWNrIGZvciB0aGUgYHJ1bl9vbl9tb3VudGAgZmxhZyBoZXJlIEkgdGhpbmss
IGFzIGl0IGlzIAo+PiBuZXZlciByZWFkIGluIHRoZSByZXN0IG9mIHRoZSBwYXRjaCBzZXJpZXM/
Cj4+Cj4gCj4gSSB0aGluayB5b3UgYXJlIHJpZ2h0LCBJIGFjdHVhbGx5IG1pc3NlZCBjaGVja2lu
ZyB0aGF0Li4uCj4gCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
am9iLnJlbW90ZS5pc19ub25lKCkgJiYgam9iLnJlbW90ZV9zdG9yZSA9PSAKPj4+IGRhdGFzdG9y
ZS5uYW1lCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCB8fCBqb2Iuc3RvcmUgPT0gZGF0YXN0b3JlLm5hbWUKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgfSkKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLmNvbGxl
Y3QoKTsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmICFqb2JzX3RvX3J1bi5pc19lbXB0
eSgpIHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbGV0IF8gPSBXb3JrZXJU
YXNrOjpzcGF3bigKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAi
bW91bnQtc3luYy1qb2JzIiwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBTb21lKHN0b3JlKSwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBhdXRoX2lkLnRvX3N0cmluZygpLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIGZhbHNlLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIG1vdmUgfHdvcmtlcnwgYXN5bmMgbW92ZSAKPj4+IHsgZG9fc3luY19qb2JzKGpvYnNf
dG9fcnVuLCB3b3JrZXIpLmF3YWl0IH0sCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgICk7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Cj4+PiArwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBPaygoKSkKPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gwqDCoMKgwqDCoCApPzsK
Pj4+IMKgwqDCoMKgwqAgT2soanNvbiEodXBpZCkpCj4+PiBkaWZmIC0tZ2l0IGEvc3JjL2FwaTIv
YWRtaW4vc3luYy5ycyBiL3NyYy9hcGkyL2FkbWluL3N5bmMucnMKPj4+IGluZGV4IDY3MjJlYmVh
MC4uMDFkZWE1MTI2IDEwMDY0NAo+Pj4gLS0tIGEvc3JjL2FwaTIvYWRtaW4vc3luYy5ycwo+Pj4g
KysrIGIvc3JjL2FwaTIvYWRtaW4vc3luYy5ycwo+Pj4gQEAgLTE2MSw3ICsxNjEsNyBAQCBwdWIg
Zm4gcnVuX3N5bmNfam9iKAo+Pj4gwqDCoMKgwqDCoCBsZXQgdG9fc3Rkb3V0ID0gcnBjZW52LmVu
dl90eXBlKCkgPT0gUnBjRW52aXJvbm1lbnRUeXBlOjpDTEk7Cj4+PiAtwqDCoMKgIGxldCB1cGlk
X3N0ciA9IGRvX3N5bmNfam9iKGpvYiwgc3luY19qb2IsICZhdXRoX2lkLCBOb25lLCAKPj4+IHRv
X3N0ZG91dCk/Owo+Pj4gK8KgwqDCoCBsZXQgKHVwaWRfc3RyLCBfKSA9IGRvX3N5bmNfam9iKGpv
Yiwgc3luY19qb2IsICZhdXRoX2lkLCBOb25lLCAKPj4+IHRvX3N0ZG91dCk/Owo+Pj4gwqDCoMKg
wqDCoCBPayh1cGlkX3N0cikKPj4+IMKgIH0KPj4+IGRpZmYgLS1naXQgYS9zcmMvc2VydmVyL3N5
bmMucnMgYi9zcmMvc2VydmVyL3N5bmMucnMKPj4+IGluZGV4IDBiZDdhN2E4NS4uMmEyOTBhOGVl
IDEwMDY0NAo+Pj4gLS0tIGEvc3JjL3NlcnZlci9zeW5jLnJzCj4+PiArKysgYi9zcmMvc2VydmVy
L3N5bmMucnMKPj4+IEBAIC0xMSw2ICsxMSw3IEBAIHVzZSBhbnlob3c6OntiYWlsLCBmb3JtYXRf
ZXJyLCBDb250ZXh0LCBFcnJvcn07Cj4+PiDCoCB1c2UgZnV0dXJlczo6e2Z1dHVyZTo6RnV0dXJl
RXh0LCBzZWxlY3R9Owo+Pj4gwqAgdXNlIGh0dHA6OlN0YXR1c0NvZGU7Cj4+PiDCoCB1c2Ugc2Vy
ZGVfanNvbjo6anNvbjsKPj4+ICt1c2UgdG9raW86OnRhc2s6OkpvaW5IYW5kbGU7Cj4+PiDCoCB1
c2UgdHJhY2luZzo6e2luZm8sIHdhcm59Owo+Pj4gwqAgdXNlIHByb3htb3hfaHVtYW5fYnl0ZTo6
SHVtYW5CeXRlOwo+Pj4gQEAgLTU5OCw3ICs1OTksNyBAQCBwdWIgZm4gZG9fc3luY19qb2IoCj4+
PiDCoMKgwqDCoMKgIGF1dGhfaWQ6ICZBdXRoaWQsCj4+PiDCoMKgwqDCoMKgIHNjaGVkdWxlOiBP
cHRpb248U3RyaW5nPiwKPj4+IMKgwqDCoMKgwqAgdG9fc3Rkb3V0OiBib29sLAo+Pj4gLSkgLT4g
UmVzdWx0PFN0cmluZywgRXJyb3I+IHsKPj4+ICspIC0+IFJlc3VsdDwoU3RyaW5nLCBKb2luSGFu
ZGxlPCgpPiksIEVycm9yPiB7Cj4+PiDCoMKgwqDCoMKgIGxldCBqb2JfaWQgPSBmb3JtYXQhKAo+
Pj4gwqDCoMKgwqDCoMKgwqDCoMKgICJ7fTp7fTp7fTp7fTp7fSIsCj4+PiDCoMKgwqDCoMKgwqDC
oMKgwqAgc3luY19qb2IucmVtb3RlLmFzX2RlcmVmKCkudW53cmFwX29yKCItIiksCj4+PiBAQCAt
NjE0LDcgKzYxNSw3IEBAIHB1YiBmbiBkb19zeW5jX2pvYigKPj4+IMKgwqDCoMKgwqDCoMKgwqDC
oCBiYWlsISgiY2FuJ3Qgc3luYyB0byBzYW1lIGRhdGFzdG9yZSIpOwo+Pj4gwqDCoMKgwqDCoCB9
Cj4+PiAtwqDCoMKgIGxldCB1cGlkX3N0ciA9IFdvcmtlclRhc2s6OnNwYXduKAo+Pj4gK8KgwqDC
oCBsZXQgKHVwaWRfc3RyLCBoYW5kbGUpID0gV29ya2VyVGFzazo6c3Bhd25fd2l0aF9oYW5kbGUo
Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgJndvcmtlcl90eXBlLAo+Pj4gwqDCoMKgwqDCoMKgwqDC
oMKgIFNvbWUoam9iX2lkLmNsb25lKCkpLAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGF1dGhfaWQu
dG9fc3RyaW5nKCksCj4+PiBAQCAtNzI4LDUgKzcyOSw1IEBAIHB1YiBmbiBkb19zeW5jX2pvYigK
Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gwqDCoMKgwqDCoCApPzsKPj4+IC3CoMKgwqAg
T2sodXBpZF9zdHIpCj4+PiArwqDCoMKgIE9rKCh1cGlkX3N0ciwgaGFuZGxlKSkKPj4+IMKgIH0K
Pj4KPiAKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
cGJzLWRldmVsIG1haWxpbmcgbGlzdApwYnMtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6
Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcGJzLWRldmVsCg==