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 D0E48A034F; Thu, 14 May 2020 23:00:28 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2C6921DA21; Thu, 14 May 2020 23:00:28 +0200 (CEST) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50077.outbound.protection.outlook.com [40.107.5.77]) by dpdk.org (Postfix) with ESMTP id 50F891DA15 for ; Thu, 14 May 2020 23:00:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RErS92P05DsukGkQWkGtbyKgm0Um5bnifXaK3S8FsjE=; b=VbN64IXbBe4gkbX1yGJ28ADvMaO4NGDEqbObfrvpcK6wc/gBeRX8B2j1cbsmnJ74UNjQN4/mIxkBbpw3q/R6ChwwzTRf1GLgEEaO6Rbsm/APvS6oXH0222Iu5rIxcIt3lViwitc6YNTGRx/r8xOthfYKwhP+lwBbCufCz/57URQ= Received: from AM6PR08CA0026.eurprd08.prod.outlook.com (2603:10a6:20b:c0::14) by AM4PR0802MB2289.eurprd08.prod.outlook.com (2603:10a6:200:62::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.24; Thu, 14 May 2020 21:00:25 +0000 Received: from AM5EUR03FT030.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:c0:cafe::b3) by AM6PR08CA0026.outlook.office365.com (2603:10a6:20b:c0::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.20 via Frontend Transport; Thu, 14 May 2020 21:00:25 +0000 Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT030.mail.protection.outlook.com (10.152.16.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.19 via Frontend Transport; Thu, 14 May 2020 21:00:25 +0000 Received: ("Tessian outbound 567b75aed2b9:v54"); Thu, 14 May 2020 21:00:25 +0000 X-CR-MTA-TID: 64aa7808 Received: from 59d66c156309.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id F643C21F-B539-4E95-91A1-972EAF27A904.1; Thu, 14 May 2020 21:00:18 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 59d66c156309.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 14 May 2020 21:00:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bsLfD/EsE7/65COGTQvhq2MUcHnqVGq2QNWoMq26bMTTtk1bLblKIHLgrryt8dTHFdSi38HabWGZQopIjaNEqSvibXfvAPHj6x7FctZBRHBpkLXkUsh7g5Z5Yrwv4y1Ug6H91gphvNoLjMepHb0UnRQpDBiZh2cPv4WvRI/RGi0T6jwFkwlfJEG3II7mF5Sw6YWNZZCvs0y2ob/fnm8HAtTbxayCJWXpY2t0Ew212Unwl4dpgue8vgrEnyuQSQb+CbWvas2w8jcvhz1GmD9FTX9GrAkF1iSdtv9yYu2WsmkGoLuXfZRIzokirsf24rWP/g9/iKQM6LspR45JC3HXbA== 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=RErS92P05DsukGkQWkGtbyKgm0Um5bnifXaK3S8FsjE=; b=ahHWuEiEgTLn7qQXdIhFgPKnnVutV/k3CNVV48KXEh0DDdcq1UjPWPemqBOB4Ani+0cGai/pXETFKU+p7gNldgvvnW4y6Uvev70Ad41vGJdTeNI2mhwKzkV/sMiAknf7ZupmqH+41a4yTJ7w+U9um9KanPmg8LZjgU8oTjSjzG09ZY+CqxFIsSXtRttoZ183MyQgj5mZ7BjAcRugjLWsaywKaJaUZ+9Smc75QhdlabrX7AdBjP3svgxqlSPeoqBxu/VWBJOB8BIcKbN2i5NsRSfa91P8jxJyJ1ea8tQ7y3Z7ejhH0+J3oobnnSi2cU1VHIkXW1RkpQktpBcJpv1a/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RErS92P05DsukGkQWkGtbyKgm0Um5bnifXaK3S8FsjE=; b=VbN64IXbBe4gkbX1yGJ28ADvMaO4NGDEqbObfrvpcK6wc/gBeRX8B2j1cbsmnJ74UNjQN4/mIxkBbpw3q/R6ChwwzTRf1GLgEEaO6Rbsm/APvS6oXH0222Iu5rIxcIt3lViwitc6YNTGRx/r8xOthfYKwhP+lwBbCufCz/57URQ= Received: from DBBPR08MB4646.eurprd08.prod.outlook.com (2603:10a6:10:f5::16) by DBBPR08MB4808.eurprd08.prod.outlook.com (2603:10a6:10:d7::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.33; Thu, 14 May 2020 21:00:01 +0000 Received: from DBBPR08MB4646.eurprd08.prod.outlook.com ([fe80::1870:afc4:b90f:609d]) by DBBPR08MB4646.eurprd08.prod.outlook.com ([fe80::1870:afc4:b90f:609d%5]) with mapi id 15.20.3000.016; Thu, 14 May 2020 21:00:01 +0000 From: Honnappa Nagarahalli To: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , Stephen Hemminger , Phil Yang CC: "thomas@monjalon.net" , "dev@dpdk.org" , "bruce.richardson@intel.com" , "ferruh.yigit@intel.com" , "hemant.agrawal@nxp.com" , "jerinj@marvell.com" , "ktraynor@redhat.com" , "konstantin.ananyev@intel.com" , "maxime.coquelin@redhat.com" , "olivier.matz@6wind.com" , "harry.van.haaren@intel.com" , "erik.g.carrillo@intel.com" , nd , David Christensen , "david.marchand@redhat.com" , Song Zhu , Gavin Hu , Jeff Brownlee , Philippe Robin , Pravin Kantak , "Chen, Zhaoyan" , Honnappa Nagarahalli , nd Thread-Topic: [PATCH v4 4/4] eal/atomic: add wrapper for c11 atomics Thread-Index: AQHWKDQVYr2/oTFRrka2a/dKKmKOWKikw4QAgAAR2ACAAOM5AIAAqZ0AgAAI1ICAAAuQgIAAzd+AgADEG4CAAAQ5QA== Date: Thu, 14 May 2020 21:00:00 +0000 Message-ID: References: <1584407863-774-1-git-send-email-phil.yang@arm.com> <1589270586-4480-1-git-send-email-phil.yang@arm.com> <1589270586-4480-5-git-send-email-phil.yang@arm.com> <1589307606.25513.1@networkplumber.org> <98CBD80474FA8B44BF855DF32C47DC35C60FC1@smartserver.smartshare.dk> <8f58b8a5-b5a9-d6fa-0c95-69a056cefe88@ericsson.com> <83d621ed-fd17-3587-8b0d-387c70f280bf@ericsson.com> <98CBD80474FA8B44BF855DF32C47DC35C60FC3@smartserver.smartshare.dk> <3e46f9ce-588f-5578-af35-7ff810ee07bc@ericsson.com> In-Reply-To: <3e46f9ce-588f-5578-af35-7ff810ee07bc@ericsson.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 4b2f0d2b-f6e8-48a9-8ae6-07e19261bcbb.0 x-checkrecipientchecked: true Authentication-Results-Original: ericsson.com; dkim=none (message not signed) header.d=none; ericsson.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [70.113.25.165] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 44bd733b-c080-4c8c-9e30-08d7f849d324 x-ms-traffictypediagnostic: DBBPR08MB4808:|DBBPR08MB4808:|AM4PR0802MB2289: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:8273;OLM:8273; x-forefront-prvs: 040359335D X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Lg74SKtk0OCtLSNl6EOQGCLRW7/lQFyhv0v9JGg5yCpQZoMPbyHN2d6s1PGob+2ds8FQUtx5hQJQqS+L1WhrBnjdSLvBUBTzAxQYqcMyTDrjPf2sQxUUH2fA2TiEBupDL7AK8f1Epb0YeOwA3/QX60HdjBvCpga1VIUujp7UdYMeGOghgNKHfBZacjiNfmFJvELwbBRm8N6MLEeFjmiLVPXdQWju0Vm8pP69n5V9qJpJ2c9bqFr5FeC6CfOQGDlmDaSneycGS1yn+T1BnVoDXy0BWATCjXMWhKHiCvZZBHqUmqkupFzmHlpsnxE2ZbBP/UA8GqzFPKB1hr/d8z99Spk7c8JQ/RNlJmyVWzfHhjXI7BhY/jZzuDOMUMndGj55LbHDRWWzkmVJyJmJSmnFXxT+Mx4K7/4wj3lwNkUL0ylL7Vq/sKaFVpXYGoZ9A3+zND9cSWhodGlw36pSHb+CZoEkh6fLRLFLNOlZjfkA5poYwH33cZxNEuqyEvt8tA+iUVsoYInna2D0fTzKfD/gV4Nun2uJwHQHYQsDsWE8rV//6YTW8toPbuyuTgHBbITn X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBBPR08MB4646.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(39860400002)(136003)(376002)(396003)(366004)(346002)(6636002)(2906002)(9686003)(71200400001)(7416002)(186003)(26005)(55016002)(7696005)(52536014)(110136005)(5660300002)(8936002)(53546011)(33656002)(6506007)(4326008)(64756008)(76116006)(8676002)(316002)(966005)(66574014)(86362001)(66476007)(66946007)(478600001)(66446008)(66556008)(54906003)(21314003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: zOAKbdLmm0ViFXOZDcOhyMNPXNkxpppZ99Oug0oKpfx0Qleb67H8ZTELKOLZ+bEBRClLyYNtDaGV7du9p2w0VqA6K7Td1VyuP5kNvMlGXBELOGt5rfpr076Sy+hBQBNkDdkWLDppHXmUzgNMUOD3+DNH83lAI4uamUE3hYHSLFfW5CfDWCxKD8vj+2FQblWe4VH0ypDCc5UWbc/gx1oZcCFq4ubI3ymXmSY3RlJMyShUoDXfcKDSLdeXyMqg+t4mTzGMRgo1/PR+JPxw9Iz6TurBLxPRtO2xa2kJgUVgoAGeB6MWXIDFDKCRa9aSoSZyFcsI7RhVXWPNSaCIa1GKWJOd5GKqtn3M4kIq4+wom3OWajGMDapU1/lM1Qzz39//WUpqgcPmkTkPnZ5wWmQP2v8cVIH087riU8oDK+9HjR00dFv5yvxBt9POKuPV3vSwSLZSjizAo4RY5tONHX0qrwkZFC4+Riue4w5izYRkk43OXR1jLPaofNEu0K2RgCy9 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4808 Original-Authentication-Results: ericsson.com; dkim=none (message not signed) header.d=none; ericsson.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT030.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:; SFS:(4636009)(396003)(136003)(346002)(39860400002)(376002)(46966005)(53546011)(5660300002)(54906003)(4326008)(26005)(6506007)(2906002)(478600001)(82740400003)(7696005)(52536014)(86362001)(47076004)(6636002)(55016002)(33656002)(8936002)(316002)(966005)(70586007)(66574014)(70206006)(186003)(82310400002)(356005)(81166007)(8676002)(110136005)(9686003)(336012)(36906005)(21314003); DIR:OUT; SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: 82f3afab-91a7-4a81-1fbd-08d7f849c48c X-Forefront-PRVS: 040359335D X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: w0WfEPeEMVuIIQxC033kEgxakAzrFHLai9WNEeJ/b8jepnhG+vtkNp2mG3f8RHIgXvr35+tp3H/m7/3BUrb7rcUOQ86xce1xpp/UJmp9s3gz3CbyKTbQJQNxzHEoOfUdZr0+FXN/ESDXqHFy0vRnygdTJwmUCD8DKaT5FIwLyjfhl8M58ng+LcULEZ1TMFLLBJR7GJSMRVl/ztysQ6NaFo3NbUuVL1cCBwizF4KU4b3Arg3ptW8CZthcSLjn3gmXKApKHnpgfRgtax8E5xp6snv1bH2bVvJS7L2hJLzO0BN0SSovva+xexruykCnGD/NrJS1Axut8smcnefZ76/u/qa56xOv3Ln0ixj3bJB3MTCkJxT9/LhNaaA9ideL6oLCKZX9Q0ZBBIvBJqTog1kG1SZCxNRgQi4j6yQrgfPKuY2DLosyf2Y/LxuHvwCSLSrzfUtARcw+k/IeyLb/gDKDjZln+xw7tUTAC5/Nwglz/OavBmtNqgKtZTwPH3i1ok4/75FPENsj7jzzRJvDd4FLtlSCsu5z0fucBclCiMIh22YThwfb8lHuji17bpCGDFcjz1yaBQbRAkV+xs8lobUy/RGtxzWiKmbVE/XT6rthk/k= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 May 2020 21:00:25.4108 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 44bd733b-c080-4c8c-9e30-08d7f849d324 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2289 Subject: Re: [dpdk-dev] [PATCH v4 4/4] eal/atomic: add wrapper for c11 atomics 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" PHNuaXA+DQoNCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2NCA0LzRdIGVhbC9hdG9taWM6IGFkZCB3 cmFwcGVyIGZvciBjMTEgYXRvbWljcw0KPiANCj4gT24gMjAyMC0wNS0xNCAxMDozNCwgTW9ydGVu IEJyw7hydXAgd3JvdGU6DQo+ID4gKyBBZGRlZCBwZW9wbGUgZnJvbSB0aGUgcmVsYXRlZCBkaXNj dXNzaW9uIHJlZ2FyZGluZyB0aGUgQVJNIHJvYWRtYXANCj4gW2h0dHBzOi8vcHJvdGVjdDIuZmly ZWV5ZS5jb20vdjEvdXJsP2s9MTBlZmRkN2ItNGU0ZjFlZDItMTBlZjlkZTAtDQo+IDg2OTU5ZTQ3 MjI0My1iNzcyZmVmMzFlNGFlNmFmJnE9MSZlPWUzYjAwNTFlLWJiMjMtNGEzMC04NGM3LQ0KPiA3 ZTVlODBmODMzMjUmdT1odHRwcyUzQSUyRiUyRm1haWxzLmRwZGsub3JnJTJGYXJjaGl2ZXMlMkZk ZXYlMkYyMA0KPiAyMC1BcHJpbCUyRjE2MjU4MC5odG1sXS4NCj4gPg0KPiA+PiBGcm9tOiBNYXR0 aWFzIFLDtm5uYmxvbSBbbWFpbHRvOm1hdHRpYXMucm9ubmJsb21AZXJpY3Nzb24uY29tXQ0KPiA+ PiBTZW50OiBXZWRuZXNkYXksIE1heSAxMywgMjAyMCAxMDoxNyBQTQ0KPiA+Pg0KPiA+PiBPbiAy MDIwLTA1LTEzIDIxOjQwLCBIb25uYXBwYSBOYWdhcmFoYWxsaSB3cm90ZToNCj4gPj4+IDxzbmlw Pg0KPiA+Pj4NCj4gPj4+Pj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjQgNC80XSBlYWwvYXRvbWlj OiBhZGQgd3JhcHBlciBmb3IgYzExDQo+ID4+IGF0b21pY3MNCj4gPj4+Pj4+IE9uIFR1ZSwgTWF5 IDEyLCAyMDIwIGF0IDQ6MDMgcG0sIFBoaWwgWWFuZw0KPiA+PiA8bWFpbHRvOnBoaWwueWFuZ0Bh cm0uY29tPg0KPiA+Pj4+Pj4gd3JvdGU6DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gcGFyYW1ldGVyLiBT aWduZWQtb2ZmLWJ5OiBQaGlsIFlhbmcgPG1haWx0bzpwaGlsLnlhbmdAYXJtLmNvbT4NCj4gPj4+ Pj4+DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gV2hhdCBpcyB0aGUgcHVycG9zZSBvZiBoYXZpbmcgcnRl X2F0b21pYyBhdCBhbGw/DQo+ID4+Pj4+PiBJcyB0aGlzIGxldmVsIG9mIGluZGlyZWN0aW9uIHJl YWxseSBoZWxwaW5nPw0KPiA+Pj4+Pj4gW0hPTk5BUFBBXSAobm90IHN1cmUgd2h5IHRoaXMgZW1h aWwgaGFzIGh0bWwgZm9ybWF0LCBjb252ZXJ0ZWQgdG8NCj4gPj4+Pj4+IHRleHQNCj4gPj4+Pj4+ IGZvcm1hdCkNCj4gPj4+Pj4+IEkgYmVsaWV2ZSB5b3UgbWVhbnQsIHdoeSBub3QgdXNlIHRoZSBf X2F0b21pY194eHggYnVpbHQtaW5zDQo+ID4+IGRpcmVjdGx5Pw0KPiA+Pj4+Pj4gVGhlIG9ubHkg cmVhc29uIGZvciBub3cgaXMgaGFuZGxpbmcgb2YNCj4gPj4+Pj4+IF9fYXRvbWljX3RocmVhZF9m ZW5jZShfX0FUT01JQ19TRVFfQ1NUKSBmb3IgeDg2LiBUaGlzIGlzDQo+ID4+IGVxdWl2YWxlbnQN Cj4gPj4+Pj4+IHRvIHJ0ZV9zbXBfbWIgd2hpY2ggaGFzIGFuIG9wdGltaXplZCBpbXBsZW1lbnRh dGlvbiBmb3IgeDg2Lg0KPiA+Pj4+Pj4gQWNjb3JkaW5nIHRvIEtvbnN0YW50aW4sIHRoZSBjb21w aWxlciBkb2VzIG5vdCBnZW5lcmF0ZSBvcHRpbWFsDQo+ID4+IGNvZGUuDQo+ID4+Pj4+PiBXcmFw cGluZyB0aGF0IGJ1aWx0LWluIGFsb25lIGlzIGdvaW5nIHRvIGJlIGNvbmZ1c2luZy4NCj4gPj4+ Pj4+DQo+ID4+Pj4+PiBUaGUgd3JhcHBlcnMgYWxzbyBhbGxvdyB1cyB0byBoYXZlIG91ciBvd24g aW1wbGVtZW50YXRpb24gdXNpbmcNCj4gPj4+Pj4+IGlubGluZSBhc3NlbWJseSBmb3IgY29tcGls ZXJzIHZlcnNpb25zIHRoYXQgZG8gbm90IHN1cHBvcnQgQzExDQo+ID4+IGF0b21pYw0KPiA+Pj4+ Pj4gYnVpbHQtIGlucy4gQnV0LCBJIGRvIG5vdCBrbm93IGlmIHRoZXJlIGlzIGEgbmVlZCB0byBz dXBwb3J0DQo+ID4+Pj4+PiB0aG9zZQ0KPiA+PiB2ZXJzaW9ucy4NCj4gPj4+Pj4gSWYgSSByZWNh bGwgY29ycmVjdGx5LCBzb21lb25lIG1lbnRpb25lZCB0aGF0IG9uZSAob3IgbW9yZSkgb2YgdGhl DQo+ID4+IGFnaW5nDQo+ID4+Pj4gZW50ZXJwcmlzZSBMaW51eCBkaXN0cmlidXRpb25zIGRvbid0 IGluY2x1ZGUgYSBjb21waWxlciB3aXRoIEMxMQ0KPiA+PiBhdG9taWNzLg0KPiA+Pj4+PiBJIHRo aW5rIFN0ZXBoZW4gaXMgb250byBzb21ldGhpbmcgaGVyZS4uLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBJ dCBpcyBzaWxseSB0byBhZGQgd3JhcHBlcnMgbGlrZSB0aGlzLCBpZiB0aGUgb25seSBwdXJwb3Nl IGlzIHRvDQo+ID4+IHN1cHBvcnQNCj4gPj4+PiBjb21waWxlcnMgYW5kIGRpc3RyaWJ1dGlvbnMg dGhhdCBkb24ndCBwcm9wZXJseSBzdXBwb3J0IGFuIG9mZmljaWFsDQo+ID4+IEMgc3RhbmRhcmQN Cj4gPj4+PiB3aGljaCBpcyBuZWFybHkgYSBkZWNhZGUgb2xkLiBUaGUgcXVhbGl0eSBhbmQgcXVh bnRpdHkgb2YgdGhlIERQREsNCj4gPj4+PiBkb2N1bWVudGF0aW9uIGZvciB0aGVzZSBmdW5jdGlv bnMgKGluY2x1ZGluZyBleGFtcGxlcywgZGlzY3Vzc2lvbnMNCj4gPj4gb24gU3RhY2sNCj4gPj4+ PiBPdmVyZmxvdywgZXRjLikgd2lsbCBiZSBpbmZlcmlvciB0byB0aGUgZG9jdW1lbnRhdGlvbiBv ZiB0aGUNCj4gPj4gc3RhbmRhcmQgQzExDQo+ID4+Pj4gYXRvbWljcywgd2hpY2ggaW5jcmVhc2Vz IHRoZSBwcm9iYWJpbGl0eSBvZiBpbmNvcnJlY3QgdXNlLg0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+ PiBXaGF0J3MgYmVpbmcgdXNlZCBpbiBEUERLIHRvZGF5LCBhbmQgd2hhdCdzIGJlaW5nIHdyYXBw ZWQgaGVyZSwgaXMNCj4gPj4gbm90DQo+ID4+Pj4gc3RhbmRhcmQgQzExIGF0b21pY3MgLSBpdCdz IGEgYnVuY2ggb2YgR0NDIGJ1aWx0LWlucy4gTm90aGluZyBpbg0KPiA+Pj4+IHRoZQ0KPiA+PiBf Xw0KPiA+Pj4+IG5hbWVzcGFjZSBpcyBpbiB0aGUgc3RhbmRhcmQuIEl0J3MgcmVzZXJ2ZWQgZm9y IHRoZSBpbXBsZW1lbnRhdGlvbg0KPiA+PiAoZS5nLg0KPiA+Pj4+IGNvbXBpbGVyKS4NCj4gPj4+ IEkgaGF2ZSB0cmllZCB0byB1bmRlcnN0YW5kIHdoYXQgaXQgbWVhbiBieSAnYnVpbHQtaW5zJywg YnV0IEkgaGF2ZQ0KPiA+PiBub3QgZ290IGEgZ29vZCBhbnN3ZXIuIFNvLCBkb2VzIGl0IG1lYW4g dGhhdCB0aGUgYnVpbHQtaW4gZnVuY3Rpb24NCj4gPj4gKHNhbWUgc3ltYm9sIGFuZCBBUEkgaW50 ZXJmYWNlKSBtYXkgbm90IGJlIGF2YWlsYWJsZSBpbiBhbm90aGVyIEMNCj4gPj4gY29tcGlsZXI/ IElNTywgdGhpcyBpcyB3aGF0IG1hdHRlcnMgZm9yIERQREsuDQo+ID4+PiBDdXJyZW50bHksIHRo ZSBzYW1lIGJ1aWx0LWluIGZ1bmN0aW9ucyBhcmUgYXZhaWxhYmxlIGluIEdDQyBhbmQNCj4gPj4g Q2xhbmcuDQo+ID4+DQo+ID4+DQo+ID4+ICAgRnJvbSB3aGF0IEkgdW5kZXJzdGFuZCwgImJ1aWx0 LWlucyIgaXMgR0NDIHRlcm1pbm9sb2d5IGZvcg0KPiA+PiBub24tc3RhbmRhcmQsIGltcGxlbWVu dGF0aW9uLXNwZWNpZmljIGludHJpbnNpYyBmdW5jdGlvbnMsIGJ1aWx0IGludG8NCj4gPj4gdGhl IGNvbXBpbGVyLiBUaGV5IGFsbCByZXNpZGUgaW4gdGhlIF9fKiBuYW1lc3BhY2UuDQo+ID4+DQo+ ID4+DQo+ID4+IFNpbmNlIEdDQyBpcyB0aGUgaW5kdXN0cnkgc3RhbmRhcmQsIG90aGVyIGNvbXBp bGVycyBhcmUgbGlrZWx5IHRvDQo+ID4+IGZvbGxvdywgaW5jbHVkaW5nIGJ1aWx0LWluIGZ1bmN0 aW9ucy4NCj4gPj4NCj4gPiBUaW1lbGluZToNCj4gPg0KPiA+IERlY2VtYmVyIDIwMTE6IFRoZSBD MTEgc3RhbmRhcmQgd2FzIHB1Ymxpc2hlZA0KPiBbaHR0cHM6Ly9wcm90ZWN0Mi5maXJlZXllLmNv bS92MS91cmw/az04ZTIzYjAxMi1kMDgzNzNiYi04ZTIzZjA4OS0NCj4gODY5NTllNDcyMjQzLWEy YmFiZTcwNzVmOGFjMzgmcT0xJmU9ZTNiMDA1MWUtYmIyMy00YTMwLTg0YzctDQo+IDdlNWU4MGY4 MzMyNSZ1PWh0dHAlM0ElMkYlMkZ3d3cub3Blbi0NCj4gc3RkLm9yZyUyRmp0YzElMkZzYzIyJTJG d2cxNCUyRnd3dyUyRnN0YW5kYXJkcy5odG1sXS4NCj4gPg0KPiA+IE1hcmNoIDIwMTI6IEdDQyA0 Ljcgd2FzIHJlbGVhc2VkLCBpbnRyb2R1Y2luZyB0aGUgX19hdG9taWMgYnVpbHQtaW5zDQo+IFto dHRwczovL2djYy5nbnUub3JnL2djYy00LjcvY2hhbmdlcy5odG1sLA0KPiBodHRwczovL3d3dy5n bnUub3JnL3NvZnR3YXJlL2djYy9nY2MtNC43L10uDQo+ID4NCj4gPiBNYXJjaCAyMDEzOiBHQ0Mg NC44IHdhcyByZWxlYXNlZCBbaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nY2MvZ2NjLQ0K PiA0LjgvXS4NCj4gPg0KPiA+IEFwcmlsIDIwMTQ6IEdDQyA0Ljkgd2FzIHJlbGVhc2VkLCBpbnRy b2R1Y2luZyBDMTEgYXRvbWljcyAoaW5jbC4NCj4gPHN0ZGF0b21pYy5oPikgW2h0dHBzOi8vZ2Nj LmdudS5vcmcvZ2NjLTQuOS9jaGFuZ2VzLmh0bWwsDQo+IGh0dHBzOi8vd3d3LmdudS5vcmcvc29m dHdhcmUvZ2NjL2djYy00LjkvXS4NCj4gPg0KPiA+IEp1bmUgMjAxNDogUkhFTDcgd2FzIHJlbGVh c2VkDQo+ID4gW2h0dHBzOi8vYWNjZXNzLnJlZGhhdC5jb20vYXJ0aWNsZXMvMzA3OF0uIChSSEVM NyBCZXRhIHdhcyByZWxlYXNlZCBpbg0KPiA+IERlY2VtYmVyIDIwMTMsIHdoaWNoIHByb2JhYmx5 IGV4cGxhaW5zIHdoeSB0aGUgR0EgcmVsZWFzZSBkb2VzbuKAmXQNCj4gPiBpbmNsdWRlIEdDQyA0 LjkuKQ0KPiA+DQo+ID4gTWF5IDIwMTkgKGkuZS4gb25lIHllYXIgYWdvKTogUkhFTDggd2FzIHJl bGVhc2VkDQo+IFtodHRwczovL2FjY2Vzcy5yZWRoYXQuY29tL2FydGljbGVzLzMwNzhdLg0KPiA+ DQo+ID4NCj4gPiBSSEVMNyBpbmNsdWRlcyBHQ0MgNC44IG9ubHkgW2h0dHBzOi8vYWNjZXNzLnJl ZGhhdC5jb20vc29sdXRpb25zLzE5NDU4XSwNCj4gYW5kIGFwcGFyZW50bHkgUkhFTDcgaGFzIG5v dCBiZWVuIHVwZGF0ZWQgdG8gR0NDIDQuOSB3aXRoIGFueSBvZiBpdHMgbWlub3INCj4gcmVsZWFz ZXMuDQo+ID4NCj4gPiBTaG91bGQgdGhlIERQREsgcHJvamVjdCBiZSBzdHVjayBvbiAiaW5kdXN0 cnkgc3RhbmRhcmQiIEdDQyBhdG9taWNzLA0KPiB1bmFibGUgdG8gdXNlIHRoZSBkZWNhZGUgb2xk ICJvZmZpY2lhbCBzdGFuZGFyZCIgQzExIGF0b21pY3MsIG9ubHkgYmVjYXVzZQ0KPiB3ZSB3YW50 IHRvIHN1cHBvcnQgYSBzaXggeWVhciBvbGQgZW50ZXJwcmlzZSBMaW51eCBkaXN0cmlidXRpb24/ IFJlZCBIYXQNCj4gcmVsZWFzZWQgYSBuZXcgZW50ZXJwcmlzZSB2ZXJzaW9uIGEgeWVhciBhZ28u Li4gcGVyaGFwcyBpdCdzIHRpbWUgZm9yIHRoZWlyDQo+IGN1c3RvbWVycyB0byB1cGdyYWRlLCBp ZiB0aGV5IHdhbnQgdG8gdXNlIHRoZSBsYXRlc3QgYW5kIGdyZWF0ZXN0IHZlcnNpb24gb2YNCj4g RFBESy4NCj4gDQo+IA0KPiBKdXN0IHRvIGJlIGNsZWFyIC0gSSB3YXNuJ3QgYXJndWluZyBmb3Ig dGhlIGRpcmVjdCB1c2Ugb2YgR0NDIGJ1aWx0LWlucy4NCj4gDQo+IA0KPiBUaGUgR0NDIF9fYXRv bWljIGJ1aWx0LWlucyAoY2FsbGVkIGRpcmVjdGx5LCBvciB2aWEgYSBEUERLIHdyYXBwZXIpIGRv IGhhdmUNCj4gc29tZSBhZHZhbnRhZ2VzIG92ZXIgQzExIGF0b21pY3MuIE9uZSBpcyB0aGF0IEdD QyBzdXBwb3J0cyAxMjgtYml0IGF0b21pYw0KPiBvcGVyYXRpb25zLCBvbiBjZXJ0YWluIGFyY2hp dGVjdHVyZXMuIDxydGVfYXRvbWljLmg+IGFscmVhZHkgaGFzIGEgMTI4LWJpdA0KPiBjb21wYXJl LWV4Y2hhbmdlLiBBbHNvLCBzaW5jZSB0aGUgR0NDIGJ1aWx0LWlucyBzZWVtIG5vdCB0byBib3Ro ZXIgd2l0aA0KPiBhcmNoaXRlY3R1cmVzIHdoZXJlIGF0b21pY3Mgd291bGQgYmUgaW1wbGVtZW50 ZWQgYnkgbWVhbnMgb2YgYSBsb2NrLCB0aGV5DQo+IGFyZSBhIGxpdHRsZSBlYXNpZXIgdG8gdXNl IHRoYW4gPHN0ZGF0b21pYy5oPi4NCklNTywgSSBkbyBub3QgdGhpbmsgd2Ugc2hvdWxkIGZvY3Vz IG9uIGJ1aWx0LWlucyB2cyBBUElzLg0KDQoxKSBCdWlsdC1pbnMgYXJlIHN1cHBvcnRlZCBieSBi b3RoIEdDQyBhbmQgQ2xhbmcgdG9kYXkuIElmIHRoZXJlIGlzIGEgbmV3IGNvbXBpbGVyIGluIHRo ZSBmdXR1cmUsIG1vc3QgbGlrZWx5IGl0IHdpbGwgc3VwcG9ydCB0aGVzZSBidWlsdC1pbnMuDQoy KSBJIGxpa2UgdGhlIGZhY3QgdGhhdCB0aGUgYnVpbHQtaW5zIGFsd2F5cyByZXF1aXJlIHRoZSBt ZW1vcnkgb3JkZXIgcGFyYW1ldGVyLiBzdGRhdG9taWMuaCBwcm92aWRlcyBzb21lIEFQSXMgd2hp Y2ggZG8gbm90IG5lZWQgbWVtb3J5IG9yZGVyIChqdXN0IGxpa2UgcnRlX2F0b21pY05OX3h4eCBB UElzKS4gVGhpcyBuZWVkcyB1cyB0byBpbXBsZW1lbnQgY2hlY2tzIGluIGNoZWNrcGF0Y2ggc2Ny aXB0IHRvIGF2b2lkIHVzaW5nIHN1Y2ggQVBJcy4NCjMpIElmIHdlIG5lZWQgdG8gcmVwbGFjZSB0 aGUgYnVpbHQtaW5zIHdpdGggQVBJcyBpbiB0aGUgZnV0dXJlLCBpdCBpcyBhIHNpbXBsZSBzZWFy Y2ggYW5kIHJlcGxhY2UuDQoNCklmIHRoZSBkZWNpc2lvbiB0byBnbyB3aXRoIGJ1aWx0LWlucywg dHVybnMgb3V0IHRvIGJlIGEgYmFkIGRlY2lzaW9uLCBpdCBjYW4gYmUgY29ycmVjdGVkIGVhc2ls eS4NCg0KSSB0aGluayB3ZSBzaG91bGQgZm9jdXMgb24gdGhlIGNvbXBpbGVyIG5vdCBnZW5lcmF0 aW5nIG9wdGltYWwgY29kZSBmb3IgX19hdG9taWNfdGhyZWFkX2ZlbmNlKF9fQVRPTUlDX1NFUV9D U1QpIGZvciB4ODYuIFRoaXMgaXMgdGhlIG1haW4gcmVhc29uIGZvciB0aGVzZSB3cmFwcGVycy4g RnJvbSB3aGF0IEkgaGF2ZSBzZWVuLCBEUERLIGhhcyB0cmllZCB0byBwcm92aWRlIHNvbHV0aW9u cyBpbnRlcm5hbGx5IGZvciBwZXJmb3JtYW5jZSBpc3N1ZXMgY2F1c2VkIGJ5IGNvbXBpbGVycy4N CkdpdmVuIHRoYXQgd2UgaGF2ZSBwcm92aWRlZCAncnRlX2F0b21pYzEyOF9jbXBfZXhjaGFuZ2Un IChwcm92aWRlZCBiZWNhdXNlIGJvdGggdGhlIGNvbXBpbGVycyB3ZXJlIG5vdCBnZW5lcmF0aW5n IHRoZSAxMjhiIGNvbXBhcmUtZXhjaGFuZ2UpLCBJIHdvdWxkIHNheSB3ZSBzaG91bGQganVzdCBw cm92aWRlIHdyYXBwZXIgZm9yICdfX2F0b21pY190aHJlYWRfZmVuY2UnIGJ1aWx0LWluLg0KDQo+ IA0KPiANCj4gPiBBcmUgYWxsIHRoZSBvdGhlciB0b29scyByZXF1aXJlZCBmb3IgYnVpbGRpbmcg RFBESyAoaW4gdGhlIHJlcXVpcmVkIHZlcnNpb25zKQ0KPiBpbmNsdWRlZCBpbiBSSEVMNywgb3Ig ZG8gd2UgcmVxdWlyZSBkZXZlbG9wZXJzIHRvIGluc3RhbGwvdXBncmFkZSBhbnkgb3RoZXINCj4g dG9vbHMgYW55d2F5PyBJZiBzbywgd2h5IG5vdCBhbHNvIEdDQz8gRFBESyBjYW4gYmUgdXNlZCBp biBhIGNyb3NzDQo+IGNvbXBpbGF0aW9uIGVudmlyb25tZW50LCBzbyB3ZSBhcmUgbm90IHJlcXVp cmluZyBSSEVMNyB1c2VycyB0byByZXBsYWNlDQo+IHRoZWlyIEdDQyA0LjcgZGVmYXVsdCBjb21w aWxlci4NCkkgaGF2ZSBub3QgdXNlZCBSSEVMNywgSW50ZWwgQ0kgdXNlcyBSSEVMNywgbWF5IGJl IHRoZXkgY2FuIGFuc3dlci4NCg0KPiA+DQo+ID4NCj4gPiBGdXJ0aGVybW9yZSwgdGhlIERQREsg RG9jdW1lbnRhdGlvbiBzcGVjaWZpZXMgR0NDIDQuOSsgYXMgYSBzeXN0ZW0NCj4gcmVxdWlyZW1l bnQgW2h0dHBzOi8vcHJvdGVjdDIuZmlyZWV5ZS5jb20vdjEvdXJsP2s9MzM5YmFkNTYtNmQzYjZl ZmYtDQo+IDMzOWJlZGNkLTg2OTU5ZTQ3MjI0My1jYjFiZjM5MzRjMjAyZTNmJnE9MSZlPWUzYjAw NTFlLWJiMjMtNGEzMC0NCj4gODRjNy0NCj4gN2U1ZTgwZjgzMzI1JnU9aHR0cHMlM0ElMkYlMkZk b2MuZHBkay5vcmclMkZndWlkZXMlMkZsaW51eF9nc2clMkYNCj4gc3lzX3JlcXMuaHRtbCUyM2Nv bXBpbGF0aW9uLW9mLXRoZS1kcGRrXS4gSWYgd2UgYXJlIHN0dWNrIG9uIEdDQyA0LjgsIHRoZQ0K PiBkb2N1bWVudGF0aW9uIHNob3VsZCBiZSB1cGRhdGVkLg0KVGhpcyBpcyBpbnRlcmVzdGluZy4g VGhlbiB0aGUgQ0kgc3lzdGVtcyBzaG91bGQgYmUgdXBncmFkZWQgdG8gdXNlIEdDQyA0LjkrLg0K DQo+ID4NCj4gPg0KPiA+Pj4+PiBBbmQgaWYgc29tZSBjb21waWxlciBnZW5lcmF0ZXMgY29kZSB0 aGF0IGlzIHN1Ym9wdGltYWwgZm9yIGEgdXNlciwNCj4gPj4gdGhlbiBpdA0KPiA+Pj4+IHNob3Vs ZCBiZSB0aGUgY2hvaWNlIG9mIHRoZSB1c2VyIHRvIGVpdGhlciBhY2NlcHQgaXQgb3IgdXNlIGEN Cj4gPj4+PiBiZXR0ZXINCj4gPj4gY29tcGlsZXIuDQo+ID4+Pj4gVXNpbmcgYSBzdWJvcHRpbWFs IGNvbXBpbGVyIHdpbGwgbm90IG9ubHkgYWZmZWN0IHRoZSB1c2VyJ3MgRFBESw0KPiA+PiBhcHBs aWNhdGlvbnMsDQo+ID4+Pj4gYnV0IGFsbCBhcHBsaWNhdGlvbnMgZGV2ZWxvcGVkIGJ5IHRoZSB1 c2VyLiBBbmQgaWYgaGUgYWNjZXB0cyBpdA0KPiA+Pj4+IGZvcg0KPiA+PiBoaXMgb3RoZXINCj4g Pj4+PiBhcHBsaWNhdGlvbnMsIGhlIHdpbGwgYWxzbyBhY2NlcHQgaXQgZm9yIGhpcyBEUERLIGFw cGxpY2F0aW9ucy4NCj4gPj4+Pj4gV2UgY291bGQgaW50cm9kdWNlIHNvbWUgc29ydCBvZiBtYXJr ZXIgb3Igc3RhbmRhcmRpemVkIGNvbW1lbnQgdG8NCj4gPj4+PiBpbmRpY2F0ZSB3aGVuIGZ1bmN0 aW9ucyBvbmx5IGV4aXN0IGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoDQo+ID4+IGFu Y2llbnQNCj4gPj4+PiBjb21waWxlcnMgYW5kIHNpbWlsYXIsIHdpdGggYSByZWZlcmVuY2UgdG8g ZG9jdW1lbnRhdGlvbiBkZXNjcmliaW5nDQo+ID4+IHdoeS4gQW5kDQo+ID4+Pj4gd2hlbiB0aGUg ZG9jdW1lbnRlZCBwcmVjb25kaXRpb25zIGFyZSBubyBsb25nZXIgcmVsZXZhbnQsIGUuZy4gd2hl bg0KPiA+PiB0aG9zZQ0KPiA+Pj4+IHBhcnRpY3VsYXIgZW50ZXJwcmlzZSBMaW51eCBkaXN0cmli dXRpb25zIGJlY29tZSBvYnNvbGV0ZSwgdGhlc2UNCj4gPj4gZnVuY3Rpb25zDQo+ID4+Pj4gYmVj b21lIG9ic29sZXRlIHRvbywgYW5kIHNob3VsZCBiZSByZW1vdmVkLiBIb3dldmVyLCBnZXR0aW5n IHJpZCBvZg0KPiA+Pj4+IG9ic29sZXRlIGNydWZ0IHdpbGwgYnJlYWsgdGhlIEFCSS4gSW4gb3Ro ZXIgd29yZHM6IEFkZGVkIGNydWZ0IHdpbGwNCj4gPj4gbmV2ZXIgYmUNCj4gPj4+PiByZW1vdmVk IGFnYWluLCBzbyB0aGluayB0d2ljZSBiZWZvcmUgYWRkaW5nLg0KPiANCg0K