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 BFBA01FF16F for ; Thu, 16 Jan 2025 12:53:00 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id CBBF31F33A; Thu, 16 Jan 2025 12:52:14 +0100 (CET) From: =?UTF-8?q?Lauren=C8=9Biu=20Leahu-Vl=C4=83ducu?= To: pbs-devel@lists.proxmox.com Date: Thu, 16 Jan 2025 12:51:09 +0100 Message-Id: <20250116115109.143589-2-l.leahu-vladucu@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250116115109.143589-1-l.leahu-vladucu@proxmox.com> References: <20250116115109.143589-1-l.leahu-vladucu@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.390 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 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-backup 1/1] Automatically select a drive (if part of a changer) when loading tapes 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: =?UTF-8?q?Lauren=C8=9Biu=20Leahu-Vl=C4=83ducu?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" U2lnbmVkLW9mZi1ieTogTGF1cmVuyJtpdSBMZWFodS1WbMSDZHVjdSA8bC5sZWFodS12bGFkdWN1 QHByb3htb3guY29tPgotLS0KIENhcmdvLnRvbWwgICAgICAgICAgICAgICAgICAgICAgICB8ICAg MiArCiBwYnMtYXBpLXR5cGVzL3NyYy90YXBlL2NoYW5nZXIucnMgfCAgMTQgKysrLQogc3JjL2Fw aTIvdGFwZS9jaGFuZ2VyLnJzICAgICAgICAgIHwgMTE3ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrLQogc3JjL2Jpbi9wcm94bW94LWJhY2t1cC1hcGkucnMgICAgIHwgICAyICsKIHNyYy9i aW4vcHJveG1veC1iYWNrdXAtcHJveHkucnMgICB8ICAgMiArCiBzcmMvYmluL3Byb3htb3gtdGFw ZS5ycyAgICAgICAgICAgfCAgNTAgKysrKysrKysrKystLQogc3JjL3RhcGUvY2hhbmdlci9tb2Qu cnMgICAgICAgICAgIHwgIDE5ICsrKystCiBzcmMvdGFwZS9kcml2ZS92aXJ0dWFsX3RhcGUucnMg ICAgfCAgIDggKy0KIHNyYy90YXBlL2RyaXZlX2luZm8ucnMgICAgICAgICAgICB8ICA1MSArKysr KysrKysrKysrCiBzcmMvdGFwZS9tb2QucnMgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3Jj L3Rvb2xzL21vZC5ycyAgICAgICAgICAgICAgICAgIHwgICA3ICsrCiB3d3cvdGFwZS9DaGFuZ2Vy U3RhdHVzLmpzICAgICAgICAgfCAgMTYgKysrLQogMTIgZmlsZXMgY2hhbmdlZCwgMjc0IGluc2Vy dGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90YXBlL2Ry aXZlX2luZm8ucnMKCmRpZmYgLS1naXQgYS9DYXJnby50b21sIGIvQ2FyZ28udG9tbAppbmRleCBh ZGVlYjZlZi4uMzQ4ZDFjZWEgMTAwNjQ0Ci0tLSBhL0NhcmdvLnRvbWwKKysrIGIvQ2FyZ28udG9t bApAQCAtNzIsNiArNzIsNyBAQCBwcm94bW94LWxkYXAgPSAiMC4yLjEiCiBwcm94bW94LW1ldHJp Y3MgPSAiMC4zLjEiCiBwcm94bW94LW5vdGlmeSA9ICIwLjUuMSIKIHByb3htb3gtb3BlbmlkID0g IjAuMTAuMCIKK3Byb3htb3gtcHJvZHVjdC1jb25maWcgPSAiMC4yLjIiCiBwcm94bW94LXJlc3Qt c2VydmVyID0geyB2ZXJzaW9uID0gIjAuOC41IiwgZmVhdHVyZXMgPSBbICJ0ZW1wbGF0ZXMiIF0g fQogIyBzb21lIHVzZSAiY2xpIiwgc29tZSB1c2UgImNsaSIgYW5kICJzZXJ2ZXIiLCBwYnMtY29u ZmlnIHVzZXMgbm90aGluZwogcHJveG1veC1yb3V0ZXIgPSB7IHZlcnNpb24gPSAiMy4wLjAiLCBk ZWZhdWx0LWZlYXR1cmVzID0gZmFsc2UgfQpAQCAtMjIxLDYgKzIyMiw3IEBAIHByb3htb3gtbGRh cC53b3Jrc3BhY2UgPSB0cnVlCiBwcm94bW94LW1ldHJpY3Mud29ya3NwYWNlID0gdHJ1ZQogcHJv eG1veC1ub3RpZnkgPSB7IHdvcmtzcGFjZSA9IHRydWUsIGZlYXR1cmVzID0gWyAicGJzLWNvbnRl eHQiIF0gfQogcHJveG1veC1vcGVuaWQud29ya3NwYWNlID0gdHJ1ZQorcHJveG1veC1wcm9kdWN0 LWNvbmZpZy53b3Jrc3BhY2UgPSB0cnVlCiBwcm94bW94LXJlc3Qtc2VydmVyID0geyB3b3Jrc3Bh Y2UgPSB0cnVlLCBmZWF0dXJlcyA9IFsgInJhdGUtbGltaXRlZC1zdHJlYW0iIF0gfQogcHJveG1v eC1yb3V0ZXIgPSB7IHdvcmtzcGFjZSA9IHRydWUsIGZlYXR1cmVzID0gWyAiY2xpIiwgInNlcnZl ciJdIH0KIHByb3htb3gtc2NoZW1hID0geyB3b3Jrc3BhY2UgPSB0cnVlLCBmZWF0dXJlcyA9IFsg ImFwaS1tYWNybyIgXSB9CmRpZmYgLS1naXQgYS9wYnMtYXBpLXR5cGVzL3NyYy90YXBlL2NoYW5n ZXIucnMgYi9wYnMtYXBpLXR5cGVzL3NyYy90YXBlL2NoYW5nZXIucnMKaW5kZXggZGYzODIzY2Yu LjUyZWUwOGRiIDEwMDY0NAotLS0gYS9wYnMtYXBpLXR5cGVzL3NyYy90YXBlL2NoYW5nZXIucnMK KysrIGIvcGJzLWFwaS10eXBlcy9zcmMvdGFwZS9jaGFuZ2VyLnJzCkBAIC04LDEwICs4LDIwIEBA IHVzZSBwcm94bW94X3NjaGVtYTo6ewogCiB1c2UgY3JhdGU6OntPcHRpb25hbERldmljZUlkZW50 aWZpY2F0aW9uLCBQUk9YTU9YX1NBRkVfSURfRk9STUFUfTsKIAorY29uc3QgVEFQRV9DSEFOR0VS X01JTl9MRU5HVEg6IHVzaXplID0gMzsKK2NvbnN0IFRBUEVfQ0hBTkdFUl9NQVhfTEVOR1RIOiB1 c2l6ZSA9IDMyOworCiBwdWIgY29uc3QgQ0hBTkdFUl9OQU1FX1NDSEVNQTogU2NoZW1hID0gU3Ry aW5nU2NoZW1hOjpuZXcoIlRhcGUgQ2hhbmdlciBJZGVudGlmaWVyLiIpCiAgICAgLmZvcm1hdCgm UFJPWE1PWF9TQUZFX0lEX0ZPUk1BVCkKLSAgICAubWluX2xlbmd0aCgzKQotICAgIC5tYXhfbGVu Z3RoKDMyKQorICAgIC5taW5fbGVuZ3RoKFRBUEVfQ0hBTkdFUl9NSU5fTEVOR1RIKQorICAgIC5t YXhfbGVuZ3RoKFRBUEVfQ0hBTkdFUl9NQVhfTEVOR1RIKQorICAgIC5zY2hlbWEoKTsKKworcHVi IGNvbnN0IENIQU5HRVJfTkFNRV9TQ0hFTUFfQVVUT01BVElDX0RSSVZFX0FTSUdOTUVOVDogU2No ZW1hID0KKyAgICBTdHJpbmdTY2hlbWE6Om5ldygiVGFwZSBDaGFuZ2VyIElkZW50aWZpZXIgdG8g YmUgdXNlZCBmb3IgYXV0b21hdGljIHRhcGUgZHJpdmUgYXNzaWdubWVudC4iKQorICAgIC5mb3Jt YXQoJlBST1hNT1hfU0FGRV9JRF9GT1JNQVQpCisgICAgLm1pbl9sZW5ndGgoVEFQRV9DSEFOR0VS X01JTl9MRU5HVEgpCisgICAgLm1heF9sZW5ndGgoVEFQRV9DSEFOR0VSX01BWF9MRU5HVEgpCiAg ICAgLnNjaGVtYSgpOwogCiBwdWIgY29uc3QgU0NTSV9DSEFOR0VSX1BBVEhfU0NIRU1BOiBTY2hl bWEgPQpkaWZmIC0tZ2l0IGEvc3JjL2FwaTIvdGFwZS9jaGFuZ2VyLnJzIGIvc3JjL2FwaTIvdGFw ZS9jaGFuZ2VyLnJzCmluZGV4IDdlY2Y3YmZmLi5iNzNkNjgzMiAxMDA2NDQKLS0tIGEvc3JjL2Fw aTIvdGFwZS9jaGFuZ2VyLnJzCisrKyBiL3NyYy9hcGkyL3RhcGUvY2hhbmdlci5ycwpAQCAtMSw2 ICsxLDYgQEAKIHVzZSBzdGQ6OmNvbGxlY3Rpb25zOjpIYXNoTWFwOwogCi11c2UgYW55aG93OjpF cnJvcjsKK3VzZSBhbnlob3c6OntiYWlsLCBFcnJvcn07CiB1c2Ugc2VyZGVfanNvbjo6VmFsdWU7 CiAKIHVzZSBwcm94bW94X3JvdXRlcjo6e2xpc3Rfc3ViZGlyc19hcGlfbWV0aG9kLCBQZXJtaXNz aW9uLCBSb3V0ZXIsIFJwY0Vudmlyb25tZW50LCBTdWJkaXJNYXB9OwpAQCAtOCw3ICs4LDggQEAg dXNlIHByb3htb3hfc2NoZW1hOjphcGk7CiAKIHVzZSBwYnNfYXBpX3R5cGVzOjp7CiAgICAgQXV0 aGlkLCBDaGFuZ2VyTGlzdEVudHJ5LCBMdG9UYXBlRHJpdmUsIE10eEVudHJ5S2luZCwgTXR4U3Rh dHVzRW50cnksIFNjc2lUYXBlQ2hhbmdlciwKLSAgICBDSEFOR0VSX05BTUVfU0NIRU1BLCBQUklW X1RBUEVfQVVESVQsIFBSSVZfVEFQRV9SRUFELAorICAgIENIQU5HRVJfTkFNRV9TQ0hFTUEsIFBS SVZfVEFQRV9BVURJVCwgUFJJVl9UQVBFX1JFQUQsIE1FRElBX0xBQkVMX1NDSEVNQSwgVVBJRF9T Q0hFTUEsCisgICAgRHJpdmVMaXN0RW50cnksIERldmljZUFjdGl2aXR5CiB9OwogdXNlIHBic19j b25maWc6OkNhY2hlZFVzZXJJbmZvOwogdXNlIHBic190YXBlOjp7CkBAIC0xOTksNyArMjAwLDEx OSBAQCBwdWIgZm4gbGlzdF9jaGFuZ2VycygKICAgICBPayhsaXN0KQogfQogCisjW2FwaSgKKyAg ICBpbnB1dDogeworICAgICAgICBwcm9wZXJ0aWVzOiB7CisgICAgICAgICAgICBuYW1lOiB7Cisg ICAgICAgICAgICAgICAgc2NoZW1hOiBDSEFOR0VSX05BTUVfU0NIRU1BLAorICAgICAgICAgICAg fSwKKyAgICAgICAgICAgICJsYWJlbC10ZXh0IjogeworICAgICAgICAgICAgICAgIHNjaGVtYTog TUVESUFfTEFCRUxfU0NIRU1BLAorICAgICAgICAgICAgfSwKKyAgICAgICAgfSwKKyAgICB9LAor ICAgIHJldHVybnM6IHsKKyAgICAgICAgc2NoZW1hOiBVUElEX1NDSEVNQSwKKyAgICB9LAorICAg IGFjY2VzczogeworICAgICAgICBwZXJtaXNzaW9uOiAmUGVybWlzc2lvbjo6UHJpdmlsZWdlKCZb InRhcGUiLCAiZGV2aWNlIiwgIntuYW1lfSJdLCBQUklWX1RBUEVfUkVBRCwgZmFsc2UpLAorICAg IH0sCispXQorLy8vIExvYWQgbWVkaWEgd2l0aCBzcGVjaWZpZWQgbGFiZWwKKy8vLworLy8vIElz c3VlIGEgbWVkaWEgbG9hZCByZXF1ZXN0IHRvIHRoZSBhc3NvY2lhdGVkIGNoYW5nZXIgZGV2aWNl LgorcHViIGZuIGxvYWRfbWVkaWEoCisgICAgbmFtZTogU3RyaW5nLAorICAgIGxhYmVsX3RleHQ6 IFN0cmluZywKKyAgICBycGNlbnY6ICZtdXQgZHluIFJwY0Vudmlyb25tZW50LAorKSAtPiBSZXN1 bHQ8VmFsdWUsIEVycm9yPiB7CisgICAgbGV0IGRyaXZlID0gY2hvb3NlX2RyaXZlKCZuYW1lLCBy cGNlbnYpOworICAgIHN1cGVyOjpkcml2ZTo6bG9hZF9tZWRpYShkcml2ZT8sIGxhYmVsX3RleHQs IHJwY2VudikKK30KKworI1thcGkoCisgICAgaW5wdXQ6IHsKKyAgICAgICAgcHJvcGVydGllczog eworICAgICAgICAgICAgbmFtZTogeworICAgICAgICAgICAgICAgIHNjaGVtYTogQ0hBTkdFUl9O QU1FX1NDSEVNQSwKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic291cmNlLXNsb3QiOiB7 CisgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICJTb3VyY2Ugc2xvdCBudW1iZXIuIiwKKyAg ICAgICAgICAgICAgICBtaW5pbXVtOiAxLAorICAgICAgICAgICAgfSwKKyAgICAgICAgfSwKKyAg ICB9LAorICAgIGFjY2VzczogeworICAgICAgICBwZXJtaXNzaW9uOiAmUGVybWlzc2lvbjo6UHJp dmlsZWdlKCZbInRhcGUiLCAiZGV2aWNlIiwgIntuYW1lfSJdLCBQUklWX1RBUEVfUkVBRCwgZmFs c2UpLAorICAgIH0sCispXQorLy8vIExvYWQgbWVkaWEgZnJvbSB0aGUgc3BlY2lmaWVkIHNsb3QK Ky8vLworLy8vIElzc3VlIGEgbWVkaWEgbG9hZCByZXF1ZXN0IHRvIHRoZSBhc3NvY2lhdGVkIGNo YW5nZXIgZGV2aWNlLgorcHViIGFzeW5jIGZuIGxvYWRfc2xvdCgKKyAgICBuYW1lOiBTdHJpbmcs CisgICAgc291cmNlX3Nsb3Q6IHU2NCwKKyAgICBycGNlbnY6ICZtdXQgZHluIFJwY0Vudmlyb25t ZW50LCkgLT4gUmVzdWx0PCgpLCBFcnJvcj4geworICAgIGxldCBkcml2ZSA9IGNob29zZV9kcml2 ZSgmbmFtZSwgcnBjZW52KTsKKyAgICBzdXBlcjo6ZHJpdmU6OmxvYWRfc2xvdChkcml2ZT8sIHNv dXJjZV9zbG90KS5hd2FpdAorfQorCitmbiBjaG9vc2VfZHJpdmUoCisgICAgY2hhbmdlcjogJnN0 ciwKKyAgICBycGNlbnY6ICZtdXQgZHluIFJwY0Vudmlyb25tZW50KSAtPiBSZXN1bHQ8U3RyaW5n LCBFcnJvcj4geworICAgIC8vIFdlIGhhdmUgdG8gYXV0b21hdGljYWxseSBzZWxlY3QgYSBkcml2 ZSBmcm9tIHRoZSBzcGVjaWZpZWQgY2hhbmdlci4gRm9yIHRoYXQgcHVycG9zZSwgd2UgdGFrZSBh bGwgZHJpdmVzIHRoYXQgYXJlIHBhcnQgb2YgdGhlIGNoYW5nZXIKKyAgICAvLyBhbmQgc2VhcmNo IGZvciB0aGUgb25lIHRoYXQgaGFzIG5vdCBiZWVuIHVzZWQgZm9yIHRoZSBsb25nZXN0IHRpbWUg KHRvIGVuc3VyZSBzaW1pbGFyIHdlYXIgYmV0d2VlbiB0aGUgZHJpdmVzKSwgb3IgdXNlIG9uZSB0 aGF0IGhhcyBuZXZlciBiZWVuIHVzZWQuCisgICAgbGV0IGRyaXZlcyA9IHN1cGVyOjpkcml2ZTo6 bGlzdF9kcml2ZXMoT3B0aW9uOjpmcm9tKGNoYW5nZXIudG9fc3RyaW5nKCkpLCB0cnVlLCBWYWx1 ZTo6TnVsbCwgcnBjZW52KTsKKworICAgIG1hdGNoIGRyaXZlcyB7CisgICAgICAgIE9rKGVudHJp ZXMpID0+IHsKKyAgICAgICAgICAgIGxldCBpZGxlX2RyaXZlczogVmVjPERyaXZlTGlzdEVudHJ5 PiA9IGVudHJpZXMuaW50b19pdGVyKCkuZmlsdGVyKHxlbnRyeXwgbWF0Y2hlcyEoZW50cnkuYWN0 aXZpdHksIE5vbmUgfCBTb21lKERldmljZUFjdGl2aXR5OjpOb0FjdGl2aXR5KSkpLmNvbGxlY3Qo KTsKKyAgICAgICAgICAgIGxldCBkcml2ZXNfaW5mbyA9IGNyYXRlOjp0YXBlOjpkcml2ZV9pbmZv OjpnZXRfZHJpdmVzX2luZm8oKTsKKworICAgICAgICAgICAgbWF0Y2ggZHJpdmVzX2luZm8gewor ICAgICAgICAgICAgICAgIE9rKGRyaXZlc19pbmZvKSA9PiB7CisgICAgICAgICAgICAgICAgICAg IGxldCBtdXQgaW5kZXhfb2xkZXN0IDogT3B0aW9uPHVzaXplPiA9IE9wdGlvbjo6ZGVmYXVsdCgp OworICAgICAgICAgICAgICAgICAgICBsZXQgbXV0IG9sZGVzdF90aW1lOiBPcHRpb248aTY0PiA9 IE9wdGlvbjo6ZGVmYXVsdCgpOworCisgICAgICAgICAgICAgICAgICAgIGZvciBpbmRleCBpbiAw Li5pZGxlX2RyaXZlcy5sZW4oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZXhpc3Rp bmdfZHJpdmUgPSBkcml2ZXNfaW5mby5kcml2ZXMuZ2V0KCZpZGxlX2RyaXZlc1tpbmRleF0uY29u ZmlnLm5hbWUpOworCisgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaCBleGlzdGluZ19kcml2 ZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU29tZShleGlzdGluZ19kcml2ZSkgPT4g eworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBvbGRlc3RfdGltZS5pc19ub25l KCkgfHwgb2xkZXN0X3RpbWUuaXNfc29tZV9hbmQofG9sZGVzdF90aW1lfCBleGlzdGluZ19kcml2 ZS5sYXN0X3VzYWdlIDwgb2xkZXN0X3RpbWUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG9sZGVzdF90aW1lID0gT3B0aW9uOjpmcm9tKGV4aXN0aW5nX2RyaXZlLmxhc3Rf dXNhZ2UpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXhfb2xkZXN0 ID0gT3B0aW9uOjpmcm9tKGluZGV4KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTm9uZSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERyaXZl IGhhcyBuZXZlciBiZWVuIHVzZWQsIHNvIGxldCdzIHVzZSB0aGlzIG9uZSEKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW5kZXhfb2xkZXN0ID0gT3B0aW9uOjpmcm9tKGluZGV4KTsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg ICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgbWF0Y2ggaW5kZXhfb2xkZXN0IHsKKyAgICAg ICAgICAgICAgICAgICAgICAgIFNvbWUoaW5kZXhfb2xkZXN0KSA9PiBPayhpZGxlX2RyaXZlcy5n ZXQoaW5kZXhfb2xkZXN0KS51bndyYXAoKS5jb25maWcubmFtZS5jbG9uZSgpKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgIE5vbmUgPT4gYmFpbCEoInRoZXJlIGFyZSBubyBpZGxlIGRyaXZlcyB0 byBjaG9vc2UgZm9yIGF1dG9tYXRpYyBkcml2ZSBhc3NpZ25tZW50IikKKyAgICAgICAgICAgICAg ICAgICAgfQorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgRXJyKF9lcnJvcikg PT4geworICAgICAgICAgICAgICAgICAgICAvLyBTaW1wbHkgdXNlIHRoZSBmaXJzdCBkcml2ZSwg aWYgcG9zc2libGUuCisgICAgICAgICAgICAgICAgICAgIG1hdGNoIGlkbGVfZHJpdmVzLmZpcnN0 KCkgeworICAgICAgICAgICAgICAgICAgICAgICAgU29tZShpZGxlX2RyaXZlKSA9PiBPayhpZGxl X2RyaXZlLmNvbmZpZy5uYW1lLmNsb25lKCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgTm9u ZSA9PiBiYWlsISgidGhlcmUgYXJlIG5vIGlkbGUgZHJpdmVzIHRvIGNob29zZSBmb3IgYXV0b21h dGljIGRyaXZlIGFzc2lnbm1lbnQiKQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg ICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIEVycihlcnJvcikgPT4g YmFpbCEoImNhbm5vdCBxdWVyeSBkcml2ZXM6IHt9IiwgZXJyb3IpCisgICAgfQorfQorCiBjb25z dCBTVUJESVJTOiBTdWJkaXJNYXAgPSAmWworICAgICgibG9hZC1tZWRpYSIsICZSb3V0ZXI6Om5l dygpLnBvc3QoJkFQSV9NRVRIT0RfTE9BRF9NRURJQSkpLAorICAgICgibG9hZC1zbG90IiwgJlJv dXRlcjo6bmV3KCkucG9zdCgmQVBJX01FVEhPRF9MT0FEX1NMT1QpKSwKICAgICAoInN0YXR1cyIs ICZSb3V0ZXI6Om5ldygpLmdldCgmQVBJX01FVEhPRF9HRVRfU1RBVFVTKSksCiAgICAgKCJ0cmFu c2ZlciIsICZSb3V0ZXI6Om5ldygpLnBvc3QoJkFQSV9NRVRIT0RfVFJBTlNGRVIpKSwKIF07CmRp ZmYgLS1naXQgYS9zcmMvYmluL3Byb3htb3gtYmFja3VwLWFwaS5ycyBiL3NyYy9iaW4vcHJveG1v eC1iYWNrdXAtYXBpLnJzCmluZGV4IDdhNzJkNDlhLi5jNmIyZDUzMiAxMDA2NDQKLS0tIGEvc3Jj L2Jpbi9wcm94bW94LWJhY2t1cC1hcGkucnMKKysrIGIvc3JjL2Jpbi9wcm94bW94LWJhY2t1cC1h cGkucnMKQEAgLTQzLDYgKzQzLDggQEAgZm4gZ2V0X2luZGV4KCkgLT4gUGluPEJveDxkeW4gRnV0 dXJlPE91dHB1dCA9IFJlc3BvbnNlPEJvZHk+PiArIFNlbmQ+PiB7CiBhc3luYyBmbiBydW4oKSAt PiBSZXN1bHQ8KCksIEVycm9yPiB7CiAgICAgaW5pdF9sb2dnZXIoIlBCU19MT0ciLCBMZXZlbEZp bHRlcjo6SU5GTyk/OwogCisgICAgbGV0IF8gPSBwcm94bW94X2JhY2t1cDo6dG9vbHM6OmluaXRf cHJvZHVjdF9jb25maWcoKTsKKwogICAgIGNvbmZpZzo6Y3JlYXRlX2NvbmZpZ2RpcigpPzsKIAog ICAgIGNvbmZpZzo6dXBkYXRlX3NlbGZfc2lnbmVkX2NlcnQoZmFsc2UpPzsKZGlmZiAtLWdpdCBh L3NyYy9iaW4vcHJveG1veC1iYWNrdXAtcHJveHkucnMgYi9zcmMvYmluL3Byb3htb3gtYmFja3Vw LXByb3h5LnJzCmluZGV4IGNlMWJlMWMwLi5lYjdkYTBlNCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9w cm94bW94LWJhY2t1cC1wcm94eS5ycworKysgYi9zcmMvYmluL3Byb3htb3gtYmFja3VwLXByb3h5 LnJzCkBAIC0xODEsNiArMTgxLDggQEAgYXN5bmMgZm4gZ2V0X2luZGV4X2Z1dHVyZShlbnY6IFJl c3RFbnZpcm9ubWVudCwgcGFydHM6IFBhcnRzKSAtPiBSZXNwb25zZTxCb2R5PgogYXN5bmMgZm4g cnVuKCkgLT4gUmVzdWx0PCgpLCBFcnJvcj4gewogICAgIGluaXRfbG9nZ2VyKCJQQlNfTE9HIiwg TGV2ZWxGaWx0ZXI6OklORk8pPzsKIAorICAgIGxldCBfID0gcHJveG1veF9iYWNrdXA6OnRvb2xz Ojppbml0X3Byb2R1Y3RfY29uZmlnKCk7CisKICAgICBwcm94bW94X2JhY2t1cDo6YXV0aF9oZWxw ZXJzOjpzZXR1cF9hdXRoX2NvbnRleHQoZmFsc2UpOwogICAgIHByb3htb3hfYmFja3VwOjpzZXJ2 ZXI6Om5vdGlmaWNhdGlvbnM6OmluaXQoKT87CiAgICAgbWV0cmljX2NvbGxlY3Rpb246OmluaXQo KT87CmRpZmYgLS1naXQgYS9zcmMvYmluL3Byb3htb3gtdGFwZS5ycyBiL3NyYy9iaW4vcHJveG1v eC10YXBlLnJzCmluZGV4IDhlODU4NGIzLi44ZGU5NGFmMCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9w cm94bW94LXRhcGUucnMKKysrIGIvc3JjL2Jpbi9wcm94bW94LXRhcGUucnMKQEAgLTEsNiArMSw4 IEBACiB1c2Ugc3RkOjpjb2xsZWN0aW9uczo6SGFzaE1hcDsKIAogdXNlIGFueWhvdzo6e2JhaWws IGZvcm1hdF9lcnIsIEVycm9yfTsKK3VzZSBwYnNfYXBpX3R5cGVzOjpDSEFOR0VSX05BTUVfU0NI RU1BX0FVVE9NQVRJQ19EUklWRV9BU0lHTk1FTlQ7Cit1c2UgcGJzX2NvbmZpZzo6ZHJpdmU6OmNv bXBsZXRlX2NoYW5nZXJfbmFtZTsKIHVzZSBzZXJkZV9qc29uOjp7anNvbiwgVmFsdWV9OwogCiB1 c2UgcHJveG1veF9odW1hbl9ieXRlOjpIdW1hbkJ5dGU7CkBAIC0yMTQsNiArMjE2LDEwIEBAIGFz eW5jIGZuIGVqZWN0X21lZGlhKG11dCBwYXJhbTogVmFsdWUpIC0+IFJlc3VsdDwoKSwgRXJyb3I+ IHsKICAgICAgICAgICAgICAgICBzY2hlbWE6IERSSVZFX05BTUVfU0NIRU1BLAogICAgICAgICAg ICAgICAgIG9wdGlvbmFsOiB0cnVlLAogICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGNoYW5n ZXI6IHsKKyAgICAgICAgICAgICAgICBzY2hlbWE6IENIQU5HRVJfTkFNRV9TQ0hFTUFfQVVUT01B VElDX0RSSVZFX0FTSUdOTUVOVCwKKyAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSwKKyAg ICAgICAgICAgIH0sCiAgICAgICAgICAgICAibGFiZWwtdGV4dCI6IHsKICAgICAgICAgICAgICAg ICBzY2hlbWE6IE1FRElBX0xBQkVMX1NDSEVNQSwKICAgICAgICAgICAgIH0sCkBAIC0yMzAsMTEg KzIzNiwyNSBAQCBhc3luYyBmbiBsb2FkX21lZGlhKG11dCBwYXJhbTogVmFsdWUpIC0+IFJlc3Vs dDwoKSwgRXJyb3I+IHsKIAogICAgIGxldCAoY29uZmlnLCBfZGlnZXN0KSA9IHBic19jb25maWc6 OmRyaXZlOjpjb25maWcoKT87CiAKLSAgICBsZXQgZHJpdmUgPSBleHRyYWN0X2RyaXZlX25hbWUo Jm11dCBwYXJhbSwgJmNvbmZpZyk/OworICAgIGxldCBkcml2ZSA9IGV4dHJhY3RfZHJpdmVfbmFt ZSgmbXV0IHBhcmFtLCAmY29uZmlnKTsKKyAgICBsZXQgY2hhbmdlciA9IHBhcmFtWyJjaGFuZ2Vy Il0uYXNfc3RyKCk7CisKKyAgICBsZXQgcGF0aCA9IG1hdGNoIGNoYW5nZXIgeworICAgICAgICBT b21lKGNoYW5nZXIpID0+IHsKKyAgICAgICAgICAgIGZvcm1hdCEoImFwaTIvanNvbi90YXBlL2No YW5nZXIve30vbG9hZC1tZWRpYSIsIGNoYW5nZXIpCisgICAgICAgIH0KKyAgICAgICAgTm9uZSA9 PiB7CisgICAgICAgICAgICBsZXQgZHJpdmUgPSBkcml2ZT87CisgICAgICAgICAgICBmb3JtYXQh KCJhcGkyL2pzb24vdGFwZS9kcml2ZS97fS9sb2FkLW1lZGlhIiwgZHJpdmUpCisgICAgICAgIH0K KyAgICB9OworCisgICAgaWYgbGV0IFNvbWUocGFyYW0pID0gcGFyYW0uYXNfb2JqZWN0X211dCgp IHsKKyAgICAgICAgcGFyYW0ucmVtb3ZlKCJjaGFuZ2VyIik7CisgICAgfQogCiAgICAgbGV0IGNs aWVudCA9IGNvbm5lY3RfdG9fbG9jYWxob3N0KCk/OwogCi0gICAgbGV0IHBhdGggPSBmb3JtYXQh KCJhcGkyL2pzb24vdGFwZS9kcml2ZS97fS9sb2FkLW1lZGlhIiwgZHJpdmUpOwogICAgIGxldCBy ZXN1bHQgPSBjbGllbnQucG9zdCgmcGF0aCwgU29tZShwYXJhbSkpLmF3YWl0PzsKIAogICAgIHZp ZXdfdGFza19yZXN1bHQoJmNsaWVudCwgcmVzdWx0LCAmb3V0cHV0X2Zvcm1hdCkuYXdhaXQ/OwpA QCAtMjc2LDYgKzI5NiwxMCBAQCBhc3luYyBmbiBleHBvcnRfbWVkaWEobXV0IHBhcmFtOiBWYWx1 ZSkgLT4gUmVzdWx0PCgpLCBFcnJvcj4gewogICAgICAgICAgICAgICAgIHNjaGVtYTogRFJJVkVf TkFNRV9TQ0hFTUEsCiAgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsCiAgICAgICAgICAg ICB9LAorICAgICAgICAgICAgY2hhbmdlcjogeworICAgICAgICAgICAgICAgIHNjaGVtYTogQ0hB TkdFUl9OQU1FX1NDSEVNQV9BVVRPTUFUSUNfRFJJVkVfQVNJR05NRU5ULAorICAgICAgICAgICAg ICAgIG9wdGlvbmFsOiB0cnVlLAorICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzb3VyY2Ut c2xvdCI6IHsKICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogIlNvdXJjZSBzbG90IG51bWJl ci4iLAogICAgICAgICAgICAgICAgIHR5cGU6IHU2NCwKQEAgLTI4OCwxMSArMzEyLDI1IEBAIGFz eW5jIGZuIGV4cG9ydF9tZWRpYShtdXQgcGFyYW06IFZhbHVlKSAtPiBSZXN1bHQ8KCksIEVycm9y PiB7CiBhc3luYyBmbiBsb2FkX21lZGlhX2Zyb21fc2xvdChtdXQgcGFyYW06IFZhbHVlKSAtPiBS ZXN1bHQ8KCksIEVycm9yPiB7CiAgICAgbGV0IChjb25maWcsIF9kaWdlc3QpID0gcGJzX2NvbmZp Zzo6ZHJpdmU6OmNvbmZpZygpPzsKIAotICAgIGxldCBkcml2ZSA9IGV4dHJhY3RfZHJpdmVfbmFt ZSgmbXV0IHBhcmFtLCAmY29uZmlnKT87CisgICAgbGV0IGRyaXZlID0gZXh0cmFjdF9kcml2ZV9u YW1lKCZtdXQgcGFyYW0sICZjb25maWcpOworICAgIGxldCBjaGFuZ2VyID0gcGFyYW1bImNoYW5n ZXIiXS5hc19zdHIoKTsKKworICAgIGxldCBwYXRoID0gbWF0Y2ggY2hhbmdlciB7CisgICAgICAg IFNvbWUoY2hhbmdlcikgPT4geworICAgICAgICAgICAgZm9ybWF0ISgiYXBpMi9qc29uL3RhcGUv Y2hhbmdlci97fS9sb2FkLXNsb3QiLCBjaGFuZ2VyKQorICAgICAgICB9CisgICAgICAgIE5vbmUg PT4geworICAgICAgICAgICAgbGV0IGRyaXZlID0gZHJpdmU/OworICAgICAgICAgICAgZm9ybWF0 ISgiYXBpMi9qc29uL3RhcGUvZHJpdmUve30vbG9hZC1zbG90IiwgZHJpdmUpCisgICAgICAgIH0K KyAgICB9OworCisgICAgaWYgbGV0IFNvbWUocGFyYW0pID0gcGFyYW0uYXNfb2JqZWN0X211dCgp IHsKKyAgICAgICAgcGFyYW0ucmVtb3ZlKCJjaGFuZ2VyIik7CisgICAgfQogCiAgICAgbGV0IGNs aWVudCA9IGNvbm5lY3RfdG9fbG9jYWxob3N0KCk/OwogCi0gICAgbGV0IHBhdGggPSBmb3JtYXQh KCJhcGkyL2pzb24vdGFwZS9kcml2ZS97fS9sb2FkLXNsb3QiLCBkcml2ZSk7CiAgICAgY2xpZW50 LnBvc3QoJnBhdGgsIFNvbWUocGFyYW0pKS5hd2FpdD87CiAKICAgICBPaygoKSkKQEAgLTEwOTEs MTMgKzExMjksMTUgQEAgZm4gbWFpbigpIHsKICAgICAgICAgICAgIENsaUNvbW1hbmQ6Om5ldygm QVBJX01FVEhPRF9MT0FEX01FRElBKQogICAgICAgICAgICAgICAgIC5hcmdfcGFyYW0oJlsibGFi ZWwtdGV4dCJdKQogICAgICAgICAgICAgICAgIC5jb21wbGV0aW9uX2NiKCJkcml2ZSIsIGNvbXBs ZXRlX2RyaXZlX25hbWUpCisgICAgICAgICAgICAgICAgLmNvbXBsZXRpb25fY2IoImNoYW5nZXIi LCBjb21wbGV0ZV9jaGFuZ2VyX25hbWUpCiAgICAgICAgICAgICAgICAgLmNvbXBsZXRpb25fY2Io ImxhYmVsLXRleHQiLCBjb21wbGV0ZV9tZWRpYV9sYWJlbF90ZXh0KSwKICAgICAgICAgKQogICAg ICAgICAuaW5zZXJ0KAogICAgICAgICAgICAgImxvYWQtbWVkaWEtZnJvbS1zbG90IiwKICAgICAg ICAgICAgIENsaUNvbW1hbmQ6Om5ldygmQVBJX01FVEhPRF9MT0FEX01FRElBX0ZST01fU0xPVCkK ICAgICAgICAgICAgICAgICAuYXJnX3BhcmFtKCZbInNvdXJjZS1zbG90Il0pCi0gICAgICAgICAg ICAgICAgLmNvbXBsZXRpb25fY2IoImRyaXZlIiwgY29tcGxldGVfZHJpdmVfbmFtZSksCisgICAg ICAgICAgICAgICAgLmNvbXBsZXRpb25fY2IoImRyaXZlIiwgY29tcGxldGVfZHJpdmVfbmFtZSkK KyAgICAgICAgICAgICAgICAuY29tcGxldGlvbl9jYigiY2hhbmdlciIsIGNvbXBsZXRlX2NoYW5n ZXJfbmFtZSksCiAgICAgICAgICkKICAgICAgICAgLmluc2VydCgKICAgICAgICAgICAgICJ1bmxv YWQiLApkaWZmIC0tZ2l0IGEvc3JjL3RhcGUvY2hhbmdlci9tb2QucnMgYi9zcmMvdGFwZS9jaGFu Z2VyL21vZC5ycwppbmRleCAxOGVhMGY0Ni4uOGUzZmYwZjcgMTAwNjQ0Ci0tLSBhL3NyYy90YXBl L2NoYW5nZXIvbW9kLnJzCisrKyBiL3NyYy90YXBlL2NoYW5nZXIvbW9kLnJzCkBAIC0yNzMsNiAr MjczLDE3IEBAIHB1YiB0cmFpdCBNZWRpYUNoYW5nZSB7CiAgICAgfQogfQogCisvLy8gVXBkYXRl cyB0aGUgZHJpdmUncyBsYXN0IHVzYWdlIHRpbWUgdG8gbm93LgorcHViKHN1cGVyKSBmbiB1cGRh dGVfZHJpdmVfdXNhZ2UoZHJpdmU6ICZzdHIpIC0+IFJlc3VsdDwoKSwgRXJyb3I+IHsKKyAgICBs ZXQgX2xvY2sgPSBjcmF0ZTo6dGFwZTo6ZHJpdmVfaW5mbzo6bG9jaygpPzsKKworICAgIGxldCBt dXQgZHJpdmVzX2luZm8gPSBjcmF0ZTo6dGFwZTo6ZHJpdmVfaW5mbzo6Z2V0X2RyaXZlc19pbmZv KCk/OworCisgICAgbGV0IG5vdyA9IHByb3htb3hfdGltZTo6ZXBvY2hfaTY0KCk7CisgICAgZHJp dmVzX2luZm8uZHJpdmVzLmVudHJ5KGRyaXZlLmludG8oKSkub3JfZGVmYXVsdCgpLmxhc3RfdXNh Z2UgPSBub3c7CisgICAgY3JhdGU6OnRhcGU6OmRyaXZlX2luZm86OnNhdmVfY29uZmlnKCZkcml2 ZXNfaW5mbykKK30KKwogY29uc3QgVVNFX01UWDogYm9vbCA9IGZhbHNlOwogCiBpbXBsIFNjc2lN ZWRpYUNoYW5nZSBmb3IgU2NzaVRhcGVDaGFuZ2VyIHsKQEAgLTQyMyw3ICs0MzQsMTMgQEAgaW1w bCBNZWRpYUNoYW5nZSBmb3IgTXR4TWVkaWFDaGFuZ2VyIHsKICAgICB9CiAKICAgICBmbiBsb2Fk X21lZGlhX2Zyb21fc2xvdCgmbXV0IHNlbGYsIHNsb3Q6IHU2NCkgLT4gUmVzdWx0PE10eFN0YXR1 cywgRXJyb3I+IHsKLSAgICAgICAgc2VsZi5jb25maWcubG9hZF9zbG90KHNsb3QsIHNlbGYuZHJp dmVfbnVtYmVyKCkpCisgICAgICAgIGxldCBzdGF0dXMgPSBzZWxmLmNvbmZpZy5sb2FkX3Nsb3Qo c2xvdCwgc2VsZi5kcml2ZV9udW1iZXIoKSk/OworCisgICAgICAgIGlmIGxldCBFcnIoZXJyKSA9 IHVwZGF0ZV9kcml2ZV91c2FnZShzZWxmLmRyaXZlX25hbWUoKSkgeworICAgICAgICAgICAgbG9n Ojp3YXJuISgiY291bGQgbm90IHVwZGF0ZSBkcml2ZSB1c2FnZToge2Vycn0iKTsKKyAgICAgICAg fQorCisgICAgICAgIE9rKHN0YXR1cykKICAgICB9CiAKICAgICBmbiB1bmxvYWRfbWVkaWEoJm11 dCBzZWxmLCB0YXJnZXRfc2xvdDogT3B0aW9uPHU2ND4pIC0+IFJlc3VsdDxNdHhTdGF0dXMsIEVy cm9yPiB7CmRpZmYgLS1naXQgYS9zcmMvdGFwZS9kcml2ZS92aXJ0dWFsX3RhcGUucnMgYi9zcmMv dGFwZS9kcml2ZS92aXJ0dWFsX3RhcGUucnMKaW5kZXggODY2ZTRkMzIuLjIxM2YxN2ZlIDEwMDY0 NAotLS0gYS9zcmMvdGFwZS9kcml2ZS92aXJ0dWFsX3RhcGUucnMKKysrIGIvc3JjL3RhcGUvZHJp dmUvdmlydHVhbF90YXBlLnJzCkBAIC01NjcsNyArNTY3LDEzIEBAIGltcGwgTWVkaWFDaGFuZ2Ug Zm9yIFZpcnR1YWxUYXBlSGFuZGxlIHsKICAgICAgICAgfTsKICAgICAgICAgc2VsZi5zdG9yZV9z dGF0dXMoJnN0YXR1cyk/OwogCi0gICAgICAgIHNlbGYuc3RhdHVzKCkKKyAgICAgICAgbGV0IHN0 YXR1cyA9IHNlbGYuc3RhdHVzKCk/OworCisgICAgICAgIGlmIGxldCBFcnIoZXJyKSA9IGNyYXRl Ojp0YXBlOjpjaGFuZ2VyOjp1cGRhdGVfZHJpdmVfdXNhZ2Uoc2VsZi5kcml2ZV9uYW1lKCkpIHsK KyAgICAgICAgICAgIGxvZzo6d2FybiEoImNvdWxkIG5vdCB1cGRhdGUgZHJpdmUgdXNhZ2U6IHtl cnJ9Iik7CisgICAgICAgIH0KKworICAgICAgICBPayhzdGF0dXMpCiAgICAgfQogCiAgICAgZm4g dW5sb2FkX21lZGlhKCZtdXQgc2VsZiwgX3RhcmdldF9zbG90OiBPcHRpb248dTY0PikgLT4gUmVz dWx0PE10eFN0YXR1cywgRXJyb3I+IHsKZGlmZiAtLWdpdCBhL3NyYy90YXBlL2RyaXZlX2luZm8u cnMgYi9zcmMvdGFwZS9kcml2ZV9pbmZvLnJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwLi5hMGMyZjgzNgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90YXBlL2RyaXZlX2luZm8u cnMKQEAgLTAsMCArMSw1MSBAQAorLy8hIFNlcmlhbGl6ZS9kZXNlcmlhbGl6ZSB0cGFlIGRyaXZl IGluZm8gKGUuZy4gdXNlZnVsIGZvciBzdGF0aXN0aWNzKQorLy8hCisvLyEgVGhpcyBjYW4gYmUg dXNlZCB0byBzdG9yZSBhIHN0YXRlIG92ZXIgYSBsb25nZXIgcGVyaW9kIG9mIHRpbWUgKGUuZy4g bGFzdCB0YXBlIGRyaXZlIHVzYWdlKS4KKwordXNlIHNlcmRlOjp7U2VyaWFsaXplLCBEZXNlcmlh bGl6ZX07Cit1c2Ugc3RkOjpjb2xsZWN0aW9uczo6SGFzaE1hcDsKK3VzZSBhbnlob3c6OkVycm9y OwordXNlIHByb3htb3hfcHJvZHVjdF9jb25maWc6OkFwaUxvY2tHdWFyZDsKKworLy8vIERyaXZl IGluZm8gZmlsZSBuYW1lCitwdWIgY29uc3QgRFJJVkVfSU5GT19GSUxFTkFNRTogJnN0ciA9IGNv bmNhdCEocGJzX2J1aWxkY2ZnOjpQUk9YTU9YX0JBQ0tVUF9TVEFURV9ESVJfTSEoKSwgIi90YXBl X2RyaXZlX2luZm8uanNvbiIpOworLy8vIExvY2sgZmlsZSBuYW1lICh1c2VkIHRvIHByZXZlbnQg Y29uY3VycmVudCBhY2Nlc3MpCitwdWIgY29uc3QgRFJJVkVfSU5GT19MT0NLRklMRTogJnN0ciA9 IGNvbmNhdCEocGJzX2J1aWxkY2ZnOjpQUk9YTU9YX0JBQ0tVUF9TVEFURV9ESVJfTSEoKSwgIi8u dGFwZV9kcml2ZV9pbmZvLmpzb24ubG9jayIpOworCisjW2Rlcml2ZShTZXJpYWxpemUsIERlc2Vy aWFsaXplLCBEZWZhdWx0KV0KK3B1YiBzdHJ1Y3QgU2luZ2xlRHJpdmVJbmZvIHsKKyAgICAjW3Nl cmRlKHdpdGggPSAicHJveG1veF9zZXJkZTo6ZXBvY2hfYXNfcmZjMzMzOSIpXQorICAgIHB1YiBs YXN0X3VzYWdlOiBpNjQsCit9CisKKyNbZGVyaXZlKFNlcmlhbGl6ZSwgRGVzZXJpYWxpemUsIERl ZmF1bHQpXQorcHViIHN0cnVjdCBEcml2ZXNJbmZvIHsKKyAgICBwdWIgZHJpdmVzOiBIYXNoTWFw PFN0cmluZywgU2luZ2xlRHJpdmVJbmZvPiwKK30KKworLy8vIEdldCBleGNsdXNpdmUgbG9jawor cHViIGZuIGxvY2soKSAtPiBSZXN1bHQ8QXBpTG9ja0d1YXJkLCBFcnJvcj4geworICAgIHByb3ht b3hfcHJvZHVjdF9jb25maWc6Om9wZW5fYXBpX2xvY2tmaWxlKERSSVZFX0lORk9fTE9DS0ZJTEUs IE9wdGlvbjo6Tm9uZSwgdHJ1ZSkKK30KKworLy8vIFJlYWQgYW5kIHBhcnNlIHRoZSBkcml2ZSBp bmZvIGZpbGUKK3B1YiBmbiBnZXRfZHJpdmVzX2luZm8oKSAtPiBSZXN1bHQ8RHJpdmVzSW5mbywg RXJyb3I+IHsKKyAgICBsZXQgY29udGVudCA9CisgICAgICAgIHByb3htb3hfc3lzOjpmczo6Zmls ZV9yZWFkX29wdGlvbmFsX3N0cmluZyhEUklWRV9JTkZPX0ZJTEVOQU1FKT87CisKKyAgICBtYXRj aCBjb250ZW50IHsKKyAgICAgICAgU29tZShjb250ZW50KSA9PiB7CisgICAgICAgICAgICBsZXQg cmVzdWx0ID0gc2VyZGVfanNvbjo6ZnJvbV9zdHI6OjxEcml2ZXNJbmZvPigmY29udGVudCk/Owor ICAgICAgICAgICAgT2socmVzdWx0KQorICAgICAgICB9LAorICAgICAgICBOb25lID0+IHsKKyAg ICAgICAgICAgIE9rKERyaXZlc0luZm86OmRlZmF1bHQoKSkKKyAgICAgICAgfQorICAgIH0KK30K KworLy8vIFNhdmUgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZQorcHViIGZuIHNhdmVfY29uZmlnKGRh dGE6ICZEcml2ZXNJbmZvKSAtPiBSZXN1bHQ8KCksIEVycm9yPiB7CisgICAgbGV0IGpzb24gPSBz ZXJkZV9qc29uOjp0b19zdHJpbmcoZGF0YSk/OworICAgIHByb3htb3hfcHJvZHVjdF9jb25maWc6 OnJlcGxhY2VfY29uZmlnKERSSVZFX0lORk9fRklMRU5BTUUsIGpzb24uYXNfYnl0ZXMoKSkKK30K ZGlmZiAtLWdpdCBhL3NyYy90YXBlL21vZC5ycyBiL3NyYy90YXBlL21vZC5ycwppbmRleCBmMjc2 Zjk0OC4uOGI4NzE1MmQgMTAwNjQ0Ci0tLSBhL3NyYy90YXBlL21vZC5ycworKysgYi9zcmMvdGFw ZS9tb2QucnMKQEAgLTIwLDYgKzIwLDcgQEAgcHViIHVzZSBpbnZlbnRvcnk6Oio7CiAKIHB1YiBt b2QgY2hhbmdlcjsKIHB1YiBtb2QgZHJpdmU7CitwdWIgbW9kIGRyaXZlX2luZm87CiBwdWIgbW9k IGVuY3J5cHRpb25fa2V5czsKIAogbW9kIG1lZGlhX3Bvb2w7CmRpZmYgLS1naXQgYS9zcmMvdG9v bHMvbW9kLnJzIGIvc3JjL3Rvb2xzL21vZC5ycwppbmRleCAzMjI4OTRkZC4uMTFmYjI4MjEgMTAw NjQ0Ci0tLSBhL3NyYy90b29scy9tb2QucnMKKysrIGIvc3JjL3Rvb2xzL21vZC5ycwpAQCAtNjEs MyArNjEsMTAgQEAgcHViIGZuIHNldHVwX3NhZmVfcGF0aF9lbnYoKSB7CiAgICAgICAgIHN0ZDo6 ZW52OjpyZW1vdmVfdmFyKG5hbWUpOwogICAgIH0KIH0KKworcHViIGZuIGluaXRfcHJvZHVjdF9j b25maWcoKSAtPiBSZXN1bHQ8KCksIEVycm9yPiB7CisgICAgbGV0IGJhY2t1cF91c2VyID0gcGJz X2NvbmZpZzo6YmFja3VwX3VzZXIoKT87CisgICAgbGV0IHJvb3RfdXNlciA9IG5peDo6dW5pc3Rk OjpVc2VyOjpmcm9tX3VpZChuaXg6OnVuaXN0ZDo6Uk9PVCk/LmV4cGVjdCgiY291bGQgbm90IGZp bmQgcm9vdCB1c2VyIik7CisgICAgcHJveG1veF9wcm9kdWN0X2NvbmZpZzo6aW5pdChiYWNrdXBf dXNlciwgcm9vdF91c2VyKTsKKyAgICBPaygoKSkKK30KZGlmZiAtLWdpdCBhL3d3dy90YXBlL0No YW5nZXJTdGF0dXMuanMgYi93d3cvdGFwZS9DaGFuZ2VyU3RhdHVzLmpzCmluZGV4IGUxOGFmOTBl Li4wYTg3NTc3OSAxMDA2NDQKLS0tIGEvd3d3L3RhcGUvQ2hhbmdlclN0YXR1cy5qcworKysgYi93 d3cvdGFwZS9DaGFuZ2VyU3RhdHVzLmpzCkBAIC0yMjIsMTIgKzIyMiwxNyBAQCBFeHQuZGVmaW5l KCdQQlMuVGFwZU1hbmFnZW1lbnQuQ2hhbmdlclN0YXR1cycsIHsKIAkJICAgIGF1dG9TaG93OiB0 cnVlLAogCQkgICAgc3VibWl0VGV4dDogZ2V0dGV4dCgnT0snKSwKIAkJICAgIHRpdGxlOiBnZXR0 ZXh0KCdMb2FkIE1lZGlhIGludG8gRHJpdmUnKSwKLQkJICAgIHVybDogYC9hcGkyL2V4dGpzL3Rh cGUvZHJpdmVgLAorCQkgICAgdXJsOiBgL2FwaTIvZXh0anMvdGFwZWAsCiAJCSAgICBtZXRob2Q6 ICdQT1NUJywKIAkJICAgIHN1Ym1pdFVybDogZnVuY3Rpb24odXJsLCB2YWx1ZXMpIHsKLQkJCWxl dCBkcml2ZSA9IHZhbHVlcy5kcml2ZTsKLQkJCWRlbGV0ZSB2YWx1ZXMuZHJpdmU7Ci0JCQlyZXR1 cm4gYCR7dXJsfS8ke2VuY29kZVVSSUNvbXBvbmVudChkcml2ZSl9LyR7YXBpQ2FsbH1gOworCQkJ ICAgIGxldCBkcml2ZSA9IHZhbHVlcy5kcml2ZTsKKwkJCSAgICBkZWxldGUgdmFsdWVzLmRyaXZl OworCQkJICAgIAorCQkJICAgIGlmIChkcml2ZSkgeworCQkJCSAgICByZXR1cm4gYCR7dXJsfS9k cml2ZS8ke2VuY29kZVVSSUNvbXBvbmVudChkcml2ZSl9LyR7YXBpQ2FsbH1gOworCQkJICAgIH0g ZWxzZSB7CisJCQkJICAgIHJldHVybiBgJHt1cmx9L2NoYW5nZXIvJHtlbmNvZGVVUklDb21wb25l bnQoY2hhbmdlcil9LyR7YXBpQ2FsbH1gOworCQkJICAgIH0KIAkJICAgIH0sCiAJCSAgICBpdGVt czogWwogCQkJbGFiZWwgIT09ICIiID8gewpAQCAtMjQ4LDYgKzI1Myw5IEBAIEV4dC5kZWZpbmUo J1BCUy5UYXBlTWFuYWdlbWVudC5DaGFuZ2VyU3RhdHVzJywgewogCQkJICAgIGZpZWxkTGFiZWw6 IGdldHRleHQoJ0RyaXZlJyksCiAJCQkgICAgY2hhbmdlcjogY2hhbmdlciwKIAkJCSAgICBuYW1l OiAnZHJpdmUnLAorCQkJICAgIGVtcHR5VGV4dDogZ2V0dGV4dCgnQ2hvb3NlIEF1dG9tYXRpY2Fs bHknKSwKKwkJCSAgICBhbGxvd0JsYW5rOiB0cnVlLAorCQkJICAgIGF1dG9TZWxlY3Q6IGZhbHNl LAogCQkJfSwKIAkJICAgIF0sCiAJCSAgICBsaXN0ZW5lcnM6IHsKLS0gCjIuMzkuNQoKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwYnMtZGV2ZWwgbWFp bGluZyBsaXN0CnBicy1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3ht b3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wYnMtZGV2ZWwK