From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (mail.openvz.org [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 352E28045D for ; Wed, 28 Oct 2026 14:24:33 +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 69SENJAp020694; Wed, 28 Oct 2026 17:23:20 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69SENJAp020694 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="FgGjNZ6o"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazonses.com header.i=@amazonses.com header.b="PfFHC+TT" Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69SENHc6020690 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Wed, 28 Oct 2026 17:23:17 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69SENHc6020690 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-4a2001e85c8so7733705e9.1 for ; Wed, 28 Oct 2026 07:23:17 -0700 (PDT) X-Gm-Message-State: AFq9FYKGgBmW7zL7nnWMMQN3kTKAV2rYj2ccJUlAA77YmZPzK2bxfj1C T43DXpk5XuBEY9sjX4hIeHMOEx8tnmBsO+5l1dFcG/gEDXKY/1vMQnDyg4WRaQqd6hzgcx+irRQ xNLPX3hTPZXHKtWhnF6u8OVTlS+ONaN8AJ+c3B/Hi2yyxwfW4q9O0iw== X-Gm-Gg: AYBFou1Ddhzdl9O5G1uUFKBq/w7idjE7txG+rleWEY8hrATPgcmEzJ+omPQrI4EhNx1 OchLdiBOE0i3DnDar4jpUNB1NtBkTmAx2UniTXlr+3yX7vHqwYVym+BJyvMgBRfmg8hrGmf+TtY Bf2f+jsRYzJxs4nuOBYlrF0/QmHntglkKij/Bc/+vRQ64ZgyrrbL6FDX7fvlmR8Cnkz29y4+Ihn O+vaHiSBNuZs45F8obe+GKs5SqPmXj8xmC1Gdht9vAwzoU3/eXhki8mYjhczBnV3EIBQqD7HZMv YTcX4AhFN1jxfI/UTKRq3RE5LQMcEnKAjvIX2xaI75dWmXOd7fcC4HNDp8/OowasnAj9o0Vd8Ds FozzgUw8IFb8eX2UUVKJSrvMMAaP1ZN1aSryT/ljx0wucyFz2TiIANpQh4P7/lYuPU8E72cV1je kDxxxDvDlIGUjiPOjPlSHkUIOewlYMUyTJQ+/XEunhKXr9f7LD8VtEl/aR5JBB67AnOUtOUWSKC kykOuA1K+olvmxDKc/j X-Received: by 2002:a05:600c:e493:b0:4aa:2339:a375 with SMTP id 5b1f17b1804b1-4aa2339a4a1mr19399705e9.13.1793197397069; Wed, 28 Oct 2026 07:23:17 -0700 (PDT) X-Received: by 2002:a05:600c:e493:b0:4aa:2339:a375 with SMTP id 5b1f17b1804b1-4aa2339a4a1mr19398215e9.13.1793197395824; Wed, 28 Oct 2026 07:23:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1793197395; cv=none; d=google.com; s=arc-20260327; b=kOfn7oE7C0lQNoukmn7QG1I3QEXCE7DJASwyg8ft0NxmQ9qWPxlovGn2FiTpBZoY6L 6/n9yFOvkIsWzVt7xOC4Y/JsM9tUGd4Lgq+HN14KeRbbg7txgiVNpAVVDITeeKAjavIv Z64/IA8z9FEJgMlDyrICUJgAncTz69SFHjOLcjUStjuapJO3Ppm3s+ih6H2NXaxnhIIn v8XnlX3pRvkj57wfQlaqJD4kMSKuLWguyELwsJ9pqsatVD0c6hxwl0mUsKICiiUlZzIz Zkk9Xob7o7XScFJI0ZD8UKkPD5z88+PACQe3/cSdBhcwsVCXEHCy/7iyOBmd8IDcBlw/ bvwg== 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=7hhhmBj2wZHeYfp7Nqxg0T33L28GSyj8Y+KpKa2J3So=; fh=wZwd5yRbW8HRNLtAnbjmPgrqfPdwPW1GvOQXIFYLV2Y=; b=l36urh0PkaHujZNTuPqJmmYl0VZupp4d2N6SQWvtfk7Do3a+QPFGrPjYWVTva6GHVV TpL5TX91iN//H6iIW5N2kj8okbCfmCM0tnWNPb4X49pRsms8yZNplo78ViH9VeN4ffkC a8o4ncdiw6IlV8TcHJxdyEIR0h1EKk4OipnVxm58wRHlZEpZ0By6uV5TONdieschQIZq QjokJCiJFvZVRhSQr1cN2tJugA50RUD3VOFKbIUTwVol83E8Zy4kXAp4twa93eh6pSqy 0X99e2+XeG9v0JCEwqHLZUPWkjaphB6/uYgJ5Hou60R7jcf8tUYCxm4nA0A6aLOK8uxL 4W2A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sashiko.virtuozzo.com header.s=23yjbh4k34hwzfubhuiim7m4inbd3ick header.b=FgGjNZ6o; dkim=pass header.i=@amazonses.com header.s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh header.b=PfFHC+TT; spf=pass (google.com: domain of 010701a182e4cd3c-de5d0f99-1086-4b21-9a80-c46468be6a5c-000000@eu-central-1.amazonses.com designates 69.169.224.2 as permitted sender) smtp.mailfrom=010701a182e4cd3c-de5d0f99-1086-4b21-9a80-c46468be6a5c-000000@eu-central-1.amazonses.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from b224-2.smtp-out.eu-central-1.amazonses.com (b224-2.smtp-out.eu-central-1.amazonses.com. [69.169.224.2]) by mx.google.com with ESMTPS id ffacd0b85a97d-48e3ed169d1si25899340f8f.377.2026.10.28.07.23.15 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 28 Oct 2026 07:23:15 -0700 (PDT) Received-SPF: pass (google.com: domain of 010701a182e4cd3c-de5d0f99-1086-4b21-9a80-c46468be6a5c-000000@eu-central-1.amazonses.com designates 69.169.224.2 as permitted sender) client-ip=69.169.224.2; Authentication-Results: mx.google.com; dkim=pass header.i=@sashiko.virtuozzo.com header.s=23yjbh4k34hwzfubhuiim7m4inbd3ick header.b=FgGjNZ6o; dkim=pass header.i=@amazonses.com header.s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh header.b=PfFHC+TT; spf=pass (google.com: domain of 010701a182e4cd3c-de5d0f99-1086-4b21-9a80-c46468be6a5c-000000@eu-central-1.amazonses.com designates 69.169.224.2 as permitted sender) smtp.mailfrom=010701a182e4cd3c-de5d0f99-1086-4b21-9a80-c46468be6a5c-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=1793197395; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date; bh=avH/ReWS15edzJCykNn6AcQ+KCQcgOoOWAD9FaORLAo=; b=FgGjNZ6oneAWSr4g3KPEy6NO2+LXFGknLVxO/5vamnOhW/jgOywr9uyz9SKwQUst 1G17D5L7DTwT1oUMnwBjUQ8yx4JEE8NB+HGmltD1nqoYojDJXl3+wGCqHJuQPprs2ME PlhuZPBAyQVgRDlZk/wABM+poLeMDagZk4f3snmI9a78AToVXY20qnd2FmZFAX8JEgf DQbIRlh4HIpVStUdqbbbtbpETCUgMl2xIaJREMv3Hg8k94NDcC9iN1ikpvt9cIE5Kc7 6s/BfYKNhhelJIXih360KHtk4rhbDzaK+fxjFOgt2D69WKcxc6mmpfmccI4JNurZTkt mZ6l7uHg+w== DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh; d=amazonses.com; t=1793197395; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date:Feedback-ID; bh=avH/ReWS15edzJCykNn6AcQ+KCQcgOoOWAD9FaORLAo=; b=PfFHC+TTAwWK3hHwDb5dmYqXk7uMbawXAQeig6UzEcwt4v9Tb8eMu35LI4CqCO0T GYdvmSQZHmO7fHjjjUF+VGfvvAefsVYdYVbvCdfMhln3AHs40SPkpo3NvXEzSof01Jr 0fxZ4eBRkePhFhhTTokriTWxhqbaN6+rGSt7oK/0= Message-ID: <010701a182e4cd3c-de5d0f99-1086-4b21-9a80-c46468be6a5c-000000@eu-central-1.amazonses.com> From: no-reply@sashiko.virtuozzo.com To: Konstantin Khorenko , Pavel Tikhomirov In-Reply-To: <20261028-b4-prep-khorenko-vstor-151607-numa-migrate-order-v2-2-b973a82a5b0c@virtuozzo.com> References: <20261028-b4-prep-khorenko-vstor-151607-numa-migrate-order-v2-0-b973a82a5b0c@virtuozzo.com> <20261028-b4-prep-khorenko-vstor-151607-numa-migrate-order-v2-2-b973a82a5b0c@virtuozzo.com> Date: Wed, 28 Oct 2026 14:23:15 +0000 Feedback-ID: ::1.eu-central-1.2wRQJBpg9g1fGRYexx3dUuYGS25Bux+2TEOx72/m6U4=:AmazonSES X-SES-Outgoing: 2026.10.28-69.169.224.2 X-OZ-Fwd: true X-MIME-Autoconverted: from quoted-printable to 8bit by mail.openvz.org id 69SENHc6020690 Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 v2 2/2] selftests/ve: check memory.numa_migrate keeps the folio order 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 MyBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW01lZGl1bV0gc2VsZnRlc3RzL3Zl OiBsYXJnZS1mb2xpbyBndWFyZCBhY2NlcHRzIFBNRC1zaXplZCBmb2xpb3MsIGNhbiBwYXNzIHdp dGhvdXQgaGl0dGluZyBidWcKLSBbTWVkaXVtXSBzZWxmdGVzdHMvdmU6IG51bWFfbWlncmF0ZSB0 ZXN0IG5lZWRzIDEwMCUgbWlncmF0aW9uIGJ1dCBsYXJnZS1mb2xpbyBkZXN0IGFsbG9jIGlzIG5v LXJldHJ5Ci0gW0xvd10gc2VsZnRlc3RzL3ZlOiBQQUdFX1NJWkUgaGFyZC1jb2RlZCB0byA0MDk2 IGluIHBhZ2VtYXAgaW5kZXggYXJpdGhtZXRpYwotLQoKY29tbWl0IGJlZDUwMTczZjE5ZjgyN2Q3 NGIxMWYyMzg0MjhkNGZjYmI3OWViZjAKQXV0aG9yOiBLb25zdGFudGluIEtob3JlbmtvIDxraG9y ZW5rb0B2aXJ0dW96em8uY29tPgoKc2VsZnRlc3RzL3ZlOiBjaGVjayBtZW1vcnkubnVtYV9taWdy YXRlIGtlZXBzIHRoZSBmb2xpbyBvcmRlcgoKVGhpcyBhZGRzIHZlX251bWFfbWlncmF0ZV90ZXN0 LiBJdCB3cml0ZXMgYSBmaWxlIG9uIGFuIFhGUyBsb29wIGltYWdlCmZyb20gYSBjZ3JvdXAgYm91 bmQgdG8gb25lIE5VTUEgbm9kZSwgbWlncmF0ZXMgdGhlIGNncm91cCB0byBhIHNlY29uZApub2Rl IHdpdGggbWVtb3J5Lm51bWFfbWlncmF0ZSwgYW5kIHJlYWRzIHRoZSBkYXRhIGJhY2sgYWdhaW5z dCB0aGUKd3JpdHRlbiBwYXR0ZXJuLiBJdCBhbHNvIGNoZWNrcyB0aHJvdWdoIG1lbW9yeS5udW1h X3N0YXQgdGhhdCB0aGUgZmlsZQpwYWdlcyBtb3ZlZCwgYW5kIGNoZWNrcyB0aHJvdWdoIHBhZ2Vt YXAgYW5kIGtwYWdlZmxhZ3MgdGhhdCB0aGUgcGFnZQpjYWNoZSBob2xkcyBsYXJnZSBmb2xpb3Mu CgpMaW5rOiBodHRwczovL3ZpcnR1b3p6by5hdGxhc3NpYW4ubmV0L2Jyb3dzZS9WU1RPUi0xNTE2 MDcKCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3ZlL3ZlX251bWFfbWln cmF0ZV90ZXN0LmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy92ZS92ZV9udW1hX21pZ3JhdGVf dGVzdC5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAwLi5iNGE2 MGRiYTgwNjNkCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3Rz L3ZlL3ZlX251bWFfbWlncmF0ZV90ZXN0LmMKClsgLi4uIF0KCj4gKyNkZWZpbmUgSU1HX1NJWkUJ KDMyMFVMIDw8IDIwKQo+ICsjZGVmaW5lIEZJTEVfU0laRQkoNFVMIDw8IDIwKQo+ICsjZGVmaW5l IENIVU5LX1NJWkUJKDY0VUwgPDwgMTApCj4gKyNkZWZpbmUgUEFHRV9TSVpFCTQwOTZVTAoKW1Nl dmVyaXR5OiBMb3ddCklzIGhhcmQtY29kaW5nIFBBR0VfU0laRSB0byA0MDk2VUwgc2FmZSBoZXJl PwoKbGFyZ2VfZm9saW9fcGFnZXMoKSB1c2VzIGl0IGZvciB0aGUgcGFnZSBjb3VudCBhbmQgZm9y IHRoZSBwYWdlbWFwIG9mZnNldDoKCiAgICB1bnNpZ25lZCBsb25nIG5yID0gc2l6ZSAvIFBBR0Vf U0laRSwgaTsKICAgIC4uLgogICAgKHVuc2lnbmVkIGxvbmcpbWFwIC8gUEFHRV9TSVpFICogc2l6 ZW9mKCpwbSkKCk9uIGEgaG9zdCB3aXRoIGEgYmFzZSBwYWdlIHNpemUgb3RoZXIgdGhhbiA0SyAo YXJtNjQgb3IgcHBjNjQgd2l0aCA2NEsKcGFnZXMpLCBib3RoIHZhbHVlcyBhcmUgd3JvbmcuIFRo ZSBmb2xpbyBjaGVjayBjYW4gdGhlbiBnaXZlIGEgYm9ndXMKZmFpbHVyZSBvciBhIGJvZ3VzIHJl c3VsdC4gVGhlICJGSUxFX1NJWkUgLyBQQUdFX1NJWkUiIHZhbHVlIGluIHRoZQpUSF9MT0cgbWVz c2FnZSB1c2VzIHRoZSBzYW1lIGNvbnN0YW50LgoKV291bGQgc3lzY29uZihfU0NfUEFHRVNJWkUp IGJlIGEgYmV0dGVyIGNob2ljZT8gQSBsaWJjIGRlZmluaXRpb24gb2YKUEFHRV9TSVpFIGNvdWxk IGFsc28gbWFrZSB0aGlzIGRlZmluZSBhIHJlZGVmaW5pdGlvbi4KClsgLi4uIF0KCj4gK1RFU1Rf RihudW1hX21pZ3JhdGUsIGxhcmdlX2ZvbGlvX29yZGVyKQo+ICt7CgpbIC4uLiBdCgo+ICsJbGFy Z2UgPSBsYXJnZV9mb2xpb19wYWdlcyhmZCwgRklMRV9TSVpFLCAmZm9saW9zKTsKPiArCUFTU0VS VF9HRShsYXJnZSwgMCkgVEhfTE9HKCJjYW5ub3QgcmVhZCB0aGUgcGFnZSBjYWNoZSBmb2xpbyBz aXplcyIpOwo+ICsJVEhfTE9HKCIlbGQgb2YgJWx1IGZpbGUgcGFnZXMgYXJlIGluICVsZCBsYXJn ZSBmb2xpb3MiLAo+ICsJICAgICAgIGxhcmdlLCBGSUxFX1NJWkUgLyBQQUdFX1NJWkUsIGZvbGlv cyk7Cj4gKwlBU1NFUlRfR1QobGFyZ2UsIDApCj4gKwkJVEhfTE9HKCJubyBsYXJnZSBmb2xpbyBp biB0aGUgcGFnZSBjYWNoZSwgdGhlIGJ1ZyBpcyBvdXQgb2YgcmVhY2giKTsKCltTZXZlcml0eTog TWVkaXVtXQpEb2VzIHRoaXMgY2hlY2sgZnVsbHkgYmFjayB0aGUgY29tbWl0IG1lc3NhZ2UgY2xh aW0gdGhhdCBhIGZpbGUgd2l0aG91dAphIHN1aXRhYmxlIGxhcmdlIGZvbGlvICJ3b3VsZCBwYXNz IHdpdGhvdXQgdG91Y2hpbmcgdGhlIGJ1ZyI/CgpsYXJnZV9mb2xpb19wYWdlcygpIGNvdW50cyBl dmVyeSBwYWdlIHdpdGggS1BGX0NPTVBPVU5EX0hFQUQgb3IKS1BGX0NPTVBPVU5EX1RBSUwsIGFu ZCB0aGUgdGVzdCBvbmx5IGFzc2VydHMgbGFyZ2UgPiAwLiBUaGUgYnVnIG5lZWRzIGEKc291cmNl IGZvbGlvIHNtYWxsZXIgdGhhbiBQTUQgb3JkZXIsIGJlY2F1c2UgdGhlIG9sZAptZW1jZ19udW1h X21pZ3JhdGVfbmV3X2ZvbGlvKCkgYWx3YXlzIGFsbG9jYXRlZCBhIFBNRC1zaXplZCBkZXN0aW5h dGlvbi4KCklmIHRoZSBwYWdlIGNhY2hlIGhlbGQgb25seSBQTUQtb3JkZXIgZm9saW9zLCB0aGUg b2xkIGFuZCBuZXcgY29kZSB3b3VsZAphbGxvY2F0ZSBpZGVudGljYWwgZGVzdGluYXRpb25zLiBU aGUgdGVzdCB3b3VsZCB0aGVuIHBhc3Mgb24gYW4gdW5maXhlZAprZXJuZWwgd2l0aG91dCBoaXR0 aW5nIHRoZSBidWcuCgpUaGUgdGVzdCBhbHJlYWR5IGNvbXB1dGVzICJoZWFkcyIgYW5kICJsYXJn ZSIuIENvdWxkIGl0IGFsc28gcmVxdWlyZSB0aGF0CnRoZSBmb2xpb3MgYXJlIHNtYWxsZXIgdGhh biA1MTIgcGFnZXMsIGZvciBleGFtcGxlIGJ5IGNoZWNraW5nIHRoYXQKbGFyZ2UgLyBmb2xpb3Mg aXMgYmVsb3cgNTEyPwoKWyAuLi4gXQoKPiArCS8qIG1lbW9yeS5udW1hX3N0YXQgZmx1c2hlcyBw ZXItY3B1IGNvdW50ZXJzIGxhemlseSwgZ2l2ZSBpdCB0aW1lLiAqLwo+ICsJZm9yIChpID0gMDsg aSA8IFNUQVRfUkVUUklFUzsgaSsrKSB7Cj4gKwkJQVNTRVJUX0VRKGZpbGVfYnl0ZXNfb25fbm9k ZShzZWxmLT5jZ19mZCwgc2VsZi0+bm9kZV90bywKPiArCQkJCQkgICAgICZvbl90b19hZnRlciks IDApOwo+ICsJCWlmIChvbl90b19hZnRlciA+PSBvbl90b19iZWZvcmUgKyBGSUxFX1NJWkUpCj4g KwkJCWJyZWFrOwo+ICsJCXVzbGVlcChTVEFUX1JFVFJZX1VTKTsKPiArCX0KPiArCVRIX0xPRygi ZmlsZSBieXRlcyBvbiBub2RlICVkOiAlbGx1IC0+ICVsbHUiLCBzZWxmLT5ub2RlX3RvLAo+ICsJ ICAgICAgIG9uX3RvX2JlZm9yZSwgb25fdG9fYWZ0ZXIpOwo+ICsJQVNTRVJUX0dFKG9uX3RvX2Fm dGVyLCBvbl90b19iZWZvcmUgKyBGSUxFX1NJWkUpCj4gKwkJVEhfTE9HKCJtZW1vcnkubnVtYV9t aWdyYXRlIG1vdmVkIG5vdGhpbmcgdG8gbm9kZSAlZCIsIHNlbGYtPm5vZGVfdG8pOwoKW1NldmVy aXR5OiBNZWRpdW1dCkNhbiB0aGlzIGFzc2VydGlvbiBmYWlsIG9uIGEgaGVhbHRoeSBrZXJuZWw/ CgpJdCByZXF1aXJlcyBldmVyeSBvbmUgb2YgdGhlIDQgTWlCIG9mIGZpbGUgcGFnZXMgdG8gbGFu ZCBvbiBub2RlX3RvLiBUaGUKbWlncmF0aW9uIHBhdGggaXM6CgptZW1jZ19udW1hX21pZ3JhdGVf cGFnZXMoKQogIF9fbWVtY2dfbnVtYV9taWdyYXRlX3BhZ2VzKCkKICAgIG1pZ3JhdGVfcGFnZXMo JnBhZ2VzLCBtZW1jZ19udW1hX21pZ3JhdGVfbmV3X2ZvbGlvLCBOVUxMLAogICAgICAgICAgICAg ICAgICAodW5zaWduZWQgbG9uZykmbXMsIE1JR1JBVEVfQVNZTkMsIE1SX1NZU0NBTEwsIE5VTEwp CgpGb3IgYSBsYXJnZSBzb3VyY2UgZm9saW8sIG1lbWNnX251bWFfbWlncmF0ZV9uZXdfZm9saW8o KSBhbGxvY2F0ZXMgdGhlCmRlc3RpbmF0aW9uIHdpdGg6CgogICAgZ2ZwX21hc2sgPSBHRlBfVFJB TlNIVUdFX0xJR0hUIHwgX19HRlBfVEhJU05PREU7CiAgICBvcmRlciA9IGZvbGlvX29yZGVyKG9s ZF9mb2xpbyk7CgpHRlBfVFJBTlNIVUdFX0xJR0hUIGhhcyBubyBkaXJlY3QgcmVjbGFpbSBhbmQg bm8gY29tcGFjdGlvbi4gVW5kZXIKZnJhZ21lbnRhdGlvbiBvciBtZW1vcnkgcHJlc3N1cmUgb24g dGhlIHRhcmdldCBub2RlIHRoaXMgYWxsb2NhdGlvbiBjYW4KZmFpbCwgYW5kIG1pZ3JhdGVfcGFn ZXMoKSB0aGVuIGxlYXZlcyB0aGF0IGZvbGlvIG9uIG5vZGVfZnJvbS4KCl9fbWVtY2dfbnVtYV9t aWdyYXRlX3BhZ2VzKCkgb25seSBwcm9wYWdhdGVzIHJldCA8IDA6CgogICAgcHV0YmFja19tb3Zh YmxlX3BhZ2VzKCZwYWdlcyk7CiAgICBpZiAocmV0IDwgMCkKICAgICAgICByZXR1cm4gcmV0OwoK VGhlIHdyaXRlIHRvIG1lbW9yeS5udW1hX21pZ3JhdGUgdGhlcmVmb3JlIHN0aWxsIHN1Y2NlZWRz IGFmdGVyIGEgcGFydGlhbAptaWdyYXRpb24uIG1lbWNnX251bWFfaXNvbGF0ZV9wYWdlcygpIGFs c28gc2tpcHMgZm9saW9zIHNpbGVudGx5IHdoZW4KZm9saW9fdHJ5X2dldCgpIGZhaWxzLCB0aGUg Zm9saW8gaXMgbm90IG9uIHRoZSBMUlUsIGl0IGlzIHVuZGVyIHdyaXRlYmFjaywKb3IgZm9saW9f dHJ5bG9jaygpIGZhaWxzLgoKQW55IHNpbmdsZSBza2lwcGVkIG9yIGZhaWxlZCBmb2xpbyBsZWF2 ZXMgdGhlIG5vZGVfdG8gY291bnQgYmVsb3cKb25fdG9fYmVmb3JlICsgRklMRV9TSVpFLiBUaGUg ZGF0YSBjb21wYXJpc29uIGhhcyBhbHJlYWR5IHBhc3NlZCBhdCB0aGF0CnBvaW50LCBzbyB0aGUg dGVzdCB3b3VsZCByZXBvcnQgYSBmYWlsdXJlIGFsdGhvdWdoIHRoZSBmaXggd29ya3MuIFRoZQpy ZXRyeSBsb29wIG9ubHkgd2FpdHMgZm9yIHRoZSBsYXp5IG1lbWNnIGZsdXNoIGFuZCBkb2VzIG5v dCB0b2xlcmF0ZSBhCnNob3J0ZmFsbC4KClNob3VsZCB0aGUgZmluYWwgY2hlY2sgYWxsb3cgc29t ZSBzbGFjaywgb3Igb3RoZXJ3aXNlIGJlIG1hZGUgcm9idXN0CmFnYWluc3QgcGFydGlhbCBtaWdy YXRpb24/CgotLSAKU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9zYXNoaWtvLnZ6aW50LmRl di8jL3BhdGNoc2V0LzIwMjYxMDI4LWI0LXByZXAta2hvcmVua28tdnN0b3ItMTUxNjA3LW51bWEt bWlncmF0ZS1vcmRlci12Mi0wLWI5NzNhODJhNWIwY0B2aXJ0dW96em8uY29tP3BhcnQ9MgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGV2ZWwgbWFpbGlu ZyBsaXN0CkRldmVsQG9wZW52ei5vcmcKaHR0cHM6Ly9saXN0cy5vcGVudnoub3JnL21haWxtYW4v bGlzdGluZm8vZGV2ZWwK