From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web12.4321.1650330899305559717 for ; Mon, 18 Apr 2022 18:15:00 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=S9fQf3Rr; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: yi1.li@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1650330899; x=1681866899; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=PLhHMwMpPCBuVuJ9MsKnohhPMm0Pfs/al40zHKsdIyM=; b=S9fQf3RroEBVEOw7BeJrzwnL7h7shgsSK1DoFuCq7pXsEq2BbUS/5MKj MrIDUKWnrMspO7P2kH6rO5NXamDd9hzPDppax+iqOvFx75JR6cIGg6Qm9 NrRy4g5HWt1p6TWNYDc6OkUsRsadyx7qzB7tMemC8kU7l+whf3qtRclhB JNeetAA0P7Fvs0Q/aEGNyFZgKKe6tdfVGmr5Zioyp2B/K7e+YBylshBYv yWziqiKhNtARhWHTVfuP05qbqvBis3Z+hpcB+MZUi+Z+hFuWYL3gzuX3X GXNWr5dsOlqgThZ+q5AzWQnKGaKKk7Lt5o9k/VXs/B1hYj773DizYbaq6 A==; X-IronPort-AV: E=McAfee;i="6400,9594,10321"; a="250949578" X-IronPort-AV: E=Sophos;i="5.90,271,1643702400"; d="scan'208";a="250949578" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2022 18:14:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,271,1643702400"; d="scan'208";a="561528729" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga007.fm.intel.com with ESMTP; 18 Apr 2022 18:14:58 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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.2308.27; Mon, 18 Apr 2022 18:14:57 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Mon, 18 Apr 2022 18:14:57 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.45) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Mon, 18 Apr 2022 18:14:57 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MuCnZSYjeRNMcstDSoPbAN7jSSmbIBau+0bYbF/p13ITk7fuR7QUfdaLiePKS002n6O+7HNDFBqH23nkbc8pUVPhmEQrhsIpuOWavLw4ZkwsZimyy5utoDF7uYr4qsM6su1oQrI34MW4CwnJRlEa/Nd3AB3mxI8v6MJSj3m+3qfEiKZW7As/aCzM09F4YDn2sQoIKByOM8fziBTBkXYCUS9S8buyQFHw2Rjt3wzYFQzffR9hiGu8Yl7eth1InuPo9CAhyrFoS5XBUvmaKIyAKdpUpMAwoXmxCjuQ+hy6ALuMFiFNHgBaX1Lq3r7YcZTUONA792dAJjr1sGNWwZdIBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PLhHMwMpPCBuVuJ9MsKnohhPMm0Pfs/al40zHKsdIyM=; b=LuKES3syfyi1UeINjUGKpdxLYKxbNznQEaoDjnMwuslC3LPYrjaVhErN5N0ELc7j/hhVybgkKRUJjhreoe888VWZGJHeKyNf4UZXJpQcxW9YQpIsL8pgAD7D+Bc1f5B+XejY1isR1qaTVs1IRLJakvC4TWe+Kep1VbGNmu/1gjWdFoWofGV0QJgEiaLHjOuLOfLgtQ3CvbWbXXfoSmSvWtXC4rT82FbCn4nONaxVOB/koQBXwcB9NeYlAtSxnU9CoxhHHDBhSIqxopUEUzNteTU+DkyBGlUGFf1k/ZSKkUyt9RKNI4fheD07ARvy9JRWzC+yAz43cpoMredS7HaCuA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MWHPR11MB1597.namprd11.prod.outlook.com (2603:10b6:301:d::13) by DM6PR11MB2970.namprd11.prod.outlook.com (2603:10b6:5:65::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.20; Tue, 19 Apr 2022 01:14:50 +0000 Received: from MWHPR11MB1597.namprd11.prod.outlook.com ([fe80::f982:d182:4329:7398]) by MWHPR11MB1597.namprd11.prod.outlook.com ([fe80::f982:d182:4329:7398%11]) with mapi id 15.20.5164.025; Tue, 19 Apr 2022 01:14:50 +0000 From: "yi1 li" To: "Kinney, Michael D" , "devel@edk2.groups.io" , Gerd Hoffmann Subject: Re: [edk2-devel] [PATCH 1/4] CryptoPkg: Add instrinsics to support building ECC on IA32 windows Thread-Topic: [edk2-devel] [PATCH 1/4] CryptoPkg: Add instrinsics to support building ECC on IA32 windows Thread-Index: AQHYUyS5aPVgyYpSRESL0/vP2FM1n6z1yl+AgACkNEA= Date: Tue, 19 Apr 2022 01:14:50 +0000 Message-ID: References: In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.401.20 dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 76599fa0-b57b-4f27-6045-08da21a200a5 x-ms-traffictypediagnostic: DM6PR11MB2970:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EzrFOT7bDwWDcKD/I7W/psw6/by1rYXYZEJRVNZU3+GuZmCZ5+hQMts6hDYsl31vQ0YpWJkDzFlc5TSDORBsi1OHDIen70JndVphgOXpIOqjy8ys6yoxAIzd0ds3Q7MyRIYlCh7xMaZRaCqI6SMwSu0GGNU7nyL2Sstxu9pUymULc5WMHw1Yjd9+I11u6a8l7Cv7CTBewjRAkKNJNJJ0+Rq83vG+W8AZTvYf8xkwlpDEfN87t5Rw+TlbHGDjLeURuZ1s0G0YImEYujeJFN9RUIwib2sNgplWpX2ZaCKzRHOzdYRQKf4AdAJA4sXHeLTcWvF2D13pfWcyxErGCbAIzDM0OHQwIXltOGvHBastuF/4ncZkNcdhCY7+GWJAb+IZoPRZP5hYQ0VkJyejkUXnqQeLIKhUeGPY0Dw4XvCSTxjMBtVcxl26mWlsywjmY1j1UT1JC71NJLUlN5rIuSp6s3g+/oKvUbjBksp6bAHm9K/Hhnz1+/uGItqNn8+NEuiaSer0iusxReiqqoCb69C3VTx/cCVnlgfKRjOzGvvzcGN21uISxEmV+/ITpxEM2XQmY7XS1Vp9RqXwHIUqiteoSmuPAHHHytUcA3Q5ez6ILuIaK/xDXUAB6QaiK3QStV5PLNp6+/Kd5wjIQUalscp/4srIOXY3mGLHi2vPYSom0yF2/dSpRji7VU5jPoAzqDunMZXTZEblj9yOiabl0hxKb4YoHcPdjDNUbsg7s/IGRYp3v0RJX38VZn8cTST6V8gUdCKzWvl35GU8ZsmSHd5Ep20mgfH6W8gDig0ov+3NGOGopwOWKpxSrli6oxk/2THLMbEvfOuSTPsO9hagxbscnQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR11MB1597.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(53546011)(71200400001)(38070700005)(38100700002)(45080400002)(316002)(122000001)(82960400001)(33656002)(2906002)(5660300002)(7696005)(186003)(26005)(8936002)(966005)(508600001)(9686003)(6506007)(86362001)(19627235002)(52536014)(110136005)(76116006)(66946007)(66446008)(66556008)(64756008)(8676002)(66476007)(83380400001)(55016003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TnoyZjJITmpBeFdLRzUrODJuVmZ0eXhrV2V5MFpKSWxSWEdPSmpvT1RuaG0x?= =?utf-8?B?NDdLNjMyRG1pNXQyVVd2elJhQUs2SXgxU2t4Y2pkN2VON05BWXFFVEtGNWtW?= =?utf-8?B?dlkrTmYrNkErdStUMEhhcWFubVAxeUJnSVlzbWIzZkh3R3VOOGJXbCtpSUF1?= =?utf-8?B?aXE4Mk15SnRpVVkwdkx6UVRuRmUzeWtOdjJma000MlhMTEE1OVpaTXpidFg0?= =?utf-8?B?NXVId0dUeitURGcvOVBKN0xGTGcwTnMxbXJLczlrUVNxR1JlUFUxazlRUWow?= =?utf-8?B?V1ZMZEhaRFlsUXoySkJyRC9qTXQ1eU45RUpaWHpZdGgvVGNsY2RCaUlkaXpC?= =?utf-8?B?aEkxeXZ2Vm9ORHRGcjJLdVorNE5vajRUbTlzSENGNmdhS3ArVUtVOWtBSktz?= =?utf-8?B?R05hN0lJd3FuanNqY1NHUStoWTlJcjRnSkxNQVdYWG91QTBhb28wbTRzOWNN?= =?utf-8?B?MENRUk1SNFVGMW9ERG1IUEhpZWdzNlBiYml2Q2VlWVAwU2J5OEcwS2c4aC9N?= =?utf-8?B?YStMT24wMmdBN08zUkdHdlVvaEUveDZCN1NaM2djK25HSUJ1cUVIVEgybUx0?= =?utf-8?B?MEl0Q3QrbEQ2TnF1aXFOSERjN0RCQmJodFcrc3Z6cDZKZGpVdi90ODY0ampK?= =?utf-8?B?R0NVTlBzeVFiQXdwbk9SU1p4NTJMd3dRU1lKeUptSURFSDk4Z29uemJQM3l0?= =?utf-8?B?WnFMTUc3RkxsNEQrRXhFZ29zQWhxRGd4alVRZ3FsSHRrV3FLSXJPWXhOQkMr?= =?utf-8?B?b25qMUFQREpMR1QxKzBPRXFKNU1WSlExc1JKV0dYdmJrRTdqcWNyUVJLWWFt?= =?utf-8?B?UlJhVDJTWms3MlhpdkJnZ0VqSjFtZXZvVWhYenlVQ3huUStpWjk5Y043dE5j?= =?utf-8?B?dW1TbHFUVGNvZXo1NUhqOXh3cjFPWXJjWkdTcWZkVHBhV2o2ckY0MkM1eVoz?= =?utf-8?B?ODVvS1ptRkZnM3dxYmczcWtPUGs0RUNpYVFhTnFvZjdIWnVkY2NWMGY1Tjlk?= =?utf-8?B?ZXBHcSsrbGcvelFhdE5Gd0N6aVc5dXp1enowaDI2ZTNCMXVGNmxHa3B1dnFr?= =?utf-8?B?OGhoNjRVZVZ6SjY4WXZ2SityblU0ckl1SjZTM1lnVnFISU4rYTZaZyt5VFlJ?= =?utf-8?B?MnFEOWVLUmEzZTF1dU5YMDBidVNhemRLU1BzQ05Dek5wVHpCQjBMSVdnS3h1?= =?utf-8?B?SEN0R0VPWXVlMHFhZGE1a1pyNW43TVBhQjFEaTFkNytuMFg1Q1ZLalNSREFS?= =?utf-8?B?elV4NXJ6aS9lQVQ4TEVuWG1EbFlrT3BKZlJPbHhTdDYxczVLOXpGbE9hNlp3?= =?utf-8?B?cDZSRnNrYVJVWFdoakxkUVp1WFRBSDFvUkMzNUZMak1vQ0s0T2RSUy9yVHBl?= =?utf-8?B?ell5Z1JhTHQvWDNyR3FZY3g0c1VJenNhTTh6RVRSN3dpTHhnU1FsSmRFQUtl?= =?utf-8?B?MkJnazRGcDZtNk93bEU1Z0c0VWxFZmY0SEtTTkUwWFlLMTdWczhxeWVzaXZQ?= =?utf-8?B?ZHQ4VmsvTitiSHNQVU10TFlDaFlvNnhNbEFmaVpMaStFbHN5MlU2OTNjbnRn?= =?utf-8?B?dmdob2tMbGZTQ2wrZWg5N2dEeThuM3p0dC95aGZNeW1JaHdqQUZuZ2l4RTFP?= =?utf-8?B?Qys0VUhYVThqMDBvbGZTZnI2OVhTSDJDQ3BrTTNVWHQ1c210OStrYVlLcEhh?= =?utf-8?B?MU5XMUNiSk54TExUUmQ1T1NEM25NZWgrNHZFeFNqRVAxSTV5ZUE4OW1aYzhS?= =?utf-8?B?SytmaXNnVElDa014WmdzVFczeGxSc2I1eWt5NFJiWEdtdTNTaDBvaTBuRTZw?= =?utf-8?B?RENiMTZoRGdPWllRVlh4U0NkQUYwR0gvOHlPQkk1dmRvdVg5TldEbjBuS0po?= =?utf-8?B?SEgyN2oxM0ZnVFVhWURVdDlhYUVxQlZjejdYeEV5NjRRYndmaWI1Y1VCRjZm?= =?utf-8?B?eW1UbE40TXA4bmxHc3RuM2tMZUNqYVlkc1FlTTJZUzN2ZlZLYlQ5TzNPRmtJ?= =?utf-8?B?bWRQaDVEaEl6T1IxN3ZXNFFvY2ZjYXpWMjhVYlBNUGhTYlNwd01aYTVFdmN5?= =?utf-8?B?dW9WbjN6Vnl4bnNPZVpCT3Zoa0VYakxMRGMzemFMMURHWC9zSzlEZWdudG5I?= =?utf-8?B?azBiRS85aXlWV3AzOUxtdFkyWjFhODIwK1gvcllKa0JMS01uQ0gwQkdMeEYw?= =?utf-8?B?NUd0azFJVEE1N1JYSEtJRHhoaHJvaEppS3l4RERRTzBGNHh1R0haVFlBc0Vx?= =?utf-8?B?a3ZwVG5LREM1cUx5MGlZWUp6d0FlUlkwTnlsUHF2cmhwMjhwaG5wNVNHREYv?= =?utf-8?B?Vmw5Q0VVVlN3ZjRWQzJCcURvcHZILzlIem5qS3dwQWhhL2M4akcwUT09?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR11MB1597.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 76599fa0-b57b-4f27-6045-08da21a200a5 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Apr 2022 01:14:50.4509 (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: R3trI6jeMNPz6c2cpcx1dL5UwlJ56WgGvZpu4C+JJAG32OxSD6N3c0ujmNee2p84VwHo0N7WWABxNoUTVIQgrw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB2970 Return-Path: yi1.li@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWlrZSwNCg0KVGhpcyBpcyBhIHdyb25nIGVtYWlsIHNlcXVlbmNlIGR1ZSB0byBteSBtaXNo YW5kbGluZywgc29ycnkgZm9yIGNvbmZ1c2luZywgcGxlYXNlIGlnbm9yZSB0aGlzIHBhdGNoLg0K DQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogS2lubmV5LCBNaWNoYWVsIEQgPG1p Y2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPiANClNlbnQ6IE1vbmRheSwgQXByaWwgMTgsIDIwMjIg MTE6MjQgUE0NClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgTGksIFlpMSA8eWkxLmxpQGludGVs LmNvbT47IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPjsgS2lubmV5LCBNaWNoYWVs IEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KU3ViamVjdDogUkU6IFtlZGsyLWRldmVs XSBbUEFUQ0ggMS80XSBDcnlwdG9Qa2c6IEFkZCBpbnN0cmluc2ljcyB0byBzdXBwb3J0IGJ1aWxk aW5nIEVDQyBvbiBJQTMyIHdpbmRvd3MNCg0KVGhlcmUgYXJlIG90aGVyIHBhdGNoIHNlcmllcyB0 byBtb3ZlIGludHJpbnNpY3MgdG8gdGhlIE1kZVBrZyBmb3IgT3BlblNTTCAzLjAgZW5hYmxpbmcu DQoNCkkgcmVjb21tZW5kIHlvdSB3b3JrIHdpdGggR2VyZCBvbiB0aGUgaW50cmluc2ljIHRvcGlj Lg0KDQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxA ZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgeWkxIGxp DQo+IFNlbnQ6IE1vbmRheSwgQXByaWwgMTgsIDIwMjIgNjowMyBBTQ0KPiBUbzogZGV2ZWxAZWRr Mi5ncm91cHMuaW8NCj4gQ2M6IExpLCBZaTEgPHlpMS5saUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6 IFtlZGsyLWRldmVsXSBbUEFUQ0ggMS80XSBDcnlwdG9Qa2c6IEFkZCBpbnN0cmluc2ljcyB0byAN Cj4gc3VwcG9ydCBidWlsZGluZyBFQ0Mgb24gSUEzMiB3aW5kb3dzDQo+IA0KPiBSRUY6aHR0cHM6 Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjc5DQo+IA0KPiBUaGlz IGRlcGVuZGVuY3kgaXMgbmVlZGVkIHRvIGJ1aWxkIG9wZW5zc2wgbGliIHdpdGggRUNDIGNpcGhl cnMgdW5kZXIgDQo+IElBMzIgV2luZG93cyBhbmQgYWRkcyBpbXBsZW1lbnRhdGlvbiBmb3IgX2Fs bG11bCBhbmQgX2FsbHNociANCj4gaW5zdHJpbnNpY3MuDQo+IA0KPiBJdCBpcyB0YWtlbiBmcm9t IFByb2plY3QgTXU6DQo+IG1pY3Jvc29mdC9tdV9iYXNlY29yZUBiNTViMzQxDQo+IA0KPiBTaWdu ZWQtb2ZmLWJ5OiB5aTEgbGkgPHlpMS5saUBpbnRlbC5jb20+DQo+IC0tLQ0KPiAgLi4uL0xpYnJh cnkvSW50cmluc2ljTGliL0lhMzIvTWF0aExsbXVsLmFzbSAgIHwgOTggKysrKysrKysrKysrKysr KysrKw0KPiAgLi4uL0xpYnJhcnkvSW50cmluc2ljTGliL0lhMzIvTWF0aExsc2hyLmFzbSAgIHwg NzggKysrKysrKysrKysrKysrDQo+ICAuLi4vTGlicmFyeS9JbnRyaW5zaWNMaWIvSW50cmluc2lj TGliLmluZiAgICAgfCAgMiArDQo+ICAzIGZpbGVzIGNoYW5nZWQsIDE3OCBpbnNlcnRpb25zKCsp DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ3J5cHRvUGtnL0xpYnJhcnkvSW50cmluc2ljTGliL0lh MzIvTWF0aExsbXVsLmFzbQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENyeXB0b1BrZy9MaWJyYXJ5 L0ludHJpbnNpY0xpYi9JYTMyL01hdGhMbHNoci5hc20NCj4gDQo+IGRpZmYgLS1naXQgYS9Dcnlw dG9Qa2cvTGlicmFyeS9JbnRyaW5zaWNMaWIvSWEzMi9NYXRoTGxtdWwuYXNtIA0KPiBiL0NyeXB0 b1BrZy9MaWJyYXJ5L0ludHJpbnNpY0xpYi9JYTMyL01hdGhMbG11bC5hc20NCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAwLi4zNDFlYThhN2JjMGQNCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysgYi9DcnlwdG9Qa2cvTGlicmFyeS9JbnRyaW5zaWNMaWIvSWEzMi9NYXRo TGxtdWwuYXNtDQo+IEBAIC0wLDAgKzEsOTggQEANCj4gKzsqKioNCj4gKztsbG11bC5hc20gLSBs b25nIG11bHRpcGx5IHJvdXRpbmUNCj4gKzsNCj4gKzsgICAgICAgQ29weXJpZ2h0IChjKSBNaWNy b3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ICs7ICAgICAgIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICs7DQo+ICs7UHVycG9z ZToNCj4gKzsgICAgICAgRGVmaW5lcyBsb25nIG11bHRpcGx5IHJvdXRpbmUNCj4gKzsgICAgICAg Qm90aCBzaWduZWQgYW5kIHVuc2lnbmVkIHJvdXRpbmVzIGFyZSB0aGUgc2FtZSwgc2luY2UgbXVs dGlwbHkncw0KPiArOyAgICAgICB3b3JrIG91dCB0aGUgc2FtZSBpbiAyJ3MgY29tcGxlbWVudA0K PiArOyAgICAgICBjcmVhdGVzIHRoZSBmb2xsb3dpbmcgcm91dGluZToNCj4gKzsgICAgICAgICAg IF9fYWxsbXVsDQo+ICs7DQo+ICs7T3JpZ2luYWwgSW1wbGVtZW5hdGlvbjogTVNWQyAxNC4xMi4y NTgyNyA7DQo+ICs7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiArICAgIC42ODYNCj4gKyAgICAu bW9kZWwgIGZsYXQsQw0KPiArICAgIC5jb2RlDQo+ICsNCj4gKw0KPiArOyoqKg0KPiArO2xsbXVs IC0gbG9uZyBtdWx0aXBseSByb3V0aW5lDQo+ICs7DQo+ICs7UHVycG9zZToNCj4gKzsgICAgICAg RG9lcyBhIGxvbmcgbXVsdGlwbHkgKHNhbWUgZm9yIHNpZ25lZC91bnNpZ25lZCkNCj4gKzsgICAg ICAgUGFyYW1ldGVycyBhcmUgbm90IGNoYW5nZWQuDQo+ICs7DQo+ICs7RW50cnk6DQo+ICs7ICAg ICAgIFBhcmFtZXRlcnMgYXJlIHBhc3NlZCBvbiB0aGUgc3RhY2s6DQo+ICs7ICAgICAgICAgICAg ICAgMXN0IHB1c2hlZDogbXVsdGlwbGllciAoUVdPUkQpDQo+ICs7ICAgICAgICAgICAgICAgMm5k IHB1c2hlZDogbXVsdGlwbGljYW5kIChRV09SRCkNCj4gKzsNCj4gKztFeGl0Og0KPiArOyAgICAg ICBFRFg6RUFYIC0gcHJvZHVjdCBvZiBtdWx0aXBsaWVyIGFuZCBtdWx0aXBsaWNhbmQNCj4gKzsg ICAgICAgTk9URTogcGFyYW1ldGVycyBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBzdGFjaw0KPiArOw0K PiArO1VzZXM6DQo+ICs7ICAgICAgIEVDWA0KPiArOw0KPiArO0V4Y2VwdGlvbnM6DQo+ICs7DQo+ ICs7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioNCj4gKyoqKioqKioqKioqDQo+ICtfYWxsbXVsIFBST0MgTkVBUg0KPiAr DQo+ICtBICAgICAgIEVRVSAgICAgW2VzcCArIDRdICAgICAgIDsgc3RhY2sgYWRkcmVzcyBvZiBh DQo+ICtCICAgICAgIEVRVSAgICAgW2VzcCArIDEyXSAgICAgIDsgc3RhY2sgYWRkcmVzcyBvZiBi DQo+ICsNCj4gK0hJR0hfUEFSVCAgRVFVICAgICBbNF0gICAgICAgICAgICAgOw0KPiArTE9XX1BB UlQgICBFUVUgICAgIFswXQ0KPiArDQo+ICs7DQo+ICs7ICAgICAgIEFISSwgQkhJIDogdXBwZXIg MzIgYml0cyBvZiBBIGFuZCBCDQo+ICs7ICAgICAgIEFMTywgQkxPIDogbG93ZXIgMzIgYml0cyBv ZiBBIGFuZCBCDQo+ICs7DQo+ICs7ICAgICAgICAgICAgIEFMTyAqIEJMTw0KPiArOyAgICAgICBB TE8gKiBCSEkNCj4gKzsgKyAgICAgQkxPICogQUhJDQo+ICs7IC0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KPiArOw0KPiArDQo+ICsgICAgICAgIG1vdiAgICAgZWF4LEhJR0hfUEFSVChBKQ0KPiArICAg ICAgICBtb3YgICAgIGVjeCxISUdIX1BBUlQoQikNCj4gKyAgICAgICAgb3IgICAgICBlY3gsZWF4 ICAgICAgICAgO3Rlc3QgZm9yIGJvdGggaGlnaCBkd29yZHMgemVyby4NCj4gKyAgICAgICAgbW92 ICAgICBlY3gsTE9XX1BBUlQoQikNCj4gKyAgICAgICAgam56ICAgICBzaG9ydCBoYXJkICAgICAg O2JvdGggYXJlIHplcm8sIGp1c3QgbXVsdCBBTE8gYW5kIEJMTw0KPiArDQo+ICsgICAgICAgIG1v diAgICAgZWF4LExPV19QQVJUKEEpDQo+ICsgICAgICAgIG11bCAgICAgZWN4DQo+ICsNCj4gKyAg ICAgICAgcmV0ICAgICAxNiAgICAgICAgICAgICAgOyBjYWxsZWUgcmVzdG9yZXMgdGhlIHN0YWNr DQo+ICsNCj4gK2hhcmQ6DQo+ICsgICAgICAgIHB1c2ggICAgZWJ4DQo+ICsNCj4gKzsgbXVzdCBy ZWRlZmluZSBBIGFuZCBCIHNpbmNlIGVzcCBoYXMgYmVlbiBhbHRlcmVkDQo+ICsNCj4gK0EyICAg ICAgRVFVICAgICBbZXNwICsgOF0gICAgICAgOyBzdGFjayBhZGRyZXNzIG9mIGENCj4gK0IyICAg ICAgRVFVICAgICBbZXNwICsgMTZdICAgICAgOyBzdGFjayBhZGRyZXNzIG9mIGINCj4gKw0KPiAr ICAgICAgICBtdWwgICAgIGVjeCAgICAgICAgICAgICA7ZWF4IGhhcyBBSEksIGVjeCBoYXMgQkxP LCBzbyBBSEkgKiBCTE8NCj4gKyAgICAgICAgbW92ICAgICBlYngsZWF4ICAgICAgICAgO3NhdmUg cmVzdWx0DQo+ICsNCj4gKyAgICAgICAgbW92ICAgICBlYXgsTE9XX1BBUlQoQTIpDQo+ICsgICAg ICAgIG11bCAgICAgZHdvcmQgcHRyIEhJR0hfUEFSVChCMikgO0FMTyAqIEJISQ0KPiArICAgICAg ICBhZGQgICAgIGVieCxlYXggICAgICAgICA7ZWJ4ID0gKChBTE8gKiBCSEkpICsgKEFISSAqIEJM TykpDQo+ICsNCj4gKyAgICAgICAgbW92ICAgICBlYXgsTE9XX1BBUlQoQTIpO2VjeCA9IEJMTw0K PiArICAgICAgICBtdWwgICAgIGVjeCAgICAgICAgICAgICA7c28gZWR4OmVheCA9IEFMTypCTE8N Cj4gKyAgICAgICAgYWRkICAgICBlZHgsZWJ4ICAgICAgICAgO25vdyBlZHggaGFzIGFsbCB0aGUg TE8qSEkgc3R1ZmYNCj4gKw0KPiArICAgICAgICBwb3AgICAgIGVieA0KPiArDQo+ICsgICAgICAg IHJldCAgICAgMTYgICAgICAgICAgICAgIDsgY2FsbGVlIHJlc3RvcmVzIHRoZSBzdGFjaw0KPiAr DQo+ICtfYWxsbXVsIEVORFANCj4gKw0KPiArICAgICAgICBlbmQNCj4gZGlmZiAtLWdpdCBhL0Ny eXB0b1BrZy9MaWJyYXJ5L0ludHJpbnNpY0xpYi9JYTMyL01hdGhMbHNoci5hc20gDQo+IGIvQ3J5 cHRvUGtnL0xpYnJhcnkvSW50cmluc2ljTGliL0lhMzIvTWF0aExsc2hyLmFzbQ0KPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMDAuLmFiODI5NDU4MGYxNg0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKyBiL0NyeXB0b1BrZy9MaWJyYXJ5L0ludHJpbnNpY0xpYi9JYTMyL01h dGhMbHNoci5hc20NCj4gQEAgLTAsMCArMSw3OCBAQA0KPiArOyoqKg0KPiArO2xsc2hyLmFzbSAt IGxvbmcgc2hpZnQgcmlnaHQNCj4gKzsNCj4gKzsgICAgICAgQ29weXJpZ2h0IChjKSBNaWNyb3Nv ZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ICs7ICAgICAgIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICs7DQo+ICs7UHVycG9zZToN Cj4gKzsgICAgICAgZGVmaW5lIHNpZ25lZCBsb25nIHNoaWZ0IHJpZ2h0IHJvdXRpbmUNCj4gKzsg ICAgICAgICAgIF9fYWxsc2hyDQo+ICs7DQo+ICs7T3JpZ2luYWwgSW1wbGVtZW5hdGlvbjogTVNW QyAxNC4xMi4yNTgyNyA7DQo+ICs7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiArICAgIC42ODYN Cj4gKyAgICAubW9kZWwgIGZsYXQsQw0KPiArICAgIC5jb2RlDQo+ICsNCj4gKw0KPiArDQo+ICs7 KioqDQo+ICs7bGxzaHIgLSBsb25nIHNoaWZ0IHJpZ2h0DQo+ICs7DQo+ICs7UHVycG9zZToNCj4g KzsgICAgICAgRG9lcyBhIHNpZ25lZCBMb25nIFNoaWZ0IFJpZ2h0DQo+ICs7ICAgICAgIFNoaWZ0 cyBhIGxvbmcgcmlnaHQgYW55IG51bWJlciBvZiBiaXRzLg0KPiArOw0KPiArO0VudHJ5Og0KPiAr OyAgICAgICBFRFg6RUFYIC0gbG9uZyB2YWx1ZSB0byBiZSBzaGlmdGVkDQo+ICs7ICAgICAgIENM ICAgIC0gbnVtYmVyIG9mIGJpdHMgdG8gc2hpZnQgYnkNCj4gKzsNCj4gKztFeGl0Og0KPiArOyAg ICAgICBFRFg6RUFYIC0gc2hpZnRlZCB2YWx1ZQ0KPiArOw0KPiArO1VzZXM6DQo+ICs7ICAgICAg IENMIGlzIGRlc3Ryb3llZC4NCj4gKzsNCj4gKztFeGNlcHRpb25zOg0KPiArOw0KPiArOyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqDQo+ICsqKioqKioqKioqKg0KPiArX2FsbHNociBQUk9DIE5FQVINCj4gKw0KPiArOw0K PiArOyBIYW5kbGUgc2hpZnRzIG9mIDY0IGJpdHMgb3IgbW9yZSAoaWYgc2hpZnRpbmcgNjQgYml0 cyBvciBtb3JlLCB0aGUgDQo+ICtyZXN1bHQgOyBkZXBlbmRzIG9ubHkgb24gdGhlIGhpZ2ggb3Jk ZXIgYml0IG9mIGVkeCkuDQo+ICs7DQo+ICsgICAgICAgIGNtcCAgICAgY2wsNjQNCj4gKyAgICAg ICAgamFlICAgICBzaG9ydCBSRVRTSUdODQo+ICsNCj4gKzsNCj4gKzsgSGFuZGxlIHNoaWZ0cyBv ZiBiZXR3ZWVuIDAgYW5kIDMxIGJpdHMgOw0KPiArICAgICAgICBjbXAgICAgIGNsLCAzMg0KPiAr ICAgICAgICBqYWUgICAgIHNob3J0IE1PUkUzMg0KPiArICAgICAgICBzaHJkICAgIGVheCxlZHgs Y2wNCj4gKyAgICAgICAgc2FyICAgICBlZHgsY2wNCj4gKyAgICAgICAgcmV0DQo+ICsNCj4gKzsN Cj4gKzsgSGFuZGxlIHNoaWZ0cyBvZiBiZXR3ZWVuIDMyIGFuZCA2MyBiaXRzIDsNCj4gK01PUkUz MjoNCj4gKyAgICAgICAgbW92ICAgICBlYXgsZWR4DQo+ICsgICAgICAgIHNhciAgICAgZWR4LDMx DQo+ICsgICAgICAgIGFuZCAgICAgY2wsMzENCj4gKyAgICAgICAgc2FyICAgICBlYXgsY2wNCj4g KyAgICAgICAgcmV0DQo+ICsNCj4gKzsNCj4gKzsgUmV0dXJuIGRvdWJsZSBwcmVjaXNpb24gMCBv ciAtMSwgZGVwZW5kaW5nIG9uIHRoZSBzaWduIG9mIGVkeCA7DQo+ICtSRVRTSUdOOg0KPiArICAg ICAgICBzYXIgICAgIGVkeCwzMQ0KPiArICAgICAgICBtb3YgICAgIGVheCxlZHgNCj4gKyAgICAg ICAgcmV0DQo+ICsNCj4gK19hbGxzaHIgRU5EUA0KPiArDQo+ICsgICAgICAgIGVuZA0KPiBkaWZm IC0tZ2l0IGEvQ3J5cHRvUGtnL0xpYnJhcnkvSW50cmluc2ljTGliL0ludHJpbnNpY0xpYi5pbmYg DQo+IGIvQ3J5cHRvUGtnL0xpYnJhcnkvSW50cmluc2ljTGliL0ludHJpbnNpY0xpYi5pbmYNCj4g aW5kZXggZmNiYjkzMzE2Y2Y3Li44NmU3NGI1N2IxMDkgMTAwNjQ0DQo+IC0tLSBhL0NyeXB0b1Br Zy9MaWJyYXJ5L0ludHJpbnNpY0xpYi9JbnRyaW5zaWNMaWIuaW5mDQo+ICsrKyBiL0NyeXB0b1Br Zy9MaWJyYXJ5L0ludHJpbnNpY0xpYi9JbnRyaW5zaWNMaWIuaW5mDQo+IEBAIC0zMCw2ICszMCw4 IEBADQo+ICAgIElhMzIvTWF0aExTaGlmdFM2NC5jICAgICAgfCBNU0ZUDQo+ICAgIElhMzIvTWF0 aFJTaGlmdFU2NC5jICAgICAgfCBNU0ZUDQo+ICAgIElhMzIvTWF0aEZ0b2wuYyAgICAgICAgICAg fCBNU0ZUDQo+ICsgIElhMzIvTWF0aExsbXVsLmFzbSAgICAgICAgfCBNU0ZUDQo+ICsgIElhMzIv TWF0aExsc2hyLmFzbSAgICAgICAgfCBNU0ZUDQo+IA0KPiAgICBJYTMyL01hdGhMU2hpZnRTNjQu YyAgICAgIHwgSU5URUwNCj4gICAgSWEzMi9NYXRoUlNoaWZ0VTY0LmMgICAgICB8IElOVEVMDQo+ IC0tDQo+IDIuMzMuMC53aW5kb3dzLjINCj4gDQo+IA0KPiANCj4gDQo+IA0KDQo=