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 59E57A054F for ; Wed, 25 May 2022 12:55:26 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E35B440146; Wed, 25 May 2022 12:55:25 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 0BB1F400EF for ; Wed, 25 May 2022 12:55:23 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1653476124; x=1685012124; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=6rioLKoTo8zfyr9umrm/+ngQ3GSe5tYbZ+mPVrhjLp8=; b=ZiCgUGfzUVyFxVAVTCO+Omz8LyYcCgXoWQVdrg/d+jy3vQgAH5vc/66p ChUTfdpH+dda1HIXU8yGqfoHNQ5bVT6fJtgfjFBBMKIkhf9dq0aA024/t c0PPo0WzpQ0uyshyUn0b3CjkTUBReELPzEC9Q88z0N1AucsTQDlx/+kvO AGnzINA5KTXjtO+///BryiItqQxcVMebs4OjXj9nzRqLHlY0WNPQ6XN8R G6hyUWWG9Q7CL5yaRkq8Ka3vKbXerMfOdOwKlkEkotd5iqrsnbiEqKMZB cnCJPAPqEe9Kfv8Z4Kl+0Bun60VH+oWqRA6oZDSNzFAOrj7RCGBFBZ0g9 w==; X-IronPort-AV: E=McAfee;i="6400,9594,10357"; a="254281383" X-IronPort-AV: E=Sophos;i="5.91,250,1647327600"; d="scan'208";a="254281383" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 May 2022 03:55:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,250,1647327600"; d="scan'208";a="676819392" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga002.fm.intel.com with ESMTP; 25 May 2022 03:55:23 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 25 May 2022 03:55:22 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Wed, 25 May 2022 03:55:22 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.46) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Wed, 25 May 2022 03:55:22 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TJDqQIB6EM7If4dJrLdRAl0+UEOB5YixZgj0VrSGXh0EQMEPey0HtOI4/B60rRisrCIYz9l2XV/rPOI0zbpGYwdPXB8udxLKLqATYTLAqRj0BIGvy24yZZA24FRyvm1+VWw2rKJSNFZKU/3/zsfjidWMSwAKhx7f3cHJt+waJvbGCMB7l42q4mZ/Ueoo15Y1GF67izNCxZd5GU4VfTadU7zRc5YCNHv1ZeLVqvl7qSYYux3HtFw7wGp18sOouxF55oTtIh4BkVCtWwmMF+lt0lzJ/gYhPrJDhxVLIh0C7utY83mNgU63l7/PLq7CD6hb5UkbGpdD+PWM20Y8e/em1Q== 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=6rioLKoTo8zfyr9umrm/+ngQ3GSe5tYbZ+mPVrhjLp8=; b=gGsrHp2OVcq0TwoEBsLjA6K5j6kyG/0ZKX29nXSZzQTrKObnP5zyOclgDaeMPaRcJEfZV9cZAcyydWgq9pZph0NS7gwNZTOTD8YssHbbHulH8jxDxC2P/+0hdGt9Jl09oj8C9eayPw9cFHKP1zUt+ONLJhnam6Duayu7Vj6rr6fAHduxe9fbPMUzI3FRKJEC0UZ+Ee/sTkMg3CGa8ys93Pp2fqdL2fPlb2P+QQU5EuXZw4iLZZEXcOkx4+pJ0jMfnXL7UsO2Hak+SwYhqnGNVf3cHBNFAp/xTs0P8I419tHcsgfv/cbAvYOKFuorl+V16dhUYFv1NyrifEEdp06Xuw== 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 PH0PR11MB4776.namprd11.prod.outlook.com (2603:10b6:510:30::14) by MN0PR11MB6110.namprd11.prod.outlook.com (2603:10b6:208:3ce::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.22; Wed, 25 May 2022 10:55:20 +0000 Received: from PH0PR11MB4776.namprd11.prod.outlook.com ([fe80::5d97:9e45:d75c:be5c]) by PH0PR11MB4776.namprd11.prod.outlook.com ([fe80::5d97:9e45:d75c:be5c%8]) with mapi id 15.20.5273.023; Wed, 25 May 2022 10:55:20 +0000 From: "Kinsella, Ray" To: Antonio Di Bacco , Stephen Hemminger CC: "users@dpdk.org" Subject: RE: Optimizing memory access with DPDK allocated memory Thread-Topic: Optimizing memory access with DPDK allocated memory Thread-Index: AQHYbCSRuf4XDlY8lkGupqcfg2rPQq0n6eGAgAEr5gCAA2CFAIACw/sAgAA467A= Date: Wed, 25 May 2022 10:55:20 +0000 Message-ID: References: <20220520084843.698f04ee@hermes.local> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.500.17 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3ff34c4e-25fc-42ed-4b73-08da3e3d0f94 x-ms-traffictypediagnostic: MN0PR11MB6110:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9kvykD3RzqMZKolqanwUkpqAwLr1UylEb9wTtCx1hW2LSXrPhHFTzPyRPgdQ9Zkfl3BYTLb8W/oWo0uOP/P6dkn9z7j10+SWKJgWXN30wNZdfa2l1bj2MlHyeQOstwvXY3PD+Kj6c+SNeYYh0wbl2gBB12npEJjJOYfTbqhdg9fPabPBHtovlXfW8a9BjOoYn24Ki+a4nUTLwJgdGlaPFbEmB677KnugH59uaPJ9kNNirBTKbdjiipPkBT1i6RhXc+uWQWv2ra1nuZXZuBL52i2Oy31h1iHMx9CEApquNod9fkPBp2onmQsrvNI90LS8ROdDYUfNck9wVvM+2NNLyOLIO16MPcEQpGyD765N4CsMScXhFLKoO3Ei3qgs4wG3M7iw9HqU/106ZsnqTmS3MHyKLaTW7mGdSYElfsG5WuZmW3AR6iR75yhiLV2edVwrzuKAMbcFh+MEbcaT4ld65jxXxuE5X0l0uIv+HqLr6/pUg136XdHfwTtAgbFE5Feak0wfU2vNk757U/n146U3QcE/7Zlp09B7jvFKv8ljB+3ZrFCU47O8HR7EwJ9yqULOlZ0q7CPnRcS5gqu2YX9S1k+lTx8j+tBpus/ZOnj4b3IyQCeSLP4/HVHmpwW6Mx0b1m7e7dT6rbwcQEZsgk8H/EFHWny1CavJE/N9ZJubJAOZ6EmRQau3/qESSEE1DDHsLKyi9lcQp1b9U+Pz4WGhYCvARU1Xq5hWnB92ukBClbVUr9fmB3GeV7YcSMFD8ylaY2GRt3ER019gIJ3bxIfAS/iLNT+Wb3AZ9r4Glh06zuKP7jpTOGBhGUU/Nt7gTBOMofnczYuiRlEwB1zAb32ZE2JULjU28eXQz1cx7ZJRaMw= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB4776.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(110136005)(76116006)(52536014)(8936002)(82960400001)(66946007)(64756008)(5660300002)(38070700005)(4326008)(83380400001)(122000001)(66556008)(66446008)(8676002)(66476007)(316002)(55016003)(2906002)(86362001)(966005)(7696005)(6506007)(38100700002)(33656002)(71200400001)(26005)(53546011)(186003)(508600001)(9686003)(183404003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eGl0VUhDc1ByMGd0aUFDVXRLc05iSEJzSTNGaFc3c1E4L2FRa042aEZEV296?= =?utf-8?B?cUc0UmVPR2g4WEIxODVBQ2NxTE1INVJmUDJrdU5UWjBSd3dSNTVnRG1BUVNE?= =?utf-8?B?WXN0cXZSb0FaeVZCZ3d6aVhiZE5pcENmeXNZb3dRenBiOGlYdXhyQktrZDBZ?= =?utf-8?B?QTFMQ29rd0pBQzlYUHNBU3llR05XZlVqZUo2VlczRDZFbTJGTHhUd0RyTHZq?= =?utf-8?B?eTlqRFBtMkJtTThRdkQvV2dyR3FFL1FEMkhCRkt4UURCakg5ZU1ZNjhnMUdi?= =?utf-8?B?Z28rWk9LbWtMVEtGTmt0bU04TUVOQlR4Um5pSDA5K1hJSE4rRHc1ZGEyZUt4?= =?utf-8?B?YkdoSU9BeGF0aGNpMk53ODdGRlMveXBBN1MwV2k5V1hRTHRYdHB1c284V3BW?= =?utf-8?B?MHFEcW0vc0pMMXp1bFMvZlRNa2dqUExnZEFRMU1nRjVFTUlJYjVoenloN2Jo?= =?utf-8?B?bUVUWEdnYmpVTGFhVGxIR0dWVjNPY3Q1Uy9vMXpTdUs3TGNZWEFaVzhzZ0Rj?= =?utf-8?B?NWhnMVN4dWV6NmQzQzBVRTQyaW1OOVl3dnloY1NFOU56U2hicFRucFRTMmpl?= =?utf-8?B?K1hiU0dhZkJoc1Y4SWord0hyNkR4UkNCUkNqdDdzdU4yUGF0RUJ1Rm1UYmM5?= =?utf-8?B?TFdOb2VNVklyZ1h5cXJrcUtmN24raGhiN25BTFJKQUVnbjFaa1ZrSWdjSUVV?= =?utf-8?B?WVNweXliVFhQMDd1WFlXNmVMd1h0cWtYNURURkUyQ1RJSjFUSENReTZYOHpV?= =?utf-8?B?c3Q0SCt4aWdHdHA1MnF4eFRmblFIZzVSYSttQzJ6OFJHRkl2WW1kMkIxd29Z?= =?utf-8?B?TlA1ZDE5QklDNVUwVmRsUWRUUzYxT2YzUm1FNVAzK1BLaDRLQnl3aUFRSDB6?= =?utf-8?B?QStUdmRoNEJnZXpBcGgyTWVrNkduZlg5UnJTZ0Y0NUdaY0N4aFJwbXQxTzkx?= =?utf-8?B?TG9RdEdXUGdFbk1rTVQ3S0FNZU5RbUw3dngrZ213eTFQdUR2K1BGTHkwQlRY?= =?utf-8?B?YlhOQmh3L0gwaHV5cHFiSUJKWCtQVDdJa2w1eDExNjY3a3NXay92SVhrWHNu?= =?utf-8?B?SHpYUU01WUp2QTVjUUkzZzU3QzZZZTB2WnA0NGE3NVhpbDhuZmJza2lvcXMw?= =?utf-8?B?Tld1eE45TzVXSjF4NEVsQkJKU3FyOWZ3bEJuNVI1R0RWQTI3YjF2ZmI3K1Bm?= =?utf-8?B?WUFnWWhCbHEwdWJJcTU5VUVPRVdFOEVhNGMzUmt0d1c4L0xuS0M2UklNbW5S?= =?utf-8?B?TXhRRDRuaHJMMjBVTkZ3eGpmOGFOZzJoRjMydHdFUm16ODdZUkFVU1FZS0Iw?= =?utf-8?B?MmNlR2F6RXpYK0czaS90eTI4TFZvZnFHNjRUZVp3TnJsYlJzWkw5SjYzSk5X?= =?utf-8?B?Q0VaRGliZkxRMzdZVGVMUVlldzE4L0Z0RkNUaXkvNDArNUtmTlkzM0pJYndR?= =?utf-8?B?ZDlwOE5aSjJtMVBRZEg2VW5RS2NKcnZBSytrSnkrU1FFWnMvZG1XK2R5TzMw?= =?utf-8?B?cGlYcW9Mb3VWRXJ2b0ZyRnUwTDhvbXpMR3BDWFYxRmk3aDhMdG42RnRnbWxw?= =?utf-8?B?YWlUeUtTdFppNFAzdlFHYWdmN2QxWnM0VEJ6WUx5UHBnTzZBWEpteEZnVU9t?= =?utf-8?B?M2dzTW9zZGovVmphcVlWZGF6Sk5pb1U1bXhYUURwd09XQ0Nlbk1zNGk5N1RS?= =?utf-8?B?dFVDaUxSTXRaRXgwOUZ3VWRleW53MU5OT3lJS0djOWFzNnJoV2tjOEtsVjV5?= =?utf-8?B?cUY1b1NBS3l5T1E3d2dPRmtxbHZGaHlnbm9ndE1ycUZJT2h0Q1VmVHdib2pB?= =?utf-8?B?WlcwK3dSdUpYdkZYcTVTQzNIT3FMN3p1TVE4bUp3dEJRanJzYWZxSURLRVRE?= =?utf-8?B?RlJoTlZuelJVRFNSa3F2NlcwcHdLcDd4Y2dqZFh6SUdZODJ6bVAva1dmNmdQ?= =?utf-8?B?S3BEVnlxK21ZTnBielFwa3A4S28vZ20zYjRJYTdhaGhaM1BMSFMyNUpQSXUx?= =?utf-8?B?MlR4UFZicU9PTGJPQVp0VEZDVDdRcGJIbVRkUEtZQjRuN3NKQmxzUHlrQVRN?= =?utf-8?B?VWcvODJTaWxjUGxoazB2SExscnNQWHpWSzVualovMldmaGQ5U2E2dkY2WWFB?= =?utf-8?B?c1JOOGY2NFFwaW9xU3BkeVZQNDlOTm1JRnBJK2VHaHZaKy9yQTNacHkvaEdT?= =?utf-8?B?Y0xqNXNQaWNxU2FSVUpZQXd3OTlLTE51SjNlMlU0UHNLdGtkWVl0RW95QStt?= =?utf-8?B?bkFXR3dzMkIvTHJrQnJTR0hoNXFpYjVMb3lLSjZucitXL3NGZUZSMlJhbmUx?= =?utf-8?B?dHA5c0lPWXhhYldnQ2ZUdUFPalN5MlZITXNodnNjKzRuR1NXUk10QT09?= 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: PH0PR11MB4776.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3ff34c4e-25fc-42ed-4b73-08da3e3d0f94 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 May 2022 10:55:20.1494 (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: pfkT86chPOEtKP8La1SsB2geFRhaZX5mNEaSFS5Di0fWQ0KaT8pWB1mo6hXsu6DrcZHKNHDEbGnw82wkcmP4IQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR11MB6110 X-OriginatorOrg: intel.com X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org SGkgQW50b25pbywNCg0KSWYgaXQgaXMgYW4gSW50ZWwgUGxhdGZvcm0geW91IGFyZSB1c2luZy4N CllvdSBjYW4gdGFrZSBhIGxvb2sgYXQgdGhlIEludGVsIE1lbW9yeSBMYXRlbmN5IENoZWNrZXIu DQpodHRwczovL3d3dy5pbnRlbC5jb20vY29udGVudC93d3cvdXMvZW4vZGV2ZWxvcGVyL2FydGlj bGVzL3Rvb2wvaW50ZWxyLW1lbW9yeS1sYXRlbmN5LWNoZWNrZXIuaHRtbA0KDQooZG9uJ3QgYmUg Zm9vbGVkIGJ5IHRoZSBuYW1lLCBpdCBkb2VzIG1lYXN1cmUgYmFuZHdpZHRoKS4NCg0KUmF5IEsN Cg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IEFudG9uaW8gRGkgQmFjY28gPGEu ZGliYWNjby5rc0BnbWFpbC5jb20+IA0KU2VudDogV2VkbmVzZGF5IDI1IE1heSAyMDIyIDA4OjMw DQpUbzogU3RlcGhlbiBIZW1taW5nZXIgPHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPg0KQ2M6 IHVzZXJzQGRwZGsub3JnDQpTdWJqZWN0OiBSZTogT3B0aW1pemluZyBtZW1vcnkgYWNjZXNzIHdp dGggRFBESyBhbGxvY2F0ZWQgbWVtb3J5DQoNCkp1c3QgdG8gYWRkIHNvbWUgbW9yZSBpbmZvIHRo YXQgY291bGQgcG9zc2libHkgYmUgdXNlZnVsIHRvIHNvbWVvbmUuDQpFdmVuIGlmIGEgcHJvY2Vz c29yIGhhcyBtYW55IG1lbW9yeSBjaGFubmVsczsgdGhlcmUgaXMgYWxzbyBhbm90aGVyIHBhcmFt ZXRlciB0byB0YWtlIGludG8gY29uc2lkZXJhdGlvbiwgYSBnaXZlbiAiY29yZSIgY2Fubm90IGV4 cGxvaXQgYWxsIHRoZSBtZW1vcnkgYmFuZHdpZHRoIGF2YWlsYWJsZS4NCkZvciBleGFtcGxlIGZv ciBhIEREUjQgMjkzMyBNVC9zIHdpdGggNCBjaGFubmVsczoNCnRoZSBtZW1vcnkgYmFuZHdpZHRo IGlzICAgMjkzMyBYIDggKCMgb2YgYnl0ZXMgb2Ygd2lkdGgpIFggNCAoIyBvZg0KY2hhbm5lbHMp ID0gOTMsODY2Ljg4IE1CL3MgYmFuZHdpZHRoLCBvciA5NCBHQi9zIGJ1dCBhIHNpbmdsZSBjb3Jl IChhY2NvcmRpbmcgdG8gbXkgdGVzdHMgd2l0aCBEUERLIHByb2Nlc3Mgd3JpdGluZyBhIDFHQiBo dWdlcGFnZSkgaXMgYWJvdXQgMTIgR0IvcyAod2l0aCBhIGJsb2NrIHNpemUgZXhjZWVkaW5nIHRo ZSBMMyBjYWNoZSBzaXplKS4NCg0KQ2FuIGFueW9uZSBjb25maXJtIHRoYXQgPw0KDQpPbiBNb24s IE1heSAyMywgMjAyMiBhdCAzOjE2IFBNIEFudG9uaW8gRGkgQmFjY28gPGEuZGliYWNjby5rc0Bn bWFpbC5jb20+IHdyb3RlOg0KPg0KPiBHb3QgZmVlZGJhY2sgZnJvbSBhIGd1eSB3b3JraW5nIG9u IEhQQyB3aXRoIERQREsgYW5kIGhlIHRvbGQgbWUgdGhhdCANCj4gd2l0aCBkcGRrIG1lbS10ZXN0 IChkb24ndCBrbm93IHdoZXJlIHRvIGZpbmQgaXQpIEkgc2hvdWxkIGJlIGRvaW5nIA0KPiAxNkdC L3Mgd2l0aCBERFI0ICgyNjY2KSBwZXIgY2hhbm5lbC4gSW4gbXkgY2FzZSB3aXRoIDYgY2hhbm5l bHMgSSANCj4gc2hvdWxkIGJlIGRvaW5nIDkwR0IvcyAuLi4uIHRoYXQgd291bGQgYmUgYW1hemlu ZyENCj4NCj4gT24gU2F0LCBNYXkgMjEsIDIwMjIgYXQgMTE6NDIgQU0gQW50b25pbyBEaSBCYWNj byANCj4gPGEuZGliYWNjby5rc0BnbWFpbC5jb20+IHdyb3RlOg0KPiA+DQo+ID4gSSByZWFkIGEg Y291cGxlIG9mIGFydGljbGVzDQo+ID4gKGh0dHBzOi8vd3d3LnRob21hcy1rcmVubi5jb20vZW4v d2lraS9PcHRpbWl6ZV9tZW1vcnlfcGVyZm9ybWFuY2Vfb2YNCj4gPiBfSW50ZWxfWGVvbl9TY2Fs YWJsZV9zeXN0ZW1zP3h0eHNlYXJjaHNlbGVjdGhpdD0xDQo+ID4gYW5kIHRoaXMgDQo+ID4gaHR0 cHM6Ly93d3cuZXh4YWN0Y29ycC5jb20vYmxvZy9IUEMvYmFsYW5jZS1tZW1vcnktZ3VpZGVsaW5l cy1mb3ItaW4NCj4gPiB0ZWwteGVvbi1zY2FsYWJsZS1mYW1pbHktcHJvY2Vzc29ycykNCj4gPiBh bmQgSSB1bmRlcnN0b29kIGEgbGl0dGxlIGJpdCBtb3JlLg0KPiA+DQo+ID4gSWYgdGhlIFhFT04g bWVtb3J5IGNvbnRyb2xsZXIgaXMgYWJsZSB0byBzcHJlYWQgY29udGlndW91cyBtZW1vcnkgDQo+ ID4gYWNjZXNzZXMgb250byBkaWZmZXJlbnQgY2hhbm5lbHMgaW4gaGFyZHdhcmUgKGFzIFN0ZXBw aGVuIGNvcnJlY3RseSANCj4gPiBzdGF0ZWQpLCB0aGVuLCBob3cgRFBESyB3aXRoIG9wdGlvbiAt biBjYW4gYmVuZWZpdCBhbiBhcHBsaWNhdGlvbj8NCj4gPiBJIGFsc28gY29kZWQgYSB0ZXN0IGFw cGxpY2F0aW9uIHRvIHdyaXRlIGEgMUdCIGh1Z2VwYWdlIGFuZCANCj4gPiBjYWxjdWxhdGUgdGlt ZSBuZWVkZWQgYnV0LCBlcXVpcHBpbmcgYW4gYWRkaXRpb25hbCB0d28gRElNTSBvbiB0d28gDQo+ ID4gdW51c2VkIGNoYW5uZWxzIG9mIG15IGF2YWlsYWJsZSBzaXggY2hhbm5lbHMgbW90aGVyYm9h cmQgKFgxMURQaS1OVCkgDQo+ID4gLCBJIGRpZG4ndCBvYnNlcnZlIGFueSBpbXByb3ZlbWVudC4g VGhpcyBpcyBzdHJhbmdlIGJlY2F1c2UgYWRkaW5nIA0KPiA+IHR3byBjaGFubmVscyB0byB0aGUg NCBhbHJlYWR5IGVxdWlwcGVkIHNob3VsZCBtYWtlIGEgbm90aWNlYWJsZSANCj4gPiBkaWZmZXJl bmNlLg0KPiA+DQo+ID4gRm9yIHJlZmVyZW5jZSB0aGlzIGlzIHRoZSBzbWFsbCBwcm9ncmFtIGZv ciBhbGxvY2F0aW5nIGFuZCB3cml0aW5nIG1lbW9yeS4NCj4gPiBodHRwczovL2dpdGh1Yi5jb20v YWRpYmFjY28vc2ltcGxlX21wX21lbV8yDQo+ID4gYW5kIHRoZSByZXN1bHRzIHdpdGggNCBtZW1v cnkgY2hhbm5lbHM6DQo+ID4gaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vc3ByZWFkc2hlZXRzL2Qv MW1Eb0tZTE1oTU1LRGFPUzNSdUdFbnBQZ1JOS3UNCj4gPiBaT3k0bE1JaEctMU43QjgvZWRpdD91 c3A9c2hhcmluZw0KPiA+DQo+ID4NCj4gPiBPbiBGcmksIE1heSAyMCwgMjAyMiBhdCA1OjQ4IFBN IFN0ZXBoZW4gSGVtbWluZ2VyIA0KPiA+IDxzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZz4gd3Jv dGU6DQo+ID4gPg0KPiA+ID4gT24gRnJpLCAyMCBNYXkgMjAyMiAxMDozNDo0NiArMDIwMCBBbnRv bmlvIERpIEJhY2NvIA0KPiA+ID4gPGEuZGliYWNjby5rc0BnbWFpbC5jb20+IHdyb3RlOg0KPiA+ ID4NCj4gPiA+ID4gTGV0IHVzIHNheSBJIGhhdmUgdHdvIG1lbW9yeSBjaGFubmVscyBlYWNoIG9u ZSB3aXRoIGl0cyBvd24gMTZHQiANCj4gPiA+ID4gbWVtb3J5IG1vZHVsZSwgSSBzdXBwb3NlIHRo ZSBmaXJzdCBtZW1vcnkgY2hhbm5lbCB3aWxsIGJlIHVzZWQgDQo+ID4gPiA+IHdoZW4gYWRkcmVz c2luZyBwaHlzaWNhbCBtZW1vcnkgaW4gdGhlIHJhbmdlIDAgdG8gMHg0IDAwMDAgMDAwMCANCj4g PiA+ID4gYW5kIHRoZSBzZWNvbmQgd2hlbiBhZGRyZXNzaW5nIHBoeXNpY2FsIG1lbW9yeSBpbiB0 aGUgcmFuZ2UgMHg0IDAwMDAgMDAwMCB0byAgMHg3IGZmZmYgZmZmZi4NCj4gPiA+ID4gQ29ycmVj dD8NCj4gPiA+ID4gTm93LCBJIG5lZWQgdG8gaGF2ZSBhIDJHQiBidWZmZXIgd2l0aCBvbmUgIndy aXRlciIgYW5kIG9uZSANCj4gPiA+ID4gInJlYWRlciIsIHRoZSB3cml0ZXIgd3JpdGVzIG9uIGhh bGYgb2YgdGhlIGJ1ZmZlciAoY2FsbCBpdCBBKSANCj4gPiA+ID4gYW5kLCBpbiB0aGUgbWVhbnRp bWUsIHRoZSByZWFkZXIgcmVhZHMgb24gdGhlIG90aGVyIGhhbGYgKEIpLiANCj4gPiA+ID4gV2hl biB0aGUgd3JpdGVyIGZpbmlzaGVzIHdyaXRpbmcgaXRzIGhhbGYgYnVmZmVyIChBKSwgc2lnbmFs IGl0IA0KPiA+ID4gPiB0byB0aGUgcmVhZGVyIGFuZCB0aGV5IHN3YXAsICB0aGUgcmVhZGVyIHN0 YXJ0cyB0byByZWFkIGZyb20gQSBhbmQgd3JpdGVyIHN0YXJ0cyB0byB3cml0ZSB0byBCLg0KPiA+ ID4gPiBJZiBJIGFsbG9jYXRlIHRoZSB3aG9sZSBidWZmZXIgKG9uIHR3byAxR0IgaHVnZXBhZ2Vz KSBhY3Jvc3MgdGhlIA0KPiA+ID4gPiB0d28gbWVtb3J5IGNoYW5uZWxzLCBvbmUgaGFsZiBvZiB0 aGUgYnVmZmVyIGlzIGFsbG9jYXRlZCBvbiB0aGUgDQo+ID4gPiA+IGVuZCBvZiBmaXJzdCBjaGFu bmVsIHdoaWxlIHRoZSBvdGhlciBoYWxmIGlzIGFsbG9jYXRlZCBvbiB0aGUgDQo+ID4gPiA+IHN0 YXJ0IG9mIHRoZSBzZWNvbmQgbWVtb3J5IGNoYW5uZWwsIHdvdWxkIHRoaXMgaW5jcmVhc2UgDQo+ ID4gPiA+IHBlcmZvcm1hbmNlcyBjb21wYXJlZCB0byB0aGUgd2hvbGUgYnVmZmVyIGFsbG9jYXRl ZCB3aXRoaW4gdGhlIHNhbWUgbWVtb3J5IGNoYW5uZWw/DQo+ID4gPg0KPiA+ID4gTW9zdCBzeXN0 ZW1zIGp1c3QgaW50ZXJsZWF2ZSBtZW1vcnkgY2hpcHMgYmFzZWQgb24gbnVtYmVyIG9mIGZpbGxl ZCBzbG90cy4NCj4gPiA+IFRoaXMgaXMgaGFuZGxlZCBieSBCSU9TIGJlZm9yZSBrZXJuZWwgZXZl biBzdGFydHMuDQo+ID4gPiBUaGUgRFBESyBoYXMgYSBudW1iZXIgb2YgbWVtb3J5IGNoYW5uZWxz IHBhcmFtZXRlciBhbmQgd2hhdCBpdCANCj4gPiA+IGRvZXMgaXMgdHJ5IGFuZCBvcHRpbWl6ZSBt ZW1vcnkgYWxsb2NhdGlvbiBieSBzcHJlYWRpbmcuDQo+ID4gPg0KPiA+ID4gTG9va3MgbGlrZSB5 b3UgYXJlIGludmVudGluZyB5b3VyIG93biBsaW1pdGVkIHZlcnNpb24gb2Ygd2hhdCBtZW1pZiBk b2VzLg0K