From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web12.15896.1665540428740710048 for ; Tue, 11 Oct 2022 19:07:09 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=YWWRJh+h; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: jiewen.yao@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665540428; x=1697076428; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=WKcgHTgXVsZwBMeP11gFpLpsskiGQu68h3OXorZlmWc=; b=YWWRJh+hZmtfiUnGJwtxc0MFBC7BjhqlNCSc3DA67rZSn1WsqKcFjH36 YqLmkpAK30jeEPWp4wNGzNre36PBWKewhVwURNnpvl6II+myRkTf5NuYh nDT1lHQlmEbTliVvuWiHd4/BPJbPK1BCtkffWkO0h6NPWoL6U1HE5YBuS kd9oGEtVv42DpvfnVZyAuvMSbBbRwlw2Mno47qfRD3KrSpxQG/7Jp867b u87b+gq3CwoMkVkuqKRx0C4u1XvBJ7L0UNDyA85/JM5CsqRMc0EvmzPfW 6qPnYcFJb2Y9WK19ub1cYMcmvkySEU1oIKjSGiMR4bdj2lnevKCtGn8hT Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="306301021" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="306301021" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Oct 2022 19:07:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="731226491" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="731226491" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga002.fm.intel.com with ESMTP; 11 Oct 2022 19:07:07 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 11 Oct 2022 19:07:07 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 11 Oct 2022 19:07:07 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 11 Oct 2022 19:07:06 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.106) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Tue, 11 Oct 2022 19:07:06 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JKAMuJ8bC2+0xsXfj0X3NJ2vWzz5fVB6+ncMpmXw/fub2l+i6ayuNbN/ERQwqZM4Vt4fo/7r7DhLXjZcSZzbux9aLxVbJsqVnVm7/fE6Jp2fW4brcNmflw/Gwt4Lc0+wUSbwIjfVHhRjjqnhaXuVYE6966zeA4XhzIJH00oFVhcx77qvJD4eGcrCQb66bIL6EGFA9LgnrxUh8yUtJObuYUlyoXj8sSp7yEXDWI5n+CJKDUNt2ZOUtQPiS/ik0d8f5zVXt569ecfW5BpSEUpOq7EzUnDNPH7U16DL8un1fxgizQV/pPh8hRgz3LyRQ9EtEIP6nYEhbPpF8+3NnLOqrw== 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=WKcgHTgXVsZwBMeP11gFpLpsskiGQu68h3OXorZlmWc=; b=EaB+ODOcy5h/1sddKEBqv6OhWwSliJWNK0yM+SnnOiWfDmA76xvgY85071FNL9t1YwsmjkXxkYdUGDAq5lOw3d5Ux1Qx8S4yE1329TfSEY6cMxWHZifcpHQ874+CrtASEVyqsgZlawjv6nsOX82aVF56PP/jIl+Ug/OmEgCw8KQcYMOnKgpBBpzdELuM+2rNRog/ZC3MyWx5Gl/E7uEiG/5FqXFjPjr+tnNTGWFiF7xINeaZzva5ilIcXmPiBW+8hwt/ueaBuhWm1jAocUImrBjI4ZKXpk6RPWZzh0EZxKYKmBgotLRIJGbG38ikp4ASd/Ju5jIgZe62hFsz/I40fw== 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 MW4PR11MB5872.namprd11.prod.outlook.com (2603:10b6:303:169::14) by DM4PR11MB7277.namprd11.prod.outlook.com (2603:10b6:8:10b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.21; Wed, 12 Oct 2022 02:07:04 +0000 Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::76b0:750c:a322:5acf]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::76b0:750c:a322:5acf%6]) with mapi id 15.20.5709.015; Wed, 12 Oct 2022 02:07:04 +0000 From: "Yao, Jiewen" To: "Kinney, Michael D" , "devel@edk2.groups.io" CC: "Wang, Jian J" , "Lu, Xiaoyu1" , "Jiang, Guomin" , "Zurcher, Christopher" , Rebecca Cran , Ard Biesheuvel Subject: Re: [Patch 00/12] CryptoPkg: Remove EC PCD and merge perf opt OpensslLibs Thread-Topic: [Patch 00/12] CryptoPkg: Remove EC PCD and merge perf opt OpensslLibs Thread-Index: AQHY3YK7maCqct5DWES6ZOJNywNaya4J8HawgAAHRQCAAALH8IAABdKAgAAAO8A= Date: Wed, 12 Oct 2022 02:07:04 +0000 Message-ID: References: <20221011150358.1332-1-michael.d.kinney@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.500.17 dlp-product: dlpe-windows 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-traffictypediagnostic: MW4PR11MB5872:EE_|DM4PR11MB7277:EE_ x-ms-office365-filtering-correlation-id: 48fcf7ca-c571-43eb-e3d8-08daabf6753a x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: iUU5WNCnrr1a63wWDFGrjji4JaHJfXnN9sbKVeSiubzJalzS8Evcn7pFC3m+DNCRd3lFBkSzvrKQw46O2m1mT9onrwph+iL3sn+dO9KYmyY40Ed3tvl/JEtvRGDyErLcBwfCc9nPQa5G39EzhgMbdeB1cfNPGn++40587frGOADTda4BGi4fP/5LfOSxk2T12ViNk51G9n6h/WutcX71kaKOI30FSpklCLsREPEtX/2WOMnYE/+0Ff1AKpTeTlSzWYLCEawco5FB+4L2AFKHALRf/NofiRzdyxUuVPN4YlG4sr7gnU+pPxF7ALQAGQJLEeVOcbv9PqEMwvcRkghAW8LP7H4Wzt/YZGqtK154E7vt1yQw670AxWXSdxVxbYf9i10tS/uegkFH5NMfeFzet3XW+ja9xmPP4m56bWIfqkFcLyKCYePZ8C8plOUwzflafa8DP+h4uQuql7HIZwtJrqQJDM9GcMYENpNVcXj4IJsbgj5duJZpTQ1NdLH7zHwJKtSNDsd5Hme1NUU59qwT1wNPPvQbwX0qZ1UdpDXqSwa2zNIqe51s4vTCqfgwoQwIJevhZS12DW/zpAZ4Av4kTTdu4v2HyWIjhevVtN0hHFkWnkYiDkyJBPSRO5FI/qFQP2UjBBa+LWNDikuP88ow2vjikB4QJ6Le6iBaZQux7H0kmXMyd4OyainqI+6P12Hb9qfgSpn3zfb09C/nAXRGdtHCJAFRfjiPW0ltDmRVb6pJCN+4rMMIZpbo6VDoiHFTO1PChfU34EOwdHIKeTzVT/Uwp8AU0bJ9RXJRODq+gHWuqU9ND0h56EA/rUdU0fMwrc1lx8rAgv/0xtAyR3OGYw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB5872.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(39860400002)(376002)(346002)(396003)(366004)(451199015)(316002)(71200400001)(38070700005)(54906003)(82960400001)(966005)(110136005)(478600001)(83380400001)(33656002)(186003)(19627235002)(5660300002)(38100700002)(41300700001)(53546011)(86362001)(66476007)(76116006)(66946007)(7696005)(6506007)(2906002)(55016003)(26005)(52536014)(8936002)(9686003)(66446008)(4326008)(8676002)(64756008)(122000001)(30864003)(66556008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QVZJVnNBd3U4TjVqVjhWWXZJdG9FM1V3VVRxZCtDVE5ub2Q1R3R4bGdHdHI4?= =?utf-8?B?MFp3L0ZsT3VGZlJiWlREYlA4TWpLQUlXN292amg0SDN3dTh5bVVONkEzdUh5?= =?utf-8?B?cGtaa21KcWk0d2VmOGV5MjVwVW8wZWZIWW50eGJ1TXo0VVVvN1hiOFVMakJh?= =?utf-8?B?Y3hKMXMzL3NMVDE4a2lVTGQ4M3NCRXZYMEIwSXptMTB2eTMxUkpFb1FDaHl5?= =?utf-8?B?c3NRUit2dy9mVFdENFBLclJGNXcxVUdpYkxGeEFwS3BxZGZPdHNpeVkzZlNx?= =?utf-8?B?Q0JpQXhCY0ZwUXdyZ29TUENmTGVUb01OZjBBZGhCZXhVc1VrQVJFOTNHakYx?= =?utf-8?B?VHI1WjE5Mnc0Zm9hZlJmbW4zc09PRTVyRkhEaG4wWXdVNlFxSjdzcC9tV2Q5?= =?utf-8?B?THhSTk5GRnpVS0FwZUhYRnluWUdZOGIxaW9tUGtWUUwxMmpyYkYrV3lTTjBw?= =?utf-8?B?YUQ2aDRzNURIZkwza1MxelFQckJQbFc4UWp6bkRXVnNxZ3RKT2lJSkxZTnVT?= =?utf-8?B?bDlHdmlUMHpxNExMZ3B4eXBYeDBSL0haekxCcEZzdjZiNGl3bDVBRmpjTTk3?= =?utf-8?B?dzB6VkFxRTRQVk9GNjFZVnc1OURGeHZOSHJxL1NGU082eUZCZ0FSY2ovMmQy?= =?utf-8?B?Y0E5Qm5NLzM3Z3Y1b0pCeGE3SXYzWWlyL1E5alU5cDN3Sk8wSnA4L0Q3VU0w?= =?utf-8?B?em14VGxPYlFRZUNQVDF6OGVTMWJqanVyRmdiTmhXdVRNekREWC9Ec2Nnd2Y5?= =?utf-8?B?UWMxMlMvTVRTVTBkdDdNc1lzVENNZUFSS3hhczJaRkFObUVRQjVhVXlhT2h3?= =?utf-8?B?NlMvZTI4a3VRbTRFbng5endHd2pPWkpUdDdjUEo1b0hQZmpxRUl5TVBhL0t3?= =?utf-8?B?d0d5YXhmS2NDVldVOVZ1WXA3S1RrbnZuV1RRSktSYUNzZjZ0ZWNxNlUyMFJw?= =?utf-8?B?dlB1aCthbHN1VFpQR1Y3VThOajdHY0ozOC9BRDJQSHJaWCtSSGhQQUNpR2Nx?= =?utf-8?B?ZmYvNXZ5Wi80RGFlL0JQQ2JuWnM0aHpKQnM3VkR6L2RSeFNYSCtRbjRJbnkx?= =?utf-8?B?Y0RuY2c4YXEwNk1Da3hTUVRhQjVxRDRPM0VhQ2phS3NwUlhkcTJvdG9OWUtQ?= =?utf-8?B?UEk0K2JmZGNIMVE4UkNDUlBVZnZRZXFOd3Z2cVVOcVJ6K0tIOG0xY2o5Wkh1?= =?utf-8?B?bERJYzl2ZW5MZDh5YnV1UzY2SmVBQm83aWR3TlIrZ05hQzdOcm9FekJJVG4y?= =?utf-8?B?MTU0Y2FWQWxDZUZndnE1UnZXZXZURTRocFdGZHdHT3VXbVlmT2dtejhBY3Uz?= =?utf-8?B?ZG1tM1dJZ3kxN1MvRFF3eEtsMVZzQlgycTZXcWJ0WXdmQm5QQ2g1TDFFWWZx?= =?utf-8?B?TE4xZ2tDbkN6ZkRtYVlHRkg0emh6SmJ0L2VrS0RlY3RsVlJwblJ3cVBJNThp?= =?utf-8?B?MWVmcEIxWWIzdHhkd0dJT2pzL3AxcVRRU0VpeHI1elI3ZVJJWlBCVm0xN1Ji?= =?utf-8?B?WS8ybWIyelZuOE9HazdNU0ZiMHBGdDNIL09RSjVzZWZRcG8wWkJ2bTArNnds?= =?utf-8?B?ZHgvWkNMUitGMzNoV05oTmhlRk5uYVVhM2NpbEU5aWpsc0YyRmtaTUlsUGVW?= =?utf-8?B?QTR5N21zM2s3Rnk4K2VZNi9qandXS2xDUktmUHBjVURpamg0NkRCNGFudTNF?= =?utf-8?B?Vm5UT01LYVhqK2UzVWRQS2FiQ2cxU3RXVGt0NzgyVmhpM0Z6NjRDWG5oVnFD?= =?utf-8?B?cjA2WE80L1JYY0VHRkdSbWRzdmQwajh1QkF0MUhsdm4wWmNqc29PVTZ6eDRE?= =?utf-8?B?MFMvbzdoNVMyN1hpNmNzaU8rRmFQSTJ0a3lsa1d1Y3dHR2Y0aTBHMkZtdmpw?= =?utf-8?B?bWFVNGd3OHorRE9ldXhUeWREMmJxQ2t6R0g2c1JrV1MvWXhaYkppR1pxSHlv?= =?utf-8?B?cklhZnAxbGlUaWptOXJDZUVxb1NzOVVIdzYvVjZaUXJJKzNOM1hqMDRxUEly?= =?utf-8?B?OHZaTEZZVk9kcmpXQlZaaGpmdUE0RzZIc29KY1IvMklLUUo0SkpvREdhd0ll?= =?utf-8?B?SXFURG85S0tWNzQ4U1h4c09zRnVLOXdKTEZpbzFyWDhnZjNDVFFTVlh5MDlX?= =?utf-8?Q?kXo8bPCp+eej4wBSBCExDK3EQ?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5872.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 48fcf7ca-c571-43eb-e3d8-08daabf6753a X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2022 02:07:04.2819 (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: t0S9gUBhzK4RoSYiKPE/yrgCpM2EtZvGMTQmY63bSYjJXgGbDmFK4evZBIXYizN7eGwnWMwzxCAUGV1zlcA6aQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB7277 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T0suIFRoYXQgbWVhbnMgd2UgbmVlZCBtYW51YWwgd3JpdGUgYSB3cmFwcGVyIGZvciBhbGwgRUMg QVBJcyBpbiBPcGVuc3NsIExpYiBmb3IgaW50ZXJuYWwgdXNhZ2UuDQpNb3JlIHByZWNpc2VseSwg YSB3cmFwcGVyIGZvciB0aGUgZGVsdGEgYmV0d2VlbiBPcGVuc3NsTGliIGFuZCBPcGVuc3NsTGli RnVsbCwgcmlnaHQ/DQoNClRoZXJlIHdpbGwgYmUgc2l6ZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhv c2UgdHdvIHNvbHV0aW9ucywgYmVjYXVzZSB0aGUgY29kZSBvdGhlciB0aGFuIEVDIHdpbGwgYmUg aW5jbHVkZSBpbiB0aGUgZnVuY3Rpb24uDQoNCldoeSBub3QgdXNlIE5PX0VDIG1hY3JvIGZyb20g b3BlbnNzbCBkaXJlY3RseT8NCg0KVGhhbmsgeW91DQpZYW8gSmlld2VuDQoNCg0KPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgT2N0b2JlciAxMiwgMjAyMiA5 OjU1IEFNDQo+IFRvOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBkZXZlbEBl ZGsyLmdyb3Vwcy5pbzsgS2lubmV5LA0KPiBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50 ZWwuY29tPg0KPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMdSwg WGlhb3l1MQ0KPiA8eGlhb3l1MS5sdUBpbnRlbC5jb20+OyBKaWFuZywgR3VvbWluIDxndW9taW4u amlhbmdAaW50ZWwuY29tPjsNCj4gWnVyY2hlciwgQ2hyaXN0b3BoZXIgPGNocmlzdG9waGVyLnp1 cmNoZXJAbWljcm9zb2Z0LmNvbT47IFJlYmVjY2EgQ3Jhbg0KPiA8cXVpY19yY3JhbkBxdWljaW5j LmNvbT47IEFyZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+DQo+IFN1YmplY3Q6IFJFOiBb UGF0Y2ggMDAvMTJdIENyeXB0b1BrZzogUmVtb3ZlIEVDIFBDRCBhbmQgbWVyZ2UgcGVyZiBvcHQN Cj4gT3BlbnNzbExpYnMNCj4gDQo+IEppZXdlbiwNCj4gDQo+IFRoZSBCS00gaXMgdG8ganVzdCBj YWxsIHRoZSBFQyBzZXJ2aWNlcyBmcm9tIHRoZSBsYXllcnMgYWJvdmUgT3BlbnNzbExpYi4NCj4g VGhlIEVDIEFQSXMgd2lsbCBhbHdheXMgYmUgcHJlc2VudC4gIEVpdGhlciByZWFsIEVDIHNlcnZp Y2Ugb3IgTnVsbCBFQyBzZXJ2aWNlLg0KPiBUaGlzIHdheSB3ZSBjYW4gcmVtb3ZlIGFsbCB0aGUg I2lmZGVmIG9uIEVDIFBDRC4NCj4gDQo+IFBsYXRmb3JtIGRldmVsb3BlcnMgc2VsZWN0IHRoZSBP cGVuc3NsTGliIGluc3RhbmNlIHdpdGggRUMNCj4gKE9wZW5zc2xMaWJGdWxsLmluZikgb3INCj4g d2l0aG91dCBFQyAoT3BlbnNzbExpYi5pbmYpLg0KPiANCj4gTWlrZQ0KPiANCj4gPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGlu dGVsLmNvbT4NCj4gPiBTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDExLCAyMDIyIDY6MzcgUE0NCj4g PiBUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsNCj4g ZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0Bp bnRlbC5jb20+OyBMdSwgWGlhb3l1MQ0KPiA8eGlhb3l1MS5sdUBpbnRlbC5jb20+OyBKaWFuZywg R3VvbWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPjsNCj4gWnVyY2hlciwNCj4gPiBDaHJpc3Rv cGhlciA8Y2hyaXN0b3BoZXIuenVyY2hlckBtaWNyb3NvZnQuY29tPjsgUmViZWNjYSBDcmFuDQo+ IDxxdWljX3JjcmFuQHF1aWNpbmMuY29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZGJAa2VybmVsLm9y Zz4NCj4gPiBTdWJqZWN0OiBSRTogW1BhdGNoIDAwLzEyXSBDcnlwdG9Qa2c6IFJlbW92ZSBFQyBQ Q0QgYW5kIG1lcmdlIHBlcmYgb3B0DQo+IE9wZW5zc2xMaWJzDQo+ID4NCj4gPiBIaSBNaWtlDQo+ ID4gRm9yIFBjZE9wZW5zc2xFY0VuYWJsZWQsIEkgYW0gc2VlaW5nIG90aGVyIHVzYWdlLiBGb3Ig ZXhhbXBsZToNCj4gPg0KPiBodHRwczovL2dpdGh1Yi5jb20vcWl6aGFuZ3ovZWRrMi9ibG9iL0VD X1Vwc3RyZWFtL0NyeXB0b1BrZy9MaWJyYXJ5Lw0KPiBCYXNlQ3J5cHRMaWIvUGVtL0NyeXB0UGVt LmMjTDE1Ng0KPiA+DQo+ID4gSSB0aGluayB3ZSBtYXkgbmVlZCBCS00gb24gImhvdyB0byBkaXNh YmxlIEVDIi4NCj4gPg0KPiA+IFRoYW5rIHlvdQ0KPiA+IFlhbywgSmlld2VuDQo+ID4NCj4gPg0K PiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IEtpbm5leSwgTWlj aGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+IFNlbnQ6IFdlZG5lc2Rh eSwgT2N0b2JlciAxMiwgMjAyMiA5OjI1IEFNDQo+ID4gPiBUbzogWWFvLCBKaWV3ZW4gPGppZXdl bi55YW9AaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87IEtpbm5leSwNCj4gPiA+IE1p Y2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gPiBDYzogV2FuZywgSmlh biBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlhb3l1MQ0KPiA+ID4gPHhpYW95dTEu bHVAaW50ZWwuY29tPjsgSmlhbmcsIEd1b21pbiA8Z3VvbWluLmppYW5nQGludGVsLmNvbT47DQo+ ID4gPiBadXJjaGVyLCBDaHJpc3RvcGhlciA8Y2hyaXN0b3BoZXIuenVyY2hlckBtaWNyb3NvZnQu Y29tPjsgUmViZWNjYQ0KPiBDcmFuDQo+ID4gPiA8cXVpY19yY3JhbkBxdWljaW5jLmNvbT47IEFy ZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+DQo+ID4gPiBTdWJqZWN0OiBSRTogW1BhdGNo IDAwLzEyXSBDcnlwdG9Qa2c6IFJlbW92ZSBFQyBQQ0QgYW5kIG1lcmdlIHBlcmYNCj4gb3B0DQo+ ID4gPiBPcGVuc3NsTGlicw0KPiA+ID4NCj4gPiA+IEhpIEppZXdlbiwNCj4gPiA+DQo+ID4gPiBD b21tZW50cyBiZWxvdy4NCj4gPiA+DQo+ID4gPiBNaWtlDQo+ID4gPg0KPiA+ID4gPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBZYW8sIEppZXdlbiA8amlld2VuLnlh b0BpbnRlbC5jb20+DQo+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMTEsIDIwMjIgNjow OSBQTQ0KPiA+ID4gPiBUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50 ZWwuY29tPjsNCj4gPiA+IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiA+IENjOiBXYW5nLCBK aWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IEx1LCBYaWFveXUxDQo+ID4gPiA8eGlhb3l1 MS5sdUBpbnRlbC5jb20+OyBKaWFuZywgR3VvbWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPjsN Cj4gPiA+IFp1cmNoZXIsDQo+ID4gPiA+IENocmlzdG9waGVyIDxjaHJpc3RvcGhlci56dXJjaGVy QG1pY3Jvc29mdC5jb20+OyBSZWJlY2NhIENyYW4NCj4gPiA+IDxxdWljX3JjcmFuQHF1aWNpbmMu Y29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZGJAa2VybmVsLm9yZz4NCj4gPiA+ID4gU3ViamVjdDog UkU6IFtQYXRjaCAwMC8xMl0gQ3J5cHRvUGtnOiBSZW1vdmUgRUMgUENEIGFuZCBtZXJnZSBwZXJm DQo+IG9wdA0KPiA+ID4gT3BlbnNzbExpYnMNCj4gPiA+ID4NCj4gPiA+ID4gVGhhbmsgeW91IE1p a2UuDQo+ID4gPiA+DQo+ID4gPiA+IDEpIEkgbGlrZSB0aGUgaWRlYSB0byBjb21iaW5lIG11bHRp cGxlIE9wZW5zc2xMaWJJQTMyL1g2NC5pbmYgaW50byBvbmUNCj4gPiA+IE9wZW5zc2xMaWJBY2Nl bC5pbmYuDQo+ID4gPiA+IEFsc28gdGhlIGNsZWFudXAgbG9va3MgZ29vZCB0byBtZS4NCj4gPiA+ ID4NCj4gPiA+ID4gMikgSSBhbHNvIGxpa2UgdGhlIHN1bW1hcnkgaW4gcmVhZG1lIGluDQo+ID4g PiA+DQo+ID4gPg0KPiBodHRwczovL2dpdGh1Yi5jb20vbWRraW5uZXkvZWRrMi90cmVlL0NyeXB0 b1BrZ19SZW1vdmVFY1BjZF9NZXJnZQ0KPiA+ID4gT3B0aW1pemVkT3BlbnNzbExpYnMvQ3J5cHRv UGtnDQo+ID4gPiA+IEkgbm90aWNlIHNvbWUgYWxnb3JpdGhtcyBhcmUgbGlzdGVkIFkoRGVwcmVj YXRlZCkgYnV0IE4oRG9uJ3QgVXNlKSwNCj4gc3VjaA0KPiA+ID4gYXMgVGRlcywgQXJjNCwgQWVz LkVjYiouDQo+ID4gPiA+IEJ1dCBJIGRvbuKAmXQgc2VlIHRoZSB1c2UgY2FzZSBmb3IgdGhvc2Ug YWxnb3JpdGhtcyBhbmQgSSBzdWdnZXN0IGENCj4gPiA+IFkoRGVwcmVjYXRlZCkgaGF2ZSBZKERv bid0IFVzZSkuDQo+ID4gPg0KPiA+ID4gR29vZCBjYXRjaC4gIEkgd2lsbCBmaXguDQo+ID4gPg0K PiA+ID4gPg0KPiA+ID4gPiAzKSBBYm91dCBQY2RPcGVuc3NsRWNFbmFibGVkDQo+ID4gPiA+IEkg bm90aWNlIGl0IGlzIHVzZWQgaW4gZXhpc3RpbmcgY29kZSAtDQo+ID4gPiA+DQo+ID4gPg0KPiBo dHRwczovL2dpdGh1Yi5jb20vbWRraW5uZXkvZWRrMi9ibG9iL0NyeXB0b1BrZ19SZW1vdmVFY1Bj ZF9NZXJnZQ0KPiA+ID4gT3B0aW1pemVkT3BlbnNzbExpYnMvQ3J5cHRvUGtnL0xpYnJhcnkvVGxz TGliL1Rsc0NvbmZpZy5jI0wxMQ0KPiA+ID4gPiAzOQ0KPiA+ID4gPiBJcyB0aGlzIHJpZ2h0IHdh eT8NCj4gPiA+DQo+ID4gPiBUaGlzIHdhcyBhZGRlZCBzaW5jZSBJIHN0YXJ0ZWQgdGhpcyB3b3Jr IGFuZCB3YXMgYWRkZWQgYmFjayBpbiBieQ0KPiByZWJhc2UuICBJDQo+ID4gPiB3aWxsIGZpeC4N Cj4gPiA+IFdlIGNhbiBqdXN0IHJlbW92ZSB0aGUgY2hlY2sgZm9yIHRoZSBQQ0QuICBJZiB0aGUg T3BlbnNzbExpYiBpbnN0YW5jZQ0KPiBkb2VzDQo+ID4gPiBub3QgaW5jbHVkZQ0KPiA+ID4gU1NM IHNlcnZpY2VzLCB0aGVuIHRoZSBOdWxsIFNTTCBzZXJ2aWNlcyBhcmUgcHJlc2VudCBhbmQgdGhl IGNhbGwgdG8NCj4gU1NMX2N0cmwoKQ0KPiA+ID4gd2lsbA0KPiA+ID4gcmV0dXJuIDAgd2hpY2gg d2lsbCBmb3JjZSBUbHNTZXRFY0N1cnZlKCkgdG8gcmV0dXJuIEVGSV9VTlNVUFBPUlRFRC4NCj4g SXQNCj4gPiA+IHdpbGwgYWxzbw0KPiA+ID4gQVNTRVJUKCkgaW5mb3JtaW5nIHRoZSBkZXZlbG9w ZXIgdGhhdCBhIGNhbGwgdG8gYSBzZXJ2aWNlIHRoYXQgZGVwZW5kcw0KPiBvbg0KPiA+ID4gU1NM IHdhcyBtYWRlDQo+ID4gPiB3aXRob3V0IFNTTCBzZXJ2aWNlcyBhdmFpbGFibGUuDQo+ID4gPg0K PiA+ID4gbG9uZw0KPiA+ID4gU1NMX2N0cmwgKA0KPiA+ID4gICBTU0wgICAqc3NsLA0KPiA+ID4g ICBpbnQgICBjbWQsDQo+ID4gPiAgIGxvbmcgIGxhcmcsDQo+ID4gPiAgIHZvaWQgICpwYXJnDQo+ ID4gPiAgICkNCj4gPiA+IHsNCj4gPiA+ICAgQVNTRVJUIChGQUxTRSk7DQo+ID4gPiAgIHJldHVy biAwOw0KPiA+ID4gfQ0KPiA+ID4NCj4gPiA+IExpa2V3aXNlLCBpZiB0aGUgT3BlbnNzbExpYiBp bnN0YW5jZSBkb2VzIG5vdCBzdXBwb3J0IEVDIHNlcnZpY2VzLCB0aGVuDQo+IHRoZQ0KPiA+ID4g TnVsbA0KPiA+ID4gRUMgc2VydmljZXMgd2lsbCBiZSBpbmNsdWRlZCBhbmQgdGhlIGNhbGwgdG8N Cj4gRUNfS0VZX25ld19ieV9jdXJ2ZV9uYW1lKCkNCj4gPiA+IHdpbGwNCj4gPiA+IHJldHVybiBO VUxMIHdoaWNoIHdpbGwgZm9yY2UgVGxzU2V0RWNDdXJ2ZSgpIHRvIHJldHVybg0KPiBFRklfVU5T VVBQT1JURUQuIEl0DQo+ID4gPiB3aWxsIGFsc28NCj4gPiA+IEFTU0VSVCgpIGluZm9ybWluZyB0 aGUgZGV2ZWxvcGVyIHRoYXQgYSBjYWxsIHRvIGEgc2VydmljZSB0aGF0IGRlcGVuZHMNCj4gb24g RUMNCj4gPiA+IHdhcyBtYWRlDQo+ID4gPiB3aXRob3V0IEVDIHNlcnZpY2VzIGF2YWlsYWJsZS4N Cj4gPiA+DQo+ID4gPiBFQ19LRVkgKg0KPiA+ID4gRUNfS0VZX25ld19ieV9jdXJ2ZV9uYW1lICgN Cj4gPiA+ICAgaW50ICBuaWQNCj4gPiA+ICAgKQ0KPiA+ID4gew0KPiA+ID4gICBBU1NFUlQgKEZB TFNFKTsNCj4gPiA+ICAgcmV0dXJuIE5VTEw7DQo+ID4gPiB9DQo+ID4gPg0KPiA+ID4gPg0KPiA+ ID4gPiBUaGFuayB5b3UNCj4gPiA+ID4gWWFvLCBKaWV3ZW4NCj4gPiA+ID4NCj4gPiA+ID4gPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+IEZyb206IEtpbm5leSwgTWljaGFl bCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4gPiBTZW50OiBUdWVzZGF5 LCBPY3RvYmVyIDExLCAyMDIyIDExOjA0IFBNDQo+ID4gPiA+ID4gVG86IGRldmVsQGVkazIuZ3Jv dXBzLmlvDQo+ID4gPiA+ID4gQ2M6IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47 IFdhbmcsIEppYW4gSg0KPiA+ID4gPiA+IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlh b3l1MSA8eGlhb3l1MS5sdUBpbnRlbC5jb20+OyBKaWFuZywNCj4gPiA+ID4gPiBHdW9taW4gPGd1 b21pbi5qaWFuZ0BpbnRlbC5jb20+OyBadXJjaGVyLCBDaHJpc3RvcGhlcg0KPiA+ID4gPiA+IDxj aHJpc3RvcGhlci56dXJjaGVyQG1pY3Jvc29mdC5jb20+OyBSZWJlY2NhIENyYW4NCj4gPiA+ID4g PiA8cXVpY19yY3JhbkBxdWljaW5jLmNvbT47IEFyZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5v cmc+DQo+ID4gPiA+ID4gU3ViamVjdDogW1BhdGNoIDAwLzEyXSBDcnlwdG9Qa2c6IFJlbW92ZSBF QyBQQ0QgYW5kIG1lcmdlIHBlcmYNCj4gb3B0DQo+ID4gPiA+ID4gT3BlbnNzbExpYnMNCj4gPiA+ ID4gPg0KPiA+ID4gPiA+IFRoZSByZWNlbnQgYWRkaXRpb24gb2YgdGhlIEVjbGlwdGljIEN1cnZl IChFQykgZmVhdHVyZSBhbmQgdGhlDQo+ID4gPiBwZXJmb3JtYW5jZQ0KPiA+ID4gPiA+IG9wdGlt aXphdGlvbiBmZWF0dXJlcyBpbmNyZWFzZWQgdGhlIGNvbXBsZXhpdHkgZm9yIHBsYXRmb3JtcyB0 bw0KPiA+ID4gaW50ZWdyYXRlDQo+ID4gPiA+ID4gYW5kIGVuYWJsZSB0aGVzZSBmZWF0dXJlcy4g VGhpcyBzZXJpZXMgc2ltcGxpZmllcyB0aGUgcGxhdGZvcm0NCj4gPiA+IGNvbmZpZ3VyYXRpb24N Cj4gPiA+ID4gPiBhcyBtdWNoIGFzIHBvc3NpYmxlIGFuZCBpbXByb3ZlcyB0aGUgYWJpbGl0eSB0 byBtYW5hZ2UgdGhlIHRoZSBzaXplDQo+ID4gPiBpbXBhY3QNCj4gPiA+ID4gPiBvZiBjcnlwdG9n cmFwaGljIHNlcnZpY2VzIGluIGVhY2ggRlcgcGhhc2UuIEEgUmVhZG1lLm1kIGlzIGFsc28NCj4g YWRkZWQNCj4gPiA+ID4gPiB0aGF0DQo+ID4gPiA+ID4gcHJvdmlkZXMgYW4gb3ZlcnZpZXcgb2Yg dGhlIENyeXB0b1BrZyBkZXNpZ24gYW5kIGZlYXR1cmVzIGFsb25nDQo+IHdpdGgNCj4gPiA+ID4g PiBwbGF0Zm9ybQ0KPiA+ID4gPiA+IGludGVncmF0aW9uIHJlY29tbWVuZGF0aW9ucy4NCj4gPiA+ ID4gPg0KPiA+ID4gPiA+IFRoaXMgc2VyaWVzIGFsc28gYWRkcmVzc2VzIHByaXZhdGUgbGlicmFy eSBjbGFzcyBkZWNsYXJhdGlvbnMgbWlzc2luZw0KPiBmcm9tDQo+ID4gPiA+ID4gQ3J5cHRvUGtn LmRlYyBhbmQgbGlicmFyeSBpbnN0YW5jZXMgbm90IHByb2R1Y2luZyBhbGwgdGhlIEFQSXMNCj4g ZGVmaW5lZA0KPiA+ID4gPiA+IGJ5IHRoZSBsaWJyYXJ5IGNsYXNzZXMuIEEgcmV2aWV3IG9mIHRo ZSBDcnlwdG9Qa2cgRURLIElJIG1ldGEgZGF0YQ0KPiBmaWxlcw0KPiA+ID4gPiA+IGlkZW50aWZp ZWQNCj4gPiA+ID4gPiBhIG51bWJlciBvZiBhZGRpdGlvbmFsIGNsZWFudXBzLiBUaGUgQ3J5cHRv UGtnLmRzYyBmaWxlIHdhcyBhbHNvDQo+ID4gPiB1cGRhdGVkIHRvDQo+ID4gPiA+ID4gaW1wcm92 ZSBDSSBjb3ZlcmFnZSBmb3IgZnV0dXJlIENyeXB0b1BrZyBjaGFuZ2VzIGFuZCBpZGVudGlmaWVk DQo+IHNvbWUNCj4gPiA+ID4gPiB1bml0IHRlc3QgYnVnIGZpeGVzLg0KPiA+ID4gPiA+DQo+ID4g PiA+ID4gUFI6ICAgICBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvcHVsbC8zNDQz DQo+ID4gPiA+ID4gQnJhbmNoOg0KPiA+ID4gPiA+DQo+ID4gPg0KPiBodHRwczovL2dpdGh1Yi5j b20vbWRraW5uZXkvZWRrMi90cmVlL0NyeXB0b1BrZ19SZW1vdmVFY1BjZF9NZXJnZQ0KPiA+ID4g PiA+IE9wdGltaXplZE9wZW5zc2xMaWJzDQo+ID4gPiA+ID4gUmVhZG1lOg0KPiA+ID4gPiA+DQo+ ID4gPg0KPiBodHRwczovL2dpdGh1Yi5jb20vbWRraW5uZXkvZWRrMi9ibG9iL0NyeXB0b1BrZ19S ZW1vdmVFY1BjZF9NZXJnZQ0KPiA+ID4gPiA+IE9wdGltaXplZE9wZW5zc2xMaWJzL0NyeXB0b1Br Zy9SZWFkbWUubWQNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IENoYW5nZSBTdW1tYXJ5DQo+ID4gPiA+ ID4gPT09PT09PT09PT09PT0NCj4gPiA+ID4gPiAqIERvY3VtZW50IGRpc2FibGVkL2RlcHJlY2F0 ZWQgY3J5cHRvZ3JhcGhpYyBzZXJ2aWNlcw0KPiA+ID4gPiA+ICogQWRkIG1pc3NpbmcgVU5JIGZp bGVzIGluIEJhc2VDcnlwdExpYg0KPiA+ID4gPiA+ICogVXBkYXRlIEJhc2VDcnlwdExpYiBpbnRl cm5hbCBmdW5jdGlvbnMgdG8gYmUgU1RBVElDIGFuZCByZW1vdmUNCj4gPiA+IEVGSUFQSQ0KPiA+ ID4gPiA+ICogQWRkIEdMT0JBTF9SRU1PVkVfSUZfVU5SRUZFUkVOQ0VEIHRvIEJhc2VDcnlwdExp YiBnbG9iYWwNCj4gPiA+ID4gPiB2YXJpYWJsZXMNCj4gPiA+ID4gPiAqIEZpeCBCYXNlQ3J5cHRM aWIgdW5pdCB0ZXN0cw0KPiA+ID4gPiA+ICogQ2xlYW51cCBCYXNlQ3J5cHRMaWIgYW5kIFRsc0xp YiBJTkYgZmlsZXMgYW5kDQo+ID4gPiA+ID4gKiBNb3ZlIFN5c0NhbGwvaW5ldF9wdG9uLmMgZnJv bSBCYXNlQ3J5cHRMaWIgdG8gVGxzTGliIHRoYXQgdXNlcyBpdC4NCj4gPiA+ID4gPiAqIE1lcmdl IDQgcGVyZm9ybWFuY2Ugb3B0aW1pemVkIElORnMgaW50byBPcGVuc3NsTGliKkFjY2VsLmluZg0K PiA+ID4gPiA+ICogUmVtb3ZlIHVzZSBvZiBQY2RPcGVuc3NsRWNFbmFibGVkIGFuZCB1c2UgT3Bl bnNzbExpYkZ1bGwqLmluZg0KPiA+ID4gaW5zdGVhZA0KPiA+ID4gPiA+ICogQWRkIE9wZW5zc2xM aWIgYW5kIEludHJpbnNpY0xpYiB0byBDcnlwdG9Qa2cuZGVjIGFzIHByaXZhdGUgbGlicmFyeQ0K PiA+ID4gY2xhc3Nlcw0KPiA+ID4gPiA+ICogVXBkYXRlIGFsbCBPcGVuc3NsTGliIGluc3RhbmNl cyB0byBhbHdheXMgcHJvZHVjZSBhbGwgQVBJcyBpbg0KPiA+ID4gT3BlbnNzbExpYg0KPiA+ID4g PiA+IGNsYXNzDQo+ID4gPiA+ID4gKiBNb3ZlIFByaW50TGliIGRlcGVuZGVuY3kgZnJvbSBPcGVu c3NsTGliIElORiBmaWxlcyB0bw0KPiBCYXNlQ3J5cHRMaWINCj4gPiA+IElORg0KPiA+ID4gPiA+ IGZpbGVzDQo+ID4gPiA+ID4gKiBVcGRhdGUgQ3J5cHRvUGtnLmRzYyBmaWxlcyB0byBwcm92aWRl IGZ1bGwgQ0kgdGVzdCBjb3ZlcmFnZSBhY3Jvc3MNCj4gYWxsDQo+ID4gPiB0aGUNCj4gPiA+ID4g PiAgICBzdXBwb3J0ZWQgY29tYmluYXRpb25zIG9mIE9wZW5zc2xMaWIsIEJhc2VDcnlwdExpYiwg YW5kIFRsc0xpYg0KPiA+ID4gaW5zdGFuY2VzLg0KPiA+ID4gPiA+ICogUmVtb3ZlIFBBQ0tBR0Ug cHJvZmlsZSBmcm9tIENyeXB0b1BrZy5kc2MgYW5kIGFkZA0KPiA+ID4gPiA+IFRBUkdFVF9VTklU X1RFU1RTDQo+ID4gPiA+ID4gICBwcm9maWxlLiAgQWRkaW5nIFRBUkdFVF9VTklUX1RFU1RTIHBy b2ZpbGUgaXMgcmVxdWlyZWQgdG8gcHJldmVudA0KPiBhDQo+ID4gPiBmZXcNCj4gPiA+ID4gPiB1 bml0DQo+ID4gPiA+ID4gICB0ZXN0IGFydGlmYWN0cyBiZWluZyBpbmNsdWRlZCBpbiBub24gdW5p dCB0ZXN0IGJ1aWxkcyBvZiBjb21wb25lbnRzLg0KPiA+ID4gPiA+ICogQWRkIENyeXB0b1BrZyBS ZWFkbWUubWQgd2l0aCBvdmVydmlldyBhbmQgcGxhdGZvcm0NCj4gaW50ZWdyYXRpb24NCj4gPiA+ ID4gPiBkZXRhaWxzLg0KPiA+ID4gPiA+ICogVXBkYXRlIGhvc3QtYmFzZWQgdW5pdCB0ZXN0cyB0 byBhbHdheXMgdXNlIE9wZW5zc2xMaWJGdWxsLmluZiBhbmQNCj4gYWRkDQo+ID4gPiA+ID4gdW5p dA0KPiA+ID4gPiA+ICAgdGVzdCBjb3ZlcmFnZSBmb3IgT3BlbnNzbExpYkZ1bGxBY2NlbC5pbmYu DQo+ID4gPiA+ID4gKiBBZGQgUmVhZG1lLm1kIHdpdGggQ3J5cHRvUGtnIG92ZXJ2aWV3IGFuZCBw bGF0Zm9ybQ0KPiBpbnRlZ3JhdGlvbg0KPiA+ID4gPiA+ICAgZG9jdW1lbnRhdGlvbg0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+ ID4gPiA+IENjOiBKaWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+ IENjOiBYaWFveXUgTHUgPHhpYW95dTEubHVAaW50ZWwuY29tPg0KPiA+ID4gPiA+IENjOiBHdW9t aW4gSmlhbmcgPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gQ2M6IENocmlzdG9w aGVyIFp1cmNoZXIgPGNocmlzdG9waGVyLnp1cmNoZXJAbWljcm9zb2Z0LmNvbT4NCj4gPiA+ID4g PiBDYzogUmViZWNjYSBDcmFuIDxxdWljX3JjcmFuQHF1aWNpbmMuY29tPg0KPiA+ID4gPiA+IENj OiBBcmQgQmllc2hldXZlbCA8YXJkYkBrZXJuZWwub3JnPg0KPiA+ID4gPiA+IFNpZ25lZC1vZmYt Ynk6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gTWljaGFlbCBEIEtpbm5leSAoMTIpOg0KPiA+ID4gPiA+ICAgQ3J5cHRv UGtnOiBEb2N1bWVudCBhbmQgZGlzYWJsZSBkZXByZWNhdGVkIGNyeXB0byBzZXJ2aWNlcw0KPiA+ ID4gPiA+ICAgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliOiBBZGQgbWlzc2luZyBVTkkg ZmlsZSBhbmQgZml4DQo+IGZvcm1hdA0KPiA+ID4gPiA+ICAgQ3J5cHRvUGtnL0xpYnJhcnkvQmFz ZUNyeXB0TGliOiBVcGRhdGUgaW50ZXJuYWwNCj4gZnVuY3Rpb25zL3ZhcmlhYmxlcw0KPiA+ID4g PiA+ICAgQ3J5cHRvUGtnL1Rlc3QvVW5pdFRlc3QvTGlicmFyeS9CYXNlQ3J5cHRMaWI6IFVuaXQg dGVzdCBmaXhlcw0KPiA+ID4gPiA+ICAgQ3J5cHRvUGtnL0xpYnJhcnk6IENsZWFudXAgQmFzZUNy eXB0TGliIGFuZCBUbHNMaWINCj4gPiA+ID4gPiAgIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xM aWI6IENvbWJpbmUgYWxsIHBlcmZvcm1hbmNlIG9wdGltaXplZA0KPiA+ID4gSU5Gcw0KPiA+ID4g PiA+ICAgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYjogUHJvZHVjZSBjb25zaXN0ZW50IHNl dCBvZiBBUElzDQo+ID4gPiA+ID4gICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliOiBSZW1v dmUgUHJpbnRMaWIgZnJvbSBJTkYgZmlsZXMNCj4gPiA+ID4gPiAgIENyeXB0b1BrZzogUmVtb3Zl IFBjZE9wZW5zc2xFY0VuYWJsZWQgZnJvbSBDcnlwdG9Qa2cuZGVjDQo+ID4gPiA+ID4gICBDcnlw dG9Qa2c6IFVwZGF0ZSBEU0MgdG8gaW1wcm92ZSBDSSB0ZXN0IGNvdmVyYWdlDQo+ID4gPiA+ID4g ICBDcnlwdG9Qa2c6IEZpeGVkIGhvc3QtYmFzZWQgdW5pdCB0ZXN0cw0KPiA+ID4gPiA+ICAgQ3J5 cHRvUGtnOiBBZGQgUmVhZG1lLm1kDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgQ3J5cHRvUGtnL0Ny eXB0b1BrZy5jaS55YW1sICAgICAgICAgICAgICAgICAgIHwgIDExICstDQo+ID4gPiA+ID4gIENy eXB0b1BrZy9DcnlwdG9Qa2cuZGVjICAgICAgICAgICAgICAgICAgICAgICB8ICA0MiArLQ0KPiA+ ID4gPiA+ICBDcnlwdG9Qa2cvQ3J5cHRvUGtnLmRzYyAgICAgICAgICAgICAgICAgICAgICAgfCA0 NjAgKysrKysrKysrLS0tDQo+ID4gPiA+ID4gIC4uLi9QY2QvUGNkQ3J5cHRvU2VydmljZUZhbWls eUVuYWJsZS5oICAgICAgICB8IDEyMiArLS0NCj4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNy eXB0TGliL0Jhc2VDcnlwdExpYi5pbmYgICAgIHwgIDEwICstDQo+ID4gPiA+ID4gIC4uLi9MaWJy YXJ5L0Jhc2VDcnlwdExpYi9CYXNlQ3J5cHRMaWIudW5pICAgICB8ICAgMiAtDQo+ID4gPiA+ID4g IC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9IbWFjL0NyeXB0SG1hYy5jICAgICB8ICAgNyArDQo+ ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9LZGYvQ3J5cHRIa2RmLmMgICAgICB8 ICAgNSArLQ0KPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvUGVpQ3J5cHRMaWIu aW5mICAgICAgfCAgIDggKy0NCj4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1Bl aUNyeXB0TGliLnVuaSAgICAgIHwgICAyIC0NCj4gPiA+ID4gPiAgLi4uL0Jhc2VDcnlwdExpYi9Q ay9DcnlwdEF1dGhlbnRpY29kZS5jICAgICAgIHwgICAyICstDQo+ID4gPiA+ID4gIC4uLi9CYXNl Q3J5cHRMaWIvUGsvQ3J5cHRQa2NzN1ZlcmlmeUNvbW1vbi5jICB8ICAgMyArLQ0KPiA+ID4gPiA+ ICAuLi4vQmFzZUNyeXB0TGliL1BrL0NyeXB0UGtjczdWZXJpZnlFa3UuYyAgICAgfCAgIDMgKw0K PiA+ID4gPiA+ICBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvUGsvQ3J5cHRUcy5jICAg fCAgNDQgKy0NCj4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1J1bnRpbWVDcnlw dExpYi5pbmYgIHwgICA5ICstDQo+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9S dW50aW1lQ3J5cHRMaWIudW5pICB8ICAgMiAtDQo+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VD cnlwdExpYi9TZWNDcnlwdExpYi5pbmYgICAgICB8ICAxMyArLQ0KPiA+ID4gPiA+ICAuLi4ve1Nt bUNyeXB0TGliLnVuaSA9PiBTZWNDcnlwdExpYi51bml9ICAgICAgfCAgMTEgKy0NCj4gPiA+ID4g PiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1NtbUNyeXB0TGliLmluZiAgICAgIHwgIDEyIC0N Cj4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1NtbUNyeXB0TGliLnVuaSAgICAg IHwgICAyIC0NCj4gPiA+ID4gPiAgLi4uL0Jhc2VDcnlwdExpYi9Vbml0VGVzdEhvc3RCYXNlQ3J5 cHRMaWIuaW5mIHwgIDIyICstDQo+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0luY2x1ZGUvb3BlbnNz bC9vcGVuc3NsY29uZi5oICAgICB8IDMyOCArKysrKysrLQ0KPiA+ID4gPiA+ICAuLi4vSW5jbHVk ZS9vcGVuc3NsL29wZW5zc2xjb25mX2dlbmVyYXRlZC5oICAgfCAzMzMgLS0tLS0tLS0tDQo+ID4g PiA+ID4gIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvRWNTbTJOdWxsLmMgICAgICB8IDI5 MSArKysrKysrKw0KPiA+ID4gPiA+ICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5z c2xMaWIuaW5mICAgfCAxMzMgKystLQ0KPiA+ID4gPiA+ICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVu c3NsTGliL09wZW5zc2xMaWIudW5pICAgfCAgMTAgKy0NCj4gPiA+ID4gPiAgLi4ubnNzbExpYklh MzJHY2MuaW5mID0+IE9wZW5zc2xMaWJBY2NlbC5pbmZ9IHwgMTg5ICsrKy0tDQo+ID4gPiA+ID4g IC4uLi9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYkFjY2VsLnVuaSAgICB8ICAxNCArDQo+ ID4gPiA+ID4gIC4uLi9PcGVuc3NsTGliL09wZW5zc2xMaWJDb25zdHJ1Y3Rvci5jICAgICAgICB8 ICAgNiArLQ0KPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJDcnlw dG8uaW5mICAgfCAxODUgKysrLS0NCj4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvT3BlbnNzbExpYi9P cGVuc3NsTGliQ3J5cHRvLnVuaSAgIHwgIDExICstDQo+ID4gPiA+ID4gIC4uLi97T3BlbnNzbExp Yi5pbmYgPT4gT3BlbnNzbExpYkZ1bGwuaW5mfSAgICB8IDE0MyArKy0tDQo+ID4gPiA+ID4gIC4u Li97T3BlbnNzbExpYi51bmkgPT4gT3BlbnNzbExpYkZ1bGwudW5pfSAgICB8ICAxMCArLQ0KPiA+ ID4gPiA+ICAuLi5zc2xMaWJJYTMyLmluZiA9PiBPcGVuc3NsTGliRnVsbEFjY2VsLmluZn0gfCAx OTIgKysrLS0NCj4gPiA+ID4gPiAgLi4uL09wZW5zc2xMaWIvT3BlbnNzbExpYkZ1bGxBY2NlbC51 bmkgICAgICAgIHwgIDE0ICsNCj4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVu c3NsTGliWDY0LmluZiAgICAgIHwgNzA2IC0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ICAu Li4vTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJYNjRHY2MuaW5mICAgfCA3MDYgLS0tLS0t LS0tLS0tLS0tLS0tDQo+ID4gPiA+ID4gIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvU3Ns TnVsbC5jICAgICAgICB8IDQwNSArKysrKysrKysrDQo+ID4gPiA+ID4gIC4uLi9TeXNDYWxsL2lu ZXRfcHRvbi5jICAgICAgICAgICAgICAgICAgICAgICB8ICAgMA0KPiA+ID4gPiA+ICBDcnlwdG9Q a2cvTGlicmFyeS9UbHNMaWIvVGxzQ29uZmlnLmMgICAgICAgICAgfCAgIDIgKy0NCj4gPiA+ID4g PiAgQ3J5cHRvUGtnL0xpYnJhcnkvVGxzTGliL1Rsc0xpYi5pbmYgICAgICAgICAgIHwgIDEyICst DQo+ID4gPiA+ID4gIENyeXB0b1BrZy9Qcml2YXRlL0xpYnJhcnkvSW50cmluc2ljTGliLmggICAg ICB8ICAxNiArDQo+ID4gPiA+ID4gIENyeXB0b1BrZy9Qcml2YXRlL0xpYnJhcnkvT3BlbnNzbExp Yi5oICAgICAgICB8ICAxNCArDQo+ID4gPiA+ID4gIENyeXB0b1BrZy9SZWFkbWUubWQgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IDQ5OCArKysrKysrKysrKysNCj4gPiA+ID4gPiAgQ3J5cHRv UGtnL1Rlc3QvQ3J5cHRvUGtnSG9zdFVuaXRUZXN0LmRzYyAgICAgIHwgIDE3ICstDQo+ID4gPiA+ ID4gIC4uLi9Vbml0VGVzdC9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9IbWFjVGVzdHMuYyB8ICAxNyAr LQ0KPiA+ID4gPiA+ICAuLi4vVW5pdFRlc3QvTGlicmFyeS9CYXNlQ3J5cHRMaWIvVFNUZXN0cy5j ICAgfCAgIDIgKy0NCj4gPiA+ID4gPiAgLi4uL1Rlc3RCYXNlQ3J5cHRMaWJIb3N0QWNjZWwuaW5m ICAgICAgICAgICAgIHwgIDU1ICsrDQo+ID4gPiA+ID4gIDQ4IGZpbGVzIGNoYW5nZWQsIDI2Njcg aW5zZXJ0aW9ucygrKSwgMjQzNCBkZWxldGlvbnMoLSkNCj4gPiA+ID4gPiAgY29weSBDcnlwdG9Q a2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIve1NtbUNyeXB0TGliLnVuaSA9Pg0KPiA+ID4gPiA+IFNl Y0NyeXB0TGliLnVuaX0gKDc0JSkNCj4gPiA+ID4gPiAgZGVsZXRlIG1vZGUgMTAwNjQ0DQo+ID4g PiA+ID4gQ3J5cHRvUGtnL0xpYnJhcnkvSW5jbHVkZS9vcGVuc3NsL29wZW5zc2xjb25mX2dlbmVy YXRlZC5oDQo+ID4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBDcnlwdG9Qa2cvTGlicmFyeS9P cGVuc3NsTGliL0VjU20yTnVsbC5jDQo+ID4gPiA+ID4gIHJlbmFtZSBDcnlwdG9Qa2cvTGlicmFy eS9PcGVuc3NsTGliL3tPcGVuc3NsTGliSWEzMkdjYy5pbmYgPT4NCj4gPiA+ID4gPiBPcGVuc3Ns TGliQWNjZWwuaW5mfSAoNzklKQ0KPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+ IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYkFjY2VsLnVuaQ0KPiA+ID4g PiA+ICBjb3B5IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIve09wZW5zc2xMaWIuaW5mID0+ DQo+ID4gPiBPcGVuc3NsTGliRnVsbC5pbmZ9DQo+ID4gPiA+ID4gKDgwJSkNCj4gPiA+ID4gPiAg Y29weSBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3tPcGVuc3NsTGliLnVuaSA9Pg0KPiA+ ID4gT3BlbnNzbExpYkZ1bGwudW5pfQ0KPiA+ID4gPiA+ICg1NiUpDQo+ID4gPiA+ID4gIHJlbmFt ZSBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3tPcGVuc3NsTGliSWEzMi5pbmYgPT4NCj4g PiA+ID4gPiBPcGVuc3NsTGliRnVsbEFjY2VsLmluZn0gKDc5JSkNCj4gPiA+ID4gPiAgY3JlYXRl IG1vZGUgMTAwNjQ0DQo+ID4gPiA+ID4gQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVu c3NsTGliRnVsbEFjY2VsLnVuaQ0KPiA+ID4gPiA+ICBkZWxldGUgbW9kZSAxMDA2NDQNCj4gQ3J5 cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliWDY0LmluZg0KPiA+ID4gPiA+ICBk ZWxldGUgbW9kZSAxMDA2NDQNCj4gPiA+IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3Bl bnNzbExpYlg2NEdjYy5pbmYNCj4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENyeXB0b1Br Zy9MaWJyYXJ5L09wZW5zc2xMaWIvU3NsTnVsbC5jDQo+ID4gPiA+ID4gIHJlbmFtZSBDcnlwdG9Q a2cvTGlicmFyeS97QmFzZUNyeXB0TGliID0+DQo+IFRsc0xpYn0vU3lzQ2FsbC9pbmV0X3B0b24u Yw0KPiA+ID4gPiA+ICgxMDAlKQ0KPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ3J5cHRv UGtnL1ByaXZhdGUvTGlicmFyeS9JbnRyaW5zaWNMaWIuaA0KPiA+ID4gPiA+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgQ3J5cHRvUGtnL1ByaXZhdGUvTGlicmFyeS9PcGVuc3NsTGliLmgNCj4gPiA+ID4g PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENyeXB0b1BrZy9SZWFkbWUubWQNCj4gPiA+ID4gPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+ID4NCj4gPiA+DQo+IENyeXB0b1BrZy9UZXN0L1VuaXRU ZXN0L0xpYnJhcnkvQmFzZUNyeXB0TGliL1Rlc3RCYXNlQ3J5cHRMaWJIb3N0QWNjZWwuaQ0KPiA+ ID4gPiA+IG5mDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAtLQ0KPiA+ID4gPiA+IDIuMzcuMS53aW5k b3dzLjENCg0K