From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web11.15418.1665537879751278763 for ; Tue, 11 Oct 2022 18:24:40 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=AjiIQvGx; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665537879; x=1697073879; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=N3wyzlStyt//TRLzhaUu8L7c2Q2wj6xsyLjJT7ibFL8=; b=AjiIQvGxaF8/3eV7VZ9A9MYxuO8SE7FiVxSuB1G3mlSXCrpDH8eA6Wrc hGY6k9NL4VAqLllcWAA4sI8HZPll/xyO68euLxn0Owq6Eeo0cjdjCLZ+H FiWLA9svDngBngMeztsMAhtj2/vMaM0cp3SM/2S9kC3ncEuG923CpV34/ 7D7u0Oowsj33PANAd9bsFyibsPG5lbO3kwQXFQTfnSpQJTIk7PXiO8Khj nQ/b+m4dGqPHa7Ou5ngDuGu57C93l0xdIYfihbcj2Mq1Q8Qw2+KVCM0IP CPxfolG6iSB8KnVsSMzfOkIrxpfczSU4RTimoJFEYMtzJD8ndJLPZFOFZ g==; X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="303406812" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="303406812" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Oct 2022 18:24:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="731216486" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="731216486" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga002.fm.intel.com with ESMTP; 11 Oct 2022 18:24:38 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) 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:24:38 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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 18:24:38 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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 via Frontend Transport; Tue, 11 Oct 2022 18:24:38 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.43) by edgegateway.intel.com (134.134.137.102) 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:24:37 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WEONd7ND8rPvq2ycgjP18lukoqW7sChoR8BAbNAl5A4Us0ZgaoXaKBcxH5RLxtyYhj5kIwYUyUpZQ5bOUaZSj6KLFopkozRFRXV0ig8AGT6tBigaIcVR8hyFhxK2fCEDZ6vbG1KBk29vr/LeOiWe9G+SA2UhDhxCXr30Xkd//fmgQqFkdI87xq2WzBDb88Xl2+3ffmZLF+sQHrc6yhJPHNHM7HIj6AQwqgkALP6qVLvbFCBGkIwojjG9sxldDfCfN6Q6b43XzJK2XhPg9Lu4U2L3ymDapAKeIDq+pku8odOR/KZ/tgtb9V4kMDbYrwhaJPUurBfh5u8GR7kRK/n6uw== 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=N3wyzlStyt//TRLzhaUu8L7c2Q2wj6xsyLjJT7ibFL8=; b=LxtgRC2h5xOce5vi4l4szR0K6e3UcZA4N7qsYuUze+MBROLVk8UlHa16ZRNHo3SXTfSLztYVEbHTLFm7x+YEfqueoMgpcix9OutTxqGOOfSNylNH+d2n8yUFrZu8ATRpJC2BsmowN/UqwGSHkSyP1usJkHcbLIVN14meJdBWzFAvhQZ4qX8/LbtpQBo5e8L52BfA5Upc2bxXM7gm5/DgJ8JZHt3rUptNx8cEt0WwKrJClSUKG2brrrK4ujzkb8Q2pAFJUdTT8H7/IUXvoccr2bjmhSKkXIYx0H2N9LKXgNrBmrYha/hCc0vRiLBY5q+OLq1KmaJO31fo9p1yXK5C1Q== 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 CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by CO1PR11MB5105.namprd11.prod.outlook.com (2603:10b6:303:9f::7) 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 01:24:30 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::ce64:b1b4:e087:4cc2]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::ce64:b1b4:e087:4cc2%8]) with mapi id 15.20.5709.021; Wed, 12 Oct 2022 01:24:30 +0000 From: "Michael D Kinney" To: "Yao, Jiewen" , "devel@edk2.groups.io" , "Kinney, Michael D" 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: AQHY3dc2qMxyYbLpsU+2G9M3T1rE6q4J84MQ Date: Wed, 12 Oct 2022 01:24:30 +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-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.500.17 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: CO1PR11MB4929:EE_|CO1PR11MB5105:EE_ x-ms-office365-filtering-correlation-id: 1958566f-5e0a-4656-5091-08daabf08317 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: hnG1zJ0CnikDrXASN8KSZ9tYh2B9JzKluVMZ01nMTeGi986rdN4hYtcCr3RYFxfmX8/K1YSPriIGYjBOkd/7b1rTwpUV/UNjBJf+K2XSkoOKPoZ/+dpZ5B6vWSKks032JbFoN5JOntrrojjFdOiJjYx4BHL3X1ivWqQnKeOKj9hk4WNkXvB0+j2/8iy2Wj1VtX3a43PymjE7dFYskKltGLmwgPI4pj6Vc+1mauvqSzFo+FkdL09p7w8ezNLzyAZhQXxrOmhg7qOX1qtCI+8m1DZoF2UFcCtX8P+Rtw3XzsqANuPh0JXtXeS2UbYLRoklrtmUfesDeEUszpA0S3Y3ZpjURdPryOkfnZ/ocjTv7boQbZGVQtvly6POxLvBP+/t8WbfYvBPSs17TYkr/h8Bi/cqySF8s9jJJI0DehlYN6HBXkvkDa8uEODOaPYIqWD5QY66CkOPzQH4ZiIcRjvpSBoVcnHC7DlostWRvopU469oLfmY5tu92q3f/TeQBmfzEK+Cjn9mKI7V8jB/K0DSsXx4waUlimdKF9cKd9Qijmb3IQ+QEVSe0QLcG1inVFKsfGAi08/vKjWF4e9l/E6bVsPyxSdPhDg6IQ6z1x4AEmhym1JkNIPt1R9jvCZO01pYXllQ75w713mH4p42cn7N6pWzdcrzAPtAbPsS2iNH/O1nt3p5aW9wN74jorJIPNH7S/YfUEzgqPu5nCBNUWvkxweSjf/9ymTB5gBbfNZmxTarGq8gNxE0ZW1AwIOLsXSfOlZYvzqppLnjSQDSy6pqNYLji3Aj88ECGi5VE2VnJSt2SNcltrP0agMfkiIqMeXdKgI31ucrMV/5mA6YaEbewA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(396003)(366004)(136003)(346002)(376002)(451199015)(5660300002)(2906002)(52536014)(54906003)(30864003)(8936002)(33656002)(19627235002)(478600001)(966005)(82960400001)(122000001)(71200400001)(38100700002)(110136005)(53546011)(7696005)(6506007)(41300700001)(86362001)(26005)(4326008)(76116006)(316002)(8676002)(64756008)(66446008)(66946007)(9686003)(66476007)(66556008)(38070700005)(55016003)(83380400001)(186003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OC9mUzZMWG91a2JYWGd1ZDhiZVZtVW8vaWhKaXJNR2xFay9mUG9ZRmFmb09W?= =?utf-8?B?S3p3aTdoL251dkVqNlEzcERsVnlNYm9lZ3hWRDJyeThWVTQ2NEo3ZzFmZ0lG?= =?utf-8?B?MzJNdVgza0ZNdFdNMHRwb1c5T0JneGJCeUpFdm82Y3JJM2FzR3UzM0MrWWQ4?= =?utf-8?B?Z2FZQXlTeklXNUJLdXRkYVJGdkRhZGdPdTJNTldRejJzejZrS1RicGl2dUNH?= =?utf-8?B?bFZMR2ZyaEhrcmllby8zMW8xaXBEclNyaGhPZTNkVFlzNUpTVjFpVlJzWnEr?= =?utf-8?B?dWZVQ0NzRExGR1dEck9mSWZkRCsrYjM0SnlCaFRoODFSM1ZxK3owRkZ5ZGM0?= =?utf-8?B?VmJIVG5hV3VQaUJldHdjejJGRWdKanA4bU5yaVFWbHZxbjJkQ0NkTmNaamNO?= =?utf-8?B?Z3VUTmI5a05WdEYxdkM4RTM1Rk9tYXdvdVY2d2xQVTBFTGVGSjJ0OUZ3R1RK?= =?utf-8?B?U2Jnek93QmtJcW5PakpPRE8wT1paeHVLUzFVaFVIQU5SaGxWTGZzY01GNGV3?= =?utf-8?B?MEozYk4zdFd5SVU1dm4wWENwcDNRbWFxZlY0VmZMc3lLWW1yTk5OUEdzT2wy?= =?utf-8?B?WDNFS2U1NitCY3BSUmpXZHIxK2VtMjh0K1YxMmlYTS9VUERhaEE2TnF3WDYr?= =?utf-8?B?Lzc3dVdvdVBxRms3eGNKbGNkQ0dIY1NRcHNvMHFrSlBJZGN4RnAveXpKM28v?= =?utf-8?B?QXBBa1N5WldvaE9CeHVhcjJSdXN5dDlqeDdqSGdyRzhtVEN6Vko4NndDcUhi?= =?utf-8?B?NEg3c3I0eXJ5SlJUTnpTZDkvaTdoSzFLL05Lb21EaFNOcys2ZVBIeXFESFhV?= =?utf-8?B?NVNHaTVOV3lKM2FlMFA1ZDM5dzhXK2RNbmtsNjl3N09XQUZja1VuNGhUemV1?= =?utf-8?B?ZDgwZDVzckIrUTJXY0EvT2NoYVlTc1VRdWFxNi9CVlVmd296RDVSWGRHeTZN?= =?utf-8?B?Z0dPeitneFovVXBVQWI5WUw0bFNNaytqaGhoKzBxM3oxa2liNGtTZGpWYUh6?= =?utf-8?B?dlNNTHVzNjIxUWhNRjNUU0ZUdXRFeFZxM0N2ZmI5V29ZNTR6T0pucFB5aGQr?= =?utf-8?B?blNVamxSY2pFT0FnTWRuOU9oNXJkMWtKbUNNZFBXYW56Z1lvUVJud0xybFl6?= =?utf-8?B?S3NJeTkrNXBJSTJNQ2loUkVzSVJud1gvdGxubUZQbVZJOEk2VTFnRVNUdU4y?= =?utf-8?B?cDBoNkNMd0p3Vm5QZVFVZ2thRlBtT1N5bzIrcGNoaFRuejRaWWY3YTFrUU96?= =?utf-8?B?enlaOHFaNVROQU95bVJNc3Uxb3AyNTlDWlZvWmhiM1l6M2lKSVV0YzFYNU82?= =?utf-8?B?cWxSWjN3VEtLYlpScnFlWHcyUHVIMFMxK2l1UGgvT1VDWThNdU9LM0Y0SkRR?= =?utf-8?B?M2tJRWk2K2RHVzlLYXVGVVNTblRQRW5ORFZnYm4xbmRvODFmenhFaTdMaThx?= =?utf-8?B?NTcxdFFLM3VvL1VyWmoyem1XeXJRaCtKK2QvMDE5VytYRkFYSHZJQWp6YTNB?= =?utf-8?B?OFpOTU5PVVUzcEp3S0Rpdk53NThGNzY4emxwU1pMWVBOODRxOEpTaGdvZnJB?= =?utf-8?B?elBmUlBMQ3FpY2dPSTlCMlEyRFYwZEU0REJqellQUy9Db1JJNkJSalpDVCsy?= =?utf-8?B?Z2pWcGdMbnlkL2xNNGZjcW1OTXBvOUJaRSttYks4SFlySzA0R2MvTGFCbXdM?= =?utf-8?B?YWZoUVhSM2VSdndaTi8xbDNDNTA2aGNCUjZNdTdHekpaVXpvUk5NYXB6SklY?= =?utf-8?B?TWxlMVAvaFlFRnAzbnU4M0lvNjlGbjh0YTNraWRpM0FDdVBRWHVQcEdlZmpu?= =?utf-8?B?VmpZcHdpMm8vVlU0YVQvSkpERTFTR2NoWWJhcHhjUnpLL2l5UjNsYStOR0lR?= =?utf-8?B?Tyt3dHN2UWpFUTFHcHZZTUlwK0tHbkpuUlFkVTdkYkRqRVhxcnRhdDJsMWhJ?= =?utf-8?B?MnF6amlqOGQyclVPS0UrZDczVEJOcFpWeFZ6c0pKT3BkbWc2MFpZZitmd245?= =?utf-8?B?bTZ2MzAxajRZZVZ2ZTFFSFloWmpSTU1ZVjFobDVoVDZRV1NUUmRlcWcwUldn?= =?utf-8?B?Qnp4dU9pNUdrQmtxSlhQYWEwcVlqQ0sydHNsVnJuQ2JrVzhSUkxtUHcvTTZL?= =?utf-8?B?S2NhMGw3anZQSkx5OHVtNCs0eUlIMUFRZ0kwMVE5L1lYOVVuUElMaTVTeFN6?= =?utf-8?B?ZXc9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1958566f-5e0a-4656-5091-08daabf08317 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2022 01:24:30.5721 (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: e7HUWY5WfFBhTFDSRA9Ent8vikJsEgxsIF36FAkKZGbtZ4jrp+6eQdepiTKuBkW6vSx6kHoDX4Zuu//vf5soIrmVlkAacs+PsLvjtW5c7n8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB5105 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgSmlld2VuLA0KDQpDb21tZW50cyBiZWxvdy4NCg0KTWlrZQ0KDQo+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+IEZyb206IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4N Cj4gU2VudDogVHVlc2RheSwgT2N0b2JlciAxMSwgMjAyMiA2OjA5IFBNDQo+IFRvOiBLaW5uZXks IE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vw cy5pbw0KPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlh b3l1MSA8eGlhb3l1MS5sdUBpbnRlbC5jb20+OyBKaWFuZywgR3VvbWluIDxndW9taW4uamlhbmdA aW50ZWwuY29tPjsgWnVyY2hlciwNCj4gQ2hyaXN0b3BoZXIgPGNocmlzdG9waGVyLnp1cmNoZXJA bWljcm9zb2Z0LmNvbT47IFJlYmVjY2EgQ3JhbiA8cXVpY19yY3JhbkBxdWljaW5jLmNvbT47IEFy ZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+DQo+IFN1YmplY3Q6IFJFOiBbUGF0Y2ggMDAv MTJdIENyeXB0b1BrZzogUmVtb3ZlIEVDIFBDRCBhbmQgbWVyZ2UgcGVyZiBvcHQgT3BlbnNzbExp YnMNCj4gDQo+IFRoYW5rIHlvdSBNaWtlLg0KPiANCj4gMSkgSSBsaWtlIHRoZSBpZGVhIHRvIGNv bWJpbmUgbXVsdGlwbGUgT3BlbnNzbExpYklBMzIvWDY0LmluZiBpbnRvIG9uZSBPcGVuc3NsTGli QWNjZWwuaW5mLg0KPiBBbHNvIHRoZSBjbGVhbnVwIGxvb2tzIGdvb2QgdG8gbWUuDQo+IA0KPiAy KSBJIGFsc28gbGlrZSB0aGUgc3VtbWFyeSBpbiByZWFkbWUgaW4NCj4gaHR0cHM6Ly9naXRodWIu Y29tL21ka2lubmV5L2VkazIvdHJlZS9DcnlwdG9Qa2dfUmVtb3ZlRWNQY2RfTWVyZ2VPcHRpbWl6 ZWRPcGVuc3NsTGlicy9DcnlwdG9Qa2cNCj4gSSBub3RpY2Ugc29tZSBhbGdvcml0aG1zIGFyZSBs aXN0ZWQgWShEZXByZWNhdGVkKSBidXQgTihEb24ndCBVc2UpLCBzdWNoIGFzIFRkZXMsIEFyYzQs IEFlcy5FY2IqLg0KPiBCdXQgSSBkb27igJl0IHNlZSB0aGUgdXNlIGNhc2UgZm9yIHRob3NlIGFs Z29yaXRobXMgYW5kIEkgc3VnZ2VzdCBhIFkoRGVwcmVjYXRlZCkgaGF2ZSBZKERvbid0IFVzZSku DQoNCkdvb2QgY2F0Y2guICBJIHdpbGwgZml4Lg0KDQo+IA0KPiAzKSBBYm91dCBQY2RPcGVuc3Ns RWNFbmFibGVkDQo+IEkgbm90aWNlIGl0IGlzIHVzZWQgaW4gZXhpc3RpbmcgY29kZSAtDQo+IGh0 dHBzOi8vZ2l0aHViLmNvbS9tZGtpbm5leS9lZGsyL2Jsb2IvQ3J5cHRvUGtnX1JlbW92ZUVjUGNk X01lcmdlT3B0aW1pemVkT3BlbnNzbExpYnMvQ3J5cHRvUGtnL0xpYnJhcnkvVGxzTGliL1Rsc0Nv bmZpZy5jI0wxMQ0KPiAzOQ0KPiBJcyB0aGlzIHJpZ2h0IHdheT8NCg0KVGhpcyB3YXMgYWRkZWQg c2luY2UgSSBzdGFydGVkIHRoaXMgd29yayBhbmQgd2FzIGFkZGVkIGJhY2sgaW4gYnkgcmViYXNl LiAgSSB3aWxsIGZpeC4NCldlIGNhbiBqdXN0IHJlbW92ZSB0aGUgY2hlY2sgZm9yIHRoZSBQQ0Qu ICBJZiB0aGUgT3BlbnNzbExpYiBpbnN0YW5jZSBkb2VzIG5vdCBpbmNsdWRlDQpTU0wgc2Vydmlj ZXMsIHRoZW4gdGhlIE51bGwgU1NMIHNlcnZpY2VzIGFyZSBwcmVzZW50IGFuZCB0aGUgY2FsbCB0 byBTU0xfY3RybCgpIHdpbGwNCnJldHVybiAwIHdoaWNoIHdpbGwgZm9yY2UgVGxzU2V0RWNDdXJ2 ZSgpIHRvIHJldHVybiBFRklfVU5TVVBQT1JURUQuICBJdCB3aWxsIGFsc28NCkFTU0VSVCgpIGlu Zm9ybWluZyB0aGUgZGV2ZWxvcGVyIHRoYXQgYSBjYWxsIHRvIGEgc2VydmljZSB0aGF0IGRlcGVu ZHMgb24gU1NMIHdhcyBtYWRlDQp3aXRob3V0IFNTTCBzZXJ2aWNlcyBhdmFpbGFibGUuDQoNCmxv bmcNClNTTF9jdHJsICgNCiAgU1NMICAgKnNzbCwNCiAgaW50ICAgY21kLA0KICBsb25nICBsYXJn LA0KICB2b2lkICAqcGFyZw0KICApDQp7DQogIEFTU0VSVCAoRkFMU0UpOw0KICByZXR1cm4gMDsN Cn0NCg0KTGlrZXdpc2UsIGlmIHRoZSBPcGVuc3NsTGliIGluc3RhbmNlIGRvZXMgbm90IHN1cHBv cnQgRUMgc2VydmljZXMsIHRoZW4gdGhlIE51bGwNCkVDIHNlcnZpY2VzIHdpbGwgYmUgaW5jbHVk ZWQgYW5kIHRoZSBjYWxsIHRvIEVDX0tFWV9uZXdfYnlfY3VydmVfbmFtZSgpIHdpbGwNCnJldHVy biBOVUxMIHdoaWNoIHdpbGwgZm9yY2UgVGxzU2V0RWNDdXJ2ZSgpIHRvIHJldHVybiBFRklfVU5T VVBQT1JURUQuIEl0IHdpbGwgYWxzbw0KQVNTRVJUKCkgaW5mb3JtaW5nIHRoZSBkZXZlbG9wZXIg dGhhdCBhIGNhbGwgdG8gYSBzZXJ2aWNlIHRoYXQgZGVwZW5kcyBvbiBFQyB3YXMgbWFkZQ0Kd2l0 aG91dCBFQyBzZXJ2aWNlcyBhdmFpbGFibGUuDQoNCkVDX0tFWSAqDQpFQ19LRVlfbmV3X2J5X2N1 cnZlX25hbWUgKA0KICBpbnQgIG5pZA0KICApDQp7DQogIEFTU0VSVCAoRkFMU0UpOw0KICByZXR1 cm4gTlVMTDsNCn0NCg0KPiANCj4gVGhhbmsgeW91DQo+IFlhbywgSmlld2VuDQo+IA0KPiA+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogS2lubmV5LCBNaWNoYWVsIEQgPG1p Y2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMTEs IDIwMjIgMTE6MDQgUE0NCj4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiBDYzogWWFv LCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKDQo+ID4gPGppYW4u ai53YW5nQGludGVsLmNvbT47IEx1LCBYaWFveXUxIDx4aWFveXUxLmx1QGludGVsLmNvbT47IEpp YW5nLA0KPiA+IEd1b21pbiA8Z3VvbWluLmppYW5nQGludGVsLmNvbT47IFp1cmNoZXIsIENocmlz dG9waGVyDQo+ID4gPGNocmlzdG9waGVyLnp1cmNoZXJAbWljcm9zb2Z0LmNvbT47IFJlYmVjY2Eg Q3Jhbg0KPiA+IDxxdWljX3JjcmFuQHF1aWNpbmMuY29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZGJA a2VybmVsLm9yZz4NCj4gPiBTdWJqZWN0OiBbUGF0Y2ggMDAvMTJdIENyeXB0b1BrZzogUmVtb3Zl IEVDIFBDRCBhbmQgbWVyZ2UgcGVyZiBvcHQNCj4gPiBPcGVuc3NsTGlicw0KPiA+DQo+ID4gVGhl IHJlY2VudCBhZGRpdGlvbiBvZiB0aGUgRWNsaXB0aWMgQ3VydmUgKEVDKSBmZWF0dXJlIGFuZCB0 aGUgcGVyZm9ybWFuY2UNCj4gPiBvcHRpbWl6YXRpb24gZmVhdHVyZXMgaW5jcmVhc2VkIHRoZSBj b21wbGV4aXR5IGZvciBwbGF0Zm9ybXMgdG8gaW50ZWdyYXRlDQo+ID4gYW5kIGVuYWJsZSB0aGVz ZSBmZWF0dXJlcy4gVGhpcyBzZXJpZXMgc2ltcGxpZmllcyB0aGUgcGxhdGZvcm0gY29uZmlndXJh dGlvbg0KPiA+IGFzIG11Y2ggYXMgcG9zc2libGUgYW5kIGltcHJvdmVzIHRoZSBhYmlsaXR5IHRv IG1hbmFnZSB0aGUgdGhlIHNpemUgaW1wYWN0DQo+ID4gb2YgY3J5cHRvZ3JhcGhpYyBzZXJ2aWNl cyBpbiBlYWNoIEZXIHBoYXNlLiBBIFJlYWRtZS5tZCBpcyBhbHNvIGFkZGVkDQo+ID4gdGhhdA0K PiA+IHByb3ZpZGVzIGFuIG92ZXJ2aWV3IG9mIHRoZSBDcnlwdG9Qa2cgZGVzaWduIGFuZCBmZWF0 dXJlcyBhbG9uZyB3aXRoDQo+ID4gcGxhdGZvcm0NCj4gPiBpbnRlZ3JhdGlvbiByZWNvbW1lbmRh dGlvbnMuDQo+ID4NCj4gPiBUaGlzIHNlcmllcyBhbHNvIGFkZHJlc3NlcyBwcml2YXRlIGxpYnJh cnkgY2xhc3MgZGVjbGFyYXRpb25zIG1pc3NpbmcgZnJvbQ0KPiA+IENyeXB0b1BrZy5kZWMgYW5k IGxpYnJhcnkgaW5zdGFuY2VzIG5vdCBwcm9kdWNpbmcgYWxsIHRoZSBBUElzIGRlZmluZWQNCj4g PiBieSB0aGUgbGlicmFyeSBjbGFzc2VzLiBBIHJldmlldyBvZiB0aGUgQ3J5cHRvUGtnIEVESyBJ SSBtZXRhIGRhdGEgZmlsZXMNCj4gPiBpZGVudGlmaWVkDQo+ID4gYSBudW1iZXIgb2YgYWRkaXRp b25hbCBjbGVhbnVwcy4gVGhlIENyeXB0b1BrZy5kc2MgZmlsZSB3YXMgYWxzbyB1cGRhdGVkIHRv DQo+ID4gaW1wcm92ZSBDSSBjb3ZlcmFnZSBmb3IgZnV0dXJlIENyeXB0b1BrZyBjaGFuZ2VzIGFu ZCBpZGVudGlmaWVkIHNvbWUNCj4gPiB1bml0IHRlc3QgYnVnIGZpeGVzLg0KPiA+DQo+ID4gUFI6 ICAgICBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvcHVsbC8zNDQzDQo+ID4gQnJh bmNoOg0KPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS9tZGtpbm5leS9lZGsyL3RyZWUvQ3J5cHRvUGtn X1JlbW92ZUVjUGNkX01lcmdlDQo+ID4gT3B0aW1pemVkT3BlbnNzbExpYnMNCj4gPiBSZWFkbWU6 DQo+ID4gaHR0cHM6Ly9naXRodWIuY29tL21ka2lubmV5L2VkazIvYmxvYi9DcnlwdG9Qa2dfUmVt b3ZlRWNQY2RfTWVyZ2UNCj4gPiBPcHRpbWl6ZWRPcGVuc3NsTGlicy9DcnlwdG9Qa2cvUmVhZG1l Lm1kDQo+ID4NCj4gPiBDaGFuZ2UgU3VtbWFyeQ0KPiA+ID09PT09PT09PT09PT09DQo+ID4gKiBE b2N1bWVudCBkaXNhYmxlZC9kZXByZWNhdGVkIGNyeXB0b2dyYXBoaWMgc2VydmljZXMNCj4gPiAq IEFkZCBtaXNzaW5nIFVOSSBmaWxlcyBpbiBCYXNlQ3J5cHRMaWINCj4gPiAqIFVwZGF0ZSBCYXNl Q3J5cHRMaWIgaW50ZXJuYWwgZnVuY3Rpb25zIHRvIGJlIFNUQVRJQyBhbmQgcmVtb3ZlIEVGSUFQ SQ0KPiA+ICogQWRkIEdMT0JBTF9SRU1PVkVfSUZfVU5SRUZFUkVOQ0VEIHRvIEJhc2VDcnlwdExp YiBnbG9iYWwNCj4gPiB2YXJpYWJsZXMNCj4gPiAqIEZpeCBCYXNlQ3J5cHRMaWIgdW5pdCB0ZXN0 cw0KPiA+ICogQ2xlYW51cCBCYXNlQ3J5cHRMaWIgYW5kIFRsc0xpYiBJTkYgZmlsZXMgYW5kDQo+ ID4gKiBNb3ZlIFN5c0NhbGwvaW5ldF9wdG9uLmMgZnJvbSBCYXNlQ3J5cHRMaWIgdG8gVGxzTGli IHRoYXQgdXNlcyBpdC4NCj4gPiAqIE1lcmdlIDQgcGVyZm9ybWFuY2Ugb3B0aW1pemVkIElORnMg aW50byBPcGVuc3NsTGliKkFjY2VsLmluZg0KPiA+ICogUmVtb3ZlIHVzZSBvZiBQY2RPcGVuc3Ns RWNFbmFibGVkIGFuZCB1c2UgT3BlbnNzbExpYkZ1bGwqLmluZiBpbnN0ZWFkDQo+ID4gKiBBZGQg T3BlbnNzbExpYiBhbmQgSW50cmluc2ljTGliIHRvIENyeXB0b1BrZy5kZWMgYXMgcHJpdmF0ZSBs aWJyYXJ5IGNsYXNzZXMNCj4gPiAqIFVwZGF0ZSBhbGwgT3BlbnNzbExpYiBpbnN0YW5jZXMgdG8g YWx3YXlzIHByb2R1Y2UgYWxsIEFQSXMgaW4gT3BlbnNzbExpYg0KPiA+IGNsYXNzDQo+ID4gKiBN b3ZlIFByaW50TGliIGRlcGVuZGVuY3kgZnJvbSBPcGVuc3NsTGliIElORiBmaWxlcyB0byBCYXNl Q3J5cHRMaWIgSU5GDQo+ID4gZmlsZXMNCj4gPiAqIFVwZGF0ZSBDcnlwdG9Qa2cuZHNjIGZpbGVz IHRvIHByb3ZpZGUgZnVsbCBDSSB0ZXN0IGNvdmVyYWdlIGFjcm9zcyBhbGwgdGhlDQo+ID4gICAg c3VwcG9ydGVkIGNvbWJpbmF0aW9ucyBvZiBPcGVuc3NsTGliLCBCYXNlQ3J5cHRMaWIsIGFuZCBU bHNMaWIgaW5zdGFuY2VzLg0KPiA+ICogUmVtb3ZlIFBBQ0tBR0UgcHJvZmlsZSBmcm9tIENyeXB0 b1BrZy5kc2MgYW5kIGFkZA0KPiA+IFRBUkdFVF9VTklUX1RFU1RTDQo+ID4gICBwcm9maWxlLiAg QWRkaW5nIFRBUkdFVF9VTklUX1RFU1RTIHByb2ZpbGUgaXMgcmVxdWlyZWQgdG8gcHJldmVudCBh IGZldw0KPiA+IHVuaXQNCj4gPiAgIHRlc3QgYXJ0aWZhY3RzIGJlaW5nIGluY2x1ZGVkIGluIG5v biB1bml0IHRlc3QgYnVpbGRzIG9mIGNvbXBvbmVudHMuDQo+ID4gKiBBZGQgQ3J5cHRvUGtnIFJl YWRtZS5tZCB3aXRoIG92ZXJ2aWV3IGFuZCBwbGF0Zm9ybSBpbnRlZ3JhdGlvbg0KPiA+IGRldGFp bHMuDQo+ID4gKiBVcGRhdGUgaG9zdC1iYXNlZCB1bml0IHRlc3RzIHRvIGFsd2F5cyB1c2UgT3Bl bnNzbExpYkZ1bGwuaW5mIGFuZCBhZGQNCj4gPiB1bml0DQo+ID4gICB0ZXN0IGNvdmVyYWdlIGZv ciBPcGVuc3NsTGliRnVsbEFjY2VsLmluZi4NCj4gPiAqIEFkZCBSZWFkbWUubWQgd2l0aCBDcnlw dG9Qa2cgb3ZlcnZpZXcgYW5kIHBsYXRmb3JtIGludGVncmF0aW9uDQo+ID4gICBkb2N1bWVudGF0 aW9uDQo+ID4NCj4gPiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4g Q2M6IEppYW4gSiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+ID4gQ2M6IFhpYW95dSBM dSA8eGlhb3l1MS5sdUBpbnRlbC5jb20+DQo+ID4gQ2M6IEd1b21pbiBKaWFuZyA8Z3VvbWluLmpp YW5nQGludGVsLmNvbT4NCj4gPiBDYzogQ2hyaXN0b3BoZXIgWnVyY2hlciA8Y2hyaXN0b3BoZXIu enVyY2hlckBtaWNyb3NvZnQuY29tPg0KPiA+IENjOiBSZWJlY2NhIENyYW4gPHF1aWNfcmNyYW5A cXVpY2luYy5jb20+DQo+ID4gQ2M6IEFyZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+DQo+ ID4gU2lnbmVkLW9mZi1ieTogTWljaGFlbCBEIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRl bC5jb20+DQo+ID4NCj4gPiBNaWNoYWVsIEQgS2lubmV5ICgxMik6DQo+ID4gICBDcnlwdG9Qa2c6 IERvY3VtZW50IGFuZCBkaXNhYmxlIGRlcHJlY2F0ZWQgY3J5cHRvIHNlcnZpY2VzDQo+ID4gICBD cnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWI6IEFkZCBtaXNzaW5nIFVOSSBmaWxlIGFuZCBm aXggZm9ybWF0DQo+ID4gICBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWI6IFVwZGF0ZSBp bnRlcm5hbCBmdW5jdGlvbnMvdmFyaWFibGVzDQo+ID4gICBDcnlwdG9Qa2cvVGVzdC9Vbml0VGVz dC9MaWJyYXJ5L0Jhc2VDcnlwdExpYjogVW5pdCB0ZXN0IGZpeGVzDQo+ID4gICBDcnlwdG9Qa2cv TGlicmFyeTogQ2xlYW51cCBCYXNlQ3J5cHRMaWIgYW5kIFRsc0xpYg0KPiA+ICAgQ3J5cHRvUGtn L0xpYnJhcnkvT3BlbnNzbExpYjogQ29tYmluZSBhbGwgcGVyZm9ybWFuY2Ugb3B0aW1pemVkIElO RnMNCj4gPiAgIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWI6IFByb2R1Y2UgY29uc2lzdGVu dCBzZXQgb2YgQVBJcw0KPiA+ICAgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYjogUmVtb3Zl IFByaW50TGliIGZyb20gSU5GIGZpbGVzDQo+ID4gICBDcnlwdG9Qa2c6IFJlbW92ZSBQY2RPcGVu c3NsRWNFbmFibGVkIGZyb20gQ3J5cHRvUGtnLmRlYw0KPiA+ICAgQ3J5cHRvUGtnOiBVcGRhdGUg RFNDIHRvIGltcHJvdmUgQ0kgdGVzdCBjb3ZlcmFnZQ0KPiA+ICAgQ3J5cHRvUGtnOiBGaXhlZCBo b3N0LWJhc2VkIHVuaXQgdGVzdHMNCj4gPiAgIENyeXB0b1BrZzogQWRkIFJlYWRtZS5tZA0KPiA+ DQo+ID4gIENyeXB0b1BrZy9DcnlwdG9Qa2cuY2kueWFtbCAgICAgICAgICAgICAgICAgICB8ICAx MSArLQ0KPiA+ICBDcnlwdG9Qa2cvQ3J5cHRvUGtnLmRlYyAgICAgICAgICAgICAgICAgICAgICAg fCAgNDIgKy0NCj4gPiAgQ3J5cHRvUGtnL0NyeXB0b1BrZy5kc2MgICAgICAgICAgICAgICAgICAg ICAgIHwgNDYwICsrKysrKysrKy0tLQ0KPiA+ICAuLi4vUGNkL1BjZENyeXB0b1NlcnZpY2VGYW1p bHlFbmFibGUuaCAgICAgICAgfCAxMjIgKy0tDQo+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExp Yi9CYXNlQ3J5cHRMaWIuaW5mICAgICB8ICAxMCArLQ0KPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5 cHRMaWIvQmFzZUNyeXB0TGliLnVuaSAgICAgfCAgIDIgLQ0KPiA+ICAuLi4vTGlicmFyeS9CYXNl Q3J5cHRMaWIvSG1hYy9DcnlwdEhtYWMuYyAgICAgfCAgIDcgKw0KPiA+ICAuLi4vTGlicmFyeS9C YXNlQ3J5cHRMaWIvS2RmL0NyeXB0SGtkZi5jICAgICAgfCAgIDUgKy0NCj4gPiAgLi4uL0xpYnJh cnkvQmFzZUNyeXB0TGliL1BlaUNyeXB0TGliLmluZiAgICAgIHwgICA4ICstDQo+ID4gIC4uLi9M aWJyYXJ5L0Jhc2VDcnlwdExpYi9QZWlDcnlwdExpYi51bmkgICAgICB8ICAgMiAtDQo+ID4gIC4u Li9CYXNlQ3J5cHRMaWIvUGsvQ3J5cHRBdXRoZW50aWNvZGUuYyAgICAgICB8ICAgMiArLQ0KPiA+ ICAuLi4vQmFzZUNyeXB0TGliL1BrL0NyeXB0UGtjczdWZXJpZnlDb21tb24uYyAgfCAgIDMgKy0N Cj4gPiAgLi4uL0Jhc2VDcnlwdExpYi9Qay9DcnlwdFBrY3M3VmVyaWZ5RWt1LmMgICAgIHwgICAz ICsNCj4gPiAgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BrL0NyeXB0VHMuYyAgIHwg IDQ0ICstDQo+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9SdW50aW1lQ3J5cHRMaWIuaW5m ICB8ICAgOSArLQ0KPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvUnVudGltZUNyeXB0TGli LnVuaSAgfCAgIDIgLQ0KPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvU2VjQ3J5cHRMaWIu aW5mICAgICAgfCAgMTMgKy0NCj4gPiAgLi4uL3tTbW1DcnlwdExpYi51bmkgPT4gU2VjQ3J5cHRM aWIudW5pfSAgICAgIHwgIDExICstDQo+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9TbW1D cnlwdExpYi5pbmYgICAgICB8ICAxMiAtDQo+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9T bW1DcnlwdExpYi51bmkgICAgICB8ICAgMiAtDQo+ID4gIC4uLi9CYXNlQ3J5cHRMaWIvVW5pdFRl c3RIb3N0QmFzZUNyeXB0TGliLmluZiB8ICAyMiArLQ0KPiA+ICAuLi4vTGlicmFyeS9JbmNsdWRl L29wZW5zc2wvb3BlbnNzbGNvbmYuaCAgICAgfCAzMjggKysrKysrKy0NCj4gPiAgLi4uL0luY2x1 ZGUvb3BlbnNzbC9vcGVuc3NsY29uZl9nZW5lcmF0ZWQuaCAgIHwgMzMzIC0tLS0tLS0tLQ0KPiA+ ICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL0VjU20yTnVsbC5jICAgICAgfCAyOTEgKysr KysrKysNCj4gPiAgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliLmluZiAg IHwgMTMzICsrLS0NCj4gPiAgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGli LnVuaSAgIHwgIDEwICstDQo+ID4gIC4uLm5zc2xMaWJJYTMyR2NjLmluZiA9PiBPcGVuc3NsTGli QWNjZWwuaW5mfSB8IDE4OSArKystLQ0KPiA+ICAuLi4vTGlicmFyeS9PcGVuc3NsTGliL09wZW5z c2xMaWJBY2NlbC51bmkgICAgfCAgMTQgKw0KPiA+ICAuLi4vT3BlbnNzbExpYi9PcGVuc3NsTGli Q29uc3RydWN0b3IuYyAgICAgICAgfCAgIDYgKy0NCj4gPiAgLi4uL0xpYnJhcnkvT3BlbnNzbExp Yi9PcGVuc3NsTGliQ3J5cHRvLmluZiAgIHwgMTg1ICsrKy0tDQo+ID4gIC4uLi9MaWJyYXJ5L09w ZW5zc2xMaWIvT3BlbnNzbExpYkNyeXB0by51bmkgICB8ICAxMSArLQ0KPiA+ICAuLi4ve09wZW5z c2xMaWIuaW5mID0+IE9wZW5zc2xMaWJGdWxsLmluZn0gICAgfCAxNDMgKystLQ0KPiA+ICAuLi4v e09wZW5zc2xMaWIudW5pID0+IE9wZW5zc2xMaWJGdWxsLnVuaX0gICAgfCAgMTAgKy0NCj4gPiAg Li4uc3NsTGliSWEzMi5pbmYgPT4gT3BlbnNzbExpYkZ1bGxBY2NlbC5pbmZ9IHwgMTkyICsrKy0t DQo+ID4gIC4uLi9PcGVuc3NsTGliL09wZW5zc2xMaWJGdWxsQWNjZWwudW5pICAgICAgICB8ICAx NCArDQo+ID4gIC4uLi9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYlg2NC5pbmYgICAgICB8 IDcwNiAtLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAgLi4uL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVu c3NsTGliWDY0R2NjLmluZiAgIHwgNzA2IC0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICBDcnlwdG9Q a2cvTGlicmFyeS9PcGVuc3NsTGliL1NzbE51bGwuYyAgICAgICAgfCA0MDUgKysrKysrKysrKw0K PiA+ICAuLi4vU3lzQ2FsbC9pbmV0X3B0b24uYyAgICAgICAgICAgICAgICAgICAgICAgfCAgIDAN Cj4gPiAgQ3J5cHRvUGtnL0xpYnJhcnkvVGxzTGliL1Rsc0NvbmZpZy5jICAgICAgICAgIHwgICAy ICstDQo+ID4gIENyeXB0b1BrZy9MaWJyYXJ5L1Rsc0xpYi9UbHNMaWIuaW5mICAgICAgICAgICB8 ICAxMiArLQ0KPiA+ICBDcnlwdG9Qa2cvUHJpdmF0ZS9MaWJyYXJ5L0ludHJpbnNpY0xpYi5oICAg ICAgfCAgMTYgKw0KPiA+ICBDcnlwdG9Qa2cvUHJpdmF0ZS9MaWJyYXJ5L09wZW5zc2xMaWIuaCAg ICAgICAgfCAgMTQgKw0KPiA+ICBDcnlwdG9Qa2cvUmVhZG1lLm1kICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCA0OTggKysrKysrKysrKysrDQo+ID4gIENyeXB0b1BrZy9UZXN0L0NyeXB0b1Br Z0hvc3RVbml0VGVzdC5kc2MgICAgICB8ICAxNyArLQ0KPiA+ICAuLi4vVW5pdFRlc3QvTGlicmFy eS9CYXNlQ3J5cHRMaWIvSG1hY1Rlc3RzLmMgfCAgMTcgKy0NCj4gPiAgLi4uL1VuaXRUZXN0L0xp YnJhcnkvQmFzZUNyeXB0TGliL1RTVGVzdHMuYyAgIHwgICAyICstDQo+ID4gIC4uLi9UZXN0QmFz ZUNyeXB0TGliSG9zdEFjY2VsLmluZiAgICAgICAgICAgICB8ICA1NSArKw0KPiA+ICA0OCBmaWxl cyBjaGFuZ2VkLCAyNjY3IGluc2VydGlvbnMoKyksIDI0MzQgZGVsZXRpb25zKC0pDQo+ID4gIGNv cHkgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL3tTbW1DcnlwdExpYi51bmkgPT4NCj4g PiBTZWNDcnlwdExpYi51bml9ICg3NCUpDQo+ID4gIGRlbGV0ZSBtb2RlIDEwMDY0NA0KPiA+IENy eXB0b1BrZy9MaWJyYXJ5L0luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZl9nZW5lcmF0ZWQuaA0K PiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9FY1Nt Mk51bGwuYw0KPiA+ICByZW5hbWUgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi97T3BlbnNz bExpYklhMzJHY2MuaW5mID0+DQo+ID4gT3BlbnNzbExpYkFjY2VsLmluZn0gKDc5JSkNCj4gPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExp YkFjY2VsLnVuaQ0KPiA+ICBjb3B5IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIve09wZW5z c2xMaWIuaW5mID0+IE9wZW5zc2xMaWJGdWxsLmluZn0NCj4gPiAoODAlKQ0KPiA+ICBjb3B5IENy eXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIve09wZW5zc2xMaWIudW5pID0+IE9wZW5zc2xMaWJG dWxsLnVuaX0NCj4gPiAoNTYlKQ0KPiA+ICByZW5hbWUgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNz bExpYi97T3BlbnNzbExpYklhMzIuaW5mID0+DQo+ID4gT3BlbnNzbExpYkZ1bGxBY2NlbC5pbmZ9 ICg3OSUpDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+IENyeXB0b1BrZy9MaWJyYXJ5L09w ZW5zc2xMaWIvT3BlbnNzbExpYkZ1bGxBY2NlbC51bmkNCj4gPiAgZGVsZXRlIG1vZGUgMTAwNjQ0 IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYlg2NC5pbmYNCj4gPiAgZGVs ZXRlIG1vZGUgMTAwNjQ0IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYlg2 NEdjYy5pbmYNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5z c2xMaWIvU3NsTnVsbC5jDQo+ID4gIHJlbmFtZSBDcnlwdG9Qa2cvTGlicmFyeS97QmFzZUNyeXB0 TGliID0+IFRsc0xpYn0vU3lzQ2FsbC9pbmV0X3B0b24uYw0KPiA+ICgxMDAlKQ0KPiA+ICBjcmVh dGUgbW9kZSAxMDA2NDQgQ3J5cHRvUGtnL1ByaXZhdGUvTGlicmFyeS9JbnRyaW5zaWNMaWIuaA0K PiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ3J5cHRvUGtnL1ByaXZhdGUvTGlicmFyeS9PcGVuc3Ns TGliLmgNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENyeXB0b1BrZy9SZWFkbWUubWQNCj4gPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gQ3J5cHRvUGtnL1Rlc3QvVW5pdFRlc3QvTGlicmFyeS9C YXNlQ3J5cHRMaWIvVGVzdEJhc2VDcnlwdExpYkhvc3RBY2NlbC5pDQo+ID4gbmYNCj4gPg0KPiA+ IC0tDQo+ID4gMi4zNy4xLndpbmRvd3MuMQ0KDQo=