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 8FFC0A0093; Wed, 20 Apr 2022 17:56:09 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3EF75410E1; Wed, 20 Apr 2022 17:56:09 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 719BC406A2 for ; Wed, 20 Apr 2022 17:56:08 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1650470168; x=1682006168; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=r3VcH47YaQNAV+WyYMeyuuurdn8A/d29XfDTOlezIVA=; b=cNSmqYVCncUSrKTLoaOooZIi+PZciCr2OauNQT4disXIedQY59Gf5Ky8 qfdFCOGkauAiIOQmhH+sYFVPUZSqZKV7E3fYP5L6UrIDLKijs0deTZ8jk ChVKaV/kDArYZN/Z4w1QIoC+iMNwo7Wqq7rnsD7/S68Aad5JPMvSeTBpP NDViqKmGZV69i8+B/aZTVjONItwUI5QD1Il/xK9upL5Y6DVOnLXxfifgN 5Oh1W8b5kqqR6rL3YlqhKeIfWUJlf5avpBgIU4WXh8loEwWPRaypRJGAA KQBuKdAsOFFMpkN8XVBQJwxz3sw+rzZKGJAzORGXZgbKllyxW6F7XxRNi g==; X-IronPort-AV: E=McAfee;i="6400,9594,10323"; a="263527886" X-IronPort-AV: E=Sophos;i="5.90,276,1643702400"; d="scan'208";a="263527886" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2022 08:39:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,276,1643702400"; d="scan'208";a="529801005" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga006.jf.intel.com with ESMTP; 20 Apr 2022 08:39:27 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 20 Apr 2022 08:39:27 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) 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.2308.27; Wed, 20 Apr 2022 08:39:26 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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.2308.27 via Frontend Transport; Wed, 20 Apr 2022 08:39:26 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.101) 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.2308.27; Wed, 20 Apr 2022 08:39:26 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OpqZRXfo91vHSVeHEMcfAfuw9ip5RPqM/KJjy6rnCKFDLx1XRWFq53LhuPaQMlMiPsTvXFhrW1K9/ErbSF7EQT9uVP6b3Y7CqDFC9C7K7zY03BHPhVEAt4Bl6fREFmyPm+s4/ldTG0zl5/eMX6707VVd/qnH7wnB/67gIVPlUX6TaJZXxWz2A1pkWjBBnxSpIRsTjQ7CZnV6+Bg2gMWa31WZX2ed27TGBkPgK0E7zU11ynaEPW18RMSsK8Yw3zT1owzwEJ7uwCszWc+7SF9ikmTmmxo+BbB9UoWcuzjfuTJmnMKwotwxWY96rNK/HAUr7wWW1cT1aE3kzM03Ofv1YA== 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=r3VcH47YaQNAV+WyYMeyuuurdn8A/d29XfDTOlezIVA=; b=YYjoZj1lSsiPVoAcVeTxTNZLKCM20K4AgCnZhEKFnobHC/0eoYBdfR31K/ZASnq269pxiVFReRuHz7QPFsTvwDCaeUWBQnHMWGBV089ev9CvX9TA6XnJZ3NJphV4OM3LDkL2hpg3DT0huhokGeDzqntxd0axtZHlmBbVCmiVQbsJHhbJWHHkKCWPrfB6qirc64q6LeKBchBp8ata1S9Ufb8r206tbXTYJz3asUm0Olif7RsSPFeyA8aQ3jOogFY+tdymvxXOSw9LbsuyFNhP8aB5yiuaIQSqYjnULHbOgvVzuSMYKJANUWMpJVgZyv+heKkNQU02meOjmNijGDR8Aw== 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 DM6PR11MB3227.namprd11.prod.outlook.com (2603:10b6:5:5d::16) by CY4PR11MB1768.namprd11.prod.outlook.com (2603:10b6:903:11b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.13; Wed, 20 Apr 2022 15:39:24 +0000 Received: from DM6PR11MB3227.namprd11.prod.outlook.com ([fe80::1ca5:228e:b4f4:506a]) by DM6PR11MB3227.namprd11.prod.outlook.com ([fe80::1ca5:228e:b4f4:506a%3]) with mapi id 15.20.5164.025; Wed, 20 Apr 2022 15:39:24 +0000 From: "Mcnamara, John" To: Ilya Maximets , "Hu, Jiayu" , Maxime Coquelin , "Van Haaren, Harry" , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "Richardson, Bruce" CC: "Pai G, Sunil" , "Stokes, Ian" , "Ferriter, Cian" , "ovs-dev@openvswitch.org" , "dev@dpdk.org" , "O'Driscoll, Tim" , "Finn, Emma" Subject: RE: OVS DPDK DMA-Dev library/Design Discussion Thread-Topic: OVS DPDK DMA-Dev library/Design Discussion Thread-Index: Adg/jDNGcC8G4wWtSxeVfUOuAS3Y6wACLuFQAM6falAAJoZBIAAA0srQAAK2F/AABHBTAAAAvWSAAACgo4AAAF2UgAAAVPwgAAOflKAAGxPQIAGemZWwAAEf4gAAAH3EAAAitdwAAAW7UoACZ1b2wA== Date: Wed, 20 Apr 2022 15:39:24 +0000 Message-ID: References: <98CBD80474FA8B44BF855DF32C47DC35D86F7C@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D86F7D@smartserver.smartshare.dk> <7968dd0b-8647-8d7b-786f-dc876bcbf3f0@redhat.com> <98CBD80474FA8B44BF855DF32C47DC35D86F7E@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D86F80@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D86F82@smartserver.smartshare.dk> <94d817cb-8151-6644-c577-ed8b42d24337@redhat.com> <55c5a37f-3ee8-394b-8cff-e7daecb59f73@ovn.org> <0a414313f07d4781b9bdd8523c2e06f5@intel.com> <5ba635f6-0e7f-a558-b599-674e272cfd1e@ovn.org> In-Reply-To: <5ba635f6-0e7f-a558-b599-674e272cfd1e@ovn.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.401.20 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: e410c507-e21f-4369-2d8f-08da22e3f22e x-ms-traffictypediagnostic: CY4PR11MB1768:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr 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: nEyQOEgA6fCmy7F/nTv0kW4ZgHkCEsyITcYJPBh2GB5WV273hd50q7tKh5pbrP+C9pDcT5gFwAajuXXnfQyJNY03iV0jLPglZv8EHQs6l7DNf8MV1KccuS+ke05+tKpL8yKb2wVW+SuzOkfbWe6Zj80iPRwRFxZXF3XDaa1DlDoEVj14TSWU55/1WajvhPj3gdHH5LpRPZQqKciz1hFJ0q48Okk4T9DLhqgsn5U+Y0ZbV8YOdjlZ6bLImaYEjYTQA4O9ZG8B46p8e/+4Ch82wawRQIttfZPHOTb7vXjEhV7kfaXZo2pAjPUV1/sWCqxngUu6UPyfN/vdIibDhNOHp9pm5BZ5+3mE7CtRF+WTj1IOen8E8jIoQ8d3+e0Um6qy2nqqM/ojlUzYyvWCydILsCvfJ1z0fv6vYzR4lXQtRHGUymbRik16n6ja3Osd6nGrB2k32rRJ15IJmyX1O+8dyHBKlbM0kqHWtHq7Nzb3O6XC9fh7/Lps0BgJM4I3gQhUk/C73CCGUS62TOGNe4DqAA+cgeg7MOrLligURjKM0FOsdHIJvNICsQdvLuvYa0DNVrQQooLkd/fqwLgUNtBDgwoI3I58tK21ICAIHoi8KPlcI9JOqVHQ7cROoxD4I5GmtUtkLF01dLP5vJ92Da1xVkBozzWxTaT06k9oMEmxKZgpvUyusNwZ9Sn06+Zj7u9NOnkuV8y+XfbJQYJwv9QS+g== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3227.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(86362001)(8936002)(2906002)(4326008)(122000001)(64756008)(66946007)(66446008)(66476007)(55016003)(5660300002)(52536014)(8676002)(76116006)(508600001)(66556008)(66574015)(110136005)(26005)(7696005)(9686003)(6506007)(53546011)(186003)(38100700002)(54906003)(83380400001)(6636002)(33656002)(71200400001)(107886003)(82960400001)(316002)(38070700005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bzVsSDVpZnUxNXhtSVhIWkJ6M05nMVhOeURWRkJZazJBQnhZbVFkbElRNVU5?= =?utf-8?B?UU5KTk9XUVlOTUp4bkZvSkdwbHhxNmphZ2ZiNmRCUXdiaVdJT3VaVzdFN1B5?= =?utf-8?B?M3FOWWdIVmNPUjdhK1MxOUY2Y0hudHZRUlFPMUgrRmlFa3FPcUF0Y2FzS3ph?= =?utf-8?B?T3FxQnZFcUVtUTlmYnJLN3JxQ3BQcFNLSTRmNk1Sd2pXejBjWjQxYVEzVk9R?= =?utf-8?B?S09ySFg5dEgyOWVaQkxva3dUSXJ1ZTMxZWo1ZjRXYXhtdkhENjI3UndWTmNO?= =?utf-8?B?WFdvYUNmNE94cHkxcThYWmFUTGRNTktnTi9Kd05VVDNDbmZuL2w3bStuVFNH?= =?utf-8?B?NnZuMHhQUHFFN01BalhIajlGUTBsakVZcStLdzRlWm9qcFV3bWl0cGFLWWd2?= =?utf-8?B?SGI0WG5jcDhHLy9aUC85WVV3cHFoNkQ4VXljSTBqUG5OcTBQSzVFQVBpY1hH?= =?utf-8?B?S1BReDFVTEdtQlZBZXhmajM5aU9uN2tYSERMdE5WSmlMWU1hWlFIZFdieldI?= =?utf-8?B?ekhkdDBBVGNESkF5MFlkb1F5V2pUN1ZYdkNiNSs1aHhYbzVxbmZCSHpGQkpE?= =?utf-8?B?cUdGdTUxTCtyNkxEYWNDNHVaR0JGQmZvem9icngzbFVzVlh3YjgwTmFrQkVQ?= =?utf-8?B?RGlOTGVhU2ozbC9xcDRGemNEbUdaU1VLUU9OdG5Jd0R6S2lRRENRbmdDOE9Y?= =?utf-8?B?QWRwTTF3TzYwbEVzamEyMW1FeXhzOXc5WjdGdERMaWZ3aHZZUXhtOUM2NFRw?= =?utf-8?B?MnRYQnJHRktXY2pDa1IraXI4YlYxUjRhbG9BdzBXVUF0S01pMnBPQ1pESXRh?= =?utf-8?B?L21CaGU3VVp6WU1zbHpHUTR2VWkwSVhyRE40Sk9sOTV3TWdhQ1JabENkY3ZY?= =?utf-8?B?S2RnTDNYQ0U1TEdDUE5IS21DWkRFdzlGMlVEWGpDYml3L1lLRVhkc2d4TG9M?= =?utf-8?B?cHNMS0lSeklSTlVsRzFqcitma2lOR3dTVWxlN05vVHJiMzhYUXBXQVcwWXNS?= =?utf-8?B?bk4vQWN2MW5UdGlZa0l3TTNhYTRpdVRCeWxoYkwzTisxbHkvTGNqTC9lRXVC?= =?utf-8?B?YkpSK1BtZXRrY2hhczJvM0s2WkdhaHI2V2x5bHlTQ1lJZE5KYkNiRWk5KzUz?= =?utf-8?B?WWR5d2FHaVdLR1RCRzBzK01rTFZJdHhLM2xRMUdjUm9YMGQ1aWlFQ2tyR0tv?= =?utf-8?B?cWJzRnExenZsMW5WSUxUMWNqRUdsMUxoZ0dpMVhUaitnajZwdGcycFhvR3Fh?= =?utf-8?B?a0RpL0VQSklwVVpGL29xeEtJRnBvK2RnN28ycWRoUmFYaDdYT05LejZ6Um5M?= =?utf-8?B?c3AySnNOMVhjbkhvNkt3TytoZkN5ODlZVDRZNFkvWWQ0QkRLa0xoam9BdEtl?= =?utf-8?B?ZWlIbTUxWWZOY0hBMFRDcHYwTlVCNU1RR2h0L1NISXdnS3I4MVZmZk5Dd2kr?= =?utf-8?B?cTcxUGtzVmFHZytyZ0srUXE1TlZXM0pibG9nQWRobGJmdm9jTUQwMGlkdUlz?= =?utf-8?B?QXdLci9XTmxoVzZ6aFkxV3lhQ0FYK0gwNHQ3Q1g0Um9BUW4yZGJiaFlaWmpo?= =?utf-8?B?REp2ZXA1NFhucWhERi9JY2tPSlVvTE1FL2hZYTdoQ1BpZkZLa095b3pDYVNt?= =?utf-8?B?YUZuUkNOazFrOGFFZXhmdEgxREtyeUc1R2JtQ1I0aFBtM3NkSmdRbFNnekdM?= =?utf-8?B?SzhJTlQ4VHFxNmpoZDc3UlV6eUhiU01SNGtqb1ZqbjFtWUJlQldac0EvWW1Z?= =?utf-8?B?THBqYkJPL011YzlMRzErYVRid0NZaU5jeDFtVzdqVmpTaHo3VWMxUndiTW5v?= =?utf-8?B?SkhGRWVxS1E0VG9Xck5zcmtPdzgrenFaSEpTWUlGMzRkZlRGdHFhNnpuNXhl?= =?utf-8?B?TzJNS09QUkpOK2Z5Uit1V0ZhOXd2cEFrWmNqYnBEU2NyMEU3S0k5Y2Y5ZXhi?= =?utf-8?B?QzNOaUJJZWpJRkN1QlAzYm9rS0pJeWQra1A4RmtGclZRYkpKNlpQQzJhM0x0?= =?utf-8?B?cFRUbkdVeDkzQ01nR3BHREV2ZlViMVE5eldYdEdXUWJlRmxZRE9lNXIxdHh4?= =?utf-8?B?RXFUOEJEYnp1TXI5dkhQY2lrVkNVQVFON2oxanNMejBaYktqQjVwV1BYRE13?= =?utf-8?B?UXl0Qm9mWTZTVmZwNUlBWDBacDhlNVFxQk84M2JOcDA4bDcxc2FyQ0RmVnRX?= =?utf-8?B?VFY4YXprd0xEUzA4YW41WEZRS0lxdWhHaU5BamtpREt1dGtoZjJmc2pLc0h0?= =?utf-8?B?Rm5FY051bDhUS2lpbi9VU3l5NkxpQ3BSSzA0am9OU2oyZ21uQ3JLRzRHWkIz?= =?utf-8?B?dkVRc0l6NXFqdTNzZ0lkZ2J3TWpIN0VmNG1KbWtXT3QzWGpIV3JzbnJNenhp?= =?utf-8?Q?OlzQFOvfHJBrhRxY=3D?= 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: DM6PR11MB3227.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e410c507-e21f-4369-2d8f-08da22e3f22e X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Apr 2022 15:39:24.1129 (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: aoYanTTahdWnh+lsRT+wlTVyvCRIvHYCcXlKZ26zHzkbikdDSYV5mSgvEKvOWl7EylG0m33d0UKb/y8QsAja+g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1768 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 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBJbHlhIE1heGltZXRzIDxpLm1h eGltZXRzQG92bi5vcmc+DQo+IFNlbnQ6IEZyaWRheSwgQXByaWwgOCwgMjAyMiAxMDo1OCBBTQ0K PiBUbzogSHUsIEppYXl1IDxqaWF5dS5odUBpbnRlbC5jb20+OyBNYXhpbWUgQ29xdWVsaW4NCj4g PG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPjsgVmFuIEhhYXJlbiwgSGFycnkNCj4gPGhhcnJ5 LnZhbi5oYWFyZW5AaW50ZWwuY29tPjsgTW9ydGVuIEJyw7hydXAgPG1iQHNtYXJ0c2hhcmVzeXN0 ZW1zLmNvbT47DQo+IFJpY2hhcmRzb24sIEJydWNlIDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNv bT4NCj4gQ2M6IGkubWF4aW1ldHNAb3ZuLm9yZzsgUGFpIEcsIFN1bmlsIDxzdW5pbC5wYWkuZ0Bp bnRlbC5jb20+OyBTdG9rZXMsDQo+IElhbiA8aWFuLnN0b2tlc0BpbnRlbC5jb20+OyBGZXJyaXRl ciwgQ2lhbiA8Y2lhbi5mZXJyaXRlckBpbnRlbC5jb20+Ow0KPiBvdnMtZGV2QG9wZW52c3dpdGNo Lm9yZzsgZGV2QGRwZGsub3JnOyBNY25hbWFyYSwgSm9obg0KPiA8am9obi5tY25hbWFyYUBpbnRl bC5jb20+OyBPJ0RyaXNjb2xsLCBUaW0gPHRpbS5vZHJpc2NvbGxAaW50ZWwuY29tPjsNCj4gRmlu biwgRW1tYSA8ZW1tYS5maW5uQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IE9WUyBEUERLIERN QS1EZXYgbGlicmFyeS9EZXNpZ24gRGlzY3Vzc2lvbg0KPiANCj4gT24gNC84LzIyIDA5OjEzLCBI dSwgSmlheXUgd3JvdGU6DQo+ID4NCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+PiBGcm9tOiBJbHlhIE1heGltZXRzIDxpLm1heGltZXRzQG92bi5vcmc+DQo+ID4+IFNl bnQ6IFRodXJzZGF5LCBBcHJpbCA3LCAyMDIyIDEwOjQwIFBNDQo+ID4+IFRvOiBNYXhpbWUgQ29x dWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPjsgVmFuIEhhYXJlbiwgSGFycnkNCj4g Pj4gPGhhcnJ5LnZhbi5oYWFyZW5AaW50ZWwuY29tPjsgTW9ydGVuIEJyw7hydXANCj4gPj4gPG1i QHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbT47IFJpY2hhcmRzb24sIEJydWNlDQo+ID4+IDxicnVjZS5y aWNoYXJkc29uQGludGVsLmNvbT4NCj4gPj4gQ2M6IGkubWF4aW1ldHNAb3ZuLm9yZzsgUGFpIEcs IFN1bmlsIDxzdW5pbC5wYWkuZ0BpbnRlbC5jb20+Ow0KPiBTdG9rZXMsDQo+ID4+IElhbiA8aWFu LnN0b2tlc0BpbnRlbC5jb20+OyBIdSwgSmlheXUgPGppYXl1Lmh1QGludGVsLmNvbT47DQo+IEZl cnJpdGVyLA0KPiA+PiBDaWFuIDxjaWFuLmZlcnJpdGVyQGludGVsLmNvbT47IG92cy1kZXZAb3Bl bnZzd2l0Y2gub3JnOw0KPiA+PiBkZXZAZHBkay5vcmc7IE1jbmFtYXJhLCBKb2huIDxqb2huLm1j bmFtYXJhQGludGVsLmNvbT47IE8nRHJpc2NvbGwsDQo+ID4+IFRpbSA8dGltLm9kcmlzY29sbEBp bnRlbC5jb20+OyBGaW5uLCBFbW1hIDxlbW1hLmZpbm5AaW50ZWwuY29tPg0KPiA+PiBTdWJqZWN0 OiBSZTogT1ZTIERQREsgRE1BLURldiBsaWJyYXJ5L0Rlc2lnbiBEaXNjdXNzaW9uDQo+ID4+DQo+ ID4+IE9uIDQvNy8yMiAxNjoyNSwgTWF4aW1lIENvcXVlbGluIHdyb3RlOg0KPiA+Pj4gSGkgSGFy cnksDQo+ID4+Pg0KPiA+Pj4gT24gNC83LzIyIDE2OjA0LCBWYW4gSGFhcmVuLCBIYXJyeSB3cm90 ZToNCj4gPj4+PiBIaSBPVlMgJiBEUERLLCBNYWludGFpbmVycyAmIENvbW11bml0eSwNCj4gPj4+ Pg0KPiA+Pj4+IFRvcCBwb3N0aW5nIG92ZXJ2aWV3IG9mIGRpc2N1c3Npb24gYXMgcmVwbGllcyB0 byB0aHJlYWQgYmVjb21lDQo+IHNsb3dlcjoNCj4gPj4+PiBwZXJoYXBzIGl0IGlzIGEgZ29vZCB0 aW1lIHRvIHJldmlldyBhbmQgcGxhbiBmb3IgbmV4dCBzdGVwcz8NCj4gPj4+Pg0KPiA+Pj4+IMKg RnJvbSBteSBwZXJzcGVjdGl2ZSwgaXQgdGhvc2UgbW9zdCB2b2NhbCBpbiB0aGUgdGhyZWFkIHNl ZW0gdG8gYmUNCj4gPj4+PiBpbiBmYXZvdXIgb2YgdGhlIGNsZWFuIHJ4L3R4IHNwbGl0ICgiZGVm ZXIgd29yayIpLCB3aXRoIHRoZQ0KPiA+Pj4+IHRyYWRlb2ZmIHRoYXQgdGhlIGFwcGxpY2F0aW9u IG11c3QgYmUgYXdhcmUgb2YgaGFuZGxpbmcgdGhlIGFzeW5jDQo+ID4+Pj4gRE1BIGNvbXBsZXRp b25zLiBJZiB0aGVyZSBhcmUgYW55IGNvbmNlcm5zIG9wcG9zaW5nIHVwc3RyZWFtaW5nIG9mDQo+ ID4+Pj4gdGhpcw0KPiA+PiBtZXRob2QsIHBsZWFzZSBpbmRpY2F0ZSB0aGlzIHByb21wdGx5LCBh bmQgd2UgY2FuIGNvbnRpbnVlIHRlY2huaWNhbA0KPiA+PiBkaXNjdXNzaW9ucyBoZXJlIG5vdy4N Cj4gPj4+DQo+ID4+PiBXYXNuJ3QgdGhlcmUgc29tZSBkaXNjdXNzaW9ucyBhYm91dCBoYW5kbGlu ZyB0aGUgVmlydGlvIGNvbXBsZXRpb25zDQo+ID4+PiB3aXRoIHRoZSBETUEgZW5naW5lPyBXaXRo IHRoYXQsIHdlIHdvdWxkbid0IG5lZWQgdGhlIGRlZmVycmFsIG9mDQo+IHdvcmsuDQo+ID4+DQo+ ID4+ICsxDQo+ID4+DQo+ID4+IFdpdGggdGhlIHZpcnRpbyBjb21wbGV0aW9ucyBoYW5kbGVkIGJ5 IERNQSBpdHNlbGYsIHRoZSB2aG9zdCBwb3J0DQo+ID4+IHR1cm5zIGFsbW9zdCBpbnRvIGEgcmVh bCBIVyBOSUMuICBXaXRoIHRoYXQgd2Ugd2lsbCBub3QgbmVlZCBhbnkNCj4gPj4gZXh0cmEgbWFu aXB1bGF0aW9ucyBmcm9tIHRoZSBPVlMgc2lkZSwgaS5lLiBubyBuZWVkIHRvIGRlZmVyIGFueQ0K PiB3b3JrDQo+ID4+IHdoaWxlIG1haW50YWluaW5nIGNsZWFyIHNwbGl0IGJldHdlZW4gcnggYW5k IHR4IG9wZXJhdGlvbnMuDQo+ID4NCj4gPiBGaXJzdCwgbWFraW5nIERNQSBkbyAyQiBjb3B5IHdv dWxkIHNhY3JpZmljZSBwZXJmb3JtYW5jZSwgYW5kIEkgdGhpbmsNCj4gPiB3ZSBhbGwgYWdyZWUg b24gdGhhdC4NCj4gDQo+IEkgZG8gbm90IGFncmVlIHdpdGggdGhhdC4gIFllcywgMkIgY29weSBi eSBETUEgd2lsbCBsaWtlbHkgYmUgc2xvd2VyDQo+IHRoYW4gZG9uZSBieSBDUFUsIGhvd2V2ZXIg Q1BVIGlzIGdvaW5nIGF3YXkgZm9yIGRvemVucyBvciBldmVuIGh1bmRyZWRzDQo+IG9mIHRob3Vz YW5kcyBvZiBjeWNsZXMgdG8gcHJvY2VzcyBhIG5ldyBwYWNrZXQgYmF0Y2ggb3Igc2VydmljZSBv dGhlcg0KPiBwb3J0cywgaGVuY2UgRE1BIHdpbGwgbGlrZWx5IGNvbXBsZXRlIHRoZSB0cmFuc21p c3Npb24gZmFzdGVyIHRoYW4NCj4gd2FpdGluZyBmb3IgdGhlIENQVSB0aHJlYWQgdG8gY29tZSBi YWNrIHRvIHRoYXQgdGFzay4gIEluIGFueSBjYXNlLA0KPiB0aGlzIGhhcyB0byBiZSB0ZXN0ZWQu DQo+IA0KPiA+IFNlY29uZCwgdGhpcyBtZXRob2QgY29tZXMgd2l0aCBhbiBpc3N1ZSBvZiBvcmRl cmluZy4NCj4gPiBGb3IgZXhhbXBsZSwgUE1EIHRocmVhZDAgZW5xdWV1ZSAxMCBwYWNrZXRzIHRv IHZyaW5nMCBmaXJzdCwgdGhlbiBQTUQNCj4gPiB0aHJlYWQxIGVucXVldWUgMjAgcGFja2V0cyB0 byB2cmluZzAuIElmIFBNRCB0aHJlYWQwIGFuZCB0aHJlYTEgaGF2ZQ0KPiA+IG93biBkZWRpY2F0 ZWQgRE1BIGRldmljZSBkbWEwIGFuZCBkbWExLCBmbGFnL2luZGV4IHVwZGF0ZSBmb3IgdGhlDQo+ ID4gZmlyc3QgMTAgcGFja2V0cyBpcyBkb25lIGJ5IGRtYTAsIGFuZCBmbGFnL2luZGV4IHVwZGF0 ZSBmb3IgdGhlIGxlZnQNCj4gPiAyMCBwYWNrZXRzIGlzIGRvbmUgYnkgZG1hMS4gQnV0IHRoZXJl IGlzIG5vIG9yZGVyaW5nIGd1YXJhbnRlZSBhbW9uZw0KPiA+IGRpZmZlcmVudCBETUEgZGV2aWNl cywgc28gZmxhZy9pbmRleCB1cGRhdGUgbWF5IGVycm9yLiBJZiBQTUQgdGhyZWFkcw0KPiA+IGRv bid0IGhhdmUgZGVkaWNhdGVkIERNQSBkZXZpY2VzLCB3aGljaCBtZWFucyBETUEgZGV2aWNlcyBh cmUgc2hhcmVkDQo+ID4gYW1vbmcgdGhyZWFkcywgd2UgbmVlZCBsb2NrIGFuZCBwYXkgZm9yIGxv Y2sgY29udGVudGlvbiBpbiBkYXRhLXBhdGguDQo+ID4gT3Igd2UgY2FuIGFsbG9jYXRlIERNQSBk ZXZpY2VzIGZvciB2cmluZyBkeW5hbWljYWxseSB0byBhdm9pZCBETUENCj4gPiBzaGFyaW5nIGFt b25nIHRocmVhZHMuIEJ1dCB3aGF0J3MgdGhlIG92ZXJoZWFkIG9mIGFsbG9jYXRpb24NCj4gbWVj aGFuaXNtPyBXaG8gZG9lcyBpdD8gQW55IHRob3VnaHRzPw0KPiANCj4gMS4gRE1BIGNvbXBsZXRp b24gd2FzIGRpc2N1c3NlZCBpbiBjb250ZXh0IG9mIHBlci1xdWV1ZSBhbGxvY2F0aW9uLCBzbw0K PiB0aGVyZQ0KPiAgICBpcyBubyByZS1vcmRlcmluZyBpbiB0aGlzIGNhc2UuDQo+IA0KPiAyLiBP dmVyaGVhZCBjYW4gYmUgbWluaW1hbCBpZiBhbGxvY2F0ZWQgZGV2aWNlIGNhbiBzdGljayB0byB0 aGUgcXVldWUNCj4gZm9yIGENCj4gICAgcmVhc29uYWJsZSBhbW91bnQgb2YgdGltZSB3aXRob3V0 IHJlLWFsbG9jYXRpb24gb24gZXZlcnkgc2VuZC4gIFlvdQ0KPiBtYXkNCj4gICAgbG9vayBhdCBY UFMgaW1wbGVtZW50YXRpb24gaW4gbGliL2RwaWYtbmV0ZGV2LmMgaW4gT1ZTIGZvciBleGFtcGxl DQo+IG9mDQo+ICAgIHN1Y2ggbWVjaGFuaXNtLiAgRm9yIHN1cmUgaXQgY2FuIG5vdCBiZSB0aGUg c2FtZSwgYnV0IGlkZWFzIGNhbiBiZQ0KPiByZS11c2VkLg0KPiANCj4gMy4gTG9ja2luZyBkb2Vz bid0IG1lYW4gY29udGVudGlvbiBpZiByZXNvdXJjZXMgYXJlDQo+IGFsbG9jYXRlZC9kaXN0cmli dXRlZA0KPiAgICB0aG91Z2h0ZnVsbHkuDQo+IA0KPiA0LiBBbGxvY2F0aW9uIGNhbiBiZSBkb25l IGJlIGVpdGhlciBPVlMgb3Igdmhvc3QgbGlicmFyeSBpdHNlbGYsIEknZA0KPiB2b3RlDQo+ICAg IGZvciBkb2luZyB0aGF0IGluc2lkZSB0aGUgdmhvc3QgbGlicmFyeSwgc28gYW55IERQREsgYXBw bGljYXRpb24gYW5kDQo+ICAgIHZob3N0IGV0aGRldiBjYW4gdXNlIGl0IHdpdGhvdXQgcmUtaW52 ZW50aW5nIGZyb20gc2NyYXRjaC4gIEl0IGFsc28NCj4gc2hvdWxkDQo+ICAgIGJlIHNpbXBsZXIg ZnJvbSB0aGUgQVBJIHBvaW50IG9mIHZpZXcgaWYgYWxsb2NhdGlvbiBhbmQgdXNhZ2UgYXJlIGlu DQo+ICAgIHRoZSBzYW1lIHBsYWNlLiAgQnV0IEkgZG9uJ3QgaGF2ZSBhIHN0cm9uZyBvcGluaW9u IGhlcmUgYXMgZm9yIG5vdywNCj4gc2luY2UNCj4gICAgbm8gcmVhbCBjb2RlIGV4YW1wbGVzIGV4 aXN0LCBzbyBpdCdzIGhhcmQgdG8gZXZhbHVhdGUgaG93IHRoZXkgY291bGQNCj4gbG9vaw0KPiAg ICBsaWtlLg0KPiANCj4gQnV0IEkgZmVlbCBsaWtlIHdlJ3JlIHN0YXJ0aW5nIHRvIHJ1biBpbiBj aXJjbGVzIGhlcmUgYXMgSSBkaWQgYWxyZWFkeQ0KPiBzYXkgbW9zdCBvZiB0aGF0IGJlZm9yZS4N Cg0KVGhpcyBkb2VzIHNlZW0gdG8gYmUgZ29pbmcgaW4gY2lyY2xlcywgZXNwZWNpYWxseSBzaW5j ZSB0aGVyZSBzZWVtZWQgdG8gYmUgdGVjaG5pY2FsIGFsaWdubWVudCBvbiB0aGUgbGFzdCBwdWJs aWMgY2FsbCBvbiBNYXJjaCAyOXRoLiBJdCBpcyBub3QgZmVhc2libGUgdG8gZG8gYSByZWFsIHdv cmxkIGltcGxlbWVudGF0aW9uL1BPQyBvZiBldmVyeSBkZXNpZ24gcHJvcG9zYWwuIExldCdzIGhh dmUgYW5vdGhlciBjYWxsIHNvIHRoYXQgd2UgY2FuIG1vdmUgdG93YXJkcyBhIHNpbmdsZSBzb2x1 dGlvbiB0aGF0IHRoZSBEUERLIGFuZCBPVlMgY29tbXVuaXRpZXMgYWdyZWUgb24uIEknbGwgc2V0 IHVwIGEgY2FsbCBmb3IgbmV4dCB3ZWVrIGluIGEgc2ltaWxhciB0aW1lIHNsb3QgdG8gdGhlIHBy ZXZpb3VzIG9uZS4NCg0KSm9obg0KLS0gDQoNCg==