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 4BCB71FF15E for ; Mon, 19 Jan 2026 08:56:10 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 9E6A81710D; Mon, 19 Jan 2026 08:56:18 +0100 (CET) Message-ID: <061ed907-8cc2-4843-8836-9a4ab92931d1@proxmox.com> Date: Mon, 19 Jan 2026 08:56:14 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Shannon Sterz References: <20260102160750.285157-1-s.rufinatscha@proxmox.com> <20260102160750.285157-10-s.rufinatscha@proxmox.com> <1768387330.rn18q7k87w.astroid@yuna.none> <5eb0fa34-92c2-44e4-8c46-a16d915057a5@proxmox.com> Content-Language: en-US From: Samuel Rufinatscha In-Reply-To: X-SPAM-LEVEL: Spam detection results: 0 AWL -0.134 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 proxmox-datacenter-manager v3 1/2] pdm-config: implement token.shadow generation 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: 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" Y29tbWVudHMgaW5saW5lCgpPbiAxLzE2LzI2IDU6NDcgUE0sIFNoYW5ub24gU3Rlcnogd3JvdGU6 Cj4gT24gRnJpIEphbiAxNiwgMjAyNiBhdCA1OjI4IFBNIENFVCwgU2FtdWVsIFJ1ZmluYXRzY2hh IHdyb3RlOgo+PiBPbiAxLzE0LzI2IDExOjQ0IEFNLCBGYWJpYW4gR3LDvG5iaWNobGVyIHdyb3Rl Ogo+Pj4gT24gSmFudWFyeSAyLCAyMDI2IDU6MDcgcG0sIFNhbXVlbCBSdWZpbmF0c2NoYSB3cm90 ZToKPj4+PiBQRE0gZGVwZW5kcyBvbiB0aGUgc2hhcmVkIHByb3htb3gvcHJveG1veC1hY2Nlc3Mt Y29udHJvbCBjcmF0ZSBmb3IKPj4+PiB0b2tlbi5zaGFkb3cgaGFuZGxpbmcsIHdoaWNoIGV4cGVj dHMgdGhlIHByb2R1Y3QgdG8gcHJvdmlkZSBhCj4+Pj4gY3Jvc3MtcHJvY2VzcyBpbnZhbGlkYXRp b24gc2lnbmFsIHNvIGl0IGNhbiBzYWZlbHkgY2FjaGUgdmVyaWZpZWQgQVBJCj4+Pj4gdG9rZW4g c2VjcmV0cyBhbmQgaW52YWxpZGF0ZSB0aGVtIHdoZW4gdG9rZW4uc2hhZG93IGlzIGNoYW5nZWQu Cj4+Pj4KPj4+PiBUaGlzIHBhdGNoCj4+Pj4KPj4+PiAqIGFkZHMgYSB0b2tlbl9zaGFkb3dfZ2Vu ZXJhdGlvbiB0byBQRE3igJlzIHNoYXJlZC1tZW1vcnkKPj4+PiBDb25maWdWZXJzaW9uQ2FjaGUK Pj4+PiAqIGltcGxlbWVudHMgcHJveG1veF9hY2Nlc3NfY29udHJvbDo6aW5pdDo6QWNjZXNzQ29u dHJvbENvbmZpZwo+Pj4+IGZvciBwZG1fY29uZmlnOjpBY2Nlc3NDb250cm9sQ29uZmlnLCB3aGlj aAo+Pj4+ICAgICAgLSBkZWxlZ2F0ZXMgcm9sZXMvcHJpdnMvcGF0aCBjaGVja3MgdG8gdGhlIGV4 aXN0aW5nCj4+Pj4gcGRtX2FwaV90eXBlczo6QWNjZXNzQ29udHJvbENvbmZpZyBpbXBsZW1lbnRh dGlvbgo+Pj4+ICAgICAgLSBpbXBsZW1lbnRzIHRoZSBzaGFkb3cgY2FjaGUgZ2VuZXJhdGlvbiB0 cmFpdCBmdW5jdGlvbnMKPj4+PiAqIHN3aXRjaGVzIHRoZSBBY2Nlc3NDb250cm9sQ29uZmlnIGlu aXQgcGF0aHMgKHNlcnZlciArIENMSSkgdG8gdXNlCj4+Pj4gcGRtX2NvbmZpZzo6QWNjZXNzQ29u dHJvbENvbmZpZyBpbnN0ZWFkIG9mCj4+Pj4gcGRtX2FwaV90eXBlczo6QWNjZXNzQ29udHJvbENv bmZpZwo+Pj4+Cj4+Pj4gVGhpcyBwYXRjaCBpcyBwYXJ0IG9mIHRoZSBzZXJpZXMgd2hpY2ggZml4 ZXMgYnVnICM3MDE3IFsxXS4KPj4+Pgo+Pj4+IFsxXSBodHRwczovL2J1Z3ppbGxhLnByb3htb3gu Y29tL3Nob3dfYnVnLmNnaT9pZD03MDE3Cj4+Pj4KPj4+PiBTaWduZWQtb2ZmLWJ5OiBTYW11ZWwg UnVmaW5hdHNjaGEgPHMucnVmaW5hdHNjaGFAcHJveG1veC5jb20+Cj4+Pj4gLS0tCj4+Pj4gICAg Y2xpL2FkbWluL3NyYy9tYWluLnJzICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCj4+Pj4g ICAgbGliL3BkbS1jb25maWcvQ2FyZ28udG9tbCAgICAgICAgICAgICAgICAgICB8ICAxICsKPj4+ PiAgICBsaWIvcGRtLWNvbmZpZy9zcmMvYWNjZXNzX2NvbnRyb2xfY29uZmlnLnJzIHwgNzMgKysr KysrKysrKysrKysrKysrKysrCj4+Pj4gICAgbGliL3BkbS1jb25maWcvc3JjL2NvbmZpZ192ZXJz aW9uX2NhY2hlLnJzICB8IDE4ICsrKysrCj4+Pj4gICAgbGliL3BkbS1jb25maWcvc3JjL2xpYi5y cyAgICAgICAgICAgICAgICAgICB8ICAyICsKPj4+PiAgICBzZXJ2ZXIvc3JjL2FjbC5ycyAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKy0KPj4+PiAgICA2IGZpbGVzIGNoYW5nZWQsIDk2 IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4+Pj4gICAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGxpYi9wZG0tY29uZmlnL3NyYy9hY2Nlc3NfY29udHJvbF9jb25maWcucnMKPj4+Pgo+Pj4+IGRp ZmYgLS1naXQgYS9jbGkvYWRtaW4vc3JjL21haW4ucnMgYi9jbGkvYWRtaW4vc3JjL21haW4ucnMK Pj4+PiBpbmRleCBmNjk4ZmEyLi45MTZjNjMzIDEwMDY0NAo+Pj4+IC0tLSBhL2NsaS9hZG1pbi9z cmMvbWFpbi5ycwo+Pj4+ICsrKyBiL2NsaS9hZG1pbi9zcmMvbWFpbi5ycwo+Pj4+IEBAIC0xOSw3 ICsxOSw3IEBAIGZuIG1haW4oKSB7Cj4+Pj4gICAgICAgIHByb3htb3hfcHJvZHVjdF9jb25maWc6 OmluaXQoYXBpX3VzZXIsIHByaXZfdXNlcik7Cj4+Pj4KPj4+PiAgICAgICAgcHJveG1veF9hY2Nl c3NfY29udHJvbDo6aW5pdDo6aW5pdCgKPj4+PiAtICAgICAgICAmcGRtX2FwaV90eXBlczo6QWNj ZXNzQ29udHJvbENvbmZpZywKPj4+PiArICAgICAgICAmcGRtX2NvbmZpZzo6QWNjZXNzQ29udHJv bENvbmZpZywKPj4+PiAgICAgICAgICAgIHBkbV9idWlsZGNmZzo6Y29uZmlnZGlyISgiL2FjY2Vz cyIpLAo+Pj4+ICAgICAgICApCj4+Pj4gICAgICAgIC5leHBlY3QoImZhaWxlZCB0byBzZXR1cCBh Y2Nlc3MgY29udHJvbCBjb25maWciKTsKPj4+PiBkaWZmIC0tZ2l0IGEvbGliL3BkbS1jb25maWcv Q2FyZ28udG9tbCBiL2xpYi9wZG0tY29uZmlnL0NhcmdvLnRvbWwKPj4+PiBpbmRleCBkMzljMmFk Li4xOTc4MWQyIDEwMDY0NAo+Pj4+IC0tLSBhL2xpYi9wZG0tY29uZmlnL0NhcmdvLnRvbWwKPj4+ PiArKysgYi9saWIvcGRtLWNvbmZpZy9DYXJnby50b21sCj4+Pj4gQEAgLTEzLDYgKzEzLDcgQEAg b25jZV9jZWxsLndvcmtzcGFjZSA9IHRydWUKPj4+PiAgICBvcGVuc3NsLndvcmtzcGFjZSA9IHRy dWUKPj4+PiAgICBzZXJkZS53b3Jrc3BhY2UgPSB0cnVlCj4+Pj4KPj4+PiArcHJveG1veC1hY2Nl c3MtY29udHJvbC53b3Jrc3BhY2UgPSB0cnVlCj4+Pj4gICAgcHJveG1veC1jb25maWctZGlnZXN0 ID0geyB3b3Jrc3BhY2UgPSB0cnVlLCBmZWF0dXJlcyA9IFsgIm9wZW5zc2wiIF0gfQo+Pj4+ICAg IHByb3htb3gtaHR0cCA9IHsgd29ya3NwYWNlID0gdHJ1ZSwgZmVhdHVyZXMgPSBbICJodHRwLWhl bHBlcnMiIF0gfQo+Pj4+ICAgIHByb3htb3gtbGRhcCA9IHsgd29ya3NwYWNlID0gdHJ1ZSwgZmVh dHVyZXMgPSBbICJ0eXBlcyIgXX0KPj4+PiBkaWZmIC0tZ2l0IGEvbGliL3BkbS1jb25maWcvc3Jj L2FjY2Vzc19jb250cm9sX2NvbmZpZy5ycyBiL2xpYi9wZG0tY29uZmlnL3NyYy9hY2Nlc3NfY29u dHJvbF9jb25maWcucnMKPj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+Pj4+IGluZGV4IDAwMDAw MDAuLjZmMmU2YjMKPj4+PiAtLS0gL2Rldi9udWxsCj4+Pj4gKysrIGIvbGliL3BkbS1jb25maWcv c3JjL2FjY2Vzc19jb250cm9sX2NvbmZpZy5ycwo+Pj4+IEBAIC0wLDAgKzEsNzMgQEAKPj4+PiAr Ly8gZS5nLiBpbiBzcmMvbWFpbi5ycyBvciBzZXJ2ZXI6OmNvbnRleHQgbW9kLCB3aGVyZXZlciBj b252ZW5pZW50Cj4+Pj4gKwo+Pj4+ICt1c2UgYW55aG93OjpFcnJvcjsKPj4+PiArdXNlIHBkbV9h cGlfdHlwZXM6OntBdXRoaWQsIFVzZXJpZH07Cj4+Pj4gK3VzZSBwcm94bW94X3NlY3Rpb25fY29u ZmlnOjpTZWN0aW9uQ29uZmlnRGF0YTsKPj4+PiArdXNlIHN0ZDo6Y29sbGVjdGlvbnM6Okhhc2hN YXA7Cj4+Pj4gKwo+Pj4+ICtwdWIgc3RydWN0IEFjY2Vzc0NvbnRyb2xDb25maWc7Cj4+Pj4gKwo+ Pj4+ICtpbXBsIHByb3htb3hfYWNjZXNzX2NvbnRyb2w6OmluaXQ6OkFjY2Vzc0NvbnRyb2xDb25m aWcgZm9yIEFjY2Vzc0NvbnRyb2xDb25maWcgewo+Pj4KPj4+IHNob3VsZCB3ZSB0aGVuIHJlbW92 ZSB0aGUgaW1wbCBmcm9tIHRoZSBhcGkgdHlwZT8KPj4+Cj4+Cj4+IFRoYW5rcyBmb3IgcG9pbnRp bmcgdGhpcyBvdXQgRmFiaWFuISBDdXJyZW50bHksIC91aS9zcmMvbWFpbi5ycyBzdGlsbAo+PiBt YWtlcyB1c2Ugb2YgcGRtX2FwaV90eXBlczo6QWNjZXNzQ29udHJvbENvbmZpZy4gVGhpcyBsb29r cyBsaWtlIGEgV0FTTQo+PiBtb2R1bGUsIGFuZCBpcyBiYXNlZCBvbiB0aWNrZXQgYmFzZWQgYXV0 aAo+PiAocHJveG1veF9sb2dpbjo6QXV0aGVudGljYXRpb24pIGFzIGZhciBhcyBJIGNhbiBzZWUu IERvIHlvdSBtYXliZSBrbm93Cj4+IGlmIGl0IGFjdHVhbGx5IHJlcXVpcmVzIHRoZSB0b2tlbiBj YWNoZSAvIGNhbiB3b3JrIHdpdGggQ1ZDPyBJZiBpdCBkb2VzCj4+IG5vdCwgdGhlbiBJIHRoaW5r IHdlIHNob3VsZCBrZWVwIHRoZSBBUEkgaW1wbC4gSSBsZWZ0IHRoaXMgdW5jaGFuZ2VkCj4+IGFu ZCBvbmx5IHRvdWNoZWQgc2VydmVyIGFuZCBDTEkgY2FsbCBzaXRlcy4KPiAKPiBpIG1vc3RseSBl eHBvc2VkIHRoYXQgdGhlcmUgdG8gZ2V0IGFjY2VzcyB0byB0aGUgcHJpdmlsZWdlcywgcm9sZXMs IGFuZAo+IGlzX3N1cGVydXNlciBmdW5jdGlvbnMuIHRoZXkgYXJlIG5lZWRlZCBpbiB0aGUgdWkg dG8gc2VsZWN0aXZlbHkgcmVuZGVyCj4gdWkgZWxlbWVudHMgZGVwZW5kaW5nIG9uIGEgdXNlcnMg cHJpdmlsZWdlcy4KPiAKPiB0aGlzIHNob3VsZCBwcm9iYWJseSBiZSBmYWN0b3JlZCBvdXQgdGhv dWdoIGFuZCBzaGFyZWQgZGlmZmVyZW50bHkgaWYgd2UKPiB3YW50IHRvIGV4dGVuZCB0aGlzIHRy YWl0IHdpdGggbW9yZSBjYWNoaW5nIGZ1bmN0aW9ucy4KPgoKR29vZCBwb2ludC4KCj4+Pj4gKyAg ICBmbiBwcml2aWxlZ2VzKCZzZWxmKSAtPiAmSGFzaE1hcDwmc3RyLCB1NjQ+IHsKPj4+PiArICAg ICAgICBwZG1fYXBpX3R5cGVzOjpBY2Nlc3NDb250cm9sQ29uZmlnLnByaXZpbGVnZXMoKQo+Pj4+ ICsgICAgfQo+Pj4+ICsKPj4+PiArICAgIGZuIHJvbGVzKCZzZWxmKSAtPiAmSGFzaE1hcDwmc3Ry LCAodTY0LCAmc3RyKT4gewo+Pj4+ICsgICAgICAgIHBkbV9hcGlfdHlwZXM6OkFjY2Vzc0NvbnRy b2xDb25maWcucm9sZXMoKQo+Pj4+ICsgICAgfQo+Pj4+ICsKPj4+PiArICAgIGZuIGlzX3N1cGVy dXNlcigmc2VsZiwgYXV0aF9pZDogJkF1dGhpZCkgLT4gYm9vbCB7Cj4+Pj4gKyAgICAgICAgcGRt X2FwaV90eXBlczo6QWNjZXNzQ29udHJvbENvbmZpZy5pc19zdXBlcnVzZXIoYXV0aF9pZCkKPj4+ PiArICAgIH0KPj4+PiArCj4+Pj4gKyAgICBmbiBpc19ncm91cF9tZW1iZXIoJnNlbGYsIHVzZXJf aWQ6ICZVc2VyaWQsIGdyb3VwOiAmc3RyKSAtPiBib29sIHsKPj4+PiArICAgICAgICBwZG1fYXBp X3R5cGVzOjpBY2Nlc3NDb250cm9sQ29uZmlnLmlzX2dyb3VwX21lbWJlcih1c2VyX2lkLCBncm91 cCkKPj4+PiArICAgIH0KPj4+PiArCj4+Pj4gKyAgICBmbiByb2xlX2FkbWluKCZzZWxmKSAtPiBP cHRpb248JnN0cj4gewo+Pj4+ICsgICAgICAgIHBkbV9hcGlfdHlwZXM6OkFjY2Vzc0NvbnRyb2xD b25maWcucm9sZV9hZG1pbigpCj4+Pj4gKyAgICB9Cj4+Pj4gKwo+Pj4+ICsgICAgZm4gcm9sZV9u b19hY2Nlc3MoJnNlbGYpIC0+IE9wdGlvbjwmc3RyPiB7Cj4+Pj4gKyAgICAgICAgcGRtX2FwaV90 eXBlczo6QWNjZXNzQ29udHJvbENvbmZpZy5yb2xlX25vX2FjY2VzcygpCj4+Pj4gKyAgICB9Cj4+ Pj4gKwo+Pj4+ICsgICAgZm4gaW5pdF91c2VyX2NvbmZpZygmc2VsZiwgY29uZmlnOiAmbXV0IFNl Y3Rpb25Db25maWdEYXRhKSAtPiBSZXN1bHQ8KCksIEVycm9yPiB7Cj4+Pj4gKyAgICAgICAgcGRt X2FwaV90eXBlczo6QWNjZXNzQ29udHJvbENvbmZpZy5pbml0X3VzZXJfY29uZmlnKGNvbmZpZykK Pj4+PiArICAgIH0KPj4+PiArCj4+Pj4gKyAgICBmbiBhY2xfYXVkaXRfcHJpdmlsZWdlcygmc2Vs ZikgLT4gdTY0IHsKPj4+PiArICAgICAgICBwZG1fYXBpX3R5cGVzOjpBY2Nlc3NDb250cm9sQ29u ZmlnLmFjbF9hdWRpdF9wcml2aWxlZ2VzKCkKPj4+PiArICAgIH0KPj4+PiArCj4+Pj4gKyAgICBm biBhY2xfbW9kaWZ5X3ByaXZpbGVnZXMoJnNlbGYpIC0+IHU2NCB7Cj4+Pj4gKyAgICAgICAgcGRt X2FwaV90eXBlczo6QWNjZXNzQ29udHJvbENvbmZpZy5hY2xfbW9kaWZ5X3ByaXZpbGVnZXMoKQo+ Pj4+ICsgICAgfQo+Pj4+ICsKPj4+PiArICAgIGZuIGNoZWNrX2FjbF9wYXRoKCZzZWxmLCBwYXRo OiAmc3RyKSAtPiBSZXN1bHQ8KCksIEVycm9yPiB7Cj4+Pj4gKyAgICAgICAgcGRtX2FwaV90eXBl czo6QWNjZXNzQ29udHJvbENvbmZpZy5jaGVja19hY2xfcGF0aChwYXRoKQo+Pj4+ICsgICAgfQo+ Pj4+ICsKPj4+PiArICAgIGZuIGFsbG93X3BhcnRpYWxfcGVybWlzc2lvbl9tYXRjaCgmc2VsZikg LT4gYm9vbCB7Cj4+Pj4gKyAgICAgICAgcGRtX2FwaV90eXBlczo6QWNjZXNzQ29udHJvbENvbmZp Zy5hbGxvd19wYXJ0aWFsX3Blcm1pc3Npb25fbWF0Y2goKQo+Pj4+ICsgICAgfQo+Pj4+ICsKPj4+ PiArICAgIGZuIGNhY2hlX2dlbmVyYXRpb24oJnNlbGYpIC0+IE9wdGlvbjx1c2l6ZT4gewo+Pj4+ ICsgICAgICAgIHBkbV9hcGlfdHlwZXM6OkFjY2Vzc0NvbnRyb2xDb25maWcuY2FjaGVfZ2VuZXJh dGlvbigpCj4+Pj4gKyAgICB9Cj4+Pgo+Pj4gc2hvdWxkbid0IHRoaXMgYmUgd2lyZWQgdXAgdG8g dGhlIENvbmZpZ1ZlcnNpb25DYWNoZT8KPj4+Cj4+Cj4+IElmIEkgdW5kZXJzdGFuZCBjb3JyZWN0 bHksIGNhY2hlX2dlbmVyYXRpb24oKSBhbmQgdGhlCj4+IGluY3JlbWVudF9jYWNoZV9nZW5lcmF0 aW9uKCkgYmVsb3cgZG8gbm90IGFwcGVhciB0byBoYXZlIGJlZW4gd2lyZWQKPj4gc28gZmFyLCBt ZWFuaW5nIHRoYXQgY2FjaGVzIHdlcmUgbm90IGVuYWJsZWQuIFRvIGVuYWJsZSB0aGVtLAo+PiBh IFBETSBBY2Nlc3NDb250cm9sQ29uZmlnIGltcGxlbWVudGF0aW9uIHdvdWxkIHByb2JhYmx5IGJl IHJlcXVpcmVkCj4+IChhcyBzdWdnZXN0ZWQgaW4gdGhpcyBwYXRjaCkgaW4gb3JkZXIgdG8gYmUg YWJsZSBpbnRlZ3JhdGUgd2l0aAo+PiBDb25maWdWZXJzaW9uQ2FjaGUuCj4+Cj4+IEkgdGhpbmsg dGhlc2UgdHdvIGZ1bmN0aW9ucyBzaG91bGQgYmUgY2hlY2tlZCwgaWYgd2Ugd2FudCB0byBlbmFi bGVkCj4+IHRoZW0gb3Igbm90LCBwcm9iYWJseSBiZXN0IGFzIHBhcnQgb2YgYSBkZWRpY2F0ZWQg c2NvcGU/IEkgY2FuIGNyZWF0ZSBhCj4+IGJ1ZyByZXBvcnQgZm9yIHRoaXMuCj4+Cj4gCj4gc3Vy ZSwgaSB0aGluayBpdCdzIG5vdCB0b28gbXVjaCBlZmZvcnQsIHRob3VnaC4gaWYgeW91IHNwbGl0 IG91dCB0aGUKPiBjYWNoaW5nIHBhcnRzLCB0aGUgdWkgc2hvdWxkIGJlIGZpbmUgd2l0aG91dCB0 aGVtLiBpdCByZWFsbHkgaGFzIG5vIG5lZWQKPiBmb3IgdGhlbSBhZmFpci4KCklmIHRoZSBVSSBk b2VzbnQgbWFrZSB1c2Ugb2YgaXQgbWF5YmUgaXQgd291bGQgYmUgc2ltcGx5IGJlc3QgdG8ga2Vl cAp0d28gZGlmZmVyZW50IGltcGxzPyBPbmUgdG8ga2VlcCBpdCBtaW5pbWFsLCBhbHNvIHNpbmNl IG5vdCBhbGwgcGFydHMKbWlnaHQgYmUgV0FTTSBjb21wYXRpYmxlLCBhbmQgb25lIGltcGwgYXMg cHJvcG9zZWQgdG8gd2lyZS11cCBDVkMgKGFuZAptYXliZSBvdGhlciB0aGluZ3MgaW4gdGhlIGZ1 dHVyZS4uKS4KCkFuZCB3aWxsIHdpcmUgQ1ZDIGZvciB0aGUgb3RoZXIgdHdvIGV4aXN0aW5nIGNh Y2hpbmcgZnVuY3Rpb25zIGFzIHBhcnQKb2YgdGhpcyBzZXJpZXMuCgo+IAo+Pj4+ICsKPj4+PiAr ICAgIGZuIGluY3JlbWVudF9jYWNoZV9nZW5lcmF0aW9uKCZzZWxmKSAtPiBSZXN1bHQ8KCksIEVy cm9yPiB7Cj4+Pj4gKyAgICAgICAgcGRtX2FwaV90eXBlczo6QWNjZXNzQ29udHJvbENvbmZpZy5p bmNyZW1lbnRfY2FjaGVfZ2VuZXJhdGlvbigpCj4+Pgo+Pj4gc2hvdWxkbid0IHRoaXMgYmUgd2ly ZWQgdXAgdG8gdGhlIENvbmZpZ1ZlcnNpb25DYWNoZT8KPj4+Cj4+Pj4gKyAgICB9Cj4+Pj4gKwo+ Pj4+ICsgICAgZm4gdG9rZW5fc2hhZG93X2NhY2hlX2dlbmVyYXRpb24oJnNlbGYpIC0+IE9wdGlv bjx1c2l6ZT4gewo+Pj4+ICsgICAgICAgIGNyYXRlOjpDb25maWdWZXJzaW9uQ2FjaGU6Om5ldygp Cj4+Pj4gKyAgICAgICAgICAgIC5vaygpCj4+Pj4gKyAgICAgICAgICAgIC5tYXAofGN8IGMudG9r ZW5fc2hhZG93X2dlbmVyYXRpb24oKSkKPj4+PiArICAgIH0KPj4+PiArCj4+Pj4gKyAgICBmbiBp bmNyZW1lbnRfdG9rZW5fc2hhZG93X2NhY2hlX2dlbmVyYXRpb24oJnNlbGYpIC0+IFJlc3VsdDx1 c2l6ZSwgRXJyb3I+IHsKPj4+PiArICAgICAgICBsZXQgYyA9IGNyYXRlOjpDb25maWdWZXJzaW9u Q2FjaGU6Om5ldygpPzsKPj4+PiArICAgICAgICBPayhjLmluY3JlYXNlX3Rva2VuX3NoYWRvd19n ZW5lcmF0aW9uKCkpCj4+Pj4gKyAgICB9Cj4+Pj4gK30KPj4+PiBkaWZmIC0tZ2l0IGEvbGliL3Bk bS1jb25maWcvc3JjL2NvbmZpZ192ZXJzaW9uX2NhY2hlLnJzIGIvbGliL3BkbS1jb25maWcvc3Jj L2NvbmZpZ192ZXJzaW9uX2NhY2hlLnJzCj4+Pj4gaW5kZXggMzZhNmE3Ny4uOTMzMTQwYyAxMDA2 NDQKPj4+PiAtLS0gYS9saWIvcGRtLWNvbmZpZy9zcmMvY29uZmlnX3ZlcnNpb25fY2FjaGUucnMK Pj4+PiArKysgYi9saWIvcGRtLWNvbmZpZy9zcmMvY29uZmlnX3ZlcnNpb25fY2FjaGUucnMKPj4+ PiBAQCAtMjcsNiArMjcsOCBAQCBzdHJ1Y3QgQ29uZmlnVmVyc2lvbkNhY2hlRGF0YUlubmVyIHsK Pj4+PiAgICAgICAgdHJhZmZpY19jb250cm9sX2dlbmVyYXRpb246IEF0b21pY1VzaXplLAo+Pj4+ ICAgICAgICAvLyBUcmFja3MgdXBkYXRlcyB0byB0aGUgcmVtb3RlL2hvc3RuYW1lL25vZGVuYW1l IG1hcHBpbmcgY2FjaGUuCj4+Pj4gICAgICAgIHJlbW90ZV9tYXBwaW5nX2NhY2hlOiBBdG9taWNV c2l6ZSwKPj4+PiArICAgIC8vIFRva2VuIHNoYWRvdyAodG9rZW4uc2hhZG93KSBnZW5lcmF0aW9u L3ZlcnNpb24uCj4+Pj4gKyAgICB0b2tlbl9zaGFkb3dfZ2VuZXJhdGlvbjogQXRvbWljVXNpemUs Cj4+Pgo+Pj4gZXhwbGFuYXRpb24gd2h5IHRoaXMgaXMgc2FmZSBmb3IgdGhlIGNvbW1pdCBtZXNz YWdlIHdvdWxkIGJlIG5pY2UgOykKPj4+Cj4+Cj4+IFdpbGwgYWRkIDopCj4+Cj4+Pj4gICAgICAg IC8vIEFkZCBmdXJ0aGVyIGF0b21pY3MgaGVyZQo+Pj4+ICAgIH0KPj4+Pgo+Pj4+IEBAIC0xNzIs NCArMTc0LDIwIEBAIGltcGwgQ29uZmlnVmVyc2lvbkNhY2hlIHsKPj4+PiAgICAgICAgICAgICAg ICAuZmV0Y2hfYWRkKDEsIE9yZGVyaW5nOjpSZWxheGVkKQo+Pj4+ICAgICAgICAgICAgICAgICsg MQo+Pj4+ICAgICAgICB9Cj4+Pj4gKwo+Pj4+ICsgICAgLy8vIFJldHVybnMgdGhlIHRva2VuIHNo YWRvdyBnZW5lcmF0aW9uIG51bWJlci4KPj4+PiArICAgIHB1YiBmbiB0b2tlbl9zaGFkb3dfZ2Vu ZXJhdGlvbigmc2VsZikgLT4gdXNpemUgewo+Pj4+ICsgICAgICAgIHNlbGYuc2htZW0KPj4+PiAr ICAgICAgICAgICAgLmRhdGEoKQo+Pj4+ICsgICAgICAgICAgICAudG9rZW5fc2hhZG93X2dlbmVy YXRpb24KPj4+PiArICAgICAgICAgICAgLmxvYWQoT3JkZXJpbmc6OkFjcXVpcmUpCj4+Pj4gKyAg ICB9Cj4+Pj4gKwo+Pj4+ICsgICAgLy8vIEluY3JlYXNlIHRoZSB0b2tlbiBzaGFkb3cgZ2VuZXJh dGlvbiBudW1iZXIuCj4+Pj4gKyAgICBwdWIgZm4gaW5jcmVhc2VfdG9rZW5fc2hhZG93X2dlbmVy YXRpb24oJnNlbGYpIC0+IHVzaXplIHsKPj4+PiArICAgICAgICBzZWxmLnNobWVtCj4+Pj4gKyAg ICAgICAgICAgIC5kYXRhKCkKPj4+PiArICAgICAgICAgICAgLnRva2VuX3NoYWRvd19nZW5lcmF0 aW9uCj4+Pj4gKyAgICAgICAgICAgIC5mZXRjaF9hZGQoMSwgT3JkZXJpbmc6OkFjcVJlbCkKPj4+ PiArICAgIH0KPj4+PiAgICB9Cj4+Pj4gZGlmZiAtLWdpdCBhL2xpYi9wZG0tY29uZmlnL3NyYy9s aWIucnMgYi9saWIvcGRtLWNvbmZpZy9zcmMvbGliLnJzCj4+Pj4gaW5kZXggNGM0OTA1NC4uYTE1 YTAwNiAxMDA2NDQKPj4+PiAtLS0gYS9saWIvcGRtLWNvbmZpZy9zcmMvbGliLnJzCj4+Pj4gKysr IGIvbGliL3BkbS1jb25maWcvc3JjL2xpYi5ycwo+Pj4+IEBAIC05LDYgKzksOCBAQCBwdWIgbW9k IHJlbW90ZXM7Cj4+Pj4gICAgcHViIG1vZCBzZXR1cDsKPj4+PiAgICBwdWIgbW9kIHZpZXdzOwo+ Pj4+Cj4+Pj4gK21vZCBhY2Nlc3NfY29udHJvbF9jb25maWc7Cj4+Pj4gK3B1YiB1c2UgYWNjZXNz X2NvbnRyb2xfY29uZmlnOjpBY2Nlc3NDb250cm9sQ29uZmlnOwo+Pj4+ICAgIG1vZCBjb25maWdf dmVyc2lvbl9jYWNoZTsKPj4+PiAgICBwdWIgdXNlIGNvbmZpZ192ZXJzaW9uX2NhY2hlOjpDb25m aWdWZXJzaW9uQ2FjaGU7Cj4+Pj4KPj4+PiBkaWZmIC0tZ2l0IGEvc2VydmVyL3NyYy9hY2wucnMg Yi9zZXJ2ZXIvc3JjL2FjbC5ycwo+Pj4+IGluZGV4IGY0MjE4MTQuLmU2ZTAwN2IgMTAwNjQ0Cj4+ Pj4gLS0tIGEvc2VydmVyL3NyYy9hY2wucnMKPj4+PiArKysgYi9zZXJ2ZXIvc3JjL2FjbC5ycwo+ Pj4+IEBAIC0xLDYgKzEsNSBAQAo+Pj4+ICAgIHB1YihjcmF0ZSkgZm4gaW5pdCgpIHsKPj4+PiAt ICAgIHN0YXRpYyBBQ0NFU1NfQ09OVFJPTF9DT05GSUc6IHBkbV9hcGlfdHlwZXM6OkFjY2Vzc0Nv bnRyb2xDb25maWcgPQo+Pj4+IC0gICAgICAgIHBkbV9hcGlfdHlwZXM6OkFjY2Vzc0NvbnRyb2xD b25maWc7Cj4+Pj4gKyAgICBzdGF0aWMgQUNDRVNTX0NPTlRST0xfQ09ORklHOiBwZG1fY29uZmln OjpBY2Nlc3NDb250cm9sQ29uZmlnID0gcGRtX2NvbmZpZzo6QWNjZXNzQ29udHJvbENvbmZpZzsK Pj4+Pgo+Pj4+ICAgICAgICBwcm94bW94X2FjY2Vzc19jb250cm9sOjppbml0Ojppbml0KCZBQ0NF U1NfQ09OVFJPTF9DT05GSUcsIHBkbV9idWlsZGNmZzo6Y29uZmlnZGlyISgiL2FjY2VzcyIpKQo+ Pj4+ICAgICAgICAgICAgLmV4cGVjdCgiZmFpbGVkIHRvIHNldHVwIGFjY2VzcyBjb250cm9sIGNv bmZpZyIpOwo+Pj4+IC0tCj4+Pj4gMi40Ny4zCj4+Pj4KPj4+Pgo+Pj4+Cj4+Pj4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4+PiBwYnMtZGV2ZWwgbWFp bGluZyBsaXN0Cj4+Pj4gcGJzLWRldmVsQGxpc3RzLnByb3htb3guY29tCj4+Pj4gaHR0cHM6Ly9s aXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcGJzLWRldmVsCj4+Pj4K Pj4+Cj4+Pgo+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPj4+IHBicy1kZXZlbCBtYWlsaW5nIGxpc3QKPj4+IHBicy1kZXZlbEBsaXN0cy5wcm94bW94 LmNvbQo+Pj4gaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGlu Zm8vcGJzLWRldmVsCj4gCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCnBicy1kZXZlbCBtYWlsaW5nIGxpc3QKcGJzLWRldmVsQGxpc3RzLnByb3htb3gu Y29tCmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3Bi cy1kZXZlbAo=