From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web08.15340.1665538621734168325 for ; Tue, 11 Oct 2022 18:37:01 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=FF2rFNva; spf=pass (domain: intel.com, ip: 192.55.52.43, 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=1665538621; x=1697074621; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=kwEDXDMDGudBE5w0hLvzEUH1tkeeVA8s6HP8R8GuIzQ=; b=FF2rFNvamK8GXwNIkrirqWaPTBniiEt0cPEsAIi3B7Phi1o3YOOPl8SE xCrFHSajXN1I7NTZ4TSPeo8N6ffmJAFsFXp0+G6BES/ukqo+ZhIGxoh9I efwmdEO5gPxw5HGNvkOj2av7hWE8bbD7U41D4/L4OHrqqPCtki4c9CBgY HCJ6aexbmwGpeA5w31tSJQrzQGJCMxpkG/LLkVtPPl791mVZL1xyrFgOY iptcnyGHv/xUlVW191QZc0fhZdORV0e13FyOdVr0ZNm+pkFYh9dm2xNex /fjKFpZ33b+FDzxCuCOnhZWMBuMgfKJWJyi9AGSU9L5LL9vMPRmrD8eop w==; X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="390975365" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="390975365" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Oct 2022 18:37:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="689469412" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="689469412" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga008.fm.intel.com with ESMTP; 11 Oct 2022 18:37:00 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) 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 18:37:00 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX609.amr.corp.intel.com (10.22.229.22) 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 18:36:59 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx608.amr.corp.intel.com (10.22.229.21) 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 18:36:59 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.106) by edgegateway.intel.com (134.134.137.100) 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 18:36:59 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JZpsgHJc25PcueY28CyGu6bd2BtCTcvl9drlRR77AyMVWjxCghCafoAFX2Bxi8P5qHdr+d7AtmkYDvflmkLckjyfp4SnCS9m84ixBNv6pXXrGRe2YPMsDC5V2y6S2gggfQqvDPs0uV/GPoIDkYhGbJT3SjXnHj0VZg29XWOaTUl9aDaiqXrPfmLwYJ9XRwxEvsp7hgQ63CK5yc8essd3FP6BwhDM/FkkciG/Itdo1QullKRoa2HfrzvJnDIWfiuaw6mFIjEWDkPu+lorU0eE/ozhelEW0CWBSRAAXhQzPB8dm/6IrtIodnEASpfULSWSTy9eBC+BRVWpp78DMF4GrA== 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=kwEDXDMDGudBE5w0hLvzEUH1tkeeVA8s6HP8R8GuIzQ=; b=NChd7GS2nOqn0fllRGcULkZSabprd6qAU/5b+Nh8TPnzDpafzwVqpIucBdxWf7auKmj91M6D66bPMW1/Uc6VW8bmO2S9k17i080GbZz8xLyrzG1c+PfLhU89hxkC/oC4Y6Dllw5CokZ7GzAeZ3JGayH99LOaSeznYpwv28MQkJa5OTKZC1ecn6/3d9GvXuNjSSj3KwYXe58j0Rs1E+Ent8B67fijcrxfet4lp8zWmDmfSC3DTj9JTjZdG36Wj3MqHLyxgFNuIu91FUYA3vwTluxywT99aoSPFVlQ+2BDLHO0ug1WEQ3mATIYXvDSQzecrxTt3tSCeI0vf1vN8CQKhQ== 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 IA0PR11MB7185.namprd11.prod.outlook.com (2603:10b6:208:443::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Wed, 12 Oct 2022 01:36:56 +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 01:36:56 +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: AQHY3YK7maCqct5DWES6ZOJNywNaya4J8HawgAAHRQCAAALH8A== Date: Wed, 12 Oct 2022 01:36:55 +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_|IA0PR11MB7185:EE_ x-ms-office365-filtering-correlation-id: a351634a-d81b-464e-2daf-08daabf23f6e 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: kQrpSrB4wRs7Yz+3kH5AXZRvgM0qZCUo8UagrvsoMoqyYj22zqwtolzv19AocNvNvlkY1rrAcmLOTMrqcCbGyOgXO1mILm3KIDCWbx0y5tXciRDGxFgBON/LNt/GSSTJaoSmvBSErk/o48+1OmtuHZFhXDQBgfbXwslkUzUk3+foXFTMa6WfQcrCkS7PxvER9aZAPUhF24BsNXRPxyFDy+pTj4sNCQraRkDdX+MYRriDE/5HzQ8AnK9SPQW+OxnuPQrbwL2DkNeCBzt5c1y7o+Pl6CKVnhLw7gL1mmP8mEV2Tn+LPF+b858vRFuALlyS9o+O44vZtHGKYe7rF1Bdea/9O5ldvWarHhNBTwOdpw4wFM6Cza7JyEWFfRkVWOSGK9wlLsuCZm1cD1z371cC6jYN0+HGK2rAtRzsyxGbjChbAE5CGCU+ShZbR0sp9EJE0w7AcNyQlU+wduOtdllUR7YcB34P3FkUz4RW3Y5tbR+r4ZsZoqsCilzjRQLGw4jb0hldVqx+C2Hp8Xm41PREGv+UM/OVk1PVjJ1PTI9zj3pBnxUuYcVLw5pjgNIV46yVLQy/+QMFkUOsNKbl3v0Qrj52w5tleeGwO27OPx0CrWXD8j/4oMgPk+HtKW3eHGXIOa2IA2ibBPVzdAuIWDurzdGLnSvIS4vIrxMcQawZJM7lkkNYaw6g6K9UXGQtdrsCgFUZG9PwwKCVVOXttHmAqJVyoJum6x5pcc2AcPJrKZAi8zLGtGtKVo8wwTAyO1dI04AxbNB579qXuMaxf89OOIghdmL4wl2UY7UUHbj0fRzn5rOWcniN6Au1PizoV1+lUkS7AB+qR44sKDJBZ/PPOw== 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)(366004)(136003)(396003)(39860400002)(376002)(346002)(451199015)(2906002)(83380400001)(316002)(66446008)(33656002)(30864003)(4326008)(64756008)(66476007)(66556008)(76116006)(71200400001)(86362001)(54906003)(5660300002)(66946007)(8676002)(41300700001)(110136005)(478600001)(52536014)(53546011)(9686003)(19627235002)(966005)(122000001)(6506007)(7696005)(8936002)(82960400001)(38100700002)(38070700005)(186003)(26005)(55016003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OW5vOVlDU2gzc0tyd2xyNHB6ZnBaK2VjL0MyVGgrRmNYNXR3UXhBbXkraitx?= =?utf-8?B?UVh2MWNEZDhLVzRabUgxUFp3bG1WNnZXNnhBM0hTU0EvblJPaUp0MWI1N1JL?= =?utf-8?B?cWx5MkVrZTFnWDFtWnJkYU1YbUE1Wjh6M2p2QnliL1ZXOHhXRG5ETVdXSHY5?= =?utf-8?B?YURXOSsybGwvcXpjT0pEVnd6aFhDT0FKVXZ2eXplWnhGVXRzWm9EKzZncExt?= =?utf-8?B?UE52L3FpblV2NTBoTVkvYzd6cnI4V1ZaS1BJckU5WSs2SkVTYlpBUndYaG16?= =?utf-8?B?bkUyb0M0M080aXhRTkl1ZTJCaERyODVER1pxdkJtek40UHRUclhwWDFQam9Y?= =?utf-8?B?TThGd1B0WDRBU2FHa0xaKzVwVXJVN1JKMS9WMlhlbS83SkMzYVhoWGlYUDFY?= =?utf-8?B?eXlsWlVXdjZMY3NvN3UyYlhQUDBaU1N6Z1RCM1ZCek9oazNMbmc4b2djb2ds?= =?utf-8?B?cmZGYm5mMXcxUkNRQXc4bXZKSW1XVjdBNDFzR0pCMU55c2o2c3VlNEZSa0VD?= =?utf-8?B?aUpGWVhVdU1YcW04NWNObEI2c0tGSjNqTHl0OTN3dDFVbmg3bUZtOURZK0VO?= =?utf-8?B?b2hjMFdhcU5LR0swb2xQMHVFbzl5ek5rMFhqeUN5dW9MeVRHNUtqamJzamlN?= =?utf-8?B?YXRIRVRnVzRYa2cxaGg4NzFFMTNNSXZWcmtKckE2ZUIyZDJLWHVubnJDdXcr?= =?utf-8?B?VGZmLyszMkJhVFByamlYcmJjeEkzTndtOHVIbnJNMTJuTVVyZzFjWVFDV2lC?= =?utf-8?B?bFUydjErUktmSlkrZTE5NkdSN3RGVWFnTllPM1hvUmU5VmVmYTRrSmp3Z1pU?= =?utf-8?B?ZExkMXc5SWNDMW1JU1BqM3hhcnMyZUVkVVRDNzQ5WXdETlpFZlk2eTBaL0gz?= =?utf-8?B?dFRzZHg4bGFBMHVjckVQWlpHL21wRzZpOXZHaW1ES0h1T1RhalZhYm5kNnBW?= =?utf-8?B?T3BJSUp4eTJpMUtwQVg4dGJXb0k3MWdCNnZiQTJJOFplV0tmaUNyNTJqSnZh?= =?utf-8?B?R0Y4MWVzQi83YVRseU9DaUpKNStCckRmTkpWUUx5YXpMbEhTVFFpWHZTLzdz?= =?utf-8?B?cEgvdEVDQlB5VXNETDg2QURXYVRtcnpZUFhQYXQweWVUc01EejVFaklpaEk1?= =?utf-8?B?blhhZlRBN2FzZ3l2VGc4eGFtSUhwcWZuU3cxTWVDTWtCMWF2dkp6eW5kN2hB?= =?utf-8?B?cUZER3hIcHUrVXVDQzRQZDJXV3VGYU53d0JsMkF1UzQ5bkE4emhJTCtSMFNQ?= =?utf-8?B?NzQvRU13NEtDeFkzNWlHMHB2c0hJbWZXMm5FQzdiRzdESjIrTjFES0VtdnZp?= =?utf-8?B?Zy9XZ1E1NEZJMHl4WG5YRGFuWWhlREZkdThNSXNtaUVXb0xNWXdmYWxQZFpa?= =?utf-8?B?WUxsdU5WcHhrZkE0ZzdEZ1RCWUVIeWFzcDZvWW91R1puZjZ2TGUvSWN3TXd1?= =?utf-8?B?NWM0YlFUTmpDdFZaeG0rRy9kTkVGV1paVmExcnQ0QXFTQ0dVWm44aUhOYlJQ?= =?utf-8?B?VG5BS2tTY1VvU2tVakFSZVhmRWhTT1RmdG1lQ2lwYThyU0xsT1YrbC9FU0pJ?= =?utf-8?B?aWY0RGhobk04d2tZSHhZMFpWVllRYjFZS21TUEtlWmN6alBWSzc5R0Y4Rkto?= =?utf-8?B?SGt3eXRzVUIwQ1RCNVBOSzNHZnBodmxId1FWa1JWa0FPWE1DQjA0UGxWbnBy?= =?utf-8?B?YzlRTVlTL3hpSTkybmFNZEdEeUlqYWQyV0ZsRmhFM3lZWGhteXAwdjZ1UFIv?= =?utf-8?B?UjM0TXR1cFE0TEZyUUREVmdDVFZzbDM4RFp3anRXMkV4L3c1TXd3K0UzRzdq?= =?utf-8?B?Vmg0cHNqNVFhbU15eXVGZDZsWGlNSERIaC9rWlFDZ1o4QlpqcWNoV2RZdDFk?= =?utf-8?B?M2xZNWdYL2wvNDJTK3YrS3d3bFpSUUxEUkFDTDJjRWlnSmxGMDdsRURQMTJt?= =?utf-8?B?RlBTWGs0VVlGYSs5TmN2Sy9ZaHUzbmREYXFPVEs0YVM3UHd3Wm9yWWZleWVF?= =?utf-8?B?bnBEdHArS3lkK212TzNQNWZTNGIvVHNPNEh4aytDc1pwano2ZjFoVkMwUUk1?= =?utf-8?B?UEVlMVBMYTN6c0NnbmlCSllnTkxnNUhOR3ptQU1QRm90bjlNQWJXaDE2bVd1?= =?utf-8?Q?xdNQD65G1u9FePM8gNfSqFgc2?= 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: a351634a-d81b-464e-2daf-08daabf23f6e X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2022 01:36:56.0342 (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: 6Oa7GNAq8X/4VDq96H+o1dpBbjhWY5ocFPN16XlXyh9LgoWOvDRcPbhGLQ3NxWbGREIEYYDLBrRcDqb9qz1OXw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR11MB7185 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 SGkgTWlrZQ0KRm9yIFBjZE9wZW5zc2xFY0VuYWJsZWQsIEkgYW0gc2VlaW5nIG90aGVyIHVzYWdl LiBGb3IgZXhhbXBsZTogDQpodHRwczovL2dpdGh1Yi5jb20vcWl6aGFuZ3ovZWRrMi9ibG9iL0VD X1Vwc3RyZWFtL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9QZW0vQ3J5cHRQZW0uYyNM MTU2DQoNCkkgdGhpbmsgd2UgbWF5IG5lZWQgQktNIG9uICJob3cgdG8gZGlzYWJsZSBFQyIuDQoN ClRoYW5rIHlvdQ0KWWFvLCBKaWV3ZW4NCg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+IEZyb206IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4N Cj4gU2VudDogV2VkbmVzZGF5LCBPY3RvYmVyIDEyLCAyMDIyIDk6MjUgQU0NCj4gVG86IFlhbywg Smlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBLaW5u ZXksDQo+IE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+IENjOiBXYW5n LCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IEx1LCBYaWFveXUxDQo+IDx4aWFveXUx Lmx1QGludGVsLmNvbT47IEppYW5nLCBHdW9taW4gPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+Ow0K PiBadXJjaGVyLCBDaHJpc3RvcGhlciA8Y2hyaXN0b3BoZXIuenVyY2hlckBtaWNyb3NvZnQuY29t PjsgUmViZWNjYSBDcmFuDQo+IDxxdWljX3JjcmFuQHF1aWNpbmMuY29tPjsgQXJkIEJpZXNoZXV2 ZWwgPGFyZGJAa2VybmVsLm9yZz4NCj4gU3ViamVjdDogUkU6IFtQYXRjaCAwMC8xMl0gQ3J5cHRv UGtnOiBSZW1vdmUgRUMgUENEIGFuZCBtZXJnZSBwZXJmIG9wdA0KPiBPcGVuc3NsTGlicw0KPiAN Cj4gSGkgSmlld2VuLA0KPiANCj4gQ29tbWVudHMgYmVsb3cuDQo+IA0KPiBNaWtlDQo+IA0KPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogWWFvLCBKaWV3ZW4gPGppZXdl bi55YW9AaW50ZWwuY29tPg0KPiA+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMTEsIDIwMjIgNjow OSBQTQ0KPiA+IFRvOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20+Ow0KPiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+IENjOiBXYW5nLCBKaWFuIEogPGppYW4u ai53YW5nQGludGVsLmNvbT47IEx1LCBYaWFveXUxDQo+IDx4aWFveXUxLmx1QGludGVsLmNvbT47 IEppYW5nLCBHdW9taW4gPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+Ow0KPiBadXJjaGVyLA0KPiA+ IENocmlzdG9waGVyIDxjaHJpc3RvcGhlci56dXJjaGVyQG1pY3Jvc29mdC5jb20+OyBSZWJlY2Nh IENyYW4NCj4gPHF1aWNfcmNyYW5AcXVpY2luYy5jb20+OyBBcmQgQmllc2hldXZlbCA8YXJkYkBr ZXJuZWwub3JnPg0KPiA+IFN1YmplY3Q6IFJFOiBbUGF0Y2ggMDAvMTJdIENyeXB0b1BrZzogUmVt b3ZlIEVDIFBDRCBhbmQgbWVyZ2UgcGVyZiBvcHQNCj4gT3BlbnNzbExpYnMNCj4gPg0KPiA+IFRo YW5rIHlvdSBNaWtlLg0KPiA+DQo+ID4gMSkgSSBsaWtlIHRoZSBpZGVhIHRvIGNvbWJpbmUgbXVs dGlwbGUgT3BlbnNzbExpYklBMzIvWDY0LmluZiBpbnRvIG9uZQ0KPiBPcGVuc3NsTGliQWNjZWwu aW5mLg0KPiA+IEFsc28gdGhlIGNsZWFudXAgbG9va3MgZ29vZCB0byBtZS4NCj4gPg0KPiA+IDIp IEkgYWxzbyBsaWtlIHRoZSBzdW1tYXJ5IGluIHJlYWRtZSBpbg0KPiA+DQo+IGh0dHBzOi8vZ2l0 aHViLmNvbS9tZGtpbm5leS9lZGsyL3RyZWUvQ3J5cHRvUGtnX1JlbW92ZUVjUGNkX01lcmdlDQo+ IE9wdGltaXplZE9wZW5zc2xMaWJzL0NyeXB0b1BrZw0KPiA+IEkgbm90aWNlIHNvbWUgYWxnb3Jp dGhtcyBhcmUgbGlzdGVkIFkoRGVwcmVjYXRlZCkgYnV0IE4oRG9uJ3QgVXNlKSwgc3VjaA0KPiBh cyBUZGVzLCBBcmM0LCBBZXMuRWNiKi4NCj4gPiBCdXQgSSBkb27igJl0IHNlZSB0aGUgdXNlIGNh c2UgZm9yIHRob3NlIGFsZ29yaXRobXMgYW5kIEkgc3VnZ2VzdCBhDQo+IFkoRGVwcmVjYXRlZCkg aGF2ZSBZKERvbid0IFVzZSkuDQo+IA0KPiBHb29kIGNhdGNoLiAgSSB3aWxsIGZpeC4NCj4gDQo+ ID4NCj4gPiAzKSBBYm91dCBQY2RPcGVuc3NsRWNFbmFibGVkDQo+ID4gSSBub3RpY2UgaXQgaXMg dXNlZCBpbiBleGlzdGluZyBjb2RlIC0NCj4gPg0KPiBodHRwczovL2dpdGh1Yi5jb20vbWRraW5u ZXkvZWRrMi9ibG9iL0NyeXB0b1BrZ19SZW1vdmVFY1BjZF9NZXJnZQ0KPiBPcHRpbWl6ZWRPcGVu c3NsTGlicy9DcnlwdG9Qa2cvTGlicmFyeS9UbHNMaWIvVGxzQ29uZmlnLmMjTDExDQo+ID4gMzkN Cj4gPiBJcyB0aGlzIHJpZ2h0IHdheT8NCj4gDQo+IFRoaXMgd2FzIGFkZGVkIHNpbmNlIEkgc3Rh cnRlZCB0aGlzIHdvcmsgYW5kIHdhcyBhZGRlZCBiYWNrIGluIGJ5IHJlYmFzZS4gIEkNCj4gd2ls bCBmaXguDQo+IFdlIGNhbiBqdXN0IHJlbW92ZSB0aGUgY2hlY2sgZm9yIHRoZSBQQ0QuICBJZiB0 aGUgT3BlbnNzbExpYiBpbnN0YW5jZSBkb2VzDQo+IG5vdCBpbmNsdWRlDQo+IFNTTCBzZXJ2aWNl cywgdGhlbiB0aGUgTnVsbCBTU0wgc2VydmljZXMgYXJlIHByZXNlbnQgYW5kIHRoZSBjYWxsIHRv IFNTTF9jdHJsKCkNCj4gd2lsbA0KPiByZXR1cm4gMCB3aGljaCB3aWxsIGZvcmNlIFRsc1NldEVj Q3VydmUoKSB0byByZXR1cm4gRUZJX1VOU1VQUE9SVEVELiAgSXQNCj4gd2lsbCBhbHNvDQo+IEFT U0VSVCgpIGluZm9ybWluZyB0aGUgZGV2ZWxvcGVyIHRoYXQgYSBjYWxsIHRvIGEgc2VydmljZSB0 aGF0IGRlcGVuZHMgb24NCj4gU1NMIHdhcyBtYWRlDQo+IHdpdGhvdXQgU1NMIHNlcnZpY2VzIGF2 YWlsYWJsZS4NCj4gDQo+IGxvbmcNCj4gU1NMX2N0cmwgKA0KPiAgIFNTTCAgICpzc2wsDQo+ICAg aW50ICAgY21kLA0KPiAgIGxvbmcgIGxhcmcsDQo+ICAgdm9pZCAgKnBhcmcNCj4gICApDQo+IHsN Cj4gICBBU1NFUlQgKEZBTFNFKTsNCj4gICByZXR1cm4gMDsNCj4gfQ0KPiANCj4gTGlrZXdpc2Us IGlmIHRoZSBPcGVuc3NsTGliIGluc3RhbmNlIGRvZXMgbm90IHN1cHBvcnQgRUMgc2VydmljZXMs IHRoZW4gdGhlDQo+IE51bGwNCj4gRUMgc2VydmljZXMgd2lsbCBiZSBpbmNsdWRlZCBhbmQgdGhl IGNhbGwgdG8gRUNfS0VZX25ld19ieV9jdXJ2ZV9uYW1lKCkNCj4gd2lsbA0KPiByZXR1cm4gTlVM TCB3aGljaCB3aWxsIGZvcmNlIFRsc1NldEVjQ3VydmUoKSB0byByZXR1cm4gRUZJX1VOU1VQUE9S VEVELiBJdA0KPiB3aWxsIGFsc28NCj4gQVNTRVJUKCkgaW5mb3JtaW5nIHRoZSBkZXZlbG9wZXIg dGhhdCBhIGNhbGwgdG8gYSBzZXJ2aWNlIHRoYXQgZGVwZW5kcyBvbiBFQw0KPiB3YXMgbWFkZQ0K PiB3aXRob3V0IEVDIHNlcnZpY2VzIGF2YWlsYWJsZS4NCj4gDQo+IEVDX0tFWSAqDQo+IEVDX0tF WV9uZXdfYnlfY3VydmVfbmFtZSAoDQo+ICAgaW50ICBuaWQNCj4gICApDQo+IHsNCj4gICBBU1NF UlQgKEZBTFNFKTsNCj4gICByZXR1cm4gTlVMTDsNCj4gfQ0KPiANCj4gPg0KPiA+IFRoYW5rIHlv dQ0KPiA+IFlhbywgSmlld2VuDQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4gPiBGcm9tOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20+DQo+ID4gPiBTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDExLCAyMDIyIDExOjA0IFBNDQo+ID4g PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+IENjOiBZYW8sIEppZXdlbiA8amlld2Vu Lnlhb0BpbnRlbC5jb20+OyBXYW5nLCBKaWFuIEoNCj4gPiA+IDxqaWFuLmoud2FuZ0BpbnRlbC5j b20+OyBMdSwgWGlhb3l1MSA8eGlhb3l1MS5sdUBpbnRlbC5jb20+OyBKaWFuZywNCj4gPiA+IEd1 b21pbiA8Z3VvbWluLmppYW5nQGludGVsLmNvbT47IFp1cmNoZXIsIENocmlzdG9waGVyDQo+ID4g PiA8Y2hyaXN0b3BoZXIuenVyY2hlckBtaWNyb3NvZnQuY29tPjsgUmViZWNjYSBDcmFuDQo+ID4g PiA8cXVpY19yY3JhbkBxdWljaW5jLmNvbT47IEFyZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5v cmc+DQo+ID4gPiBTdWJqZWN0OiBbUGF0Y2ggMDAvMTJdIENyeXB0b1BrZzogUmVtb3ZlIEVDIFBD RCBhbmQgbWVyZ2UgcGVyZiBvcHQNCj4gPiA+IE9wZW5zc2xMaWJzDQo+ID4gPg0KPiA+ID4gVGhl IHJlY2VudCBhZGRpdGlvbiBvZiB0aGUgRWNsaXB0aWMgQ3VydmUgKEVDKSBmZWF0dXJlIGFuZCB0 aGUNCj4gcGVyZm9ybWFuY2UNCj4gPiA+IG9wdGltaXphdGlvbiBmZWF0dXJlcyBpbmNyZWFzZWQg dGhlIGNvbXBsZXhpdHkgZm9yIHBsYXRmb3JtcyB0bw0KPiBpbnRlZ3JhdGUNCj4gPiA+IGFuZCBl bmFibGUgdGhlc2UgZmVhdHVyZXMuIFRoaXMgc2VyaWVzIHNpbXBsaWZpZXMgdGhlIHBsYXRmb3Jt DQo+IGNvbmZpZ3VyYXRpb24NCj4gPiA+IGFzIG11Y2ggYXMgcG9zc2libGUgYW5kIGltcHJvdmVz IHRoZSBhYmlsaXR5IHRvIG1hbmFnZSB0aGUgdGhlIHNpemUNCj4gaW1wYWN0DQo+ID4gPiBvZiBj cnlwdG9ncmFwaGljIHNlcnZpY2VzIGluIGVhY2ggRlcgcGhhc2UuIEEgUmVhZG1lLm1kIGlzIGFs c28gYWRkZWQNCj4gPiA+IHRoYXQNCj4gPiA+IHByb3ZpZGVzIGFuIG92ZXJ2aWV3IG9mIHRoZSBD cnlwdG9Qa2cgZGVzaWduIGFuZCBmZWF0dXJlcyBhbG9uZyB3aXRoDQo+ID4gPiBwbGF0Zm9ybQ0K PiA+ID4gaW50ZWdyYXRpb24gcmVjb21tZW5kYXRpb25zLg0KPiA+ID4NCj4gPiA+IFRoaXMgc2Vy aWVzIGFsc28gYWRkcmVzc2VzIHByaXZhdGUgbGlicmFyeSBjbGFzcyBkZWNsYXJhdGlvbnMgbWlz c2luZyBmcm9tDQo+ID4gPiBDcnlwdG9Qa2cuZGVjIGFuZCBsaWJyYXJ5IGluc3RhbmNlcyBub3Qg cHJvZHVjaW5nIGFsbCB0aGUgQVBJcyBkZWZpbmVkDQo+ID4gPiBieSB0aGUgbGlicmFyeSBjbGFz c2VzLiBBIHJldmlldyBvZiB0aGUgQ3J5cHRvUGtnIEVESyBJSSBtZXRhIGRhdGEgZmlsZXMNCj4g PiA+IGlkZW50aWZpZWQNCj4gPiA+IGEgbnVtYmVyIG9mIGFkZGl0aW9uYWwgY2xlYW51cHMuIFRo ZSBDcnlwdG9Qa2cuZHNjIGZpbGUgd2FzIGFsc28NCj4gdXBkYXRlZCB0bw0KPiA+ID4gaW1wcm92 ZSBDSSBjb3ZlcmFnZSBmb3IgZnV0dXJlIENyeXB0b1BrZyBjaGFuZ2VzIGFuZCBpZGVudGlmaWVk IHNvbWUNCj4gPiA+IHVuaXQgdGVzdCBidWcgZml4ZXMuDQo+ID4gPg0KPiA+ID4gUFI6ICAgICBo dHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvcHVsbC8zNDQzDQo+ID4gPiBCcmFuY2g6 DQo+ID4gPg0KPiBodHRwczovL2dpdGh1Yi5jb20vbWRraW5uZXkvZWRrMi90cmVlL0NyeXB0b1Br Z19SZW1vdmVFY1BjZF9NZXJnZQ0KPiA+ID4gT3B0aW1pemVkT3BlbnNzbExpYnMNCj4gPiA+IFJl YWRtZToNCj4gPiA+DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS9tZGtpbm5leS9lZGsyL2Jsb2IvQ3J5 cHRvUGtnX1JlbW92ZUVjUGNkX01lcmdlDQo+ID4gPiBPcHRpbWl6ZWRPcGVuc3NsTGlicy9Dcnlw dG9Qa2cvUmVhZG1lLm1kDQo+ID4gPg0KPiA+ID4gQ2hhbmdlIFN1bW1hcnkNCj4gPiA+ID09PT09 PT09PT09PT09DQo+ID4gPiAqIERvY3VtZW50IGRpc2FibGVkL2RlcHJlY2F0ZWQgY3J5cHRvZ3Jh cGhpYyBzZXJ2aWNlcw0KPiA+ID4gKiBBZGQgbWlzc2luZyBVTkkgZmlsZXMgaW4gQmFzZUNyeXB0 TGliDQo+ID4gPiAqIFVwZGF0ZSBCYXNlQ3J5cHRMaWIgaW50ZXJuYWwgZnVuY3Rpb25zIHRvIGJl IFNUQVRJQyBhbmQgcmVtb3ZlDQo+IEVGSUFQSQ0KPiA+ID4gKiBBZGQgR0xPQkFMX1JFTU9WRV9J Rl9VTlJFRkVSRU5DRUQgdG8gQmFzZUNyeXB0TGliIGdsb2JhbA0KPiA+ID4gdmFyaWFibGVzDQo+ ID4gPiAqIEZpeCBCYXNlQ3J5cHRMaWIgdW5pdCB0ZXN0cw0KPiA+ID4gKiBDbGVhbnVwIEJhc2VD cnlwdExpYiBhbmQgVGxzTGliIElORiBmaWxlcyBhbmQNCj4gPiA+ICogTW92ZSBTeXNDYWxsL2lu ZXRfcHRvbi5jIGZyb20gQmFzZUNyeXB0TGliIHRvIFRsc0xpYiB0aGF0IHVzZXMgaXQuDQo+ID4g PiAqIE1lcmdlIDQgcGVyZm9ybWFuY2Ugb3B0aW1pemVkIElORnMgaW50byBPcGVuc3NsTGliKkFj Y2VsLmluZg0KPiA+ID4gKiBSZW1vdmUgdXNlIG9mIFBjZE9wZW5zc2xFY0VuYWJsZWQgYW5kIHVz ZSBPcGVuc3NsTGliRnVsbCouaW5mDQo+IGluc3RlYWQNCj4gPiA+ICogQWRkIE9wZW5zc2xMaWIg YW5kIEludHJpbnNpY0xpYiB0byBDcnlwdG9Qa2cuZGVjIGFzIHByaXZhdGUgbGlicmFyeQ0KPiBj bGFzc2VzDQo+ID4gPiAqIFVwZGF0ZSBhbGwgT3BlbnNzbExpYiBpbnN0YW5jZXMgdG8gYWx3YXlz IHByb2R1Y2UgYWxsIEFQSXMgaW4NCj4gT3BlbnNzbExpYg0KPiA+ID4gY2xhc3MNCj4gPiA+ICog TW92ZSBQcmludExpYiBkZXBlbmRlbmN5IGZyb20gT3BlbnNzbExpYiBJTkYgZmlsZXMgdG8gQmFz ZUNyeXB0TGliDQo+IElORg0KPiA+ID4gZmlsZXMNCj4gPiA+ICogVXBkYXRlIENyeXB0b1BrZy5k c2MgZmlsZXMgdG8gcHJvdmlkZSBmdWxsIENJIHRlc3QgY292ZXJhZ2UgYWNyb3NzIGFsbA0KPiB0 aGUNCj4gPiA+ICAgIHN1cHBvcnRlZCBjb21iaW5hdGlvbnMgb2YgT3BlbnNzbExpYiwgQmFzZUNy eXB0TGliLCBhbmQgVGxzTGliDQo+IGluc3RhbmNlcy4NCj4gPiA+ICogUmVtb3ZlIFBBQ0tBR0Ug cHJvZmlsZSBmcm9tIENyeXB0b1BrZy5kc2MgYW5kIGFkZA0KPiA+ID4gVEFSR0VUX1VOSVRfVEVT VFMNCj4gPiA+ICAgcHJvZmlsZS4gIEFkZGluZyBUQVJHRVRfVU5JVF9URVNUUyBwcm9maWxlIGlz IHJlcXVpcmVkIHRvIHByZXZlbnQgYQ0KPiBmZXcNCj4gPiA+IHVuaXQNCj4gPiA+ICAgdGVzdCBh cnRpZmFjdHMgYmVpbmcgaW5jbHVkZWQgaW4gbm9uIHVuaXQgdGVzdCBidWlsZHMgb2YgY29tcG9u ZW50cy4NCj4gPiA+ICogQWRkIENyeXB0b1BrZyBSZWFkbWUubWQgd2l0aCBvdmVydmlldyBhbmQg cGxhdGZvcm0gaW50ZWdyYXRpb24NCj4gPiA+IGRldGFpbHMuDQo+ID4gPiAqIFVwZGF0ZSBob3N0 LWJhc2VkIHVuaXQgdGVzdHMgdG8gYWx3YXlzIHVzZSBPcGVuc3NsTGliRnVsbC5pbmYgYW5kIGFk ZA0KPiA+ID4gdW5pdA0KPiA+ID4gICB0ZXN0IGNvdmVyYWdlIGZvciBPcGVuc3NsTGliRnVsbEFj Y2VsLmluZi4NCj4gPiA+ICogQWRkIFJlYWRtZS5tZCB3aXRoIENyeXB0b1BrZyBvdmVydmlldyBh bmQgcGxhdGZvcm0gaW50ZWdyYXRpb24NCj4gPiA+ICAgZG9jdW1lbnRhdGlvbg0KPiA+ID4NCj4g PiA+IENjOiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiA+IENjOiBKaWFu IEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiA+ID4gQ2M6IFhpYW95dSBMdSA8eGlh b3l1MS5sdUBpbnRlbC5jb20+DQo+ID4gPiBDYzogR3VvbWluIEppYW5nIDxndW9taW4uamlhbmdA aW50ZWwuY29tPg0KPiA+ID4gQ2M6IENocmlzdG9waGVyIFp1cmNoZXIgPGNocmlzdG9waGVyLnp1 cmNoZXJAbWljcm9zb2Z0LmNvbT4NCj4gPiA+IENjOiBSZWJlY2NhIENyYW4gPHF1aWNfcmNyYW5A cXVpY2luYy5jb20+DQo+ID4gPiBDYzogQXJkIEJpZXNoZXV2ZWwgPGFyZGJAa2VybmVsLm9yZz4N Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlA aW50ZWwuY29tPg0KPiA+ID4NCj4gPiA+IE1pY2hhZWwgRCBLaW5uZXkgKDEyKToNCj4gPiA+ICAg Q3J5cHRvUGtnOiBEb2N1bWVudCBhbmQgZGlzYWJsZSBkZXByZWNhdGVkIGNyeXB0byBzZXJ2aWNl cw0KPiA+ID4gICBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWI6IEFkZCBtaXNzaW5nIFVO SSBmaWxlIGFuZCBmaXggZm9ybWF0DQo+ID4gPiAgIENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlw dExpYjogVXBkYXRlIGludGVybmFsIGZ1bmN0aW9ucy92YXJpYWJsZXMNCj4gPiA+ICAgQ3J5cHRv UGtnL1Rlc3QvVW5pdFRlc3QvTGlicmFyeS9CYXNlQ3J5cHRMaWI6IFVuaXQgdGVzdCBmaXhlcw0K PiA+ID4gICBDcnlwdG9Qa2cvTGlicmFyeTogQ2xlYW51cCBCYXNlQ3J5cHRMaWIgYW5kIFRsc0xp Yg0KPiA+ID4gICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliOiBDb21iaW5lIGFsbCBwZXJm b3JtYW5jZSBvcHRpbWl6ZWQNCj4gSU5Gcw0KPiA+ID4gICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVu c3NsTGliOiBQcm9kdWNlIGNvbnNpc3RlbnQgc2V0IG9mIEFQSXMNCj4gPiA+ICAgQ3J5cHRvUGtn L0xpYnJhcnkvT3BlbnNzbExpYjogUmVtb3ZlIFByaW50TGliIGZyb20gSU5GIGZpbGVzDQo+ID4g PiAgIENyeXB0b1BrZzogUmVtb3ZlIFBjZE9wZW5zc2xFY0VuYWJsZWQgZnJvbSBDcnlwdG9Qa2cu ZGVjDQo+ID4gPiAgIENyeXB0b1BrZzogVXBkYXRlIERTQyB0byBpbXByb3ZlIENJIHRlc3QgY292 ZXJhZ2UNCj4gPiA+ICAgQ3J5cHRvUGtnOiBGaXhlZCBob3N0LWJhc2VkIHVuaXQgdGVzdHMNCj4g PiA+ICAgQ3J5cHRvUGtnOiBBZGQgUmVhZG1lLm1kDQo+ID4gPg0KPiA+ID4gIENyeXB0b1BrZy9D cnlwdG9Qa2cuY2kueWFtbCAgICAgICAgICAgICAgICAgICB8ICAxMSArLQ0KPiA+ID4gIENyeXB0 b1BrZy9DcnlwdG9Qa2cuZGVjICAgICAgICAgICAgICAgICAgICAgICB8ICA0MiArLQ0KPiA+ID4g IENyeXB0b1BrZy9DcnlwdG9Qa2cuZHNjICAgICAgICAgICAgICAgICAgICAgICB8IDQ2MCArKysr KysrKystLS0NCj4gPiA+ICAuLi4vUGNkL1BjZENyeXB0b1NlcnZpY2VGYW1pbHlFbmFibGUuaCAg ICAgICAgfCAxMjIgKy0tDQo+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL0Jhc2VDcnlw dExpYi5pbmYgICAgIHwgIDEwICstDQo+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL0Jh c2VDcnlwdExpYi51bmkgICAgIHwgICAyIC0NCj4gPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRM aWIvSG1hYy9DcnlwdEhtYWMuYyAgICAgfCAgIDcgKw0KPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VD cnlwdExpYi9LZGYvQ3J5cHRIa2RmLmMgICAgICB8ICAgNSArLQ0KPiA+ID4gIC4uLi9MaWJyYXJ5 L0Jhc2VDcnlwdExpYi9QZWlDcnlwdExpYi5pbmYgICAgICB8ICAgOCArLQ0KPiA+ID4gIC4uLi9M aWJyYXJ5L0Jhc2VDcnlwdExpYi9QZWlDcnlwdExpYi51bmkgICAgICB8ICAgMiAtDQo+ID4gPiAg Li4uL0Jhc2VDcnlwdExpYi9Qay9DcnlwdEF1dGhlbnRpY29kZS5jICAgICAgIHwgICAyICstDQo+ ID4gPiAgLi4uL0Jhc2VDcnlwdExpYi9Qay9DcnlwdFBrY3M3VmVyaWZ5Q29tbW9uLmMgIHwgICAz ICstDQo+ID4gPiAgLi4uL0Jhc2VDcnlwdExpYi9Qay9DcnlwdFBrY3M3VmVyaWZ5RWt1LmMgICAg IHwgICAzICsNCj4gPiA+ICBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvUGsvQ3J5cHRU cy5jICAgfCAgNDQgKy0NCj4gPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvUnVudGltZUNy eXB0TGliLmluZiAgfCAgIDkgKy0NCj4gPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvUnVu dGltZUNyeXB0TGliLnVuaSAgfCAgIDIgLQ0KPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExp Yi9TZWNDcnlwdExpYi5pbmYgICAgICB8ICAxMyArLQ0KPiA+ID4gIC4uLi97U21tQ3J5cHRMaWIu dW5pID0+IFNlY0NyeXB0TGliLnVuaX0gICAgICB8ICAxMSArLQ0KPiA+ID4gIC4uLi9MaWJyYXJ5 L0Jhc2VDcnlwdExpYi9TbW1DcnlwdExpYi5pbmYgICAgICB8ICAxMiAtDQo+ID4gPiAgLi4uL0xp YnJhcnkvQmFzZUNyeXB0TGliL1NtbUNyeXB0TGliLnVuaSAgICAgIHwgICAyIC0NCj4gPiA+ICAu Li4vQmFzZUNyeXB0TGliL1VuaXRUZXN0SG9zdEJhc2VDcnlwdExpYi5pbmYgfCAgMjIgKy0NCj4g PiA+ICAuLi4vTGlicmFyeS9JbmNsdWRlL29wZW5zc2wvb3BlbnNzbGNvbmYuaCAgICAgfCAzMjgg KysrKysrKy0NCj4gPiA+ICAuLi4vSW5jbHVkZS9vcGVuc3NsL29wZW5zc2xjb25mX2dlbmVyYXRl ZC5oICAgfCAzMzMgLS0tLS0tLS0tDQo+ID4gPiAgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExp Yi9FY1NtMk51bGwuYyAgICAgIHwgMjkxICsrKysrKysrDQo+ID4gPiAgQ3J5cHRvUGtnL0xpYnJh cnkvT3BlbnNzbExpYi9PcGVuc3NsTGliLmluZiAgIHwgMTMzICsrLS0NCj4gPiA+ICBDcnlwdG9Q a2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWIudW5pICAgfCAgMTAgKy0NCj4gPiA+ICAu Li5uc3NsTGliSWEzMkdjYy5pbmYgPT4gT3BlbnNzbExpYkFjY2VsLmluZn0gfCAxODkgKysrLS0N Cj4gPiA+ICAuLi4vTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJBY2NlbC51bmkgICAgfCAg MTQgKw0KPiA+ID4gIC4uLi9PcGVuc3NsTGliL09wZW5zc2xMaWJDb25zdHJ1Y3Rvci5jICAgICAg ICB8ICAgNiArLQ0KPiA+ID4gIC4uLi9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYkNyeXB0 by5pbmYgICB8IDE4NSArKystLQ0KPiA+ID4gIC4uLi9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNz bExpYkNyeXB0by51bmkgICB8ICAxMSArLQ0KPiA+ID4gIC4uLi97T3BlbnNzbExpYi5pbmYgPT4g T3BlbnNzbExpYkZ1bGwuaW5mfSAgICB8IDE0MyArKy0tDQo+ID4gPiAgLi4uL3tPcGVuc3NsTGli LnVuaSA9PiBPcGVuc3NsTGliRnVsbC51bml9ICAgIHwgIDEwICstDQo+ID4gPiAgLi4uc3NsTGli SWEzMi5pbmYgPT4gT3BlbnNzbExpYkZ1bGxBY2NlbC5pbmZ9IHwgMTkyICsrKy0tDQo+ID4gPiAg Li4uL09wZW5zc2xMaWIvT3BlbnNzbExpYkZ1bGxBY2NlbC51bmkgICAgICAgIHwgIDE0ICsNCj4g PiA+ICAuLi4vTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJYNjQuaW5mICAgICAgfCA3MDYg LS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiAgLi4uL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3Ns TGliWDY0R2NjLmluZiAgIHwgNzA2IC0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gIENyeXB0b1Br Zy9MaWJyYXJ5L09wZW5zc2xMaWIvU3NsTnVsbC5jICAgICAgICB8IDQwNSArKysrKysrKysrDQo+ ID4gPiAgLi4uL1N5c0NhbGwvaW5ldF9wdG9uLmMgICAgICAgICAgICAgICAgICAgICAgIHwgICAw DQo+ID4gPiAgQ3J5cHRvUGtnL0xpYnJhcnkvVGxzTGliL1Rsc0NvbmZpZy5jICAgICAgICAgIHwg ICAyICstDQo+ID4gPiAgQ3J5cHRvUGtnL0xpYnJhcnkvVGxzTGliL1Rsc0xpYi5pbmYgICAgICAg ICAgIHwgIDEyICstDQo+ID4gPiAgQ3J5cHRvUGtnL1ByaXZhdGUvTGlicmFyeS9JbnRyaW5zaWNM aWIuaCAgICAgIHwgIDE2ICsNCj4gPiA+ICBDcnlwdG9Qa2cvUHJpdmF0ZS9MaWJyYXJ5L09wZW5z c2xMaWIuaCAgICAgICAgfCAgMTQgKw0KPiA+ID4gIENyeXB0b1BrZy9SZWFkbWUubWQgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IDQ5OCArKysrKysrKysrKysNCj4gPiA+ICBDcnlwdG9Qa2cv VGVzdC9DcnlwdG9Qa2dIb3N0VW5pdFRlc3QuZHNjICAgICAgfCAgMTcgKy0NCj4gPiA+ICAuLi4v VW5pdFRlc3QvTGlicmFyeS9CYXNlQ3J5cHRMaWIvSG1hY1Rlc3RzLmMgfCAgMTcgKy0NCj4gPiA+ ICAuLi4vVW5pdFRlc3QvTGlicmFyeS9CYXNlQ3J5cHRMaWIvVFNUZXN0cy5jICAgfCAgIDIgKy0N Cj4gPiA+ICAuLi4vVGVzdEJhc2VDcnlwdExpYkhvc3RBY2NlbC5pbmYgICAgICAgICAgICAgfCAg NTUgKysNCj4gPiA+ICA0OCBmaWxlcyBjaGFuZ2VkLCAyNjY3IGluc2VydGlvbnMoKyksIDI0MzQg ZGVsZXRpb25zKC0pDQo+ID4gPiAgY29weSBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIv e1NtbUNyeXB0TGliLnVuaSA9Pg0KPiA+ID4gU2VjQ3J5cHRMaWIudW5pfSAoNzQlKQ0KPiA+ID4g IGRlbGV0ZSBtb2RlIDEwMDY0NA0KPiA+ID4gQ3J5cHRvUGtnL0xpYnJhcnkvSW5jbHVkZS9vcGVu c3NsL29wZW5zc2xjb25mX2dlbmVyYXRlZC5oDQo+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENy eXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvRWNTbTJOdWxsLmMNCj4gPiA+ICByZW5hbWUgQ3J5 cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi97T3BlbnNzbExpYklhMzJHY2MuaW5mID0+DQo+ID4g PiBPcGVuc3NsTGliQWNjZWwuaW5mfSAoNzklKQ0KPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJBY2NlbC51bmkNCj4gPiA+ ICBjb3B5IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIve09wZW5zc2xMaWIuaW5mID0+DQo+ IE9wZW5zc2xMaWJGdWxsLmluZn0NCj4gPiA+ICg4MCUpDQo+ID4gPiAgY29weSBDcnlwdG9Qa2cv TGlicmFyeS9PcGVuc3NsTGliL3tPcGVuc3NsTGliLnVuaSA9Pg0KPiBPcGVuc3NsTGliRnVsbC51 bml9DQo+ID4gPiAoNTYlKQ0KPiA+ID4gIHJlbmFtZSBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3Ns TGliL3tPcGVuc3NsTGliSWEzMi5pbmYgPT4NCj4gPiA+IE9wZW5zc2xMaWJGdWxsQWNjZWwuaW5m fSAoNzklKQ0KPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ID4gQ3J5cHRvUGtnL0xpYnJh cnkvT3BlbnNzbExpYi9PcGVuc3NsTGliRnVsbEFjY2VsLnVuaQ0KPiA+ID4gIGRlbGV0ZSBtb2Rl IDEwMDY0NCBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJYNjQuaW5mDQo+ ID4gPiAgZGVsZXRlIG1vZGUgMTAwNjQ0DQo+IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIv T3BlbnNzbExpYlg2NEdjYy5pbmYNCj4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ3J5cHRvUGtn L0xpYnJhcnkvT3BlbnNzbExpYi9Tc2xOdWxsLmMNCj4gPiA+ICByZW5hbWUgQ3J5cHRvUGtnL0xp YnJhcnkve0Jhc2VDcnlwdExpYiA9PiBUbHNMaWJ9L1N5c0NhbGwvaW5ldF9wdG9uLmMNCj4gPiA+ ICgxMDAlKQ0KPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBDcnlwdG9Qa2cvUHJpdmF0ZS9MaWJy YXJ5L0ludHJpbnNpY0xpYi5oDQo+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENyeXB0b1BrZy9Q cml2YXRlL0xpYnJhcnkvT3BlbnNzbExpYi5oDQo+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENy eXB0b1BrZy9SZWFkbWUubWQNCj4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+DQo+IENy eXB0b1BrZy9UZXN0L1VuaXRUZXN0L0xpYnJhcnkvQmFzZUNyeXB0TGliL1Rlc3RCYXNlQ3J5cHRM aWJIb3N0QWNjZWwuaQ0KPiA+ID4gbmYNCj4gPiA+DQo+ID4gPiAtLQ0KPiA+ID4gMi4zNy4xLndp bmRvd3MuMQ0KDQo=