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 3095A1FF178 for ; Mon, 1 Dec 2025 13:52:21 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id C274A1BBDE; Mon, 1 Dec 2025 13:52:44 +0100 (CET) Date: Mon, 01 Dec 2025 13:52:07 +0100 From: Fabian =?iso-8859-1?q?Gr=FCnbichler?= To: Dominik Csapak , pdm-devel@lists.proxmox.com References: <20251201113917.518311-1-f.gruenbichler@proxmox.com> <20251201113917.518311-4-f.gruenbichler@proxmox.com> In-Reply-To: MIME-Version: 1.0 User-Agent: astroid/0.17.0 (https://github.com/astroidmail/astroid) Message-Id: <1764593361.1bcpnuv4t7.astroid@yuna.none> X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1764593487412 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.045 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: [pdm-devel] [RFC datacenter-manager 3/3] api: add subscription endpoints X-BeenThere: pdm-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Datacenter Manager development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pdm-devel-bounces@lists.proxmox.com Sender: "pdm-devel" T24gRGVjZW1iZXIgMSwgMjAyNSAxOjQyIHBtLCBEb21pbmlrIENzYXBhayB3cm90ZToKPiBzb21l IGNvbW1lbnRzIGlubGluZQo+IAo+IHJlc3QgTEdUTQo+IAo+IE9uIDEyLzEvMjUgMTI6MzggUE0s IEZhYmlhbiBHcsO8bmJpY2hsZXIgd3JvdGU6Cj4+IGZvciB0aGUgUERNIHN5c3RlbSBpdHNlbGYs IGJ5IHByb3h5IG9mIGhvdyBtYW55IG9mIHRoZSByZW1vdGUgbm9kZXMgaGF2ZSB2YWxpZAo+PiBz dWJzY3JpcHRpb25zIGFib3ZlIGEgY2VydGFpbiBsZXZlbC4KPj4gCj4+IFNpZ25lZC1vZmYtYnk6 IEZhYmlhbiBHcsO8bmJpY2hsZXIgPGYuZ3J1ZW5iaWNobGVyQHByb3htb3guY29tPgo+PiAtLS0K Pj4gdGhlIHRocmVzaG9sZHMgaGVyZSBhcmUgcmF0aGVyIGFyYml0cmFyeSBvZiBjb3Vyc2UsIGFz IGlzIHRoZSByZWZyZXNoCj4+IGludGVydmFsIGZvciBjYWNoZWQgc3Vic2NyaXB0aW9uIGluZm9y bWF0aW9uLi4KPj4gCj4+ICAgc2VydmVyL3NyYy9hcGkvbm9kZXMvbW9kLnJzICAgICAgICAgIHwg ICAyICsKPj4gICBzZXJ2ZXIvc3JjL2FwaS9ub2Rlcy9zdWJzY3JpcHRpb24ucnMgfCAxOTEgKysr KysrKysrKysrKysrKysrKysrKysrKysrCj4+ICAgc2VydmVyL3NyYy9hcGkvcmVzb3VyY2VzLnJz ICAgICAgICAgIHwgICAyICstCj4+ICAgMyBmaWxlcyBjaGFuZ2VkLCAxOTQgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQo+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBzZXJ2ZXIvc3JjL2FwaS9u b2Rlcy9zdWJzY3JpcHRpb24ucnMKPj4gCj4+IGRpZmYgLS1naXQgYS9zZXJ2ZXIvc3JjL2FwaS9u b2Rlcy9tb2QucnMgYi9zZXJ2ZXIvc3JjL2FwaS9ub2Rlcy9tb2QucnMKPj4gaW5kZXggYTBmZTE0 YS4uM2E3OTVkNiAxMDA2NDQKPj4gLS0tIGEvc2VydmVyL3NyYy9hcGkvbm9kZXMvbW9kLnJzCj4+ ICsrKyBiL3NlcnZlci9zcmMvYXBpL25vZGVzL21vZC5ycwo+PiBAQCAtMTEsNiArMTEsNyBAQCBw dWIgbW9kIGpvdXJuYWw7Cj4+ICAgcHViIG1vZCBuZXR3b3JrOwo+PiAgIHB1YiBtb2QgcnJkZGF0 YTsKPj4gICBwdWIgbW9kIHN0YXR1czsKPj4gK3B1YiBtb2Qgc3Vic2NyaXB0aW9uOwo+PiAgIHB1 YiBtb2Qgc3lzbG9nOwo+PiAgIHB1YiBtb2QgdGFza3M7Cj4+ICAgcHViIG1vZCB0ZXJtcHJveHk7 Cj4+IEBAIC00NSw2ICs0Niw3IEBAIHB1YiBjb25zdCBTVUJESVJTOiBTdWJkaXJNYXAgPSAmc29y dGVkIShbCj4+ICAgICAgICgiam91cm5hbCIsICZqb3VybmFsOjpST1VURVIpLAo+PiAgICAgICAo Im5ldHdvcmsiLCAmbmV0d29yazo6Uk9VVEVSKSwKPj4gICAgICAgKCJycmRhdGEiLCAmcnJkZGF0 YTo6Uk9VVEVSKSwKPj4gKyAgICAoInN1YnNjcmlwdGlvbiIsICZzdWJzY3JpcHRpb246OlJPVVRF UiksCj4+ICAgICAgICgic3RhdHVzIiwgJnN0YXR1czo6Uk9VVEVSKSwKPj4gICAgICAgKCJzeXNs b2ciLCAmc3lzbG9nOjpST1VURVIpLAo+PiAgICAgICAoInRhc2tzIiwgJnRhc2tzOjpST1VURVIp LAo+PiBkaWZmIC0tZ2l0IGEvc2VydmVyL3NyYy9hcGkvbm9kZXMvc3Vic2NyaXB0aW9uLnJzIGIv c2VydmVyL3NyYy9hcGkvbm9kZXMvc3Vic2NyaXB0aW9uLnJzCj4+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0Cj4+IGluZGV4IDAwMDAwMDAuLjM0M2EyYzgKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9z ZXJ2ZXIvc3JjL2FwaS9ub2Rlcy9zdWJzY3JpcHRpb24ucnMKPj4gQEAgLTAsMCArMSwxOTEgQEAK Pj4gK3VzZSBzdGQ6OmNvbGxlY3Rpb25zOjpIYXNoTWFwOwo+PiArCj4+ICt1c2UgYW55aG93Ojp7 YmFpbCwgRXJyb3J9Owo+PiArCj4+ICt1c2UgcHJveG1veF9yb3V0ZXI6OntQZXJtaXNzaW9uLCBS b3V0ZXJ9Owo+PiArdXNlIHByb3htb3hfc2NoZW1hOjphcGk7Cj4+ICt1c2UgcHJveG1veF9zY2hl bWE6OmFwaV90eXBlczo6Tk9ERV9TQ0hFTUE7Cj4+ICt1c2UgcHJveG1veF9zdWJzY3JpcHRpb246 OmZpbGVzOjp1cGRhdGVfYXB0X2F1dGg7Cj4+ICt1c2UgcHJveG1veF9zdWJzY3JpcHRpb246OntT dWJzY3JpcHRpb25JbmZvLCBTdWJzY3JpcHRpb25TdGF0dXN9Owo+PiArdXNlIHByb3htb3hfc3lz Ojpmczo6Q3JlYXRlT3B0aW9uczsKPj4gKwo+PiArdXNlIHBkbV9hcGlfdHlwZXM6OnJlbW90ZXM6 OlJlbW90ZVR5cGU7Cj4+ICt1c2UgcGRtX2FwaV90eXBlczo6c3Vic2NyaXB0aW9uOjp7Cj4+ICsg ICAgTm9kZVN1YnNjcmlwdGlvbkluZm8sIFN1YnNjcmlwdGlvbkxldmVsLCBTdWJzY3JpcHRpb25T dGF0aXN0aWNzLAo+PiArfTsKPj4gK3VzZSBwZG1fYXBpX3R5cGVzOjpQUklWX1NZU19NT0RJRlk7 Cj4+ICsKPj4gK3VzZSBjcmF0ZTo6YXBpOjpyZXNvdXJjZXM6OmdldF9zdWJzY3JpcHRpb25faW5m b19mb3JfcmVtb3RlOwo+PiArCj4+ICtjb25zdCBQUk9EVUNUX1VSTDogJnN0ciA9ICJodHRwczov L3d3dy5wcm94bW94LmNvbS9lbi9wcm94bW94LWRhdGFjZW50ZXItbWFhbmdlci9wcmljaW5nIjsK PiAKPiB0eXBvOgo+IAo+IHMvbWFhbmdlci9tYW5hZ2VyLwoKeWVzLiBub3Qgc3VyZSB3aGF0IHRo ZSBVUkwgaXMgc3VwcG9zZWQgdG8gYmUgaW4gYW55IGNhc2U/IDspCgo+IAo+PiArY29uc3QgQVBU X0FVVEhfRk46ICZzdHIgPSAiL2V0Yy9hcHQvYXV0aC5jb25mLmQvcGRtLmNvbmYiOwo+PiArY29u c3QgQVBUX0FVVEhfVVJMOiAmc3RyID0gImVudGVycHJpc2UucHJveG1veC5jb20vZGViaWFuL3Bk bSI7Cj4+ICsKPj4gKy8vIG1pbmltdW0gcmF0aW8gb2Ygbm9kZXMgd2l0aCBhY3RpdmUgc3Vic2Ny aXB0aW9ucwo+PiArY29uc3QgU1VCU0NSSVBUSU9OX1RIUkVTSE9MRDogZjY0ID0gMC45Owo+PiAr Ly8gbWF4IHJhdGlvIG9mIG5vZGVzIHdpdGggY29tbXVuaXR5IHN1YnNjcmlwdGlvbnMsIGFtb25n IG5vZGVzIHdpdGggc3Vic2NyaXB0aW9ucwo+PiArY29uc3QgQ09NTVVOSVRZX1RIUkVTSE9MRDog ZjY0ID0gMC40Owo+PiArCj4+ICtmbiBhcHRfYXV0aF9maWxlX29wdHMoKSAtPiBDcmVhdGVPcHRp b25zIHsKPj4gKyAgICBsZXQgbW9kZSA9IG5peDo6c3lzOjpzdGF0OjpNb2RlOjpmcm9tX2JpdHNf dHJ1bmNhdGUoMG8wNjAwKTsKPj4gKyAgICBDcmVhdGVPcHRpb25zOjpuZXcoKS5wZXJtKG1vZGUp Lm93bmVyKG5peDo6dW5pc3RkOjpST09UKQo+PiArfQo+PiArCj4+ICthc3luYyBmbiBnZXRfYWxs X3N1YnNjcmlwdGlvbl9pbmZvcygKPj4gKykgLT4gUmVzdWx0PEhhc2hNYXA8U3RyaW5nLCAoUmVt b3RlVHlwZSwgSGFzaE1hcDxTdHJpbmcsIE9wdGlvbjxOb2RlU3Vic2NyaXB0aW9uSW5mbz4+KT4s IEVycm9yPiB7Cj4+ICsgICAgbGV0IChyZW1vdGVzX2NvbmZpZywgX2RpZ2VzdCkgPSBwZG1fY29u ZmlnOjpyZW1vdGVzOjpjb25maWcoKT87Cj4+ICsKPj4gKyAgICBsZXQgbXV0IHN1YnNjcmlwdGlv bl9pbmZvID0gSGFzaE1hcDo6bmV3KCk7Cj4+ICsgICAgZm9yIChyZW1vdGVfbmFtZSwgcmVtb3Rl KSBpbiByZW1vdGVzX2NvbmZpZy5pdGVyKCkgewo+PiArICAgICAgICBtYXRjaCBnZXRfc3Vic2Ny aXB0aW9uX2luZm9fZm9yX3JlbW90ZShyZW1vdGUsIDI0ICogNjAgKiA2MCkuYXdhaXQgewo+PiAr ICAgICAgICAgICAgT2soaW5mbykgPT4gewo+PiArICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlv bl9pbmZvLmluc2VydChyZW1vdGVfbmFtZS50b19zdHJpbmcoKSwgKHJlbW90ZS50eSwgaW5mbykp Owo+PiArICAgICAgICAgICAgfQo+PiArICAgICAgICAgICAgRXJyKGVycikgPT4gewo+PiArICAg ICAgICAgICAgICAgIGxvZzo6ZGVidWchKCJGYWlsZWQgdG8gZ2V0IHN1YnNjcmlwdGlvbiBpbmZv IGZvciByZW1vdGUge3JlbW90ZV9uYW1lfSAtIHtlcnJ9Iik7Cj4+ICsgICAgICAgICAgICAgICAg c3Vic2NyaXB0aW9uX2luZm8uaW5zZXJ0KHJlbW90ZV9uYW1lLnRvX3N0cmluZygpLCAocmVtb3Rl LnR5LCBIYXNoTWFwOjpuZXcoKSkpOwo+PiArICAgICAgICAgICAgfQo+PiArICAgICAgICB9Cj4+ ICsgICAgfQo+PiArICAgIE9rKHN1YnNjcmlwdGlvbl9pbmZvKQo+PiArfQo+PiArCj4+ICtmbiBj b3VudF9zdWJzY3JpcHRpb25zKAo+PiArICAgIHN1YnNjcmlwdGlvbl9pbmZvczogJkhhc2hNYXA8 Cj4+ICsgICAgICAgIFN0cmluZywKPj4gKyAgICAgICAgKFJlbW90ZVR5cGUsIEhhc2hNYXA8U3Ry aW5nLCBPcHRpb248Tm9kZVN1YnNjcmlwdGlvbkluZm8+PiksCj4+ICsgICAgPiwKPj4gKykgLT4g U3Vic2NyaXB0aW9uU3RhdGlzdGljcyB7Cj4+ICsgICAgbGV0IG11dCBzdGF0cyA9IFN1YnNjcmlw dGlvblN0YXRpc3RpY3M6OmRlZmF1bHQoKTsKPj4gKyAgICBmb3IgKF9yZW1vdGUsIChfcmVtb3Rl X3R5cGUsIHJlbW90ZV9pbmZvcykpIGluIHN1YnNjcmlwdGlvbl9pbmZvcy5pdGVyKCkgewo+PiAr ICAgICAgICBpZiByZW1vdGVfaW5mb3MuaXNfZW1wdHkoKSB7Cj4+ICsgICAgICAgICAgICAvLyBj b3VudCByZW1vdGVzIHdpdGhvdXQgaW5mbyBhcyBhdCBsZWFzdCBvbmUgbm9kZQo+PiArICAgICAg ICAgICAgc3RhdHMudG90YWxfbm9kZXMgKz0gMTsKPj4gKyAgICAgICAgICAgIGNvbnRpbnVlOwo+ IAo+IHRoaXMgd291bGQgY291bnQgYW4gdW5yZWFjaGFibGUgcmVtb3RlIGFzIG9uZSBub3Qgc3Vi c2NyaWJlZCBub2RlLCBvcj8KCkkgc2V0IHRoZSBjYWNoZSBleHBpcnkgcXVpdGUgbG9uZyBmb3Ig dGhhdCByZWFzb24sIGJ1dCB5ZWFoLCBjb3VudGluZwpyZW1vdGVzIHRoYXQgdGhyb3cgYW4gZXJy b3IgZm9yIHN1YnNjcmlwdGlvbiBpbmZvIHJlcXVlc3RzIGlzIGEgYml0CnByb2JsZW1hdGljIG5v dyBtYXR0ZXIgd2hhdCB5b3UgZG86Ci0gY291bnQgdGhlbSBhcyB3aXRob3V0IHN1YnNjcmlwdGlv biAoY29uc2VydmF0aXZlLCBidXQgaWYgYSBsb3QgYXJlCiAgdW5yZWFjaGFibGUgbWlnaHQgdHJl YXQgUERNIGFzIHdpdGhvdXQgc3Vic2NyaXB0aW9uKQotIGlnbm9yZSB0aGVtIChtaWdodCBhbGxv dyBlYXNpbHkgImNoZWF0aW5nIikKLSBjb3VudCB0aGVtIGFzIHdpdGggc3Vic2NyaXB0aW9uIChw bGFpbiB3cm9uZyBeXikKCndlIGNvdWxkIGNvdW50IHRoZW0gc2VwYXJhdGVseSBhbmQgYWRkIGFu b3RoZXIgdGhyZXNob2xkIGZvciB0aGUgbWF4LgpudW1iZXIgb2YgcmVtb3RlcyB3aXRoICJ1bmtu b3duIiBzdGF0dXM/Cgo+IAo+PiArICAgICAgICB9Cj4+ICsgICAgICAgIGZvciAoX25vZGUsIG5v ZGVfaW5mbykgaW4gcmVtb3RlX2luZm9zLml0ZXIoKSB7Cj4+ICsgICAgICAgICAgICBzdGF0cy50 b3RhbF9ub2RlcyArPSAxOwo+PiArICAgICAgICAgICAgaWYgbGV0IFNvbWUoaW5mbykgPSBub2Rl X2luZm8gewo+PiArICAgICAgICAgICAgICAgIGlmIGluZm8uc3RhdHVzID09IFN1YnNjcmlwdGlv blN0YXR1czo6QWN0aXZlIHsKPj4gKyAgICAgICAgICAgICAgICAgICAgc3RhdHMuYWN0aXZlX3N1 YnNjcmlwdGlvbnMgKz0gMTsKPj4gKyAgICAgICAgICAgICAgICAgICAgaWYgaW5mby5sZXZlbCA9 PSBTdWJzY3JpcHRpb25MZXZlbDo6Q29tbXVuaXR5IHsKPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgIHN0YXRzLmNvbW11bml0eSArPSAxOwo+PiArICAgICAgICAgICAgICAgICAgICB9Cj4+ICsg ICAgICAgICAgICAgICAgfQo+PiArICAgICAgICAgICAgfQo+PiArICAgICAgICB9Cj4+ICsgICAg fQo+PiArICAgIHN0YXRzCj4+ICt9Cj4+ICsKPj4gK2ZuIGNoZWNrX2NvdW50cyhzdGF0czogU3Vi c2NyaXB0aW9uU3RhdGlzdGljcykgLT4gUmVzdWx0PCgpLCBFcnJvcj4gewo+PiArICAgIGxldCBz dWJzY3JpYmVkX3JhdGlvID0gc3RhdHMuYWN0aXZlX3N1YnNjcmlwdGlvbnMgYXMgZjY0IC8gc3Rh dHMudG90YWxfbm9kZXMgYXMgZjY0Owo+PiArICAgIGxldCBjb21tdW5pdHlfcmF0aW8gPSBzdGF0 cy5jb21tdW5pdHkgYXMgZjY0IC8gc3RhdHMuYWN0aXZlX3N1YnNjcmlwdGlvbnMgYXMgZjY0Owo+ PiArCj4+ICsgICAgaWYgc3Vic2NyaWJlZF9yYXRpbyA+IFNVQlNDUklQVElPTl9USFJFU0hPTEQg ewo+PiArICAgICAgICBpZiBjb21tdW5pdHlfcmF0aW8gPCBDT01NVU5JVFlfVEhSRVNIT0xEIHsK Pj4gKyAgICAgICAgICAgIHJldHVybiBPaygoKSk7Cj4+ICsgICAgICAgIH0gZWxzZSB7Cj4+ICsg ICAgICAgICAgICBiYWlsISgiVG9vIG1hbnkgcmVtb3RlIG5vZGVzIHdpdGggY29tbXVuaXR5IGxl dmVsIHN1YnNjcmlwdGlvbiEiKTsKPj4gKyAgICAgICAgfQo+PiArICAgIH0gZWxzZSB7Cj4+ICsg ICAgICAgIGJhaWwhKCJUb28gbWFueSByZW1vdGUgbm9kZXMgd2l0aG91dCBhY3RpdmUgc3Vic2Ny aXB0aW9uISIpOwo+PiArICAgIH0KPj4gK30KPj4gKwo+PiArI1thcGkoCj4+ICsgICAgYWNjZXNz OiB7IHBlcm1pc3Npb246ICZQZXJtaXNzaW9uOjpBbnlib2R5LCB9LAo+PiArICAgIGlucHV0OiB7 Cj4+ICsgICAgICAgIHByb3BlcnRpZXM6IHsKPj4gKyAgICAgICAgICAgIG5vZGU6IHsKPj4gKyAg ICAgICAgICAgICAgICBzY2hlbWE6IE5PREVfU0NIRU1BLAo+PiArICAgICAgICAgICAgfSwKPj4g KyAgICAgICAgfSwKPj4gKyAgICB9LAo+PiArICAgIHJldHVybnM6IHsKPj4gKyAgICAgICAgdHlw ZTogU3Vic2NyaXB0aW9uSW5mbywKPj4gKyAgICB9Cj4+ICspXQo+PiArLy8vIFJldHVybiBzdWJz Y3JpcHRpb24gc3RhdHVzCj4+ICtwdWIgYXN5bmMgZm4gZ2V0X3N1YnNjcmlwdGlvbigpIC0+IFJl c3VsdDxTdWJzY3JpcHRpb25JbmZvLCBFcnJvcj4gewo+PiArICAgIGxldCBpbmZvcyA9IGdldF9h bGxfc3Vic2NyaXB0aW9uX2luZm9zKCkuYXdhaXQ/Owo+PiArCj4+ICsgICAgbGV0IHN0YXRzID0g Y291bnRfc3Vic2NyaXB0aW9ucygmaW5mb3MpOwo+PiArCj4+ICsgICAgaWYgbGV0IEVycihlcnIp ID0gY2hlY2tfY291bnRzKHN0YXRzKSB7Cj4+ICsgICAgICAgIE9rKFN1YnNjcmlwdGlvbkluZm8g ewo+PiArICAgICAgICAgICAgc3RhdHVzOiBTdWJzY3JpcHRpb25TdGF0dXM6OkludmFsaWQsCj4+ ICsgICAgICAgICAgICBtZXNzYWdlOiBTb21lKGZvcm1hdCEoIntlcnJ9IikpLAo+PiArICAgICAg ICAgICAgc2VydmVyaWQ6IE5vbmUsCj4+ICsgICAgICAgICAgICB1cmw6IFNvbWUoUFJPRFVDVF9V UkwuaW50bygpKSwKPj4gKyAgICAgICAgICAgIC4uRGVmYXVsdDo6ZGVmYXVsdCgpCj4+ICsgICAg ICAgIH0pCj4+ICsgICAgfSBlbHNlIHsKPj4gKyAgICAgICAgT2soU3Vic2NyaXB0aW9uSW5mbyB7 Cj4+ICsgICAgICAgICAgICBzdGF0dXM6IFN1YnNjcmlwdGlvblN0YXR1czo6QWN0aXZlLAo+PiAr ICAgICAgICAgICAgdXJsOiBTb21lKFBST0RVQ1RfVVJMLmludG8oKSksCj4+ICsgICAgICAgICAg ICAuLkRlZmF1bHQ6OmRlZmF1bHQoKQo+PiArICAgICAgICB9KQo+PiArICAgIH0KPj4gK30KPj4g Kwo+PiArI1thcGkoCj4+ICsgICAgaW5wdXQ6IHsKPj4gKyAgICAgICAgcHJvcGVydGllczogewo+ PiArICAgICAgICAgICAgbm9kZTogewo+PiArICAgICAgICAgICAgICAgIHNjaGVtYTogTk9ERV9T Q0hFTUEsCj4+ICsgICAgICAgICAgICB9LAo+PiArICAgICAgICB9LAo+PiArICAgIH0sCj4+ICsg ICAgcHJvdGVjdGVkOiB0cnVlLAo+PiArICAgIGFjY2Vzczogewo+PiArICAgICAgICBwZXJtaXNz aW9uOiAmUGVybWlzc2lvbjo6UHJpdmlsZWdlKCZbInN5c3RlbSJdLCBQUklWX1NZU19NT0RJRlks IGZhbHNlKSwKPj4gKyAgICB9LAo+PiArKV0KPj4gKy8vLyBVcGRhdGUgc3Vic2NyaXB0aW9uIGlu Zm9ybWF0aW9uCj4+ICtwdWIgYXN5bmMgZm4gY2hlY2tfc3Vic2NyaXB0aW9uKCkgLT4gUmVzdWx0 PCgpLCBFcnJvcj4gewo+PiArICAgIGxldCBpbmZvcyA9IGdldF9hbGxfc3Vic2NyaXB0aW9uX2lu Zm9zKCkuYXdhaXQ/Owo+PiArICAgIGxldCBzdGF0cyA9IGNvdW50X3N1YnNjcmlwdGlvbnMoJmlu Zm9zKTsKPj4gKwo+PiArICAgIGlmIGxldCBFcnIoZXJyKSA9IGNoZWNrX2NvdW50cyhzdGF0cykg ewo+PiArICAgICAgICB1cGRhdGVfYXB0X2F1dGgoQVBUX0FVVEhfRk4sIGFwdF9hdXRoX2ZpbGVf b3B0cygpLCBBUFRfQVVUSF9VUkwsIE5vbmUsIE5vbmUpPzsKPj4gKyAgICAgICAgcmV0dXJuIEVy cihlcnIpOwo+PiArICAgIH0KPj4gKwo+PiArICAgIGxldCBtdXQgZm91bmQgPSBmYWxzZTsKPj4g KyAgICAnb3V0ZXI6IGZvciAocmVtb3RlLCAocmVtb3RlX3R5cGUsIHJlbW90ZV9pbmZvKSkgaW4g aW5mb3MuaXRlcigpIHsKPj4gKyAgICAgICAgaWYgKnJlbW90ZV90eXBlICE9IFJlbW90ZVR5cGU6 OlB2ZSB7Cj4+ICsgICAgICAgICAgICBjb250aW51ZTsKPj4gKyAgICAgICAgfQo+PiArICAgICAg ICBmb3IgKG5vZGUsIG5vZGVfaW5mbykgaW4gcmVtb3RlX2luZm8uaXRlcigpIHsKPj4gKyAgICAg ICAgICAgIGlmIGxldCBTb21lKGluZm8pID0gbm9kZV9pbmZvIHsKPj4gKyAgICAgICAgICAgICAg ICBpZiBpbmZvLnN0YXR1cyA9PSBTdWJzY3JpcHRpb25TdGF0dXM6OkFjdGl2ZQo+PiArICAgICAg ICAgICAgICAgICAgICAmJiBpbmZvLmtleS5pc19zb21lKCkKPj4gKyAgICAgICAgICAgICAgICAg ICAgJiYgaW5mby5zZXJ2ZXJpZC5pc19zb21lKCkKPj4gKyAgICAgICAgICAgICAgICB7Cj4+ICsg ICAgICAgICAgICAgICAgICAgIGxvZzo6aW5mbyEoIlVzaW5nIHN1YnNjcmlwdGlvbiBvZiBub2Rl ICd7bm9kZX0nIG9mIHJlbW90ZSAne3JlbW90ZX0nIGZvciBlbnRlcnByaXNlIHJlcG9zaXRvcnkg YWNjZXNzIik7Cj4+ICsgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9hcHRfYXV0aCgKPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgIEFQVF9BVVRIX0ZOLAo+PiArICAgICAgICAgICAgICAgICAg ICAgICAgYXB0X2F1dGhfZmlsZV9vcHRzKCksCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICBB UFRfQVVUSF9VUkwsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmtleS5jbG9uZSgp LAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5zZXJ2ZXJpZC5jbG9uZSgpLAo+PiAr ICAgICAgICAgICAgICAgICAgICApPzsKPj4gKyAgICAgICAgICAgICAgICAgICAgZm91bmQgPSB0 cnVlOwo+PiArICAgICAgICAgICAgICAgICAgICBicmVhayAnb3V0ZXI7Cj4+ICsgICAgICAgICAg ICAgICAgfQo+PiArICAgICAgICAgICAgfQo+PiArICAgICAgICB9Cj4+ICsgICAgfQo+PiArCj4+ ICsgICAgaWYgIWZvdW5kIHsKPj4gKyAgICAgICAgbG9nOjp3YXJuISgiTm8gdmFsaWQgc3Vic2Ny aXB0aW9uIGZvdW5kIGZvciBjb25maWd1cmluZyBlbnRlcnByaXNlIHJlcG9zaXRvcnkgYWNjZXNz Li4iKTsKPj4gKyAgICAgICAgdXBkYXRlX2FwdF9hdXRoKEFQVF9BVVRIX0ZOLCBhcHRfYXV0aF9m aWxlX29wdHMoKSwgQVBUX0FVVEhfVVJMLCBOb25lLCBOb25lKT87Cj4+ICsgICAgfQo+PiArCj4+ ICsgICAgT2soKCkpCj4+ICt9Cj4+ICsKPj4gK3B1YiBjb25zdCBST1VURVI6IFJvdXRlciA9IFJv dXRlcjo6bmV3KCkKPj4gKyAgICAuZ2V0KCZBUElfTUVUSE9EX0dFVF9TVUJTQ1JJUFRJT04pCj4+ ICsgICAgLnBvc3QoJkFQSV9NRVRIT0RfQ0hFQ0tfU1VCU0NSSVBUSU9OKTsKPj4gZGlmZiAtLWdp dCBhL3NlcnZlci9zcmMvYXBpL3Jlc291cmNlcy5ycyBiL3NlcnZlci9zcmMvYXBpL3Jlc291cmNl cy5ycwo+PiBpbmRleCA0YmVhYTU0Li5hZGFiMDIxIDEwMDY0NAo+PiAtLS0gYS9zZXJ2ZXIvc3Jj L2FwaS9yZXNvdXJjZXMucnMKPj4gKysrIGIvc2VydmVyL3NyYy9hcGkvcmVzb3VyY2VzLnJzCj4+ IEBAIC03NjcsNyArNzY3LDcgQEAgc3RhdGljIFNVQlNDUklQVElPTl9DQUNIRTogTGF6eUxvY2s8 UndMb2NrPEhhc2hNYXA8U3RyaW5nLCBDYWNoZWRTdWJzY3JpcHRpb25TdGEKPj4gICAvLy8KPj4g ICAvLy8gSWYgcmVjZW50IGVub3VnaCBjYWNoZWQgZGF0YSBpcyBhdmFpbGFibGUsIGl0IGlzIHJl dHVybmVkCj4+ICAgLy8vIGluc3RlYWQgb2YgY2FsbGluZyBvdXQgdG8gdGhlIHJlbW90ZS4KPj4g LWFzeW5jIGZuIGdldF9zdWJzY3JpcHRpb25faW5mb19mb3JfcmVtb3RlKAo+PiArcHViIGFzeW5j IGZuIGdldF9zdWJzY3JpcHRpb25faW5mb19mb3JfcmVtb3RlKAo+PiAgICAgICByZW1vdGU6ICZS ZW1vdGUsCj4+ICAgICAgIG1heF9hZ2U6IHU2NCwKPj4gICApIC0+IFJlc3VsdDxIYXNoTWFwPFN0 cmluZywgT3B0aW9uPE5vZGVTdWJzY3JpcHRpb25JbmZvPj4sIEVycm9yPiB7Cj4gCj4gCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcGRtLWRldmVsIG1h aWxpbmcgbGlzdApwZG0tZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6Ly9saXN0cy5wcm94 bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcGRtLWRldmVsCg==