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 59DA81FF170 for ; Thu, 10 Jul 2025 17:09:41 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 8732D37751; Thu, 10 Jul 2025 17:10:27 +0200 (CEST) From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= To: pve-devel@lists.proxmox.com Date: Thu, 10 Jul 2025 17:09:50 +0200 Message-Id: <20250710150952.327724-1-f.gruenbichler@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: References: MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -1.455 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 URIBL_BLACK 3 Contains an URL listed in the URIBL blacklist [plugin.pm] Subject: [pve-devel] [PATCH FOLLOW-UP storage 1/3] helpers: make qemu_img* storage config independent X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" YnkgbW92aW5nIHRoZSBwcmVhbGxvY2F0aW9uIGhhbmRsaW5nIHRvIHRoZSBjYWxsIHNpdGUsIGFu ZCBwcmVwYXJpbmcKdGhlbSBmb3IgdGFraW5nIGZ1cnRoZXIgb3B0aW9ucyBsaWtlIGNsdXN0ZXIg c2l6ZSBpbiB0aGUgZnV0dXJlLgoKU2lnbmVkLW9mZi1ieTogRmFiaWFuIEdyw7xuYmljaGxlciA8 Zi5ncnVlbmJpY2hsZXJAcHJveG1veC5jb20+Ci0tLQogc3JjL1BWRS9TdG9yYWdlL0xWTVBsdWdp bi5wbSB8IDEwICsrKystLQogc3JjL1BWRS9TdG9yYWdlL1BsdWdpbi5wbSAgICB8IDY2ICsrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA0OCBpbnNl cnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvUFZFL1N0b3JhZ2Uv TFZNUGx1Z2luLnBtIGIvc3JjL1BWRS9TdG9yYWdlL0xWTVBsdWdpbi5wbQppbmRleCBhOTE4MDFm Li5mOTBkZjE4IDEwMDY0NAotLS0gYS9zcmMvUFZFL1N0b3JhZ2UvTFZNUGx1Z2luLnBtCisrKyBi L3NyYy9QVkUvU3RvcmFnZS9MVk1QbHVnaW4ucG0KQEAgLTU3OSwxMSArNTc5LDE0IEBAIG15IHN1 YiBsdm1fcWNvdzJfZm9ybWF0IHsKICAgICAkY2xhc3MtPmFjdGl2YXRlX3ZvbHVtZSgkc3RvcmVp ZCwgJHNjZmcsICRuYW1lKTsKICAgICBteSAkcGF0aCA9ICRjbGFzcy0+cGF0aCgkc2NmZywgJG5h bWUsICRzdG9yZWlkKTsKIAorICAgIG15ICRvcHRpb25zID0geworICAgICAgICBwcmVhbGxvY2F0 aW9uID0+IFBWRTo6U3RvcmFnZTo6UGx1Z2luOjpwcmVhbGxvY2F0aW9uX2NtZF9vcHQoJHNjZmcs ICRmbXQpLAorICAgIH07CiAgICAgaWYgKCRiYWNraW5nX3NuYXApIHsKICAgICAgICAgbXkgJGJh Y2tpbmdfcGF0aCA9ICRjbGFzcy0+cGF0aCgkc2NmZywgJG5hbWUsICRzdG9yZWlkLCAkYmFja2lu Z19zbmFwKTsKLSAgICAgICAgUFZFOjpTdG9yYWdlOjpQbHVnaW46OnFlbXVfaW1nX2NyZWF0ZV9x Y293Ml9iYWNrZWQoJHNjZmcsICRwYXRoLCAkYmFja2luZ19wYXRoLCAkZm10KTsKKyAgICAgICAg UFZFOjpTdG9yYWdlOjpQbHVnaW46OnFlbXVfaW1nX2NyZWF0ZV9xY293Ml9iYWNrZWQoJHBhdGgs ICRiYWNraW5nX3BhdGgsICRmbXQsICRvcHRpb25zKTsKICAgICB9IGVsc2UgewotICAgICAgICBQ VkU6OlN0b3JhZ2U6OlBsdWdpbjo6cWVtdV9pbWdfY3JlYXRlKCRzY2ZnLCAkZm10LCAkc2l6ZSwg JHBhdGgpOworICAgICAgICBQVkU6OlN0b3JhZ2U6OlBsdWdpbjo6cWVtdV9pbWdfY3JlYXRlKCRm bXQsICRzaXplLCAkcGF0aCwgJG9wdGlvbnMpOwogICAgIH0KIH0KIApAQCAtODY4LDcgKzg3MSw4 IEBAIHN1YiB2b2x1bWVfcmVzaXplIHsKICAgICApOwogCiAgICAgaWYgKCEkcnVubmluZyAmJiAk Zm9ybWF0IGVxICdxY293MicpIHsKLSAgICAgICAgUFZFOjpTdG9yYWdlOjpQbHVnaW46OnFlbXVf aW1nX3Jlc2l6ZSgkc2NmZywgJHBhdGgsICRmb3JtYXQsICRzaXplLCAxMCk7CisgICAgICAgIG15 ICRwcmVhbGxvY2F0aW9uID0gUFZFOjpTdG9yYWdlOjpQbHVnaW46OnByZWFsbG9jYXRpb25fY21k X29wdCgkc2NmZywgJGZtdCk7CisgICAgICAgIFBWRTo6U3RvcmFnZTo6UGx1Z2luOjpxZW11X2lt Z19yZXNpemUoJHBhdGgsICRmb3JtYXQsICRzaXplLCAkcHJlYWxsb2NhdGlvbiwgMTApOwogICAg IH0KIAogICAgIHJldHVybiAxOwpkaWZmIC0tZ2l0IGEvc3JjL1BWRS9TdG9yYWdlL1BsdWdpbi5w bSBiL3NyYy9QVkUvU3RvcmFnZS9QbHVnaW4ucG0KaW5kZXggMGI3OTg5Yi4uNmViOTFiNyAxMDA2 NDQKLS0tIGEvc3JjL1BWRS9TdG9yYWdlL1BsdWdpbi5wbQorKysgYi9zcmMvUFZFL1N0b3JhZ2Uv UGx1Z2luLnBtCkBAIC02MTUsNyArNjE1LDcgQEAgc3ViIHBhcnNlX2NvbmZpZyB7CiAgICAgcmV0 dXJuICRjZmc7CiB9CiAKLXN1YiBwcmVhbGxvY2F0aW9uX2NtZF9vcHRpb24geworc3ViIHByZWFs bG9jYXRpb25fY21kX29wdCB7CiAgICAgbXkgKCRzY2ZnLCAkZm10KSA9IEBfOwogCiAgICAgbXkg JHByZWFsbG9jID0gJHNjZmctPntwcmVhbGxvY2F0aW9ufTsKQEAgLTYyNiw3ICs2MjYsNyBAQCBz dWIgcHJlYWxsb2NhdGlvbl9jbWRfb3B0aW9uIHsKICAgICAgICAgZGllICJwcmVhbGxvY2F0aW9u IG1vZGUgJyRwcmVhbGxvYycgbm90IHN1cHBvcnRlZCBieSBmb3JtYXQgJyRmbXQnXG4iCiAgICAg ICAgICAgICBpZiAhJFFDT1cyX1BSRUFMTE9DQVRJT04tPnskcHJlYWxsb2N9OwogCi0gICAgICAg IHJldHVybiAicHJlYWxsb2NhdGlvbj0kcHJlYWxsb2MiOworICAgICAgICByZXR1cm4gJHByZWFs bG9jOwogICAgIH0gZWxzaWYgKCRmbXQgZXEgJ3JhdycpIHsKICAgICAgICAgJHByZWFsbG9jID0g JHByZWFsbG9jIC8vICdvZmYnOwogICAgICAgICAkcHJlYWxsb2MgPSAnb2ZmJyBpZiAkcHJlYWxs b2MgZXEgJ21ldGFkYXRhJzsKQEAgLTYzNCw3ICs2MzQsNyBAQCBzdWIgcHJlYWxsb2NhdGlvbl9j bWRfb3B0aW9uIHsKICAgICAgICAgZGllICJwcmVhbGxvY2F0aW9uIG1vZGUgJyRwcmVhbGxvYycg bm90IHN1cHBvcnRlZCBieSBmb3JtYXQgJyRmbXQnXG4iCiAgICAgICAgICAgICBpZiAhJFJBV19Q UkVBTExPQ0FUSU9OLT57JHByZWFsbG9jfTsKIAotICAgICAgICByZXR1cm4gInByZWFsbG9jYXRp b249JHByZWFsbG9jIjsKKyAgICAgICAgcmV0dXJuICRwcmVhbGxvYzsKICAgICB9CiAKICAgICBy ZXR1cm47CkBAIC02NDQsMTkgKzY0NCwyMSBAQCBzdWIgcHJlYWxsb2NhdGlvbl9jbWRfb3B0aW9u IHsKIAogPWhlYWQzIHFlbXVfaW1nX2NyZWF0ZQogCi0gICAgcWVtdV9pbWdfY3JlYXRlKCRzY2Zn LCAkZm10LCAkc2l6ZSwgJHBhdGgpCisgICAgcWVtdV9pbWdfY3JlYXRlKCRmbXQsICRzaXplLCAk cGF0aCwgJG9wdGlvbnMpCiAKIENyZWF0ZSBhIG5ldyBxZW11IGltYWdlIHdpdGggYSBzcGVjaWZp YyBmb3JtYXQgQzwkZm9ybWF0PiBhbmQgc2l6ZSBDPCRzaXplPiBmb3IgYSB0YXJnZXQgQzwkcGF0 aD4uCiAKK0M8JG9wdGlvbnM+IGN1cnJlbnRseSBhbGxvd3Mgc2V0dGluZyB0aGUgQzxwcmVhbGxv Y2F0aW9uPiB2YWx1ZQorCiA9Y3V0CiAKIHN1YiBxZW11X2ltZ19jcmVhdGUgewotICAgIG15ICgk c2NmZywgJGZtdCwgJHNpemUsICRwYXRoKSA9IEBfOworICAgIG15ICgkZm10LCAkc2l6ZSwgJHBh dGgsICRvcHRpb25zKSA9IEBfOwogCiAgICAgbXkgJGNtZCA9IFsnL3Vzci9iaW4vcWVtdS1pbWcn LCAnY3JlYXRlJ107CiAKLSAgICBteSAkcHJlYWxsb2Nfb3B0ID0gcHJlYWxsb2NhdGlvbl9jbWRf b3B0aW9uKCRzY2ZnLCAkZm10KTsKLSAgICBwdXNoIEAkY21kLCAnLW8nLCAkcHJlYWxsb2Nfb3B0 IGlmIGRlZmluZWQoJHByZWFsbG9jX29wdCk7CisgICAgcHVzaCBAJGNtZCwgJy1vJywgInByZWFs bG9jYXRpb249JG9wdGlvbnMtPntwcmVhbGxvY2F0aW9ufSIKKyAgICAgICAgaWYgZGVmaW5lZCgk b3B0aW9ucy0+e3ByZWFsbG9jYXRpb259KTsKIAogICAgIHB1c2ggQCRjbWQsICctZicsICRmbXQs ICRwYXRoLCAiJHtzaXplfUsiOwogCkBAIC02NjcsMTQgKzY2OSwxNiBAQCBzdWIgcWVtdV9pbWdf Y3JlYXRlIHsKIAogPWhlYWQzIHFlbXVfaW1nX2NyZWF0ZV9xY293Ml9iYWNrZWQKIAotICAgIHFl bXVfaW1nX2NyZWF0ZV9xY293Ml9iYWNrZWQoJHNjZmcsICRwYXRoLCAkYmFja2luZ19wYXRoLCAk YmFja2luZ19mb3JtYXQpCisgICAgcWVtdV9pbWdfY3JlYXRlX3Fjb3cyX2JhY2tlZCgkcGF0aCwg JGJhY2tpbmdfcGF0aCwgJGJhY2tpbmdfZm9ybWF0LCAkb3B0aW9ucykKIAogQ3JlYXRlIGEgbmV3 IHFlbXUgcWNvdzIgaW1hZ2UgQzwkcGF0aD4gdXNpbmcgYW4gZXhpc3RpbmcgYmFja2luZyBpbWFn ZSBDPCRiYWNraW5nX3BhdGg+IHdpdGggYmFja2luZ19mb3JtYXQgQzwkYmFja2luZ19mb3JtYXQ+ LgogCitDPCRvcHRpb25zPiBjdXJyZW50bHkgYWxsb3dzIHNldHRpbmcgdGhlIEM8cHJlYWxsb2Nh dGlvbj4gdmFsdWUuCisKID1jdXQKIAogc3ViIHFlbXVfaW1nX2NyZWF0ZV9xY293Ml9iYWNrZWQg ewotICAgIG15ICgkc2NmZywgJHBhdGgsICRiYWNraW5nX3BhdGgsICRiYWNraW5nX2Zvcm1hdCkg PSBAXzsKKyAgICBteSAoJHBhdGgsICRiYWNraW5nX3BhdGgsICRiYWNraW5nX2Zvcm1hdCwgJG9w dGlvbnMpID0gQF87CiAKICAgICBteSAkY21kID0gWwogICAgICAgICAnL3Vzci9iaW4vcWVtdS1p bWcnLApAQCAtNjg4LDEwICs2OTIsMTAgQEAgc3ViIHFlbXVfaW1nX2NyZWF0ZV9xY293Ml9iYWNr ZWQgewogICAgICAgICAkcGF0aCwKICAgICBdOwogCi0gICAgbXkgJG9wdGlvbnMgPSAkUUNPVzJf Q0xVU1RFUlMtPntiYWNrZWR9OworICAgIG15ICRvcHRzID0gJFFDT1cyX0NMVVNURVJTLT57YmFj a2VkfTsKIAotICAgIHB1c2ggQCRvcHRpb25zLCBwcmVhbGxvY2F0aW9uX2NtZF9vcHRpb24oJHNj ZmcsICdxY293MicpOwotICAgIHB1c2ggQCRjbWQsICctbycsIGpvaW4oJywnLCBAJG9wdGlvbnMp IGlmIEAkb3B0aW9ucyA+IDA7CisgICAgcHVzaCBAJG9wdHMsICRvcHRpb25zLT57cHJlYWxsb2Nh dGlvbn0gaWYgZGVmaW5lZCgkb3B0aW9ucy0+e3ByZWFsbG9jYXRpb259KTsKKyAgICBwdXNoIEAk Y21kLCAnLW8nLCBqb2luKCcsJywgQCRvcHRzKSBpZiBAJG9wdHMgPiAwOwogCiAgICAgcnVuX2Nv bW1hbmQoJGNtZCwgZXJybXNnID0+ICJ1bmFibGUgdG8gY3JlYXRlIGltYWdlIik7CiB9CkBAIC03 MjIsMjAgKzcyNiwyMSBAQCBzdWIgcWVtdV9pbWdfaW5mbyB7CiAKID1oZWFkMyBxZW11X2ltZ19t ZWFzdXJlCiAKLSAgICBxZW11X2ltZ19tZWFzdXJlKCRzaXplLCAkZm10LCAkdGltZW91dCwgJGlz X2JhY2tlZCkKKyAgICBxZW11X2ltZ19tZWFzdXJlKCRzaXplLCAkZm10LCAkdGltZW91dCwgJG9w dGlvbnMpCiAKIFJldHVybnMgYSBqc29uIHdpdGggdGhlIG1heGltdW0gc2l6ZSBpbmNsdWRpbmcg YWxsIG1ldGFkYXRhcyBvdmVyaGVhZCBmb3IgYW4gaW1hZ2Ugd2l0aCBmb3JtYXQgQzwkZm10PiBh bmQgb3JpZ2luYWwgc2l6ZSBDPCRzaXplPktiLgotSWYgdGhlIGltYWdlIGlzIGJhY2tlZCBDPCRp c19iYWNrZWQ+LCB3ZSB1c2UgZGlmZmVyZW50IGNsdXN0ZXIgc2l6ZSBpbmZvcm1hdGlvbnMuCisK K0M8JG9wdGlvbnM+IGFsbG93cyBzcGVjaWZ5aW5nIHFlbXUtaW1nIG9wdGlvbnMgdGhhdCBtaWdo dCBhZmZlY3QgdGhlIHNpemluZyBjYWxjdWxhdGlvbiwgc3VjaCBhcyBjbHVzdGVyIHNpemUuCisK ID1jdXQKIAogc3ViIHFlbXVfaW1nX21lYXN1cmUgewotICAgIG15ICgkc2l6ZSwgJGZtdCwgJHRp bWVvdXQsICRpc19iYWNrZWQpID0gQF87CisgICAgbXkgKCRzaXplLCAkZm10LCAkdGltZW91dCwg JG9wdGlvbnMpID0gQF87CiAKICAgICBkaWUgImZvcm1hdCBpcyBtaXNzaW5nIiBpZiAhJGZtdDsK IAogICAgIG15ICRjbWQgPSBbJy91c3IvYmluL3FlbXUtaW1nJywgJ21lYXN1cmUnLCAnLS1vdXRw dXQ9anNvbicsICctLXNpemUnLCAiJHtzaXplfUsiLCAnLU8nLCAkZm10XTsKLSAgICBpZiAoJGlz X2JhY2tlZCkgewotICAgICAgICBteSAkb3B0aW9ucyA9ICRRQ09XMl9DTFVTVEVSUy0+e2JhY2tl ZH07CisgICAgaWYgKCRvcHRpb25zKSB7CiAgICAgICAgIHB1c2ggJGNtZC0+QCosICctbycsIGpv aW4oJywnLCBAJG9wdGlvbnMpIGlmIEAkb3B0aW9ucyA+IDA7CiAgICAgfQogICAgIHJldHVybiBQ VkU6OlN0b3JhZ2U6OkNvbW1vbjo6cnVuX3FlbXVfaW1nX2pzb24oJGNtZCwgJHRpbWVvdXQpOwpA QCAtNzQ1LDIwICs3NTAsMjEgQEAgc3ViIHFlbXVfaW1nX21lYXN1cmUgewogCiA9aGVhZDMgcWVt dV9pbWdfcmVzaXplCiAKLSAgICBxZW11X2ltZ19yZXNpemUoJHNjZmcsICRwYXRoLCAkZm9ybWF0 LCAkc2l6ZSwgJHRpbWVvdXQpCisgICAgcWVtdV9pbWdfcmVzaXplKCRzY2ZnLCAkcGF0aCwgJGZv cm1hdCwgJHNpemUsICRwcmVhbGxvY2F0aW9uLCAkdGltZW91dCkKIAogUmVzaXplIGEgcWVtdSBp bWFnZSBDPCRwYXRoPiB3aXRoIGZvcm1hdCBDPCRmb3JtYXQ+IHRvIGEgdGFyZ2V0IEtiIHNpemUg Qzwkc2l6ZT4uCiBEZWZhdWx0IHRpbWVvdXQgQzwkdGltZW91dD4gaXMgMTBzIGlmIG5vdCBzcGVj aWZpZWQuCitDPCRwcmVhbGxvY2F0aW9uPiBhbGxvd3MgdG8gc3BlY2lmeSB0aGUgcHJlYWxsb2Nh dGlvbiBvcHRpb24gZm9yIHRoZSByZXNpemUgb3BlcmF0aW9uLgorCiA9Y3V0CiAKIHN1YiBxZW11 X2ltZ19yZXNpemUgewotICAgIG15ICgkc2NmZywgJHBhdGgsICRmb3JtYXQsICRzaXplLCAkdGlt ZW91dCkgPSBAXzsKKyAgICBteSAoJHNjZmcsICRwYXRoLCAkZm9ybWF0LCAkc2l6ZSwgJHByZWFs bG9jYXRpb24sICR0aW1lb3V0KSA9IEBfOwogCiAgICAgZGllICJmb3JtYXQgaXMgbWlzc2luZyIg aWYgISRmb3JtYXQ7CiAKLSAgICBteSAkcHJlYWxsb2Nfb3B0ID0gcHJlYWxsb2NhdGlvbl9jbWRf b3B0aW9uKCRzY2ZnLCAkZm9ybWF0KTsKICAgICBteSAkY21kID0gWycvdXNyL2Jpbi9xZW11LWlt ZycsICdyZXNpemUnXTsKLSAgICBwdXNoICRjbWQtPkAqLCAiLS0kcHJlYWxsb2Nfb3B0IiBpZiAk cHJlYWxsb2Nfb3B0OworICAgIHB1c2ggJGNtZC0+QCosICItLXByZWFsbG9jYXRpb249JHByZWFs bG9jYXRpb24iIGlmICRwcmVhbGxvY2F0aW9uOwogICAgIHB1c2ggJGNtZC0+QCosICctZicsICRm b3JtYXQsICRwYXRoLCAkc2l6ZTsKIAogICAgICR0aW1lb3V0ID0gMTAgaWYgISR0aW1lb3V0OwpA QCAtMTA2Nyw3ICsxMDczLDEwIEBAIHN1YiBjbG9uZV9pbWFnZSB7CiAgICAgIyBOb3RlOiB3ZSB1 c2UgcmVsYXRpdmUgcGF0aHMsIHNvIHdlIG5lZWQgdG8gY2FsbCBjaGRpciBiZWZvcmUgcWVtdS1p bWcKICAgICBldmFsIHsKICAgICAgICAgbG9jYWwgJENXRCA9ICRpbWFnZWRpcjsKLSAgICAgICAg cWVtdV9pbWdfY3JlYXRlX3Fjb3cyX2JhY2tlZCgkc2NmZywgJHBhdGgsICIuLi8kYmFzZXZtaWQv JGJhc2VuYW1lIiwgJGZvcm1hdCk7CisgICAgICAgIG15ICRvcHRpb25zID0geworICAgICAgICAg ICAgcHJlYWxsb2NhdGlvbiA9PiBwcmVhbGxvY2F0aW9uX2NtZF9vcHQoJHNjZmcsICRmb3JtYXQp LAorICAgICAgICB9OworICAgICAgICBxZW11X2ltZ19jcmVhdGVfcWNvdzJfYmFja2VkKCRwYXRo LCAiLi4vJGJhc2V2bWlkLyRiYXNlbmFtZSIsICRmb3JtYXQsICRvcHRpb25zKTsKICAgICB9Owog ICAgIG15ICRlcnIgPSAkQDsKIApAQCAtMTEwNSw3ICsxMTE0LDEwIEBAIHN1YiBhbGxvY19pbWFn ZSB7CiAgICAgICAgIHVtYXNrICRvbGRfdW1hc2s7CiAgICAgICAgIGRpZSAkZXJyIGlmICRlcnI7 CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZXZhbCB7IHFlbXVfaW1nX2NyZWF0ZSgkc2NmZywgJGZt dCwgJHNpemUsICRwYXRoKSB9OworICAgICAgICBteSAkcHJlYWxsb2NhdGlvbiA9IHByZWFsbG9j YXRpb25fY21kX29wdCgkc2NmZywgJGZtdCk7CisgICAgICAgIG15ICRvcHRpb25zID0ge307Cisg ICAgICAgICRvcHRpb25zLT57cHJlYWxsb2NhdGlvbn0gPSAkcHJlYWxsb2NhdGlvbiBpZiAkcHJl YWxsb2NhdGlvbjsKKyAgICAgICAgZXZhbCB7IHFlbXVfaW1nX2NyZWF0ZSgkZm10LCAkc2l6ZSwg JHBhdGgsICRvcHRpb25zKSB9OwogICAgICAgICBpZiAoJEApIHsKICAgICAgICAgICAgIHVubGlu ayAkcGF0aDsKICAgICAgICAgICAgIHJtZGlyICRpbWFnZWRpcjsKQEAgLTExMjIsOSArMTEzNCwx MiBAQCBteSBzdWIgYWxsb2NfYmFja2VkX2ltYWdlIHsKICAgICBteSAkcGF0aCA9ICRjbGFzcy0+ cGF0aCgkc2NmZywgJHZvbG5hbWUsICRzdG9yZWlkKTsKICAgICBteSAoJHZtaWQsICRiYWNraW5n X2Zvcm1hdCkgPSAoJGNsYXNzLT5wYXJzZV92b2xuYW1lKCR2b2xuYW1lKSlbMiwgNl07CiAKKyAg ICBteSAkcHJlYWxsb2NhdGlvbiA9IHByZWFsbG9jYXRpb25fY21kX29wdCgkc2NmZywgJGJhY2tp bmdfZm9ybWF0KTsKKyAgICBteSAkb3B0aW9ucyA9IHt9OworICAgICRvcHRpb25zLT57cHJlYWxs b2NhdGlvbn0gPSAkcHJlYWxsb2NhdGlvbiBpZiAkcHJlYWxsb2NhdGlvbjsKICAgICBteSAkYmFj a2luZ192b2xuYW1lID0gZ2V0X3NuYXBfbmFtZSgkY2xhc3MsICR2b2xuYW1lLCAkYmFja2luZ19z bmFwKTsKICAgICAjcWVtdV9pbWcgdXNlIHJlbGF0aXZlIHBhdGggZnJvbSBiYXNlIGltYWdlIGZv ciB0aGUgYmFja2luZ192b2xuYW1lIGJ5IGRlZmF1bHQKLSAgICBldmFsIHsgcWVtdV9pbWdfY3Jl YXRlX3Fjb3cyX2JhY2tlZCgkc2NmZywgJHBhdGgsICRiYWNraW5nX3ZvbG5hbWUsICRiYWNraW5n X2Zvcm1hdCkgfTsKKyAgICBldmFsIHsgcWVtdV9pbWdfY3JlYXRlX3Fjb3cyX2JhY2tlZCgkcGF0 aCwgJGJhY2tpbmdfdm9sbmFtZSwgJGJhY2tpbmdfZm9ybWF0LCAkb3B0aW9ucykgfTsKICAgICBp ZiAoJEApIHsKICAgICAgICAgdW5saW5rICRwYXRoOwogICAgICAgICBkaWUgIiRAIjsKQEAgLTEz NzEsNyArMTM4Niw4IEBAIHN1YiB2b2x1bWVfcmVzaXplIHsKIAogICAgIG15ICRmb3JtYXQgPSAo JGNsYXNzLT5wYXJzZV92b2xuYW1lKCR2b2xuYW1lKSlbNl07CiAKLSAgICBxZW11X2ltZ19yZXNp emUoJHNjZmcsICRwYXRoLCAkZm9ybWF0LCAkc2l6ZSwgMTApOworICAgIG15ICRwcmVhbGxvY2F0 aW9uID0gcHJlYWxsb2NhdGlvbl9jbWRfb3B0KCRzY2ZnLCAkZm9ybWF0KTsKKyAgICBxZW11X2lt Z19yZXNpemUoJHBhdGgsICRmb3JtYXQsICRzaXplLCAkcHJlYWxsb2NhdGlvbiwgMTApOwogCiAg ICAgcmV0dXJuIHVuZGVmOwogfQotLSAKMi4zOS41CgoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCnB2ZS1kZXZlbCBtYWlsaW5nIGxpc3QKcHZlLWRldmVs QGxpc3RzLnByb3htb3guY29tCmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWls bWFuL2xpc3RpbmZvL3B2ZS1kZXZlbAo=