From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (unknown [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 2E8C580726 for ; Wed, 14 Oct 2026 17:35:00 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69EHXhrK002064; Wed, 14 Oct 2026 20:33:44 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69EHXhrK002064 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=sashiko.virtuozzo.com header.i=@sashiko.virtuozzo.com header.b="jBt3PGhV"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazonses.com header.i=@amazonses.com header.b="Es6JNnTA" Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69EHXf86002060 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Wed, 14 Oct 2026 20:33:41 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69EHXf86002060 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-48589603501so553544f8f.3 for ; Wed, 14 Oct 2026 10:33:41 -0700 (PDT) X-Gm-Message-State: AFq9FYIFrQC7sTpTGeycbB7mDAsj7PebNQn+av3M0rn+g7HHNh1DHo6B Q/DhZugsV4f4P7fbaCXv8zaJyyOa6s2IKWk5DVoYvjhZUle3fHn+M3pMdP6Jq+sAojwA28Ehnhq XgQEJoBfZdiyrzAuZ0W5S74pfuGbvgxbS3pKQioaweEIab8zOcOl4hQ== X-Gm-Gg: AYBFou0S8YF5XZODjPWoGxwVLYIhnhs07Cm3HV4ThEsSiGhlXDkeigLFCarrbqrB3tU NXCYWDq2xB0Ti0ZN/kforSHp/7QHVp0jd+KaT11l76L8DOczOKKWHavTyeriMR3QfIBPaSDJCSV tTHSLN56TklxIbSRzP+0X1HRCzM8+TRrwS6oEW6QXa0cq2uVrBm/2zRpGY+wYLrmhUo6LIU8hLn wBD/tak8oD2ie3q57a0n1Iozk0+2pyR36cNFUtyb6DKFuLC3yw75wP0zmpYqfXf4zyEBCJ4N4U9 qzgA/reJIyhYYTkqF/rbHjrJcqPgBrFbQL5ZZagCAqX6gVFJ33hpsED9F0KCuXR1DMMqfX3xfn/ iiGoi6XIyMcmtjM5FMiwrDgJt1jMgc7aAI/p7FUSMVy5+ycrh4J5+pdE0quNCuWgMtJqXcRXycH t8VzaFdEtXq9wrTkcVdjgaCcCAoo4YFXhDfUvtV/HtJnaPUEQAP1/AbvEdmBEpHtU8Eze7CXGub GP6SIjNfXFiIkqEvR/g X-Received: by 2002:a5d:644a:0:b0:486:f42f:6860 with SMTP id ffacd0b85a97d-48dbaaefc28mr24604608f8f.56.1791999221436; Wed, 14 Oct 2026 10:33:41 -0700 (PDT) X-Received: by 2002:a5d:644a:0:b0:486:f42f:6860 with SMTP id ffacd0b85a97d-48dbaaefc28mr24604449f8f.56.1791999219216; Wed, 14 Oct 2026 10:33:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1791999219; cv=none; d=google.com; s=arc-20260327; b=fTzGOClqqZFyCm8fG7BMa6UwKlMPm7gfkGCCdhA/mN402zbK98R1x+L7kYB7nNaK85 nZFMW/GgWvtfMXTzHdJe7/eAILWC0rbxUDJCDly8tUerIqzvsyLFApQ0ZS0oTshj+rNi 37MQ1QG9mavqtJ61nn5rwmsrK8sE32KBpA6A7KltdsqJK6J1WIBl75XLjJOEBzSRQMVK cCjTTyX7QCJgGbYh9skauu4gmmrLGuQG0H/DSAN8GTGJHlxHW6qVvMDMTkwxY1m1Aejv /8uppVkxyGnRd8HE5i1gnvVEeGc17aT0yK3H7zGCntuhZueHnUYRoLTfJa9/pjudxYMg YZqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=feedback-id:date:content-transfer-encoding:references:in-reply-to :cc:to:subject:from:message-id:dkim-signature:dkim-signature; bh=pFbVqbRq483QBvSVXGo+jBlNpG3ZvrA56f+8jWGxXXI=; fh=0VJCjOojLxXCX4dr304STqj+1O0m4FQbdpjuyGO5TEs=; b=VN6H47slSnhZ16vD7vvx7FSf/QBeD+R1DQfykp2wmQl5K0tfos+nPOR6oAnffyz0C1 kHmdYl1AXCEdV5isL5ijP2onmvZM+WOC2PJH+nhGbNLt7E8MRi+O8hjF0Fg0jtflXTum dsJLteK/U3KYBS9Wn8q74HDMkv32XotrWNrRfrtGtU2lfAOYk/zwxPZGoeeP4/kVVuPm WGCpnEBytMm/MuFXzLx630+KtOvI2eVH7O/ZdxjqOb0hOHZ9Cr+NwwzRlnQh6b+xgU0G hWYnrig8kDb0dNUoLpsX9XOGFYtRrRDJML3IFfv+Qs4Cs+kVunhuvWd/41NFjr1pw1ss iLIA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sashiko.virtuozzo.com header.s=23yjbh4k34hwzfubhuiim7m4inbd3ick header.b=jBt3PGhV; dkim=pass header.i=@amazonses.com header.s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh header.b=Es6JNnTA; spf=pass (google.com: domain of 010701a13b7a1414-cc670e39-401a-4e02-9898-a6f0dd19a8ee-000000@eu-central-1.amazonses.com designates 69.169.224.6 as permitted sender) smtp.mailfrom=010701a13b7a1414-cc670e39-401a-4e02-9898-a6f0dd19a8ee-000000@eu-central-1.amazonses.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from b224-6.smtp-out.eu-central-1.amazonses.com (b224-6.smtp-out.eu-central-1.amazonses.com. [69.169.224.6]) by mx.google.com with ESMTPS id ffacd0b85a97d-48dece5cf9bsi5532925f8f.223.2026.10.14.10.33.39 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 14 Oct 2026 10:33:39 -0700 (PDT) Received-SPF: pass (google.com: domain of 010701a13b7a1414-cc670e39-401a-4e02-9898-a6f0dd19a8ee-000000@eu-central-1.amazonses.com designates 69.169.224.6 as permitted sender) client-ip=69.169.224.6; Authentication-Results: mx.google.com; dkim=pass header.i=@sashiko.virtuozzo.com header.s=23yjbh4k34hwzfubhuiim7m4inbd3ick header.b=jBt3PGhV; dkim=pass header.i=@amazonses.com header.s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh header.b=Es6JNnTA; spf=pass (google.com: domain of 010701a13b7a1414-cc670e39-401a-4e02-9898-a6f0dd19a8ee-000000@eu-central-1.amazonses.com designates 69.169.224.6 as permitted sender) smtp.mailfrom=010701a13b7a1414-cc670e39-401a-4e02-9898-a6f0dd19a8ee-000000@eu-central-1.amazonses.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=23yjbh4k34hwzfubhuiim7m4inbd3ick; d=sashiko.virtuozzo.com; t=1791999218; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date; bh=TMog9RsBWRFtU01TNDZDC6K4ns6vkkI41NBusagqy1E=; b=jBt3PGhVPwDbLCDx9fZNpJrA6jFp9hkxnctJVo0Co95EVpZPD+hFBEquAeBcv6S5 Qxtq/Eez8Mb05o9n2MUGwy6GefQ4Q/RiFge2us7PEhSjETFRg6TrJs4TPPxvrxFunJw /pFmQU97viXaPzo4qqmmTOinGuzplh4vPm6eywc4zJOy5YHDH7OcBPQL4ljHnybZWeJ qphHetDR9H49vrzgAPhpTEy+KNbor9CFfVEF2C6DMMXNfr+VSCnpqi8o+kGdIM9PssA p3EPOrSi13OVglZyP6EJfltm/bLmsJI4j4zM3a/WBUqpYh067GRSlhIuuTk43Sa6ZNq yPKAvIAjSQ== DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh; d=amazonses.com; t=1791999218; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date:Feedback-ID; bh=TMog9RsBWRFtU01TNDZDC6K4ns6vkkI41NBusagqy1E=; b=Es6JNnTAoJlgu+14EaH5FhwlI3sgwDbNZFZThCrXyWaDtlkevxHl+3a5bkc5giGr CWxnddOXz9t6isUffX8FRLuJc7Vvd2jpRAGIS9AQZ1a/hxOaDPST45LN9ExbOdRMCbN uzYw9hB3FcoR1NogXgA6L7O9lmFBFp+AJdUrZP4g= Message-ID: <010701a13b7a1414-cc670e39-401a-4e02-9898-a6f0dd19a8ee-000000@eu-central-1.amazonses.com> From: no-reply@sashiko.virtuozzo.com To: Konstantin Khorenko , Pavel Tikhomirov , Andrey Drobyshev , Vasileios Almpanis In-Reply-To: <20261014-b4-prep-khorenko-vstor-149847-2-doexec-pinned-memory-v1-8-36f1120f9b57@virtuozzo.com> References: <20261014-b4-prep-khorenko-vstor-149847-2-doexec-pinned-memory-v1-0-36f1120f9b57@virtuozzo.com> <20261014-b4-prep-khorenko-vstor-149847-2-doexec-pinned-memory-v1-8-36f1120f9b57@virtuozzo.com> Date: Wed, 14 Oct 2026 17:33:38 +0000 Feedback-ID: ::1.eu-central-1.2wRQJBpg9g1fGRYexx3dUuYGS25Bux+2TEOx72/m6U4=:AmazonSES X-SES-Outgoing: 2026.10.14-69.169.224.6 X-OZ-Fwd: true X-MIME-Autoconverted: from quoted-printable to 8bit by mail.openvz.org id 69EHXf86002060 Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 8/8] selftests/mm: test memory preservation across exec X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MyBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0xvd10gc2VsZnRlc3RzL21tOiBk b2V4ZWMgY2hpbGQgZGlhZ25vc3RpY3MgYXJlIGxvc3QgYnkgX2V4aXQoKS9leGVjCi0gW0xvd10g c2VsZnRlc3RzL21tOiBkb2V4ZWMgaWdub3JlcyB3cml0ZSgpIHJldHVybiB2YWx1ZXMKLSBbTG93 XSBzZWxmdGVzdHMvbW06IGRvZXhlYyB0cmVhdHMgYW55IFNJR1NFR1YgaW4gYWxsb2NhdGlvbiBz d2VlcCBhcyBleHBlY3RlZAotLQoKY29tbWl0IGVlZTMyZTczNTE2Yjc2MGJiMzAwN2UxYjk3NjMz YTQ5OTk1ODFmZWMKQXV0aG9yOiBBbmRyZXkgRHJvYnlzaGV2IDxhbmRyZXkuZHJvYnlzaGV2QHZp cnR1b3p6by5jb20+CgpzZWxmdGVzdHMvbW06IHRlc3QgbWVtb3J5IHByZXNlcnZhdGlvbiBhY3Jv c3MgZXhlYwoKVGhpcyBjb21taXQgYWRkcyBkb2V4ZWMsIGEgc2VsZnRlc3QgZm9yIE1BRFZfRE9F WEVDLiBJdCBjaGVja3MgdGhhdCBtZW1vcnkKYmFja2luZyBsb25nLXRlcm0gR1VQIHBpbnMgYW5k IG90aGVyIG1hcHBpbmdzIHN1cnZpdmVzIHJlcGVhdGVkIGV4ZWMgYW5kCmZvcmsuIEl0IGFsc28g Y292ZXJzIENMT05FX1ZNIGhhbmRsaW5nLCB0aHJlYWRzLCAvcHJvYyByZWFkZXJzIGFuZCBhbgpv cHRpb25hbCBhbGxvY2F0aW9uLWZhaWx1cmUgc3dlZXAuIFRoZSB0ZXN0IGlzIHdpcmVkIGludG8g cnVuX3ZtdGVzdHMuc2guCgpMaW5rOiBodHRwczovL3ZpcnR1b3p6by5hdGxhc3NpYW4ubmV0L2Jy b3dzZS9WU1RPUi0xNTAyMzEKCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3Rz L21tL2RvZXhlYy5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbW0vZG9leGVjLmMKPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NAo+IC0tLSAvZGV2L251bGwKPiArKysgYi90b29scy90ZXN0aW5nL3Nl bGZ0ZXN0cy9tbS9kb2V4ZWMuYwoKWyAuLi4gXQoKPiArc3RhdGljIHZvaWQgZXhlY19zdGFnZShp bnQgZmQsIGNoYXIgKnJhbSwgc2l6ZV90IHNpemUsIGludCBraW5kLCBpbnQgc3RhZ2UpCj4gK3sK PiArCWNoYXIgZmRfYXJnWzMyXSwgYWRkcl9hcmdbMzJdLCBzaXplX2FyZ1szMl0sIGtpbmRfYXJn WzMyXSwgc3RhZ2VfYXJnWzMyXTsKPiArCj4gWyAuLi4gXQo+ICsJZXhlY2woIi9wcm9jL3NlbGYv ZXhlIiwgImRvZXhlYyIsICItLWV4ZWMiLCBmZF9hcmcsIGFkZHJfYXJnLCBzaXplX2FyZywKPiAr CSAgICAgIGtpbmRfYXJnLCBzdGFnZV9hcmcsIE5VTEwpOwo+ICsJa3NmdF9wcmludF9tc2coImV4 ZWM6ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOwo+ICsJX2V4aXQoS1NGVF9GQUlMKTsKPiArfQoK W1NldmVyaXR5OiBMb3ddCkNhbiB0aGUgZGlhZ25vc3RpY3MgcHJpbnRlZCBieSB0aGUgZm9ya2Vk IGNoaWxkcmVuIGdldCBsb3N0IGhlcmU/Cgprc2Z0X3ByaW50X21zZygpIHdyaXRlcyB0aHJvdWdo IGJ1ZmZlcmVkIHN0ZGlvLiBXaGVuIHN0ZG91dCBpcyBhIHBpcGUgb3IgYQpmaWxlLCBhcyB1bmRl ciBydW5fdm10ZXN0cy5zaCBvciBhIENJIGhhcm5lc3MsIHRoZSAiZXhlYzogLi4uIiBtZXNzYWdl IGlzCnN0aWxsIGluIHRoZSBidWZmZXIgd2hlbiBfZXhpdChLU0ZUX0ZBSUwpIHJ1bnMsIGFuZCBf ZXhpdCgpIGRvZXMgbm90IGZsdXNoCml0LgoKVGhlIHNhbWUgYXBwbGllcyB0byB0aGUgb3RoZXIg bWVzc2FnZXMgcHJpbnRlZCBmcm9tIHRoZSBwZXItdGVzdCBjaGlsZHJlbiwKZm9yIGV4YW1wbGU6 CgogICAgYmVmb3JlX2V4ZWMoKSAgLT4gInBpbjogLi4uIiwgIk1BRFZfRE9FWEVDOiAuLi4iCiAg ICBjaGVja19waW4oKSAgICAtPiAicmVhZCBwaW46IC4uLiIsICJDUFUvcGluIG1pc21hdGNoIGF0 IGJ5dGUgTiIKICAgIGFsbG9jYXRpb25fZmFpbHVyZXMoKSAtPiAiZmFpbC1udGggTjogLi4uIgoK SW4gbWFpbigpLCB0aGUgZmZsdXNoKHN0ZG91dCkgY2FsbHMgcnVuIGluIHRoZSBwYXJlbnQgYmVm b3JlIGZvcmsoKS4gVGhleQpwcmV2ZW50IGR1cGxpY2F0ZWQgb3V0cHV0IGJ1dCBkbyBub3QgZmx1 c2ggd2hhdCB0aGUgY2hpbGQgcHJpbnRzIGl0c2VsZi4KTWVzc2FnZXMgcHJpbnRlZCBiZWZvcmUg dGhlIGV4ZWNsKCkgaW50byB0aGUgLS1leGVjIHN0YWdlIGFyZSBsaWtld2lzZQpkaXNjYXJkZWQg YnkgdGhlIGV4ZWMuCgpBIGZhaWxpbmcgcnVuIHdvdWxkIHRoZW4gc2hvdyBvbmx5IGEgYmFyZSAi bm90IG9rIiBsaW5lLiBXb3VsZCBhbgpmZmx1c2goc3Rkb3V0KSBiZWZvcmUgZWFjaCBfZXhpdCgp IGFuZCBleGVjbCgpIGluIHRoZSBjaGlsZHJlbiBiZQphcHByb3ByaWF0ZT8KCj4gK3N0YXRpYyBp bnQgc2hhcmVkX21tX2V4ZWMoYm9vbCBvd25fdGhyZWFkKQo+ICt7CgpbIC4uLiBdCgo+ICsJaWYg KG93bl90aHJlYWQpIHsKPiArCQlpZiAocHRocmVhZF9jcmVhdGUoJnRocmVhZCwgTlVMTCwgYmxv Y2tlZF90aHJlYWQsICZwaXBlX2ZkWzBdKSkKPiArCQkJcmV0dXJuIEtTRlRfRkFJTDsKPiArCQlj aGVja19leGVjKHJhbSwgc2l6ZSwgMSwgZmFsc2UpOwo+ICsJCXdyaXRlKHBpcGVfZmRbMV0sICJ4 IiwgMSk7Cj4gKwkJcHRocmVhZF9qb2luKHRocmVhZCwgTlVMTCk7Cj4gKwkJcmV0dXJuIEtTRlRf RkFJTDsKPiArCX0KClsgLi4uIF0KCj4gKwl3cml0ZShwaXBlX2ZkWzFdLCAieCIsIDEpOwo+ICsJ aWYgKHdhaXRfY2hpbGQocGlkKSkKPiArCQlyZXQgPSBLU0ZUX0ZBSUw7CgpbU2V2ZXJpdHk6IExv d10KSXMgaXQgaW50ZW5kZWQgdGhhdCB0aGUgd3JpdGUoKSByZXN1bHRzIGFyZSBpZ25vcmVkIGhl cmU/Cgp3cml0ZSgpIGlzIHdhcm5fdW51c2VkX3Jlc3VsdCB1bmRlciBnbGliYyBfRk9SVElGWV9T T1VSQ0UsIHNvIHRoaXMgY2FuCnByb2R1Y2UgLVd1bnVzZWQtcmVzdWx0IHdhcm5pbmdzLgoKSWYg dGhpcyB3cml0ZSBldmVyIGZhaWxlZCwgdGhlIENMT05FX1ZNIGNoaWxkIG9yIHRocmVhZCB3b3Vs ZCBzdGF5IGJsb2NrZWQKaW4gcmVhZCgpLCBhbmQgd2FpdF9jaGlsZCgpIG9yIHB0aHJlYWRfam9p bigpIHdvdWxkIGhhbmcgYmVjYXVzZSB0aGUgdGVzdApoYXMgbm8gdGltZW91dC4KCj4gK3N0YXRp YyBpbnQgY2xvbmVfcmFjZV9jaGlsZCh2b2lkICphcmcpCj4gK3sKPiArCXN0cnVjdCBjbG9uZV9y YWNlICpyYWNlID0gYXJnOwo+ICsJdW5zaWduZWQgaW50IGk7Cj4gKwo+ICsJZm9yIChpID0gMDsg aSA8IDg7IGkrKykgewo+ICsJCWlmIChfX2F0b21pY19sb2FkX24ocmFjZS0+cmFtLCBfX0FUT01J Q19SRUxBWEVEKSAhPSAweDMxKSB7Cj4gKwkJCXdyaXRlKHJhY2UtPnJlcG9ydCwgIngiLCAxKTsK PiArCQkJcmV0dXJuIEtTRlRfRkFJTDsKPiArCQl9Cj4gKwkJdXNsZWVwKDEwMDApOwo+ICsJfQo+ ICsJcmV0dXJuIEtTRlRfUEFTUzsKPiArfQoKW1NldmVyaXR5OiBMb3ddClNob3VsZCB0aGUgcmVz dWx0IG9mIHRoaXMgd3JpdGUoKSBiZSBjaGVja2VkIGFzIHdlbGw/CgpUaGlzIHdyaXRlIGlzIHRo ZSBvbmx5IHNpZ25hbCB0aGF0IHRoZSBzaGFyZWQgbWVtb3J5IHdhcyBzdG9sZW4uIElmIGl0IGZh aWxzLApjbG9uZV9leGVjX3JhY2UoKSBzZWVzIEVPRiBvbiB0aGUgcmVwb3J0IHBpcGUgYW5kIHBh c3NlcyBkZXNwaXRlIHRoZSBkZXRlY3RlZApmYWlsdXJlLiBjbG9uZV9yYWNlX3RocmVhZCgpIGFu ZCB0aGUgLS1jaGVjayBoYW5kbGVyIGluIG1haW4oKSBhbHNvIGRyb3AKd3JpdGUoKSByZXN1bHRz LgoKPiArCWlmIChhcmdjID09IDUgJiYgIXN0cmNtcChhcmd2WzFdLCAiLS1jaGVjayIpKSB7Cj4g KwkJY2hhciAqcmFtID0gKGNoYXIgKikodWludHB0cl90KXN0cnRvdWxsKGFyZ3ZbMl0sIE5VTEws IDEwKTsKPiArCQlzaXplX3Qgc2l6ZSA9IHN0cnRvdWxsKGFyZ3ZbM10sIE5VTEwsIDEwKTsKPiAr CQlzaXplX3Qgc3RyaWRlID0gc3RydG91bGwoYXJndls0XSwgTlVMTCwgMTApLCBpOwo+ICsJCWlu dCBmZCA9IG9wZW4oIi9wcm9jL3NlbGYvZmFpbC1udGgiLCBPX1dST05MWSk7Cj4gKwo+ICsJCWlm IChmZCA+PSAwKSB7Cj4gKwkJCXdyaXRlKGZkLCAiMCIsIDEpOwo+ICsJCQljbG9zZShmZCk7Cj4g KwkJfQo+ICsJCWZvciAoaSA9IDA7IGkgPCBzaXplOyBpICs9IHN0cmlkZSkKPiArCQkJaWYgKHJh bVtpXSAhPSAweDMxKQo+ICsJCQkJcmV0dXJuIEtTRlRfRkFJTDsKPiArCQlyZXR1cm4gS1NGVF9Q QVNTOwo+ICsJfQoKWyAuLi4gXQoKPiArCQlpZiAoV0lGU0lHTkFMRUQoc3RhdHVzKSAmJiBXVEVS TVNJRyhzdGF0dXMpID09IFNJR1NFR1YpCj4gKwkJCWZhdGFsKys7CgpbIC4uLiBdCgo+ICsJLyog QSBzd2VlcCB0aGF0IGluamVjdGVkIG5vIHJlY292ZXJhYmxlL2ZhdGFsIGVycm9ycyBwcm92aWRl cyBubyBjb3ZlcmFnZS4gKi8KPiArCXJldHVybiBlYXJseSAmJiBmYXRhbCA/IEtTRlRfUEFTUyA6 IEtTRlRfU0tJUDsKPiArfQoKW1NldmVyaXR5OiBMb3ddCkNhbiB0aGUgYWxsb2NhdGlvbl9mYWls dXJlcygpIHN3ZWVwIHBhc3MgZXZlbiB3aGVuIHRoZSBwcmVzZXJ2ZWQgbWFwcGluZyBoYXMKYmVl biBsb3N0PwoKZG9fZXhlY3ZlYXRfY29tbW9uKCkgZGVsaWJlcmF0ZWx5IHJhaXNlcyBTSUdTRUdW IHdoZW4gZXhlYyBmYWlscyBhZnRlciB0aGUKcG9pbnQgb2Ygbm8gcmV0dXJuOgoKICAgIGlmIChi cHJtLT5wb2ludF9vZl9ub19yZXR1cm4gJiYgIWZhdGFsX3NpZ25hbF9wZW5kaW5nKGN1cnJlbnQp KQogICAgICAgICAgICBmb3JjZV9mYXRhbF9zaWcoU0lHU0VHVik7CgpTbyBTSUdTRUdWIGlzIGEg bGVnaXRpbWF0ZSBvdXRjb21lIG9mIHRoZSBzd2VlcC4gSG93ZXZlciwgdGhlIHRlc3QgY2Fubm90 CnRlbGwgdGhhdCBrZXJuZWwtZm9yY2VkIFNJR1NFR1YgYXBhcnQgZnJvbSBhIHVzZXItc3BhY2Ug ZmF1bHQuCgpBZnRlciBhIHN1Y2Nlc3NmdWwgcHJlc2VydmluZyBleGVjLCB0aGUgLS1jaGVjayBp bWFnZSBkZXJlZmVyZW5jZXMgcmFtW2ldCmluIG1haW4oKS4gSWYgYSBrZXJuZWwgYnVnIGRyb3Bw ZWQgb3IgdW5tYXBwZWQgdGhlIHByZXNlcnZlZCByYW5nZSwgdGhhdCBsb2FkCndvdWxkIGFsc28g cmFpc2UgU0lHU0VHVi4gYWxsb2NhdGlvbl9mYWlsdXJlcygpIHdvdWxkIGNvdW50IGl0IGFzIGZh dGFsKysuCgpUaGUgZmluYWwgY2hlY2sgaXMgImVhcmx5ICYmIGZhdGFsID8gS1NGVF9QQVNTIDog S1NGVF9TS0lQIiwgYW5kIGl0IHJlcXVpcmVzCmF0IGxlYXN0IG9uZSBTSUdTRUdWLiBBIHJlZ3Jl c3Npb24gdGhhdCBsb3NlcyB0aGUgbWFwcGluZyBjYW4gdGhlcmVmb3JlIGhlbHAKdGhlIHRlc3Qg cGFzcy4KCklzIHRoZXJlIGEgd2F5IHRvIGRpc3Rpbmd1aXNoIHRoZSB0d28gY2FzZXM/IE9uZSBv cHRpb24gaXMgdG8gaGF2ZSB0aGUgLS1jaGVjawppbWFnZSByZXBvcnQgYSBsb3N0IG1hcHBpbmcg d2l0aG91dCBmYXVsdGluZywgZm9yIGV4YW1wbGUgYnkgcHJvYmluZyB0aGUgcmFuZ2UKd2l0aCBt aW5jb3JlKCkgb3IgbXN5bmMoKSBiZWZvcmUgcmVhZGluZyBpdC4KCi0tIApTYXNoaWtvIEFJIHJl dmlldyDCtyBodHRwczovL3Nhc2hpa28udnppbnQuZGV2LyMvcGF0Y2hzZXQvMjAyNjEwMTQtYjQt cHJlcC1raG9yZW5rby12c3Rvci0xNDk4NDctMi1kb2V4ZWMtcGlubmVkLW1lbW9yeS12MS0wLTM2 ZjExMjBmOWI1N0B2aXJ0dW96em8uY29tP3BhcnQ9OAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KRGV2ZWwgbWFpbGluZyBsaXN0CkRldmVsQG9wZW52ei5v cmcKaHR0cHM6Ly9saXN0cy5vcGVudnoub3JnL21haWxtYW4vbGlzdGluZm8vZGV2ZWwK