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 3EB99A04DD; Sun, 19 Jan 2020 08:25:24 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3214128F3; Sun, 19 Jan 2020 08:25:23 +0100 (CET) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40060.outbound.protection.outlook.com [40.107.4.60]) by dpdk.org (Postfix) with ESMTP id A75F91E34 for ; Sun, 19 Jan 2020 08:25:21 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N9gVYO2kqywerf/h719ht7W3MrmRRG5RP3ToO91k51sQBv2qxk3QjAkX6PKZVP3I3gWyCWNoQBGAwS/xQpCX70PVxSj71K+A6IA09vxJIN3QrkaObc5o85oTE6X50nVrX7OzcRgBnHvUcaa1UywN8GqGTNMGC3TFv2tHZliTmyiR/QbqZnh1cdhaj7BeAByL1C8hUkhbx/GGnULscfDejYBHLoow4IGMKNnYzQdPWXnbqEl4oPsR8jEiBZEZcvIGfTVRiE2LyXGc+CMlndiNfaqn9qEM0+yBg1EeeAODOf/hSXujaJMELX7eRmsO3pY/v0N5jHB8yimwgPL0CtyKCg== 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=Vzsxrcbqkr51vqQ95YdujzblGgCFsIYYEx2s6bQD0xw=; b=ezn9J4nbRtJ1PFCEyCjxL8ilpsn3KWx0kRPH6j7N8NVins2hUyvGLlsEr75fT2GXQAsg5w1Lo1hDnirMR9w1hOiEFNtul9GT8tBschTRJ1/AzczrECdLdqNpo/O+74c9AkeJZ0zdtPx/7HQ+yJTmdAkIR6vvZTkChEQKm3zvHNlURi0B1zjRNOH7L4k3aJ913MDZhrXnUTkL89EFu+3pqqT5c8EKMw/1tQswIwQHnBoYgwZVKrJfBWePru3J6QHHJDjR3IeURQw1V19wGU/U3muCoh24XJAvD7Gl9165ze1PP1MEW31IHpvg7pgZzdhseIn6XtklXceZ9zdTjdU0ww== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Vzsxrcbqkr51vqQ95YdujzblGgCFsIYYEx2s6bQD0xw=; b=eVZYJeGTWQjK8IXjy0gVxyW4DYBP/jQRL3PNlNqbVFG52I+07EjdD+q5s0kMEhdk6dOUzufauXE7sq6hhvN2nIuRCzOKT8YlyiqGpXekiCSeQCBn9SFNehdazVuTEd1/DfEKdX8vORrsD+oyAK9baSKXgx1x2pkJ0dUq17XKP5Y= Received: from AM5PR0501MB2579.eurprd05.prod.outlook.com (10.169.150.151) by AM5PR0501MB2385.eurprd05.prod.outlook.com (10.169.148.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2644.24; Sun, 19 Jan 2020 07:25:20 +0000 Received: from AM5PR0501MB2579.eurprd05.prod.outlook.com ([fe80::189a:c6d4:a60d:9a19]) by AM5PR0501MB2579.eurprd05.prod.outlook.com ([fe80::189a:c6d4:a60d:9a19%8]) with mapi id 15.20.2644.024; Sun, 19 Jan 2020 07:25:18 +0000 From: Ori Kam To: Anoob Joseph , "Medvedkin, Vladimir" , "Ananyev, Konstantin" , Akhil Goyal , Adrien Mazarguil , "Doherty, Declan" , "Yigit, Ferruh" , Jerin Jacob Kollanukkaran , Thomas Monjalon CC: Ankur Dwivedi , Hemant Agrawal , Matan Azrad , "Nicolau, Radu" , Shahaf Shuler , Narayana Prasad Raju Athreya , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [EXT] Re: [PATCH] ethdev: allow multiple security sessions to use one rte flow Thread-Index: AQHVtCwr4uuFDX00UEiog89yHDPTaqe+L+AAgAAzSgCAADe1gIAAqniAgACnDgCAAPdZgIAG32GAgBk0vQCAARxrwIAH/RIAgAAqmcCAAyWgAIAAGTiQgALKtwCAAYSH0A== Date: Sun, 19 Jan 2020 07:25:18 +0000 Message-ID: References: <1575801683-27269-1-git-send-email-anoobj@marvell.com> <1fc05516-3686-4267-a760-edbe0b92bc87@intel.com> <0a7d957d-e1f6-835b-15d8-4bccc491b4f9@intel.com> <8d5062b2-d7a7-9788-5788-01720dbad2f5@intel.com> <23ee9ff1-93ac-3381-d10d-867681c25932@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=orika@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: d6049952-dfc7-4d8e-bdc8-08d79cb0bcab x-ms-traffictypediagnostic: AM5PR0501MB2385:|AM5PR0501MB2385: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0287BBA78D x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(39850400004)(396003)(366004)(376002)(346002)(199004)(189003)(9686003)(53546011)(316002)(6506007)(55016002)(2906002)(26005)(71200400001)(7416002)(186003)(52536014)(5660300002)(15650500001)(8676002)(81166006)(81156014)(33656002)(478600001)(4326008)(7696005)(66446008)(66946007)(66476007)(66556008)(64756008)(110136005)(76116006)(54906003)(8936002)(86362001)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0501MB2385; H:AM5PR0501MB2579.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cDYTDkTEyDneFnuCyxchkmVXGVVFGAIm66/bVaysM4CUNcds5UFe9IHZbxlZxWORa+GZTmuEC13SHME+ObSBMjN4bUkYf3k3ei4URDrz/HtbHaGqbi45EB7oKjskAxFczPRnUTpzHxTnw0Cx67YFbXZCUZZRjA3+fkx1F9r39cpYgABr7BmzCs4BduhkIqQSD7vEmSWWwr+tobQTAalVpDgMwGrgScWWMl8KXxJFNsS/lb6QZuDWYvuI9F6IL70TorOpIMySmUq70aTbcOdQGETxxRg4OYskEOhPohtOToFhuvM5EFcePHl9QbV3mz2Pao/Xf8bCekajBHwVaGKmc84+vA187cmhWixX7yWLR0jwoucaWMR5WTNv+JZ/bLpc/dnFT83AXCGmXd5UMW8bE4ehQc+Y4f0l0OsHrVJnkrkbFUfG1TKE+wCMHmU3qVj+5sXVclEF3p3I7bBJvL65yGVW0uHduMAHRcd4toGnPgte6VK8Klk+mfKp+Kkd4wD9 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: d6049952-dfc7-4d8e-bdc8-08d79cb0bcab X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jan 2020 07:25:18.8154 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: mFoX/CLccZd5dLsleK9yPf2ECiGGcIyLg3incRy1HSSwg1n4JnVHjUHyR3NuFKNMrBEvvARRTB2Y53haw6EnZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0501MB2385 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH] ethdev: allow multiple security sessions to use one rte flow 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" SGkgQW5vb2IsDQoNClRoYW5rcyBmb3IgeW91ciBleHBsYW5hdGlvbi4NCkJlc3QsDQpPcmkNCg0K DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFub29iIEpvc2VwaCA8YW5v b2JqQG1hcnZlbGwuY29tPg0KPiBTZW50OiBTYXR1cmRheSwgSmFudWFyeSAxOCwgMjAyMCAxMDox MiBBTQ0KPiBUbzogT3JpIEthbSA8b3Jpa2FAbWVsbGFub3guY29tPjsgTWVkdmVka2luLCBWbGFk aW1pcg0KPiA8dmxhZGltaXIubWVkdmVka2luQGludGVsLmNvbT47IEFuYW55ZXYsIEtvbnN0YW50 aW4NCj4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+OyBBa2hpbCBHb3lhbCA8YWtoaWwu Z295YWxAbnhwLmNvbT47DQo+IEFkcmllbiBNYXphcmd1aWwgPGFkcmllbi5tYXphcmd1aWxANndp bmQuY29tPjsgRG9oZXJ0eSwgRGVjbGFuDQo+IDxkZWNsYW4uZG9oZXJ0eUBpbnRlbC5jb20+OyBZ aWdpdCwgRmVycnVoIDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsgSmVyaW4NCj4gSmFjb2IgS29s bGFudWtrYXJhbiA8amVyaW5qQG1hcnZlbGwuY29tPjsgVGhvbWFzIE1vbmphbG9uDQo+IDx0aG9t YXNAbW9uamFsb24ubmV0Pg0KPiBDYzogQW5rdXIgRHdpdmVkaSA8YWR3aXZlZGlAbWFydmVsbC5j b20+OyBIZW1hbnQgQWdyYXdhbA0KPiA8aGVtYW50LmFncmF3YWxAbnhwLmNvbT47IE1hdGFuIEF6 cmFkIDxtYXRhbkBtZWxsYW5veC5jb20+Ow0KPiBOaWNvbGF1LCBSYWR1IDxyYWR1Lm5pY29sYXVA aW50ZWwuY29tPjsgU2hhaGFmIFNodWxlcg0KPiA8c2hhaGFmc0BtZWxsYW5veC5jb20+OyBOYXJh eWFuYSBQcmFzYWQgUmFqdSBBdGhyZXlhDQo+IDxwYXRocmV5YUBtYXJ2ZWxsLmNvbT47IGRldkBk cGRrLm9yZw0KPiBTdWJqZWN0OiBSRTogW2RwZGstZGV2XSBbRVhUXSBSZTogW1BBVENIXSBldGhk ZXY6IGFsbG93IG11bHRpcGxlIHNlY3VyaXR5DQo+IHNlc3Npb25zIHRvIHVzZSBvbmUgcnRlIGZs b3cNCj4gDQo+IEhpIE9yaSwNCj4gDQo+IFBsZWFzZSBzZWUgaW5saW5lLg0KPiANCj4gVGhhbmtz LA0KPiBBbm9vYg0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206 IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT4NCj4gPiBTZW50OiBUaHVyc2RheSwgSmFudWFy eSAxNiwgMjAyMCA3OjA4IFBNDQo+ID4gVG86IEFub29iIEpvc2VwaCA8YW5vb2JqQG1hcnZlbGwu Y29tPjsgTWVkdmVka2luLCBWbGFkaW1pcg0KPiA+IDx2bGFkaW1pci5tZWR2ZWRraW5AaW50ZWwu Y29tPjsgQW5hbnlldiwgS29uc3RhbnRpbg0KPiA+IDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwu Y29tPjsgQWtoaWwgR295YWwgPGFraGlsLmdveWFsQG54cC5jb20+Ow0KPiBBZHJpZW4NCj4gPiBN YXphcmd1aWwgPGFkcmllbi5tYXphcmd1aWxANndpbmQuY29tPjsgRG9oZXJ0eSwgRGVjbGFuDQo+ ID4gPGRlY2xhbi5kb2hlcnR5QGludGVsLmNvbT47IFlpZ2l0LCBGZXJydWggPGZlcnJ1aC55aWdp dEBpbnRlbC5jb20+OyBKZXJpbg0KPiBKYWNvYg0KPiA+IEtvbGxhbnVra2FyYW4gPGplcmluakBt YXJ2ZWxsLmNvbT47IFRob21hcyBNb25qYWxvbg0KPiA+IDx0aG9tYXNAbW9uamFsb24ubmV0Pg0K PiA+IENjOiBBbmt1ciBEd2l2ZWRpIDxhZHdpdmVkaUBtYXJ2ZWxsLmNvbT47IEhlbWFudCBBZ3Jh d2FsDQo+ID4gPGhlbWFudC5hZ3Jhd2FsQG54cC5jb20+OyBNYXRhbiBBenJhZCA8bWF0YW5AbWVs bGFub3guY29tPjsNCj4gTmljb2xhdSwNCj4gPiBSYWR1IDxyYWR1Lm5pY29sYXVAaW50ZWwuY29t PjsgU2hhaGFmIFNodWxlciA8c2hhaGFmc0BtZWxsYW5veC5jb20+Ow0KPiA+IE5hcmF5YW5hIFBy YXNhZCBSYWp1IEF0aHJleWEgPHBhdGhyZXlhQG1hcnZlbGwuY29tPjsgZGV2QGRwZGsub3JnDQo+ ID4gU3ViamVjdDogUkU6IFtkcGRrLWRldl0gW0VYVF0gUmU6IFtQQVRDSF0gZXRoZGV2OiBhbGxv dyBtdWx0aXBsZSBzZWN1cml0eQ0KPiA+IHNlc3Npb25zIHRvIHVzZSBvbmUgcnRlIGZsb3cNCj4g Pg0KPiA+IEp1c3Qgb25lIG1vcmUgcXVlc3Rpb24gaW5saW5lLg0KPiA+DQo+ID4gPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogZGV2IDxkZXYtYm91bmNlc0BkcGRrLm9y Zz4gT24gQmVoYWxmIE9mIEFub29iIEpvc2VwaA0KPiA+ID4gU2VudDogVGh1cnNkYXksIEphbnVh cnkgMTYsIDIwMjAgMjowMyBQTQ0KPiA+ID4gVG86IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNv bT47IE1lZHZlZGtpbiwgVmxhZGltaXINCj4gPiA+IDx2bGFkaW1pci5tZWR2ZWRraW5AaW50ZWwu Y29tPjsgQW5hbnlldiwgS29uc3RhbnRpbg0KPiA+ID4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRl bC5jb20+OyBBa2hpbCBHb3lhbCA8YWtoaWwuZ295YWxAbnhwLmNvbT47DQo+ID4gPiBBZHJpZW4g TWF6YXJndWlsIDxhZHJpZW4ubWF6YXJndWlsQDZ3aW5kLmNvbT47IERvaGVydHksIERlY2xhbg0K PiA+ID4gPGRlY2xhbi5kb2hlcnR5QGludGVsLmNvbT47IFlpZ2l0LCBGZXJydWggPGZlcnJ1aC55 aWdpdEBpbnRlbC5jb20+Ow0KPiA+ID4gSmVyaW4gSmFjb2IgS29sbGFudWtrYXJhbiA8amVyaW5q QG1hcnZlbGwuY29tPjsgVGhvbWFzIE1vbmphbG9uDQo+ID4gPiA8dGhvbWFzQG1vbmphbG9uLm5l dD4NCj4gPiA+IENjOiBBbmt1ciBEd2l2ZWRpIDxhZHdpdmVkaUBtYXJ2ZWxsLmNvbT47IEhlbWFu dCBBZ3Jhd2FsDQo+ID4gPiA8aGVtYW50LmFncmF3YWxAbnhwLmNvbT47IE1hdGFuIEF6cmFkIDxt YXRhbkBtZWxsYW5veC5jb20+Ow0KPiA+IE5pY29sYXUsDQo+ID4gPiBSYWR1IDxyYWR1Lm5pY29s YXVAaW50ZWwuY29tPjsgU2hhaGFmIFNodWxlcg0KPiA8c2hhaGFmc0BtZWxsYW5veC5jb20+Ow0K PiA+ID4gTmFyYXlhbmEgUHJhc2FkIFJhanUgQXRocmV5YSA8cGF0aHJleWFAbWFydmVsbC5jb20+ OyBkZXZAZHBkay5vcmcNCj4gPiA+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtFWFRdIFJlOiBb UEFUQ0hdIGV0aGRldjogYWxsb3cgbXVsdGlwbGUNCj4gPiA+IHNlY3VyaXR5IHNlc3Npb25zIHRv IHVzZSBvbmUgcnRlIGZsb3cNCj4gPiA+DQo+ID4gPiBIaSBPcmksDQo+ID4gPg0KPiA+ID4gUGxl YXNlIHNlZSBpbmxpbmUuDQo+ID4gPg0KPiA+ID4gVGhhbmtzLA0KPiA+ID4gQW5vb2INCj4gPiA+ DQo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IGRldiA8 ZGV2LWJvdW5jZXNAZHBkay5vcmc+IE9uIEJlaGFsZiBPZiBPcmkgS2FtDQo+ID4gPiA+IFNlbnQ6 IFRodXJzZGF5LCBKYW51YXJ5IDE2LCAyMDIwIDU6MDYgUE0NCj4gPiA+ID4gVG86IEFub29iIEpv c2VwaCA8YW5vb2JqQG1hcnZlbGwuY29tPjsgTWVkdmVka2luLCBWbGFkaW1pcg0KPiA+ID4gPiA8 dmxhZGltaXIubWVkdmVka2luQGludGVsLmNvbT47IEFuYW55ZXYsIEtvbnN0YW50aW4NCj4gPiA+ ID4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+OyBBa2hpbCBHb3lhbCA8YWtoaWwuZ295 YWxAbnhwLmNvbT47DQo+ID4gPiBBZHJpZW4NCj4gPiA+ID4gTWF6YXJndWlsIDxhZHJpZW4ubWF6 YXJndWlsQDZ3aW5kLmNvbT47IERvaGVydHksIERlY2xhbg0KPiA+ID4gPiA8ZGVjbGFuLmRvaGVy dHlAaW50ZWwuY29tPjsgWWlnaXQsIEZlcnJ1aCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47DQo+ ID4gPiA+IEplcmluDQo+ID4gPiBKYWNvYg0KPiA+ID4gPiBLb2xsYW51a2thcmFuIDxqZXJpbmpA bWFydmVsbC5jb20+OyBUaG9tYXMgTW9uamFsb24NCj4gPiA+ID4gPHRob21hc0Btb25qYWxvbi5u ZXQ+DQo+ID4gPiA+IENjOiBBbmt1ciBEd2l2ZWRpIDxhZHdpdmVkaUBtYXJ2ZWxsLmNvbT47IEhl bWFudCBBZ3Jhd2FsDQo+ID4gPiA+IDxoZW1hbnQuYWdyYXdhbEBueHAuY29tPjsgTWF0YW4gQXpy YWQgPG1hdGFuQG1lbGxhbm94LmNvbT47DQo+ID4gPiBOaWNvbGF1LA0KPiA+ID4gPiBSYWR1IDxy YWR1Lm5pY29sYXVAaW50ZWwuY29tPjsgU2hhaGFmIFNodWxlcg0KPiA8c2hhaGFmc0BtZWxsYW5v eC5jb20+Ow0KPiA+ID4gPiBOYXJheWFuYSBQcmFzYWQgUmFqdSBBdGhyZXlhIDxwYXRocmV5YUBt YXJ2ZWxsLmNvbT47DQo+IGRldkBkcGRrLm9yZw0KPiA+ID4gPiBTdWJqZWN0OiBSZTogW2RwZGst ZGV2XSBbRVhUXSBSZTogW1BBVENIXSBldGhkZXY6IGFsbG93IG11bHRpcGxlDQo+ID4gPiA+IHNl Y3VyaXR5IHNlc3Npb25zIHRvIHVzZSBvbmUgcnRlIGZsb3cNCj4gPiA+ID4NCj4gPiA+ID4NCj4g PiA+ID4NCj4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+IEZy b206IGRldiA8ZGV2LWJvdW5jZXNAZHBkay5vcmc+IE9uIEJlaGFsZiBPZiBBbm9vYiBKb3NlcGgN Cj4gPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBKYW51YXJ5IDE0LCAyMDIwIDExOjI4IEFNDQo+ID4g PiA+ID4gVG86IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT47IE1lZHZlZGtpbiwgVmxhZGlt aXINCj4gPiA+ID4gPiA8dmxhZGltaXIubWVkdmVka2luQGludGVsLmNvbT47IEFuYW55ZXYsIEtv bnN0YW50aW4NCj4gPiA+ID4gPiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT47IEFraGls IEdveWFsDQo+IDxha2hpbC5nb3lhbEBueHAuY29tPjsNCj4gPiA+ID4gPiBBZHJpZW4gTWF6YXJn dWlsIDxhZHJpZW4ubWF6YXJndWlsQDZ3aW5kLmNvbT47IERvaGVydHksIERlY2xhbg0KPiA+ID4g PiA+IDxkZWNsYW4uZG9oZXJ0eUBpbnRlbC5jb20+OyBZaWdpdCwgRmVycnVoDQo+ID4gPiA+ID4g PGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBKZXJpbiBKYWNvYiBLb2xsYW51a2thcmFuDQo+ID4g PiA+ID4gPGplcmluakBtYXJ2ZWxsLmNvbT47IFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmph bG9uLm5ldD4NCj4gPiA+ID4gPiBDYzogQW5rdXIgRHdpdmVkaSA8YWR3aXZlZGlAbWFydmVsbC5j b20+OyBIZW1hbnQgQWdyYXdhbA0KPiA+ID4gPiA+IDxoZW1hbnQuYWdyYXdhbEBueHAuY29tPjsg TWF0YW4gQXpyYWQNCj4gPG1hdGFuQG1lbGxhbm94LmNvbT47DQo+ID4gPiA+IE5pY29sYXUsDQo+ ID4gPiA+ID4gUmFkdSA8cmFkdS5uaWNvbGF1QGludGVsLmNvbT47IFNoYWhhZiBTaHVsZXINCj4g PiA+IDxzaGFoYWZzQG1lbGxhbm94LmNvbT47DQo+ID4gPiA+ID4gTmFyYXlhbmEgUHJhc2FkIFJh anUgQXRocmV5YSA8cGF0aHJleWFAbWFydmVsbC5jb20+Ow0KPiBkZXZAZHBkay5vcmcNCj4gPiA+ ID4gPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbRVhUXSBSZTogW1BBVENIXSBldGhkZXY6IGFs bG93IG11bHRpcGxlDQo+ID4gPiA+ID4gc2VjdXJpdHkgc2Vzc2lvbnMgdG8gdXNlIG9uZSBydGUg Zmxvdw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSGkgT3JpLA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g UGxlYXNlIHNlZSBpbmxpbmUuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBUaGFua3MsDQo+ID4gPiA+ ID4gQW5vb2INCj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPiA+ID4gPiA+IEZyb206IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT4NCj4gPiA+ ID4gPiA+IFNlbnQ6IFRodXJzZGF5LCBKYW51YXJ5IDksIDIwMjAgMTowNiBQTQ0KPiA+ID4gPiA+ ID4gVG86IE1lZHZlZGtpbiwgVmxhZGltaXIgPHZsYWRpbWlyLm1lZHZlZGtpbkBpbnRlbC5jb20+ Ow0KPiBBbmFueWV2LA0KPiA+ID4gPiA+ID4gS29uc3RhbnRpbiA8a29uc3RhbnRpbi5hbmFueWV2 QGludGVsLmNvbT47IEFub29iIEpvc2VwaA0KPiA+ID4gPiA+ID4gPGFub29iakBtYXJ2ZWxsLmNv bT47IEFraGlsIEdveWFsIDxha2hpbC5nb3lhbEBueHAuY29tPjsNCj4gQWRyaWVuDQo+ID4gPiA+ ID4gPiBNYXphcmd1aWwgPGFkcmllbi5tYXphcmd1aWxANndpbmQuY29tPjsgRG9oZXJ0eSwgRGVj bGFuDQo+ID4gPiA+ID4gPiA8ZGVjbGFuLmRvaGVydHlAaW50ZWwuY29tPjsgWWlnaXQsIEZlcnJ1 aA0KPiA+ID4gPiA+ID4gPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBKZXJpbiBKYWNvYiBLb2xs YW51a2thcmFuDQo+ID4gPiA+ID4gPiA8amVyaW5qQG1hcnZlbGwuY29tPjsgVGhvbWFzIE1vbmph bG9uIDx0aG9tYXNAbW9uamFsb24ubmV0Pg0KPiA+ID4gPiA+ID4gQ2M6IEFua3VyIER3aXZlZGkg PGFkd2l2ZWRpQG1hcnZlbGwuY29tPjsgSGVtYW50IEFncmF3YWwNCj4gPiA+ID4gPiA+IDxoZW1h bnQuYWdyYXdhbEBueHAuY29tPjsgTWF0YW4gQXpyYWQNCj4gPG1hdGFuQG1lbGxhbm94LmNvbT47 DQo+ID4gPiA+IE5pY29sYXUsDQo+ID4gPiA+ID4gPiBSYWR1IDxyYWR1Lm5pY29sYXVAaW50ZWwu Y29tPjsgU2hhaGFmIFNodWxlcg0KPiA+ID4gPHNoYWhhZnNAbWVsbGFub3guY29tPjsNCj4gPiA+ ID4gPiA+IE5hcmF5YW5hIFByYXNhZCBSYWp1IEF0aHJleWEgPHBhdGhyZXlhQG1hcnZlbGwuY29t PjsNCj4gPiA+IGRldkBkcGRrLm9yZw0KPiA+ID4gPiA+ID4gU3ViamVjdDogUkU6IFtkcGRrLWRl dl0gW0VYVF0gUmU6IFtQQVRDSF0gZXRoZGV2OiBhbGxvdyBtdWx0aXBsZQ0KPiA+ID4gPiA+ID4g c2VjdXJpdHkgc2Vzc2lvbnMgdG8gdXNlIG9uZSBydGUgZmxvdw0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+IEhpDQo+ID4gPiA+ID4gPiBzb3JyeSBmb3IganVtcGluZyBpbiBsYXRlLg0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+ID4gPiA+ID4gPiA+IEZyb206IGRldiA8ZGV2LWJvdW5jZXNAZHBkay5vcmc+IE9uIEJl aGFsZiBPZiBNZWR2ZWRraW4sDQo+ID4gPiBWbGFkaW1pcg0KPiA+ID4gPiA+ID4gPiBTZW50OiBX ZWRuZXNkYXksIEphbnVhcnkgOCwgMjAyMCA0OjMwIFBNDQo+ID4gPiA+ID4gPiA+IFRvOiBBbmFu eWV2LCBLb25zdGFudGluIDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPjsNCj4gQW5vb2IN Cj4gPiA+ID4gPiBKb3NlcGgNCj4gPiA+ID4gPiA+ID4gPGFub29iakBtYXJ2ZWxsLmNvbT47IEFr aGlsIEdveWFsIDxha2hpbC5nb3lhbEBueHAuY29tPjsNCj4gPiA+ID4gPiA+ID4gQWRyaWVuIE1h emFyZ3VpbCA8YWRyaWVuLm1hemFyZ3VpbEA2d2luZC5jb20+OyBEb2hlcnR5LA0KPiBEZWNsYW4N Cj4gPiA+ID4gPiA+ID4gPGRlY2xhbi5kb2hlcnR5QGludGVsLmNvbT47IFlpZ2l0LCBGZXJydWgN Cj4gPiA+ID4gPiA+ID4gPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+Ow0KPiA+ID4gPiA+IEplcmlu DQo+ID4gPiA+ID4gPiA+IEphY29iIEtvbGxhbnVra2FyYW4gPGplcmluakBtYXJ2ZWxsLmNvbT47 IFRob21hcyBNb25qYWxvbg0KPiA+ID4gPiA+ID4gPiA8dGhvbWFzQG1vbmphbG9uLm5ldD4NCj4g PiA+ID4gPiA+ID4gQ2M6IEFua3VyIER3aXZlZGkgPGFkd2l2ZWRpQG1hcnZlbGwuY29tPjsgSGVt YW50IEFncmF3YWwNCj4gPiA+ID4gPiA+ID4gPGhlbWFudC5hZ3Jhd2FsQG54cC5jb20+OyBNYXRh biBBenJhZA0KPiA+ID4gPG1hdGFuQG1lbGxhbm94LmNvbT47DQo+ID4gPiA+ID4gPiA+IE5pY29s YXUsIFJhZHUgPHJhZHUubmljb2xhdUBpbnRlbC5jb20+OyBTaGFoYWYgU2h1bGVyDQo+ID4gPiA+ ID4gPiA+IDxzaGFoYWZzQG1lbGxhbm94LmNvbT47IE5hcmF5YW5hIFByYXNhZCBSYWp1IEF0aHJl eWENCj4gPiA+ID4gPiA+ID4gPHBhdGhyZXlhQG1hcnZlbGwuY29tPjsgZGV2QGRwZGsub3JnDQo+ ID4gPiA+ID4gPiA+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtFWFRdIFJlOiBbUEFUQ0hdIGV0 aGRldjogYWxsb3cNCj4gPiA+ID4gPiA+ID4gbXVsdGlwbGUgc2VjdXJpdHkgc2Vzc2lvbnMgdG8g dXNlIG9uZSBydGUgZmxvdw0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBIaSBBbm9vYiwN Cj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gT24gMjMvMTIvMjAxOSAxMzozNCwgQW5hbnll diwgS29uc3RhbnRpbiB3cm90ZToNCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+Pj4+ Pj4+Pj4+Pj4+PiBUaGUgcnRlX3NlY3VyaXR5IEFQSSB3aGljaCBlbmFibGVzIGlubGluZQ0KPiA+ ID4gPiA+ID4gcHJvdG9jb2wvY3J5cHRvDQo+ID4gPiA+ID4gPiA+ID4+Pj4+Pj4+Pj4+Pj4+IGZl YXR1cmUgbWFuZGF0ZXMgdGhhdCBmb3IgZXZlcnkgc2VjdXJpdHkNCj4gPiA+ID4gPiA+ID4gPj4+ Pj4+Pj4+Pj4+Pj4gc2Vzc2lvbg0KPiA+ID4gYW4NCj4gPiA+ID4gPiA+ID4gcnRlX2Zsb3cNCj4g PiA+ID4gPiA+ID4gPj4+Pj4+Pj4+Pj4+Pj4gaXMNCj4gPiA+ID4gPiA+ID4gPj4+Pj4gY3JlYXRl ZC4NCj4gPiA+ID4gPiA+ID4gPj4+Pj4+Pj4+Pj4+Pj4gVGhpcyB3b3VsZCBpbnRlcm5hbGx5IHRy YW5zbGF0ZSB0byBhIHJ1bGUgaW4NCj4gPiA+ID4gPiA+ID4gPj4+Pj4+Pj4+Pj4+Pj4gdGhlDQo+ ID4gPiA+ID4gaGFyZHdhcmUNCj4gPiA+ID4gPiA+ID4gPj4+Pj4+Pj4+Pj4+Pj4gd2hpY2ggd291 bGQgZG8gcGFja2V0IGNsYXNzaWZpY2F0aW9uLg0KPiA+ID4gPiA+ID4gPiA+Pj4+Pj4+Pj4+Pj4+ Pg0KPiA+ID4gPiA+ID4gPiA+Pj4+Pj4+Pj4+Pj4+PiBJbiBydGVfc2VjdXJ0eSwgb25lIFNBIHdv dWxkIGJlIG9uZSBzZWN1cml0eQ0KPiA+ID4gc2Vzc2lvbi4NCj4gPiA+ID4gPiA+IEFuZA0KPiA+ ID4gPiA+ID4gPiBpZg0KPiA+ID4gPiA+ID4gPiA+Pj4+Pj4+Pj4+Pj4+PiBhbiBydGVfZmxvdyBu ZWVkIHRvIGJlIGNyZWF0ZWQgZm9yIGV2ZXJ5DQo+ID4gPiA+ID4gPiA+ID4+Pj4+Pj4+Pj4+Pj4+ IHNlc3Npb24sIHRoZQ0KPiA+ID4gPiA+ID4gPiBudW1iZXINCj4gPiA+ID4gPiA+ID4gPj4+Pj4+ Pj4+Pj4+Pj4gb2YgU0FzIHN1cHBvcnRlZCBieSBhbiBpbmxpbmUgaW1wbGVtZW50YXRpb24NCj4g PiA+IHdvdWxkDQo+ID4gPiA+ID4gYmUNCj4gPiA+ID4gPiA+ID4gPj4+Pj4+Pj4+Pj4+Pj4gbGlt aXRlZCBieSB0aGUgbnVtYmVyIG9mIHJ0ZV9mbG93cyB0aGUgUE1EDQo+ID4gPiB3b3VsZCBiZQ0K PiA+ID4gPiA+ID4gPiBhYmxlIHRvDQo+ID4gPiA+ID4gPiA+ID4+PiBzdXBwb3J0Lg0KPiA+ID4g PiA+ID4gPiA+Pj4+Pj4+Pj4+Pj4+PiBJZiB0aGUgZmllbGRzIFNQSSAmIElQIGFkZHJlc3NlcyBh cmUgYWxsb3dlZCB0bw0KPiA+ID4gPiA+ID4gPiA+Pj4+Pj4+Pj4+Pj4+PiBiZSBhDQo+ID4gPiA+ ID4gPiByYW5nZSwNCj4gPiA+ID4gPiA+ID4gPj4+Pj4+Pj4+Pj4+Pj4gdGhlbiB0aGlzIGxpbWl0 YXRpb24gY2FuIGJlIG92ZXJjb21lLiBNdWx0aXBsZQ0KPiA+ID4gPiA+ID4gPiA+Pj4+Pj4+Pj4+ Pj4+PiBmbG93cw0KPiA+ID4gPiA+IHdpbGwNCj4gPiA+ID4gPiA+ID4gYmUNCj4gPiA+ID4gPiA+ ID4gPj4+Pj4+Pj4+Pj4+Pj4gYWJsZSB0byB1c2Ugb25lIHJ1bGUgZm9yIFNFQ1VSSVRZIHByb2Nl c3NpbmcuDQo+ID4gPiA+ID4gPiA+ID4+Pj4+Pj4+Pj4+Pj4+IEluIHRoaXMNCj4gPiA+ID4gPiA+ IGNhc2UsDQo+ID4gPiA+ID4gPiA+ID4+Pj4+Pj4+Pj4+Pj4+IHRoZSBzZWN1cml0eSBzZXNzaW9u IHByb3ZpZGVkIGFzIGNvbmYgd291bGQgYmUNCj4gPiA+IE5VTEwuDQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gV2h5IGlzIHRoYXQ/DQo+ID4gPiA+ID4gPiBJZiB0aGUgcnRlIGZsb3cgY2FuIGhh dmUgYSByYW5nZSB0aGVuIHRoaXMgbWVhbnMgdGhhdCB3ZSBuZWVkDQo+ID4gPiA+ID4gPiBvbmUg c2VjdXJpdHlfc2Vzc2lvbiBmb3IgdGhlIGVudGlyZSByYW5nZSwgQW0gSSBtaXNzaW5nDQo+ID4g PiA+ID4gPiBzb21ldGhpbmc/IEFzIGl0IGlzIHN0YXRlZCBpbiB0aGUgcnRlX2Zvdy5oICBzZWN1 cml0eV9zZXNzaW9uDQo+ID4gPiA+ID4gY2FuDQo+ID4gPiA+ID4gPiBiZSB1c2VkIGZvciBtdWx0 aXBsZSBmbG93cy4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFtBbm9vYl0gT25lIFNBIHdvdWxkIG1l YW4gb25lIHNlY3VyaXR5X3Nlc3Npb24uIFNvIGlmIHdlIGhhdmUgb25lDQo+ID4gPiA+ID4gc2Vj dXJpdHlfc2Vzc2lvbiBmb3IgdGhlIGVudGlyZSByYW5nZSwgdGhlbiBpdCB3aWxsIGJlIGxpa2Ug aGF2aW5nDQo+ID4gPiA+ID4gc2luZ2xlIFNBIGZvciBhIHJhbmdlIG9mIElQICYgU1BJLiBEbyB5 b3UgdGhpbmsgd2Ugc2hvdWxkIGFsbG93IHRoYXQ/DQo+ID4gPiA+ID4NCj4gPiA+ID4gW09yaV0g SSdtIGxlc3MgZmFtaWxpYXIgd2l0aCBzZWN1cml0eSwgYnV0IHRoaXMgaXMgd2hhdCBJIHVuZGVy c3RhbmQNCj4gPiA+ID4geW91IGFyZQ0KPiA+ID4gdHJ5aW5nIHRvDQo+ID4gPiA+IGRvIHJpZ2h0 Pw0KPiA+ID4NCj4gPiA+IFtBbm9vYl0gTm90IGV4YWN0bHkuIEluIG91ciBpbXBsZW1lbnRhdGlv biwgaC93IGNhbiBpbmRleCBpbnRvIGEgdGFibGUNCj4gPiA+IHdoaWNoIHdvdWxkIGhvbGQgc2Vj dXJpdHlfc2Vzc2lvbnMuIFNvIHdlIGNhbiBoYXZlIG9uZSBydGVfZmxvdyBydWxlLA0KPiA+ID4g d2hpY2ggd2lsbCBlbmFibGUgdGhlIHBhY2tldCBzdGVlcmluZyBpbiB0aGUgaGFyZHdhcmUuIFdo aWNoIHNlc3Npb24NCj4gPiA+IG5lZWQgdG8gYmUgdXNlZCB3aWxsIGJlIGRldGVybWluZWQgYnkg dGhlIFNQSS4NCj4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+ID4gQWxzbywgdGhlIGludGVudCBvZiB0 aGUgcGF0Y2ggaXMgdG8gbWluaW1pemUgdGhlIG51bWJlciBvZg0KPiA+ID4gPiA+IHJ0ZV9mbG93 IHJ1bGVzIHJlcXVpcmVkIGZvciBpbmxpbmUgaXBzZWMgcHJvY2Vzc2luZy4gU2luY2UgdGhlDQo+ ID4gPiA+ID4gc2VjdXJpdHkgc2Vzc2lvbiBpcyBwZXIgU0EsIGFuZCBpZiB3ZSBuZWVkIG11bHRp cGxlIFNQSXMgdG8gdXNlDQo+ID4gPiA+ID4gc2FtZSBydGVfZmxvdyBydWxlLCB0aGVuIHRoZSBz ZWN1cml0eV9zZXNzaW9uIGZpZWxkIGluIHRoZSBydGVfZmxvdw0KPiBydWxlDQo+ID4gbmVlZCB0 byBiZSBOVUxMLg0KPiA+ID4gPiA+IEhhdmluZyBhIG5vbi16ZXJvIHNlY3VyaXR5X3Nlc3Npb24g d2hlbiBTUEkgaXMgYSByYW5nZSB3b3VsZCBiZQ0KPiA+ID4gaW5jb3JyZWN0Lg0KPiA+ID4gPiA+ DQo+ID4gPiA+IFtPcmldIEknbSBhbGwgaW4gZmF2b3IgZGVjcmVhc2luZyBudW1iZXIgb2YgZmxv d3MuDQo+ID4gPiA+IFNvcnJ5IGZvciB0aGUgYmFzaWMgcXVlc3Rpb24sIHdoYXQgaXMgdGhlIHNl Y3VyaXR5X3Nlc3Npb24gL1NBDQo+ID4gPiA+IGRlcGVuZGVudA0KPiA+ID4gb24/DQo+ID4gPg0K PiA+ID4gW0Fub29iXSBObyBwcm9iISBJbiBjYXNlIG9mIHVuaWNhc3QgSVBzZWMsIGV2ZXJ5IFNB IHdvdWxkIGhhdmUgYSB1bmlxdWUNCj4gU1BJLg0KPiA+ID4gU28gd2UgY2Fubm90IGhhdmUgbXVs dGlwbGUgU1BJJ3MgcmVmZXJyaW5nIHRvIHRoZSBzYW1lIFNBLiBBbmQgb25lIFNBDQo+ID4gPiB3 b3VsZCBtZWFuIG9uZSBzZWN1cml0eV9zZXNzaW9uLg0KPiA+ID4NCj4gPiA+ID4gQ2FuIG9uZSBT QSBpbmNsdWRlIG51bWJlciBvZiBkaWZmZXJlbnQgU1BJPw0KPiA+ID4NCj4gPiA+IFtBbm9vYl0g Tm8uDQo+ID4gPg0KPiA+ID4gTWF5IGJlIHdlIG5lZWQgdG8gcmVpbWFnaW5lIHRoaXMuDQo+ID4g Pg0KPiA+ID4gQ3VycmVudGx5LCBhbiBydGVfZmxvdyB3aXRoIFNFQ1VSSVRZIGVuYWJsZXMgaXBz ZWMgcHJvY2Vzc2luZyB3aXRoIGENCj4gPiA+IHNwZWNpZmljIHNlY3VyaXR5X3Nlc3Npb24gb24g dGhlIHBhY2tldC4gVGhpcyBpcyBlbmFibGVkIG9uIGEgc3BlY2lmaWMNCj4gPiA+IElQL1NQSSBz cGVjaWZpZWQgaW4gdGhlIHJ1bGUuDQo+ID4gPg0KPiA+ID4gTXkgcHJvcG9zYWw6IGFuIHJ0ZV9m bG93IHdpdGggU0VDVVJJVFkgKGFuZCBzZXNzaW9uID0gTlVMTCksIHdvdWxkDQo+ID4gPiBlbmFi bGUgaXBzZWMgcHJvY2Vzc2luZyBvbiBhIHJhbmdlIGFuZCBTUEkgZnJvbSB0aGUgcGFja2V0IGNh biBiZSB1c2VkDQo+ID4gPiBieSB0aGUgaC93IHRvIGZ1cnRoZXIgZmlndXJlIG91dCB0aGUgc2Vj dXJpdHlfc2Vzc2lvbi4NCj4gPg0KPiA+IE8uSy4gc28gU1BJIGNhbid0IGJlIHNoYXJlZCBiZXR3 ZWVuIFNBIChTZWN1cml0eV9zZXNzaW9uKSB3aGlsZSBJUCBjYW4NCj4gcmlnaHQ/DQo+ID4gT3Ro ZXIgd2h5IHRvIGFzayBteSBxdWVzdGlvbiBpcyB3aGF0IGlzIGFsbG93ZWQgdG8gYmUgaW4gcmFu Z2UgdG8gYWxsb3cgdGhlDQo+ID4gc2FtZSBzZWN1cml0eV9zZXNzaW9uPw0KPiANCj4gW0Fub29i XSBXaXRoIGEgc2luZ2xlIElQIHN5c3RlbSwgU1BJIGlzIGVub3VnaCB0byB1bmlxdWVseSBpZGVu dGlmeSBhbiBTQS4gU28NCj4gZm9yIHN1Y2ggY2FzZXMsIERTVF9JUCBjYW4gYmUgYSByYW5nZSwg YW5kIHNlc3Npb24gY2FuIGJlIG5vbl9udWxsLiBJbiBvdGhlcg0KPiB3b3JkcywgaW4gc2luZ2xl IElQIHN5c3RlbXMsIFNQSSB3b3VsZCBtZWFuIG9uZSB0dW5uZWwgYW5kIHNvIERTVF9JUCBpcyBu b3QNCj4gcmVxdWlyZWQgdG8gYmUgbG9va2VkIHVwLiBXaGV0aGVyIHRvIGRvIGxvb2t1cCBvbiBT UEkgb25seSBvciBEU1RfSVArU1BJIGlzDQo+IGRldGVybWluZWQgYnkgdGhlIGNvbmZpZ3VyYXRp b24sIGFuZCBzbyBpdCBtYWtlcyBzZW5zZSB0byBhbGxvdyBzdWNoIHdpdGgNCj4gcnRlX2Zsb3cg ZnJhbWV3b3JrLg0K