From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pbs-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id BDCA41FF183 for <inbox@lore.proxmox.com>; Wed, 21 May 2025 16:23:49 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 5187A1A5E0; Wed, 21 May 2025 16:23:49 +0200 (CEST) From: Lukas Wagner <l.wagner@proxmox.com> To: pbs-devel@lists.proxmox.com Date: Wed, 21 May 2025 16:23:07 +0200 Message-Id: <20250521142309.264719-3-l.wagner@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250521142309.264719-1-l.wagner@proxmox.com> References: <20250521142309.264719-1-l.wagner@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.018 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: [pbs-devel] [PATCH proxmox 2/2] notify: matcher: API: update methods for nested matcher support X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion <pbs-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pbs-devel>, <mailto:pbs-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pbs-devel/> List-Post: <mailto:pbs-devel@lists.proxmox.com> List-Help: <mailto:pbs-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel>, <mailto:pbs-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Proxmox Backup Server development discussion <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" <pbs-devel-bounces@lists.proxmox.com> VGhpcyBjb21taXQgYWRkcyBzdXBwb3J0IGZvciBzZXR0aW5nIHRoZSB0d28gbmV3IGNvbmZpZ3Vy YXRpb24ga2V5cyBmb3IKbWF0Y2hlcnMsIGBldmFsLW1hdGNoZXJgIGFuZCBgbmVzdGVkYC4gU29t ZSBjaGVja3MgYXJlIGFkZGVkIHRvIHByZXZlbnQKaW52YWxpZCBjb25maWdzIHdoaWNoIHdvdWxk IGxlYWQgdG8gYW4gZXJyb3Igd2hlbiBhIG1hdGNoZXIgaXMgZXZhbHVhdGVkCihlLmcuIHJlY3Vy c2lvbikuCgpTaWduZWQtb2ZmLWJ5OiBMdWthcyBXYWduZXIgPGwud2FnbmVyQHByb3htb3guY29t PgotLS0KIHByb3htb3gtbm90aWZ5L3NyYy9hcGkvbWF0Y2hlci5ycyB8IDIyOSArKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0KIHByb3htb3gtbm90aWZ5L3NyYy9hcGkvbW9kLnJzICAgICB8 ICAgNCArCiBwcm94bW94LW5vdGlmeS9zcmMvbWF0Y2hlci5ycyAgICAgfCAgIDQgKwogMyBmaWxl cyBjaGFuZ2VkLCAyMjggaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9wcm94bW94LW5vdGlmeS9zcmMvYXBpL21hdGNoZXIucnMgYi9wcm94bW94LW5vdGlmeS9zcmMv YXBpL21hdGNoZXIucnMKaW5kZXggZjU2MDVhY2IuLjRhYjgzN2M1IDEwMDY0NAotLS0gYS9wcm94 bW94LW5vdGlmeS9zcmMvYXBpL21hdGNoZXIucnMKKysrIGIvcHJveG1veC1ub3RpZnkvc3JjL2Fw aS9tYXRjaGVyLnJzCkBAIC0xLDEwICsxLDEzIEBACit1c2Ugc3RkOjpjb2xsZWN0aW9uczo6SGFz aE1hcDsKK3VzZSBzdGQ6Om9wczo6RGVyZWY7CisKIHVzZSBwcm94bW94X2h0dHBfZXJyb3I6Okh0 dHBFcnJvcjsKIAogdXNlIGNyYXRlOjphcGk6Omh0dHBfZXJyOwogdXNlIGNyYXRlOjptYXRjaGVy Ojp7CiAgICAgRGVsZXRlYWJsZU1hdGNoZXJQcm9wZXJ0eSwgTWF0Y2hlckNvbmZpZywgTWF0Y2hl ckNvbmZpZ1VwZGF0ZXIsIE1BVENIRVJfVFlQRU5BTUUsCiB9OwotdXNlIGNyYXRlOjpDb25maWc7 Cit1c2UgY3JhdGU6OntodHRwX2JhaWwsIENvbmZpZ307CiAKIC8vLyBHZXQgYSBsaXN0IG9mIGFs bCBtYXRjaGVycwogLy8vCkBAIC0zOSw2ICs0Miw3IEBAIHB1YiBmbiBnZXRfbWF0Y2hlcihjb25m aWc6ICZDb25maWcsIG5hbWU6ICZzdHIpIC0+IFJlc3VsdDxNYXRjaGVyQ29uZmlnLCBIdHRwRXJy CiBwdWIgZm4gYWRkX21hdGNoZXIoY29uZmlnOiAmbXV0IENvbmZpZywgbWF0Y2hlcl9jb25maWc6 IE1hdGNoZXJDb25maWcpIC0+IFJlc3VsdDwoKSwgSHR0cEVycm9yPiB7CiAgICAgc3VwZXI6OmVu c3VyZV91bmlxdWUoY29uZmlnLCAmbWF0Y2hlcl9jb25maWcubmFtZSk/OwogICAgIHN1cGVyOjpl bnN1cmVfZW5kcG9pbnRzX2V4aXN0KGNvbmZpZywgJm1hdGNoZXJfY29uZmlnLnRhcmdldCk/Owor ICAgIGVuc3VyZV9ub19yZWN1cnNpb24oY29uZmlnLCAmbWF0Y2hlcl9jb25maWcpPzsKIAogICAg IGNvbmZpZwogICAgICAgICAuY29uZmlnCkBAIC04Myw0MyArODcsNzMgQEAgcHViIGZuIHVwZGF0 ZV9tYXRjaGVyKAogICAgICAgICAgICAgICAgIERlbGV0ZWFibGVNYXRjaGVyUHJvcGVydHk6Oklu dmVydE1hdGNoID0+IG1hdGNoZXIuaW52ZXJ0X21hdGNoID0gTm9uZSwKICAgICAgICAgICAgICAg ICBEZWxldGVhYmxlTWF0Y2hlclByb3BlcnR5OjpDb21tZW50ID0+IG1hdGNoZXIuY29tbWVudCA9 IE5vbmUsCiAgICAgICAgICAgICAgICAgRGVsZXRlYWJsZU1hdGNoZXJQcm9wZXJ0eTo6RGlzYWJs ZSA9PiBtYXRjaGVyLmRpc2FibGUgPSBOb25lLAorICAgICAgICAgICAgICAgIERlbGV0ZWFibGVN YXRjaGVyUHJvcGVydHk6OkV2YWxNYXRjaGVyID0+IG1hdGNoZXIuZXZhbF9tYXRjaGVyLmNsZWFy KCksCisgICAgICAgICAgICAgICAgRGVsZXRlYWJsZU1hdGNoZXJQcm9wZXJ0eTo6TmVzdGVkID0+ IG1hdGNoZXIubmVzdGVkID0gTm9uZSwKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0K IAotICAgIGlmIGxldCBTb21lKG1hdGNoX3NldmVyaXR5KSA9IG1hdGNoZXJfdXBkYXRlci5tYXRj aF9zZXZlcml0eSB7CisgICAgbGV0IE1hdGNoZXJDb25maWdVcGRhdGVyIHsKKyAgICAgICAgbWF0 Y2hfc2V2ZXJpdHksCisgICAgICAgIG1hdGNoX2ZpZWxkLAorICAgICAgICBtYXRjaF9jYWxlbmRh ciwKKyAgICAgICAgbW9kZSwKKyAgICAgICAgaW52ZXJ0X21hdGNoLAorICAgICAgICBuZXN0ZWQs CisgICAgICAgIGV2YWxfbWF0Y2hlciwKKyAgICAgICAgY29tbWVudCwKKyAgICAgICAgZGlzYWJs ZSwKKyAgICAgICAgdGFyZ2V0LAorICAgIH0gPSBtYXRjaGVyX3VwZGF0ZXI7CisKKyAgICBpZiBs ZXQgU29tZShtYXRjaF9zZXZlcml0eSkgPSBtYXRjaF9zZXZlcml0eSB7CiAgICAgICAgIG1hdGNo ZXIubWF0Y2hfc2V2ZXJpdHkgPSBtYXRjaF9zZXZlcml0eTsKICAgICB9CiAKLSAgICBpZiBsZXQg U29tZShtYXRjaF9maWVsZCkgPSBtYXRjaGVyX3VwZGF0ZXIubWF0Y2hfZmllbGQgeworICAgIGlm IGxldCBTb21lKG1hdGNoX2ZpZWxkKSA9IG1hdGNoX2ZpZWxkIHsKICAgICAgICAgbWF0Y2hlci5t YXRjaF9maWVsZCA9IG1hdGNoX2ZpZWxkOwogICAgIH0KIAotICAgIGlmIGxldCBTb21lKG1hdGNo X2NhbGVuZGFyKSA9IG1hdGNoZXJfdXBkYXRlci5tYXRjaF9jYWxlbmRhciB7CisgICAgaWYgbGV0 IFNvbWUobWF0Y2hfY2FsZW5kYXIpID0gbWF0Y2hfY2FsZW5kYXIgewogICAgICAgICBtYXRjaGVy Lm1hdGNoX2NhbGVuZGFyID0gbWF0Y2hfY2FsZW5kYXI7CiAgICAgfQogCi0gICAgaWYgbGV0IFNv bWUobW9kZSkgPSBtYXRjaGVyX3VwZGF0ZXIubW9kZSB7CisgICAgaWYgbGV0IFNvbWUobW9kZSkg PSBtb2RlIHsKICAgICAgICAgbWF0Y2hlci5tb2RlID0gU29tZShtb2RlKTsKICAgICB9CiAKLSAg ICBpZiBsZXQgU29tZShpbnZlcnRfbWF0Y2gpID0gbWF0Y2hlcl91cGRhdGVyLmludmVydF9tYXRj aCB7CisgICAgaWYgbGV0IFNvbWUoaW52ZXJ0X21hdGNoKSA9IGludmVydF9tYXRjaCB7CiAgICAg ICAgIG1hdGNoZXIuaW52ZXJ0X21hdGNoID0gU29tZShpbnZlcnRfbWF0Y2gpOwogICAgIH0KIAot ICAgIGlmIGxldCBTb21lKGNvbW1lbnQpID0gbWF0Y2hlcl91cGRhdGVyLmNvbW1lbnQgeworICAg IGlmIGxldCBTb21lKGNvbW1lbnQpID0gY29tbWVudCB7CiAgICAgICAgIG1hdGNoZXIuY29tbWVu dCA9IFNvbWUoY29tbWVudCk7CiAgICAgfQogCi0gICAgaWYgbGV0IFNvbWUoZGlzYWJsZSkgPSBt YXRjaGVyX3VwZGF0ZXIuZGlzYWJsZSB7CisgICAgaWYgbGV0IFNvbWUoZGlzYWJsZSkgPSBkaXNh YmxlIHsKICAgICAgICAgbWF0Y2hlci5kaXNhYmxlID0gU29tZShkaXNhYmxlKTsKICAgICB9CiAK LSAgICBpZiBsZXQgU29tZSh0YXJnZXQpID0gbWF0Y2hlcl91cGRhdGVyLnRhcmdldCB7CisgICAg aWYgbGV0IFNvbWUobmVzdGVkKSA9IG5lc3RlZCB7CisgICAgICAgIG1hdGNoZXIubmVzdGVkID0g U29tZShuZXN0ZWQpOworICAgIH0KKworICAgIGlmIGxldCBTb21lKGV2YWxfbWF0Y2hlcikgPSBl dmFsX21hdGNoZXIgeworICAgICAgICBlbnN1cmVfbWF0Y2hlcnNfZXhpc3QoY29uZmlnLCBldmFs X21hdGNoZXIuaXRlcigpLm1hcChEZXJlZjo6ZGVyZWYpKT87CisgICAgICAgIG1hdGNoZXIuZXZh bF9tYXRjaGVyID0gZXZhbF9tYXRjaGVyOworICAgIH0KKworICAgIGlmIGxldCBTb21lKHRhcmdl dCkgPSB0YXJnZXQgewogICAgICAgICBzdXBlcjo6ZW5zdXJlX2VuZHBvaW50c19leGlzdChjb25m aWcsIHRhcmdldC5hc19zbGljZSgpKT87CiAgICAgICAgIG1hdGNoZXIudGFyZ2V0ID0gdGFyZ2V0 OwogICAgIH0KIAorICAgIGVuc3VyZV9ub19yZWN1cnNpb24oY29uZmlnLCAmbWF0Y2hlcik/Owor CisgICAgaWYgIW1hdGNoZXIubmVzdGVkLnVud3JhcF9vcl9kZWZhdWx0KCkgeworICAgICAgICBl bnN1cmVfbm90X3JlZmVyZW5jZWRfYnlfb3RoZXJfbWF0Y2hlcihjb25maWcsICZtYXRjaGVyLm5h bWUpPzsKKyAgICB9CisKICAgICBjb25maWcKICAgICAgICAgLmNvbmZpZwogICAgICAgICAuc2V0 X2RhdGEobmFtZSwgTUFUQ0hFUl9UWVBFTkFNRSwgJm1hdGNoZXIpCkBAIC0xNDIsMTIgKzE3Niw5 MiBAQCBwdWIgZm4gdXBkYXRlX21hdGNoZXIoCiBwdWIgZm4gZGVsZXRlX21hdGNoZXIoY29uZmln OiAmbXV0IENvbmZpZywgbmFtZTogJnN0cikgLT4gUmVzdWx0PCgpLCBIdHRwRXJyb3I+IHsKICAg ICAvLyBDaGVjayBpZiB0aGUgbWF0Y2hlciBleGlzdHMKICAgICBsZXQgXyA9IGdldF9tYXRjaGVy KGNvbmZpZywgbmFtZSk/OworICAgIHN1cGVyOjplbnN1cmVfc2FmZV90b19kZWxldGUoY29uZmln LCBuYW1lKT87CiAKICAgICBjb25maWcuY29uZmlnLnNlY3Rpb25zLnJlbW92ZShuYW1lKTsKIAog ICAgIE9rKCgpKQogfQogCisvLy8gRW5zdXJlIHRoYXQgYSBtYXRjaGVyLCBpZGVudGlmaWVkIGJ5 IGl0J3MgbmFtZSwgaXMgbm90IHJlZmVyZW5jZWQgYnkgYW5vdGhlciBtYXRjaGVyJ3MKKy8vLyBg ZXZhbC1tYXRjaGVyYCBzdGF0ZW1lbnQuCitmbiBlbnN1cmVfbm90X3JlZmVyZW5jZWRfYnlfb3Ro ZXJfbWF0Y2hlcihjb25maWc6ICZDb25maWcsIG5hbWU6ICZzdHIpIC0+IFJlc3VsdDwoKSwgSHR0 cEVycm9yPiB7CisgICAgbGV0IHJlZmVycmVycyA9IHN1cGVyOjpnZXRfcmVmZXJyZXJzKGNvbmZp ZywgbmFtZSk/OworCisgICAgaWYgIXJlZmVycmVycy5pc19lbXB0eSgpIHsKKyAgICAgICAgbGV0 IHVzZWRfYnkgPSByZWZlcnJlcnMuaW50b19pdGVyKCkuY29sbGVjdDo6PFZlYzxfPj4oKS5qb2lu KCIsICIpOworICAgICAgICBodHRwX2JhaWwhKAorICAgICAgICAgICAgQkFEX1JFUVVFU1QsCisg ICAgICAgICAgICAiY2FuJ3QgcmVtb3ZlICduZXN0ZWQnIGZsYWcsIG1hdGNoZXIgaXMgcmVmZXJl bmNlZCBieToge3VzZWRfYnl9IgorICAgICAgICApOworICAgIH0KKworICAgIE9rKCgpKQorfQor CisvLy8gRW5zdXJlIHRoYXQgYWRkaW5nIHRoZSBtYXRjaGVyIGluIGBuZXdfZW50cnlgIHRvIGBj b25maWdgIHdvdWxkIG5vdCBjcmVhdGUKKy8vLyBhbnkgZGlyZWN0IG9yIGluZGlyZWN0IHJlY3Vy c2lvbi4KK2ZuIGVuc3VyZV9ub19yZWN1cnNpb24oY29uZmlnOiAmQ29uZmlnLCBuZXdfZW50cnk6 ICZNYXRjaGVyQ29uZmlnKSAtPiBSZXN1bHQ8KCksIEh0dHBFcnJvcj4geworICAgIGxldCBhbGxf bWF0Y2hlcnMgPSBnZXRfbWF0Y2hlcnMoY29uZmlnKT87CisKKyAgICBsZXQgbXV0IG1hcDogSGFz aE1hcDxTdHJpbmcsICZNYXRjaGVyQ29uZmlnPiA9CisgICAgICAgIEhhc2hNYXA6OmZyb21faXRl cihhbGxfbWF0Y2hlcnMuaXRlcigpLm1hcCh8aXwgKGkubmFtZS5jbG9uZSgpLCBpKSkpOworICAg IG1hcC5pbnNlcnQobmV3X2VudHJ5Lm5hbWUuY2xvbmUoKSwgbmV3X2VudHJ5KTsKKworICAgIGZv ciBtYXRjaGVyIGluIG1hcC52YWx1ZXMoKSB7CisgICAgICAgIGxldCBtdXQgdHJhY2UgPSBWZWM6 Om5ldygpOworICAgICAgICB0cmF2ZXJzZShtYXRjaGVyLCAmbWFwLCAmbXV0IHRyYWNlKT87Cisg ICAgfQorCisgICAgT2soKCkpCit9CisKKy8vLyBUcmF2ZXJzZSBtYXRjaGVyIGdyYXBoIGFuZCBj aGVjayBmb3IgYW55IHJlY3Vyc2lvbi4KK2ZuIHRyYXZlcnNlPCdhPigKKyAgICBtYXRjaGVyOiAm J2EgTWF0Y2hlckNvbmZpZywKKyAgICBtYXRjaGVyczogJidhIEhhc2hNYXA8U3RyaW5nLCAmTWF0 Y2hlckNvbmZpZz4sCisgICAgdHJhY2U6ICZtdXQgVmVjPCYnYSBTdHJpbmc+LAorKSAtPiBSZXN1 bHQ8KCksIEh0dHBFcnJvcj4geworICAgIC8vIFJlY3Vyc2lvbiBzYWZldHk6IEVpdGhlciB3ZSBo YXZlIGEgREFHIGFuZCB3aWxsIHRlcm1pbmF0ZSBhZnRlciB2aXNpdGluZyBhbGwKKyAgICAvLyBu b2RlcyBpbiB0aGUgZ3JhcGgsIG9yIHdlIHF1aXQgZWFybHkgYmVjYXVzZSB3ZSBkZXRlY3RlZCBh IGxvb3AgYnkgaGF2aW5nIHRoZSBzYW1lCisgICAgLy8gbWF0Y2hlciBuYW1lIHR3aWNlIGluIHRo ZSB0cmFjZS4KKworICAgIGlmIHRyYWNlLmNvbnRhaW5zKCYmbWF0Y2hlci5uYW1lKSB7CisgICAg ICAgIGxldCBtdXQgdHJhY2Vfc3RyID0gU3RyaW5nOjpuZXcoKTsKKyAgICAgICAgZm9yIGl0ZW0g aW4gdHJhY2UgeworICAgICAgICAgICAgdHJhY2Vfc3RyLnB1c2hfc3RyKGl0ZW0pOworICAgICAg ICAgICAgdHJhY2Vfc3RyLnB1c2hfc3RyKCIg4oaSICIpOworICAgICAgICB9CisKKyAgICAgICAg dHJhY2Vfc3RyLnB1c2hfc3RyKCZtYXRjaGVyLm5hbWUpOworICAgICAgICBodHRwX2JhaWwhKEJB RF9SRVFVRVNULCAibWF0Y2hlciByZWN1cnNpb24gZGV0ZWN0ZWQ6IHt0cmFjZV9zdHJ9Iik7Cisg ICAgfQorCisgICAgdHJhY2UucHVzaCgmbWF0Y2hlci5uYW1lKTsKKworICAgIGZvciBuZXh0X25h bWUgaW4gJm1hdGNoZXIuZXZhbF9tYXRjaGVyIHsKKyAgICAgICAgaWYgbGV0IFNvbWUobmV4dCkg PSBtYXRjaGVycy5nZXQobmV4dF9uYW1lKSB7CisgICAgICAgICAgICB0cmF2ZXJzZShuZXh0LCBt YXRjaGVycywgdHJhY2UpPzsKKyAgICAgICAgfQorICAgIH0KKworICAgIHRyYWNlLnBvcCgpOwor CisgICAgT2soKCkpCit9CisKKy8vLyBFbnN1cmUgdGhhdCBgY29uZmlnYCBjb250YWlucyBhbGwg bWF0Y2hlcnMgaW4gYG1hdGNoZXJzYC4KK2ZuIGVuc3VyZV9tYXRjaGVyc19leGlzdDwnYT4oCisg ICAgY29uZmlnOiAmJ2EgQ29uZmlnLAorICAgIG1hdGNoZXJzOiBpbXBsIEl0ZXJhdG9yPEl0ZW0g PSAmJ2Egc3RyPiwKKykgLT4gUmVzdWx0PCgpLCBIdHRwRXJyb3I+IHsKKyAgICBmb3IgbmFtZSBp biBtYXRjaGVycyB7CisgICAgICAgIGdldF9tYXRjaGVyKGNvbmZpZywgbmFtZSk/OworICAgIH0K KworICAgIE9rKCgpKQorfQorCiAjW2NmZyhhbGwodGVzdCwgZmVhdHVyZSA9ICJzZW5kbWFpbCIp KV0KIG1vZCB0ZXN0cyB7CiAgICAgdXNlIHN1cGVyOjoqOwpAQCAtMjU5LDQgKzM3MywxMDEgQEAg bWF0Y2hlcjogbWF0Y2hlcjIKIAogICAgICAgICBPaygoKSkKICAgICB9CisKKyAgICAjW3Rlc3Rd CisgICAgZm4gdGVzdF9tYXRjaGVyX2RlbGV0ZV9yZWZlcmVuY2VkX21hdGNoZXJfZmFpbHMoKSB7 CisgICAgICAgIGxldCBtdXQgY29uZmlnID0gQ29uZmlnOjpuZXcoCisgICAgICAgICAgICAiCitt YXRjaGVyOiBtYXRjaGVyMQorICAgIGV2YWwtbWF0Y2hlciBtYXRjaGVyMgorCittYXRjaGVyOiBt YXRjaGVyMgorICAgIG5lc3RlZCB0cnVlCisiLAorICAgICAgICAgICAgIiIsCisgICAgICAgICkK KyAgICAgICAgLnVud3JhcCgpOworCisgICAgICAgIGFzc2VydCEoZGVsZXRlX21hdGNoZXIoJm11 dCBjb25maWcsICJtYXRjaGVyMiIpLmlzX2VycigpKTsKKyAgICB9CisKKyAgICAjW3Rlc3RdCisg ICAgZm4gdGVzdF9tYXRjaGVyX3VwZGF0ZV93b3VsZF9jcmVhdGVfaW5kaXJlY3RfcmVjdXJzaW9u KCkgeworICAgICAgICBsZXQgbXV0IGNvbmZpZyA9IENvbmZpZzo6bmV3KAorICAgICAgICAgICAg IgorbWF0Y2hlcjogbWF0Y2hlcjEKKyAgICBuZXN0ZWQgdHJ1ZQorICAgIGV2YWwtbWF0Y2hlciBt YXRjaGVyMgorCittYXRjaGVyOiBtYXRjaGVyMgorICAgIG5lc3RlZCB0cnVlCisiLAorICAgICAg ICAgICAgIiIsCisgICAgICAgICkKKyAgICAgICAgLnVud3JhcCgpOworCisgICAgICAgIGFzc2Vy dCEodXBkYXRlX21hdGNoZXIoCisgICAgICAgICAgICAmbXV0IGNvbmZpZywKKyAgICAgICAgICAg ICJtYXRjaGVyMiIsCisgICAgICAgICAgICBNYXRjaGVyQ29uZmlnVXBkYXRlciB7CisgICAgICAg ICAgICAgICAgZXZhbF9tYXRjaGVyOiBTb21lKHZlYyFbIm1hdGNoZXIxIi5pbnRvKCldKSwKKyAg ICAgICAgICAgICAgICAuLkRlZmF1bHQ6OmRlZmF1bHQoKQorICAgICAgICAgICAgfSwKKyAgICAg ICAgICAgIE5vbmUsCisgICAgICAgICAgICBOb25lLAorICAgICAgICApCisgICAgICAgIC5pc19l cnIoKSk7CisgICAgfQorCisgICAgI1t0ZXN0XQorICAgIGZuIHRlc3RfbWF0Y2hlcl91cGRhdGVf d291bGRfY3JlYXRlX2RpcmVjdF9yZWN1cnNpb24oKSB7CisgICAgICAgIGxldCBtdXQgY29uZmln ID0gQ29uZmlnOjpuZXcoCisgICAgICAgICAgICAiCittYXRjaGVyOiBtYXRjaGVyMQorICAgIG5l c3RlZCB0cnVlCisiLAorICAgICAgICAgICAgIiIsCisgICAgICAgICkKKyAgICAgICAgLnVud3Jh cCgpOworCisgICAgICAgIGFzc2VydCEodXBkYXRlX21hdGNoZXIoCisgICAgICAgICAgICAmbXV0 IGNvbmZpZywKKyAgICAgICAgICAgICJtYXRjaGVyMSIsCisgICAgICAgICAgICBNYXRjaGVyQ29u ZmlnVXBkYXRlciB7CisgICAgICAgICAgICAgICAgZXZhbF9tYXRjaGVyOiBTb21lKHZlYyFbIm1h dGNoZXIxIi5pbnRvKCldKSwKKyAgICAgICAgICAgICAgICAuLkRlZmF1bHQ6OmRlZmF1bHQoKQor ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIE5vbmUsCisgICAgICAgICAgICBOb25lLAorICAg ICAgICApCisgICAgICAgIC5pc19lcnIoKSk7CisgICAgfQorCisgICAgI1t0ZXN0XQorICAgIGZu IHRlc3RfcmVtb3ZlX25lc3RlZF9mb3JfcmVmZXJlbmNlZF9tYXRjaGVyKCkgeworICAgICAgICBs ZXQgbXV0IGNvbmZpZyA9IENvbmZpZzo6bmV3KAorICAgICAgICAgICAgIgorbWF0Y2hlcjogbWF0 Y2hlcjEKKyAgICBuZXN0ZWQgdHJ1ZQorICAgIGV2YWwtbWF0Y2hlciBtYXRjaGVyMgorCittYXRj aGVyOiBtYXRjaGVyMgorICAgIG5lc3RlZCB0cnVlCisiLAorICAgICAgICAgICAgIiIsCisgICAg ICAgICkKKyAgICAgICAgLnVud3JhcCgpOworCisgICAgICAgIGFzc2VydCEodXBkYXRlX21hdGNo ZXIoCisgICAgICAgICAgICAmbXV0IGNvbmZpZywKKyAgICAgICAgICAgICJtYXRjaGVyMiIsCisg ICAgICAgICAgICBNYXRjaGVyQ29uZmlnVXBkYXRlciB7CisgICAgICAgICAgICAgICAgbmVzdGVk OiBTb21lKGZhbHNlKSwKKyAgICAgICAgICAgICAgICAuLkRlZmF1bHQ6OmRlZmF1bHQoKQorICAg ICAgICAgICAgfSwKKyAgICAgICAgICAgIE5vbmUsCisgICAgICAgICAgICBOb25lLAorICAgICAg ICApCisgICAgICAgIC5pc19lcnIoKSk7CisgICAgfQogfQpkaWZmIC0tZ2l0IGEvcHJveG1veC1u b3RpZnkvc3JjL2FwaS9tb2QucnMgYi9wcm94bW94LW5vdGlmeS9zcmMvYXBpL21vZC5ycwppbmRl eCA3ZjgyM2JjNy4uZWU5YmIyYjkgMTAwNjQ0Ci0tLSBhL3Byb3htb3gtbm90aWZ5L3NyYy9hcGkv bW9kLnJzCisrKyBiL3Byb3htb3gtbm90aWZ5L3NyYy9hcGkvbW9kLnJzCkBAIC0yMDIsNiArMjAy LDEwIEBAIGZuIGdldF9yZWZlcnJlcnMoY29uZmlnOiAmQ29uZmlnLCBlbnRpdHk6ICZzdHIpIC0+ IFJlc3VsdDxIYXNoU2V0PFN0cmluZz4sIEh0dHBFCiAgICAgICAgIGlmIG1hdGNoZXIudGFyZ2V0 Lml0ZXIoKS5hbnkofHRhcmdldHwgdGFyZ2V0ID09IGVudGl0eSkgewogICAgICAgICAgICAgcmVm ZXJyZXJzLmluc2VydChtYXRjaGVyLm5hbWUuY2xvbmUoKSk7CiAgICAgICAgIH0KKworICAgICAg ICBpZiBtYXRjaGVyLmV2YWxfbWF0Y2hlci5pdGVyKCkuYW55KHx0YXJnZXR8IHRhcmdldCA9PSBl bnRpdHkpIHsKKyAgICAgICAgICAgIHJlZmVycmVycy5pbnNlcnQobWF0Y2hlci5uYW1lLmNsb25l KCkpOworICAgICAgICB9CiAgICAgfQogCiAgICAgT2socmVmZXJyZXJzKQpkaWZmIC0tZ2l0IGEv cHJveG1veC1ub3RpZnkvc3JjL21hdGNoZXIucnMgYi9wcm94bW94LW5vdGlmeS9zcmMvbWF0Y2hl ci5ycwppbmRleCAzY2MwMTg5YS4uNDA4NjdhYjkgMTAwNjQ0Ci0tLSBhL3Byb3htb3gtbm90aWZ5 L3NyYy9tYXRjaGVyLnJzCisrKyBiL3Byb3htb3gtbm90aWZ5L3NyYy9tYXRjaGVyLnJzCkBAIC01 MTYsNiArNTE2LDEwIEBAIHB1YiBlbnVtIERlbGV0ZWFibGVNYXRjaGVyUHJvcGVydHkgewogICAg IE1vZGUsCiAgICAgLy8vIERlbGV0ZSBgdGFyZ2V0YAogICAgIFRhcmdldCwKKyAgICAvLy8gRGVs ZXRlIGBuZXN0ZWRgLgorICAgIE5lc3RlZCwKKyAgICAvLy8gRGVsZXRlIGBldmFsLW1hdGNoZXJg LgorICAgIEV2YWxNYXRjaGVyLAogfQogCiBwdWIgZm4gY2hlY2tfbWF0Y2hlczwnYT4oCi0tIAoy LjM5LjUKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K cGJzLWRldmVsIG1haWxpbmcgbGlzdApwYnMtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6 Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcGJzLWRldmVsCg==