From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id CE786A0556; Mon, 17 Oct 2022 12:40:18 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B328E4021D; Mon, 17 Oct 2022 12:40:18 +0200 (CEST) Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by mails.dpdk.org (Postfix) with ESMTP id 3682440143 for ; Mon, 17 Oct 2022 12:40:16 +0200 (CEST) Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29HAJF4A009988; Mon, 17 Oct 2022 10:40:15 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=nkJ4d13ChNAzNoEVXAlNZ7U8MUN2IFvG0VHRaZ6N7fQ=; b=HA8b8CneWS4M5GTa1WbbtRrKvlZIiHX45a0RbTNWDGnoLVzd3JsU+JemSXYVCs6a5hia mIqaGjNs7WX7VU4jPSq1DgozNtrhHx1tHj4zROZ7xsA/a6/1rsRTw41Wuwi5OmQxoQjb DiUhYTLUO8x9oNvCkYurTaVIgaEPWH0mM0a4utFmMIOEiolNXPYdIfbpiMA51WWsX6wO d9YeoMm+ZiFCjB7qyJ13nd/ypFGxQMHkKbTkMCawYFhX89MRsTFFEiNqFrOdYvPgLGhC P6MfcB8MdYcFGIlnyyd1ulFHY8OTuK716Eh52WWjfPkuNCZesQgiGDbjm42o9rljQwnm 2g== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3k91ra0nb4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 17 Oct 2022 10:40:15 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 29H8t5gE027547; Mon, 17 Oct 2022 10:40:14 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2049.outbound.protection.outlook.com [104.47.66.49]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3k8hqx4wqk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 17 Oct 2022 10:40:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ysu6/zZ4CYsuJ8Uoq4jxGjJNx1VDQUD4oaFy9pwkayZDMNpJFplDvnLxG68PEPKh4kFG2PyKGBwxXhqHL5glz7XYagds2lXkKjnzthSN6qGynh+pynI0GwQJdg62CSlMpCptiwNUei6MGHbzYRYcgRBvcLWOQylfHx68gfVsb34MGG/3ersWC9O2KfFroVJIc94gN+PvLRRogE69+RbcsvgXYMHIDUfCymaNr5BJ1cCIOzMsa6NHAh7bCYPq/jveTjhiRrNZgi1halsg1Gfv1XhnXmcriBZXE4BARvAAsEqYJvHQwlkY/ZbqqI4tL76aZXMpu19Zf8kLUdGYNcAvkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nkJ4d13ChNAzNoEVXAlNZ7U8MUN2IFvG0VHRaZ6N7fQ=; b=Ie1G77qSJt0y/OImn/FXbz+Yq6EWcxk4/NZ8eFdSXLuVLeWxJyiWgVe6uKa4KNQ9zznv8HZVnVFqwLINe5RLnWBgOOWnypq8LL9/T7R6bXlcTvpY3td0p3CtA6cDWtXeqEePJpZEpk46UigySMSwTHhggjx8tdFkGh1aj7eu66le4FLjYoh60C9KM7O2mPgbaTwTUABdnwhzFnJha4yq9I2E+3iNPuVYeWJJAyUfZAu+KPltvhofebjG302s1EeN/EaGYfdDIdMrm8C+DSm3jgNUqC01nZBwcPm1A9Cn6L9dxx44ElBSnPeu+u2JCxMvX18JUp9KzU+APUXR7wz/9w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nkJ4d13ChNAzNoEVXAlNZ7U8MUN2IFvG0VHRaZ6N7fQ=; b=ROHRgZWLKadHSUWDpBygPvnXEB6TdU7SoGLU9PFTkFYgjFPQpCXYRUJuFWnzzZV8xXL8tAh+28u0WfbZW95/AOghJeJvWr/j/0aKBtgsbTWkqc0SeWDUSk5T5fXciNgOEMZ9zvXQyI2Jb/w515KzTiuN/1rb2HQQ6U+NWhpmPM0= Received: from SN6PR10MB2639.namprd10.prod.outlook.com (2603:10b6:805:40::13) by PH0PR10MB4598.namprd10.prod.outlook.com (2603:10b6:510:34::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.30; Mon, 17 Oct 2022 10:40:12 +0000 Received: from SN6PR10MB2639.namprd10.prod.outlook.com ([fe80::8581:a761:7271:684f]) by SN6PR10MB2639.namprd10.prod.outlook.com ([fe80::8581:a761:7271:684f%7]) with mapi id 15.20.5723.032; Mon, 17 Oct 2022 10:40:12 +0000 From: Madhuker Mythri To: =?utf-8?B?R2HDq3RhbiBSaXZldA==?= , Andrew Rybchenko , Stephen Hemminger CC: Thomas Monjalon , "dev@dpdk.org" , "matan@nvidia.com" Subject: RE: [External] : Re: [dpdk-dev] [PATCH 2/2] net/failsafe: fix primary/secondary mutex Thread-Topic: [External] : Re: [dpdk-dev] [PATCH 2/2] net/failsafe: fix primary/secondary mutex Thread-Index: AQHXXDxyZEntZRLuZk+SvyaYUzl5TasKQTcAgAADqoCAAFHlAIAA3l6AgAgptwCDAc1e4A== Date: Mon, 17 Oct 2022 10:40:12 +0000 Message-ID: References: <20210315192722.35490-1-stephen@networkplumber.org> <20210315192722.35490-3-stephen@networkplumber.org> <6747934.v7ilQdk43l@thomas> <20210608084210.73d05f60@hermes.local> <20210608134824.3181b063@hermes.local> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB2639:EE_|PH0PR10MB4598:EE_ x-ms-office365-filtering-correlation-id: bc0533bb-8f5b-463d-1e23-08dab02bf879 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bciOpQhBwzQroC8FzWreIkrh7yqzdPmvnK1AuY5SD7jdJdsG8sgXdw1xRMkg3WCVy/aVB3ADhk2heIL6s+nN2Qg+dYxhVLos/I7nFug0TVMfatfck3IHbu5c0lgjahj9xI50NCo1EvNihLGSOqTWKKAbDtkjv6ce/bCy0EBLFHtRstnc5o5/mt/LWmpC+ISblvtOtHyL8O8yRREqbr4MKIATqOt5N4XeDgOJgqDW/JBYl0hkd5EbkPbmtfGWsccjlEkRFw8rKSPpmduT4D1SMKc9/9Sebv4iJK0iUlDro+/avs/Oedj6rGldI/QK1Ghh7+JOY7KuX3KsGhx5qvubwZFmbZDBhz1ItVkg/0vQMtpXLBBxxRuAMapqQuX8flLWeQufnzv4PAhR59pZT+iJV+2m9xIsx3mOx3Ji4zGl9r9qNeDsqdn17GbwNa1yOAiLcDgTcoe5Jdi0gU25Is6y7aj6GPxrD41CznorCKyoczd7Ct6glfNLQWpCn35AOpW0/tzDdZz9UsNa7iHKbS3oXB7XQfeAS/hcc5VyME8XfA6GXQIRXNP4DQ9S9O1ft8tdj96s+BqSzDS6sjkkStwd9Ot/n4THYqMhe7jkIDkkKRtAJcAVOyWeWVVHdFoQzOay4I1jjSugsbUnIfgAUduRL99NnX8bW7KtIQ0Gvfv7vu03u/K7DScAxXjm0ydN8jHbOTin84WdcbxFVsZ245iVD8ZWWNuLW8q9rf5oj7K5GDV1Par8cfOwMFUiSgDTW+xxpUdyWbo4di1zjAKxsBAcww== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR10MB2639.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(396003)(136003)(366004)(346002)(39860400002)(376002)(451199015)(5660300002)(54906003)(316002)(76116006)(66946007)(110136005)(64756008)(66446008)(66476007)(4326008)(8676002)(53546011)(9686003)(26005)(7696005)(6506007)(41300700001)(44832011)(8936002)(2906002)(52536014)(66556008)(71200400001)(186003)(83380400001)(38070700005)(122000001)(38100700002)(478600001)(86362001)(55016003)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UWVXY0draWIzbnlGQm9YcFd2M2dwRzBiL2RWMlkvdzdtOGozZ0xKYm9raVZa?= =?utf-8?B?cWNtM2RDOVd2QmtIbW0vekdvL0tXQXFySDZDSHd2RnpsOGVoUFc3S0ZyNXNY?= =?utf-8?B?TlQ4NDJwUkJkRGJ6TXhuQnY0bkhqUTR5ckxndDRKRUJiZGswRW1hMlNBTTAv?= =?utf-8?B?Q2d2cjgzUjNHaitCVytaaXRuQnYvVDFWb0VHaHpKKzNUMWVmRm56bG1pM3V0?= =?utf-8?B?OU80WXdDUjcrbXVKdTczZ0JQSStKRktjb0NockxoRUwrQ0ZBdWpMNmN2NVRy?= =?utf-8?B?dkJKUGR6TVJuSVRCcUlDdVBlWGJpY091ZmFMY001cyttbDJ3SENnY01hdzNx?= =?utf-8?B?WDhJVEh3K0JteWpzK2Zibzg0Z2ZyT2NBUHlEODNGSEdkaGhOUUpEZW1mN1VY?= =?utf-8?B?M2hCOVFOdkYvK1F4NE1jeWZQcGhCQ1ppai93TlpFV0JmUW5PMzVETmV1MnBK?= =?utf-8?B?L3g2MFI5R2RYUUNGUUJHNWkxamxDeW83MTVzN01EejRlZFN1bGJYNHcraG5h?= =?utf-8?B?U1lyWXQwbGwyc2xDSzh2RGpNaW1tVGczcm85SmpFRmVJeFFlRm5RaWZ2ZFZa?= =?utf-8?B?NHNhQkQxeDRWU1ZUU2gyeTcwYWZobDRuSHVrNWVBck1rZHR6ckVvM2owMG9o?= =?utf-8?B?V25JQ2x5RlIzRGgrYVpsUzNwNlB4VVg0eUdFVXozOCtiQXhIOE81OTFwdUIy?= =?utf-8?B?SUFEM0N5anZ4c3pnZDA2dkVpRU5wS2lYdkpYNUhTK0VQNWYvUUlGTmZwMHps?= =?utf-8?B?dGwwaStpY2xSWmlJK3k0dHBrRk5DM3lDRTZVZms2cHJqTitKam1ZUEVRRTRO?= =?utf-8?B?SWE0eGJmUUk4QkF3aEFjN0thRGhPM2Y0dE9hd01rdytCN2c2ZTk4MU9ncm5a?= =?utf-8?B?RE0yZ3pQb1NZZkt6bEhJZjZOTVdJUzlpa05oRTlPek1nK2VyNytNRlJIQkNt?= =?utf-8?B?cDZzM0NBSHUzQVpndlBUNkhRcUhFY2RvZXdpVlBSRkxKREdVVXBVQmJHaFVX?= =?utf-8?B?a1g2amE0ZmRpWlF1N1MwOTFEV1hjVmJicWVJakZHMVVVVXRYQmswK3VIeEFq?= =?utf-8?B?Nnp3VFJCeXJJaXlGbUFhMlVVOExxV3RkYkVWb0YrbVlEa0hiYTVGdXdIcXRY?= =?utf-8?B?L1EzNGd1eEZjNSttNUk4dVM4NGR2eHRoek1QNDFDUWFUUm1MZzN0cnN1bUJi?= =?utf-8?B?WUFleFJQM0hXbGRhbXk2RlBqMGxYbFM1UndpdCtVbVFGb1JFaDMwYmtEaUhS?= =?utf-8?B?ZWdzblBXSkdCakhabFYrc05vTE5FT1VTWHhtK0hqKzk4RGx3NWZxemVFdXA5?= =?utf-8?B?OWU4VElzdnhmdVhVSnNJU0U3Q2l4VnBXUG1mWFIzaWlyWEs3eUJGZDJkRFNx?= =?utf-8?B?WXozY2dETDlZdThLZzJmaSt0aFkzMlpEQXo0ZC80UVJySThKS2hQQmkwTXJm?= =?utf-8?B?Ly9WcjBpbzR2VnhxSFNJSDFvZU9HNlpyQU93VmZxUU1rUDlucWJ0dDNndzN4?= =?utf-8?B?REdGbWxHa0FLaVlkVnp0UjEvbUYxc0hQeFRkZTI0Q1ZqQkRVUm9GemFzcTdW?= =?utf-8?B?SW9uZXIrbkN1bjdwSlNYVUdlcmJaSVZLTFVKSjlMc0J1TGxBVHRLUndCM2hT?= =?utf-8?B?RWtxZTNuVlV3TEtrb0oxWlE1OXVjaVptMUNxWEN5K2o3S2tjT3dYUm9XeDRa?= =?utf-8?B?TFlGY2VWY1FPY2dqemh6RjA3alk4a2NJVEozRVVXQWZmRi8vV043K3UreVo0?= =?utf-8?B?NW9rek9IRmNsODVoa0djalVPenJyNU9VelNCbm5uYTJDaHZ3K3E4eHErWklr?= =?utf-8?B?M3dmU09PdlROcnRadkdxU2R0WlRjZkZSTGJTeUQyamZvcCs3d2UrT29ROFY5?= =?utf-8?B?ZXJhM3drM3lJcGZyb3JyOThKaTRpK0lwTCtrMHRrM2gxbWoyUVlPYi82Wmpx?= =?utf-8?B?cFFaOHJiS1lYdGNQb0srS0dJUVIvWnBNZi9VRE1MdlpnTjVnL0FEVXRvZjFy?= =?utf-8?B?SHFrUWJjZUF6T3lNbjlIMFU3RkFkRFF5Z3N2QUl5bG9TQlhqdFhxOTRuYllM?= =?utf-8?B?TTZNT0lPc3dpdllYK3VRbGp2YmFybUx2aVZMQ3JHaXhmZE5FNXVJc1dTK3RU?= =?utf-8?B?T1JJVzdMQjgwWjIrZC80SXE5SmZWaUJ1Q0tZTGdqRU9BRWZ6SmhldjVEYllm?= =?utf-8?B?TXc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB2639.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bc0533bb-8f5b-463d-1e23-08dab02bf879 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Oct 2022 10:40:12.4490 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: qA0hy2DV1WF9El1dLyzJqgjmE9z5kYu4HEsPbWoAM04pYY4Q2etq+SKP2KVxfUFFYU0DDQ4ygXkbKf1eGJSPFt3kTPmpQkGJvJZhIXtrTwY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4598 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-17_08,2022-10-17_02,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 adultscore=0 bulkscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210170062 X-Proofpoint-GUID: LjzGJSDjYdXVT5hOcncH_uo9p6QHGAd5 X-Proofpoint-ORIG-GUID: LjzGJSDjYdXVT5hOcncH_uo9p6QHGAd5 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org DQo+IE9uIFdlZCwgSnVuIDksIDIwMjEsIGF0IDEyOjA0LCBBbmRyZXcgUnliY2hlbmtvIHdyb3Rl Og0KPj4gT24gNi84LzIxIDExOjQ4IFBNLCBTdGVwaGVuIEhlbW1pbmdlciB3cm90ZToNCj4+ID4g T24gVHVlLCA4IEp1biAyMDIxIDE4OjU1OjE3ICswMzAwDQo+PiA+IEFuZHJldyBSeWJjaGVua28g PGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1PiB3cm90ZToNCj4+ID4gDQo+PiA+PiBPbiA2 LzgvMjEgNjo0MiBQTSwgU3RlcGhlbiBIZW1taW5nZXIgd3JvdGU6DQo+ID4+PiBPbiBUdWUsIDgg SnVuIDIwMjEgMTE6MDA6MzcgKzAzMDANCj4gPj4+IEFuZHJldyBSeWJjaGVua28gPGFuZHJldy5y eWJjaGVua29Ab2t0ZXRsYWJzLnJ1PiB3cm90ZToNCj4gPj4+ICAgDQo+ID4+Pj4gT24gNC8xOS8y MSA4OjA4IFBNLCBUaG9tYXMgTW9uamFsb24gd3JvdGU6ICANCj4gPj4+Pj4gQWJvdXQgdGhlIHRp dGxlLCBiZXR0ZXIgdG8gc3BlYWsgYWJvdXQgbXVsdGktcHJvY2VzcywgaXQgaXMgbGVzcyANCj4g Pj4+Pj4gY29uZnVzaW5nIHRoYW4gcHJpbWFyeS9zZWNvbmRhcnkuDQo+ID4+Pj4+DQo+ID4+Pj4+ IDE1LzAzLzIwMjEgMjA6MjcsIFN0ZXBoZW4gSGVtbWluZ2VyOiAgICANCj4gPj4+Pj4+IFNldCBt dXRleCB1c2VkIGluIGZhaWxzYWZlIGRyaXZlciB0byBwcm90ZWN0IHdoZW4gdXNlZCBieSBib3Ro IA0KPiA+Pj4+Pj4gcHJpbWFyeSBhbmQgc2Vjb25kYXJ5IHByb2Nlc3MuIFdpdGhvdXQgdGhpcyBm aXgsIHRoZSBmYWlsc2FmZSANCj4gPj4+Pj4+IGxvY2sgaXMgbm90IHJlYWxseSBsb2NraW5nIHdo ZW4gdGhlcmUgYXJlIG11bHRpcGxlIHNlY29uZGFyeSBwcm9jZXNzZXMuDQo+ID4+Pj4+Pg0KPiA+ Pj4+Pj4gQnVnemlsbGEgSUQ6IDY2Mg0KPiA+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogU3RlcGhlbiBI ZW1taW5nZXIgPHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPg0KPiA+Pj4+Pj4gRml4ZXM6IDY1 NWZjZDY4YzdkMiAoIm5ldC9mYWlsc2FmZTogZml4IGhvdHBsdWcgcmFjZXMiKQ0KPiA+Pj4+Pj4g Q2M6IG1hdGFuQG1lbGxhbm94LmNvbSAgICANCj4gPj4+Pj4NCj4gPj4+Pj4gVGhlIGNvcnJlY3Qg b3JkZXIgZm9yIGFib3ZlIGxpbmVzIGlzOg0KPiA+Pj4+Pg0KPiA+Pj4+PiBCdWd6aWxsYSBJRDog NjYyDQo+ID4+Pj4+IEZpeGVzOiA2NTVmY2Q2OGM3ZDIgKCJuZXQvZmFpbHNhZmU6IGZpeCBob3Rw bHVnIHJhY2VzIikNCj4gPj4+Pj4NCj4gPj4+Pj4gU2lnbmVkLW9mZi1ieTogU3RlcGhlbiBIZW1t aW5nZXIgPHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPg0KPiA+Pj4+PiAgICAgDQo+ID4+Pj4+ PiAtLS0NCj4gPiA+Pj4+Pj4gLS0tIGEvZHJpdmVycy9uZXQvZmFpbHNhZmUvZmFpbHNhZmUuYw0K PiA+ID4+Pj4+PiArKysgYi9kcml2ZXJzL25ldC9mYWlsc2FmZS9mYWlsc2FmZS5jDQo+ID4+Pj4+ PiBAQCAtMTQwLDYgKzE0MCwxMSBAQCBmc19tdXRleF9pbml0KHN0cnVjdCBmc19wcml2ICpwcml2 KQ0KPiA+ID4+Pj4+PiAgCQlFUlJPUigiQ2Fubm90IGluaXRpYXRlIG11dGV4IGF0dHJpYnV0ZXMg LSAlcyIsIHN0cmVycm9yKHJldCkpOw0KPiA+ID4+Pj4+PiAgCQlyZXR1cm4gcmV0Ow0KPiA+Pj4+ Pj4gIAl9DQo+ID4gPj4+Pj4+ICsJLyogQWxsb3cgbXV0ZXggdG8gcHJvdGVjdCBwcmltYXJ5L3Nl Y29uZGFyeSAqLw0KPiA+ID4+Pj4+PiArCXJldCA9IHB0aHJlYWRfbXV0ZXhhdHRyX3NldHBzaGFy ZWQoJmF0dHIsIFBUSFJFQURfUFJPQ0VTU19TSEFSRUQpOw0KPiA+ID4+Pj4+PiArCWlmIChyZXQp DQo+ID4gPj4+Pj4+ICsJCUVSUk9SKCJDYW5ub3Qgc2V0IG11dGV4IHNoYXJlZCAtICVzIiwgc3Ry ZXJyb3IocmV0KSk7ICAgIA0KPiA+Pj4+Pg0KPiA+ID4+Pj4+IFdoeSBub3QgcmV0dXJuaW5nIGFu IGVycm9yIGhlcmU/ICAgIA0KPiA+Pj4+DQo+ID4gPj4+PiArMQ0KPiA+Pj4+DQo+ID4gPj4+PiBJ IHRoaW5rIGl0IHdvdWxkIGJlIHNhZmVyIHRvIHJldHVybiBhbiBlcnJvciBoZXJlLiAgDQo+ID4+ Pg0KPiA+ID4+PiBPayBidXQgaXQgbmV2ZXIgaGFwcGVucy4NCj4gPj4+ICAgDQo+ID4+DQo+ID4g Pj4gTWF5IEkgYXNrIHdoeT8gJ21hbiBwdGhyZWFkX211dGV4YXR0cl9zZXRwc2hhcmVkJyBzYXlz IHRoYXQgaXQgaXMgDQo+ID4gPj4gcG9zc2libGUuDQo+ID4+DQo+ID4gDQo+ID4gPiBUaGUgZ2xp YmMgaW1wbGVtZW50YXRpb24gb2YgcHRocmVhZF9tdXRleGF0dHJfc2V0cHNoYXJlZCBpczoNCj4g PiANCj4gPiANCj4gPiA+IGludA0KPiA+ID4gcHRocmVhZF9tdXRleGF0dHJfc2V0cHNoYXJlZCAo cHRocmVhZF9tdXRleGF0dHJfdCAqYXR0ciwgaW50IA0KPiA+ID4gcHNoYXJlZCkgew0KPiA+ID4g ICBzdHJ1Y3QgcHRocmVhZF9tdXRleGF0dHIgKmlhdHRyOw0KPiA+IA0KPiA+ID4gICBpbnQgZXJy ID0gZnV0ZXhfc3VwcG9ydHNfcHNoYXJlZCAocHNoYXJlZCk7DQo+ID4gPiAgIGlmIChlcnIgIT0g MCkNCj4gPiA+ICAgICByZXR1cm4gZXJyOw0KPiA+ID4gDQo+ID4gPiAgIGlhdHRyID0gKHN0cnVj dCBwdGhyZWFkX211dGV4YXR0ciAqKSBhdHRyOw0KPiA+ID4gDQo+ID4gPiAgIGlmIChwc2hhcmVk ID09IFBUSFJFQURfUFJPQ0VTU19QUklWQVRFKQ0KPiA+ID4gICAgIGlhdHRyLT5tdXRleGtpbmQg Jj0gflBUSFJFQURfTVVURVhBVFRSX0ZMQUdfUFNIQVJFRDsNCj4gPiA+ICAgZWxzZQ0KPiA+ID4g ICAgIGlhdHRyLT5tdXRleGtpbmQgfD0gUFRIUkVBRF9NVVRFWEFUVFJfRkxBR19QU0hBUkVEOw0K PiA+ID4gDQo+ID4gPiAgIHJldHVybiAwOw0KPiA+ID4gfQ0KPiA+ID4gDQo+ID4gPiBBbmQNCj4g PiA+IA0KPiA+ID4gLyogRlVURVhfU0hBUkVEIGlzIGFsd2F5cyBzdXBwb3J0ZWQgYnkgdGhlIExp bnV4IGtlcm5lbC4gICovIHN0YXRpYyANCj4gPiA+IF9fYWx3YXlzX2lubGluZSBpbnQgZnV0ZXhf c3VwcG9ydHNfcHNoYXJlZCAoaW50IHBzaGFyZWQpIHsNCj4gPiA+ICAgaWYgKF9fZ2xpYmNfbGlr ZWx5IChwc2hhcmVkID09IFBUSFJFQURfUFJPQ0VTU19QUklWQVRFKSkNCj4gPiA+ICAgICByZXR1 cm4gMDsNCj4gPiA+ICAgZWxzZSBpZiAocHNoYXJlZCA9PSBQVEhSRUFEX1BST0NFU1NfU0hBUkVE KQ0KPiA+ID4gICAgIHJldHVybiAwOw0KPiA+ID4gICBlbHNlDQo+ID4gPiAgICAgcmV0dXJuIEVJ TlZBTDsNCj4gPiB9DQo+ID4gPiANCj4gPiANCj4gPiA+IFRoZXJlIGZvciB0aGUgY29kZSBhcyB3 cml0dGVuIGNhbiBub3QgcmV0dXJuIGFuIGVycm9yLg0KPiA+ID4gVGhlIGNoZWNrIHdhcyBvbmx5 IGJlY2F1c2Ugc29tZW9uZSBjb3VsZCByZXBvcnQgYSBib2d1cyBpc3N1ZSBmcm9tIGEgDQo+ID4g PiBicm9rZW4gYyBsaWJyYXJ5Lg0KPiA+ID4gDQo+ID4gDQo+ID4gTWFueSB0aGFua3MgZm9yIGRl dGFpbGVkIGRlc2NyaXB0aW9uLg0KPiA+IEkgdGhvdWdodCB0aGF0IGl0IGlzIGJldHRlciB0byBm b2xsb3cgQVBJIGRlZmluaXRpb24gYW5kIGl0IGlzIG5vdCANCj4gPiB0aGF0IGhhcmQgdG8gY2hl Y2sgcmV0dXJuIGNvZGUgYW5kIGhhbmRsZSBpdC4gWWVzLCBnbGliYyBpcyBub3QgdGhlIA0KPiA+ IG9ubHkgQyBsaWJyYXJ5Lg0KPiA+IA0KPg0KPiBPbiBwcmluY2lwbGUgdGhlIEFQSSBzcGVjIHNo b3VsZCBiZSByZXNwZWN0ZWQgd2l0aG91dCBhc3N1bWluZyBhIHNwZWNpZmljIGltcGxlbWVudGF0 aW9uLg0KPg0KPiBBbm90aGVyIHdheSB0byB0aGluayBhYm91dCBpdCBpcyB0aGF0IGEgZnV0dXJl IGRldiBoYXZpbmcgemVybyBrbm93bGVkZ2Ugb2YgdGhpcyB0aHJlYWQsIHJlYWRpbmcgdGhpcyBj b2RlIGFuZCBjaGVja2luZyB0aGUgUE9TSVggbWFudWFsLCB3aWxsIGFsc28gbmVlZCB0byBjaGVj ayB0aGF0IHVzdWFsIGMgbGliIGltcGxlbWVudGF0aW9ucyBhcmUgdW5saWtlbHkgPiB0byBnZW5l cmF0ZSBhbiBlcnJvciBiZWZvcmUgY29uY2x1ZGluZyB0aGF0IHRoaXMgY29kZSBpcyBhbHJpZ2h0 LiBJdCBzaG91bGQgbm90IGJlIG5lY2Vzc2FyeS4NCj4NCiANCldlIGFyZSBhbHNvIGZhY2luZyBz aW1pbGFyIGlzc3VlLCB3aGlsZSBwcm9iZSBvZiBmYWlsLXNhZmUgUE1EIGIvdyBtdWx0aS1wcm9j ZXNzLg0KcnRlX2V0aF9kZXZfYXR0YWNoX3NlY29uZGFyeSgpLCBBUEkgcmV0dXJuJ3MgZXJyb3Is IHdoaWxlIHByb2JpbmcgZnJvbSBzZWNvbmRhcnkgcHJvY2VzcyBpbiBydGVfcG1kX3RhcF9wcm9i ZSgpLg0KU28sIGNhbiB5b3UgcGxlYXNlIGxldCB1cyBrbm93LCBpZiBhbnkgZml4IGF2YWlsYWJs ZSBvbiBzdWNoIGlzc3VlID8NCg0KVGhhbmtzLA0KTWFkaHVrZXIuDQo=