From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 6A19F1FF163 for ; Thu, 21 Nov 2024 11:09:50 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id D98B61EC3C; Thu, 21 Nov 2024 11:09:57 +0100 (CET) Date: Thu, 21 Nov 2024 11:09:53 +0100 (CET) From: =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= To: Gabriel Goller Message-ID: <2040736603.7366.1732183793621@webmail.proxmox.com> In-Reply-To: References: <20241105104015.162094-1-g.goller@proxmox.com> <20241105104015.162094-2-g.goller@proxmox.com> <173210826421.198988.14774192201672116937@yuna.proxmox.com> MIME-Version: 1.0 X-Priority: 3 Importance: Normal X-Mailer: Open-Xchange Mailer v7.10.6-Rev69 X-Originating-Client: open-xchange-appsuite X-SPAM-LEVEL: Spam detection results: 0 AWL 0.046 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. [docs.rs, manifest.rs] Subject: Re: [pbs-devel] [PATCH proxmox-backup v3 1/3] fix #3786: api: add resync-corrupt option to sync jobs 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 Cc: pbs-devel@lists.proxmox.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" Cj4gR2FicmllbCBHb2xsZXIgPGcuZ29sbGVyQHByb3htb3guY29tPiBoYXQgYW0gMjEuMTEuMjAy NCAxMTowNCBDRVQgZ2VzY2hyaWViZW46Cj4gCj4gIAo+IE9uIDIwLjExLjIwMjQgMTQ6MTEsIEZh YmlhbiBHcsO8bmJpY2hsZXIgd3JvdGU6Cj4gPmEgZmV3IHNtYWxsIG5pdHMgaW5saW5lLCBsb29r cyBnb29kIHRvIG1lIG90aGVyd2lzZSwgYnV0IGdpdmVuIHRoZSBzaXplIG9mIHRoaXMKPiA+YW5k IHRoZSBzaXplIG9mIHRoZSBwdXNoIHNlcmllcywgSSdkIHJhdGhlciB0aGlzIGJlIHJlYmFzZWQg b24gdG9wIG9mIHRoZSBvdGhlcgo+ID5vbmUgOykKPiAKPiBTdXJlLCBzaG91bGRuJ3QgYmUgYSBs b3Qgb2Ygd29yay4gU2hvdWxkIEkgc2VuZCBhIHJlYmFzZWQgdmVyc2lvbiBvbiB0b3AKPiBvZiB0 aGUgY3VycmVudCBwdXNoIHNlcmllcyBhcyBhIHY0PwoKeWVzLCBidXQgcGxlYXNlIHdhaXQgdW50 aWwgaXQncyBhcHBsaWVkICh0aGVyZSBoYXZlIGJlZW4gYSBmZXcgY2hhbmdlcyBxdWV1ZWQgb24t dG9wIHdoZXJlIEkgYW0gbm90IHN1cmUgd2hldGhlciB0aGV5IG1pZ2h0IGNhdXNlIG1vcmUgY29u ZmxpY3RzIDspKQoKPiAKPiA+UXVvdGluZyBHYWJyaWVsIEdvbGxlciAoMjAyNC0xMS0wNSAxMTo0 MDoxMykKPiA+PiBkaWZmIC0tZ2l0IGEvcGJzLWRhdGFzdG9yZS9zcmMvYmFja3VwX2luZm8ucnMg Yi9wYnMtZGF0YXN0b3JlL3NyYy9iYWNrdXBfaW5mby5ycwo+ID4+IGluZGV4IDQxNGVjODc4ZDAx YS4uZTYxNzQzMjJkYWQ2IDEwMDY0NAo+ID4+IC0tLSBhL3Bicy1kYXRhc3RvcmUvc3JjL2JhY2t1 cF9pbmZvLnJzCj4gPj4gKysrIGIvcGJzLWRhdGFzdG9yZS9zcmMvYmFja3VwX2luZm8ucnMKPiA+ PiBAQCAtOCw3ICs4LDggQEAgdXNlIGFueWhvdzo6e2JhaWwsIGZvcm1hdF9lcnIsIEVycm9yfTsK PiA+PiAgdXNlIHByb3htb3hfc3lzOjpmczo6e2xvY2tfZGlyX25vYmxvY2ssIHJlcGxhY2VfZmls ZSwgQ3JlYXRlT3B0aW9uc307Cj4gPj4KPiA+PiAgdXNlIHBic19hcGlfdHlwZXM6OnsKPiA+PiAt ICAgIEF1dGhpZCwgQmFja3VwTmFtZXNwYWNlLCBCYWNrdXBUeXBlLCBHcm91cEZpbHRlciwgQkFD S1VQX0RBVEVfUkVHRVgsIEJBQ0tVUF9GSUxFX1JFR0VYLAo+ID4+ICsgICAgQXV0aGlkLCBCYWNr dXBOYW1lc3BhY2UsIEJhY2t1cFR5cGUsIEdyb3VwRmlsdGVyLCBWZXJpZnlTdGF0ZSwgQkFDS1VQ X0RBVEVfUkVHRVgsCj4gPj4gKyAgICBCQUNLVVBfRklMRV9SRUdFWCwKPiA+PiAgfTsKPiA+PiAg dXNlIHBic19jb25maWc6OntvcGVuX2JhY2t1cF9sb2NrZmlsZSwgQmFja3VwTG9ja0d1YXJkfTsK PiA+Pgo+ID4+IEBAIC01ODMsNiArNTg0LDE1IEBAIGltcGwgQmFja3VwRGlyIHsKPiA+Pgo+ID4+ ICAgICAgICAgIE9rKCgpKQo+ID4+ICAgICAgfQo+ID4+ICsKPiA+PiArICAgIC8vLyBMb2FkIHRo ZSB2ZXJpZnkgc3RhdGUgZnJvbSB0aGUgbWFuaWZlc3QuCj4gPj4gKyAgICBwdWIgZm4gdmVyaWZ5 X3N0YXRlKCZzZWxmKSAtPiBPcHRpb248VmVyaWZ5U3RhdGU+IHsKPiA+Cj4gPnNob3VsZCB0aGlz IGJlIGEgUmVzdWx0PE9wdGlvbjwuLj4+IHRvIGFsbG93IGRpZmZlcmVudGlhdGlvbiBiZXR3ZWVu IG5vCj4gPnZlcmlmaWNhdGlvbiBzdGF0ZSwgYW5kIGZhaWx1cmUgdG8gcGFyc2Ugb3IgbG9hZCB0 aGUgbWFuaWZlc3Q/IHRoYXQgd291bGQgYWxsb3cKPiA+dXMgdG8gcmVzeW5jIHRvdGFsbHkgY29y cnVwdGVkIHNuYXBzaG90cyBhcyB3ZWxsIChhbHRob3VnaCB0aGF0IG1pZ2h0IGJlCj4gPmNvbnNp ZGVyZWQgb3V0IG9mIHNjb3BlIGJhc2VkIG9uIHRoZSBwYXJhbWV0ZXIgZGVzY3JpcHRpb24gOykp Cj4gCj4gWWVwIGl0IHdhcyBhbHJlYWR5IGxpa2UgdGhpcyBpbiB0aGUgZmlyc3QgdmVyc2lvbiwg bm8gaWRlYSB3aHkgSSBjaGFuZ2VkCj4gaXQuIExpa2UgdGhpcyB3ZSBjYW4gcmV0dXJuIHRoZSBs b2FkX21hbmlmZXN0IGVycm9yIHdpdGggdGhlIFJlc3VsdCBhbmQKPiBzd2FsbG93IHRoZSBpbm5l ciBlcnJvciB3aXRoIGEgYG9rKClgIGFzIGl0IGRvZXNuJ3QgbWF0dGVyIGFueW1vcmUuCj4gCj4g ICAgICBwdWIgZm4gdmVyaWZ5X3N0YXRlKCZzZWxmKSAtPiBSZXN1bHQ8T3B0aW9uPFZlcmlmeVN0 YXRlPiwgYW55aG93OjpFcnJvcj4gewo+ICAgICAgICAgIGxldCBtYW5pZmVzdCA9IHNlbGYubG9h ZF9tYW5pZmVzdCgpPzsKPiAgICAgICAgICBPayhtYW5pZmVzdC4wLnZlcmlmeV9zdGF0ZSgpLm9r KCkuZmxhdHRlbigpLm1hcCh8c3ZzfCBzdnMuc3RhdGUpKQo+ICAgICAgfQo+IAo+IAo+IEkgdGhp bmsgd2UgYWxzbyB3YW50IHRvIHJlc3luYyBvbiBlcnJvcnMgd2hlbiByZWFkaW5nIHRoZSBtYW5p ZmVzdCwgSSdsbAo+IGluY2x1ZGUgdGhhdCBpbiB0aGUgbmV4dCB2ZXJzaW9uISBTb21ldGhpbmcg bGlrZSB0aGlzIG1heWJlOgo+IAo+ICAgICAgbWF0Y2ggbG9jYWxfZGlyLnZlcmlmeV9zdGF0ZSgp IHsKPiAgICAgICAgICBPayhTb21lKHN0YXRlKSkgPT4gewo+ICAgICAgICAgICAgICBpZiBzdGF0 ZSA9PSBWZXJpZnlTdGF0ZTo6RmFpbGVkIHsKPiAgICAgICAgICAgICAgICAgIHJldHVybiBTb21l KChkaXIsIHRydWUpKTsKPiAgICAgICAgICAgICAgfQo+ICAgICAgICAgIH0sCj4gICAgICAgICAg T2soTm9uZSkgPT4gewo+ICAgICAgICAgICAgICAvLyBUaGlzIG1lYW5zIHRoZXJlIGVpdGhlciB3 YXMgYW4gZXJyb3IgcGFyc2luZyB0aGUgbWFuaWZlc3QsIG9yIHRoZSAKPiAgICAgICAgICAgICAg Ly8gdmVyaWZ5X3N0YXRlIGl0ZW0gd2FzIG5vdCBmb3VuZC4gVGhpcyBjb3VsZCBiZSBhIG5ldyBi YWNrdXAuCgpJTUhPIHRoaXMgc2hvdWxkIG9ubHkgYmUgcmVhY2hlZCBpZiBubyB2ZXJpZmljYXRp b24gc3RhdGUgaXMgaW4gdGhlIG1hbmlmZXN0IChiZWNhdXNlIG5vIHZlcmlmaWNhdGlvbiBoYXMg aGFwcGVuZWQgeWV0KSwgYnV0IHRoZSBtYW5pZmVzdCB3YXMgb3RoZXJ3aXNlIGNvbXBsZXRlbHkg cGFyc2VhYmxlLiB0aGlzIGNhbiBiZSB0cmVhdGVkIHRoZSBzYW1lIGFzIGFuIG9rYXkgdmVyaWZ5 IHN0YXRlLCBzaW5jZSB3ZSBjYW4ndCBrbm93IGFueSBiZXR0ZXIuCgo+ICAgICAgICAgIH0KPiAg ICAgICAgICBFcnIoXykgPT4gewo+ICAgICAgICAgICAgICAvLyBUaGVyZSB3YXMgYW4gZXJyb3Ig bG9hZGluZyB0aGUgbWFuaWZlc3QsIHByb2JhYmx5IGJldHRlciBpZiB3ZQo+ICAgICAgICAgICAg ICAvLyByZXN5bmMuCj4gICAgICAgICAgICAgIHJldHVybiBTb21lKChkaXIsIHRydWUpKTsKPiAg ICAgICAgICB9Cj4gICAgICB9Cj4gCj4gPj4gKyAgICAgICAgaWYgbGV0IE9rKG1hbmlmZXN0KSA9 IHNlbGYubG9hZF9tYW5pZmVzdCgpIHsKPiA+PiArICAgICAgICAgICAgbWFuaWZlc3QuMC52ZXJp Znlfc3RhdGUoKQo+ID4+ICsgICAgICAgIH0gZWxzZSB7Cj4gPj4gKyAgICAgICAgICAgIE5vbmUK PiA+PiArICAgICAgICB9Cj4gPj4gKyAgICB9Cj4gPj4gIH0KPiA+Pgo+ID4+ICBpbXBsIEFzUmVm PHBic19hcGlfdHlwZXM6OkJhY2t1cE5hbWVzcGFjZT4gZm9yIEJhY2t1cERpciB7Cj4gPj4gZGlm ZiAtLWdpdCBhL3Bicy1kYXRhc3RvcmUvc3JjL21hbmlmZXN0LnJzIGIvcGJzLWRhdGFzdG9yZS9z cmMvbWFuaWZlc3QucnMKPiA+PiBpbmRleCBjM2RmMDE0MjcyYTAuLjYyM2MxNDk5YzBiYiAxMDA2 NDQKPiA+PiAtLS0gYS9wYnMtZGF0YXN0b3JlL3NyYy9tYW5pZmVzdC5ycwo+ID4+ICsrKyBiL3Bi cy1kYXRhc3RvcmUvc3JjL21hbmlmZXN0LnJzCj4gPj4gQEAgLTUsNyArNSw3IEBAIHVzZSBhbnlo b3c6OntiYWlsLCBmb3JtYXRfZXJyLCBFcnJvcn07Cj4gPj4gIHVzZSBzZXJkZTo6e0Rlc2VyaWFs aXplLCBTZXJpYWxpemV9Owo+ID4+ICB1c2Ugc2VyZGVfanNvbjo6e2pzb24sIFZhbHVlfTsKPiA+ Pgo+ID4+IC11c2UgcGJzX2FwaV90eXBlczo6e0JhY2t1cFR5cGUsIENyeXB0TW9kZSwgRmluZ2Vy cHJpbnR9Owo+ID4+ICt1c2UgcGJzX2FwaV90eXBlczo6e0JhY2t1cFR5cGUsIENyeXB0TW9kZSwg RmluZ2VycHJpbnQsIFNuYXBzaG90VmVyaWZ5U3RhdGUsIFZlcmlmeVN0YXRlfTsKPiA+PiAgdXNl IHBic190b29sczo6Y3J5cHRfY29uZmlnOjpDcnlwdENvbmZpZzsKPiA+Pgo+ID4+ICBwdWIgY29u c3QgTUFOSUZFU1RfQkxPQl9OQU1FOiAmc3RyID0gImluZGV4Lmpzb24uYmxvYiI7Cj4gPj4gQEAg LTI0Miw2ICsyNDIsMTcgQEAgaW1wbCBCYWNrdXBNYW5pZmVzdCB7Cj4gPj4gICAgICAgICAgbGV0 IG1hbmlmZXN0OiBCYWNrdXBNYW5pZmVzdCA9IHNlcmRlX2pzb246OmZyb21fdmFsdWUoanNvbik/ Owo+ID4+ICAgICAgICAgIE9rKG1hbmlmZXN0KQo+ID4+ICAgICAgfQo+ID4+ICsKPiA+PiArICAg IC8vLyBHZXQgdGhlIHZlcmlmeSBzdGF0ZSBvZiB0aGUgc25hcHNob3QKPiA+PiArICAgIC8vLwo+ ID4+ICsgICAgLy8vIE5vdGU6IE5ldyBzbmFwc2hvdHMsIHdoaWNoIGhhdmUgbm90IGJlZW4gdmVy aWZpZWQgeWV0LCBkbyBub3QgaGF2ZSBhIHN0YXR1cyBhbmQgdGhpcwo+ID4+ICsgICAgLy8vIGZ1 bmN0aW9uIHdpbGwgcmV0dXJuIGBOb25lYC4KPiA+PiArICAgIHB1YiBmbiB2ZXJpZnlfc3RhdGUo JnNlbGYpIC0+IE9wdGlvbjxWZXJpZnlTdGF0ZT4gewo+ID4KPiA+c2hvdWxkIHRoaXMgYmUgYSBS ZXN1bHQ8T3B0aW9uPC4uPj4gdG8gYWxsb3cgZGlmZmVyZW50aWF0aW9uIGJldHdlZW4gbm8KPiA+ dmVyaWZpY2F0aW9uIHN0YXRlLCBhbmQgZmFpbHVyZSB0byBwYXJzZT8KPiAKPiBIbW0gc28gSSBj b3VsZCByZXR1cm4gYSBSZXN1bHQ8T3B0aW9uPC4uPj4gYnkgY2hlY2tpbmcgdGhlIGVycm9yIG9m IHRoZQo+IHNlcmRlX2pzb246OmZyb21fdmFsdWUgY2FsbC4gSSBjb3VsZCBjaGVjayBpZiB0aGUg InZlcmlmeV9zdGF0ZSIgdmFsdWUKPiB3YXNuJ3QgZm91bmQgaW4gdGhlIG1hbmlmZXN0IGJ5IGNh bGxpbmcgYGlzX2VvZmAgWzBdIGFuZCBpZiBub3QsIHJldHVybgo+IGEgT2soTm9uZSksIG90aGVy d2lzZSByZXR1cm4gYW4gRXJyb3IuIFRoaXMgd2lsbCBtYWtlIGl0IG1vcmUKPiBjb21wbGljYXRl ZCBmb3IgYWxsIHRoZSBjYWxsZXJzIHRob3VnaCDigJMgYWxzbyA5OSUgb2YgdGhlIGNhbGxlcnMg d2lsbAo+IHRyZWF0IEVyciB0aGUgc2FtZSBhcyBPayhOb25lKSBhbnl3YXlzLiBMVE1LIHdoYXQg eW91IHRoaW5rIQo+IAo+ICAgICAgLy8vIEdldCB0aGUgdmVyaWZ5IHN0YXRlIG9mIHRoZSBzbmFw c2hvdAo+ICAgICAgLy8vCj4gICAgICAvLy8gTm90ZTogTmV3IHNuYXBzaG90cywgd2hpY2ggaGF2 ZSBub3QgYmVlbiB2ZXJpZmllZCB5ZXQsIGRvIG5vdCBoYXZlIGEgc3RhdHVzIGFuZCB0aGlzCj4g ICAgICAvLy8gZnVuY3Rpb24gd2lsbCByZXR1cm4gYE9rKE5vbmUpYC4KPiAgICAgIHB1YiBmbiB2 ZXJpZnlfc3RhdGUoJnNlbGYpIC0+IFJlc3VsdDxPcHRpb248U25hcHNob3RWZXJpZnlTdGF0ZT4s IGFueWhvdzo6RXJyb3I+IHsKPiAgICAgICAgICBsZXQgdmVyaWZ5ID0gc2VsZi51bnByb3RlY3Rl ZFsidmVyaWZ5X3N0YXRlIl0uY2xvbmUoKTsKCmNhbid0IHlvdSBqdXN0IGNoZWNrIGhlcmUgd2hl dGhlciB3ZSBoYXZlIGEgdmFsdWUgYW5kIHJldHVybiBOb25lIG90aGVyd2lzZT8KCj4gICAgICAg ICAgbWF0Y2ggc2VyZGVfanNvbjo6ZnJvbV92YWx1ZTo6PFNuYXBzaG90VmVyaWZ5U3RhdGU+KHZl cmlmeSkgewo+ICAgICAgICAgICAgICBFcnIoZXJyKSA9PiB7Cgp0aGVuIHRoaXMgY2FuIGp1c3Qg YnViYmxlIHVwIHRoZSBlcnJvcj8KCj4gICAgICAgICAgICAgICAgICAvLyBgdmVyaWZ5X3N0YXRl YCBpdGVtIGhhcyBub3QgYmVlbiBmb3VuZAo+ICAgICAgICAgICAgICAgICAgaWYgZXJyLmlzX2Vv ZigpIHsKPiAgICAgICAgICAgICAgICAgICAgICBPayhOb25lKQo+ICAgICAgICAgICAgICAgICAg fWVsc2Ugewo+ICAgICAgICAgICAgICAgICAgICAgIEVycihlcnIuaW50bygpKQo+ICAgICAgICAg ICAgICAgICAgfQo+ICAgICAgICAgICAgICB9LAo+ICAgICAgICAgICAgICBPayhzdnMpID0+IHsK PiAgICAgICAgICAgICAgICAgIE9rKFNvbWUoc3ZzKSkKPiAgICAgICAgICAgICAgfQo+ICAgICAg ICAgIH0KPiAgICAgIH0KPiAKPiAKPiBFbHNlIEkgY291bGQganVzdCByZXR1cm4gYSBSZXN1bHQ8 U25hcHNob3RWZXJpZnlTdGF0ZT4uCgpJIHRoaW5rIGRpZmZlcmVudGlhdGluZyBiZXR3ZWVuIE9r KFNvbWUoc3RhdGUpKSwgT2soTm9uZSkgYW5kIEVycihlcnIpIGlzIGltcG9ydGFudCBoZXJlLCBz byBJJ2QgcmF0aGVyIG5vdCBkbyB0aGF0IDspCgo+IAo+IFswXTogaHR0cHM6Ly9kb2NzLnJzL3Nl cmRlX2pzb24vbGF0ZXN0L3NlcmRlX2pzb24vc3RydWN0LkVycm9yLmh0bWwjbWV0aG9kLmlzX2Vv Zgo+IAo+ID5hbHNvLCBpdCB3b3VsZCBiZSBncmVhdCBpZiBleGlzdGluZyBjb2RlIHJldHJpZXZp bmcgdGhpcyBjb3VsZCBiZSBhZGFwdGVkIHRvCj4gPnVzZSB0aGVzZSBuZXcgaGVscGVycywgd2hp Y2ggd291bGQgcmVxdWlyZSBoYXZpbmcgdGhlIFJlc3VsdCB0aGVyZSBhcyB3ZWxsLi4KPiAKPiBZ ZXAsIG92ZXJsb29rZWQgdGhvc2UsIG15IGJhZC4KPiAKPiA+PiBAQCAtMzgxLDcgKzM4OCw3IEBA IGFzeW5jIGZuIHB1bGxfc25hcHNob3Q8J2E+KAo+ID4+ICAgICAgICAgIGxldCBtdXQgcGF0aCA9 IHNuYXBzaG90LmZ1bGxfcGF0aCgpOwo+ID4+ICAgICAgICAgIHBhdGgucHVzaCgmaXRlbS5maWxl bmFtZSk7Cj4gPj4KPiA+PiAtICAgICAgICBpZiBwYXRoLmV4aXN0cygpIHsKPiA+PiArICAgICAg ICBpZiAhY29ycnVwdCAmJiBwYXRoLmV4aXN0cygpIHsKPiA+PiAgICAgICAgICAgICAgbWF0Y2gg QXJjaGl2ZVR5cGU6OmZyb21fcGF0aCgmaXRlbS5maWxlbmFtZSk/IHsKPiA+PiAgICAgICAgICAg ICAgICAgIEFyY2hpdmVUeXBlOjpEeW5hbWljSW5kZXggPT4gewo+ID4+ICAgICAgICAgICAgICAg ICAgICAgIGxldCBpbmRleCA9IER5bmFtaWNJbmRleFJlYWRlcjo6b3BlbigmcGF0aCk/Owo+ID4+ IEBAIC00NDMsNiArNDUwLDcgQEAgYXN5bmMgZm4gcHVsbF9zbmFwc2hvdF9mcm9tPCdhPigKPiA+ PiAgICAgIHJlYWRlcjogQXJjPGR5biBTeW5jU291cmNlUmVhZGVyICsgJ2E+LAo+ID4+ICAgICAg c25hcHNob3Q6ICYnYSBwYnNfZGF0YXN0b3JlOjpCYWNrdXBEaXIsCj4gPj4gICAgICBkb3dubG9h ZGVkX2NodW5rczogQXJjPE11dGV4PEhhc2hTZXQ8W3U4OyAzMl0+Pj4sCj4gPj4gKyAgICBjb3Jy dXB0OiBib29sLAo+ID4+ICApIC0+IFJlc3VsdDxTeW5jU3RhdHMsIEVycm9yPiB7Cj4gPj4gICAg ICBsZXQgKF9wYXRoLCBpc19uZXcsIF9zbmFwX2xvY2spID0gc25hcHNob3QKPiA+PiAgICAgICAg ICAuZGF0YXN0b3JlKCkKPiA+PiBAQCAtNDUxLDcgKzQ1OSw3IEBAIGFzeW5jIGZuIHB1bGxfc25h cHNob3RfZnJvbTwnYT4oCj4gPj4gICAgICBsZXQgc3luY19zdGF0cyA9IGlmIGlzX25ldyB7Cj4g Pgo+ID5pc19uZXcgYW5kIGNvcnJ1cHQgYXJlIG5ldmVyIGJvdGggdHJ1ZS4uCj4gPgo+ID4+ICAg ICAgICAgIGluZm8hKCJzeW5jIHNuYXBzaG90IHt9Iiwgc25hcHNob3QuZGlyKCkpOwo+ID4+Cj4g Pj4gLSAgICAgICAgbWF0Y2ggcHVsbF9zbmFwc2hvdChyZWFkZXIsIHNuYXBzaG90LCBkb3dubG9h ZGVkX2NodW5rcykuYXdhaXQgewo+ID4+ICsgICAgICAgIG1hdGNoIHB1bGxfc25hcHNob3QocmVh ZGVyLCBzbmFwc2hvdCwgZG93bmxvYWRlZF9jaHVua3MsIGNvcnJ1cHQpLmF3YWl0IHsKPiA+Cj4g PnNvIHRoaXMgc2hvdWxkIGJlIGFsd2F5cyBmYWxzZSA7KQo+IAo+IEFncmVlLCB3cm90ZSBhIGNv bW1lbnQgYW5kIHBhc3NlZCBkaXJlY3RseSBgZmFsc2VgLgo+IAo+ID4+ICAgICAgICAgICAgICBF cnIoZXJyKSA9PiB7Cj4gPj4gICAgICAgICAgICAgICAgICBpZiBsZXQgRXJyKGNsZWFudXBfZXJy KSA9IHNuYXBzaG90LmRhdGFzdG9yZSgpLnJlbW92ZV9iYWNrdXBfZGlyKAo+ID4+ICAgICAgICAg ICAgICAgICAgICAgIHNuYXBzaG90LmJhY2t1cF9ucygpLAo+ID4+IEBAIC00NjgsOCArNDc2LDE1 IEBAIGFzeW5jIGZuIHB1bGxfc25hcHNob3RfZnJvbTwnYT4oCj4gPj4gICAgICAgICAgICAgIH0K PiA+PiAgICAgICAgICB9Cj4gPj4gICAgICB9IGVsc2Ugewo+ID4+IC0gICAgICAgIGluZm8hKCJy ZS1zeW5jIHNuYXBzaG90IHt9Iiwgc25hcHNob3QuZGlyKCkpOwo+ID4+IC0gICAgICAgIHB1bGxf c25hcHNob3QocmVhZGVyLCBzbmFwc2hvdCwgZG93bmxvYWRlZF9jaHVua3MpLmF3YWl0Pwo+ID4+ ICsgICAgICAgIGlmIGNvcnJ1cHQgewo+ID4+ICsgICAgICAgICAgICBpbmZvISgKPiA+PiArICAg ICAgICAgICAgICAgICJyZS1zeW5jIHNuYXBzaG90IHt9IGR1ZSB0byBiYWQgdmVyaWZpY2F0aW9u IHJlc3VsdCIsCj4gPgo+ID5uaXQ6IHdoeSBub3QgY2FsbCBpdCAiY29ycnVwdCIsIHNpbmNlIHRo YXQgaXMgd2hhdCB0aGUgcGFyYW1ldGVyIGlzIGNhbGxlZD8KPiAKPiBhY2sKPiAKPiA+PiArICAg ICAgICAgICAgICAgIHNuYXBzaG90LmRpcigpCj4gPj4gKyAgICAgICAgICAgICk7Cj4gPj4gKyAg ICAgICAgfSBlbHNlIHsKPiA+PiArICAgICAgICAgICAgaW5mbyEoInJlLXN5bmMgc25hcHNob3Qg e30iLCBzbmFwc2hvdC5kaXIoKSk7Cj4gPj4gKyAgICAgICAgfQo+ID4+ICsgICAgICAgIHB1bGxf c25hcHNob3QocmVhZGVyLCBzbmFwc2hvdCwgZG93bmxvYWRlZF9jaHVua3MsIGNvcnJ1cHQpLmF3 YWl0Pwo+ID4+ICAgICAgfTsKPiA+Pgo+ID4+ICAgICAgT2soc3luY19zdGF0cykKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwYnMtZGV2ZWwgbWFpbGlu ZyBsaXN0CnBicy1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3gu Y29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wYnMtZGV2ZWwK