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 13AEA1FF15C for ; Wed, 30 Oct 2024 14:48:19 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 6C07E1A059; Wed, 30 Oct 2024 14:48:22 +0100 (CET) Message-ID: <17c389cd-d725-463b-aed6-a27c2b14e0c4@proxmox.com> Date: Wed, 30 Oct 2024 14:48:18 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Proxmox Backup Server development discussion , =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= References: <20241018084242.144010-1-c.ebner@proxmox.com> <20241018084242.144010-11-c.ebner@proxmox.com> <1729855597.mezzpyn5wy.astroid@yuna.none> Content-Language: en-US, de-DE From: Christian Ebner In-Reply-To: <1729855597.mezzpyn5wy.astroid@yuna.none> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.373 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 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: [pbs-devel] [PATCH v5 proxmox-backup 10/31] api: push: implement endpoint for sync in push direction 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" T24gMTAvMjUvMjQgMTM6NDUsIEZhYmlhbiBHcsO8bmJpY2hsZXIgd3JvdGU6Cj4gT24gT2N0b2Jl ciAxOCwgMjAyNCAxMDo0MiBhbSwgQ2hyaXN0aWFuIEVibmVyIHdyb3RlOgo+PiBFeHBvc2UgdGhl IHN5bmMgam9iIGluIHB1c2ggZGlyZWN0aW9uIHZpYSBhIGRlZGljYXRlZCBBUEkgZW5kcG9pbnQs Cj4+IGFuYWxvZ291cyB0byB0aGUgcHVsbCBkaXJlY3Rpb24uCj4+Cj4+IFNpZ25lZC1vZmYtYnk6 IENocmlzdGlhbiBFYm5lciA8Yy5lYm5lckBwcm94bW94LmNvbT4KPj4gLS0tCj4+IGNoYW5nZXMg c2luY2UgdmVyc2lvbiA0Ogo+PiAtIG5vIGNoYW5nZXMKPj4KPj4gY2hhbmdlcyBzaW5jZSB2ZXJz aW9uIDM6Cj4+IC0gaW5jbHVkZSBuYW1lc3BhY2UgaW4gcmVtb3RlIGFjbCBwYXRoCj4+IC0gQWxs b3cgdG8gcnVuIHdpdGggUFJJVl9SRU1PVEVfREFUQVNUT1JFX0JBQ0tVUAo+Pgo+PiAgIHNyYy9h cGkyL21vZC5ycyAgfCAgIDIgKwo+PiAgIHNyYy9hcGkyL3B1c2gucnMgfCAyMjIgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4gICAyIGZpbGVzIGNoYW5n ZWQsIDIyNCBpbnNlcnRpb25zKCspCj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9hcGkyL3B1 c2gucnMKPj4KPj4gZGlmZiAtLWdpdCBhL3NyYy9hcGkyL21vZC5ycyBiL3NyYy9hcGkyL21vZC5y cwo+PiBpbmRleCBhODNlNGMyMDUuLjAzNTk2MzI2YiAxMDA2NDQKPj4gLS0tIGEvc3JjL2FwaTIv bW9kLnJzCj4+ICsrKyBiL3NyYy9hcGkyL21vZC5ycwo+PiBAQCAtMTIsNiArMTIsNyBAQCBwdWIg bW9kIGhlbHBlcnM7Cj4+ICAgcHViIG1vZCBub2RlOwo+PiAgIHB1YiBtb2QgcGluZzsKPj4gICBw dWIgbW9kIHB1bGw7Cj4+ICtwdWIgbW9kIHB1c2g7Cj4+ICAgcHViIG1vZCByZWFkZXI7Cj4+ICAg cHViIG1vZCBzdGF0dXM7Cj4+ICAgcHViIG1vZCB0YXBlOwo+PiBAQCAtMjksNiArMzAsNyBAQCBj b25zdCBTVUJESVJTOiBTdWJkaXJNYXAgPSAmc29ydGVkIShbCj4+ICAgICAgICgibm9kZXMiLCAm bm9kZTo6Uk9VVEVSKSwKPj4gICAgICAgKCJwaW5nIiwgJnBpbmc6OlJPVVRFUiksCj4+ICAgICAg ICgicHVsbCIsICZwdWxsOjpST1VURVIpLAo+PiArICAgICgicHVzaCIsICZwdXNoOjpST1VURVIp LAo+PiAgICAgICAoInJlYWRlciIsICZyZWFkZXI6OlJPVVRFUiksCj4+ICAgICAgICgic3RhdHVz IiwgJnN0YXR1czo6Uk9VVEVSKSwKPj4gICAgICAgKCJ0YXBlIiwgJnRhcGU6OlJPVVRFUiksCj4+ IGRpZmYgLS1naXQgYS9zcmMvYXBpMi9wdXNoLnJzIGIvc3JjL2FwaTIvcHVzaC5ycwo+PiBuZXcg ZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAuLmVhZDJiZjJlMAo+PiAtLS0gL2Rl di9udWxsCj4+ICsrKyBiL3NyYy9hcGkyL3B1c2gucnMKPj4gQEAgLTAsMCArMSwyMjIgQEAKPj4g K3VzZSBhbnlob3c6Ontmb3JtYXRfZXJyLCBDb250ZXh0LCBFcnJvcn07Cj4+ICt1c2UgZnV0dXJl czo6e2Z1dHVyZTo6RnV0dXJlRXh0LCBzZWxlY3R9Owo+PiArdXNlIHRyYWNpbmc6OmluZm87Cj4+ ICsKPj4gK3VzZSBwYnNfYXBpX3R5cGVzOjp7Cj4+ICsgICAgQXV0aGlkLCBCYWNrdXBOYW1lc3Bh Y2UsIEdyb3VwRmlsdGVyLCBSYXRlTGltaXRDb25maWcsIFN5bmNKb2JDb25maWcsIERBVEFTVE9S RV9TQ0hFTUEsCj4+ICsgICAgR1JPVVBfRklMVEVSX0xJU1RfU0NIRU1BLCBOU19NQVhfREVQVEhf UkVEVUNFRF9TQ0hFTUEsIFBSSVZfREFUQVNUT1JFX1JFQUQsCj4+ICsgICAgUFJJVl9SRU1PVEVf REFUQVNUT1JFX0JBQ0tVUCwgUFJJVl9SRU1PVEVfREFUQVNUT1JFX1BSVU5FLCBSRU1PVEVfSURf U0NIRU1BLAo+PiArICAgIFJFTU9WRV9WQU5JU0hFRF9CQUNLVVBTX1NDSEVNQSwgVFJBTlNGRVJf TEFTVF9TQ0hFTUEsCj4+ICt9Owo+PiArdXNlIHByb3htb3hfcmVzdF9zZXJ2ZXI6OldvcmtlclRh c2s7Cj4+ICt1c2UgcHJveG1veF9yb3V0ZXI6OntQZXJtaXNzaW9uLCBSb3V0ZXIsIFJwY0Vudmly b25tZW50fTsKPj4gK3VzZSBwcm94bW94X3NjaGVtYTo6YXBpOwo+PiArCj4+ICt1c2UgcGJzX2Nv bmZpZzo6Q2FjaGVkVXNlckluZm87Cj4+ICsKPj4gK3VzZSBjcmF0ZTo6c2VydmVyOjpwdXNoOjp7 cHVzaF9zdG9yZSwgUHVzaFBhcmFtZXRlcnN9Owo+PiArCj4+ICsvLy8gQ2hlY2sgaWYgdGhlIHBy b3ZpZGVkIHVzZXIgaXMgYWxsb3dlZCB0byByZWFkIGZyb20gdGhlIGxvY2FsIHNvdXJjZSBhbmQg YWN0IG9uIHRoZSByZW1vdGUKPj4gKy8vLyB0YXJnZXQgZm9yIHB1c2hpbmcgY29udGVudAo+PiAr cHViIGZuIGNoZWNrX3B1c2hfcHJpdnMoCj4+ICsgICAgYXV0aF9pZDogJkF1dGhpZCwKPj4gKyAg ICBzdG9yZTogJnN0ciwKPj4gKyAgICBuYW1lc3BhY2U6IE9wdGlvbjwmc3RyPiwKPiAKPiB3ZSBh bHJlYWR5IGhhZCB0aGlzIGFzIEJhY2t1cE5hbWVzcGFjZSBiZWxvdwo+IAo+PiArICAgIHJlbW90 ZTogJnN0ciwKPj4gKyAgICByZW1vdGVfc3RvcmU6ICZzdHIsCj4+ICsgICAgcmVtb3RlX25zOiBP cHRpb248JnN0cj4sCj4gCj4gc2FtZSBoZXJlIC0gd291bGQgaXQgbWFrZSBzZW5zZSB0byBub3Qg c2VyaWFsaXplIGl0IGJhY2sgZm9yIGNhbGxpbmcKPiB0aGlzIGhlbHBlcj8KClBhc3NpbmcgaW4g dGhlIGBCYWNrdXBOYW1lc3BhY2VgIG5vdyBmb3Igc291cmNlIGFuZCB0YXJnZXQgbmFtZXNwYWNl cyAKaGVyZSBhbmQgdXNlIHRoZSBCYWNrdXBOYW1lc3BhY2U6OmFjbF9wYXRoIGFuZCB0aGUgbmV3 bHkgYWRkZWQgCkJhY2t1cE5hbWVzcGFjZTo6cmVtb3RlX2FjbF9wYXRoIGhlbHBlciBmb3IgdGhp cy4KPiAKPj4gKyAgICBkZWxldGU6IGJvb2wsCj4+ICspIC0+IFJlc3VsdDwoKSwgRXJyb3I+IHsK Pj4gKyAgICBsZXQgdXNlcl9pbmZvID0gQ2FjaGVkVXNlckluZm86Om5ldygpPzsKPj4gKwo+PiAr ICAgIGxldCB0YXJnZXRfYWNsX3BhdGggPSBtYXRjaCByZW1vdGVfbnMgewo+PiArICAgICAgICBT b21lKG5zKSA9PiB2ZWMhWyJyZW1vdGUiLCByZW1vdGUsIHJlbW90ZV9zdG9yZSwgbnNdLAo+PiAr ICAgICAgICBOb25lID0+IHZlYyFbInJlbW90ZSIsIHJlbW90ZSwgcmVtb3RlX3N0b3JlXSwKPj4g KyAgICB9Owo+PiArCj4gCj4gdGhlcmUncyBCYWNrdXBOYW1lc3BhY2U6OmFjbF9wYXRoKCkgLi4g YnV0IG1heWJlIGl0IHdvdWxkIGFsc28gbWFrZQo+IHNlbnNlIHRvIGhhdmUgYSBjb21tb24gaGVs cGVyIGZvciB0aGlzIGFuZCB0aGUgU3luY0pvYkNvbmZpZyB2YXJpYW50CnNlZSBhYm92ZQoKPiAK Pj4gKyAgICAvLyBDaGVjayB1c2VyIGlzIGFsbG93ZWQgdG8gYmFja3VwIHRvIHJlbW90ZS88cmVt b3RlPi88ZGF0YXN0b3JlPi88bmFtZXNwYWNlPgo+PiArICAgIHVzZXJfaW5mby5jaGVja19wcml2 cygKPj4gKyAgICAgICAgYXV0aF9pZCwKPj4gKyAgICAgICAgJnRhcmdldF9hY2xfcGF0aCwKPj4g KyAgICAgICAgUFJJVl9SRU1PVEVfREFUQVNUT1JFX0JBQ0tVUCwKPj4gKyAgICAgICAgZmFsc2Us Cj4+ICsgICAgKT87Cj4+ICsKPj4gKyAgICBpZiBkZWxldGUgewo+PiArICAgICAgICAvLyBDaGVj ayB1c2VyIGlzIGFsbG93ZWQgdG8gcHJ1bmUgcmVtb3RlIGRhdGFzdG9yZQo+PiArICAgICAgICB1 c2VyX2luZm8uY2hlY2tfcHJpdnMoCj4+ICsgICAgICAgICAgICBhdXRoX2lkLAo+PiArICAgICAg ICAgICAgJnRhcmdldF9hY2xfcGF0aCwKPj4gKyAgICAgICAgICAgIFBSSVZfUkVNT1RFX0RBVEFT VE9SRV9QUlVORSwKPj4gKyAgICAgICAgICAgIGZhbHNlLAo+PiArICAgICAgICApPzsKPj4gKyAg ICB9Cj4+ICsKPj4gKyAgICBsZXQgbG9jYWxfYWNsX3BhdGggPSBtYXRjaCBuYW1lc3BhY2Ugewo+ PiArICAgICAgICBTb21lKG5zKSA9PiB2ZWMhWyJkYXRhc3RvcmUiLCBzdG9yZSwgbnNdLAo+PiAr ICAgICAgICBOb25lID0+IHZlYyFbImRhdGFzdG9yZSIsIHN0b3JlXSwKPj4gKyAgICB9Owo+PiAr Cj4+ICsgICAgLy8gQ2hlY2sgdXNlciBpcyBhbGxvd2VkIHRvIHJlYWQgc291cmNlIGRhdGFzdG9y ZQo+PiArICAgIHVzZXJfaW5mby5jaGVja19wcml2cyhhdXRoX2lkLCAmbG9jYWxfYWNsX3BhdGgs IFBSSVZfREFUQVNUT1JFX1JFQUQsIGZhbHNlKT87Cj4+ICsKPj4gKyAgICBPaygoKSkKPj4gK30K Pj4gKwo+PiAraW1wbCBUcnlGcm9tPCZTeW5jSm9iQ29uZmlnPiBmb3IgUHVzaFBhcmFtZXRlcnMg ewo+PiArICAgIHR5cGUgRXJyb3IgPSBFcnJvcjsKPj4gKwo+PiArICAgIGZuIHRyeV9mcm9tKHN5 bmNfam9iOiAmU3luY0pvYkNvbmZpZykgLT4gUmVzdWx0PFNlbGYsIFNlbGY6OkVycm9yPiB7Cj4+ ICsgICAgICAgIFB1c2hQYXJhbWV0ZXJzOjpuZXcoCj4+ICsgICAgICAgICAgICAmc3luY19qb2Iu c3RvcmUsCj4+ICsgICAgICAgICAgICBzeW5jX2pvYi5ucy5jbG9uZSgpLnVud3JhcF9vcl9kZWZh dWx0KCksCj4+ICsgICAgICAgICAgICBzeW5jX2pvYgo+PiArICAgICAgICAgICAgICAgIC5yZW1v dGUKPj4gKyAgICAgICAgICAgICAgICAuYXNfZGVyZWYoKQo+PiArICAgICAgICAgICAgICAgIC5j b250ZXh0KCJtaXNzaW5nIHJlcXVpcmVkIHJlbW90ZSIpPywKPj4gKyAgICAgICAgICAgICZzeW5j X2pvYi5yZW1vdGVfc3RvcmUsCj4+ICsgICAgICAgICAgICBzeW5jX2pvYi5yZW1vdGVfbnMuY2xv bmUoKS51bndyYXBfb3JfZGVmYXVsdCgpLAo+PiArICAgICAgICAgICAgc3luY19qb2IKPj4gKyAg ICAgICAgICAgICAgICAub3duZXIKPj4gKyAgICAgICAgICAgICAgICAuYXNfcmVmKCkKPj4gKyAg ICAgICAgICAgICAgICAudW53cmFwX29yX2Vsc2UofHwgQXV0aGlkOjpyb290X2F1dGhfaWQoKSkK Pj4gKyAgICAgICAgICAgICAgICAuY2xvbmUoKSwKPj4gKyAgICAgICAgICAgIHN5bmNfam9iLnJl bW92ZV92YW5pc2hlZCwKPj4gKyAgICAgICAgICAgIHN5bmNfam9iLm1heF9kZXB0aCwKPj4gKyAg ICAgICAgICAgIHN5bmNfam9iLmdyb3VwX2ZpbHRlci5jbG9uZSgpLAo+PiArICAgICAgICAgICAg c3luY19qb2IubGltaXQuY2xvbmUoKSwKPj4gKyAgICAgICAgICAgIHN5bmNfam9iLnRyYW5zZmVy X2xhc3QsCj4+ICsgICAgICAgICkKPj4gKyAgICB9Cj4+ICt9Cj4+ICsKPj4gKyNbYXBpKAo+PiAr ICAgIGlucHV0OiB7Cj4+ICsgICAgICAgIHByb3BlcnRpZXM6IHsKPj4gKyAgICAgICAgICAgIHN0 b3JlOiB7Cj4+ICsgICAgICAgICAgICAgICAgc2NoZW1hOiBEQVRBU1RPUkVfU0NIRU1BLAo+PiAr ICAgICAgICAgICAgfSwKPj4gKyAgICAgICAgICAgIG5zOiB7Cj4+ICsgICAgICAgICAgICAgICAg dHlwZTogQmFja3VwTmFtZXNwYWNlLAo+PiArICAgICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVl LAo+PiArICAgICAgICAgICAgfSwKPj4gKyAgICAgICAgICAgIHJlbW90ZTogewo+PiArICAgICAg ICAgICAgICAgIHNjaGVtYTogUkVNT1RFX0lEX1NDSEVNQSwKPj4gKyAgICAgICAgICAgIH0sCj4+ ICsgICAgICAgICAgICAicmVtb3RlLXN0b3JlIjogewo+PiArICAgICAgICAgICAgICAgIHNjaGVt YTogREFUQVNUT1JFX1NDSEVNQSwKPj4gKyAgICAgICAgICAgIH0sCj4+ICsgICAgICAgICAgICAi cmVtb3RlLW5zIjogewo+PiArICAgICAgICAgICAgICAgIHR5cGU6IEJhY2t1cE5hbWVzcGFjZSwK Pj4gKyAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSwKPj4gKyAgICAgICAgICAgIH0sCj4+ ICsgICAgICAgICAgICAicmVtb3ZlLXZhbmlzaGVkIjogewo+PiArICAgICAgICAgICAgICAgIHNj aGVtYTogUkVNT1ZFX1ZBTklTSEVEX0JBQ0tVUFNfU0NIRU1BLAo+PiArICAgICAgICAgICAgICAg IG9wdGlvbmFsOiB0cnVlLAo+PiArICAgICAgICAgICAgfSwKPj4gKyAgICAgICAgICAgICJtYXgt ZGVwdGgiOiB7Cj4+ICsgICAgICAgICAgICAgICAgc2NoZW1hOiBOU19NQVhfREVQVEhfUkVEVUNF RF9TQ0hFTUEsCj4+ICsgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsCj4+ICsgICAgICAg ICAgICB9LAo+PiArICAgICAgICAgICAgImdyb3VwLWZpbHRlciI6IHsKPj4gKyAgICAgICAgICAg ICAgICBzY2hlbWE6IEdST1VQX0ZJTFRFUl9MSVNUX1NDSEVNQSwKPj4gKyAgICAgICAgICAgICAg ICBvcHRpb25hbDogdHJ1ZSwKPj4gKyAgICAgICAgICAgIH0sCj4+ICsgICAgICAgICAgICBsaW1p dDogewo+PiArICAgICAgICAgICAgICAgIHR5cGU6IFJhdGVMaW1pdENvbmZpZywKPj4gKyAgICAg ICAgICAgICAgICBmbGF0dGVuOiB0cnVlLAo+PiArICAgICAgICAgICAgfSwKPj4gKyAgICAgICAg ICAgICJ0cmFuc2Zlci1sYXN0Ijogewo+PiArICAgICAgICAgICAgICAgIHNjaGVtYTogVFJBTlNG RVJfTEFTVF9TQ0hFTUEsCj4+ICsgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsCj4+ICsg ICAgICAgICAgICB9LAo+PiArICAgICAgICB9LAo+PiArICAgIH0sCj4+ICsgICAgYWNjZXNzOiB7 Cj4+ICsgICAgICAgIGRlc2NyaXB0aW9uOiByIyMjIlRoZSB1c2VyIG5lZWRzIFJlbW90ZS5CYWNr dXAgcHJpdmlsZWdlIG9uICcvcmVtb3RlL3tyZW1vdGV9L3tyZW1vdGUtc3RvcmV9Jwo+PiArYW5k IG5lZWRzIHRvIG93biB0aGUgYmFja3VwIGdyb3VwLiBEYXRhc3RvcmUuUmVhZCBpcyByZXF1aXJl ZCBvbiAnL2RhdGFzdG9yZS97c3RvcmV9Jy4KPj4gK1RoZSBkZWxldGUgZmxhZyBhZGRpdGlvbmFs bHkgcmVxdWlyZXMgdGhlIFJlbW90ZS5QcnVuZSBwcml2aWxlZ2Ugb24gJy9yZW1vdGUve3JlbW90 ZX0ve3JlbW90ZS1zdG9yZX0nLgo+PiArIiMjIywKPj4gKyAgICAgICAgcGVybWlzc2lvbjogJlBl cm1pc3Npb246OkFueWJvZHksCj4+ICsgICAgfSwKPj4gKyldCj4+ICsvLy8gUHVzaCBzdG9yZSB0 byBvdGhlciByZXBvc2l0b3J5Cj4+ICsjW2FsbG93KGNsaXBweTo6dG9vX21hbnlfYXJndW1lbnRz KV0KPj4gK2FzeW5jIGZuIHB1c2goCj4+ICsgICAgc3RvcmU6IFN0cmluZywKPj4gKyAgICBuczog T3B0aW9uPEJhY2t1cE5hbWVzcGFjZT4sCj4+ICsgICAgcmVtb3RlOiBTdHJpbmcsCj4+ICsgICAg cmVtb3RlX3N0b3JlOiBTdHJpbmcsCj4+ICsgICAgcmVtb3RlX25zOiBPcHRpb248QmFja3VwTmFt ZXNwYWNlPiwKPj4gKyAgICByZW1vdmVfdmFuaXNoZWQ6IE9wdGlvbjxib29sPiwKPj4gKyAgICBt YXhfZGVwdGg6IE9wdGlvbjx1c2l6ZT4sCj4+ICsgICAgZ3JvdXBfZmlsdGVyOiBPcHRpb248VmVj PEdyb3VwRmlsdGVyPj4sCj4+ICsgICAgbGltaXQ6IFJhdGVMaW1pdENvbmZpZywKPj4gKyAgICB0 cmFuc2Zlcl9sYXN0OiBPcHRpb248dXNpemU+LAo+PiArICAgIHJwY2VudjogJm11dCBkeW4gUnBj RW52aXJvbm1lbnQsCj4+ICspIC0+IFJlc3VsdDxTdHJpbmcsIEVycm9yPiB7Cj4+ICsgICAgbGV0 IGF1dGhfaWQ6IEF1dGhpZCA9IHJwY2Vudi5nZXRfYXV0aF9pZCgpLnVud3JhcCgpLnBhcnNlKCk/ Owo+PiArICAgIGxldCBkZWxldGUgPSByZW1vdmVfdmFuaXNoZWQudW53cmFwX29yKGZhbHNlKTsK Pj4gKwo+PiArICAgIGxldCBucyA9IG5zLnVud3JhcF9vcl9kZWZhdWx0KCk7Cj4+ICsgICAgbGV0 IHNvdXJjZV9uYW1lc3BhY2UgPSBpZiAhbnMuaXNfcm9vdCgpIHsKPj4gKyAgICAgICAgU29tZShu cy50b19zdHJpbmcoKSkKPj4gKyAgICB9IGVsc2Ugewo+PiArICAgICAgICBOb25lCj4+ICsgICAg fTsKPiAKPiB3ZSdkIHNhdmUgb3Vyc2VsdmVzIHRoaXMKPiAKPj4gKwo+PiArICAgIGxldCByZW1v dGVfbnMgPSByZW1vdGVfbnMudW53cmFwX29yX2RlZmF1bHQoKTsKPj4gKyAgICBsZXQgcmVtb3Rl X25hbWVzcGFjZSA9IGlmICFyZW1vdGVfbnMuaXNfcm9vdCgpIHsKPj4gKyAgICAgICAgU29tZShu cy50b19zdHJpbmcoKSkKPj4gKyAgICB9IGVsc2Ugewo+PiArICAgICAgICBOb25lCj4+ICsgICAg fTsKPiAKPiBhbmQgdGhpcwo+IAo+PiArCj4+ICsgICAgY2hlY2tfcHVzaF9wcml2cygKPj4gKyAg ICAgICAgJmF1dGhfaWQsCj4+ICsgICAgICAgICZzdG9yZSwKPj4gKyAgICAgICAgc291cmNlX25h bWVzcGFjZS5hc19kZXJlZigpLAo+PiArICAgICAgICAmcmVtb3RlLAo+PiArICAgICAgICAmcmVt b3RlX3N0b3JlLAo+PiArICAgICAgICByZW1vdGVfbmFtZXNwYWNlLmFzX2RlcmVmKCksCj4+ICsg ICAgICAgIGRlbGV0ZSwKPj4gKyAgICApPzsKPj4gKwo+PiArICAgIGxldCBwdXNoX3BhcmFtcyA9 IFB1c2hQYXJhbWV0ZXJzOjpuZXcoCj4+ICsgICAgICAgICZzdG9yZSwKPj4gKyAgICAgICAgbnMs Cj4+ICsgICAgICAgICZyZW1vdGUsCj4+ICsgICAgICAgICZyZW1vdGVfc3RvcmUsCj4+ICsgICAg ICAgIHJlbW90ZV9ucywKPj4gKyAgICAgICAgYXV0aF9pZC5jbG9uZSgpLAo+PiArICAgICAgICBy ZW1vdmVfdmFuaXNoZWQsCj4+ICsgICAgICAgIG1heF9kZXB0aCwKPj4gKyAgICAgICAgZ3JvdXBf ZmlsdGVyLAo+PiArICAgICAgICBsaW1pdCwKPj4gKyAgICAgICAgdHJhbnNmZXJfbGFzdCwKPj4g KyAgICApPzsKPj4gKwo+PiArICAgIGxldCB1cGlkX3N0ciA9IFdvcmtlclRhc2s6OnNwYXduKAo+ PiArICAgICAgICAic3luYyIsCj4+ICsgICAgICAgIFNvbWUoc3RvcmUuY2xvbmUoKSksCj4+ICsg ICAgICAgIGF1dGhfaWQudG9fc3RyaW5nKCksCj4+ICsgICAgICAgIHRydWUsCj4+ICsgICAgICAg IG1vdmUgfHdvcmtlcnwgYXN5bmMgbW92ZSB7Cj4+ICsgICAgICAgICAgICBpbmZvISgicHVzaCBk YXRhc3RvcmUgJ3tzdG9yZX0nIHRvICd7cmVtb3RlfS97cmVtb3RlX3N0b3JlfSciKTsKPj4gKwo+ PiArICAgICAgICAgICAgbGV0IHB1c2hfZnV0dXJlID0gcHVzaF9zdG9yZShwdXNoX3BhcmFtcyk7 Cj4+ICsgICAgICAgICAgICAoc2VsZWN0ISB7Cj4+ICsgICAgICAgICAgICAgICAgc3VjY2VzcyA9 IHB1c2hfZnV0dXJlLmZ1c2UoKSA9PiBzdWNjZXNzLAo+PiArICAgICAgICAgICAgICAgIGFib3J0 ID0gd29ya2VyLmFib3J0X2Z1dHVyZSgpLm1hcCh8X3wgRXJyKGZvcm1hdF9lcnIhKCJwdXNoIGFi b3J0ZWQiKSkpID0+IGFib3J0LAo+PiArICAgICAgICAgICAgfSk/Owo+PiArCj4+ICsgICAgICAg ICAgICBpbmZvISgicHVzaCBkYXRhc3RvcmUgJ3tzdG9yZX0nIGVuZCIpOwo+PiArCj4+ICsgICAg ICAgICAgICBPaygoKSkKPj4gKyAgICAgICAgfSwKPj4gKyAgICApPzsKPj4gKwo+PiArICAgIE9r KHVwaWRfc3RyKQo+PiArfQo+PiArCj4+ICtwdWIgY29uc3QgUk9VVEVSOiBSb3V0ZXIgPSBSb3V0 ZXI6Om5ldygpLnBvc3QoJkFQSV9NRVRIT0RfUFVTSCk7Cj4+IC0tIAo+PiAyLjM5LjUKPj4KPj4K Pj4KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4g cGJzLWRldmVsIG1haWxpbmcgbGlzdAo+PiBwYnMtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KPj4g aHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcGJzLWRl dmVsCj4+Cj4+Cj4+Cj4gCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiBwYnMtZGV2ZWwgbWFpbGluZyBsaXN0Cj4gcGJzLWRldmVsQGxpc3RzLnBy b3htb3guY29tCj4gaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlz dGluZm8vcGJzLWRldmVsCj4gCj4gCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCnBicy1kZXZlbCBtYWlsaW5nIGxpc3QKcGJzLWRldmVsQGxpc3RzLnBy b3htb3guY29tCmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3Rp bmZvL3Bicy1kZXZlbAo=