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 74F498017D for ; Mon, 2 Nov 2026 10:13:08 +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 6A2ABpi1023285; Mon, 2 Nov 2026 13:11:52 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A2ABpi1023285 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="b/geUevI"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazonses.com header.i=@amazonses.com header.b="NXJ0oruB" Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 6A2ABocG023281 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Mon, 2 Nov 2026 13:11:50 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A2ABocG023281 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-4a2065a2ef9so27155035e9.3 for ; Mon, 02 Nov 2026 02:11:50 -0800 (PST) X-Gm-Message-State: AFq9FYLy7t4xLzbvkCupRX2NpXtqAVfIPKzyYiBCzYZX+7PlBno3UwVN noCjNuG5MPx0P7CY0S8nNiVADrYNCMrp+5f2MgHI94TloVEMQfbZoBYdxJnjD1kskx6Cb1ek/XP C0zsnTUHSgMUmkGTM28FNZb4o9aBiN1IFjkGVx+YX6T2IoBrPEtYzbA== X-Gm-Gg: AYBFou0pAw3nWPuOLRdWybMuaKi/iFLb29AJTsWAS+RA/haOV4Dr8TClx90FG6ETt2z M8ke5lgjhzgrUs9Rq5h+sqNqANc0kSRU6/JITY0W02EPQ8iozgmaBSPSc9rTL8lF6YM9q0r5VRw M9eg8plJ4udE7r75lDn9SJgNM64llEJfj/3FLpzM8IXVQM9d297IiCi6LiJbSfi5v8DW54yuXQe GO3K2T39QOGpicMAsmE7ex2iv+vp3Ix1zOof361Qv8kPxfEnbDA1i1qe0YtSruveEmdOsZpOmqR rSPTtw3IsE5kQPlOC40vq6kTpDojze8sTjleGfPb8CYJzx4LyiajbkH/wNMj+YXb3Ik65l3tnA2 +v0CqQCoaN5glsfO9PQOdgpXvvkWFzL+8NGOvWVWZO9ks4Sq1uOyA4jPU6RzAYQxB16RQu9wnVw JEFPqstEhZ0aGzNKbbfs9yHAOHzRF8vw96YJZm+glXgOx48ILq+o6GkFVaBB2ZmWE45UkBlmcWu DgnNYh4aMge+SrJVpzD X-Received: by 2002:a05:600c:524d:b0:49f:e772:6ddf with SMTP id 5b1f17b1804b1-4ac18993ca7mr225356385e9.32.1793614309835; Mon, 02 Nov 2026 02:11:49 -0800 (PST) X-Received: by 2002:a05:600c:524d:b0:49f:e772:6ddf with SMTP id 5b1f17b1804b1-4ac18993ca7mr225355815e9.32.1793614309327; Mon, 02 Nov 2026 02:11:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1793614309; cv=none; d=google.com; s=arc-20260327; b=OR9MTO3lwJUbWg2Ctr6VM18zd08pefcjeoSjT+58lDZ2BK3m+sVEGlvo4xBHWWcxCY XQB1/ICzhGsULmW4sKlVelO1PTmQ0dXarB38Mmz9HWC/xWXjG36L3T8Dvr3xUNdBuZHK CIWqBvgTzGfLOnbRqE1wmC7VL+mnt5Nb8FMMtELJAb73F5ENSGukdwjNSpam8tqE314l dc+cZ77U9YmvcCJxsMCqttMyv1GlZaZfGnNnm0xNJZUOd9CqVyNGwuhpozGL2BY6YDXL 4KIjhGian7a4MCOH/5O6AakrOPhIPJSaY8izwN1p3SPtYFvUtBSqqsgYJcwqDdNf77eM GXww== 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 :to:subject:from:message-id:dkim-signature:dkim-signature; bh=NX0VdLx0cgko7vHPuUzkb3CoJLi+AcELD/PK5Xl2H4o=; fh=a9vbxC8joJUFMWBEUqqOC3ysFHt1DKSgMzNgsGDGhMQ=; b=dcg7Vy2v6Fk2mmHomPWWREDzDZxiHk6AM8kRep146Lcqc5SmHMB4wK72182QoF26rJ YOqhdW0FIcYcxiY7dJzq0cx7wVepquuiotztoisr8WNezic36W6+OG33o3BA0tdeVN58 L+1bD+fkSJESZAizphgQFayODuDHEIQPeGnwoo58/Wmm8Rg/zGaWKH/T2VRpQra+ELFD 2CjPb3vDtkJIwlVtVRVhKrjh9sX5CxfF1pf2oUCahkCf0WAROOm3dpu0mqys4EW+TZVx z2eHc+zHx7+el7MRDMkxD3WwmFpD0bEMAIH4Ukn164eOqDCFLD+W6BmpespCPC3RMkPh FNbA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sashiko.virtuozzo.com header.s=23yjbh4k34hwzfubhuiim7m4inbd3ick header.b="b/geUevI"; dkim=pass header.i=@amazonses.com header.s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh header.b=NXJ0oruB; spf=pass (google.com: domain of 010701a19bbe65dd-10c6c0d5-dfff-48a7-9a20-3fd925d4848c-000000@eu-central-1.amazonses.com designates 69.169.224.5 as permitted sender) smtp.mailfrom=010701a19bbe65dd-10c6c0d5-dfff-48a7-9a20-3fd925d4848c-000000@eu-central-1.amazonses.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from b224-5.smtp-out.eu-central-1.amazonses.com (b224-5.smtp-out.eu-central-1.amazonses.com. [69.169.224.5]) by mx.google.com with ESMTPS id 5b1f17b1804b1-4abf5a2f666si192911495e9.4.2026.11.02.02.11.49 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 02 Nov 2026 02:11:49 -0800 (PST) Received-SPF: pass (google.com: domain of 010701a19bbe65dd-10c6c0d5-dfff-48a7-9a20-3fd925d4848c-000000@eu-central-1.amazonses.com designates 69.169.224.5 as permitted sender) client-ip=69.169.224.5; Authentication-Results: mx.google.com; dkim=pass header.i=@sashiko.virtuozzo.com header.s=23yjbh4k34hwzfubhuiim7m4inbd3ick header.b="b/geUevI"; dkim=pass header.i=@amazonses.com header.s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh header.b=NXJ0oruB; spf=pass (google.com: domain of 010701a19bbe65dd-10c6c0d5-dfff-48a7-9a20-3fd925d4848c-000000@eu-central-1.amazonses.com designates 69.169.224.5 as permitted sender) smtp.mailfrom=010701a19bbe65dd-10c6c0d5-dfff-48a7-9a20-3fd925d4848c-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=1793614309; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date; bh=wh3ASHdv+wAEAv5EPXAYIIAWY3l1u61RmRmxJeAtxfY=; b=b/geUevISNSFzS+tEZeDzCZ4SJaaWfWfomqWgIsgwqMqaPfTiU0UqhN4ivuJeB55 BcqDU4ewzzZHHhqQiVi9vTlTVqR8uPlFkcjIG3kG3GN1SRWF58e3I36kSM2BlR++4Jy EtDoxzg+9yUbFXfk+BBpWqc9v91icLUDg9kTwszNJ1csWPgN6hNUmV/rxfwA3QRVpfF Wnimg5PevYGSVRKWBdJkXUGKrUAuk54hA/2yM2PubzsKizJ08eisn/ZJeWX8Hl3ohCG 0rf6FnD+3pimSMssSLZC2NC/1VqoBpeWrx1todtRok4/+P3WCBue4Y5ispjEVnmA9AF kPFa91xIvg== DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh; d=amazonses.com; t=1793614309; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date:Feedback-ID; bh=wh3ASHdv+wAEAv5EPXAYIIAWY3l1u61RmRmxJeAtxfY=; b=NXJ0oruBoRYq++PiP7Qy1kKUXrHVgJoMaYEcsdfOWrQUu1wpMRRwq+X+rzTZ7vn0 IdpSWo2KECAr22O5Sy6fB5VLmfsV47JZCoShaioyAPE6RXfIOP4mUZ9LTr7mRK1u96Z A0ALUyfNtPzcqBZuy8RzaJjIDtYmZ6ennX+1XEGM= Message-ID: <010701a19bbe65dd-10c6c0d5-dfff-48a7-9a20-3fd925d4848c-000000@eu-central-1.amazonses.com> From: no-reply@sashiko.virtuozzo.com To: devel@openvz.org, Vladimir Riabchun In-Reply-To: <20261102100432.15867-1-vladimir.riabchun@virtuozzo.com> References: <20261102100432.15867-1-vladimir.riabchun@virtuozzo.com> Date: Mon, 2 Nov 2026 10:11:48 +0000 Feedback-ID: ::1.eu-central-1.2wRQJBpg9g1fGRYexx3dUuYGS25Bux+2TEOx72/m6U4=:AmazonSES X-SES-Outgoing: 2026.11.02-69.169.224.5 X-OZ-Fwd: true X-MIME-Autoconverted: from quoted-printable to 8bit by mail.openvz.org id 6A2ABocG023281 Subject: Re: [Devel] [PATCH RK VZ10] x86/traps: emulate CPUID faults for user tasks in exc_general_protection() 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 MyBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW01lZGl1bV0geDg2L3Zkc286IGNo ZWNrX2NwdWlkX2ZhdWx0KCkgb25seSBtYXRjaGVzIGJhcmUgMGYgYTIgYW5kIGFkZHMgYSBmaXhl ZCAyIHRvIElQCi0gW0xvd10geDg2L3Zkc286IG1pc3NwZWxsZWQgbGFiZWwgdHJ5X2ZpeHVwX2N1 cGlkIGluIGZpeHVwX3Zkc29fZXhjZXB0aW9uKCkKLSBbTG93XSB4ODYvdmRzbzogY2hlY2tfY3B1 aWRfZmF1bHQoKSB1c2VzIGNvbnZlcnRfaXBfdG9fbGluZWFyKCkgYW5kIGEgYmFyZSBnZXRfdXNl cigpCi0tCgpjb21taXQgYzlkMjdiNDk2ZjI2YzU2MjgwZTYyY2ZjMDA5MTRhOTc4ZTIyZjIxZApB dXRob3I6IFZsYWRpbWlyIFJpYWJjaHVuIDx2bGFkaW1pci5yaWFiY2h1bkB2aXJ0dW96em8uY29t PgoKeDg2L3RyYXBzOiBlbXVsYXRlIENQVUlEIGZhdWx0cyBmb3IgdXNlciB0YXNrcyBpbiBleGNf Z2VuZXJhbF9wcm90ZWN0aW9uKCkKClRoaXMgY29tbWl0IGFkZHMgYSBDUFVJRC1mYXVsdCBlbXVs YXRpb24gaGVscGVyIHRvCmFyY2gveDg2L2VudHJ5L3Zkc28vZXh0YWJsZS5jIGFuZCBjYWxscyBp dCBmcm9tIGZpeHVwX3Zkc29fZXhjZXB0aW9uKCkgb24KdGhlIHBhdGggd2hlcmUgbm8gdkRTTyBm aXh1cCBhcHBsaWVzLiBUaGUgYWltIGlzIGZvciBhIHVzZXItbW9kZSAjR1AoMCkKY2F1c2VkIGJ5 IENQVUlEIHRvIGJlIGVtdWxhdGVkIHdpdGggdGhlIGNwdWlkX292ZXJyaWRlIHRhYmxlIGluc3Rl YWQgb2YKZW5kaW5nIGluIFNJR1NFR1YuCgpMaW5rOiBodHRwOi8vbG9yZS52aXJ0dW96em8uY29t LzIwMjYxMDA2LWI0LXByZXAta2hvcmVua28tdnN0b3ItMTQ4NjU2LWp1c3QtY3B1aWQtdjEtMS02 ZjJhMmE2ZGVlZjNAdmlydHVvenpvLmNvbQoKPiBkaWZmIC0tZ2l0IGEvYXJjaC94ODYvZW50cnkv dmRzby9leHRhYmxlLmMgYi9hcmNoL3g4Ni9lbnRyeS92ZHNvL2V4dGFibGUuYwo+IGluZGV4IGFm Y2Y1YjY1YmVlZjcuLmNhOGMxODQ5MjVlYzIgMTAwNjQ0Cj4gLS0tIGEvYXJjaC94ODYvZW50cnkv dmRzby9leHRhYmxlLmMKPiArKysgYi9hcmNoL3g4Ni9lbnRyeS92ZHNvL2V4dGFibGUuYwo+IEBA IC05LDYgKzksMzAgQEAgc3RydWN0IHZkc29fZXhjZXB0aW9uX3RhYmxlX2VudHJ5IHsKPiAgCWlu dCBpbnNuLCBmaXh1cDsKPiAgfTsKPiAgCj4gK3N0YXRpYyBpbnQgY2hlY2tfY3B1aWRfZmF1bHQo c3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKPiArewo+ICsJdW5zaWduZWQg bG9uZyBhZGRyOwo+ICsJdW5zaWduZWQgc2hvcnQgb3Bjb2RlOwo+ICsKPiArCWlmIChlcnJvcl9j b2RlICE9IDApCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJaWYgKHRlc3RfdGhyZWFkX2ZsYWcoVElG X05PQ1BVSUQpKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCWFkZHIgPSBjb252ZXJ0X2lwX3RvX2xp bmVhcihjdXJyZW50LCByZWdzKTsKCltTZXZlcml0eTogTG93XQpDYW4gY29udmVydF9pcF90b19s aW5lYXIoKSBnaXZlIHRoZSB3cm9uZyBhZGRyZXNzIGhlcmU/CgpXaXRoIENPTkZJR19NT0RJRllf TERUX1NZU0NBTEwsIGNvbnZlcnRfaXBfdG9fbGluZWFyKCkgYWRkcwpnZXRfZGVzY19iYXNlKGRl c2MpIGZvciBhbiBMRFQgY29kZSBzZWdtZW50LiBJdCBuZXZlciBjaGVja3MgdGhlIDY0LWJpdCAo TCkKYml0LCBhbmQgaW4gbG9uZyBtb2RlIHRoZSBoYXJkd2FyZSBpZ25vcmVzIHRoYXQgYmFzZS4K CklmIGEgdGFzayBpbnN0YWxscyBhbiBMRFQgY29kZSBzZWdtZW50IHdpdGggYSBub24temVybyBi YXNlIHZpYQptb2RpZnlfbGR0KCkgYW5kIHRha2VzIGEgI0dQKDApLCBnZXRfdXNlcigpIHJlYWRz IHRoZSBvcGNvZGUgZnJvbSBpcCtiYXNlCmluc3RlYWQgb2YgaXAuIFR3byB0aGluZ3MgY2FuIHRo ZW4gaGFwcGVuOgoKLSBBIG5vbi1DUFVJRCBmYXVsdCBpcyB0cmVhdGVkIGFzIENQVUlELiBkb19j cHVpZF9mYXVsdCgpIHJ1bnMgYW5kCiAgcmVncy0+aXAgaXMgYWR2YW5jZWQgYnkgMiwgc28gdGhl IHRhc2sgc3Vydml2ZXMgYSBmYXVsdCB0aGF0IHNob3VsZCBoYXZlCiAgcmFpc2VkIFNJR1NFR1Yu Ci0gQSBnZW51aW5lIENQVUlEIGlzIG1pc3NlZCwgYW5kIHRoZSB0YXNrIGdldHMgU0lHU0VHViBp bnN0ZWFkIG9mIHRoZQogIG92ZXJyaWRlLgoKVGhlIGV4aXN0aW5nIGNoZWNrX2NwdWlkX2ZhdWx0 KCkgaW4gYXJjaC94ODYva2VybmVsL3RyYXBzLmMgdXNlcwppbnNuX2ZldGNoX2Zyb21fdXNlcigp IGFuZCBpbnNuX2RlY29kZV9mcm9tX3JlZ3MoKSwgd2hpY2ggaGFuZGxlIHNlZ21lbnQKYW5kIG1v ZGUgZGV0YWlscy4gQ291bGQgdGhlIG5ldyBoZWxwZXIgdXNlIHRoZSBzYW1lIGFwcHJvYWNoPwoK PiArCWlmIChnZXRfdXNlcihvcGNvZGUsICh1bnNpZ25lZCBzaG9ydCBfX3VzZXIgKilhZGRyKSkK PiArCQlyZXR1cm4gMDsKPiArCj4gKwlpZiAob3Bjb2RlICE9IDB4YTIwZikKPiArCQlyZXR1cm4g MDsKCltTZXZlcml0eTogTWVkaXVtXQpEb2VzIHRoaXMgY2hlY2sgZGVjbGluZSBhIENQVUlEIHRo YXQgaGFzIGEgcHJlZml4PwoKVGhlIGhlbHBlciBhY2NlcHRzIG9ubHkgdGhlIGJhcmUgdHdvLWJ5 dGUgZW5jb2RpbmcgMGYgYTIuIEEgcHJlZml4ZWQKZW5jb2Rpbmcgc3VjaCBhcyA2NiAwZiBhMiwg NDggMGYgYTIgb3IgYSBsZWdhY3kgcHJlZml4IGZhaWxzIHRoZSBjb21wYXJlLAphbmQgY2hlY2tf Y3B1aWRfZmF1bHQoKSByZXR1cm5zIDAuCgpUaGUgdHJhcHMuYyB2ZXJzaW9uIGRlY29kZXMgdGhl IGluc3RydWN0aW9uIGFuZCBjaGVja3MgYm90aCBvcGNvZGUgYnl0ZXM6CgogIGlmIChpbnNuLm9w Y29kZS5ieXRlc1swXSAhPSAweDBmIHx8IGluc24ub3Bjb2RlLmJ5dGVzWzFdICE9IDB4YTIpCiAg ICAgICAgICByZXR1cm4gMDsKICBkb19jcHVpZF9mYXVsdChyZWdzKTsKICByZWdzLT5pcCArPSBp bnNuLmxlbmd0aDsKClRoZSBjb21taXQgbWVzc2FnZSBzYXlzIHRoZSB0cmFwcy5jIGNhbGwgaXMg dW5yZWFjaGFibGUgZm9yIHVzZXItbW9kZSAjR1AKb24gdGhlIGxpdmVwYXRjaCB0YXJnZXQuIElm IHNvLCB0aGlzIGhlbHBlciBpcyB0aGUgb25seSBlbXVsYXRpb24gcGF0aAp0aGVyZS4gQSB0YXNr IHdpdGggVElGX0NQVUlEX09WRVJSSURFIHRoYXQgcnVucyBhIHByZWZpeGVkIENQVUlEIHdvdWxk IHRoZW4KcmVhY2ggZ3BfdXNlcl9mb3JjZV9zaWdfc2VndigpLCB3aGljaCBpcyB0aGUgZmFpbHVy ZSB0aGlzIHBhdGNoIGlzIG1lYW50IHRvCnJlbW92ZS4KCkluIHRoZSB0cmVlIEkgcmV2aWV3ZWQs IGV4Y19nZW5lcmFsX3Byb3RlY3Rpb24oKSBzdGlsbCBjYWxscyB0aGUKZGVjb2Rlci1iYXNlZCBj aGVja19jcHVpZF9mYXVsdCgpIGluc2lkZSB0aGUgdXNlcl9tb2RlKCkgYnJhbmNoIGFmdGVyCmZp eHVwX3Zkc29fZXhjZXB0aW9uKCksIHNvIHByZWZpeGVkIENQVUlEIHdvdWxkIGZhbGwgYmFjayB0 byBpdCB0aGVyZS4KQ29tcGlsZXJzIGFuZCBnbGliYyBub3JtYWxseSBlbWl0IGEgYmFyZSBDUFVJ RCwgc28gdGhpcyBzaG91bGQgYmUgcmFyZS4KCj4gKwo+ICsJZG9fY3B1aWRfZmF1bHQocmVncyk7 Cj4gKwo+ICsJcmVncy0+aXAgKz0gMjsKCltTZXZlcml0eTogTWVkaXVtXQpJcyB0aGUgZml4ZWQg aW5jcmVtZW50IG9mIDIgY29ycmVjdCBmb3IgZXZlcnkgQ1BVSUQgZW5jb2Rpbmc/CgpUaGUgdHJh cHMuYyB2ZXJzaW9uIGFkdmFuY2VzIGlwIGJ5IGluc24ubGVuZ3RoLCBzbyB0aGUgdHdvIGZ1bmN0 aW9ucyBjYW4KZGlzYWdyZWUuIENvdWxkIHRoaXMgaGVscGVyIGRlY29kZSB0aGUgaW5zdHJ1Y3Rp b24gYW5kIHVzZSB0aGUgcmVhbCBsZW5ndGgsCmFzIHRoZSB0cmFwcy5jIGhlbHBlciBkb2VzPwoK PiArCXJldHVybiAxOwo+ICt9Cj4gKwo+ICBib29sIGZpeHVwX3Zkc29fZXhjZXB0aW9uKHN0cnVj dCBwdF9yZWdzICpyZWdzLCBpbnQgdHJhcG5yLAo+ICAJCQkgIHVuc2lnbmVkIGxvbmcgZXJyb3Jf Y29kZSwgdW5zaWduZWQgbG9uZyBmYXVsdF9hZGRyKQo+ICB7CgpbIC4uLiBdCgo+IEBAIC0yNiw3 ICs1MCw3IEBAIGJvb2wgZml4dXBfdmRzb19leGNlcHRpb24oc3RydWN0IHB0X3JlZ3MgKnJlZ3Ms IGludCB0cmFwbnIsCj4gIAkJcmV0dXJuIGZhbHNlOwo+ICAKPiAgCWlmICghY3VycmVudC0+bW0t PmNvbnRleHQudmRzbykKPiAtCQlyZXR1cm4gZmFsc2U7Cj4gKwkJZ290byB0cnlfZml4dXBfY3Vw aWQ7Cj4gIAo+IFsgLi4uIF0KPiArdHJ5X2ZpeHVwX2N1cGlkOgoKW1NldmVyaXR5OiBMb3ddClRo aXMgaXNuJ3QgYSBidWcsIGJ1dCB0aGUgbGFiZWwgaXMgbWlzc3BlbGxlZDogdHJ5X2ZpeHVwX2N1 cGlkIHNob3VsZApwcmVzdW1hYmx5IGJlIHRyeV9maXh1cF9jcHVpZC4KCj4gKwkvKiBPbmx5IGV4 Y19nZW5lcmFsX3Byb3RlY3Rpb24gY2FuIGdvIHRoaXMgd2F5ICovCj4gKwlpZiAodHJhcG5yID09 IFg4Nl9UUkFQX0dQICYmIGNoZWNrX2NwdWlkX2ZhdWx0KHJlZ3MsIGVycm9yX2NvZGUpKQo+ICsJ CXJldHVybiB0cnVlOwoKVGhpcyBpc24ndCBhIGJ1ZywgYnV0IHRoZSBjb21tZW50ICJPbmx5IGV4 Y19nZW5lcmFsX3Byb3RlY3Rpb24gY2FuIGdvCnRoaXMgd2F5IiBkZXNjcmliZXMgYSBjYWxsZXIg Y29udmVudGlvbiB0aGF0IHRoZSBjb2RlIGRvZXNuJ3QgZW5mb3JjZS4gVGhlCm9ubHkgcmVhbCBn YXRlIGlzIHRyYXBuciA9PSBYODZfVFJBUF9HUC4KCj4gKwo+ICAJcmV0dXJuIGZhbHNlOwo+ICB9 CgotLSAKU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9zYXNoaWtvLnZ6aW50LmRldi8jL3Bh dGNoc2V0LzIwMjYxMTAyMTAwNDMyLjE1ODY3LTEtdmxhZGltaXIucmlhYmNodW5AdmlydHVvenpv LmNvbT9wYXJ0PTEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkRldmVsIG1haWxpbmcgbGlzdApEZXZlbEBvcGVudnoub3JnCmh0dHBzOi8vbGlzdHMub3Bl bnZ6Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RldmVsCg==