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 02C1842B78; Tue, 23 May 2023 03:45:31 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C968640EE5; Tue, 23 May 2023 03:45:30 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 9E00F40A80; Tue, 23 May 2023 03:45:28 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1684806329; x=1716342329; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=vFtxHdIKZkrYzBI4hDB29FsWeZ9+9O+pDWGB2he2eEM=; b=Lpx5aeLRDMdFBBDkzGnoKIX8dWYv4zYn7V7aGXPEUeiBcDE6umcag75j 37tawmFvm8batClS9ewNceiPB0XjP7P1wqoJcxMtGuIOB0UPLKQMvOUoK pKfRVWvVsfrSS0ehyzar+Wq5OyVL3zHxd5CdsfRkeVip1v/1cJwe5xXZp XPg57whr4U0nuy9DqkKUzX0oC6KlaFoQ61AbDYY9jxgMM98d1F/SXbvkE C3JKbtWnV0wKJ2vGYnPbKWUmBSsQrjR/razBBrX2OLUUg2Chw533soNll 82slW1fSfmBUqsk13VE9BPoCzivgvzvgERds3Fwn67e6k3fqQLKWnfAOr Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10718"; a="333459006" X-IronPort-AV: E=Sophos;i="6.00,184,1681196400"; d="scan'208";a="333459006" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 May 2023 18:45:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10718"; a="827910002" X-IronPort-AV: E=Sophos;i="6.00,184,1681196400"; d="scan'208";a="827910002" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga004.jf.intel.com with ESMTP; 22 May 2023 18:45:26 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Mon, 22 May 2023 18:45:26 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Mon, 22 May 2023 18:45:26 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Mon, 22 May 2023 18:45:26 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.43) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Mon, 22 May 2023 18:45:26 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gx9DYoz3H8L1mS1RgnHCNR51wmRnoKjy0Jwbxc2cV6g4jSnBSs0jbykxQ38xzKnIDZjrjBPd5XKJcC/xN23x7L9itWlVly5biihmTF4w/NZH4WDQ447TiQNn0yhdQ2qG+CeQu7vRyi9eRdEQF759OoTBBLHH5xtppHmQa+eT1tze/xoXTrx/DmlaoMTXOxFYQxZhjhIJsSSLO8F58Hz72TIMaWwbugrEr5JuUeiGch3m9rudNhDBI1etxoEEsKiB/Lbt+i2pjyem4zJjlxLh9CJbThLG3o+FSffPdyq1DkWcoVE3toBi1NirTbnfyidZ1YuUXF14ysyDL90kC2YsZA== 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=vFtxHdIKZkrYzBI4hDB29FsWeZ9+9O+pDWGB2he2eEM=; b=Uny1MyVY7OR2pSOnADw3khMY/tqxx0yaxp72YqHQS6kzdRf7oNwV1pEMH9TTE2V0CltV6PByGTxa2m/nZ9xtVVTZMOK31zSX1DqHgUEki22brb1FUSv24u/6W0jwqgI3yWsz9OMJk+jtD7DaTFw9G7ou1kdYUycR1tyZi7b1kXoVWXdYOGxjehc31W6bQqtAGvFBTHqPS902+0iCSQUrEr9C+IHo/DqoXBWyGvvBBrEm5oxbnvESRy2Ol3agdc1x5xlCaIK4GCSnBY4BGjkyZWkeXyFC9XdHS/cltSSDX+o5NlClumq9nKS01BXYzh1wI38gOjytXF0PIQkonDfalQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BYAPR11MB2903.namprd11.prod.outlook.com (2603:10b6:a03:89::31) by DS0PR11MB7530.namprd11.prod.outlook.com (2603:10b6:8:146::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.28; Tue, 23 May 2023 01:45:23 +0000 Received: from BYAPR11MB2903.namprd11.prod.outlook.com ([fe80::4ec3:dc54:4d8e:3d42]) by BYAPR11MB2903.namprd11.prod.outlook.com ([fe80::4ec3:dc54:4d8e:3d42%7]) with mapi id 15.20.6411.021; Tue, 23 May 2023 01:45:23 +0000 From: "Deng, KaiwenX" To: Ferruh Yigit , "dev@dpdk.org" CC: "stable@dpdk.org" , "Yang, Qiming" , "Zhou, YidingX" , "Chas Williams" , "Min Hu (Connor)" , "Wu, Jingjing" , "Xing, Beilei" , Mike Pattrick , "Zhang, Qi Z" , "Doherty, Declan" , "Mrzyglod, Daniel T" , Dapeng Yu , "Zhang, Helin" , "Mcnamara, John" , Thomas Monjalon Subject: RE: [PATCH v3] net/iavf: fix iavf query stats in intr thread Thread-Topic: [PATCH v3] net/iavf: fix iavf query stats in intr thread Thread-Index: AQHZXJQHR5SkzTBC30aFA7rxtJ2YFa8IghcAgAWdr2CAAHdFgIAAAaaAgDyg8CCAHDwfoA== Date: Tue, 23 May 2023 01:45:23 +0000 Message-ID: References: <20230307025533.1950861-1-kaiwenx.deng@intel.com> <20230322072615.179196-1-kaiwenx.deng@intel.com> <0f1ae3b9-f378-9a75-65f7-fcd6e2630414@amd.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR11MB2903:EE_|DS0PR11MB7530:EE_ x-ms-office365-filtering-correlation-id: 07b5198d-be78-4a72-9baa-08db5b2f5fe4 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uaKmbz/KC8CK+dHC6fbC/n2NMiBYQjOWAu3xxCepUSeHODS10qSY3IH3uaFsZZp4UAqfBiWxtJoBgvsXXfWz7mrl+v/giHZkFDO1fu30N8boHGESjt39KImLYfVSmJV4Q/2gBKi0uDCdDyiAHtNyBNY65Q2i6EElxVt8d7dWumEm701rW48NN/gkaI5rAubGzhQNZraDTo/t3jS5pazGQ8iYhnnh4ZGcYmd8Y6BiG7CE7Ni4kkzGidxxtHeYMD9426MO1S+xhz19WG0c+7U+XKrKVcNGJ/BUVURFsC5ahV7OM42L/3QuJsgH/j/LmaTswR8XxQoaF96KB78rWWmObw59e4AdLfmF6B6vfp7ykzqkpErjaO/a5GDgvvuPbrFwXG3lEbDK91ic0TbJTxXQI1L1Ix89gP3LaIKae3ofytE87XpKaHpK73N/mAzbWOwMcB7kfRIiBXOBGE+Pn/FWInSocLKp9Ghl13jHE6t3CfJXnFm1FLURdsIPirzV/50ZAwW727VlfUaRWmr19WNiT9TzY0Poyq3lXche0XDOb0n+ckRwGsFjTYFg+oO5TuVNUL8kKreUpwhNO7qxbK1TvvGzNgoNtqE3AZd2fqjIxUSbSJMkET9MDYWRxsCD987B x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB2903.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(136003)(396003)(346002)(366004)(39860400002)(376002)(451199021)(8676002)(8936002)(5660300002)(52536014)(83380400001)(186003)(9686003)(53546011)(6506007)(86362001)(26005)(122000001)(82960400001)(38070700005)(38100700002)(55016003)(76116006)(41300700001)(66446008)(71200400001)(478600001)(7696005)(33656002)(4326008)(66946007)(64756008)(66556008)(66476007)(316002)(54906003)(110136005)(2906002)(30864003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dUc0MmhydG1XRTZuRDZHcmhLVmgrZ1ptaXNsenJ4bjZoSkQrTEtGeXJCdHpo?= =?utf-8?B?cWJKOWZJdHprYmQyM3FwcG5QY0I5Wk1oaktEeFJsK2lVWXZmS1NZSjlkQkYy?= =?utf-8?B?cTd6T2ZubVpZOXZxQVl2WWhFMjhEekJQOS9BT3YrMFpZVmRyZlV6WnZvS3lD?= =?utf-8?B?SmFGVGxsbHBYYVQ2T3F4VFBZVGxkQ0IxYkpndGpyRTJ3WmZ0R1V0bi9FVUFS?= =?utf-8?B?RG5PL1h6akFxTUkvR0dlbVpCZ0lJRjYzelBpQ2tUVmxGaXRzaitFOGF1Q2R0?= =?utf-8?B?R0xoWWJjTkxwalFvSUNsRGcybVdwU1oxcGhaVkUxMHU0c3Y0b25HcFllTkhq?= =?utf-8?B?QnRMN2t2YUE5a1pWdHl6OHhJT3hmV1MySHdCaTdnTGNMNUUwRVY1dUlhdFZr?= =?utf-8?B?TzFxOTVvYWhDK0t6YVhNOHZrQ3EvREw5SWVWcitEWlFHL2wyankrNnl2Z3Av?= =?utf-8?B?UnJXdG9ydnJYNTlRZXFKNjJEZ1U5VU5keUdkbURPY2JuOTZLa1JLYkYyY3Nw?= =?utf-8?B?cTFrcDY1Zlc1bS8renU0a1RSRWRUeUY1a0NxdlhFbEFVSE1GZWlVODhkejJj?= =?utf-8?B?eCt5K084cm0zbmZyNGxzZk9lcEZwNzJPYm44dHorT252K3dwOGxvWitGbVZT?= =?utf-8?B?WFNSa3A0blNPamsybFE4emEyVzJiQXRYdStRL2YvYzBYTEp4ZzQvQmxpM0Rr?= =?utf-8?B?aHJJak1WMjZCYzRwUlNxWnowaXhrZDE0VFRKcjhPeXpuNHVvV2tzdHRlMm9a?= =?utf-8?B?eFIrNExBYkc5dGIrWmFZUUdab3Q3NUZSaVN3VUpMdE1RU0VKNVJZWVhXcGxV?= =?utf-8?B?c3Y5YVp5c0JLVzFRUi9yU3hTVlRqVG5zN1ViK0d1QW4wRU03NW9PZkdoQ2M2?= =?utf-8?B?VU1mYk04RkZOZldIdThCcUNVQm1qdXZERStjb2hwdVh4Mk9tRG1yc2RMSWN6?= =?utf-8?B?ekQyZ2laTWRnNEtjaVF4eXRGNW1aTUZlZ2RNWFdUbzBDT1RNNnM2ZG9xUU9z?= =?utf-8?B?NEtoMXlrVEozVk9WN0ZweURQbnl4T1ZnSnFXSE5BSm1iK0ZuT2JzZGZYZ3Er?= =?utf-8?B?ZTI3T0kvRW0zb3VOMGtyVmN2a21FaFRTSU1VL3VnY2xBYmphTU1aVmhvRnJC?= =?utf-8?B?ZFdHOUJGVGgxdzZKWkU5bEd5V1ZScGZjeHJ5b2NwckRaVjgwMk0rbzFJTk10?= =?utf-8?B?TUswRjU4SjdFenljSTRhdHJlRXdZRk1TRkZkSFI4QnVvR2pidzVreUYyeHV4?= =?utf-8?B?YXNrbU50R2w0MW9BbERNRGJrSU1iRzRZTFlWd2toWllzWGpXNTlzMGJhcm93?= =?utf-8?B?bnpaWlUzNUgwY2I0V0l3T09SSVFqR0lIcDZtUFVlbEsxWFlJWUxOeDZ5dmVE?= =?utf-8?B?WU5nS1NEd2sxbFFGemVyVjBCZjBCdDVDdVl6M3BlRTl1ZEVPem4zSmZRL21X?= =?utf-8?B?YmRHc05JN294dzRWRm8rbnFqSEtNTGc5aUNwaWhFeUpuc2cycTVsWVQvMjJW?= =?utf-8?B?em1aVkhFQ3A2RXZhaFVjendYcVN0T1Z1bjVNN2NQQWlPei9MNElMcUl3bG5F?= =?utf-8?B?NTJTMFVxY0t0S2tKVC8yMlpZdGRiZ1U5VGV4QWw4bi8rTHY0Y0dtK3ZnY2s2?= =?utf-8?B?NSttVnF2V09BYXV2dmpnWUVubXBRVDRwWnExajdoMXhxSS9zVVJ4NUQ2djU3?= =?utf-8?B?N0plSC9KcE1Ed1lyOTJOU0FCVW5sRXRvQ2dtVGhXVm9ETlcxaWhMMHg4eGF6?= =?utf-8?B?SW1oQmhURmpuVVRjSklQVXdqTGZmNi9nQkdvM2t4MzU2aENMUzBEdXpCTSs2?= =?utf-8?B?L0diMWFqcXhiaTB0TTNGcm83RmpWQkovM0MydE9XdFppSUp6TE9yOStGc1NC?= =?utf-8?B?RDRTaDZycWhxNTQySUl1YmMwZzZrREtYUko0K2ZqYlZwWDJ3bEhFOVUzVGFs?= =?utf-8?B?WHNycUd3ZkJpZTMxdXNFMEJoNkhMRjY1SWYwTkZGVm1mN0wyUkIrMmJoQlRo?= =?utf-8?B?WmRvRFlOQ25peG5DMFc3Qmt2RHRyMnZFY3FwVERDUi9tVWZ2YnBQRWhyWS9Z?= =?utf-8?B?S0lQZncyMHhjTmFnTDhjNmFQS1VaSVhyeHBaL0ZhR0NuVS9BalRmakxxelNy?= =?utf-8?Q?1f6Kt18tnfT79tkVZRmal0Aat?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB2903.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 07b5198d-be78-4a72-9baa-08db5b2f5fe4 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 May 2023 01:45:23.3068 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 8mMogE5yPoTS3VjAhWSjEY+X86HMhk+Urz9gnBz4eLL53ATDIyDKv6/hptg8dJOQdRLFhZfvV6o6KbV5OXLAwA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB7530 X-OriginatorOrg: intel.com 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRGVuZywgS2Fpd2VuWA0K PiBTZW50OiBGcmlkYXksIE1heSA1LCAyMDIzIDEwOjMxIEFNDQo+IFRvOiBGZXJydWggWWlnaXQg PGZlcnJ1aC55aWdpdEBhbWQuY29tPjsgZGV2QGRwZGsub3JnDQo+IENjOiBzdGFibGVAZHBkay5v cmc7IFlhbmcsIFFpbWluZyA8cWltaW5nLnlhbmdAaW50ZWwuY29tPjsgWmhvdSwgWWlkaW5nWA0K PiA8eWlkaW5neC56aG91QGludGVsLmNvbT47IENoYXMgV2lsbGlhbXMgPGNoYXMzQGF0dC5jb20+ OyBNaW4gSHUgKENvbm5vcikNCj4gPGh1bWluMjlAaHVhd2VpLmNvbT47IFd1LCBKaW5namluZyA8 amluZ2ppbmcud3VAaW50ZWwuY29tPjsgWGluZywgQmVpbGVpDQo+IDxiZWlsZWkueGluZ0BpbnRl bC5jb20+OyBNaWtlIFBhdHRyaWNrIDxta3BAcmVkaGF0LmNvbT47IFpoYW5nLCBRaSBaDQo+IDxx aS56LnpoYW5nQGludGVsLmNvbT47IERvaGVydHksIERlY2xhbiA8ZGVjbGFuLmRvaGVydHlAaW50 ZWwuY29tPjsNCj4gTXJ6eWdsb2QsIERhbmllbCBUIDxkYW5pZWwudC5tcnp5Z2xvZEBpbnRlbC5j b20+OyBEYXBlbmcgWXUNCj4gPGRhcGVuZ3gueXVAaW50ZWwuY29tPjsgWmhhbmcsIEhlbGluIDxo ZWxpbi56aGFuZ0BpbnRlbC5jb20+Ow0KPiBNY25hbWFyYSwgSm9obiA8am9obi5tY25hbWFyYUBp bnRlbC5jb20+OyBUaG9tYXMgTW9uamFsb24NCj4gPHRob21hc0Btb25qYWxvbi5uZXQ+DQo+IFN1 YmplY3Q6IFJFOiBbUEFUQ0ggdjNdIG5ldC9pYXZmOiBmaXggaWF2ZiBxdWVyeSBzdGF0cyBpbiBp bnRyIHRocmVhZA0KPiANCj4gDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4gRnJvbTogRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gPiBTZW50OiBN b25kYXksIE1hcmNoIDI3LCAyMDIzIDg6MzggUE0NCj4gPiBUbzogRGVuZywgS2Fpd2VuWCA8a2Fp d2VueC5kZW5nQGludGVsLmNvbT47IGRldkBkcGRrLm9yZw0KPiA+IENjOiBzdGFibGVAZHBkay5v cmc7IFlhbmcsIFFpbWluZyA8cWltaW5nLnlhbmdAaW50ZWwuY29tPjsgWmhvdSwNCj4gPiBZaWRp bmdYIDx5aWRpbmd4Lnpob3VAaW50ZWwuY29tPjsgQ2hhcyBXaWxsaWFtcyA8Y2hhczNAYXR0LmNv bT47IE1pbg0KPiA+IEh1IChDb25ub3IpIDxodW1pbjI5QGh1YXdlaS5jb20+OyBXdSwgSmluZ2pp bmcNCj4gPiA8amluZ2ppbmcud3VAaW50ZWwuY29tPjsgWGluZywgQmVpbGVpIDxiZWlsZWkueGlu Z0BpbnRlbC5jb20+OyBNaWtlDQo+ID4gUGF0dHJpY2sgPG1rcEByZWRoYXQuY29tPjsgWmhhbmcs IFFpIFogPHFpLnouemhhbmdAaW50ZWwuY29tPjsNCj4gPiBEb2hlcnR5LCBEZWNsYW4gPGRlY2xh bi5kb2hlcnR5QGludGVsLmNvbT47IE1yenlnbG9kLCBEYW5pZWwgVA0KPiA+IDxkYW5pZWwudC5t cnp5Z2xvZEBpbnRlbC5jb20+OyBEYXBlbmcgWXUgPGRhcGVuZ3gueXVAaW50ZWwuY29tPjsNCj4g PiBaaGFuZywgSGVsaW4gPGhlbGluLnpoYW5nQGludGVsLmNvbT47IE1jbmFtYXJhLCBKb2huDQo+ ID4gPGpvaG4ubWNuYW1hcmFAaW50ZWwuY29tPjsgVGhvbWFzIE1vbmphbG9uIDx0aG9tYXNAbW9u amFsb24ubmV0Pg0KPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjNdIG5ldC9pYXZmOiBmaXggaWF2 ZiBxdWVyeSBzdGF0cyBpbiBpbnRyIHRocmVhZA0KPiA+DQo+ID4gT24gMy8yNy8yMDIzIDE6MzEg UE0sIEZlcnJ1aCBZaWdpdCB3cm90ZToNCj4gPiA+IE9uIDMvMjcvMjAyMyA2OjMxIEFNLCBEZW5n LCBLYWl3ZW5YIHdyb3RlOg0KPiA+ID4+DQo+ID4gPj4NCj4gPiA+Pj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPiA+Pj4gRnJvbTogRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAYW1k LmNvbT4NCj4gPiA+Pj4gU2VudDogVGh1cnNkYXksIE1hcmNoIDIzLCAyMDIzIDExOjM5IFBNDQo+ ID4gPj4+IFRvOiBEZW5nLCBLYWl3ZW5YIDxrYWl3ZW54LmRlbmdAaW50ZWwuY29tPjsgZGV2QGRw ZGsub3JnDQo+ID4gPj4+IENjOiBzdGFibGVAZHBkay5vcmc7IFlhbmcsIFFpbWluZyA8cWltaW5n LnlhbmdAaW50ZWwuY29tPjsgWmhvdSwNCj4gPiA+Pj4gWWlkaW5nWCA8eWlkaW5neC56aG91QGlu dGVsLmNvbT47IENoYXMgV2lsbGlhbXMgPGNoYXMzQGF0dC5jb20+Ow0KPiA+ID4+PiBNaW4gSHUg KENvbm5vcikgPGh1bWluMjlAaHVhd2VpLmNvbT47IFd1LCBKaW5namluZw0KPiA+ID4+PiA8amlu Z2ppbmcud3VAaW50ZWwuY29tPjsgWGluZywgQmVpbGVpIDxiZWlsZWkueGluZ0BpbnRlbC5jb20+ Ow0KPiA+ID4+PiBNaWtlIFBhdHRyaWNrIDxta3BAcmVkaGF0LmNvbT47IFpoYW5nLCBRaSBaDQo+ ID4gPj4+IDxxaS56LnpoYW5nQGludGVsLmNvbT47IERvaGVydHksIERlY2xhbg0KPiA+ID4+PiA8 ZGVjbGFuLmRvaGVydHlAaW50ZWwuY29tPjsgTXJ6eWdsb2QsIERhbmllbCBUDQo+ID4gPj4+IDxk YW5pZWwudC5tcnp5Z2xvZEBpbnRlbC5jb20+OyBEYXBlbmcgWXUgPGRhcGVuZ3gueXVAaW50ZWwu Y29tPg0KPiA+ID4+PiBTdWJqZWN0OiBSZTogW1BBVENIIHYzXSBuZXQvaWF2ZjogZml4IGlhdmYg cXVlcnkgc3RhdHMgaW4gaW50cg0KPiA+ID4+PiB0aHJlYWQNCj4gPiA+Pj4NCj4gPiA+Pj4gT24g My8yMi8yMDIzIDc6MjYgQU0sIEthaXdlbiBEZW5nIHdyb3RlOg0KPiA+ID4+Pj4gV2hlbiBpYXZm IHNlbmQgcXVlcnktc3RhdHMgY29tbWFuZCBpbiBlYWwtaW50ci10aHJlYWQgdGhyb3VnaA0KPiA+ ID4+Pj4gdmlydHVhbCBjaGFubmVsLCB0aGVyZSB3aWxsIGJlIG5vIHJlc3BvbnNlIHJlY2VpdmVk IGZyb20NCj4gPiA+Pj4+IGlhdmZfZGV2X3ZpcnRjaG5sX2hhbmRsZXIgZm9yIHRoaXMgY29tbWFu ZCBkdXJpbmcgYmxvY2sgYW5kIHdhaXQuDQo+ID4gPj4+PiBCZWNhdXNlIGlhdmZfZGV2X3ZpcnRj aG5sX2hhbmRsZXIgaXMgYWxzbyByZWdpc3RlcmVkIGluIGVhbC1pbnRyLQ0KPiB0aHJlYWQuDQo+ ID4gPj4+Pg0KPiA+ID4+Pj4gV2hlbiB2ZiBkZXZpY2UgaXMgYm9uZGVkIGFzIEJPTkRJTkdfTU9E RV9UTEIgbW9kZSwgdGhlIHNsYXZlDQo+ID4gZGV2aWNlDQo+ID4gPj4+PiB1cGRhdGUgY2FsbGJh Y2sgd2lsbCByZWdpc3RlcmVkIGluIGFsYXJtIGFuZCBjYWxsZWQgYnkNCj4gPiA+Pj4+IGVhbC1p bnRyLXRocmVhZCwgaXQgd291bGQgYWxzbyByYWlzZSB0aGUgYWJvdmUgaXNzdWUuDQo+ID4gPj4+ Pg0KPiA+ID4+Pj4gVGhpcyBjb21taXQgYWRkIHRvIHBvbGwgdGhlIHJlc3BvbnNlIGZvciBWSVJU Q0hOTF9PUF9HRVRfU1RBVFMNCj4gPiB3aGVuDQo+ID4gPj4+IGl0DQo+ID4gPj4+PiBpcyBjYWxs ZWQgYnkgZWFsLWludHItdGhyZWFkIHRvIGZpeCB0aGlzIGlzc3VlLg0KPiA+ID4+Pj4NCj4gPiA+ Pj4+IEZpeGVzOiA5MWJmMzdkMjUwYWEgKCJuZXQvaWF2ZjogYWRkIGxvY2sgZm9yIFZGIGNvbW1h bmRzIikNCj4gPiA+Pj4+IEZpeGVzOiAyMmIxMjNhMzZkMDcgKCJuZXQvYXZmOiBpbml0aWFsaXpl IFBNRCIpDQo+ID4gPj4+PiBGaXhlczogN2M3NmE3NDdlNjhjICgiYm9uZDogYWRkIG1vZGUgNSIp DQo+ID4gPj4+PiBGaXhlczogNDM1ZDUyMzExMmNjICgibmV0L2lhdmY6IGZpeCBtdWx0aS1wcm9j ZXNzIHNoYXJlZCBkYXRhIikNCj4gPiA+Pj4+IEZpeGVzOiBjYjVjMWI5MWY3NmYgKCJuZXQvaWF2 ZjogYWRkIHRocmVhZCBmb3IgZXZlbnQgY2FsbGJhY2tzIikNCj4gPiA+Pj4NCj4gPiA+Pj4NCj4g PiA+Pj4gSGkgS2Fpd2VuLA0KPiA+ID4+Pg0KPiA+ID4+PiBBYm92ZSBjb21taXQgYWxyZWFkeSBz ZWVtcyB0cnlpbmcgdG8gYWRkcmVzcyBzYW1lIGlzc3VlLCBpdA0KPiA+ID4+PiBjcmVhdGVzDQo+ ID4gPj4+ICJpYXZmLSBldmVudC10aHJlYWQiIGNvbnRyb2wgdGhyZWFkIHRvIGFzeW5jcm9uaW91 c2x5IGhhbmRsZSB0aGUNCj4gPiA+Pj4gaW50ZXJydXB0cywgaW4gbm9uLSBpbnRlcnJ1cHQgY29u dGV4dCwgd2h5IGl0IGlzIG5vdCB3b3JraW5nPw0KPiA+ID4+Pg0KPiA+ID4+PiBJbnN0ZWFkIG9m IGFkZGluZyAncnRlX3RocmVhZF9pc19pbnRyKCknIGNoZWNrcywgY2FuJ3QgeW91IG1ha2UNCj4g PiA+Pj4gc3VyZSBhbGwgaW50ZXJydXB0cyBoYW5kbGVkIGluIGNvbnRyb2wgdHJlYWQ/DQo+ID4g Pj4+DQo+ID4gPj4+IEFuZCBjYW4geW91IHBsZWFzZSBwcm92aWRlIGEgc3RhY2sgdHJhY2UgaW4g Y29tbWl0IGxvZywgdG8NCj4gPiA+Pj4gZGVzY3JpYmUgdGhlIGlzc3VlIGJldHRlcj8NCj4gPiA+ PiBIaSBGZXJydSwNCj4gPiA+PiBTb3JyeSBmb3IgbXkgbGF0ZSByZXBseSwgQW5kIHRoYW5rcyBm b3IgeW91ciByZXZpZXcuDQo+ID4gPj4NCj4gPiA+PiBUaGUgYWJvdmUgY29tbWl0IGRvZXMgbm90 IGZpeCB0aGlzIGlzc3VlIHdoZW4gd2UgbmVlZCB0byBnZXQgdGhlDQo+ID4gcmV0dXJuZWQgZGF0 YS4NCj4gPiA+PiBJZiB3ZSBjYWxsIGlhdmZfcXVlcnlfc3RhdHMgYW5kIHdhaXQgZm9yIHJlc3Bv bnNlIHN0YXRpc3RpY3MgaW4gdGhlDQo+ID4gPj4gaW50ci0NCj4gPiB0aHJlYWQuDQo+ID4gPj4g aWF2Zl9oYW5kbGVfdmlydGNobmxfbXNnIGlzIGFsc28gcmVnaXN0ZXJlZCBpbiB0aGUgaW50cl90 aHJlYWQgYW5kDQo+ID4gPj4gd2lsbCBub3QgYmUgZXhlY3V0ZWQgd2hpbGUgd2FpdGluZy4NCj4g PiA+Pg0KPiA+ID4NCj4gPiA+IEdvdCBpdCwgc2luY2UgcmV0dXJuIHZhbHVlIGlzIHJlcXVpcmVk LCBBUEkgY2FuJ3QgYmUgY2FsbGVkIGFzeW5jcm9uaW91c2x5Lg0KPiA+ID4NCj4gPiA+DQo+ID4g Pg0KPiA+ID4gSSB0aGluayAncnRlX3RocmVhZF9pc19pbnRyKCknIGNoZWNrcyBtYXkgY2F1c2Ug bW9yZSB0cm91YmxlIGZvciB5b3UNCj4gPiA+IGluIGxvbmcgdGVybSwNCj4gPiA+DQo+ID4gPiAt IHdoeSAnaWF2Zl9xdWVyeV9zdGF0cygpJyBpcyBjYWxsZWQgaW4gdGhlIGl0ZXJydXB0IHRocmVh ZCwgY2FuIGl0DQo+ID4gPiBiZSBwcmV2ZW50ZWQ/DQo+ID4gPg0KPiA+ID4gLSBkb2VzIGl0IG1h a2Ugc2Vuc2UgdG8gYWxsd2F5cyBwb2xsIG1lc3NhZ2VzIGZyb20gUEYgKGZvciBzaW1wbGlmaWNh dGlvbik/DQo+ID4gPg0KPiA+ID4NCj4gPiA+IElmIGFuc3dlciB0byBib3RoIGFyZSAnTm8nLCBJ IGFtIE9LIHRvIGNvbnRpbnVlIHdpdGggY3VycmVudA0KPiA+ID4gcHJvcG9zYWwgaWYgeW91IGFy ZSBoYXBweSB3aXRoIGl0Lg0KPiA+ID4NCj4gPg0KPiA+DQo+ID4gYnR3LCBob3cgY3JpdGljYWwg aXMgdGhpcyBpc3N1ZT8NCj4gPg0KPiA+IElmIGl0IGlzIGNyaXRpY2FsLCBJIGFtIE9LIHRvIGdl dCBpdCBhcyBpdCBpcyBmb3IgdGhpcyByZWxlYXNlIGFuZA0KPiA+IGludmVzdGlnYXRlIGl0IGZ1 cnRoZXIgZm9yIG5leHQgcmVsZWFzZSwgc2luY2Ugb25seSBhIGZldyBkYXlzIGxlZnQgZm9yIHRo aXMNCj4gcmVsZWFzZS4NCj4gPg0KPiBIaSBGZXJydWgsDQo+IA0KPiBJIGRpZG4ndCBmaW5kIGEg bW9yZSBzdWl0YWJsZSBzb2x1dGlvbiBhZnRlciBjb25zaWRlcmF0aW9uLCBpZiB5b3UgaGF2ZSBh IGJldHRlcg0KPiBzdWdnZXN0aW9uLCBwbGVhc2UgbGV0IG1lIGtub3csIHRoYW5rcy4NCkhpIEZl cnJ1aCwNCkNhbiB5b3UgcGxlYXNlIHRha2UgYSBsb29rIGF0IHRoaXMgcGF0Y2guDQpUaGFua3Mu DQo+ID4NCj4gPiA+DQo+ID4gPj4gVGhpcyBjb21taXQgSSBjaGFuZ2VkIGl0IHRvIHBvbGxpbmcg Zm9yIHJlcGxpZXMgdG8gY29tbWFuZHMNCj4gPiA+PiBleGVjdXRlZCBpbg0KPiA+IHRoZSBpbnRl cnJ1cHQgdGhyZWFkLg0KPiA+ID4+DQo+ID4gPj4gbWFpbiB0aHJlYWQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQNCj4gPiB0aHJlYWQNCj4gPiA+PiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfA0KPiA+ID4+ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4gPj4gaWF2 Zl9xdWVyeV9zdGF0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfA0KPiA+ID4+IGlhdmZfZXhlY3V0ZV92Zl9jbWQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwNCj4gPiA+PiBpYXZmX2FxX3NlbmRfbXNnX3RvX3BmICBhbmQgd2FpdCBo YW5kbGUgY29tcGxldGUNCj4gfA0KPiA+ID4+ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gPiA+Pg0K PiA+ID4+IHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+PiAtLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gLS0tLS0t LT58DQo+ID4gPj4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+ID4+ICAgICAgfA0KPiA+IGlhdmZf aGFuZGxlX3ZpcnRjaG5sX21zZw0KPiA+ID4+ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+ID4+DQo+ ID4gPj4gfDwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4+IC0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAtLS0tLS0t LXwNCj4gPiA+PiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gPiA+PiBpYXZmX2V4ZWN1dGVfdmZfY21k IGdldCByZXNwb25zZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4gPj4gICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ ID4gPj4NCj4gPiA+PiBUaGUgYWJvdmUgaXMgdGhlIHN0YWNrIHRyYWNlIGZvciB0aGUgbm9ybWFs IGV4ZWN1dGlvbiBvZg0KPiA+ID4+IGlhdmZfcXVlcnlfc3RhdHMgaW4gdGhlIG1haW4gdGhyZWFk Lg0KPiA+ID4+DQo+ID4gPj4gIGludGVycnVwdCB0aHJlYWQNCj4gPiA+PiAgICAgIHwNCj4gPiA+ PiAgICAgIHwNCj4gPiA+PiBpYXZmX3F1ZXJ5X3N0YXRzDQo+ID4gPj4gaWF2Zl9leGVjdXRlX3Zm X2NtZA0KPiA+ID4+IGlhdmZfYXFfc2VuZF9tc2dfdG9fcGYgd2FpdCBoYW5kbGUgY29tcGxldGUo MSBzZWMpDQo+ID4gPj4gaWF2Zl9leGVjdXRlX3ZmX2NtZCB0aW1lb3V0DQo+ID4gPj4gICAgICB8 DQo+ID4gPj4gICAgICB8DQo+ID4gPj4gaWF2Zl9oYW5kbGVfdmlydGNobmxfbXNnDQo+ID4gPj4g ICAgICB8DQo+ID4gPj4NCj4gPiA+PiBUaGUgYWJvdmUgaXMgdGhlIHN0YWNrIHRyYWNlIGZvciB0 aGUgYWJub3JtYWwgZXhlY3V0aW9uIG9mDQo+ID4gPj4gaWF2Zl9xdWVyeV9zdGF0cyBpbiB0aGUg aW50ZXJydXB0IHRocmVhZC4NCj4gPiA+Pj4NCj4gPiA+Pj4+IENjOiBzdGFibGVAZHBkay5vcmcN Cj4gPiA+Pj4+DQo+ID4gPj4+PiBTaWduZWQtb2ZmLWJ5OiBLYWl3ZW4gRGVuZyA8a2Fpd2VueC5k ZW5nQGludGVsLmNvbT4NCj4gPiA+Pj4+IC0tLQ0KPiA+ID4+Pj4gQ2hhbmdlcyBzaW5jZSB2MjoN Cj4gPiA+Pj4+IC0gQWRkIHRvIHBvbGwgdGhlIHJlc3BvbnNlIGZvciBWSVJUQ0hOTF9PUF9HRVRf U1RBVFMuDQo+ID4gPj4+Pg0KPiA+ID4+Pj4gQ2hhbmdlcyBzaW5jZSB2MToNCj4gPiA+Pj4+IC0g QWRkIGxvY2sgdG8gYXZvaWQgcmFjZSBjb25kaXRpb24uDQo+ID4gPj4+PiAtLS0NCj4gPiA+Pj4+ IC0tLQ0KPiA+ID4+Pj4gIGRyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3BtZC5jIHwg IDcgKystDQo+ID4gPj4+PiAgZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jICAgICAgICAg fCAgNSArLQ0KPiA+ID4+Pj4gIGRyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jICAgICAgICAg IHwgNzEgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0NCj4gPiA+Pj4+ICAzIGZpbGVzIGNoYW5n ZWQsIDU4IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQ0KPiA+ID4+Pj4NCj4gPiA+Pj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wbWQuYw0KPiA+ ID4+Pj4gYi9kcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wbWQuYw0KPiA+ID4+Pj4g aW5kZXggZjBjNGY3ZDI2Yi4uZWRjZTYyMTQ5NiAxMDA2NDQNCj4gPiA+Pj4+IC0tLSBhL2RyaXZl cnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3BtZC5jDQo+ID4gPj4+PiArKysgYi9kcml2ZXJz L25ldC9ib25kaW5nL3J0ZV9ldGhfYm9uZF9wbWQuYw0KPiA+ID4+Pj4gQEAgLTg5NCw2ICs4OTQs NyBAQCBib25kX2V0aGRldl91cGRhdGVfdGxiX3NsYXZlX2NiKHZvaWQgKmFyZykNCj4gPiA+Pj4+ ICAJdWludDhfdCB1cGRhdGVfc3RhdHMgPSAwOw0KPiA+ID4+Pj4gIAl1aW50MTZfdCBzbGF2ZV9p ZDsNCj4gPiA+Pj4+ICAJdWludDE2X3QgaTsNCj4gPiA+Pj4+ICsJaW50IHJldDsNCj4gPiA+Pj4+ DQo+ID4gPj4+PiAgCWludGVybmFscy0+c2xhdmVfdXBkYXRlX2lkeCsrOw0KPiA+ID4+Pj4NCj4g PiA+Pj4+IEBAIC05MDMsNyArOTA0LDEwIEBAIGJvbmRfZXRoZGV2X3VwZGF0ZV90bGJfc2xhdmVf Y2Iodm9pZA0KPiAqYXJnKQ0KPiA+ID4+Pj4NCj4gPiA+Pj4+ICAJZm9yIChpID0gMDsgaSA8IGlu dGVybmFscy0+YWN0aXZlX3NsYXZlX2NvdW50OyBpKyspIHsNCj4gPiA+Pj4+ICAJCXNsYXZlX2lk ID0gaW50ZXJuYWxzLT5hY3RpdmVfc2xhdmVzW2ldOw0KPiA+ID4+Pj4gLQkJcnRlX2V0aF9zdGF0 c19nZXQoc2xhdmVfaWQsICZzbGF2ZV9zdGF0cyk7DQo+ID4gPj4+PiArCQlyZXQgPSBydGVfZXRo X3N0YXRzX2dldChzbGF2ZV9pZCwgJnNsYXZlX3N0YXRzKTsNCj4gPiA+Pj4+ICsJCWlmIChyZXQp DQo+ID4gPj4+PiArCQkJZ290byBPVVQ7DQo+ID4gPj4+PiArDQo+ID4gPj4+PiAgCQl0eF9ieXRl cyA9IHNsYXZlX3N0YXRzLm9ieXRlcyAtDQo+IHRsYl9sYXN0X29ieXRldHNbc2xhdmVfaWRdOw0K PiA+ID4+Pj4gIAkJYmFuZHdpZHRoX2xlZnQoc2xhdmVfaWQsIHR4X2J5dGVzLA0KPiA+ID4+Pj4g IAkJCQlpbnRlcm5hbHMtPnNsYXZlX3VwZGF0ZV9pZHgsDQo+ICZid2dfYXJyYXlbaV0pOw0KPiA+ ID4+PiBAQCAtOTIyLDYgKzkyNiw3IEBADQo+ID4gPj4+PiBib25kX2V0aGRldl91cGRhdGVfdGxi X3NsYXZlX2NiKHZvaWQgKmFyZykNCj4gPiA+Pj4+ICAJZm9yIChpID0gMDsgaSA8IHNsYXZlX2Nv dW50OyBpKyspDQo+ID4gPj4+PiAgCQlpbnRlcm5hbHMtPnRsYl9zbGF2ZXNfb3JkZXJbaV0gPSBi d2dfYXJyYXlbaV0uc2xhdmU7DQo+ID4gPj4+Pg0KPiA+ID4+Pj4gK09VVDoNCj4gPiA+Pj4+ICAJ cnRlX2VhbF9hbGFybV9zZXQoUkVPUkRFUl9QRVJJT0RfTVMgKiAxMDAwLA0KPiA+ID4+PiBib25k X2V0aGRldl91cGRhdGVfdGxiX3NsYXZlX2NiLA0KPiA+ID4+Pj4gIAkJCShzdHJ1Y3QgYm9uZF9k ZXZfcHJpdmF0ZSAqKWludGVybmFscyk7ICB9IGRpZmYgLQ0KPiAtZ2l0DQo+ID4gPj4+PiBhL2Ry aXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYyBiL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhk ZXYuYw0KPiA+ID4+Pj4gaW5kZXggMzE5NjIxMGYyYy4uZDZlMWYxYTdmNCAxMDA2NDQNCj4gPiA+ Pj4+IC0tLSBhL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYw0KPiA+ID4+Pj4gKysrIGIv ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jDQo+ID4gPj4+PiBAQCAtMjYwNyw2ICsyNjA3 LDkgQEAgaWF2Zl9kZXZfaW5pdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYpDQo+ID4gPj4+ PiAgCWFkYXB0ZXItPmRldl9kYXRhID0gZXRoX2Rldi0+ZGF0YTsNCj4gPiA+Pj4+ICAJYWRhcHRl ci0+c3RvcHBlZCA9IDE7DQo+ID4gPj4+Pg0KPiA+ID4+Pj4gKwlpZiAoaWF2Zl9kZXZfZXZlbnRf aGFuZGxlcl9pbml0KCkpDQo+ID4gPj4+PiArCQlnb3RvIGluaXRfdmZfZXJyOw0KPiA+ID4+Pj4g Kw0KPiA+ID4+Pj4gIAlpZiAoaWF2Zl9pbml0X3ZmKGV0aF9kZXYpICE9IDApIHsNCj4gPiA+Pj4+ ICAJCVBNRF9JTklUX0xPRyhFUlIsICJJbml0IHZmIGZhaWxlZCIpOw0KPiA+ID4+Pj4gIAkJcmV0 dXJuIC0xOw0KPiA+ID4+Pj4gQEAgLTI2MzQsOCArMjYzNyw2IEBAIGlhdmZfZGV2X2luaXQoc3Ry dWN0IHJ0ZV9ldGhfZGV2ICpldGhfZGV2KQ0KPiA+ID4+Pj4gIAlydGVfZXRoZXJfYWRkcl9jb3B5 KChzdHJ1Y3QgcnRlX2V0aGVyX2FkZHIgKilody0NCj4gPm1hYy5hZGRyLA0KPiA+ID4+Pj4gIAkJ CSZldGhfZGV2LT5kYXRhLT5tYWNfYWRkcnNbMF0pOw0KPiA+ID4+Pj4NCj4gPiA+Pj4+IC0JaWYg KGlhdmZfZGV2X2V2ZW50X2hhbmRsZXJfaW5pdCgpKQ0KPiA+ID4+Pj4gLQkJZ290byBpbml0X3Zm X2VycjsNCj4gPiA+Pj4+DQo+ID4gPj4+PiAgCWlmICh2Zi0+dmZfcmVzLT52Zl9jYXBfZmxhZ3Mg Jg0KPiBWSVJUQ0hOTF9WRl9PRkZMT0FEX1dCX09OX0lUUikNCj4gPiA+Pj4gew0KPiA+ID4+Pj4g IAkJLyogcmVnaXN0ZXIgY2FsbGJhY2sgZnVuYyB0byBlYWwgbGliICovIGRpZmYgLS1naXQNCj4g PiA+Pj4+IGEvZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmMgYi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfdmNobmwuYw0KPiA+ID4+Pj4gaW5kZXggOWFkYWFkYjE3My4uYWVmZmIwN2NjYSAxMDA2 NDQNCj4gPiA+Pj4+IC0tLSBhL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jDQo+ID4gPj4+ PiArKysgYi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYw0KPiA+ID4+Pj4gQEAgLTI1Niw2 ICsyNTYsNyBAQCBpYXZmX3JlYWRfbXNnX2Zyb21fcGYoc3RydWN0IGlhdmZfYWRhcHRlcg0KPiA+ ID4+PiAqYWRhcHRlciwgdWludDE2X3QgYnVmX2xlbiwNCj4gPiA+Pj4+ICAJCQkJdmYtPmxpbmtf c3BlZWQgPQ0KPiA+ID4+PiBpYXZmX2NvbnZlcnRfbGlua19zcGVlZChzcGVlZCk7DQo+ID4gPj4+ PiAgCQkJfQ0KPiA+ID4+Pj4gIAkJCWlhdmZfZGV2X2xpbmtfdXBkYXRlKHZmLT5ldGhfZGV2LCAw KTsNCj4gPiA+Pj4+ICsJCQlpYXZmX2Rldl9ldmVudF9wb3N0KHZmLT5ldGhfZGV2LA0KPiA+ID4+ PiBSVEVfRVRIX0VWRU5UX0lOVFJfTFNDLCBOVUxMLCAwKTsNCj4gPiA+Pj4+ICAJCQlQTURfRFJW X0xPRyhJTkZPLCAiTGluayBzdGF0dXMNCj4gdXBkYXRlOiVzIiwNCj4gPiA+Pj4+ICAJCQkJCXZm LT5saW5rX3VwID8gInVwIiA6ICJkb3duIik7DQo+ID4gPj4+PiAgCQkJYnJlYWs7DQo+ID4gPj4+ PiBAQCAtMzY4LDI4ICszNjksNDggQEAgaWF2Zl9leGVjdXRlX3ZmX2NtZChzdHJ1Y3QgaWF2Zl9h ZGFwdGVyDQo+ID4gPj4+ICphZGFwdGVyLCBzdHJ1Y3QgaWF2Zl9jbWRfaW5mbyAqYXJncywNCj4g PiA+Pj4+ICAJCV9jbGVhcl9jbWQodmYpOw0KPiA+ID4+Pj4gIAkJYnJlYWs7DQo+ID4gPj4+PiAg CWRlZmF1bHQ6DQo+ID4gPj4+PiAtCQkvKiBGb3Igb3RoZXIgdmlydGNobmwgb3BzIGluIHJ1bm5p bmcgdGltZSwNCj4gPiA+Pj4+IC0JCSAqIHdhaXQgZm9yIHRoZSBjbWQgZG9uZSBmbGFnLg0KPiA+ ID4+Pj4gLQkJICovDQo+ID4gPj4+PiAtCQlkbyB7DQo+ID4gPj4+PiAtCQkJaWYgKHZmLT5wZW5k X2NtZCA9PQ0KPiBWSVJUQ0hOTF9PUF9VTktOT1dOKQ0KPiA+ID4+Pj4gLQkJCQlicmVhazsNCj4g PiA+Pj4+IC0JCQlpYXZmX21zZWNfZGVsYXkoQVNRX0RFTEFZX01TKTsNCj4gPiA+Pj4+IC0JCQkv KiBJZiBkb24ndCByZWFkIG1zZyBvciByZWFkIHN5cyBldmVudCwNCj4gY29udGludWUgKi8NCj4g PiA+Pj4+IC0JCX0gd2hpbGUgKGkrKyA8IE1BWF9UUllfVElNRVMpOw0KPiA+ID4+Pj4gLQ0KPiA+ ID4+Pj4gLQkJaWYgKGkgPj0gTUFYX1RSWV9USU1FUykgew0KPiA+ID4+Pj4gLQkJCVBNRF9EUlZf TE9HKEVSUiwgIk5vIHJlc3BvbnNlIGZvcg0KPiBjbWQgJWQiLA0KPiA+ID4+PiBhcmdzLT5vcHMp Ow0KPiA+ID4+Pj4gKwkJaWYgKHJ0ZV90aHJlYWRfaXNfaW50cigpKSB7DQo+ID4gPj4+PiArCQkJ LyogRm9yIHZpcnRjaG5sIG9wcyB3ZXJlIGV4ZWN1dGVkIGluDQo+IGVhbF9pbnRyX3RocmVhZCwN Cj4gPiA+Pj4+ICsJCQkgKiBuZWVkIHRvIHBvbGwgdGhlIHJlc3BvbnNlLg0KPiA+ID4+Pj4gKwkJ CSAqLw0KPiA+ID4+Pj4gKwkJCWRvIHsNCj4gPiA+Pj4+ICsJCQkJcmVzdWx0ID0NCj4gaWF2Zl9y ZWFkX21zZ19mcm9tX3BmKGFkYXB0ZXIsDQo+ID4gPj4+IGFyZ3MtPm91dF9zaXplLA0KPiA+ID4+ Pj4gKwkJCQkJCQlhcmdzLQ0KPiA+b3V0X2J1ZmZlcik7DQo+ID4gPj4+PiArCQkJCWlmIChyZXN1 bHQgPT0gSUFWRl9NU0dfQ01EKQ0KPiA+ID4+Pj4gKwkJCQkJYnJlYWs7DQo+ID4gPj4+PiArCQkJ CWlhdmZfbXNlY19kZWxheShBU1FfREVMQVlfTVMpOw0KPiA+ID4+Pj4gKwkJCX0gd2hpbGUgKGkr KyA8IE1BWF9UUllfVElNRVMpOw0KPiA+ID4+Pj4gKwkJCWlmIChpID49IE1BWF9UUllfVElNRVMg fHwNCj4gPiA+Pj4+ICsJCQkJdmYtPmNtZF9yZXR2YWwgIT0NCj4gPiA+Pj4gVklSVENITkxfU1RB VFVTX1NVQ0NFU1MpIHsNCj4gPiA+Pj4+ICsJCQkJZXJyID0gLTE7DQo+ID4gPj4+PiArCQkJCVBN RF9EUlZfTE9HKEVSUiwgIk5vIHJlc3BvbnNlDQo+IG9yIHJldHVybg0KPiA+ID4+PiBmYWlsdXJl ICglZCkiDQo+ID4gPj4+PiArCQkJCQkJIiBmb3IgY21kICVkIiwgdmYtDQo+ID4gPj4+PiBjbWRf cmV0dmFsLCBhcmdzLT5vcHMpOw0KPiA+ID4+Pj4gKwkJCX0NCj4gPiA+Pj4+ICAJCQlfY2xlYXJf Y21kKHZmKTsNCj4gPiA+Pj4+IC0JCQllcnIgPSAtRUlPOw0KPiA+ID4+Pj4gLQkJfSBlbHNlIGlm ICh2Zi0+Y21kX3JldHZhbCA9PQ0KPiA+ID4+Pj4gLQkJCSAgIFZJUlRDSE5MX1NUQVRVU19FUlJf Tk9UX1NVUFBPUlRFRCkNCj4gew0KPiA+ID4+Pj4gLQkJCVBNRF9EUlZfTE9HKEVSUiwgIkNtZCAl ZCBub3QNCj4gc3VwcG9ydGVkIiwgYXJncy0NCj4gPiA+Pj4+IG9wcyk7DQo+ID4gPj4+PiAtCQkJ ZXJyID0gLUVOT1RTVVA7DQo+ID4gPj4+PiAtCQl9IGVsc2UgaWYgKHZmLT5jbWRfcmV0dmFsICE9 DQo+IFZJUlRDSE5MX1NUQVRVU19TVUNDRVNTKSB7DQo+ID4gPj4+PiAtCQkJUE1EX0RSVl9MT0co RVJSLCAiUmV0dXJuIGZhaWx1cmUgJWQgZm9yDQo+IGNtZCAlZCIsDQo+ID4gPj4+PiAtCQkJCSAg ICB2Zi0+Y21kX3JldHZhbCwgYXJncy0+b3BzKTsNCj4gPiA+Pj4+IC0JCQllcnIgPSAtRUlOVkFM Ow0KPiA+ID4+Pj4gKwkJfSBlbHNlIHsNCj4gPiA+Pj4+ICsJCQkvKiBGb3Igb3RoZXIgdmlydGNo bmwgb3BzIGluIHJ1bm5pbmcgdGltZSwNCj4gPiA+Pj4+ICsJCQkgKiB3YWl0IGZvciB0aGUgY21k IGRvbmUgZmxhZy4NCj4gPiA+Pj4+ICsJCQkgKi8NCj4gPiA+Pj4+ICsJCQlkbyB7DQo+ID4gPj4+ PiArCQkJCWlmICh2Zi0+cGVuZF9jbWQgPT0NCj4gPiA+Pj4gVklSVENITkxfT1BfVU5LTk9XTikN Cj4gPiA+Pj4+ICsJCQkJCWJyZWFrOw0KPiA+ID4+Pj4gKwkJCQlpYXZmX21zZWNfZGVsYXkoQVNR X0RFTEFZX01TKTsNCj4gPiA+Pj4+ICsJCQkJLyogSWYgZG9uJ3QgcmVhZCBtc2cgb3IgcmVhZCBz eXMgZXZlbnQsDQo+ID4gPj4+IGNvbnRpbnVlICovDQo+ID4gPj4+PiArCQkJfSB3aGlsZSAoaSsr IDwgTUFYX1RSWV9USU1FUyk7DQo+ID4gPj4+PiArDQo+ID4gPj4+PiArCQkJaWYgKGkgPj0gTUFY X1RSWV9USU1FUykgew0KPiA+ID4+Pj4gKwkJCQlQTURfRFJWX0xPRyhFUlIsICJObyByZXNwb25z ZQ0KPiBmb3INCj4gPiA+Pj4gY21kICVkIiwgYXJncy0+b3BzKTsNCj4gPiA+Pj4+ICsJCQkJX2Ns ZWFyX2NtZCh2Zik7DQo+ID4gPj4+PiArCQkJCWVyciA9IC1FSU87DQo+ID4gPj4+PiArCQkJfSBl bHNlIGlmICh2Zi0+Y21kX3JldHZhbCA9PQ0KPiA+ID4+Pj4gKw0KPiAJVklSVENITkxfU1RBVFVT X0VSUl9OT1RfU1VQUE9SVEVEKSB7DQo+ID4gPj4+PiArCQkJCVBNRF9EUlZfTE9HKEVSUiwgIkNt ZCAlZCBub3QNCj4gPiA+Pj4gc3VwcG9ydGVkIiwgYXJncy0+b3BzKTsNCj4gPiA+Pj4+ICsJCQkJ ZXJyID0gLUVOT1RTVVA7DQo+ID4gPj4+PiArCQkJfSBlbHNlIGlmICh2Zi0+Y21kX3JldHZhbCAh PQ0KPiA+ID4+PiBWSVJUQ0hOTF9TVEFUVVNfU1VDQ0VTUykgew0KPiA+ID4+Pj4gKwkJCQlQTURf RFJWX0xPRyhFUlIsICJSZXR1cm4NCj4gZmFpbHVyZSAlZCBmb3INCj4gPiA+Pj4gY21kICVkIiwN Cj4gPiA+Pj4+ICsJCQkJCQl2Zi0+Y21kX3JldHZhbCwgYXJncy0NCj4gPm9wcyk7DQo+ID4gPj4+ PiArCQkJCWVyciA9IC1FSU5WQUw7DQo+ID4gPj4+PiArCQkJfQ0KPiA+ID4+Pj4gIAkJfQ0KPiA+ ID4+Pj4gIAkJYnJlYWs7DQo+ID4gPj4+PiAgCX0NCj4gPiA+Pj4+IEBAIC00MDMsOCArNDI0LDE0 IEBAIGlhdmZfZXhlY3V0ZV92Zl9jbWRfc2FmZShzdHJ1Y3QNCj4gPiBpYXZmX2FkYXB0ZXINCj4g PiA+Pj4+ICphZGFwdGVyLCAgew0KPiA+ID4+Pj4gIAlzdHJ1Y3QgaWF2Zl9pbmZvICp2ZiA9IElB VkZfREVWX1BSSVZBVEVfVE9fVkYoYWRhcHRlcik7DQo+ID4gPj4+PiAgCWludCByZXQ7DQo+ID4g Pj4+PiArCWludCBpc19pbnRyX3RocmVhZCA9IHJ0ZV90aHJlYWRfaXNfaW50cigpOw0KPiA+ID4+ Pj4NCj4gPiA+Pj4+IC0JcnRlX3NwaW5sb2NrX2xvY2soJnZmLT5hcV9sb2NrKTsNCj4gPiA+Pj4+ ICsJaWYgKGlzX2ludHJfdGhyZWFkKSB7DQo+ID4gPj4+PiArCQlpZiAoIXJ0ZV9zcGlubG9ja190 cnlsb2NrKCZ2Zi0+YXFfbG9jaykpDQo+ID4gPj4+PiArCQkJcmV0dXJuIC1FSU87DQo+ID4gPj4+ PiArCX0gZWxzZSB7DQo+ID4gPj4+PiArCQlydGVfc3BpbmxvY2tfbG9jaygmdmYtPmFxX2xvY2sp Ow0KPiA+ID4+Pj4gKwl9DQo+ID4gPj4+PiAgCXJldCA9IGlhdmZfZXhlY3V0ZV92Zl9jbWQoYWRh cHRlciwgYXJncywgYXN5bmMpOw0KPiA+ID4+Pj4gIAlydGVfc3BpbmxvY2tfdW5sb2NrKCZ2Zi0+ YXFfbG9jayk7DQo+ID4gPj4+Pg0KPiA+ID4+DQo+ID4gPg0KDQo=