From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.5 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 03DF3C2D0C0 for ; Mon, 23 Dec 2019 13:35:05 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 4B29820709 for ; Mon, 23 Dec 2019 13:35:05 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=intel.onmicrosoft.com header.i=@intel.onmicrosoft.com header.b="DJMQrUKT" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4B29820709 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id DA44A1C01; Mon, 23 Dec 2019 14:35:03 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 6267BF72 for ; Mon, 23 Dec 2019 14:35:01 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Dec 2019 05:35:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,347,1571727600"; d="scan'208";a="214241864" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga008.fm.intel.com with ESMTP; 23 Dec 2019 05:34:59 -0800 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 23 Dec 2019 05:34:59 -0800 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 23 Dec 2019 05:34:59 -0800 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 23 Dec 2019 05:34:59 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.108) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 23 Dec 2019 05:34:59 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oVP587lVVAMeDolEXIxij55TRRdFF7V0WR1aSSt6q0J+akK0MKFyRHVS86x2EwwryHSPwtf22HS3lO74LFFplZ/DzSmD3KJrVFBGeYV6uSaApL5Bin9VGmSrosEMyFgZ4pBiZCrnjnE+W1Q/hFDRAL4qYi8+TYui0IV1k8gsJ6sgog6v926OgFHg5E8ZKqBwAaYeEcxwoBZ2RcOe8fsJUJj4sWaCocGzeuklxJI/YWVgg03UJpCPW/OPWi0cl3h3LG5qlZYOjGvveNG2PbjKf33qSF2dVJIcdzydrKbw8TgIgIEpNUy0RI9IspHCAje2L0+I7ZLzdKJ/4xM78Iq7CA== 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=wMnGmygWLLy4Cnxc6a+EaBhRfRXWF37Rpps4rtFySvA=; b=dZIvDmMQsW7KO5D9IS5+AnAhw5gj3Or5JYTs9ndmIEQO6PHdkNu9gnZ1z/QvKC1Z6arweesGrITFANZGLCwxV62ypp3ho8TT0xnypuypherUr56AhRC+Fhcr/LON9MsJIajdi4Ey3wnv35tFB6pjXAj0cI327zHZxxU8+/IHlOtsGJwQfi6vaLvlwEEOQdiWa7sdRxJNPIl69jhix0qrXZaw/DvWiVLtEYwbpTcGzs5i0sbpMA+R+Rxb0Efj6f4CevxWoRM06/1XrR5z54FWp6fUIWERqS7VsSlg3/lm7bfHPD/hcdjCU9rumXftEu7KVfsS5vms2UNMfa+9Kk/C+g== 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=wMnGmygWLLy4Cnxc6a+EaBhRfRXWF37Rpps4rtFySvA=; b=DJMQrUKTAu2caQjokFJrG5AEIXOSq+5G85lllUzyg0o7/eMLQcL2oIPbgizFox4QwWV1+L2J+6zPpWLgyXUtpV+izBj18sftcLUBj07ptP8yDHJEmKbG92Agm2+wp6LlYHeh/JkS5bG4GJxJ5JpuanOfYnXiummv64PoFU/LSAs= Received: from SN6PR11MB2558.namprd11.prod.outlook.com (52.135.94.19) by SN6PR11MB3184.namprd11.prod.outlook.com (52.135.111.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2559.17; Mon, 23 Dec 2019 13:34:43 +0000 Received: from SN6PR11MB2558.namprd11.prod.outlook.com ([fe80::4d86:362a:13c3:8386]) by SN6PR11MB2558.namprd11.prod.outlook.com ([fe80::4d86:362a:13c3:8386%7]) with mapi id 15.20.2559.017; Mon, 23 Dec 2019 13:34:43 +0000 From: "Ananyev, Konstantin" To: Anoob Joseph , "Medvedkin, Vladimir" , 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: AQHVtiYsP9y2lnW4dkueq3FVSO/8GafHvitg Date: Mon, 23 Dec 2019 13:34:43 +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> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZTQwYTI3Y2EtYmFlZC00ODc3LThjMzItMTQ0OTQ1OGM5YWQ3IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiSTlDY3puMyszRmI0aVhLQjhcL1Q4UW92eUI0N2RkaVZSUGdDOEZnRmFNc0FSNTlCaEZJd2VjalZZTGM1WHVhNzAifQ== dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 x-ctpclassification: CTP_NT authentication-results: spf=none (sender IP is ) smtp.mailfrom=konstantin.ananyev@intel.com; x-originating-ip: [192.198.151.184] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 478ba07d-094a-4fac-8691-08d787acded5 x-ms-traffictypediagnostic: SN6PR11MB3184: 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:7691; x-forefront-prvs: 0260457E99 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(39860400002)(376002)(396003)(366004)(136003)(199004)(189003)(51914003)(9686003)(86362001)(4326008)(52536014)(55016002)(5660300002)(30864003)(8676002)(81156014)(81166006)(8936002)(7696005)(54906003)(478600001)(15650500001)(316002)(26005)(66446008)(71200400001)(186003)(2906002)(6506007)(64756008)(33656002)(66556008)(7416002)(66476007)(76116006)(66946007)(110136005)(921003)(1121003); DIR:OUT; SFP:1102; SCL:1; SRVR:SN6PR11MB3184; H:SN6PR11MB2558.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dI7YR67Vc+s+EBK6t8XjW1ZA5PzD69GSuVoMThEzbpFf4wgzo1I5VGFCxAlbHRud22cIPvg2j9rMYLNw1KYyJ8MLX91iqHCR7OCdyqtt9cgPqOufMWxCrEVLh0rJPa9ztZGoojlClgV0226gEtgSNuZCNFAeppuVUx82qgLYG8mRWTd7dFhDPslcMQV/oqvzLH2B6TLqyl0IQ4QDRXI2K7m7tqguleJJDOm1Xk+0wkRfAuDRsMRBEhutc5mq5RtpK+iqN4FeDEUG8H6yvVAwy4qSmSQlR3aHmhD7UtmUhtf23RlKyQs8LHrc9l0Lwmjt6f70d1nM1NO9GCyxIRXtyTc27NAm80UyQIl9RVeVPg+YJ45RHsL00r+40PmKSyCKkYXVhj3+FEjVOyhY9WmyqGfA3abr07yGeSP6XM1txWQxBHbL28gYIbjeKqYoxO8zUZikqhJmp3SWQ+4KefTKinC2PBSyK+Ay+G7IXaIYGYYOwIbQTyb1mB0rmErFOhZchxC4Xgw+Oza6hxqTQmfajA== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 478ba07d-094a-4fac-8691-08d787acded5 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Dec 2019 13:34:43.7505 (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: a+eyG6+60I8hFBDHNZoGutcb06Rb3sMQ/pWjUFKOSv9XLme1iSEQIcSqZbrh/Rk4cmNJsVKGFN2qlFfUT3snJWwFSU1m6d2GrZwGjd9t/o4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3184 X-OriginatorOrg: intel.com 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" DQoNCj4gPiA+Pj4+Pj4+Pj4+PiBUaGUgcnRlX3NlY3VyaXR5IEFQSSB3aGljaCBlbmFibGVzIGlu bGluZSBwcm90b2NvbC9jcnlwdG8NCj4gPiA+Pj4+Pj4+Pj4+PiBmZWF0dXJlIG1hbmRhdGVzIHRo YXQgZm9yIGV2ZXJ5IHNlY3VyaXR5IHNlc3Npb24gYW4gcnRlX2Zsb3cNCj4gPiA+Pj4+Pj4+Pj4+ PiBpcw0KPiA+ID4+IGNyZWF0ZWQuDQo+ID4gPj4+Pj4+Pj4+Pj4gVGhpcyB3b3VsZCBpbnRlcm5h bGx5IHRyYW5zbGF0ZSB0byBhIHJ1bGUgaW4gdGhlIGhhcmR3YXJlDQo+ID4gPj4+Pj4+Pj4+Pj4g d2hpY2ggd291bGQgZG8gcGFja2V0IGNsYXNzaWZpY2F0aW9uLg0KPiA+ID4+Pj4+Pj4+Pj4+DQo+ ID4gPj4+Pj4+Pj4+Pj4gSW4gcnRlX3NlY3VydHksIG9uZSBTQSB3b3VsZCBiZSBvbmUgc2VjdXJp dHkgc2Vzc2lvbi4gQW5kIGlmDQo+ID4gPj4+Pj4+Pj4+Pj4gYW4gcnRlX2Zsb3cgbmVlZCB0byBi ZSBjcmVhdGVkIGZvciBldmVyeSBzZXNzaW9uLCB0aGUgbnVtYmVyDQo+ID4gPj4+Pj4+Pj4+Pj4g b2YgU0FzIHN1cHBvcnRlZCBieSBhbiBpbmxpbmUgaW1wbGVtZW50YXRpb24gd291bGQgYmUNCj4g PiA+Pj4+Pj4+Pj4+PiBsaW1pdGVkIGJ5IHRoZSBudW1iZXIgb2YgcnRlX2Zsb3dzIHRoZSBQTUQg d291bGQgYmUgYWJsZSB0bw0KPiA+IHN1cHBvcnQuDQo+ID4gPj4+Pj4+Pj4+Pj4NCj4gPiA+Pj4+ Pj4+Pj4+PiBJZiB0aGUgZmllbGRzIFNQSSAmIElQIGFkZHJlc3NlcyBhcmUgYWxsb3dlZCB0byBi ZSBhIHJhbmdlLA0KPiA+ID4+Pj4+Pj4+Pj4+IHRoZW4gdGhpcyBsaW1pdGF0aW9uIGNhbiBiZSBv dmVyY29tZS4gTXVsdGlwbGUgZmxvd3Mgd2lsbCBiZQ0KPiA+ID4+Pj4+Pj4+Pj4+IGFibGUgdG8g dXNlIG9uZSBydWxlIGZvciBTRUNVUklUWSBwcm9jZXNzaW5nLiBJbiB0aGlzIGNhc2UsDQo+ID4g Pj4+Pj4+Pj4+Pj4gdGhlIHNlY3VyaXR5IHNlc3Npb24gcHJvdmlkZWQgYXMgY29uZiB3b3VsZCBi ZSBOVUxMLg0KPiA+ID4+Pj4+Pj4+Pj4gV29uZGVyIHdoYXQgd2lsbCBiZSB0aGUgdXNhZ2UgbW9k ZWwgZm9yIGl0Pw0KPiA+ID4+Pj4+Pj4+Pj4gQUZBSUssICBSRkMgNDMwMSBjbGVhcmx5IHN0YXRl cyB0aGF0IGVpdGhlciBTUEkgdmFsdWUgYWxvbmUNCj4gPiA+Pj4+Pj4+Pj4+IG9yIGluIGNvbmp1 bmN0aW9uIHdpdGggZHN0IChhbmQgc3JjKSBJUCBzaG91bGQgY2xlYXJseQ0KPiA+ID4+Pj4+Pj4+ Pj4gaWRlbnRpZnkgU0EgZm9yIGluYm91bmQgU0FEDQo+ID4gPj4+Pj4+Pj4gbG9va3VwLg0KPiA+ ID4+Pj4+Pj4+Pj4gQW0gSSBtaXNzaW5nIHNvbWV0aGluZyBvYnZpb3VzIGhlcmU/DQo+ID4gPj4+ Pj4+Pj4+IFtBbm9vYl0gRXhpc3RpbmcgU0VDVVJJVFkgYWN0aW9uIHR5cGUgcmVxdWlyZXMgYXBw bGljYXRpb24gdG8NCj4gPiA+Pj4+Pj4+Pj4gY3JlYXRlIGFuICdydGVfZmxvdycgcGVyIFNBLCB3 aGljaCBpcyBub3QgcmVhbGx5IHJlcXVpcmVkIGlmDQo+ID4gPj4+Pj4+Pj4+IGgvdyBjYW4gdXNl IFNQSSB0byB1bmlxdWVseQ0KPiA+ID4+Pj4+Pj4+IGlkZW50aWZ5IHRoZSBzZWN1cml0eSBzZXNz aW9uL1NBLg0KPiA+ID4+Pj4+Pj4+PiBFeGlzdGluZyBydGVfZmxvdyB1c2FnZTogSVAgKGRzdCxz cmMpICsgRVNQICsgU1BJIC0+IHNlY3VyaXR5DQo+ID4gPj4+Pj4+Pj4+IHByb2Nlc3NpbmcgZW5h YmxlZCBvbiBvbmUgc2VjdXJpdHkgc2Vzc2lvbiAoaWUgb24gU0EpDQo+ID4gPj4+Pj4+Pj4+DQo+ ID4gPj4+Pj4+Pj4+IFRoZSBhYm92ZSBydWxlIHdvdWxkIHVuaXF1ZWx5IGlkZW50aWZ5IHBhY2tl dHMgZm9yIGFuIFNBLiBCdXQNCj4gPiA+Pj4+Pj4+Pj4gd2l0aCB0aGUgYWJvdmUgdXNhZ2UsIHdl IHdvdWxkIHF1aWNrbHkgZXhoYXVzdCBlbnRyaWVzDQo+ID4gPj4+Pj4+Pj4+IGF2YWlsYWJsZSBp biBoL3cgbG9va3VwIHRhYmxlcyAod2hpY2ggYXJlIGxpbWl0ZWQgb24gb3VyDQo+ID4gPj4+Pj4+ Pj4+IGhhcmR3YXJlKS4gQnV0IGlmIGgvdyBjYW4gdXNlIFNQSSBmaWVsZCB0byBpbmRleA0KPiA+ ID4+Pj4+Pj4+IGludG8gYSB0YWJsZSAoZm9yIGV4YW1wbGUpLCB0aGVuIHRoZSBhYm92ZSByZXF1 aXJlbWVudCBvZiBvbmUNCj4gPiA+Pj4+Pj4+PiBydGVfZmxvdyBwZXIgU0EgaXMgbm90IHJlcXVp cmVkLg0KPiA+ID4+Pj4+Pj4+PiBQcm9wb3NlZCBydGVfZmxvdyB1c2FnZTogSVAgKGFueSkgKyBF U1AgKyBTUEkgKGFueSkgLT4NCj4gPiA+Pj4+Pj4+Pj4gc2VjdXJpdHkgcHJvY2Vzc2luZyBlbmFi bGVkIG9uIGFsbCBFU1AgcGFja2V0cw0KPiA+ID4+Pj4+PiBTbyB0aGlzIG1lYW5zIHRoYXQgU0Eg d2lsbCBiZSBpbmRleGVkIG9ubHkgYnkgc3BpPyBXaGF0IGFib3V0DQo+ID4gPj4+Pj4+IFNBJ3Mg d2hpY2ggYXJlIGluZGV4ZWQgYnkgU1BJK0RJUCtTSVA/DQo+ID4gPj4+Pj4+Pj4+IE5vdyBoL3cg Y291bGQgdXNlIFNQSSB0byBpbmRleCBpbnRvIGEgcHJlLXBvcHVsYXRlZCB0YWJsZSB0bw0KPiA+ ID4+Pj4+Pj4+PiBnZXQgc2VjdXJpdHkgc2Vzc2lvbi4gUGxlYXNlIGRvIG5vdGUgdGhhdCwgU1BJ IGlzIG5vdCBpZ25vcmVkDQo+ID4gPj4+Pj4+Pj4+IGR1cmluZyB0aGUgYWN0dWFsDQo+ID4gPj4+ Pj4+Pj4gbG9va3VwLiBKdXN0IHRoYXQgaXQgaXMgbm90IHVzZWQgd2hpbGUgY3JlYXRpbmcgJ3J0 ZV9mbG93Jy4NCj4gPiA+Pj4+Pj4+Pg0KPiA+ID4+Pj4+Pj4+IEFuZCB0aGlzIHRhYmxlIHdpbGwg YmUgcHJlcG9wdWxhdGVkIGJ5IHVzZXIgYW5kIHBvaW50ZXIgdG8gaXQNCj4gPiA+Pj4+Pj4+PiB3 aWxsIGJlIHNvbWVob3cgcGFzc2VkIHZpYSBydGVfZmxvdyBBUEk/DQo+ID4gPj4+Pj4+Pj4gSWYg eWVzLCB0aGVuIHdoYXQgd291bGQgYmUgdGhlIG1lY2hhbmlzbT8NCj4gPiA+Pj4+Pj4+IFtBbm9v Yl0gSSdtIG5vdCBzdXJlIHdoYXQgZXhhY3RseSB5b3UgbWVhbnQgYnkgdXNlci4gQnV0IG1heSBi ZQ0KPiA+ID4+Pj4+Pj4gSSdsbCBleHBsYWluDQo+ID4gPj4+Pj4+IGhvdyBpdCdzIGRvbmUgaW4g T0NURU9OVFgyIFBNRC4NCj4gPiA+Pj4+Pj4+IFRoZSBhcHBsaWNhdGlvbiB3b3VsZCBjcmVhdGUg c2VjdXJpdHlfc2Vzc2lvbiBmb3IgZXZlcnkgU0EuIFNQSQ0KPiA+ID4+Pj4+Pj4gZXRjIHdvdWxk IGJlDQo+ID4gPj4+Pj4+IGF2YWlsYWJsZSB0byBQTUQgKGluIGNvbmYpIHdoZW4gdGhlIHNlc3Np b24gaXMgY3JlYXRlZC4gTm93IHRoZQ0KPiA+ID4+Pj4+PiBQTUQgd291bGQgcG9wdWxhdGUgU0Eg cmVsYXRlZCBwYXJhbXMgaW4gYSBzcGVjaWZpYyBsb2NhdGlvbiB0aGF0DQo+ID4gPj4+Pj4+IGgv dyB3b3VsZCBhY2Nlc3MuIFRoaXMgbWVtb3J5IGlzIGFsbG9jYXRlZCBkdXJpbmcgZGV2aWNlDQo+ ID4gPj4+Pj4+IGNvbmZpZ3VyZSBhbmQgaC93IHdvdWxkIGhhdmUgdGhlIHBvaW50ZXIgYWZ0ZXIg dGhlIGluaXRpYWxpemF0aW9uIGlzDQo+ID4gZG9uZS4NCj4gPiA+Pj4+Pj4gSWYgbWVtb3J5IGlz IGFsbG9jYXRlZCBkdXJpbmcgZGV2aWNlIGNvbmZpZ3VyZSB3aGF0IGlzIHVwcGVyDQo+ID4gPj4+ Pj4+IGxpbWl0IGZvciBudW1iZXIgb2Ygc2Vzc2lvbnM/IFdoYXQgaWYgYXBwIG5lZWRzIG1vcmU/ DQo+ID4gPj4+Pj4+PiBQTUQgdXNlcyBTUEkgYXMgaW5kZXggdG8gd3JpdGUgaW50byBzcGVjaWZp YyBsb2NhdGlvbnMoZHVyaW5nDQo+ID4gPj4+Pj4+PiBzZXNzaW9uIGNyZWF0ZSkNCj4gPiA+Pj4+ Pj4gYW5kIGgvdyB3b3VsZCB1c2UgaXQgd2hlbiBpdCBzZWVzIGFuIEVTUCBwYWNrZXQgZWxpZ2li bGUgZm9yDQo+ID4gPj4+Pj4+IFNFQ1VSSVRZIChpbiByZWNlaXZlIHBhdGgsIHBlciBwYWNrZXQp LiBBcyBsb25nIGFzIHNlc3Npb24NCj4gPiA+Pj4+Pj4gY3JlYXRpb24gY291bGQgcG9wdWxhdGUg YXQgbWVtb3J5IGxvY2F0aW9ucyB0aGF0IGgvdyB3b3VsZCBsb29rDQo+ID4gPj4+Pj4+IGF0LCB0 aGlzIHNjaGVtZSB3b3VsZA0KPiA+ID4+Pj4gd29yay4NCj4gPiA+Pj4+PiBbQW5vb2JdIFllcy4g QnV0IHdlIG5lZWQgdG8gYWxsb3cgYXBwbGljYXRpb24gdG8gY29udHJvbCB0aGUgaC93DQo+ID4g Pj4+Pj4gaXBzZWMNCj4gPiA+Pj4+IHByb2Nlc3NpbmcgYXMgd2VsbC4gTGV0J3Mgc2F5LCBhcHBs aWNhdGlvbiB3YW50cyB0byBoYW5kbGUgYQ0KPiA+ID4+Pj4gc3BlY2lmaWMgU1BJIHJhbmdlIGlu IGxvb2thc2lkZSBtb2RlIChtYXkgYmUgYmVjYXVzZSBvZiB1bnN1cHBvcnRlZA0KPiA+ID4+Pj4g Y2FwYWJpbGl0aWVzPyksIGluIHRoYXQgY2FzZSBoYXZpbmcgcnRlX2Zsb3cgd2lsbCBoZWxwIGlu IGZpbmUNCj4gPiA+Pj4+IHR1bmluZyBob3cgdGhlDQo+ID4gPj4gaC93IHBhY2tldCBzdGVlcmlu ZyBoYXBwZW5zLg0KPiA+ID4+Pj4gQWxzbywgcnRlX2Zsb3cgZW5hYmxlcyBIL3cgcGFyc2luZyBv biBpbmNvbWluZyBwYWNrZXRzLiBUaGlzIGluZm8NCj4gPiA+Pj4+IGlzIHVzZWZ1bCBldmVuIGFm dGVyIElQc2VjIHByb2Nlc3NpbmcgaXMgY29tcGxldGUuIE9yIGlmDQo+ID4gPj4+PiBhcHBsaWNh dGlvbiB3YW50cyB0byBnaXZlIGhpZ2hlciBwcmlvcml0eSB0byBhIHJhbmdlIG9mIFNQSXMsDQo+ ID4gPj4+PiBydGVfZmxvdyB3b3VsZCBhbGxvdyBkb2luZw0KPiA+ID4+IHNvLg0KPiA+ID4+Pj4+ PiBXaGF0IGFsZ29yaXRobSBvZiBpbmRleGluZyBieSBTUEkgaXMgdGhlcmU/IENvdWxkIEkgdXNl IGFueQ0KPiA+ID4+Pj4+PiBhcmJpdHJhcnkgU1BJPyBJZiBzb21lIGtpbmQgb2YgaGFzaGluZyBp cyB1c2VkLCB3aGF0IGFib3V0IGNvbGxpc2lvbnM/DQo+ID4gPj4+Pj4gW0Fub29iXSBUaGF0IGlz IGltcGxlbWVudGF0aW9uIGRlcGVuZGVudC4gSW4gb3VyIFBNRCwgd2UgbWFwIGl0DQo+ID4gPj4+ Pj4gb25lDQo+ID4gPj4gdG8gb25lLg0KPiA+ID4+Pj4gQXMgaW4sIFNQSSBpcyB1c2VkIGFzIGlu ZGV4IGluIHRoZSB0YWJsZS4NCj4gPiA+Pj4+IFNvLCBhcyBmYXIgYXMgeW91IGFyZSBtYXBwaW5n IG9uZSB0byBvbmUgYW5kIHVzaW5nIFNQSSBhcyBhbiBpbmRleCwNCj4gPiA+Pj4+IGEgbG90IG9m IG1lbW9yeSBpcyB3YXN0ZWQgaW4gdGhlIHRhYmxlIGZvciB1bnVzZWQgU1BJJ3MuwqAgQWxzbywg eW91DQo+ID4gPj4+PiBhcmUgbm90IGFibGUgdG8gaGF2ZSBhIHRhYmxlIHdpdGggMl4zMiBzZXNz aW9ucy4gSXQgaXMgbGlrZWx5IHRoYXQNCj4gPiA+Pj4+IHNvbWUgbnVtYmVyIG9mIFNQSSdzIGxl YXN0IHNpZ25pZmljYW50IGJpdHMgYXJlIHVzZWQgYXMgYW4gaW5kZXguDQo+ID4gPj4+PiBBbmQg aXQgcmFpc2VzIGEgcXVlc3Rpb24gLSB3aGF0IGlmIGFwcGxpY2F0aW9uIG5lZWRzIHR3byBzZXNz aW9ucw0KPiA+ID4+Pj4gd2l0aCBkaWZmZXJlbnQNCj4gPiA+PiBTUEkncyB3aGljaCBoYXZlIHRo ZSBzYW1lIGxzYidzPw0KPiA+ID4+PiBbQW5vb2JdIHJ0ZV9zZWN1cml0eV9zZXNzaW9uX2NyZWF0 ZSgpIHdvdWxkIGZhaWwuIFdoeSBkbyB5b3Ugc2F5IHdlDQo+ID4gPj4gY2Fubm90IHN1cHBvcnQg Ml4zMiBzZXNzaW9ucz8gSWYgaXQncyBtZW1vcnkgbGltaXRhdGlvbiwgdGhlIHNhbWUNCj4gPiA+ PiBtZW1vcnkgbGltaXRhdGlvbiB3b3VsZCBhcHBseSBldmVuIGlmIHlvdSBoYXZlIGR5bmFtaWMg YWxsb2NhdGlvbiBvZg0KPiA+ID4+IG1lbW9yeSBmb3Igc2Vzc2lvbnMuIFNvIGF0IHNvbWUgcG9p bnQgc2Vzc2lvbiBjcmVhdGlvbiB3b3VsZCBzdGFydA0KPiA+ID4+IGZhaWxpbmcuIEluIG91ciBQ TUQsIHdlIGFsbG93IHVzZXIgdG8gc3BlY2lmeSB0aGUgcmFuZ2UgaXQgcmVxdWlyZXMgdXNpbmcN Cj4gPiBkZXZhcmdzLg0KPiA+ID4+PiBBbHNvLCBjb2xsaXNpb24gb2YgTFNCcyBjYW4gYmUgYXZv aWRlZCBieSBpbnRyb2R1Y2luZyBhICJNQVJLIiBydWxlDQo+ID4gPj4+IGluDQo+ID4gPj4gYWRk aXRpb24gdG8gIlNFQ1VSSVRZIiBmb3IgdGhlIHJ0ZV9mbG93IGNyZWF0ZWQgZm9yIGlubGluZSBp cHNlYy4NCj4gPiA+PiBDdXJyZW50bHkgdGhhdCBtb2RlbCBpcyBub3Qgc3VwcG9ydGVkIChpbiB0 aGUgbGlicmFyeSksIGJ1dCB0aGF0IGlzDQo+ID4gPj4gb25lIHNvbHV0aW9uIHRvIHRoZSBjb2xs aXNpb25zIHRoYXQgY2FuIGJlIHB1cnN1ZWQgbGF0ZXIuDQo+ID4gPj4+PiBNb3Jlb3Zlciwgd2hh dCBhYm91dA0KPiA+ID4+Pj4gdHdvIHNlc3Npb25zIHdpdGggc2FtZSBTUEkgYnV0IGRpZmZlcmVu dCBkc3QgYW5kIHNyYyBpcCBhZGRyZXNzZXM/DQo+ID4gPj4+IFtBbm9vYl0gQ3VycmVudGx5IG91 ciBQTUQgb25seSBzdXBwb3J0IFVDQVNUIElQU0VDLiBTbyBhbm90aGVyDQo+ID4gPj4+IHNlc3Np b24NCj4gPiA+PiB3aXRoIHNhbWUgU1BJIHdvdWxkIHJlc3VsdCBpbiBzZXNzaW9uIGNyZWF0aW9u IGZhaWx1cmUuDQo+ID4gPj4NCj4gPiA+PiBBaGEsIEkgc2VlLCB0aGFua3MgZm9yIHRoZSBleHBs YW5hdGlvbi4gU28gbXkgc3VnZ2VzdGlvbiBoZXJlIHdvdWxkIGJlOg0KPiA+ID4+DQo+ID4gPj4g LSBBcHBsaWNhdGlvbiBkZWZpbmVzIHRoYXQgc29tZSBzdWJzZXQgb2YgU0EncyB3b3VsZCBiZSBp bmxpbmUNCj4gPiA+PiBwcm90b2NvbCBwcm9jZXNzZWQuIEFuZCB0aGlzIFNBJ3Mgd2lsbCBiZSBp bmRleGVkIGJ5IFNQSSBvbmx5Lg0KPiA+ID4+DQo+ID4gPj4gLSBBcHAgZGVmaW5lcyBzcGVjaWFs IHJhbmdlIGZvciBTUEkgdmFsdWVzIG9mIHRoaXMgU0EncyAoc2l6ZSBvZiB0aGlzDQo+ID4gPj4g cmFuZ2UgaXMgZGVmaW5lZCB1c2luZyBkZXZhcmdzKSBhbmQgZmlyc3QgU1BJIHZhbHVlIChmcm9t IGNvbmZpZ3VyYXRpb24/KS4NCj4gPiA+Pg0KPiA+ID4+IC0gQXBwIGluc3RhbGxzIHJ0ZV9mbG93 IG9ubHkgZm9yIHRoaXMgcmFuZ2UgKGZyb20gZmlyc3QgU1BJIHRvIGZpcnN0DQo+ID4gPj4gU1BJ DQo+ID4gPj4gKyByYW5nZSBzaXplKSwgbm90IGZvciBhbGwgU1BJIHZhbHVlcy4NCj4gPiA+IFtB bm9vYl0gVGhpcyBpcyBleGFjdGx5IHdoYXQgdGhpcyBwYXRjaCBwcm9wb3Nlcy4gQWxsb3dpbmcg dGhlIFNQSSBhbmQgdGhlDQo+ID4gSVAgYWRkcmVzc2VzIHRvIGJlIHJhbmdlIGFuZCBoYXZlIHNl Y3VyaXR5X3Nlc3Npb24gcHJvdmlkZWQgYXMgTlVMTC4gV2hhdA0KPiA+IHlvdSBoYXZlIGRlc2Ny aWJlZCB3b3VsZCBiZSBhY2hpZXZhYmxlIG9ubHkgaWYgd2UgY2FuIGFsbG93IHRoaXMNCj4gPiBt b2RpZmljYXRpb24gaW4gdGhlIGxpYi4NCj4gPiA+DQo+ID4gPiBTbyBjYW4gSSBhc3N1bWUgeW91 IGFyZSBpbiBhZ3JlZW1lbnQgd2l0aCB0aGlzIHBhdGNoPw0KPiA+DQo+ID4gTm90IGV4YWN0bHku IEkgbWVhbnQgaXQgaXMgYmV0dGVyIHRvIG1ha2UgbW9yZSBzcGVjaWZpZWQgZmxvdyBsaWtlOg0K PiA+DQo+ID4gLi4uDQo+ID4NCj4gPiBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV9lc3AgZXNwX3NwZWMg PSB7DQo+ID4NCj4gPiAgwqDCoMKgwqDCoMKgwqAgLmhkciA9IHsNCj4gPiAgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIC5zcGkgPSBydGVfY3B1X3RvX2JlXzMyKGZpcnN0X3NwaSksDQo+ ID4gIMKgwqDCoMKgwqDCoMKgIH0sDQo+ID4NCj4gPiB9Ow0KPiA+DQo+ID4gc3RydWN0IHJ0ZV9m bG93X2l0ZW1fZXNwIGVzcF9tYXNrID0gew0KPiA+DQo+ID4gIMKgwqDCoMKgwqDCoMKgIC5oZHIg PSB7DQo+ID4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuc3BpID0gcnRlX2NwdV90 b19iZV8zMihuYl9pcHNlY19pbl9zYSAtIDEpLA0KPiA+ICDCoMKgwqDCoMKgwqDCoCB9LA0KPiA+ DQo+ID4gfTsNCj4gPg0KPiA+IHBhdHRlcm5bMF0udHlwZSA9IFJURV9GTE9XX0lURU1fVFlQRV9F U1A7DQo+ID4NCj4gPiBwYXR0ZXJuWzBdLnNwZWMgPSAmIGVzcF9zcGVjOw0KPiA+DQo+ID4gcGF0 dGVyblswXS5tYXNrID0gJmVzcF9tYXNrOw0KPiA+DQo+ID4gLi4uDQo+ID4NCj4gPiBTbyB0aGlz IG1lYW5zIGlubGluZSBwcm90byBkZXZpY2Ugd291bGQgcHJvY2VzcyBvbmx5IHNwZWNpYWwgc3Vi c2V0IG9mIFNQSSdzLg0KPiA+IEFsbCBvdGhlciB3aWxsIGJlIHByb2Nlc3NlZCBhcyB1c3VhbC4g U3VyZSwgeW91IGNhbiBhc3NpZ24gYWxsDQo+ID4gMl4zMiBTUEkgcmFuZ2UgYW5kIGl0IHdvcmsg YXMgeW91IGludGVuZGVkIGVhcmxpZXIuIEkgdGhpbmsgd2UgbmVlZCB0byBoYXZlDQo+ID4gZmlu ZXIgZ3JhaW5lZCBjb250cm9sIGhlcmUuDQo+ID4NCj4gDQo+IFtBbm9vYl0gQWxsb3dpbmcgYSBy YW5nZSBmb3IgU1BJIGlzIHdoYXQgeW91IGhhdmUgYWxzbyBkZXNjcmliZWQuIFdoYXQgeW91IGRl c2NyaWJlZCBpcyBvbmUgd2F5IHRvIGRlZmluZSBhIHJhbmdlLiBUaGF0IHdpbGwgY29tZSBhcw0K PiBwYXJ0IG9mIHRoZSBpbXBsZW1lbnRhdGlvbiwgaWUsIGEgY2hhbmdlIGluIHRoZSBleGFtcGxl IGFwcGxpY2F0aW9uLiBUaGlzIHBhdGNoIGludGVuZHMgdG8gYWxsb3cgdXNpbmcgYSByYW5nZSBm b3IgU1BJIHRoYW4gYSBmaXhlZA0KPiB2YWx1ZS4gSSBiZWxpZXZlIHlvdSBhcmUgYWxzbyBpbiBh Z3JlZW1lbnQgdGhlcmUuDQoNCkkgYWxzbyBkb24ndCBoYXZlIG9iamVjdGlvbnMgZm9yIHRoYXQg cGF0Y2guDQpUaGUgb25seSBvYnNlcmF2aW9uIGZyb20gcmVhZGluZyB5b3VyIHJlcGxpZXMgdG8g dGhhdCBhdCBpcHNlYy1zZWNndyBwYXRjaGVzOg0KRXh0cmEgQVBJIHRvIHJldHJpZXZlIHNpemUg b2YgdGhhdCBIVyB0YWJsZSBzZWVtcyB0byBiZSBuZWVkZWQuDQpUaG91Z2ggSSBzdXBwb3NlIGl0 IGNvdWxkIGJlIGEgc3ViamVjdCBvZiBzZXBhcmF0ZSBwYXRjaC9kaXNjdXNzaW9uLg0KDQpBY2tl ZC1ieTogS29uc3RhbnRpbiBBbmFueWV2IDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPg0K DQo+IA0KPiA+ID4NCj4gPiA+PiAtIE90aGVyIFNQSSB2YWx1ZXMgd291bGQgYmUgcHJvY2Vzc2Vk IG5vbiBpbmxpbmUuDQo+ID4gPj4NCj4gPiA+PiBJbiB0aGlzIGNhc2Ugd2Ugd291bGQgYmUgYWJs ZSB0byBoYXZlIFNBIGFkZHJlc3NlZCBieSBsb25nZXIgdHVwbGUgKGkuZS4NCj4gPiA+PiBTUEkr RElQK1NJUCkgb3V0c2lkZSBvZiBiZWZvcmUgbWVudGlvbmVkIHJhbmdlLCBhcyB3ZWxsIGFzIFNB IHdpdGgNCj4gPiA+PiB1bnN1cHBvcnRlZCBjYXBhYmlsaXRpZXMgYnkgaW5saW5lIHByb3RvY29s IGRldmljZS4NCj4gPiA+Pg0KPiA+ID4+Pj4+Pj4+PiBUaGUgdXNhZ2Ugb2Ygb25lICdydGVfZmxv dycgZm9yIG11bHRpcGxlIFNBcyBpcyBub3QgbWFuZGF0b3J5Lg0KPiA+ID4+Pj4+Pj4+PiBJdCBp cyBvbmx5IHJlcXVpcmVkIHdoZW4gYXBwbGljYXRpb24gcmVxdWlyZXMgbGFyZ2UgbnVtYmVyIG9m DQo+ID4gU0FzLg0KPiA+ID4+Pj4+Pj4+PiBUaGUgcHJvcG9zZWQNCj4gPiA+Pj4+Pj4+PiBjaGFu Z2UgaXMgdG8gYWxsb3cgbW9yZSBlZmZpY2llbnQgdXNhZ2Ugb2YgaC93IHJlc291cmNlcyB3aGVy ZQ0KPiA+ID4+Pj4+Pj4+IGl0J3MgcGVybWl0dGVkIGJ5IHRoZSBQTUQuDQo+ID4gPj4+Pj4+Pj4+ Pj4gQXBwbGljYXRpb24gc2hvdWxkIGRvIGFuIHJ0ZV9mbG93X3ZhbGlkYXRlKCkgdG8gbWFrZSBz dXJlDQo+ID4gPj4+Pj4+Pj4+Pj4gdGhlIGZsb3cgaXMgc3VwcG9ydGVkIG9uIHRoZSBQTUQuDQo+ ID4gPj4+Pj4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBBbm9vYiBKb3Nl cGggPGFub29iakBtYXJ2ZWxsLmNvbT4NCj4gPiA+Pj4+Pj4+Pj4+PiAtLS0NCj4gPiA+Pj4+Pj4+ Pj4+PiAgICAgIGxpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93LmggfCA2ICsrKysrKw0KPiA+ID4+ Pj4+Pj4+Pj4+ICAgICAgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQ0KPiA+ID4+Pj4+ Pj4+Pj4+DQo+ID4gPj4+Pj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXRoZGV2L3J0 ZV9mbG93LmgNCj4gPiA+Pj4+Pj4+Pj4+PiBiL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93Lmgg aW5kZXggNDUyZDM1OS4uMjFmYTdlZA0KPiA+IDEwMDY0NA0KPiA+ID4+Pj4+Pj4+Pj4+IC0tLSBh L2xpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93LmgNCj4gPiA+Pj4+Pj4+Pj4+PiArKysgYi9saWIv bGlicnRlX2V0aGRldi9ydGVfZmxvdy5oDQo+ID4gPj4+Pj4+Pj4+Pj4gQEAgLTIyMzksNiArMjIz OSwxMiBAQCBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX21ldGVyIHsNCj4gPiA+Pj4+Pj4+Pj4+PiAg ICAgICAqIGRpcmVjdGlvbi4NCj4gPiA+Pj4+Pj4+Pj4+PiAgICAgICAqDQo+ID4gPj4+Pj4+Pj4+ Pj4gICAgICAgKiBNdWx0aXBsZSBmbG93cyBjYW4gYmUgY29uZmlndXJlZCB0byB1c2UgdGhlIHNh bWUNCj4gPiA+Pj4+Pj4+Pj4+PiBzZWN1cml0eQ0KPiA+ID4+IHNlc3Npb24uDQo+ID4gPj4+Pj4+ Pj4+Pj4gKyAqDQo+ID4gPj4+Pj4+Pj4+Pj4gKyAqIFRoZSBOVUxMIHZhbHVlIGlzIGFsbG93ZWQg Zm9yIHNlY3VyaXR5IHNlc3Npb24uIElmDQo+ID4gPj4+Pj4+Pj4+Pj4gKyBzZWN1cml0eSBzZXNz aW9uIGlzIE5VTEwsDQo+ID4gPj4+Pj4+Pj4+Pj4gKyAqIHRoZW4gU1BJIGZpZWxkIGluIEVTUCBm bG93IGl0ZW0gYW5kIElQIGFkZHJlc3NlcyBpbiBmbG93DQo+ID4gPj4+Pj4+Pj4+Pj4gKyBpdGVt cyAnSVB2NCcgYW5kDQo+ID4gPj4+Pj4+Pj4+Pj4gKyAqICdJUHY2JyB3aWxsIGJlIGFsbG93ZWQg dG8gYmUgYSByYW5nZS4gVGhlIHJ1bGUgdGh1cw0KPiA+ID4+Pj4+Pj4+Pj4+ICsgY3JlYXRlZCBj YW4gZW5hYmxlDQo+ID4gPj4+Pj4+Pj4+Pj4gKyAqIFNFQ1VSSVRZIHByb2Nlc3Npbmcgb24gbXVs dGlwbGUgZmxvd3MuDQo+ID4gPj4+Pj4+Pj4+Pj4gKyAqDQo+ID4gPj4+Pj4+Pj4+Pj4gICAgICAg Ki8NCj4gPiA+Pj4+Pj4+Pj4+PiAgICAgIHN0cnVjdCBydGVfZmxvd19hY3Rpb25fc2VjdXJpdHkg ew0KPiA+ID4+Pj4+Pj4+Pj4+ICAgICAgCXZvaWQgKnNlY3VyaXR5X3Nlc3Npb247IC8qKjwgUG9p bnRlciB0byBzZWN1cml0eQ0KPiA+ID4+Pj4+Pj4+Pj4+IHNlc3Npb24NCj4gPiA+Pj4+IHN0cnVj dHVyZS4NCj4gPiA+Pj4+Pj4+Pj4+PiAqLw0KPiA+ID4+Pj4+Pj4+Pj4+IC0tDQo+ID4gPj4+Pj4+ Pj4+Pj4gMi43LjQNCj4gPiA+Pj4+Pj4gLS0NCj4gPiA+Pj4+Pj4gUmVnYXJkcywNCj4gPiA+Pj4+ Pj4gVmxhZGltaXINCj4gPiA+Pj4+IC0tDQo+ID4gPj4+PiBSZWdhcmRzLA0KPiA+ID4+Pj4gVmxh ZGltaXINCj4gPiA+PiAtLQ0KPiA+ID4+IFJlZ2FyZHMsDQo+ID4gPj4gVmxhZGltaXINCj4gPg0K PiA+IC0tDQo+ID4gUmVnYXJkcywNCj4gPiBWbGFkaW1pcg0KDQo=