From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id DDCDEA04DB; Fri, 16 Oct 2020 19:08:02 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AAD79ACAB; Fri, 16 Oct 2020 19:08:01 +0200 (CEST) Received: from hqnvemgate24.nvidia.com (hqnvemgate24.nvidia.com [216.228.121.143]) by dpdk.org (Postfix) with ESMTP id 8B8D55323 for ; Fri, 16 Oct 2020 19:08:00 +0200 (CEST) Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate24.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Fri, 16 Oct 2020 10:06:28 -0700 Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 16 Oct 2020 17:07:56 +0000 Received: from NAM04-CO1-obe.outbound.protection.outlook.com (104.47.45.59) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Fri, 16 Oct 2020 17:07:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ud4OHUxJ1vhpbsJhR5mm4ZNMAlz9xszgIWrLWc2BzcFNbs9eKeGm3doiqpMdyNyjfeHwEnizaLpBzK0MhQUAfHtuqQHffLv/R/Vlx2E08awee/mFbZarNxH/coCZgKhBlTYHRiR4ojruWOPbkxk/uBeKf1vtGxGBL0JJz0UoLqlXwh3TgF7q+Wb0wEnQj6QCke84zJI7sysbKCT/49YY4h7LFUgrabuGiY1+2MJzZkuG+F0eScnBADMysYu/yWN0qAXtneE0gnzJs9OLfBZgGpwdYslQxiF6oXfxO93k2K81E1nQv1C4wyQqLjZ7t3gD+MoXb3cZYkBNAiZYT+lCsA== 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=3ci3VZHdKq6IvHcZCYknNo5HxwdmEukRe7TcAcRKkRk=; b=i7osRXV8KVRSQj/ZuS2kRwovx+/qL4QEvT/eiB44nGK5Z1xY45a3cGmPTMbaXyIcwv2JHX4Trp9prhEw3VdviRWbOZqYYGADeqOFaMzPtT1+LsrY07PS4shn9r1dL7Vcgi0TW+rPSm8Yfh4NJ84m5q/FzHxM2cG1tI/ch/iViqLmzXkXIi6Uma62/eRq8PKQXPlp7pVH2WOcwSvWtRbEWStxWTJirQseLwzJo3VaYUQIX/7Wda5ciQhWJ8OlUKKh6TfO+eAZoitw0Ji4tx06A+ij2jdDkrh7+G/COq+wtymF03BIORLu14FNHjGUxOzNbUueyicmZiH9hPDAyfPg7g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none Received: from MWHPR12MB1360.namprd12.prod.outlook.com (2603:10b6:300:12::7) by MWHPR12MB1504.namprd12.prod.outlook.com (2603:10b6:301:c::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.22; Fri, 16 Oct 2020 17:07:49 +0000 Received: from MWHPR12MB1360.namprd12.prod.outlook.com ([fe80::191b:81c4:8297:c6ce]) by MWHPR12MB1360.namprd12.prod.outlook.com ([fe80::191b:81c4:8297:c6ce%5]) with mapi id 15.20.3477.020; Fri, 16 Oct 2020 17:07:49 +0000 From: Slava Ovsiienko To: Ferruh Yigit , "dev@dpdk.org" CC: NBU-Contact-Thomas Monjalon , "stephen@networkplumber.org" , "olivier.matz@6wind.com" , "jerinjacobk@gmail.com" , "maxime.coquelin@redhat.com" , "david.marchand@redhat.com" , "arybchenko@solarflare.com" Thread-Topic: [dpdk-dev] [PATCH v12 0/6] ethdev: introduce Rx buffer split Thread-Index: AQHWo9vBIOeoSJTcSUq7fvrlVFZCOamadUgAgAAAZAA= Date: Fri, 16 Oct 2020 17:07:49 +0000 Message-ID: References: <1602866680-25920-1-git-send-email-viacheslavo@nvidia.com> <6ea61152-bb96-cbe6-85bd-14cd178ecdc1@intel.com> In-Reply-To: <6ea61152-bb96-cbe6-85bd-14cd178ecdc1@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [95.164.10.10] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9000ad48-33cd-496a-c5b7-08d871f602c7 x-ms-traffictypediagnostic: MWHPR12MB1504: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: mK+ruUyBlbIKn9Hk+gsqyAft4Spno6Wd8Il3SL3a9FFXM51l8wM8jKe9aP7lQzsWoI8OC80+TxUjhb05Z9C7cL5QPNcMlt7vl73inuLYIoiYE6JyppRwOsKHevTTCci0gJwvhB64e8W/NOhCnT1DNIMBS+bzhiBW+FQ86udg7rXUtknFIGOlgCNIpGvcl729KG3oWL0DaHmcIm0OfEgrOwcML/k28Hw5IbXfDXAbMEqbKSNoQqab3KHpb9mkVjKeNOL+4peYYZWKzvoSm4yzEZZp8h+SUuyQb7mKv+Lxwrppg7XCpt21ctndl7NzztQwnllsKPj9dvLLQuABbw1fPsig4Exwc+3F1WyjYxG+CvUWzL1GTe0CU9viWH9VoOAtSHQmtkvKDG02SaQKB80tVw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR12MB1360.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(498600001)(71200400001)(54906003)(5660300002)(55016002)(8676002)(30864003)(52536014)(66946007)(4326008)(2906002)(66476007)(66556008)(64756008)(45080400002)(76116006)(26005)(110136005)(9686003)(186003)(86362001)(66446008)(966005)(6506007)(83380400001)(33656002)(7696005)(8936002)(53546011); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: GsxjY2j/HOLTxWmTj4wcCVNp9xjC4KFtE7crlU9opk8K7wWFVXT6AYqYkVbaS3O3YH3yJM7rtNH6Eo6Y21dXjLJMFbp31rY2aP7TSAxk8H8LcwdcNmGL8PBhiEGDwtW5Ku0q0trIQhu7gWfcif4PeX2UEZ1GuCswHPa/3KDxRBn+jzOB+x0pSTaCNbHRviJizyvkKYCcE5NEbwMlIB4CHoxv0Q2p/PbXuLj1Ih0N8CUhM4sMmvzeRE7mSn2NEqUWQWNtwk9teKqlxDvrAUZE6jdflo4ciiN2hQfVsEb1ty3zNI31PoLgui6yDVThXdtFqStJyiM8Hy7BnvP4Wq5RAroO+ogCNOfw9lEE8NAIAWfLEiMzIatHdyFAo/vAujjeC0tJnq5Rej07y+QIGTxcReAk3ScTBNbLWRs2oGxcyThhmAYsCdbp/Qxp4803WCO2ErjrSW+691FkM5yEjXbegZLI1tqD6KdhDHwWoVn55dbqP9Hy/FRZfmkTxyHwLKNXLI+HilnM/i/y9vMiF9ocm6rwxilRzJfIz9Fy61AMCBq54+7kYAvqSFfb9OH1Lw+gda1u1UvZtUBPaeAA0KprVWK3+BZTNtX6F4CtRaijYqOAhr3q6ZsZ9dsf4iULlBoOP8gOoaLJq+Yr8oFucaFlNw== x-ms-exchange-transport-forked: True 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: MWHPR12MB1360.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9000ad48-33cd-496a-c5b7-08d871f602c7 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Oct 2020 17:07:49.3176 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rRsxObiHSXAxSDVe4qgDj0hKABII+oG4e/heqsTkYfc96oZ8BsQKk6AksC5yKyb6HsxhaXf7UxEIsNSy1tqxKg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1504 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1602867988; bh=3ci3VZHdKq6IvHcZCYknNo5HxwdmEukRe7TcAcRKkRk=; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To: CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References: In-Reply-To:Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ld-processed: x-microsoft-antispam-prvs:x-ms-oob-tlc-oobclassifiers: x-ms-exchange-senderadcheck:x-microsoft-antispam: x-microsoft-antispam-message-info:x-forefront-antispam-report: x-ms-exchange-antispam-messagedata:x-ms-exchange-transport-forked: Content-Type:Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=YId5wklEW3oH8Sh6SkpWEHT9whjC1C02r3UEG8MY1i0M4rw81wn04dvS/bY54N+2M nrnRdFvhKMbuMxOaf3zZid7UxcaepvvwlLfIGjv767wVpZDbjpY64zbOhmiDFPbxsy WZeTpf4U11RXVexajXp6Y9bfmaVyUA2wm8pgzHQ3ZTjxIg7w1MMOmKcsopNctQiYqf XvPSNBbURlwWLD/0RiC+1nMc31FGbCP5k5uoYjtgNM31gVry5VYzNFey5w8KakeJK/ aCOOrAkeMuChv1COzcBQRE6vqI2TVFSXrKq5PsDolJKJUOktn53IIryUEzsok8hvgq yDL0erw3Z+sEw== Subject: Re: [dpdk-dev] [PATCH v12 0/6] ethdev: introduce Rx buffer split X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBGZXJydWggWWlnaXQgPGZlcnJ1 aC55aWdpdEBpbnRlbC5jb20+DQo+IFNlbnQ6IEZyaWRheSwgT2N0b2JlciAxNiwgMjAyMCAyMDow NQ0KPiBUbzogU2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPjsgZGV2QGRw ZGsub3JnDQo+IENjOiBOQlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxv bi5uZXQ+Ow0KPiBzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZzsgb2xpdmllci5tYXR6QDZ3aW5k LmNvbTsNCj4gamVyaW5qYWNvYmtAZ21haWwuY29tOyBtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNv bTsNCj4gZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbTsgYXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNv bQ0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjEyIDAvNl0gZXRoZGV2OiBpbnRy b2R1Y2UgUnggYnVmZmVyIHNwbGl0DQo+IA0KPiBPbiAxMC8xNi8yMDIwIDU6NDQgUE0sIFZpYWNo ZXNsYXYgT3ZzaWllbmtvIHdyb3RlOg0KPiA+IFRoZSBEUERLIGRhdGFwYXRoIGluIHRoZSB0cmFu c21pdCBkaXJlY3Rpb24gaXMgdmVyeSBmbGV4aWJsZS4NCj4gPiBBbiBhcHBsaWNhdGlvbiBjYW4g YnVpbGQgdGhlIG11bHRpLXNlZ21lbnQgcGFja2V0IGFuZCBtYW5hZ2VzIGFsbW9zdA0KPiA+IGFs bCBkYXRhIGFzcGVjdHMgLSB0aGUgbWVtb3J5IHBvb2xzIHdoZXJlIHNlZ21lbnRzIGFyZSBhbGxv Y2F0ZWQgZnJvbSwNCj4gPiB0aGUgc2VnbWVudCBsZW5ndGhzLCB0aGUgbWVtb3J5IGF0dHJpYnV0 ZXMgbGlrZSBleHRlcm5hbCBidWZmZXJzLA0KPiA+IHJlZ2lzdGVyZWQgZm9yIERNQSwgZXRjLg0K PiA+DQo+ID4gSW4gdGhlIHJlY2VpdmluZyBkaXJlY3Rpb24sIHRoZSBkYXRhcGF0aCBpcyBtdWNo IGxlc3MgZmxleGlibGUsIGFuDQo+ID4gYXBwbGljYXRpb24gY2FuIG9ubHkgc3BlY2lmeSB0aGUg bWVtb3J5IHBvb2wgdG8gY29uZmlndXJlIHRoZQ0KPiA+IHJlY2VpdmluZyBxdWV1ZSBhbmQgbm90 aGluZyBtb3JlLiBJbiBvcmRlciB0byBleHRlbmQgcmVjZWl2aW5nDQo+ID4gZGF0YXBhdGggY2Fw YWJpbGl0aWVzIGl0IGlzIHByb3Bvc2VkIHRvIGFkZCB0aGUgd2F5IHRvIHByb3ZpZGUNCj4gPiBl eHRlbmRlZCBpbmZvcm1hdGlvbiBob3cgdG8gc3BsaXQgdGhlIHBhY2tldHMgYmVpbmcgcmVjZWl2 ZWQuDQo+ID4NCj4gPiBUaGUgbmV3IG9mZmxvYWQgZmxhZyBSVEVfRVRIX1JYX09GRkxPQURfQlVG RkVSX1NQTElUIGluIGRldmljZQ0KPiA+IGNhcGFiaWxpdGllcyBpcyBpbnRyb2R1Y2VkIHRvIHBy ZXNlbnQgdGhlIHdheSBmb3IgUE1EIHRvIHJlcG9ydCB0bw0KPiA+IGFwcGxpY2F0aW9uIGFib3V0 IHN1cHBvcnRpbmcgUnggcGFja2V0IHNwbGl0IHRvIGNvbmZpZ3VyYWJsZSBzZWdtZW50cy4NCj4g PiBQcmlvciBpbnZva2luZyB0aGUgcnRlX2V0aF9yeF9xdWV1ZV9zZXR1cCgpIHJvdXRpbmUgYXBw bGljYXRpb24gc2hvdWxkDQo+ID4gY2hlY2sgUlRFX0VUSF9SWF9PRkZMT0FEX0JVRkZFUl9TUExJ VCBmbGFnLg0KPiA+DQo+ID4gVGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmUgaXMgaW50cm9kdWNlZCB0 byBzcGVjaWZ5IHRoZSBSeCBwYWNrZXQgc2VnbWVudA0KPiA+IGZvciBSVEVfRVRIX1JYX09GRkxP QURfQlVGRkVSX1NQTElUIG9mZmxvYWQ6DQo+ID4NCj4gPiBzdHJ1Y3QgcnRlX2V0aF9yeHNlZ19z cGxpdCB7DQo+ID4NCj4gPiAgICAgIHN0cnVjdCBydGVfbWVtcG9vbCAqbXA7IC8qIG1lbW9yeSBw b29scyB0byBhbGxvY2F0ZSBzZWdtZW50IGZyb20gKi8NCj4gPiAgICAgIHVpbnQxNl90IGxlbmd0 aDsgLyogc2VnbWVudCBtYXhpbWFsIGRhdGEgbGVuZ3RoLA0KPiA+IAkJICAgICAgIAljb25maWd1 cmVzICJzcGxpdCBwb2ludCIgKi8NCj4gPiAgICAgIHVpbnQxNl90IG9mZnNldDsgLyogZGF0YSBv ZmZzZXQgZnJvbSBiZWdpbm5pbmcNCj4gPiAJCSAgICAgICAJb2YgbWJ1ZiBkYXRhIGJ1ZmZlciAq Lw0KPiA+ICAgICAgdWludDMyX3QgcmVzZXJ2ZWQ7IC8qIHJlc2VydmVkIGZpZWxkICovIH07DQo+ ID4NCj4gPiBUaGUgc2VnbWVudCBkZXNjcmlwdGlvbnMgYXJlIGFkZGVkIHRvIHRoZSBydGVfZXRo X3J4Y29uZiBzdHJ1Y3R1cmU6DQo+ID4gICAgIHJ4X3NlZyAtIHBvaW50ZXIgdGhlIGFycmF5IG9m IHNlZ21lbnQgZGVzY3JpcHRpb25zLCBlYWNoIGVsZW1lbnQNCj4gPiAgICAgICAgICAgICAgIGRl c2NyaWJlcyB0aGUgbWVtb3J5IHBvb2wsIG1heGltYWwgZGF0YSBsZW5ndGgsIGluaXRpYWwNCj4g PiAgICAgICAgICAgICAgIGRhdGEgb2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyBvZiBkYXRhIGJ1 ZmZlciBpbiBtYnVmLg0KPiA+IAkgICAgIFRoaXMgYXJyYXkgYWxsb3dzIHRvIHNwZWNpZnkgdGhl IGRpZmZlcmVudCBzZXR0aW5ncyBmb3INCj4gPiAJICAgICBlYWNoIHNlZ21lbnQgaW4gaW5kaXZp ZHVhbCBmYXNoaW9uLg0KPiA+ICAgICByeF9uc2VnIC0gbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRo ZSBhcnJheQ0KPiA+DQo+ID4gSWYgdGhlIGV4dGVuZGVkIHNlZ21lbnQgZGVzY3JpcHRpb25zIGlz IHByb3ZpZGVkIHdpdGggdGhlc2UgbmV3IGZpZWxkcw0KPiA+IHRoZSBtcCBwYXJhbWV0ZXIgb2Yg dGhlIHJ0ZV9ldGhfcnhfcXVldWVfc2V0dXAgbXVzdCBiZSBzcGVjaWZpZWQgYXMNCj4gPiBOVUxM IHRvIGF2b2lkIGFtYmlndWl0eS4NCj4gPg0KPiA+IFRoZXJlIGFyZSB0d28gb3B0aW9ucyB0byBz cGVjaWZ5IFJ4IGJ1ZmZlciBjb25maWd1cmF0aW9uOg0KPiA+IC0gbXAgaXMgbm90IE5VTEwsIHJ4 X2NvbmYucnhfc2VnIGlzIE5VTEwsIHJ4X2NvbmYucnhfbnNlZyBpcyB6ZXJvLA0KPiA+ICAgIGl0 IGlzIGNvbXBhdGlibGUgY29uZmlndXJhdGlvbiwgZm9sbG93cyBleGlzdGluZyBpbXBsZW1lbnRh dGlvbiwNCj4gPiAgICBwcm92aWRlcyBzaW5nbGUgcG9vbCBhbmQgbm8gZGVzY3JpcHRpb24gZm9y IHNlZ21lbnQgc2l6ZXMNCj4gPiAgICBhbmQgb2Zmc2V0cy4NCj4gPiAtIG1wIGlzIE5VTEwsIHJ4 X2NvbmYucnhfc2VnIGlzIG5vdCBOVUxMLCByeF9jb25mLnJ4X25zZWcgaXMgbm90DQo+ID4gICAg emVybywgaXQgcHJvdmlkZXMgdGhlIGV4dGVuZGVkIGNvbmZpZ3VyYXRpb24sIGluZGl2aWR1YWxs eSBmb3INCj4gPiAgICBlYWNoIHNlZ21lbnQuDQo+ID4NCj4gPiBmIHRoZSBSeCBxdWV1ZSBpcyBj b25maWd1cmVkIHdpdGggbmV3IHNldHRpbmdzIHRoZSBwYWNrZXRzIGJlaW5nDQo+ID4gcmVjZWl2 ZWQgd2lsbCBiZSBzcGxpdCBpbnRvIG11bHRpcGxlIHNlZ21lbnRzIHB1c2hlZCB0byB0aGUgbWJ1 ZnMgd2l0aA0KPiA+IHNwZWNpZmllZCBhdHRyaWJ1dGVzLiBUaGUgUE1EIHdpbGwgc3BsaXQgdGhl IHJlY2VpdmVkIHBhY2tldHMgaW50bw0KPiA+IG11bHRpcGxlIHNlZ21lbnRzIGFjY29yZGluZyB0 byB0aGUgc3BlY2lmaWNhdGlvbiBpbiB0aGUgZGVzY3JpcHRpb24NCj4gPiBhcnJheS4NCj4gPg0K PiA+IEZvciBleGFtcGxlLCBsZXQncyBzdXBwb3NlIHdlIGNvbmZpZ3VyZWQgdGhlIFJ4IHF1ZXVl IHdpdGggdGhlDQo+ID4gZm9sbG93aW5nIHNlZ21lbnRzOg0KPiA+ICAgICAgc2VnMCAtIHBvb2ww LCBsZW4wPTE0Qiwgb2ZmMD0yDQo+ID4gICAgICBzZWcxIC0gcG9vbDEsIGxlbjE9MjBCLCBvZmYx PTEyOEINCj4gPiAgICAgIHNlZzIgLSBwb29sMiwgbGVuMj0yMEIsIG9mZjI9MEINCj4gPiAgICAg IHNlZzMgLSBwb29sMywgbGVuMz01MTJCLCBvZmYzPTBCDQo+ID4NCj4gPiBUaGUgcGFja2V0IDQ2 IGJ5dGVzIGxvbmcgd2lsbCBsb29rIGxpa2UgdGhlIGZvbGxvd2luZzoNCj4gPiAgICAgIHNlZzAg LSAxNEIgbG9uZyBAIFJURV9QS1RNQlVGX0hFQURST09NICsgMiBpbiBtYnVmIGZyb20gcG9vbDAN Cj4gPiAgICAgIHNlZzEgLSAyMEIgbG9uZyBAIDEyOCBpbiBtYnVmIGZyb20gcG9vbDENCj4gPiAg ICAgIHNlZzIgLSAxMkIgbG9uZyBAIDAgaW4gbWJ1ZiBmcm9tIHBvb2wyDQo+ID4NCj4gPiBUaGUg cGFja2V0IDE1MDAgYnl0ZXMgbG9uZyB3aWxsIGxvb2sgbGlrZSB0aGUgZm9sbG93aW5nOg0KPiA+ ICAgICAgc2VnMCAtIDE0QiBAIFJURV9QS1RNQlVGX0hFQURST09NICsgMiBpbiBtYnVmIGZyb20g cG9vbDANCj4gPiAgICAgIHNlZzEgLSAyMEIgQCAxMjggaW4gbWJ1ZiBmcm9tIHBvb2wxDQo+ID4g ICAgICBzZWcyIC0gMjBCIEAgMCBpbiBtYnVmIGZyb20gcG9vbDINCj4gPiAgICAgIHNlZzMgLSA1 MTJCIEAgMCBpbiBtYnVmIGZyb20gcG9vbDMNCj4gPiAgICAgIHNlZzQgLSA1MTJCIEAgMCBpbiBt YnVmIGZyb20gcG9vbDMNCj4gPiAgICAgIHNlZzUgLSA0MjJCIEAgMCBpbiBtYnVmIGZyb20gcG9v bDMNCj4gPg0KPiA+IFRoZSBvZmZsb2FkIFJURV9FVEhfUlhfT0ZGTE9BRF9TQ0FUVEVSIG11c3Qg YmUgcHJlc2VudCBhbmQNCj4gY29uZmlndXJlZA0KPiA+IHRvIHN1cHBvcnQgbmV3IGJ1ZmZlciBz cGxpdCBmZWF0dXJlIChpZiByeF9uc2VnIGlzIGdyZWF0ZXIgdGhhbiBvbmUpLg0KPiA+DQo+ID4g VGhlIHNwbGl0IGxpbWl0YXRpb25zIGltcG9zZWQgYnkgdW5kZXJseWluZyBQTUQgaXMgcmVwb3J0 ZWQgaW4gdGhlIG5ldw0KPiA+IGludHJvZHVjZWQgcnRlX2V0aF9kZXZfaW5mby0+cnhfc2VnX2Nh cGEgZmllbGQuDQo+ID4NCj4gPiBUaGUgbmV3IGFwcHJvYWNoIHdvdWxkIGFsbG93IHNwbGl0dGlu ZyB0aGUgaW5ncmVzcyBwYWNrZXRzIGludG8NCj4gPiBtdWx0aXBsZSBwYXJ0cyBwdXNoZWQgdG8g dGhlIG1lbW9yeSB3aXRoIGRpZmZlcmVudCBhdHRyaWJ1dGVzLg0KPiA+IEZvciBleGFtcGxlLCB0 aGUgcGFja2V0IGhlYWRlcnMgY2FuIGJlIHB1c2hlZCB0byB0aGUgZW1iZWRkZWQgZGF0YQ0KPiA+ IGJ1ZmZlcnMgd2l0aGluIG1idWZzIGFuZCB0aGUgYXBwbGljYXRpb24gZGF0YSBpbnRvIHRoZSBl eHRlcm5hbA0KPiA+IGJ1ZmZlcnMgYXR0YWNoZWQgdG8gbWJ1ZnMgYWxsb2NhdGVkIGZyb20gdGhl IGRpZmZlcmVudCBtZW1vcnkgcG9vbHMuDQo+ID4gVGhlIG1lbW9yeSBhdHRyaWJ1dGVzIGZvciB0 aGUgc3BsaXQgcGFydHMgbWF5IGRpZmZlciBlaXRoZXIgLSBmb3INCj4gPiBleGFtcGxlIHRoZSBh cHBsaWNhdGlvbiBkYXRhIG1heSBiZSBwdXNoZWQgaW50byB0aGUgZXh0ZXJuYWwgbWVtb3J5DQo+ ID4gbG9jYXRlZCBvbiB0aGUgZGVkaWNhdGVkIHBoeXNpY2FsIGRldmljZSwgc2F5IEdQVSBvciBO Vk1lLiBUaGlzIHdvdWxkDQo+ID4gaW1wcm92ZSB0aGUgRFBESyByZWNlaXZpbmcgZGF0YXBhdGgg ZmxleGliaWxpdHkgd2l0aCBwcmVzZXJ2aW5nDQo+ID4gY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0 aW5nIEFQSS4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFZpYWNoZXNsYXYgT3ZzaWllbmtvIDx2 aWFjaGVzbGF2b0BudmlkaWEuY29tPg0KPiA+IC0tLQ0KPiA+DQo+ID4gdjE6DQo+ID4gaHR0cHM6 Ly9uYW0xMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHAlM0ElMkYl MkZwYXRjaA0KPiA+DQo+IGVzLmRwZGsub3JnJTJGcGF0Y2glMkY3OTU5NCUyRiZhbXA7ZGF0YT0w NCU3QzAxJTdDdmlhY2hlc2xhdm8lNDBuDQo+IHZpZGlhDQo+ID4NCj4gLmNvbSU3QzJhY2ZlZTBm MmJmMTRmZmNmOWMwMDhkODcxZjViM2ZhJTdDNDMwODNkMTU3MjczNDBjMWI3ZGIzOWVmZA0KPiA5 Y2MNCj4gPg0KPiBjMTdhJTdDMCU3QzAlN0M2MzczODQ2NDc0MTgyOTMxOTElN0NVbmtub3duJTdD VFdGcGJHWnNiM2Q4ZXlKDQo+IFdJam9pTUM0dw0KPiA+DQo+IExqQXdNREFpTENKUUlqb2lWMmx1 TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzEwMDAmYW1wOw0KPiBzZGF0DQo+ ID4NCj4gYT03OGphM1VIWWwlMkJseWclMkZqdjFoRExxQ0N5MkdmOVdSRnlpZGdyS1Rud2ZiayUz RCZhbXA7cmVzZXJ2ZWQNCj4gPTANCj4gPiB2MjoNCj4gaHR0cHM6Ly9uYW0xMS5zYWZlbGlua3Mu cHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHAlM0ElMkYlMkZwYXRjaGVzDQo+IC5kcGRr Lm9yZyUyRnBhdGNoJTJGNzk4OTMlMkYmYW1wO2RhdGE9MDQlN0MwMSU3Q3ZpYWNoZXNsYXZvJTQw bnZpDQo+IGRpYS5jb20lN0MyYWNmZWUwZjJiZjE0ZmZjZjljMDA4ZDg3MWY1YjNmYSU3QzQzMDgz ZDE1NzI3MzQwYzFiN2RiMzkNCj4gZWZkOWNjYzE3YSU3QzAlN0MwJTdDNjM3Mzg0NjQ3NDE4Mjkz MTkxJTdDVW5rbm93biU3Q1RXRnBiR1pzYg0KPiAzZDhleUpXSWpvaU1DNHdMakF3TURBaUxDSlFJ am9pVjJsdU16SWlMQ0pCVGlJNklrMWhhV3dpTENKWFZDSTZNbjAlDQo+IDNEJTdDMTAwMCZhbXA7 c2RhdGE9ckxDOGtTNkN4RlI3SXByd0ZqQUwxNlBvNkV4cXclMkJ0cVZuMXNvTlozdjYNCj4gQSUz RCZhbXA7cmVzZXJ2ZWQ9MA0KPiA+ICAgICAgLSBhZGQgZmVhdHVyZSBzdXBwb3J0IHRvIG1seDUg UE1EDQo+ID4NCj4gPiB2MzoNCj4gaHR0cHM6Ly9uYW0xMS5zYWZlbGlua3MucHJvdGVjdGlvbi5v dXRsb29rLmNvbS8/dXJsPWh0dHAlM0ElMkYlMkZwYXRjaGVzDQo+IC5kcGRrLm9yZyUyRnBhdGNo JTJGODAzODklMkYmYW1wO2RhdGE9MDQlN0MwMSU3Q3ZpYWNoZXNsYXZvJTQwbnZpDQo+IGRpYS5j b20lN0MyYWNmZWUwZjJiZjE0ZmZjZjljMDA4ZDg3MWY1YjNmYSU3QzQzMDgzZDE1NzI3MzQwYzFi N2RiMzkNCj4gZWZkOWNjYzE3YSU3QzAlN0MwJTdDNjM3Mzg0NjQ3NDE4MjkzMTkxJTdDVW5rbm93 biU3Q1RXRnBiR1pzYg0KPiAzZDhleUpXSWpvaU1DNHdMakF3TURBaUxDSlFJam9pVjJsdU16SWlM Q0pCVGlJNklrMWhhV3dpTENKWFZDSTZNbjAlDQo+IDNEJTdDMTAwMCZhbXA7c2RhdGE9YkxaNG1u bHVFTW9qbCUyRlAlMkJtRkRCZ084alRIcERvYzdSajM2MldzDQo+IG1kYkprJTNEJmFtcDtyZXNl cnZlZD0wDQo+ID4gICAgICAtIHJ0ZV9ldGhfcnhfcXVldWVfc2V0dXBfZXggaXMgcmVuYW1lZCB0 byBydGVfZXRoX3J4c2VnX3F1ZXVlX3NldHVwDQo+ID4gICAgICAtIERFVl9SWF9PRkZMT0FEX0JV RkZFUl9TUExJVCBpcyByZW5hbWVkIHRvDQo+IFJURV9FVEhfUlhfT0ZGTE9BRF9CVUZGRVJfU1BM SVQNCj4gPiAgICAgIC0gY29tbWl0IG1lc3NhZ2UgdXBkYXRlDQo+ID4gICAgICAtIGRvY3VtZW50 YWlvbiBwcm92aWRlZA0KPiA+ICAgICAgLSByZWxlYXNlIG5vdGVzIHVwZGF0ZQ0KPiA+ICAgICAg LSBtaW5vciBidWcgZml4ZXMgaW4gdGVzdHBtZCByZWxhdGVkIHBhcnQNCj4gPg0KPiA+IHY0Og0K PiBodHRwczovL25hbTExLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0 cCUzQSUyRiUyRnBhdGNoZXMNCj4gLmRwZGsub3JnJTJGcGF0Y2glMkY4MDQwMSUyRiZhbXA7ZGF0 YT0wNCU3QzAxJTdDdmlhY2hlc2xhdm8lNDBudmkNCj4gZGlhLmNvbSU3QzJhY2ZlZTBmMmJmMTRm ZmNmOWMwMDhkODcxZjViM2ZhJTdDNDMwODNkMTU3MjczNDBjMWI3ZGIzOQ0KPiBlZmQ5Y2NjMTdh JTdDMCU3QzAlN0M2MzczODQ2NDc0MTgyOTMxOTElN0NVbmtub3duJTdDVFdGcGJHWnNiDQo+IDNk OGV5SldJam9pTUM0d0xqQXdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pY VkNJNk1uMCUNCj4gM0QlN0MxMDAwJmFtcDtzZGF0YT01bGJSUk1MOUlmOWk1bXVwSjU3ZVglMkJV aGZpZGlzTnJSSEhraFVpYmp3U3MNCj4gJTNEJmFtcDtyZXNlcnZlZD0wDQo+ID4gICAgICAtIGNv bW1vbiBwYXJ0IG9mIHJ4X3F1ZXVlX3NldHVwL3J4c2VnX3F1ZXVlX3NldHVwDQo+ID4NCj4gPiB2 NToNCj4gaHR0cHM6Ly9uYW0xMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJs PWh0dHAlM0ElMkYlMkZwYXRjaGVzDQo+IC5kcGRrLm9yZyUyRnBhdGNoJTJGODA2MDklMkYmYW1w O2RhdGE9MDQlN0MwMSU3Q3ZpYWNoZXNsYXZvJTQwbnZpDQo+IGRpYS5jb20lN0MyYWNmZWUwZjJi ZjE0ZmZjZjljMDA4ZDg3MWY1YjNmYSU3QzQzMDgzZDE1NzI3MzQwYzFiN2RiMzkNCj4gZWZkOWNj YzE3YSU3QzAlN0MwJTdDNjM3Mzg0NjQ3NDE4MjkzMTkxJTdDVW5rbm93biU3Q1RXRnBiR1pzYg0K PiAzZDhleUpXSWpvaU1DNHdMakF3TURBaUxDSlFJam9pVjJsdU16SWlMQ0pCVGlJNklrMWhhV3dp TENKWFZDSTZNbjAlDQo+IDNEJTdDMTAwMCZhbXA7c2RhdGE9UXFmd1FkNkRNa3Jmc1M2OEVOa3ND bEZEYlJ1M1ZXcW9WT2RvdzdBcU8NCj4gWFUlM0QmYW1wO3Jlc2VydmVkPTANCj4gPiAgICAgIC0g cmVmYWN0b3JlZCB0byBhcHByb2FjaCBvZiBwcm92aWRpbmcgc3BsaXQgY29uZmlndXJhdGlvbg0K PiA+ICAgICAgICBpbiB0aGUgcnRlX2V0aF9yeGNvbmYgc3RydWN0dXJlIGluc3RlYWQgb2YgaW50 cm9kdWNpbmcNCj4gPiAgICAgICAgdGhlIG5ldyBBUEkgcm91dGluZQ0KPiA+ICAgICAgLSBhZGRl ZCBzdXBwb3J0IGZvciByeG9mZnMgY29tbWFuZCB0byB0ZXN0cG1kIHRvDQo+ID4gICAgICAgIHBy b3ZpZGUgc2VnbWVudCBvZmZzZXRzIGZvciBjb21wbGV0ZSB0ZXN0aW5nIG9mIHNwbGl0DQo+ID4g ICAgICAgIGNvbmZpZ3VyYXRpb25zDQo+ID4gICAgICAtIHBhdGNoc2V0IGlzIHNwbGl0IGludG8g dHdvIHBhcnRzIC0gUE1EIHBhcnQgd2lsbA0KPiA+ICAgICAgICBiZSBwcmVzZW50ZWQgYXMgc2Vw YXJhdGUgc2VyaWVzDQo+ID4NCj4gPiB2NjoNCj4gaHR0cHM6Ly9uYW0xMS5zYWZlbGlua3MucHJv dGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHAlM0ElMkYlMkZwYXRjaGVzDQo+IC5kcGRrLm9y ZyUyRnBhdGNoJTJGODA3ODUlMkYmYW1wO2RhdGE9MDQlN0MwMSU3Q3ZpYWNoZXNsYXZvJTQwbnZp DQo+IGRpYS5jb20lN0MyYWNmZWUwZjJiZjE0ZmZjZjljMDA4ZDg3MWY1YjNmYSU3QzQzMDgzZDE1 NzI3MzQwYzFiN2RiMzkNCj4gZWZkOWNjYzE3YSU3QzAlN0MwJTdDNjM3Mzg0NjQ3NDE4MjkzMTkx JTdDVW5rbm93biU3Q1RXRnBiR1pzYg0KPiAzZDhleUpXSWpvaU1DNHdMakF3TURBaUxDSlFJam9p VjJsdU16SWlMQ0pCVGlJNklrMWhhV3dpTENKWFZDSTZNbjAlDQo+IDNEJTdDMTAwMCZhbXA7c2Rh dGE9d2ludVpvOTRCQ3N5WDJ0S2JlUUpLWm5aZ1VBNzVyNSUyQnB0RDlZMWI2bg0KPiBZbyUzRCZh bXA7cmVzZXJ2ZWQ9MA0KPiA+ICAgICAgLSB3b3JkeSBjb21tZW50cyByZXBocmFzZWQNCj4gPiAg ICAgIC0gdHlwb3MgZml4ZWQNCj4gPiAgICAgIC0gcnRlX2V0aF9yeF9xdWV1ZV9zZXR1cCBjb25m aWd1cmF0aW9uIGNoZWNrIGlzb2xhdGVkDQo+ID4gICAgICAgIGZvciB0d28gbWFpbiBvcHRpb25z DQo+ID4gICAgICAtIHRoZSByZXN0IG9mIGNvbW1lbnRzIGFkZHJlc3NlZA0KPiA+DQo+ID4gdjc6 DQo+IGh0dHBzOi8vbmFtMTEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1o dHRwJTNBJTJGJTJGcGF0Y2hlcw0KPiAuZHBkay5vcmclMkZwYXRjaCUyRjgwOTc4JTJGJmFtcDtk YXRhPTA0JTdDMDElN0N2aWFjaGVzbGF2byU0MG52aQ0KPiBkaWEuY29tJTdDMmFjZmVlMGYyYmYx NGZmY2Y5YzAwOGQ4NzFmNWIzZmElN0M0MzA4M2QxNTcyNzM0MGMxYjdkYjM5DQo+IGVmZDljY2Mx N2ElN0MwJTdDMCU3QzYzNzM4NDY0NzQxODI5MzE5MSU3Q1Vua25vd24lN0NUV0ZwYkdac2INCj4g M2Q4ZXlKV0lqb2lNQzR3TGpBd01EQWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxD SlhWQ0k2TW4wJQ0KPiAzRCU3QzEwMDAmYW1wO3NkYXRhPW82dnl5bTEwSyUyQnBFcEJ0SlFZWU1u V0VFb1FEQzJwY2dYUVNrdTgNCj4gJTJGSjJQRSUzRCZhbXA7cmVzZXJ2ZWQ9MA0KPiA+ICAgICAg LSBkZXNjcmlwdGlvbiBhcyB1bmlvbiBvZiBmZWF0dXJlIGRlZGljYXRlZCBzZWdtZW50IHNwbGl0 IGRlc2NyaXB0aW9uDQo+ID4gICAgICAtIHRoZSBzcGxpdCBsaW1pdGF0aW9ucyByZXBvcnRlZCBp biB0aGUgcnRlX2V0aF9kZXZfaW5mby0+cnhfc2VnX2NhcGENCj4gPiAgICAgIC0gY29tbWVudHMg bWFkZSBsZXNzIHdvcmR5DQo+ID4NCj4gPiB2ODogLSBiaXRmaWVsZCBpbnN0ZWFkIG9mIHVpbnQ4 Ow0KPiA+ICAgICAgLSBuYW1lZCB1bmlvbiB0byBhdm9pZCB3YXJpbmluZ3M7DQo+ID4gICAgICAt IHR5cG9zIGZpeGVkDQo+ID4NCj4gPg0KPiA+IHY5Og0KPiBodHRwczovL25hbTExLnNhZmVsaW5r cy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cCUzQSUyRiUyRnBhdGNoZXMNCj4gLmRw ZGsub3JnJTJGcGF0Y2glMkY4MTA4MCUyRiZhbXA7ZGF0YT0wNCU3QzAxJTdDdmlhY2hlc2xhdm8l NDBudmkNCj4gZGlhLmNvbSU3QzJhY2ZlZTBmMmJmMTRmZmNmOWMwMDhkODcxZjViM2ZhJTdDNDMw ODNkMTU3MjczNDBjMWI3ZGIzOQ0KPiBlZmQ5Y2NjMTdhJTdDMCU3QzAlN0M2MzczODQ2NDc0MTgy OTMxOTElN0NVbmtub3duJTdDVFdGcGJHWnNiDQo+IDNkOGV5SldJam9pTUM0d0xqQXdNREFpTENK UUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUNCj4gM0QlN0MxMDAwJmFt cDtzZGF0YT1IM2NtY1pPN2ZXdDJBM3F1QVBGTmxKS1ZTdjk3YzUxdlpXbXpNODZoRQ0KPiBNcyUz RCZhbXA7cmVzZXJ2ZWQ9MA0KPiA+ICAgICAgLSBzaW1wbGlmaWVkIHJ0ZV9ldGhfcnhzZWcgdW5p b24NCj4gPiAgICAgIC0gbW92ZWQgb3V0IHdvcmR5IGNvbW1lbnQgZnJvbSBydGVfZXRoX3J4Y29u Zg0KPiA+ICAgICAgLSBydGVfZXRoX3J4c2VnX2NhcGEgdWludDMyIGJpdGZpZWxkIGFuZCBuYW1p bmcNCj4gPiAgICAgIC0gYWRkZWQgZXhwZXJpbWVudGFsIHRhZ3MNCj4gPg0KPiA+IHYxMDogLSBt aXNzZWQgaW4gbWFpbGluZyBsaXN0LCBzZWUgdjExIGZvciBjaGFuZ2VzDQo+ID4NCj4gPiB2MTE6 DQo+IGh0dHBzOi8vbmFtMTEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1o dHRwJTNBJTJGJTJGcGF0Y2hlcw0KPiAuZHBkay5vcmclMkZwYXRjaCUyRjgxMTE2JTJGJmFtcDtk YXRhPTA0JTdDMDElN0N2aWFjaGVzbGF2byU0MG52aQ0KPiBkaWEuY29tJTdDMmFjZmVlMGYyYmYx NGZmY2Y5YzAwOGQ4NzFmNWIzZmElN0M0MzA4M2QxNTcyNzM0MGMxYjdkYjM5DQo+IGVmZDljY2Mx N2ElN0MwJTdDMCU3QzYzNzM4NDY0NzQxODI5MzE5MSU3Q1Vua25vd24lN0NUV0ZwYkdac2INCj4g M2Q4ZXlKV0lqb2lNQzR3TGpBd01EQWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxD SlhWQ0k2TW4wJQ0KPiAzRCU3QzEwMDAmYW1wO3NkYXRhPUNSNVNGWVJFMW9kYlFBeldBaE94RVIw S2NnSVhhZFRqMVVERXElMkJScg0KPiA0RWslM0QmYW1wO3Jlc2VydmVkPTANCj4gPiAgICAgICAt IGRvY3VtZW50YXRpb24gY2xlYW51cCAocmVtb3ZlZCByeHFfaW5mb19nZXQgbWVudGlvbikNCj4g PiAgICAgICAtIG1heF9uc2VnIG1vdmVkIGZyb20gdGhlIHJlY29yZWQgYW5kIGNvbnZlcnRlZCB0 byB1aW50MTZfdDsNCj4gPiAgICAgICAtIHJlc2VydmVkIHVpbnQxNl90IGlzIGFkZGVkIHRvIHJ0 ZV9ldGhfcnhzZWdfY2FwYTsNCj4gPg0KPiA+IHYxMjogLSBfX3J0ZV9leHBlcmltZW50YWwgYXQg c3RydWN0dXJlIGRlY2xhcmF0aW9ucw0KPiA+ICAgICAgICAgY29udmVydGVkIHRvIHRoZSB0YWcg aW4gdGhlIGNvbW1lbnQNCj4gPiAgICAgICAtIHRlc3RwbWQgcG9vbCBuYW1lcyBzaG9ydGVuZWQs IHByZWZpeCBwcm92aWRlZA0KPiA+ICAgICAgIC0gY29tbWVudHMgcmV3b3JkZWQNCj4gPg0KPiA+ IC0tLQ0KPiA+IFZpYWNoZXNsYXYgT3ZzaWllbmtvICg2KToNCj4gPiAgICBldGhkZXY6IGludHJv ZHVjZSBSeCBidWZmZXIgc3BsaXQNCj4gPiAgICBhcHAvdGVzdHBtZDogYWRkIG11bHRpcGxlIHBv b2xzIHBlciBjb3JlIGNyZWF0aW9uDQo+ID4gICAgYXBwL3Rlc3RwbWQ6IGFkZCBidWZmZXIgc3Bs aXQgb2ZmbG9hZCBjb25maWd1cmF0aW9uDQo+ID4gICAgYXBwL3Rlc3RwbWQ6IGFkZCByeHBrdHMg Y29tbWFuZHMgYW5kIHBhcmFtZXRlcnMNCj4gPiAgICBhcHAvdGVzdHBtZDogYWRkIHJ4b2ZmcyBj b21tYW5kcyBhbmQgcGFyYW1ldGVycw0KPiA+ICAgIGFwcC90ZXN0cG1kOiBhZGQgZXh0ZW5kZWQg UnggcXVldWUgc2V0dXANCj4gPg0KPiANCj4gU2VyaWVzIGFwcGxpZWQgdG8gZHBkay1uZXh0LW5l dC9tYWluLCB0aGFua3MuDQoNClRoYW5rcyB0byBhbGwgd2hvZXZlciB3YXMgaW52b2x2ZWQsIGZv ciBkaXNjdXNzaW9uIGFuZCBoZWxwIGluIHNlcmllcyBwb2xpc2hpbmchDQoNCg==