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 279BD1FF15C for ; Wed, 30 Oct 2024 14:38:21 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 35AD919C42; Wed, 30 Oct 2024 14:38:26 +0100 (CET) Message-ID: <0226b9bf-a022-45c9-9d06-d1bd16b6d388@proxmox.com> Date: Wed, 30 Oct 2024 14:37:51 +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-31-c.ebner@proxmox.com> <1729847288.zar8jnzpdu.astroid@yuna.none> Content-Language: en-US, de-DE From: Christian Ebner In-Reply-To: <1729847288.zar8jnzpdu.astroid@yuna.none> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.522 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 POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes 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 30/31] api: datastore/namespace: return backup groups delete stats on remove 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" T24gMTAvMjUvMjQgMTI6MTAsIEZhYmlhbiBHcsO8bmJpY2hsZXIgd3JvdGU6Cj4gT24gT2N0b2Jl ciAxOCwgMjAyNCAxMDo0MiBhbSwgQ2hyaXN0aWFuIEVibmVyIHdyb3RlOgo+PiBBZGQgYW5kIGV4 cG9zZSB0aGUgYmFja3VwIGdyb3VwIGRlbGV0ZSBzdGF0aXN0aWNzIGJ5IGFkZGluZyB0aGUKPj4g cmV0dXJuIHR5cGUgdG8gdGhlIGNvcnJlc3BvbmRpbmcgUkVTVCBBUEkgZW5kcG9pbnRzLgo+Pgo+ PiBGdXJ0aGVyLCBhZGQgYSBgaWdub3JlLXByb3RlY3RlZGAgZmxhZyB0byB0aGUgYXBpIGVuZHBv aW50cywgYWxsb3dpbmcKPj4gdG8gcmV0dXJuIHdpdGhvdXQgZXJyb3Igd2hlbiBzZXQuCj4gCj4g bG9naWNhbCBjaGFuZ2VzIGxvb2sgZ29vZCB0byBtZSwgYGlnbm9yZS1wcm90ZWN0ZWRgIGlzIGp1 c3Qgc2xpZ2h0bHkKPiBjb25mdXNpbmcgYXMgYSBuYW1lIC0ganVzdCByZWFkaW5nIHRoYXQsIEkg d291bGQgdGhpbmsgdGhpcyByZW1vdmVzIHRoZQo+IG5hbWVzcGFjZS9ncm91cCBldmVuIGlmIHNv bWV0aGluZyBwcm90ZWN0ZWQgaXMgZm91bmQsIG5vdCB0aGF0IGl0IHdvdWxkCj4gbWFrZSB0aGF0 ICJlcnJvciIgbm9uLWZhdGFsLgo+IAo+IGNhbid0IHJlYWxseSB0aGluayBvZiBhIGNhdGNoeSBh bHRlcm5hdGl2ZSB0aG91Z2gsIGJ1dCB3YW50ZWQgdG8gbWVudGlvbgo+IGl0IGluIGNhc2Ugc29t ZWJvZHkgZWxzZSBjYW4gOykKClJlbmFtZWQgdGhpcyB0byBgZXJyb3Itb24tcHJvdGVjdGVkYCBh bmQgc3dpdGNoZWQgdGhlIGJvb2xlYW4gbG9naWMuIApUaGF0IHNob3VsZCBob3BlZnVsbHkgbWFr ZSBpdCBsZXNzIHN1c2NlcHRpYmxlIHRvIG1pc2ludGVycHJldGF0aW9uLgoKPiAKPiB3ZSBzaG91 bGQgcHJvYmFibHkgc3dpdGNoIHRoZSBVSSBvdmVyIHRvIHByZXNlbnQgdGhlIHJlc3VsdHMgbm93 IHRoYXQgd2UKPiBjYW4/CgpOb3Qgc3VyZSBJIGZ1bGx5IHVuZGVyc3Rvb2Qgd2hhdCB5b3UgbWVh biBoZXJlLCB0aGUgcmVtb3ZlIHZhbmlzaGVkIApzdGF0cyBhcmUgYWxyZWFkeSBleHBvc2VkIGlu IHRoZSBzdW1tYXJ5IG9mIHRoZSBzeW5jIGpvYi4KCj4gCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IENo cmlzdGlhbiBFYm5lciA8Yy5lYm5lckBwcm94bW94LmNvbT4KPj4gLS0tCj4+IGNoYW5nZXMgc2lu Y2UgdmVyc2lvbiA0Ogo+PiAtIG5vIGNoYW5nZXMKPj4KPj4gY2hhbmdlcyBzaW5jZSB2ZXJzaW9u IDM6Cj4+IC0gbWFrZSBuZXcgZW5kcG9pbnQgZmFpbHVyZSBiZWhhdmlvdXIgb3B0LWluCj4+Cj4+ ICAgcGJzLWRhdGFzdG9yZS9zcmMvZGF0YXN0b3JlLnJzIHwgMjAgKysrKysrKysrKysrKystLS0t LS0KPj4gICBzcmMvYXBpMi9hZG1pbi9kYXRhc3RvcmUucnMgICAgfCAyOSArKysrKysrKysrKysr KysrKysrKystLS0tLS0tLQo+PiAgIHNyYy9hcGkyL2FkbWluL25hbWVzcGFjZS5ycyAgICB8IDMx ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KPj4gICBzcmMvc2VydmVyL3B1bGwucnMg ICAgICAgICAgICAgfCAgNiArKysrLS0KPj4gICA0IGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlv bnMoKyksIDI1IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvcGJzLWRhdGFzdG9yZS9z cmMvZGF0YXN0b3JlLnJzIGIvcGJzLWRhdGFzdG9yZS9zcmMvZGF0YXN0b3JlLnJzCj4+IGluZGV4 IGM4NzAxZDJkZC4uNjhjN2YyOTM0IDEwMDY0NAo+PiAtLS0gYS9wYnMtZGF0YXN0b3JlL3NyYy9k YXRhc3RvcmUucnMKPj4gKysrIGIvcGJzLWRhdGFzdG9yZS9zcmMvZGF0YXN0b3JlLnJzCj4+IEBA IC00ODksMTYgKzQ4OSwyMiBAQCBpbXBsIERhdGFTdG9yZSB7Cj4+ICAgICAgIC8vLwo+PiAgICAg ICAvLy8gRG9lcyAqbm90KiBkZXNjZW5kcyBpbnRvIGNoaWxkLW5hbWVzcGFjZXMgYW5kIGRvZXNu J3QgcmVtb2VzIHRoZSBuYW1lc3BhY2UgaXRzZWxmIGVpdGhlci4KPj4gICAgICAgLy8vCj4+IC0g ICAgLy8vIFJldHVybnMgdHJ1ZSBpZiBhbGwgdGhlIGdyb3VwcyB3ZXJlIHJlbW92ZWQsIGFuZCBm YWxzZSBpZiBzb21lIHdlcmUgcHJvdGVjdGVkLgo+PiAtICAgIHB1YiBmbiByZW1vdmVfbmFtZXNw YWNlX2dyb3VwcyhzZWxmOiAmQXJjPFNlbGY+LCBuczogJkJhY2t1cE5hbWVzcGFjZSkgLT4gUmVz dWx0PGJvb2wsIEVycm9yPiB7Cj4+ICsgICAgLy8vIFJldHVybnMgYSB0dXBsZSB3aXRoIHRoZSBm aXJzdCBpdGVtIGJlaW5nIHRydWUgaWYgYWxsIHRoZSBncm91cHMgd2VyZSByZW1vdmVkLCBhbmQg ZmFsc2UgaWYgc29tZSB3ZXJlIHByb3RlY3RlZC4KPj4gKyAgICAvLy8gVGhlIHNlY29uZCBpdGVt IHJldHVybnMgdGhlIHJlbW92ZSBzdGF0aXN0aWNzLgo+PiArICAgIHB1YiBmbiByZW1vdmVfbmFt ZXNwYWNlX2dyb3VwcygKPj4gKyAgICAgICAgc2VsZjogJkFyYzxTZWxmPiwKPj4gKyAgICAgICAg bnM6ICZCYWNrdXBOYW1lc3BhY2UsCj4+ICsgICAgKSAtPiBSZXN1bHQ8KGJvb2wsIEJhY2t1cEdy b3VwRGVsZXRlU3RhdHMpLCBFcnJvcj4gewo+PiAgICAgICAgICAgLy8gRklYTUU6IGxvY2tpbmc/ IFRoZSBzaW5nbGUgZ3JvdXBzL3NuYXBzaG90cyBhcmUgYWxyZWFkeSBwcm90ZWN0ZWQsIHNvIG1h eSBub3QgYmUKPj4gICAgICAgICAgIC8vIG5lY2Vzc2FyeSAoZGVwZW5kcyBvbiB3aGF0IHdlIGFs bCBhbGxvdyB0byBkbyB3aXRoIG5hbWVzcGFjZXMpCj4+ICAgICAgICAgICBsb2c6OmluZm8hKCJy ZW1vdmluZyBhbGwgZ3JvdXBzIGluIG5hbWVzcGFjZSB7fTove25zfSIsIHNlbGYubmFtZSgpKTsK Pj4gICAKPj4gICAgICAgICAgIGxldCBtdXQgcmVtb3ZlZF9hbGxfZ3JvdXBzID0gdHJ1ZTsKPj4g KyAgICAgICAgbGV0IG11dCBzdGF0cyA9IEJhY2t1cEdyb3VwRGVsZXRlU3RhdHM6OmRlZmF1bHQo KTsKPj4gICAKPj4gICAgICAgICAgIGZvciBncm91cCBpbiBzZWxmLml0ZXJfYmFja3VwX2dyb3Vw cyhucy50b19vd25lZCgpKT8gewo+PiAgICAgICAgICAgICAgIGxldCBkZWxldGVfc3RhdHMgPSBn cm91cD8uZGVzdHJveSgpPzsKPj4gKyAgICAgICAgICAgIHN0YXRzLmFkZCgmZGVsZXRlX3N0YXRz KTsKPj4gICAgICAgICAgICAgICByZW1vdmVkX2FsbF9ncm91cHMgPSByZW1vdmVkX2FsbF9ncm91 cHMgJiYgZGVsZXRlX3N0YXRzLmFsbF9yZW1vdmVkKCk7Cj4+ICAgICAgICAgICB9Cj4+ICAgCj4+ IEBAIC01MTUsNyArNTIxLDcgQEAgaW1wbCBEYXRhU3RvcmUgewo+PiAgICAgICAgICAgICAgIH0K Pj4gICAgICAgICAgIH0KPj4gICAKPj4gLSAgICAgICAgT2socmVtb3ZlZF9hbGxfZ3JvdXBzKQo+ PiArICAgICAgICBPaygocmVtb3ZlZF9hbGxfZ3JvdXBzLCBzdGF0cykpCj4+ICAgICAgIH0KPj4g ICAKPj4gICAgICAgLy8vIFJlbW92ZSBhIGNvbXBsZXRlIGJhY2t1cCBuYW1lc3BhY2Ugb3B0aW9u YWxseSBpbmNsdWRpbmcgYWxsIGl0J3MsIGFuZCBjaGlsZCBuYW1lc3BhY2VzJywKPj4gQEAgLTUy NywxMyArNTMzLDE1IEBAIGltcGwgRGF0YVN0b3JlIHsKPj4gICAgICAgICAgIHNlbGY6ICZBcmM8 U2VsZj4sCj4+ICAgICAgICAgICBuczogJkJhY2t1cE5hbWVzcGFjZSwKPj4gICAgICAgICAgIGRl bGV0ZV9ncm91cHM6IGJvb2wsCj4+IC0gICAgKSAtPiBSZXN1bHQ8Ym9vbCwgRXJyb3I+IHsKPj4g KyAgICApIC0+IFJlc3VsdDwoYm9vbCwgQmFja3VwR3JvdXBEZWxldGVTdGF0cyksIEVycm9yPiB7 Cj4+ICAgICAgICAgICBsZXQgc3RvcmUgPSBzZWxmLm5hbWUoKTsKPj4gICAgICAgICAgIGxldCBt dXQgcmVtb3ZlZF9hbGxfcmVxdWVzdGVkID0gdHJ1ZTsKPj4gKyAgICAgICAgbGV0IG11dCBzdGF0 cyA9IEJhY2t1cEdyb3VwRGVsZXRlU3RhdHM6OmRlZmF1bHQoKTsKPj4gICAgICAgICAgIGlmIGRl bGV0ZV9ncm91cHMgewo+PiAgICAgICAgICAgICAgIGxvZzo6aW5mbyEoInJlbW92aW5nIHdob2xl IG5hbWVzcGFjZSByZWN1cnNpdmVseSBiZWxvdyB7c3RvcmV9Oi97bnN9IiwpOwo+PiAgICAgICAg ICAgICAgIGZvciBucyBpbiBzZWxmLnJlY3Vyc2l2ZV9pdGVyX2JhY2t1cF9ucyhucy50b19vd25l ZCgpKT8gewo+PiAtICAgICAgICAgICAgICAgIGxldCByZW1vdmVkX25zX2dyb3VwcyA9IHNlbGYu cmVtb3ZlX25hbWVzcGFjZV9ncm91cHMoJm5zPyk/Owo+PiArICAgICAgICAgICAgICAgIGxldCAo cmVtb3ZlZF9uc19ncm91cHMsIGRlbGV0ZV9zdGF0cykgPSBzZWxmLnJlbW92ZV9uYW1lc3BhY2Vf Z3JvdXBzKCZucz8pPzsKPj4gKyAgICAgICAgICAgICAgICBzdGF0cy5hZGQoJmRlbGV0ZV9zdGF0 cyk7Cj4+ICAgICAgICAgICAgICAgICAgIHJlbW92ZWRfYWxsX3JlcXVlc3RlZCA9IHJlbW92ZWRf YWxsX3JlcXVlc3RlZCAmJiByZW1vdmVkX25zX2dyb3VwczsKPj4gICAgICAgICAgICAgICB9Cj4+ ICAgICAgICAgICB9IGVsc2Ugewo+PiBAQCAtNTc0LDcgKzU4Miw3IEBAIGltcGwgRGF0YVN0b3Jl IHsKPj4gICAgICAgICAgICAgICB9Cj4+ICAgICAgICAgICB9Cj4+ICAgCj4+IC0gICAgICAgIE9r KHJlbW92ZWRfYWxsX3JlcXVlc3RlZCkKPj4gKyAgICAgICAgT2soKHJlbW92ZWRfYWxsX3JlcXVl c3RlZCwgc3RhdHMpKQo+PiAgICAgICB9Cj4+ICAgCj4+ICAgICAgIC8vLyBSZW1vdmUgYSBjb21w bGV0ZSBiYWNrdXAgZ3JvdXAgaW5jbHVkaW5nIGFsbCBzbmFwc2hvdHMuCj4+IGRpZmYgLS1naXQg YS9zcmMvYXBpMi9hZG1pbi9kYXRhc3RvcmUucnMgYi9zcmMvYXBpMi9hZG1pbi9kYXRhc3RvcmUu cnMKPj4gaW5kZXggNzY2MGRkN2Y2Li44MWY4MWIyYjMgMTAwNjQ0Cj4+IC0tLSBhL3NyYy9hcGky L2FkbWluL2RhdGFzdG9yZS5ycwo+PiArKysgYi9zcmMvYXBpMi9hZG1pbi9kYXRhc3RvcmUucnMK Pj4gQEAgLTM0LDEwICszNCwxMCBAQCB1c2UgcHhhcjo6YWNjZXNzb3I6OmFpbzo6QWNjZXNzb3I7 Cj4+ICAgdXNlIHB4YXI6OkVudHJ5S2luZDsKPj4gICAKPj4gICB1c2UgcGJzX2FwaV90eXBlczo6 ewo+PiAtICAgIHByaW50X25zX2FuZF9zbmFwc2hvdCwgcHJpbnRfc3RvcmVfYW5kX25zLCBBdXRo aWQsIEJhY2t1cENvbnRlbnQsIEJhY2t1cE5hbWVzcGFjZSwgQmFja3VwVHlwZSwKPj4gLSAgICBD b3VudHMsIENyeXB0TW9kZSwgRGF0YVN0b3JlQ29uZmlnLCBEYXRhU3RvcmVMaXN0SXRlbSwgRGF0 YVN0b3JlU3RhdHVzLAo+PiAtICAgIEdhcmJhZ2VDb2xsZWN0aW9uSm9iU3RhdHVzLCBHcm91cExp c3RJdGVtLCBKb2JTY2hlZHVsZVN0YXR1cywgS2VlcE9wdGlvbnMsIE9wZXJhdGlvbiwKPj4gLSAg ICBQcnVuZUpvYk9wdGlvbnMsIFNuYXBzaG90TGlzdEl0ZW0sIFNuYXBzaG90VmVyaWZ5U3RhdGUs IEJBQ0tVUF9BUkNISVZFX05BTUVfU0NIRU1BLAo+PiArICAgIHByaW50X25zX2FuZF9zbmFwc2hv dCwgcHJpbnRfc3RvcmVfYW5kX25zLCBBdXRoaWQsIEJhY2t1cENvbnRlbnQsIEJhY2t1cEdyb3Vw RGVsZXRlU3RhdHMsCj4+ICsgICAgQmFja3VwTmFtZXNwYWNlLCBCYWNrdXBUeXBlLCBDb3VudHMs IENyeXB0TW9kZSwgRGF0YVN0b3JlQ29uZmlnLCBEYXRhU3RvcmVMaXN0SXRlbSwKPj4gKyAgICBE YXRhU3RvcmVTdGF0dXMsIEdhcmJhZ2VDb2xsZWN0aW9uSm9iU3RhdHVzLCBHcm91cExpc3RJdGVt LCBKb2JTY2hlZHVsZVN0YXR1cywgS2VlcE9wdGlvbnMsCj4+ICsgICAgT3BlcmF0aW9uLCBQcnVu ZUpvYk9wdGlvbnMsIFNuYXBzaG90TGlzdEl0ZW0sIFNuYXBzaG90VmVyaWZ5U3RhdGUsIEJBQ0tV UF9BUkNISVZFX05BTUVfU0NIRU1BLAo+PiAgICAgICBCQUNLVVBfSURfU0NIRU1BLCBCQUNLVVBf TkFNRVNQQUNFX1NDSEVNQSwgQkFDS1VQX1RJTUVfU0NIRU1BLCBCQUNLVVBfVFlQRV9TQ0hFTUEs Cj4+ICAgICAgIERBVEFTVE9SRV9TQ0hFTUEsIElHTk9SRV9WRVJJRklFRF9CQUNLVVBTX1NDSEVN QSwgTUFYX05BTUVTUEFDRV9ERVBUSCwgTlNfTUFYX0RFUFRIX1NDSEVNQSwKPj4gICAgICAgUFJJ Vl9EQVRBU1RPUkVfQVVESVQsIFBSSVZfREFUQVNUT1JFX0JBQ0tVUCwgUFJJVl9EQVRBU1RPUkVf TU9ESUZZLCBQUklWX0RBVEFTVE9SRV9QUlVORSwKPj4gQEAgLTI2Nyw4ICsyNjcsMTcgQEAgcHVi IGZuIGxpc3RfZ3JvdXBzKAo+PiAgICAgICAgICAgICAgICAgICB0eXBlOiBwYnNfYXBpX3R5cGVz OjpCYWNrdXBHcm91cCwKPj4gICAgICAgICAgICAgICAgICAgZmxhdHRlbjogdHJ1ZSwKPj4gICAg ICAgICAgICAgICB9LAo+PiArICAgICAgICAgICAgImlnbm9yZS1wcm90ZWN0ZWQiOiB7Cj4+ICsg ICAgICAgICAgICAgICAgdHlwZTogYm9vbCwKPj4gKyAgICAgICAgICAgICAgICBvcHRpb25hbDog dHJ1ZSwKPj4gKyAgICAgICAgICAgICAgICBkZWZhdWx0OiBmYWxzZSwKPj4gKyAgICAgICAgICAg ICAgICBkZXNjcmlwdGlvbjogIk5vIGVycm9yIHdoZW4gZ3JvdXAgY2Fubm90IGJlIGRlbGV0ZWQg YmVjYXVzZSBvZiBwcm90ZWN0ZWQgc25hcHNob3RzIiwKPj4gKyAgICAgICAgICAgIH0KPj4gICAg ICAgICAgIH0sCj4+ICAgICAgIH0sCj4+ICsgICAgcmV0dXJuczogewo+PiArICAgICAgICB0eXBl OiBCYWNrdXBHcm91cERlbGV0ZVN0YXRzLAo+PiArICAgIH0sCj4+ICAgICAgIGFjY2Vzczogewo+ PiAgICAgICAgICAgcGVybWlzc2lvbjogJlBlcm1pc3Npb246OkFueWJvZHksCj4+ICAgICAgICAg ICBkZXNjcmlwdGlvbjogIlJlcXVpcmVzIG9uIC9kYXRhc3RvcmUve3N0b3JlfVsve25hbWVzcGFj ZX1dIGVpdGhlciBEQVRBU1RPUkVfTU9ESUZZIGZvciBhbnkgXAo+PiBAQCAtMjc5LDkgKzI4OCwx MCBAQCBwdWIgZm4gbGlzdF9ncm91cHMoCj4+ICAgcHViIGFzeW5jIGZuIGRlbGV0ZV9ncm91cCgK Pj4gICAgICAgc3RvcmU6IFN0cmluZywKPj4gICAgICAgbnM6IE9wdGlvbjxCYWNrdXBOYW1lc3Bh Y2U+LAo+PiArICAgIGlnbm9yZV9wcm90ZWN0ZWQ6IGJvb2wsCj4+ICAgICAgIGdyb3VwOiBwYnNf YXBpX3R5cGVzOjpCYWNrdXBHcm91cCwKPj4gICAgICAgcnBjZW52OiAmbXV0IGR5biBScGNFbnZp cm9ubWVudCwKPj4gLSkgLT4gUmVzdWx0PFZhbHVlLCBFcnJvcj4gewo+PiArKSAtPiBSZXN1bHQ8 QmFja3VwR3JvdXBEZWxldGVTdGF0cywgRXJyb3I+IHsKPj4gICAgICAgbGV0IGF1dGhfaWQ6IEF1 dGhpZCA9IHJwY2Vudi5nZXRfYXV0aF9pZCgpLnVud3JhcCgpLnBhcnNlKCk/Owo+PiAgIAo+PiAg ICAgICB0b2tpbzo6dGFzazo6c3Bhd25fYmxvY2tpbmcobW92ZSB8fCB7Cj4+IEBAIC0yOTksMTAg KzMwOSwxMyBAQCBwdWIgYXN5bmMgZm4gZGVsZXRlX2dyb3VwKAo+PiAgIAo+PiAgICAgICAgICAg bGV0IGRlbGV0ZV9zdGF0cyA9IGRhdGFzdG9yZS5yZW1vdmVfYmFja3VwX2dyb3VwKCZucywgJmdy b3VwKT87Cj4+ICAgICAgICAgICBpZiAhZGVsZXRlX3N0YXRzLmFsbF9yZW1vdmVkKCkgewo+PiAt ICAgICAgICAgICAgYmFpbCEoImdyb3VwIG9ubHkgcGFydGlhbGx5IGRlbGV0ZWQgZHVlIHRvIHBy b3RlY3RlZCBzbmFwc2hvdHMiKTsKPj4gKyAgICAgICAgICAgIGlmIGlnbm9yZV9wcm90ZWN0ZWQg ewo+PiArICAgICAgICAgICAgICAgIHdhcm4hKCJncm91cCBvbmx5IHBhcnRpYWxseSBkZWxldGVk IGR1ZSB0byBwcm90ZWN0ZWQgc25hcHNob3RzIik7Cj4+ICsgICAgICAgICAgICB9IGVsc2Ugewo+ PiArICAgICAgICAgICAgICAgIGJhaWwhKCJncm91cCBvbmx5IHBhcnRpYWxseSBkZWxldGVkIGR1 ZSB0byBwcm90ZWN0ZWQgc25hcHNob3RzIik7Cj4+ICsgICAgICAgICAgICB9Cj4+ICAgICAgICAg ICB9Cj4+IC0KPj4gLSAgICAgICAgT2soVmFsdWU6Ok51bGwpCj4+ICsgICAgICAgIE9rKGRlbGV0 ZV9zdGF0cykKPj4gICAgICAgfSkKPj4gICAgICAgLmF3YWl0Pwo+PiAgIH0KPj4gZGlmZiAtLWdp dCBhL3NyYy9hcGkyL2FkbWluL25hbWVzcGFjZS5ycyBiL3NyYy9hcGkyL2FkbWluL25hbWVzcGFj ZS5ycwo+PiBpbmRleCA4ODlkYzFhM2QuLjhmOTllYjQwMSAxMDA2NDQKPj4gLS0tIGEvc3JjL2Fw aTIvYWRtaW4vbmFtZXNwYWNlLnJzCj4+ICsrKyBiL3NyYy9hcGkyL2FkbWluL25hbWVzcGFjZS5y cwo+PiBAQCAtMSwxMyArMSwxMiBAQAo+PiAgIHVzZSBhbnlob3c6OntiYWlsLCBFcnJvcn07Cj4+ IC11c2Ugc2VyZGVfanNvbjo6VmFsdWU7Cj4+ICAgCj4+ICAgdXNlIHBic19jb25maWc6OkNhY2hl ZFVzZXJJbmZvOwo+PiAgIHVzZSBwcm94bW94X3JvdXRlcjo6e2h0dHBfYmFpbCwgQXBpTWV0aG9k LCBQZXJtaXNzaW9uLCBSb3V0ZXIsIFJwY0Vudmlyb25tZW50fTsKPj4gICB1c2UgcHJveG1veF9z Y2hlbWE6Oio7Cj4+ICAgCj4+ICAgdXNlIHBic19hcGlfdHlwZXM6OnsKPj4gLSAgICBBdXRoaWQs IEJhY2t1cE5hbWVzcGFjZSwgTmFtZXNwYWNlTGlzdEl0ZW0sIE9wZXJhdGlvbiwgREFUQVNUT1JF X1NDSEVNQSwgTlNfTUFYX0RFUFRIX1NDSEVNQSwKPj4gLSAgICBQUk9YTU9YX1NBRkVfSURfRk9S TUFULAo+PiArICAgIEF1dGhpZCwgQmFja3VwR3JvdXBEZWxldGVTdGF0cywgQmFja3VwTmFtZXNw YWNlLCBOYW1lc3BhY2VMaXN0SXRlbSwgT3BlcmF0aW9uLAo+PiArICAgIERBVEFTVE9SRV9TQ0hF TUEsIE5TX01BWF9ERVBUSF9TQ0hFTUEsIFBST1hNT1hfU0FGRV9JRF9GT1JNQVQsCj4+ICAgfTsK Pj4gICAKPj4gICB1c2UgcGJzX2RhdGFzdG9yZTo6RGF0YVN0b3JlOwo+PiBAQCAtMTM4LDYgKzEz NywxMiBAQCBwdWIgZm4gbGlzdF9uYW1lc3BhY2VzKAo+PiAgICAgICAgICAgICAgICAgICBvcHRp b25hbDogdHJ1ZSwKPj4gICAgICAgICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UsCj4+ICAgICAg ICAgICAgICAgfSwKPj4gKyAgICAgICAgICAgICJpZ25vcmUtcHJvdGVjdGVkIjogewo+PiArICAg ICAgICAgICAgICAgIHR5cGU6IGJvb2wsCj4+ICsgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRy dWUsCj4+ICsgICAgICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UsCj4+ICsgICAgICAgICAgICAg ICAgZGVzY3JpcHRpb246ICJObyBlcnJvciB3aGVuIG5hbWVzcGFjZSBjYW5ub3QgYmUgZGVsZXRl ZCBiZWNhdXNlIG9mIHByb3RlY3RlZCBzbmFwc2hvdHMiLAo+PiArICAgICAgICAgICAgfQo+PiAg ICAgICAgICAgfSwKPj4gICAgICAgfSwKPj4gICAgICAgYWNjZXNzOiB7Cj4+IEBAIC0xNDksMjQg KzE1NCwzMiBAQCBwdWIgZm4gZGVsZXRlX25hbWVzcGFjZSgKPj4gICAgICAgc3RvcmU6IFN0cmlu ZywKPj4gICAgICAgbnM6IEJhY2t1cE5hbWVzcGFjZSwKPj4gICAgICAgZGVsZXRlX2dyb3Vwczog Ym9vbCwKPj4gKyAgICBpZ25vcmVfcHJvdGVjdGVkOiBib29sLAo+PiAgICAgICBfaW5mbzogJkFw aU1ldGhvZCwKPj4gICAgICAgcnBjZW52OiAmbXV0IGR5biBScGNFbnZpcm9ubWVudCwKPj4gLSkg LT4gUmVzdWx0PFZhbHVlLCBFcnJvcj4gewo+PiArKSAtPiBSZXN1bHQ8QmFja3VwR3JvdXBEZWxl dGVTdGF0cywgRXJyb3I+IHsKPj4gICAgICAgbGV0IGF1dGhfaWQ6IEF1dGhpZCA9IHJwY2Vudi5n ZXRfYXV0aF9pZCgpLnVud3JhcCgpLnBhcnNlKCk/Owo+PiAgIAo+PiAgICAgICBjaGVja19uc19t b2RpZmljYXRpb25fcHJpdnMoJnN0b3JlLCAmbnMsICZhdXRoX2lkKT87Cj4+ICAgCj4+ICAgICAg IGxldCBkYXRhc3RvcmUgPSBEYXRhU3RvcmU6Omxvb2t1cF9kYXRhc3RvcmUoJnN0b3JlLCBTb21l KE9wZXJhdGlvbjo6V3JpdGUpKT87Cj4+ICAgCj4+IC0gICAgaWYgIWRhdGFzdG9yZS5yZW1vdmVf bmFtZXNwYWNlX3JlY3Vyc2l2ZSgmbnMsIGRlbGV0ZV9ncm91cHMpPyB7Cj4+IC0gICAgICAgIGlm IGRlbGV0ZV9ncm91cHMgewo+PiAtICAgICAgICAgICAgYmFpbCEoImdyb3VwIG9ubHkgcGFydGlh bGx5IGRlbGV0ZWQgZHVlIHRvIHByb3RlY3RlZCBzbmFwc2hvdHMiKTsKPj4gKyAgICBsZXQgKHJl bW92ZWRfYWxsLCBzdGF0cykgPSBkYXRhc3RvcmUucmVtb3ZlX25hbWVzcGFjZV9yZWN1cnNpdmUo Jm5zLCBkZWxldGVfZ3JvdXBzKT87Cj4+ICsgICAgaWYgIXJlbW92ZWRfYWxsIHsKPj4gKyAgICAg ICAgbGV0IGVycl9tc2cgPSBpZiBkZWxldGVfZ3JvdXBzIHsKPj4gKyAgICAgICAgICAgICJncm91 cCBvbmx5IHBhcnRpYWxseSBkZWxldGVkIGR1ZSB0byBwcm90ZWN0ZWQgc25hcHNob3RzIgo+PiAr ICAgICAgICB9IGVsc2Ugewo+PiArICAgICAgICAgICAgIm9ubHkgcGFydGlhbGx5IGRlbGV0ZWQg ZHVlIHRvIGV4aXN0aW5nIGdyb3VwcyBidXQgYGRlbGV0ZS1ncm91cHNgIG5vdCB0cnVlIgo+PiAr ICAgICAgICB9Owo+PiArCj4+ICsgICAgICAgIGlmIGlnbm9yZV9wcm90ZWN0ZWQgewo+PiArICAg ICAgICAgICAgbG9nOjp3YXJuISgie2Vycl9tc2d9Iik7Cj4+ICAgICAgICAgICB9IGVsc2Ugewo+ PiAtICAgICAgICAgICAgYmFpbCEoIm9ubHkgcGFydGlhbGx5IGRlbGV0ZWQgZHVlIHRvIGV4aXN0 aW5nIGdyb3VwcyBidXQgYGRlbGV0ZS1ncm91cHNgIG5vdCB0cnVlICIpOwo+PiArICAgICAgICAg ICAgYmFpbCEoZXJyX21zZyk7Cj4+ICAgICAgICAgICB9Cj4+ICAgICAgIH0KPj4gICAKPj4gLSAg ICBPayhWYWx1ZTo6TnVsbCkKPj4gKyAgICBPayhzdGF0cykKPj4gICB9Cj4+ICAgCj4+ICAgcHVi IGNvbnN0IFJPVVRFUjogUm91dGVyID0gUm91dGVyOjpuZXcoKQo+PiBkaWZmIC0tZ2l0IGEvc3Jj L3NlcnZlci9wdWxsLnJzIGIvc3JjL3NlcnZlci9wdWxsLnJzCj4+IGluZGV4IDMxMTdmN2QyYy4u ZDdmNWM0MmVhIDEwMDY0NAo+PiAtLS0gYS9zcmMvc2VydmVyL3B1bGwucnMKPj4gKysrIGIvc3Jj L3NlcnZlci9wdWxsLnJzCj4+IEBAIC02NDUsMTAgKzY0NSwxMiBAQCBmbiBjaGVja19hbmRfcmVt b3ZlX25zKHBhcmFtczogJlB1bGxQYXJhbWV0ZXJzLCBsb2NhbF9uczogJkJhY2t1cE5hbWVzcGFj ZSkgLT4gUgo+PiAgICAgICBjaGVja19uc19tb2RpZmljYXRpb25fcHJpdnMocGFyYW1zLnRhcmdl dC5zdG9yZS5uYW1lKCksIGxvY2FsX25zLCAmcGFyYW1zLm93bmVyKQo+PiAgICAgICAgICAgLm1h cF9lcnIofGVycnwgZm9ybWF0X2VyciEoIlJlbW92aW5nIHtsb2NhbF9uc30gbm90IGFsbG93ZWQg LSB7ZXJyfSIpKT87Cj4+ICAgCj4+IC0gICAgcGFyYW1zCj4+ICsgICAgbGV0IChyZW1vdmVkX2Fs bCwgX2RlbGV0ZV9zdGF0cykgPSBwYXJhbXMKPj4gICAgICAgICAgIC50YXJnZXQKPj4gICAgICAg ICAgIC5zdG9yZQo+PiAtICAgICAgICAucmVtb3ZlX25hbWVzcGFjZV9yZWN1cnNpdmUobG9jYWxf bnMsIHRydWUpCj4+ICsgICAgICAgIC5yZW1vdmVfbmFtZXNwYWNlX3JlY3Vyc2l2ZShsb2NhbF9u cywgdHJ1ZSk/Owo+PiArCj4+ICsgICAgT2socmVtb3ZlZF9hbGwpCj4+ICAgfQo+PiAgIAo+PiAg IGZuIGNoZWNrX2FuZF9yZW1vdmVfdmFuaXNoZWRfbnMoCj4+IC0tIAo+PiAyLjM5LjUKPj4KPj4K Pj4KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4g cGJzLWRldmVsIG1haWxpbmcgbGlzdAo+PiBwYnMtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KPj4g aHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcGJzLWRl dmVsCj4+Cj4+Cj4+Cj4gCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiBwYnMtZGV2ZWwgbWFpbGluZyBsaXN0Cj4gcGJzLWRldmVsQGxpc3RzLnBy b3htb3guY29tCj4gaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlz dGluZm8vcGJzLWRldmVsCj4gCj4gCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCnBicy1kZXZlbCBtYWlsaW5nIGxpc3QKcGJzLWRldmVsQGxpc3RzLnBy b3htb3guY29tCmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3Rp bmZvL3Bicy1kZXZlbAo=