From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 7BFB81FF15C for ; Fri, 28 Nov 2025 11:36:26 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 18BE316CE0; Fri, 28 Nov 2025 11:36:45 +0100 (CET) From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= To: pve-devel@lists.proxmox.com Date: Fri, 28 Nov 2025 11:36:34 +0100 Message-ID: <20251128103639.446372-1-f.gruenbichler@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1764326161921 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.045 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: [pve-devel] [PATCH qemu-server] fix #6935: vmstatus: use CGroup for host memory usage 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" YWZ0ZXIgYSBjZXJ0YWluIGFtb3VudCBvZiBLU00gc2hhcmluZywgUFNTIGxvb2t1cHMgYmVjb21l IHByb2hpYml0aXZlbHkKZXhwZW5zaXZlLiBpbnN0ZWFkIG9mIHJldmVydGluZyB0byB0aGUgb2xk IGJyb2tlbiBtZXRob2QsIHNpbXBseSB1c2UgdGhlCmNncm91cCdzIG1lbW9yeSB1c2FnZSBhcyBg bWVtaG9zdGAgdmFsdWUuCgp0aGlzIGRvZXMgbm90IGFjY291bnQgZm9yIG1lcmdlZCBwYWdlcyBi ZWNhdXNlIG9mIEtTTSBhbnltb3JlLgoKSSBiZW5jaG1hcmtlZCB0aGlzIHdpdGggNCBWTXMgcnVu bmluZyB3aXRoIGRpZmZlcmVudCBsZXZlbHMgb2YgS1NNIHNoYXJpbmcuIGluCnRoZSBvdXRwdXQg YmVsb3csICJtZXJnZWQgcGFnZXMiIHJlZmVycyB0byB0aGUgY29udGVudHMgb2YKL3Byb2MvJHBp ZC9rc21fbWVyZ2luZ19wYWdlcywgdGhlIGV4dHJhY3RfKiBiZW5jaG1hcmsgcnVucyByZWZlciB0 byBmb3VyCmRpZmZlcmVudCB2YXJpYW50cyBvZiBleHRyYWN0aW5nIG1lbW9yeSB1c2FnZSwgd2l0 aCB0aGUgYWN0dWFsIGV4dHJhY3Rpb24gcGFydApydW5uaW5nIDEwMDB4IGluIGEgbG9vcCBmb3Ig ZWFjaCBydW4gdG8gYW1vcnRpemUgcGVybC9wcm9jZXNzIHNldHVwIGNvc3RzLApxbV9zdGF0dXNf c3RvY2sgaXMgYHFtIHN0YXR1cyAkdm1pZCAtLXZlcmJvc2VgLCBhbmQgcW1fc3RhdHVzX3BhdGVj aGVkIGlzIGBwZXJsCi1JLi9zcmMvUFZFIC4vc3JjL2Jpbi9xbSBzdGF0dXMgJHZtaWQgLS12ZXJi b3NlYCB3aXRoIHRoaXMgcGF0Y2ggYXBwbGllZC4KCnRoZSB2YXJpYW50czoKLSBleHRyYWN0X3Bz czogc3RhdHVzIGJlZm9yZSB0aGlzIHBhdGNoLCBxdWVyeSBzbWFwc19yb2xsdXAgZm9yIGVhY2gg cHJvY2VzcwogIHRoYXQgaXMgcGFydCBvZiB0aGUgcWVtdS5zbGljZSBvZiB0aGUgVk0KLSBleHRy YWN0X3JzczogZXh0cmFjdCBWbVJTUyBmcm9tIHRoZSBgL3Byb2MvJHBpZC9zdGF0dXNgIGZpbGUg b2YgdGhlIG1haW4KICBwcm9jZXNzCi0gZXh0cmFjdF9yc3NfY2dyb3VwOiBsaWtlIF9yc3MsIGJ1 dCBmb3IgZWFjaCBwcm9jZXNzIG9mIHRoZSBzbGljZQotIGV4dHJhY3RfY2dyb3VwOiB1c2UgUFZF OjpRZW11U2VydmVyOjpDR3JvdXAgZ2V0X21lbW9yeV9zdGF0ICh0aGlzIHBhdGNoKQoKZmlyc3Qs IHdpdGggbm8gS1NNIGFjdGl2ZQoKVk1JRDogMTEzCgpwc3M6ICAgICAgICA3MjQ5NzE1MjAKcnNz OiAgICAgICAgNzMzMjgyMzA0CmNncm91cDogICAgIDcyNzYxNzUzNgpyc3NfY2dyb3VwOiA3MzMy ODIzMDQKCkJlbmNobWFyayAxOiBleHRyYWN0X3BzcyAgICAgICAgMjcxLjIgbXMgwrEgICA2LjAg bXMgICAgW1VzZXI6IDIyNi4zIG1zLCBTeXN0ZW06IDQ0LjcgbXNdCkJlbmNobWFyayAyOiBleHRy YWN0X3JzcyAgICAgICAgMjY3LjggbXMgwrEgICAzLjYgbXMgICAgW1VzZXI6IDIyMy45IG1zLCBT eXN0ZW06IDQzLjcgbXNdCkJlbmNobWFyayAzOiBleHRyYWN0X2Nncm91cCAgICAgMjczLjUgbXMg wrEgICA2LjIgbXMgICAgW1VzZXI6IDIyNy4yIG1zLCBTeXN0ZW06IDQ2LjIgbXNdCkJlbmNobWFy ayA0OiBleHRyYWN0X3Jzc19jZ3JvdXAgMjcwLjUgbXMgwrEgICAzLjcgbXMgICAgW1VzZXI6IDIy NS4wIG1zLCBTeXN0ZW06IDQ1LjMgbXNdCgpib3RoIHJlcG9ydGVkIHVzYWdlIGFuZCBydW50aW1l IGluIHRoZSBzYW1lIGJhbGxwYXJrCgpWTUlEOiA4MzgzODMgKHdpdGggNDhHIG9mIG1lbW9yeSk6 Cgpwc3M6ICAgICAgICA0MDU2MTU2NDY3Mgpyc3M6ICAgICAgICA0MDU2NjEwODE2MApjZ3JvdXA6 ICAgICA0MDk2MTMzOTM5Mgpyc3MtY2dyb3VwOiA0MDU3MjE0MTU2OAoKdXNhZ2UgaW4gdGhlIHNh bWUgYmFsbHBhcmsKCkJlbmNobWFyayAxOiBleHRyYWN0X3BzcyAgICAgICAgNzMyLjAgbXMgwrEg ICA0LjQgbXMgICAgW1VzZXI6IDIyNC44IG1zLCBTeXN0ZW06IDUwNi44IG1zXQpCZW5jaG1hcmsg MjogZXh0cmFjdF9yc3MgICAgICAgIDI3Mi4xIG1zIMKxICAgNS4yIG1zICAgIFtVc2VyOiAyMjcu OCBtcywgU3lzdGVtOiA0NC4wIG1zXQpCZW5jaG1hcmsgMzogZXh0cmFjdF9jZ3JvdXAgICAgIDI3 NC4yIG1zIMKxICAgMi4yIG1zICAgIFtVc2VyOiAyMjcuOCBtcywgU3lzdGVtOiA0Ni4yIG1zXQpC ZW5jaG1hcmsgNDogZXh0cmFjdF9yc3NfY2dyb3VwIDI3MC45IG1zIMKxICAgMy45IG1zICAgIFtV c2VyOiAyMjQuOSBtcywgU3lzdGVtOiA0NS44IG1zXQoKYnV0IFBTUyBhbHJlYWR5IGEgbG90IHNs b3dlci4uCgpCZW5jaG1hcmsgMTogcW1fc3RhdHVzX3N0b2NrICAgODIwLjkgbXMgwrEgICA3LjUg bXMgICAgW1VzZXI6IDI5My4xIG1zLCBTeXN0ZW06IDUyMy4zIG1zXQpCZW5jaG1hcmsgMjogcW1f c3RhdHVzX3BhdGNoZWQgMzU2LjIgbXMgwrEgICA1LjYgbXMgICAgW1VzZXI6IDI5MC4yIG1zLCBT eXN0ZW06IDYxLjUgbXNdCgp3aGljaCBpcyBhbHNvIHZpc2libGUgaW4gdGhlIGJlZm9yZSBhbmQg YWZ0ZXIKCnRoZSBvdGhlciB0d28gVk1zIGJlaGF2ZWQgYXMgMTEzCgphbmQgbm93IHdpdGggS1NN IGFjdGl2ZQoKVk1JRDogMTEzCm1lcmdlZCBwYWdlczogMTA3NDcgKHZlcnkgbGl0dGxlKQoKcHNz OiAgICAgICAgNTU5ODE1NjgwCnJzczogICAgICAgIDU5NDg1Mzg4OApjZ3JvdXA6ICAgICA1Njgx OTcxMjAKcnNzLWNncm91cDogNTk0ODUzODg4CgpCZW5jaG1hcmsgMTogZXh0cmFjdF9wc3MgICAg ICAgIDI4MC4wIG1zIMKxICAgMi40IG1zICAgIFtVc2VyOiAyMjkuNSBtcywgU3lzdGVtOiA1MC4y IG1zXQpCZW5jaG1hcmsgMjogZXh0cmFjdF9yc3MgICAgICAgIDI3NC44IG1zIMKxICAgMy43IG1z ICAgIFtVc2VyOiAyMjUuOSBtcywgU3lzdGVtOiA0OC43IG1zXQpCZW5jaG1hcmsgMzogZXh0cmFj dF9jZ3JvdXAgICAgIDI3OS4wIG1zIMKxICAgNC42IG1zICAgIFtVc2VyOiAyMjguMCBtcywgU3lz dGVtOiA1MC43IG1zXQpCZW5jaG1hcmsgNDogZXh0cmFjdF9yc3NfY2dyb3VwIDI3NC43IG1zIMKx ICAgNi43IG1zICAgIFtVc2VyOiAyMjguMCBtcywgU3lzdGVtOiA0Ni40IG1zXQoKc3RpbGwgc2Ft ZSBiYWxsIHBhcmsKClZNSUQ6IDgzODM4MyAod2l0aCA0OEcgb2YgbWVtb3J5KQptZXJnZWQgcGFn ZXM6IDY2OTY0MzQgKGEgbG90IC0gdGhpcyBpcyAyNUcgd29ydGggb2YgcGFnZXMhKQoKcHNzOiAg ICAgICAgMTI0MTExNjk3OTIKcnNzOiAgICAgICAgMzg3NzIxMTc1MDQKY2dyb3VwOiAgICAgMTI3 OTkwNjIwMTYKcnNzLWNncm91cDogMzg3NzgxNTA5MTIKClJTUyBiYXNlZCBhcmUgcm91Z2hseSB0 aGUgc2FtZSwgYnV0IGNncm91cCBnaXZlcyB1cyBhbG1vc3QgdGhlIHNhbWUgbnVtYmVycyBhcwpQ U1MgZGVzcGl0ZSBLU00gYmVpbmcgYWN0aXZlIQoKQmVuY2htYXJrIDE6IGV4dHJhY3RfcHNzICAg ICAgICA2OTEuNyBtcyDCsSAgIDMuNCBtcyAgICBbVXNlcjogMjI1LjUgbXMsIFN5c3RlbTogNDY1 LjggbXNdCkJlbmNobWFyayAyOiBleHRyYWN0X3JzcyAgICAgICAgMjc2LjMgbXMgwrEgICA3LjEg bXMgICAgW1VzZXI6IDIyNy40IG1zLCBTeXN0ZW06IDQ4LjYgbXNdCkJlbmNobWFyayAzOiBleHRy YWN0X2Nncm91cCAgICAgMjc3LjggbXMgwrEgICA0LjQgbXMgICAgW1VzZXI6IDIyOC41IG1zLCBT eXN0ZW06IDQ5LjEgbXNdCkJlbmNobWFyayA0OiBleHRyYWN0X3Jzc19jZ3JvdXAgMjc0LjcgbXMg wrEgICAzLjUgbXMgICAgW1VzZXI6IDIyNi42IG1zLCBTeXN0ZW06IDQ3LjggbXNdCgpidXQgaXQg aXMgc3RpbGwgZmFzdCEKCkJlbmNobWFyayAxOiBxbV9zdGF0dXNfc3RvY2sgICA3NzEuOCBtcyDC sSAgIDcuMiBtcyAgICBbVXNlcjogMjk2LjAgbXMsIFN5c3RlbTogNDcxLjAgbXNdCkJlbmNobWFy ayAyOiBxbV9zdGF0dXNfcGF0Y2hlZCAzNjAuMiBtcyDCsSAgIDUuMSBtcyAgICBbVXNlcjogMjg3 LjEgbXMsIFN5c3RlbTogNjguNSBtc10KCmNvbmZpcm1lZCBieSBgcW0gc3RhdHVzYCBhcyB3ZWxs CgpWTUlEOiA4MzgzODQKbWVyZ2VkIHBhZ2VzOiAxNjU1NDAgKGxpdHRsZSwgdGhpcyBpcyBhYm91 dCA2NDVNQiB3b3J0aCBvZiBwYWdlcykKCnBzczogICAgICAgIDI1MjI1Mjc3NDQKcnNzOiAgICAg ICAgMjkyNzA1ODk0NApjZ3JvdXA6ICAgICAyNTAwMzI5NDcyCnJzcy1jZ3JvdXA6IDI5MzI5NDQ4 OTYKCkJlbmNobWFyayAxOiBleHRyYWN0X3BzcyAgICAgICAgMzE4LjQgbXMgwrEgICAzLjYgbXMg ICAgW1VzZXI6IDIyNy4zIG1zLCBTeXN0ZW06IDkwLjggbXNdCkJlbmNobWFyayAyOiBleHRyYWN0 X3JzcyAgICAgICAgMjczLjkgbXMgwrEgICA1LjggbXMgICAgW1VzZXI6IDIyNi41IG1zLCBTeXN0 ZW06IDQ3LjIgbXNdCkJlbmNobWFyayAzOiBleHRyYWN0X2Nncm91cCAgICAgMjc2LjMgbXMgwrEg ICA0LjEgbXMgICAgW1VzZXI6IDIyNS40IG1zLCBTeXN0ZW06IDUwLjcgbXNdCkJlbmNobWFyayA0 OiBleHRyYWN0X3Jzc19jZ3JvdXAgMjc2LjUgbXMgwrEgICA4LjYgbXMgICAgW1VzZXI6IDIyNi4x IG1zLCBTeXN0ZW06IDUwLjEgbXNdCgpCZW5jaG1hcmsgMTogcW1fc3RhdHVzX3N0b2NrICAgNDAw LjIgbXMgwrEgICA2LjYgbXMgICAgW1VzZXI6IDI5Mi4xIG1zLCBTeXN0ZW06IDEwMy41IG1zXQpC ZW5jaG1hcmsgMjogcW1fc3RhdHVzX3BhdGNoZWQgMzU3LjAgbXMgwrEgICA0LjEgbXMgICAgW1Vz ZXI6IDI4OC43IG1zLCBTeXN0ZW06IDYzLjcgbXNdCgpyZXN1bHRzIG1hdGNoIHRob3NlIG9mIDgz ODM4MywganVzdCB3aXRoIGxlc3MgZWZmZWN0Cgp0aGUgZm91cnRoIFZNIG1hdGNoZXMgdGhpcyBh cyB3ZWxsLgoKRml4ZXMvUmV2ZXJ0czogZDQyNmRlNmM3ZDgxYTRkMDQ5NTBmMmVhYTlhZmU5Njg0 NWQ3M2Y3ZSAoInZtc3RhdHVzOiBhZGQgbWVtaG9zdCBmb3IgaG9zdCB2aWV3IG9mIHZtIG1lbSBj b25zdW1wdGlvbiIpCgpTaWduZWQtb2ZmLWJ5OiBGYWJpYW4gR3LDvG5iaWNobGVyIDxmLmdydWVu YmljaGxlckBwcm94bW94LmNvbT4KLS0tCgpOb3RlczoKICAgIGdpdmVuIHRoZSBudW1iZXJzLCBn b2luZyB3aXRoIHRoZSBDR3JvdXAtYmFzZWQgYXBwcm9hY2ggc2VlbXMgYmVzdCAtIGl0IGdpdmVz CiAgICB1cyBhY2N1cmF0ZSBudW1iZXJzIHdpdGhvdXQgdGhlIHNsb3dkb3duLCBhbmQgZ2l2ZXMg dXNlcnMgYW4gaW5zaWdodCBpbnRvIGhvdwogICAgS1NNIGFmZmVjdHMgdGhlaXIgZ3Vlc3RzIGhv c3QgbWVtb3J5IHVzYWdlIHdpdGhvdXQgZmxpcC1mbG9wcGluZy4KCiBzcmMvUFZFL1FlbXVTZXJ2 ZXIucG0gfCAzNSArKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj L1BWRS9RZW11U2VydmVyLnBtIGIvc3JjL1BWRS9RZW11U2VydmVyLnBtCmluZGV4IGE3ZmJlYzE0 Li42MmQ4MzVhNSAxMDA2NDQKLS0tIGEvc3JjL1BWRS9RZW11U2VydmVyLnBtCisrKyBiL3NyYy9Q VkUvUWVtdVNlcnZlci5wbQpAQCAtMjMyNCwzNSArMjMyNCw2IEBAIHN1YiB2emxpc3QgewogICAg IHJldHVybiAkdnpsaXN0OwogfQogCi0jIEl0ZXJhdGUgb3ZlciBhbGwgUElEcyBpbnNpZGUgYSBW TUlEJ3MgY2dyb3VwIHNsaWNlIGFuZCBhY2N1bXVsYXRlIHRoZWlyIFBTUyAocHJvcG9ydGlvbmFs IHNldAotIyBzaXplKSB0byBnZXQgYSByZWxhdGl2ZWx5IHRlbGxpbmcgZWZmZWN0aXZlIG1lbW9y eSB1c2FnZSBvZiBhbGwgcHJvY2Vzc2VzIGludm9sdmVkIHdpdGggYSBWTS4KLW15IHN1YiBnZXRf dm1pZF90b3RhbF9jZ3JvdXBfbWVtb3J5X3VzYWdlIHsKLSAgICBteSAoJHZtaWQpID0gQF87Ci0K LSAgICBteSAkbWVtb3J5X3VzYWdlID0gMDsKLSAgICBpZiAobXkgJHByb2NzX2ZoID0gSU86OkZp bGUtPm5ldygiL3N5cy9mcy9jZ3JvdXAvcWVtdS5zbGljZS8ke3ZtaWR9LnNjb3BlL2Nncm91cC5w cm9jcyIsICJyIikpIHsKLSAgICAgICAgd2hpbGUgKG15ICRwaWQgPSA8JHByb2NzX2ZoPikgewot ICAgICAgICAgICAgY2hvbXAoJHBpZCk7Ci0KLSAgICAgICAgICAgIG9wZW4obXkgJHNtYXBzX2Zo LCAnPCcsICIvcHJvYy8ke3BpZH0vc21hcHNfcm9sbHVwIikKLSAgICAgICAgICAgICAgICBvciAk IXtFTk9FTlR9Ci0gICAgICAgICAgICAgICAgb3IgZGllICJmYWlsZWQgdG8gb3BlbiBQU1MgbWVt b3J5LXN0YXQgZnJvbSBwcm9jZXNzIC0gJCFcbiI7Ci0gICAgICAgICAgICBuZXh0IGlmICFkZWZp bmVkKCRzbWFwc19maCk7Ci0KLSAgICAgICAgICAgIHdoaWxlIChteSAkbGluZSA9IDwkc21hcHNf Zmg+KSB7Ci0gICAgICAgICAgICAgICAgaWYgKCRsaW5lID1+IG0vXlBzczpccysoWzAtOV0rKSBr QiQvKSB7Ci0gICAgICAgICAgICAgICAgICAgICRtZW1vcnlfdXNhZ2UgKz0gaW50KCQxKSAqIDEw MjQ7Ci0gICAgICAgICAgICAgICAgICAgIGxhc3Q7ICMgZW5kIGlubmVyIHdoaWxlIGxvb3AsIGdv IHRvIG5leHQgJHBpZAotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAg ICAgIGNsb3NlICRzbWFwc19maDsKLSAgICAgICAgfQotICAgICAgICBjbG9zZSgkcHJvY3NfZmgp OwotICAgIH0KLQotICAgIHJldHVybiAkbWVtb3J5X3VzYWdlOwotfQotCiBvdXIgJHZtc3RhdHVz X3JldHVybl9wcm9wZXJ0aWVzID0gewogICAgIHZtaWQgPT4gZ2V0X3N0YW5kYXJkX29wdGlvbign cHZlLXZtaWQnKSwKICAgICBzdGF0dXMgPT4gewpAQCAtMjYxNCw5ICsyNTg1LDExIEBAIHN1YiB2 bXN0YXR1cyB7CiAKICAgICAgICAgJGQtPnt1cHRpbWV9ID0gaW50KCgkdXB0aW1lIC0gJHBzdGF0 LT57c3RhcnR0aW1lfSkgLyAkY3B1aW5mby0+e3VzZXJfaHp9KTsKIAotICAgICAgICAkZC0+e21l bWhvc3R9ID0gZ2V0X3ZtaWRfdG90YWxfY2dyb3VwX21lbW9yeV91c2FnZSgkdm1pZCk7CisgICAg ICAgIG15ICRjZ3JvdXAgPSBQVkU6OlFlbXVTZXJ2ZXI6OkNHcm91cC0+bmV3KCR2bWlkKTsKKyAg ICAgICAgbXkgJGNncm91cF9tZW0gPSAkY2dyb3VwLT5nZXRfbWVtb3J5X3N0YXQoKTsKKyAgICAg ICAgJGQtPnttZW1ob3N0fSA9ICRjZ3JvdXBfbWVtLT57bWVtfSAvLyAwOwogCi0gICAgICAgICRk LT57bWVtfSA9ICRkLT57bWVtaG9zdH07ICMgZGVmYXVsdCB0byBjZ3JvdXAgUFNTIHN1bSwgYmFs bG9vbiBpbmZvIGNhbiBvdmVycmlkZSB0aGlzIGJlbG93CisgICAgICAgICRkLT57bWVtfSA9ICRk LT57bWVtaG9zdH07ICMgZGVmYXVsdCB0byBjZ3JvdXAsIGJhbGxvb24gaW5mbyBjYW4gb3ZlcnJp ZGUgdGhpcyBiZWxvdwogCiAgICAgICAgIG15ICRwcmVzc3VyZXMgPSBQVkU6OlByb2NGU1Rvb2xz OjpyZWFkX2Nncm91cF9wcmVzc3VyZSgicWVtdS5zbGljZS8ke3ZtaWR9LnNjb3BlIik7CiAgICAg ICAgICRkLT57cHJlc3N1cmVjcHVzb21lfSA9ICRwcmVzc3VyZXMtPntjcHV9LT57c29tZX0tPnth dmcxMH0gKiAxOwotLSAKMi40Ny4zCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCnB2ZS1kZXZlbCBtYWlsaW5nIGxpc3QKcHZlLWRldmVsQGxpc3RzLnBy b3htb3guY29tCmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3Rp bmZvL3B2ZS1kZXZlbAo=