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 44458A052A for ; Mon, 25 Jan 2021 11:34:11 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 19CC0140EC5; Mon, 25 Jan 2021 11:34:11 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 21572140E99; Mon, 25 Jan 2021 11:34:07 +0100 (CET) IronPort-SDR: JfMxJV6TrfTQGT/w1WfEoa/CvJY1VEUCbpbqaj/rzgzM0mfAMsr6R9+bRp3fnM7jql0/plxhEl 8dEEchp04/LA== X-IronPort-AV: E=McAfee;i="6000,8403,9874"; a="158881407" X-IronPort-AV: E=Sophos;i="5.79,373,1602572400"; d="scan'208";a="158881407" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jan 2021 02:34:06 -0800 IronPort-SDR: 3+xw0CAZzHWo3qeYn6SPIM69Ro3/LzK+MVhWteI4dodTrWWklE8sTLKZVGsokhX2CnNC1S2uzI CjzJH7/fC2Zg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,373,1602572400"; d="scan'208";a="361428389" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga008.fm.intel.com with ESMTP; 25 Jan 2021 02:34:06 -0800 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Mon, 25 Jan 2021 02:34:05 -0800 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 25 Jan 2021 02:34:05 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 25 Jan 2021 02:34:05 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.100) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 25 Jan 2021 02:34:04 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ot1Zuaawns5RYHySZWFIgTOqgm3NNBrHwj4CTfTxZ33gI9OLCHvKCKcnyLX2y0mAvtTVhte6k698IGpV04uOaYHEGBtoHUpp2VrIHYSy5HKX0QihtQh7FiDXB/asmYDdaxbZIY0FilAQpJGehTN6RO1RDt+JXq/cc01wEFLAaW4ydI6vyfBGmfei0JnE7ghnJiAjp6tWcRTsIGKHnfwRCi7cflEL7JJcHORf//3LiAMATWa5Vry4HlcZ2OUQgDsF2XdY+HkdObmzAWjVx35WAEdEp2WYPwVxqUm+ktlDzwTHJELXV9UCqtfN/aaEVPQyEsqaRTiIZlLd465GAuNBgg== 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-SenderADCheck; bh=lzD4+OfpMX1FpnLO9nZKVMC1t9o+RNBDAoN5gwuulJk=; b=kCN13jr6XrUi4sjHxNI4WtGJsA6kUnCJINh/BjLgZx+0OAE3LcdcQiUL7FwWmZKTL/V62bZ6Uvqdr4N4T3iAPA7eLptanKKr6nX75Nb1NRAEP1uOkXGuQ0xW7l0bIKshhrAC5lEcl3IDnDx3ywviwGeUC7dhnYIy57ybGFyzCmKqJIZZK3zFiwwx53F5l+jhP59fKvu5+DgqrnBDnuyBVRrDpU3zFSr70UHtKXagnXH5LOppPqMBucdfzmClM0pixY8QwV0qR4KEDD8wUN0AB4kI6acUmKLcTRjYjQKZv+8aaztSMJ1esdzeUyZgcOUJYaL1AsI3Z5Cce7O08shzYw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lzD4+OfpMX1FpnLO9nZKVMC1t9o+RNBDAoN5gwuulJk=; b=h73mnYJ0syAfwXtwjZ36RpuWFC9aHxO24H+Df+Yn98uof179qdoWhYY9CBHFdR9BQf8MsQyfAVIWO0XRjhJhYDLkY4aoAuJSZgTiMkwY9x9CIUSelTBFFtTwINciHkG+yU9cm422JW7TDGJYaAiENW9WfFBAswy+oWyzwtfScMg= Received: from BYAPR11MB2901.namprd11.prod.outlook.com (2603:10b6:a03:91::23) by SJ0PR11MB4830.namprd11.prod.outlook.com (2603:10b6:a03:2d7::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.13; Mon, 25 Jan 2021 10:33:12 +0000 Received: from BYAPR11MB2901.namprd11.prod.outlook.com ([fe80::4946:fd9f:86f7:43f9]) by BYAPR11MB2901.namprd11.prod.outlook.com ([fe80::4946:fd9f:86f7:43f9%7]) with mapi id 15.20.3784.017; Mon, 25 Jan 2021 10:33:12 +0000 From: "Xu, Rosen" To: "Yigit, Ferruh" , "Huang, Wei" , "dev@dpdk.org" , "Zhang, Qi Z" CC: "stable@dpdk.org" , "Zhang, Tianfei" , Ray Kinsella Thread-Topic: [dpdk-stable] [PATCH v11 1/4] raw/ifpga: add fpga rsu function Thread-Index: AQHW77spjy7n7mpCqkONb4LJn2m0J6oyReyAgACkcwCABTgugIAACKcQ Date: Mon, 25 Jan 2021 10:33:12 +0000 Message-ID: References: <1611209014-4031-1-git-send-email-wei.huang@intel.com> <1611209014-4031-2-git-send-email-wei.huang@intel.com> <974f2f71-3607-fa25-b618-d5bb2c5652e7@intel.com> <5f1aa155-64c4-2922-b76d-31130e22ed66@intel.com> In-Reply-To: <5f1aa155-64c4-2922-b76d-31130e22ed66@intel.com> Accept-Language: en-US Content-Language: en-US X-Mentions: wei.huang@intel.com X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.5.1.3 dlp-reaction: no-action x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNmU4MmQ4NjItN2UzNC00MGEzLWJiODgtZGE3OGZiODg2MDY0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiTlhwRm01YjlxcGl4ajJUMGpVYTRWWDduYTNPUlFBTU4yQmtabXpLTlUydFl2MllwK2NaaUU2clNvUWlENVdZSiJ9 x-ctpclassification: CTP_NT authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.195] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ee0369ec-c635-4fe9-5917-08d8c11c9ddd x-ms-traffictypediagnostic: SJ0PR11MB4830: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jHbrWBpnLFeqS/VYlBrGW2zCwuJvPFpUOSpGJsJtNGMgUP7buuS8avL+hUAE0NnyEQfgzKsSgU3ovlIXCASNidWGVmv3qSruCvwz3ZgQ9sZdMDV0FFPOxOfs8SLX1DtfpqZFkw1jSR/7vmvI5GVqRuWu8fSLobtCCd07RIugsk0yxS0BlPFJVHQqyVgxA+7Rp6VDrfdxjAfTdtE9/EJlNMvT/nsAXAJKscvBp9onuVf82Te6H6TfY1klFcZdqGGKCr+H6YxFucdnszVisu5ikV8Oi63kbPmJhwa7PyWlEubCxKRy8ZKRrV3fHZ9PcxLN56P7FPd2YqyDXn6scByAAok9L19gEQQzDdoTc2mxTg1TmZ5dD3gEmchR0lb6nWX2qNFsQMo/ClKMegoJJ7TOneX7j20JBiXz9IpHLTiLzLJEQuyG/aYqTL5faj5Hng77 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB2901.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(136003)(39860400002)(396003)(366004)(346002)(7696005)(66446008)(66946007)(2906002)(66476007)(66556008)(64756008)(86362001)(54906003)(55016002)(8676002)(52536014)(76116006)(33656002)(8936002)(186003)(71200400001)(316002)(9686003)(5660300002)(6636002)(478600001)(26005)(6506007)(53546011)(83380400001)(110136005)(4326008)(21314003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?UmQrTVFVUjd2eEY2OTJZT3BWZXYwQmE3Y2Zjb3pEOVYwcXVoVkpFZ0o4RHh3?= =?utf-8?B?RnZEdmJxR0FVTEh1UEwvWlJtRk5TRUx5UmpLbUp2K3pyWkh2ZE1rZlFyVG0x?= =?utf-8?B?d052T2V6U0t4WEtydUtLMUUwQit6Uk84WXNhSWZUdWhxQm5Hd2RDdm9hQ2VD?= =?utf-8?B?VUNaWFllakpBbForM2Z4bnlJZUxoVHNMVWZBdzYxL05vZEFLdnU5SzhZRHQr?= =?utf-8?B?Y2l2cTA1bW5udEhCcldYeDhQSElBcmNaMmdqZXBiWkVQSDA5MkU3dFVIakFr?= =?utf-8?B?MUpjK08xdFhIK0dWMEJRck51QW9Wc3JFSmttdjh5Z0FTck83bVRqZDJRT0s4?= =?utf-8?B?aGpLLzJudjVVOFhiMCswRjB1amN5UGFTKzFwVm11elo5RzNLc2tDRFFGTGsr?= =?utf-8?B?QW9aamVRMWxZMEFjckNwelJaQVRHSFBDOWhQakZwbUtsSjZGSGQ3WUdQRURV?= =?utf-8?B?NEJvcFJXM0YzRERoaDNoN2g1OG5QOWJSN0FqNHlmRXZmS3U2aHVaY0xJaWdY?= =?utf-8?B?OGI4K0NFbUJZSGZ3MFpSdlpSS3dnRmxQek5pWkRUSUtvc09zaDF2eEJ5ays0?= =?utf-8?B?V0szclhncVpmU2ZJWjdPUEpObGpOa1V2c1g3SmR3Q0dvbXpnZXRGWEdhaFJ5?= =?utf-8?B?ZllaUGc3enp5MmtpMHZQRnFrckYxeWMxbjQxWllvNjZoRHhpWHZobE5rbTJp?= =?utf-8?B?ejhiOWhIcVNBWU9VM0t3SXNXQWhQUktRUldzRUhjQWFwVXVpcjhsQldOMUtM?= =?utf-8?B?aXpEcnpxUndDcVZjeEFDK0lnYVFIaVZoMnpBdTZ2MnFBYWlxdUdhckZZMHgr?= =?utf-8?B?SThWSFk3QVA4emhIYVNLbjR3OEF1aGxXWUNrWjU1aGNNUTErVUdHQkk4MGcz?= =?utf-8?B?TU5KSkZ1VXI5K203VEd4YlNySVUzQXBLMFF3T0RMRE0wa2NQOW1QL3U2VU05?= =?utf-8?B?RENPRE1ib2JEU1hwSHJ4MzdpZ0pFVG8waktlbDFPV1ZnM3BScWNZVzNNcTZy?= =?utf-8?B?N2R5bk1ZUHlweEY5MDU0UmcvUEJSTjB5d29NYjd3ZDdta0o0WGNhMlZWOW1Z?= =?utf-8?B?cnh5ZDJsNUUwU0l3N3hKZGpzbGYwcEI1QlJXUHFxMW1tckhodCtRZHBXTkNG?= =?utf-8?B?VEt1SDVoc3h5aWdlZWNkQmRyeThucS9rUm9qbTRIMDB5RHgvL2xBT1Z4c0Ur?= =?utf-8?B?VDlQUnhEUFNHa21Ha1JpTm54azVQTzhRTlpxdCtKbERXb0lYVHVxOTNNN3JY?= =?utf-8?B?OFRRd2RIVkVhKzVzbklsTFl1L3hLa3ZUSi9nWkFGZjhObGhENzhIakdUc3hL?= =?utf-8?B?MitaSE9LZmNFZGUxbHoxZFVHdDcvT3lmMzFlVzVDYXJkb2NaYS9sanZGVzg1?= =?utf-8?B?ckExYnNtTkpaWW5ZcjNhTDBHV3FBTHZNYUJTTndOUGZ3bldOSndReHdQT3Fp?= =?utf-8?Q?gx/gMzqc?= 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: BYAPR11MB2901.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ee0369ec-c635-4fe9-5917-08d8c11c9ddd X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jan 2021 10:33:12.3331 (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: r7/B7W7NWjDWqsMoljzpi1PKwUSTPSkvCMaJOxmGgbadFN4krifb+AZICxplYQy/Wk/6wl8g4EcViSTNf35QNQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB4830 X-OriginatorOrg: intel.com Subject: Re: [dpdk-stable] [PATCH v11 1/4] raw/ifpga: add fpga rsu function X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0 IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPg0KPiBTZW50OiBNb25kYXksIEphbnVhcnkgMjUsIDIw MjEgMTg6MDENCj4gVG86IEh1YW5nLCBXZWkgPHdlaS5odWFuZ0BpbnRlbC5jb20+OyBkZXZAZHBk ay5vcmc7IFh1LCBSb3Nlbg0KPiA8cm9zZW4ueHVAaW50ZWwuY29tPjsgWmhhbmcsIFFpIFogPHFp LnouemhhbmdAaW50ZWwuY29tPg0KPiBDYzogc3RhYmxlQGRwZGsub3JnOyBaaGFuZywgVGlhbmZl aSA8dGlhbmZlaS56aGFuZ0BpbnRlbC5jb20+OyBSYXkgS2luc2VsbGENCj4gPG1kckBhc2hyb2Uu ZXU+DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1zdGFibGVdIFtQQVRDSCB2MTEgMS80XSByYXcvaWZw Z2E6IGFkZCBmcGdhIHJzdSBmdW5jdGlvbg0KPiANCj4gT24gMS8yMi8yMDIxIDI6MTggQU0sIEh1 YW5nLCBXZWkgd3JvdGU6DQo+IA0KPiA8UGxlYXNlIGRvIG5vdCB0b3AgcG9zdCwgeW91ciBjb21t ZW50IG1vdmVkIGJlbG93Pg0KPiANCj4gPj4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPj4gRnJvbTogRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPg0KPiA+ PiBTZW50OiBGcmlkYXksIEphbnVhcnkgMjIsIDIwMjEgMDA6MzANCj4gPj4gVG86IEh1YW5nLCBX ZWkgPHdlaS5odWFuZ0BpbnRlbC5jb20+OyBkZXZAZHBkay5vcmc7IFh1LCBSb3Nlbg0KPiA+PiA8 cm9zZW4ueHVAaW50ZWwuY29tPjsgWmhhbmcsIFFpIFogPHFpLnouemhhbmdAaW50ZWwuY29tPg0K PiA+PiBDYzogc3RhYmxlQGRwZGsub3JnOyBaaGFuZywgVGlhbmZlaSA8dGlhbmZlaS56aGFuZ0Bp bnRlbC5jb20+OyBSYXkNCj4gPj4gS2luc2VsbGEgPG1kckBhc2hyb2UuZXU+DQo+ID4+IFN1Ympl Y3Q6IFJlOiBbZHBkay1zdGFibGVdIFtQQVRDSCB2MTEgMS80XSByYXcvaWZwZ2E6IGFkZCBmcGdh IHJzdQ0KPiA+PiBmdW5jdGlvbg0KPiA+Pg0KPiA+PiBPbiAxLzIxLzIwMjEgNjowMyBBTSwgV2Vp IEh1YW5nIHdyb3RlOg0KPiA+Pj4gUlNVIChSZW1vdGUgU3lzdGVtIFVwZGF0ZSkgZGVwZW5kcyBv biBzZWN1cmUgbWFuYWdlciB3aGljaCBtYXkgYmUNCj4gPj4+IGRpZmZlcmVudCBvbiB2YXJpb3Vz IGltcGxlbWVudGF0aW9ucywgc28gYSBuZXcgc2VjdXJlIG1hbmFnZXIgZGV2aWNlDQo+ID4+PiBp cyBpbXBsZW1lbnRlZCBmb3IgYWRhcHRpbmcgc3VjaCBkaWZmZXJlbmNlLg0KPiA+Pj4gVGhlcmUg YXJlIHRocmVlIG1ham9yIGZ1bmN0aW9ucyBhZGRlZDoNCj4gPj4+IDEuIGlmcGdhX3Jhd2Rldl91 cGRhdGVfZmxhc2goKSB1cGRhdGVzIGZsYXNoIHdpdGggc3BlY2lmaWMgaW1hZ2UgZmlsZS4NCj4g Pj4+IDIuIGlmcGdhX3Jhd2Rldl9zdG9wX2ZsYXNoX3VwZGF0ZSgpIGFib3J0cyBmbGFzaCB1cGRh dGUgcHJvY2Vzcy4NCj4gPj4+IDMuIGlmcGdhX3Jhd2Rldl9yZWxvYWQoKSByZWxvYWRzIEZQR0Eg ZnJvbSB1cGRhdGVkIGZsYXNoLg0KPiA+Pj4NCj4gPj4+IFNpZ25lZC1vZmYtYnk6IFdlaSBIdWFu ZyA8d2VpLmh1YW5nQGludGVsLmNvbT4NCj4gPj4+IEFja2VkLWJ5OiBUaWFuZmVpIFpoYW5nIDx0 aWFuZmVpLnpoYW5nQGludGVsLmNvbT4NCj4gPj4+IEFja2VkLWJ5OiBSb3NlbiBYdSA8cm9zZW4u eHVAaW50ZWwuY29tPg0KPiA+Pg0KPiA+PiA8Li4uPg0KPiA+Pg0KPiA+Pj4gQEAgLTc2LDQgKzc2 LDkgQEAgaW50DQo+ID4+PiAgICBpZnBnYV91bnJlZ2lzdGVyX21zaXhfaXJxKGVudW0gaWZwZ2Ff aXJxX3R5cGUgdHlwZSwNCj4gPj4+ICAgIGludCB2ZWNfc3RhcnQsIHJ0ZV9pbnRyX2NhbGxiYWNr X2ZuIGhhbmRsZXIsIHZvaWQgKmFyZyk7DQo+ID4+Pg0KPiA+Pj4gK2ludCBpZnBnYV9yYXdkZXZf dXBkYXRlX2ZsYXNoKHN0cnVjdCBydGVfcmF3ZGV2ICpkZXYsIGNvbnN0IGNoYXINCj4gPj4+ICsq aW1hZ2UsIHVpbnQ2NF90ICpzdGF0dXMpOyBpbnQNCj4gPj4+ICtpZnBnYV9yYXdkZXZfc3RvcF9m bGFzaF91cGRhdGUoc3RydWN0IHJ0ZV9yYXdkZXYgKmRldiwgaW50IGZvcmNlKTsNCj4gPj4+ICtp bnQgaWZwZ2FfcmF3ZGV2X3JlbG9hZChzdHJ1Y3QgcnRlX3Jhd2RldiAqZGV2LCBpbnQgdHlwZSwg aW50DQo+ID4+PiArcGFnZSk7DQo+ID4+PiArDQo+ID4+PiAgICAjZW5kaWYgLyogX0lGUEdBX1JB V0RFVl9IXyAqLw0KPiA+Pj4NCj4gPj4NCj4gPj4gSGkgV2VpLA0KPiA+Pg0KPiA+PiBQbGVhc2Ug aGVscCBtZSB1bmRlcnN0YW5kIHRoZSByYXdkZXYsIHdobyBzaG91bGQgYmUgY2FsbGluZyB0aGUg YWJvdmUNCj4gbmV3bHkgYWRkZWQgZnVuY3Rpb25zPw0KPiA+Pg0KPiAgPg0KPiAgPiBIaSBGZXJy dWgsDQo+ICA+DQo+ICA+IEN5Ym9yZyBpcyBhbiBPcGVuU3RhY2sgcHJvamVjdCB0aGF0IGFpbXMg dG8gcHJvdmlkZSBhIGdlbmVyYWwgcHVycG9zZQ0KPiBtYW5hZ2VtZW50IGZyYW1ld29yayBmb3Ig YWNjZWxlcmF0aW9uIHJlc291cmNlcyAoaS5lLiB2YXJpb3VzIHR5cGVzIG9mDQo+IGFjY2VsZXJh dG9ycyBzdWNoIGFzIEdQVSwgRlBHQSwgTlAsIE9EUCwgRFBESy9TUERLIGFuZCBzbyBvbikuDQo+ ICA+DQo+ICA+IFRvIHVwZGF0ZSB0aGUgRlBHQSBmbGFzaCBpcyBvbmUgb2YgcmVxdWlyZW1lbnRz IGZyb20gQ3lib3JnLiBPcmlnaW5hbGx5DQo+IHRoZXJlIGFyZSBubyBzdWNoIGludGVyZmFjZXMs IHNvIEkgYWRkZWQgdGhlbS4NCj4gID4NCj4gID4gVGhlc2UgaW50ZXJmYWNlcyB1c2UgcnRlX3Jh d2RldiB0byBpZGVudGlmeSB3aGljaCBGUEdBIHRvIGFjY2VzcywgdGhleSB3aWxsDQo+IGJlIGNh bGxlZCBpbiBvcGFlX3VwZGF0ZV9mbGFzaCgpLCAgPiBvcGFlX2NhbmNlbF9mbGFzaF91cGRhdGUo KSBhbmQNCj4gb3BhZV9yZWJvb3RfZGV2aWNlKCkgaW4gaWZwZ2Ffb3BhZV9hcGkuYyAuDQo+ICA+ DQo+ICA+IFRoZXNlIG9wYWVfeHh4IGZ1bmN0aW9uIHVzZSBQQ0kgYWRkcmVzcyB0byBpZGVudGlm eSBGUEdBIGluc3RlYWQgb2YNCj4gcnRlX3Jhd2Rldiwgc28gdGhlIGNhbGxlciBoYXMgbm8gbmVl ZCB0byBrbm93IHRoZSBleGlzdGVuY2Ugb2YgcnRlX3Jhd2Rldi4NCj4gID4gSW4gZmFjdCwgQ3li b3JnIGlzIFB5dGhvbiBhcHBsaWNhdGlvbiwgdGhlc2Ugb3BhZV94eHggZnVuY3Rpb25zIHdpbGwg YmUNCj4gZXZlbnR1YWxseSB3cmFwcGVkIGluIGEgUHl0aG9uIG1vZHVsZSBmb3IgQ3lib3JnIHRv IGNhbGwuDQo+ICA+DQo+IA0KPiBUaGFua3MgZm9yIGNsYXJpZmljYXRpb24sIEkgc2VlIHdoYXQg eW91IGFyZSBkb2luZywgYnV0IHN0aWxsIEkgdGhpbmsgdGhlc2UgQVBJcw0KPiBhcmUgbm90IGJl bG9uZyB0byBhIGRyaXZlciwgdGhleSBsb29rIGxpa2UgbW9yZSBhcHBsaWNhdGlvbiBsZXZlbC4N Cj4gDQo+IEBXZWksIEBSb3Nlbiwgd2hhdCBkbyB5b3UgdGhpbmsgdG8ga2VlcCBvbmx5IGdlbmVy aWMgcmF3L2lwZmdhIEFQSXMgaW4gdGhlDQo+IGRyaXZlciBhbmQgbW92ZSBhbGwgJ2lmcGdhX29w YWVfYXBpLmMvaCcgdG8gdGhlIHNhbXBsZSBhcHBsaWNhdGlvbj8NCg0KQEh1YW5nLCBXZWksIGNv dWxkIHlvdSBjbGFzc2lmeSB3aGljaCBmdW5jdGlvbnMgYXJlIG9ubHkgdXNlZCBpbiBzYW1wbGUg YXBwbGljYXRpb24/DQoNCj4gSW4gdGhhdCBjYXNlIHJhdy9pZnBnYSBBUElzIHN0aWxsIGNhbiBn ZXQgdGhlIHBvcnRfaWQgYXMgcGFyYW1ldGVyLCBhbmQgdGhlDQo+ICdvcGFlJyBsYXllciBpbiB0 aGUgc2FtcGxlIGNhbiBkbyB0aGUgY29udmVyc2lvbj8NCg==