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.web08.16196.1666592693467493101 for ; Sun, 23 Oct 2022 23:24:53 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=aNlKAQEo; spf=pass (domain: intel.com, ip: 134.134.136.20, 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=1666592693; x=1698128693; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=nFNjjw9dZhc3yg0vhqXRDk791TUnwlXkmAs1ahqvRgk=; b=aNlKAQEo7wGjgGWDjagDUMw+yqMfPqp2vLf4pB+CACCu1ExxwZTakk+o 0W6Mym9WYcqHXY5bFenQeDHes/+zudUyFYEKkyfQZ+uYaFklU3FJ2glTX PyijODcXtyX7PDd2h4kGnbtTDySlEP71Gngv3ee/BgYDZA8IjV5aGzikq 7bJ2yZqVg+BhPXDZyNmI2c4IL+hDaJjDkDpnWzlQe1MGMDrE5pKRTrpWf ochN1J+DSFAkjukcoROQjpUCV056Z67/dw/k6AH8Yum2g0Q7KU6+Aq5US J9txhAPvut6ZHWb6SixD5IUJmBHEaRYt1rAfmzu4OwyJkJZ5H58dSH5eZ w==; X-IronPort-AV: E=McAfee;i="6500,9779,10509"; a="294747571" X-IronPort-AV: E=Sophos;i="5.95,207,1661842800"; d="scan'208";a="294747571" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Oct 2022 23:24:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10509"; a="609090571" X-IronPort-AV: E=Sophos;i="5.95,207,1661842800"; d="scan'208";a="609090571" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga006.jf.intel.com with ESMTP; 23 Oct 2022 23:24:52 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Sun, 23 Oct 2022 23:24:51 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Sun, 23 Oct 2022 23:24:51 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) 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.2375.31 via Frontend Transport; Sun, 23 Oct 2022 23:24:51 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.176) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Sun, 23 Oct 2022 23:24:51 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h79V5Y84HZrSG3Q/mnjTWdvyP4Kf0lTFIrw3soiUdVeYj78sG+r8nBc4BBCa/j3UJxuk8A9HFok/BiMc/xj7uLPVCg4jgcEwiBQJ/S8JF2LtG5iz6/97W5YO+h4Vqo+G+6urKOLtO5SJ7ax00Hcf/zqGBIC37NmuTZ65Egd+FsBrVvmcC28++jBN9SF0AvL48Rmk0ZaC7lA8/anAARMbyZJRIKllOOpuftFkAz/LOzoy4JnIMvVaPUPR/Xqkg6AG8xj1ne0NjEXjZJmPhqkfMjYMV7zsKz2EavkAB5OkPN61zeAQZoOce1WkTNXHw52fTIY5lzRc9f39wBHDKJOT8Q== 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=nFNjjw9dZhc3yg0vhqXRDk791TUnwlXkmAs1ahqvRgk=; b=AC08u25pn/MpFhE9o6NVEbuOfZmUdH2MiJoRCHR/zbbgxpayYs5SL4PLC1X06qyyyBEvkDIlqEJKqLQadPXZoTViDvuBSwE1YUPCHyV+gBN2MPfemLHLFSYbn8YQZqU4UhLo/jw2d5W/sFP3qAYdU+8lQvBYS8lSQ1nhogCR0uAbJ3cfwZREhKREl/Zll9woymV5/97DY2K/3gf7KwtPJu00crDzRecOpELexdxs+0aHFRI91LRiruMGpK/r89u+0XtM1q9L5xOTUsJdJel1GQn/dflqo2T6rfT5oKKQPELYxmFmNR94QigeLuK1J8Y2ydDq2POK2PvB+uExi6rQzw== 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 SJ0PR11MB5647.namprd11.prod.outlook.com (2603:10b6:a03:3af::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.28; Mon, 24 Oct 2022 06:24:49 +0000 Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::8a27:e262:8996:473]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::8a27:e262:8996:473%7]) with mapi id 15.20.5723.033; Mon, 24 Oct 2022 06:24:49 +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 , "Li, Yi1" Subject: Re: [edk2-devel] [Patch v2 00/16] CryptoPkg: Remove EC PCD and merge perf opt OpensslLibs Thread-Topic: [edk2-devel] [Patch v2 00/16] CryptoPkg: Remove EC PCD and merge perf opt OpensslLibs Thread-Index: AQHY5LK+sI+miZ1PMkiA8DUiqyKS364c7lKggAAAs6CAAB68gIAAC2bQ Date: Mon, 24 Oct 2022 06:24:48 +0000 Message-ID: References: <20221020183510.1799-1-michael.d.kinney@intel.com> <1720E4F0EDFC384F.808@groups.io> 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_|SJ0PR11MB5647:EE_ x-ms-office365-filtering-correlation-id: 1a9a8ed6-914a-44ae-48c3-08dab58873c6 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: AGa5BtwwlskARZfKGHaD1i/84s4g/Ac2tJLp059K7bs8h7ku5Nfnr5HPWILkcHrgCJVXROXXsA0GrUDdwz7zQMA/vQgZJLBShitgVCvnJuI0AQLNnO53/fO56Bn10Eqfi8aLJq1olclMhfwd/86ZHsr73ueb4rUtUhFl29F/80FQ+vCftRlvKz0yl1GoN4LWJXznsRTUTdCOr4JKloMSlaVvyqIz3FMoLxRngFnlu6lB1M7oKNOjuGmgWGBXU480ELIWQcbhfOapC6+j0nXuMXi6CPvCkr1ds30/uV9JQ4PBrnbw6wTG5f0C8Es9iJ0kDILms+CB6OMDjYQehKnPou7R/VdS+HzeOTLOVx7o5r4O3+Q6qzYundHpE61k7tE/CUl1Z3B+KXwCGNCfXtLmtovxuoy/Ra3AVpandLvwBzi1f45JRsG5CsSXa1UnGuip+smA6Vb6CZET4Y9QKsuTGmrdh2A1oZECjHsfGak46iWs/JqAGFcXFS60enHxJ2YlwhpdE6ilhwVeNhNb8CUCudEaY3dQvtSjsP7SHMOgpBozegzVyMc75YnMNHxp6cgkLKqs9WNTi0nWUJWAm1iLqc2wFzuGoPb612Rx/dzs8mTUM4T7+0eyDEvY2W4UebhrU8tvF97nflm0lCW9/hgYnF80lr7kPi1ia4zHplf+KlE/NoSBRUzrTyEA3ctJuaB5lSo4Q2T33PaEEYEQbbKh24Wl7QJC88a4WuMm6VQgtoupahAOKWx/oHapb4oiQKbr+3KTVSOGu3/IQJqkIQL5/hiX0CWcNjP0fxyeTDcu3IphHplvsviqiLW2dgBDlS3Q05F9fsH5ZZq/KRFeL4lEvg== 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)(366004)(396003)(346002)(39860400002)(376002)(451199015)(41300700001)(122000001)(107886003)(66476007)(66446008)(64756008)(8676002)(4326008)(66946007)(38070700005)(76116006)(53546011)(7696005)(6506007)(66556008)(54906003)(110136005)(316002)(19627235002)(86362001)(55016003)(83380400001)(5660300002)(8936002)(30864003)(9686003)(26005)(52536014)(33656002)(2906002)(186003)(478600001)(66899015)(82960400001)(966005)(38100700002)(71200400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WU1YajE4VXBFVWE4Q2lUS2o0Ti9KYllWZ1JkUWVpWk83UC9oTW8vS2JmSEVF?= =?utf-8?B?UFlDTHRESFc4blpZb0tqdU42dDVXQXJjc3B4aXJ3djZFUmJHYlpwSDFkbkdL?= =?utf-8?B?bm1kL2Yxak1wemtxTGtIYVR4WUNrc1dsK1V0RURlZTZrMWZlbVUrY0s2WTQ2?= =?utf-8?B?THJGOENwRkVCWkUyNmlFYVd0cWNwcCswc2lQcE53U3lSem9GTVpNYWhFQkZu?= =?utf-8?B?WURJdEJrR01JcU9VczhCVmF6NU5yZElwcnE3UktpV3lCMFpWZU9FRDI5c3Iy?= =?utf-8?B?cmUrL3N5elFnT1J4QXl3bUhhOXdubktaVWpmWVpaMUZRSjJWcXJJSnc4djVO?= =?utf-8?B?YzYvaC93QXZDVGY5V3ZUekhNRG40a3ZRMVdiUTByemRNcnJvS0tQSXY3Tk5a?= =?utf-8?B?aTBOZkhNQXM1a0tBWTVqNk43ZlNTeUoxOTVKMlJ6RW5NOGx0a3lvbnorcFJw?= =?utf-8?B?WnRzWUJHOHljMkNuRXBFR1pvY1RSZHlzVzZtOVV4aGd6V2ZYaVF5ZFhVV2p6?= =?utf-8?B?VlJlN0N3L1BTY0dubVdkOGV2QVlJazRXWXZsekJQSnM0WFd4bWtaSXRrVGRL?= =?utf-8?B?amJJeGJKUk92QWdkdFZTRkhYU0MzdVg0RjhGazB3Y2dsajBKSFBiTWdVQWlt?= =?utf-8?B?SC9xTzVKdUhGbnYxRnhTN0wzN04vYmM0bDZnaU9aVUFTcGZvVk9GdENDV0gr?= =?utf-8?B?VVA0UG1Rd3ZUcFE0Tm4rQnFRVVJzdDNGbVdWTER3VUJ1UDluU0Fudlk2dFg2?= =?utf-8?B?TWZsdm5oaTdndGJaUVdmYmhzQVR3WUJJblZaY3p1Rjh2dnRrQWVpVGRpZng4?= =?utf-8?B?WWVDS1JuN0tyejRSZlpuUmRKREMzU2VjRFQzUDQrNk9aTUtYZGh3andOU29N?= =?utf-8?B?REFOd1ZpWlZSYlk4TjNDRjBvODcvTmludTNBUHdMakE3MysrSDBBSmV5bXVh?= =?utf-8?B?RVR1RitLTVY3NDNWRDFob1pPNTArOVFkRllGaTZZd2hxcUVkWmtCaThUdGFv?= =?utf-8?B?RVl1S2Y5STYxVnh4RXRya2ZkTGx4MnlnWFYvK0ZDN3oxUm9Lb2dlUXRrQ1RY?= =?utf-8?B?Y0ZBUEJGU2UrZFJsNTIyanFkWHB3ZjcwZ1poQzVEaEY1Q2VaNHpNQUxkVm9F?= =?utf-8?B?M1l1VUVaUVJKOU9BSVhjYzBzSXM1RURKYXRSWGdEWXJZdlk2eDJmZ09VVUU5?= =?utf-8?B?YkNPbEhvQzJZNnNVZ2RnOUlVcndHalY4K0Y2aUVva29yMXpuYUFzWHZ2bENS?= =?utf-8?B?ZEtSUjZMVThvYzlQRExKNUNyWVlJY3oxM0hiZXQ4c1JqRFZoc2xIWnZ4blV1?= =?utf-8?B?RlRCTmR0eFFHOGh0c2FyQlU3TkJoWnJVQXVXb2lFMmtLaUhWVk10U29XTmNV?= =?utf-8?B?OHBuM0xBS2ZCZG5kSGhCTjVIVmtyTVA4SjhaTXJWblZDYUg3QnVTYUVqREpN?= =?utf-8?B?YytIL1J2OVZZSFVJNCs0ZkJaNUZIZ0EwdU9QRCtLL0hXaWlYdnlpeTByYmlF?= =?utf-8?B?OGlSMDlpZEV1MEZJMXhJdjI0V2EvZllRcktuOFRKK1dSNFMrTzZXWEJrc2ll?= =?utf-8?B?YmJnVjNabG9uODRFVGxhQUZCZEtPZzdZSi9VZGd1Z2JQVHFoRStlS0ZEblRD?= =?utf-8?B?Y0hsNG1IMXRZT0JsNXdlQkIxYk1pcnRITFFKb3diOWNWUUVRVlFFZzBjWURT?= =?utf-8?B?NnZVb3FwVjE0Z0VsMXNRMnhEdnl3ZTNnT1BIWHNkcXp6TTkvMWQrZG5Ob2dy?= =?utf-8?B?akhSbEl1WTYzOTF0V0owSFdpWWdPTFRPSEl5UTR4aEk1MkJMQ1UwVy80enly?= =?utf-8?B?OVdWL204eE5uMzJXSEFPSVVqaHFkL1NDeHl6Smlyc1BodmQycCsvcUhYRkZp?= =?utf-8?B?VUt1UTNEOFp5NDNxdUdKTmJUb3pTeUpwTzcvMkJYWUc1NUVWRm5TS3hiL1Y5?= =?utf-8?B?Q0FZbGJXUzdOb3dzOWkveFJhQVVhczV6OVFLVk5OTUZqS2d3WmVPQkdKSWZX?= =?utf-8?B?alE3QUhsRGpYbGlRZ0hBcU9sWHc0dVlVcmZlTTEyUFhPR3NPaUhqSVpsUHBp?= =?utf-8?B?K2w3R1Y1VTF3Nlo2OVg2Y0Ryd3hIeFV0MnZraVg5YzU4clhzdTVKTUJQVXBH?= =?utf-8?Q?1AoPYv6hhIdsAc24Cn8VJa6Ts?= 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: 1a9a8ed6-914a-44ae-48c3-08dab58873c6 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Oct 2022 06:24:48.8726 (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: /DFKZw3zFRkbis49Fz3mbjjWQ7Qn3vPMm81wYdfmgrRGAYSoayXl5sU+EyvKMQLk8L6KlhiMox4q2Bq+nMEPRg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5647 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 U291bmRzIGdyZWF0IQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEtp bm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gU2VudDogTW9u ZGF5LCBPY3RvYmVyIDI0LCAyMDIyIDE6NDQgUE0NCj4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4u eWFvQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBLaW5uZXksDQo+IE1pY2hhZWwg RCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+IENjOiBXYW5nLCBKaWFuIEogPGppYW4u ai53YW5nQGludGVsLmNvbT47IEx1LCBYaWFveXUxDQo+IDx4aWFveXUxLmx1QGludGVsLmNvbT47 IEppYW5nLCBHdW9taW4gPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+Ow0KPiBadXJjaGVyLCBDaHJp c3RvcGhlciA8Y2hyaXN0b3BoZXIuenVyY2hlckBtaWNyb3NvZnQuY29tPjsgUmViZWNjYSBDcmFu DQo+IDxxdWljX3JjcmFuQHF1aWNpbmMuY29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZGJAa2VybmVs Lm9yZz47IExpLCBZaTENCj4gPHlpMS5saUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJFOiBbZWRr Mi1kZXZlbF0gW1BhdGNoIHYyIDAwLzE2XSBDcnlwdG9Qa2c6IFJlbW92ZSBFQyBQQ0QgYW5kDQo+ IG1lcmdlIHBlcmYgb3B0IE9wZW5zc2xMaWJzDQo+IA0KPiBIaSBKaWV3ZW4sDQo+IA0KPiBJIGNv bXBhcmVkIHRoZSBidWlsZHMgb2YgdGhlIENyeXB0b1BlaSwgQ3J5cHRvRHhlLCBDcnlwdG9TbW0g dXNpbmcgdGhlDQo+IHNhbWUgT3BlbnNzbExpYiBpbnN0YW5jZSB3aXRoIEVDIGRpc2FibGVkLg0K PiANCj4gSSB1c2VkIGFuIElBMzIgYnVpbGQgb2YgdGhlIE1JTl9QRUkgcHJvZmlsZSBhbmQgYW4g WDY0IGJ1aWxkIG9mIHRoZQ0KPiBNSU5fRFhFX01JTl9TTU0gcHJvZmlsZSBmb3IgdGhlIGNvbXBh cmlzb24uDQo+IA0KPiBBcmNoIFByb2ZpbGUgICAgICAgICAgRHJpdmVyICAgICAgICBPbGQgICAg T2xkLUxaTUEgICAgTmV3ICAgIE5ldy1MWk1BDQo+ID09PT0gPT09PT09PT09PT09PT09ICA9PT09 PT09PT0gICA9PT09PT09ICA9PT09PT09PSAgPT09PT09PQ0KPiA9PT09PT09PQ0KPiBJQTMyIE1J Tl9QRUkgICAgICAgICAgQ3J5cHRvUGVpICAgMjUyLDE5MiAgIDEwMiwxMDkgIDI0NCwxNjAgICAg OTgsNTcxDQo+IFg2NCAgTUlOX0RYRV9NSU5fU01NICBDcnlwdG9EeGUgICA4MTIsMjg4ICAgMzEz LDM0MCAgODExLDAwOA0KPiAzMTIsOTEzDQo+IFg2NCAgTUlOX0RYRV9NSU5fU01NICBDcnlwdG9T bW0gICA1NDksMDg4ICAgMjA1LDYxMyAgNTQ4LDA5Ng0KPiAyMDUsMDc5DQo+IA0KPiANCj4gVGhl c2UgcmVzdWx0cyBzaG93IHRoYXQgdGhpcyBwYXRjaCBzZXJpZXMgcHJvdmlkZSBhIHZlcnkgc21h bGwgcmVkdWN0aW9uDQo+IGluIGJvdGggdGhlIHVuY29tcHJlc3NlZCBhbmQgTFpNQSBjb21wcmVz c2VkIHNpemVzIG9mIHRoZXNlIGRyaXZlcnMuDQo+IFRoaXMNCj4gaXMgdGhlIGV4cGVjdGVkIHJl c3VsdCBiZWNhdXNlIG5vIGZ1bmN0aW9uYWwgY2hhbmdlcyB3ZXJlIGludHJvZHVjZWQuDQo+IA0K PiBUaGUgc21hbGwgZGVjcmVhc2UgaXMgbGlrZWx5IGR1ZSB0byB0aGUgcmVtb3ZhbCBvZiB0aGUg VW5pdFRlc3Qgb3ZlcmhlYWQNCj4gdGhhdCB3YXMgaW5jbHVkZWQgaW4gYWxsIENyeXB0b1BrZy5k c2MgYnVpbGQgYmVmb3JlIHRoaXMgc2VyaWVzLiAgVGhpcw0KPiBzZXJpZXMgb25seSBsaW5rcyBp biB0aGUgVW5pdFRlc3QgcmVsYXRlZCBsaWJzIGFuZCBob29rIG9mIHRoZSBBU1NFUlQoKQ0KPiBt YWNyb3Mgd2hlbiBidWlsZGluZyB1bml0IHRlc3RzLg0KPiANCj4gQmVzdCByZWdhcmRzLA0KPiAN Cj4gTWlrZQ0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IFlh bywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiBTZW50OiBTdW5kYXksIE9jdG9i ZXIgMjMsIDIwMjIgODo1NCBQTQ0KPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgWWFvLCBK aWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgS2lubmV5LA0KPiBNaWNoYWVsIEQgPG1pY2hh ZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5n QGludGVsLmNvbT47IEx1LCBYaWFveXUxDQo+IDx4aWFveXUxLmx1QGludGVsLmNvbT47IEppYW5n LCBHdW9taW4gPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+Ow0KPiBadXJjaGVyLA0KPiA+IENocmlz dG9waGVyIDxjaHJpc3RvcGhlci56dXJjaGVyQG1pY3Jvc29mdC5jb20+OyBSZWJlY2NhIENyYW4N Cj4gPHF1aWNfcmNyYW5AcXVpY2luYy5jb20+OyBBcmQgQmllc2hldXZlbCA8YXJkYkBrZXJuZWwu b3JnPjsgTGksDQo+ID4gWWkxIDx5aTEubGlAaW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6IFJFOiBb ZWRrMi1kZXZlbF0gW1BhdGNoIHYyIDAwLzE2XSBDcnlwdG9Qa2c6IFJlbW92ZSBFQyBQQ0QNCj4g YW5kIG1lcmdlIHBlcmYgb3B0IE9wZW5zc2xMaWJzDQo+ID4NCj4gPiBTb3JyeTogSSBtZWFuIG9s ZCBjb25maWd1cmF0aW9uIHdpdGhvdXQgRUNDLg0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIu Z3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgWWFvLA0KPiA+ID4gSmlld2VuDQo+ID4gPiBTZW50OiBN b25kYXksIE9jdG9iZXIgMjQsIDIwMjIgMTE6NTMgQU0NCj4gPiA+IFRvOiBLaW5uZXksIE1pY2hh ZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Ow0KPiA+ID4gZGV2ZWxAZWRrMi5ncm91 cHMuaW8NCj4gPiA+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IEx1 LCBYaWFveXUxDQo+ID4gPiA8eGlhb3l1MS5sdUBpbnRlbC5jb20+OyBKaWFuZywgR3VvbWluIDxn dW9taW4uamlhbmdAaW50ZWwuY29tPjsNCj4gPiA+IFp1cmNoZXIsIENocmlzdG9waGVyIDxjaHJp c3RvcGhlci56dXJjaGVyQG1pY3Jvc29mdC5jb20+OyBSZWJlY2NhDQo+IENyYW4NCj4gPiA+IDxx dWljX3JjcmFuQHF1aWNpbmMuY29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZGJAa2VybmVsLm9yZz47 IExpLCBZaTENCj4gPiA+IDx5aTEubGlAaW50ZWwuY29tPg0KPiA+ID4gU3ViamVjdDogUmU6IFtl ZGsyLWRldmVsXSBbUGF0Y2ggdjIgMDAvMTZdIENyeXB0b1BrZzogUmVtb3ZlIEVDIFBDRA0KPiBh bmQNCj4gPiA+IG1lcmdlIHBlcmYgb3B0IE9wZW5zc2xMaWJzDQo+ID4gPg0KPiA+ID4gVGhhbmtz IE1pa2UNCj4gPiA+IFRoZSB1cGRhdGUgbG9va3MgZ29vZCB0byBtZS4gUmV2aWV3ZWQtYnk6IEpp ZXdlbiBZYW8NCj4gPiA+IDxKaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiA+DQo+ID4gPiBEbyB5 b3UgaGF2ZSBhbnkgZGF0YSBvZiBzaXplIGRpZmZlcmVuY2UgYmVmb3JlIGFuZCBhZnRlcj8gUGxl YXNlIHNoYXJlDQo+IHdpdGgNCj4gPiA+IHVzLg0KPiA+ID4NCj4gPiA+IEkgYW0gbW9yZSBpbnRl cmVzdGVkIGluIHRoZSBvbGQgY29uZmlndXJhdGlvbiB3aXRoIEVDQy4NCj4gPiA+DQo+ID4gPiBU aGFuayB5b3UNCj4gPiA+IFlhbywgSmlld2VuDQo+ID4gPg0KPiA+ID4gPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+DQo+ID4gPiA+IFNlbnQ6IEZyaWRheSwgT2N0b2JlciAyMSwgMjAy MiAyOjM1IEFNDQo+ID4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gPiBDYzog WWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKDQo+ID4gPiA+ IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlhb3l1MSA8eGlhb3l1MS5sdUBpbnRlbC5j b20+OyBKaWFuZywNCj4gPiA+ID4gR3VvbWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPjsgWnVy Y2hlciwgQ2hyaXN0b3BoZXINCj4gPiA+ID4gPGNocmlzdG9waGVyLnp1cmNoZXJAbWljcm9zb2Z0 LmNvbT47IFJlYmVjY2EgQ3Jhbg0KPiA+ID4gPiA8cXVpY19yY3JhbkBxdWljaW5jLmNvbT47IEFy ZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+OyBMaSwgWWkxDQo+ID4gPiA+IDx5aTEubGlA aW50ZWwuY29tPg0KPiA+ID4gPiBTdWJqZWN0OiBbUGF0Y2ggdjIgMDAvMTZdIENyeXB0b1BrZzog UmVtb3ZlIEVDIFBDRCBhbmQgbWVyZ2UgcGVyZg0KPiBvcHQNCj4gPiA+ID4gT3BlbnNzbExpYnMN Cj4gPiA+ID4NCj4gPiA+ID4gVGhlIHJlY2VudCBhZGRpdGlvbiBvZiB0aGUgRWNsaXB0aWMgQ3Vy dmUgKEVDKSBmZWF0dXJlIGFuZCB0aGUNCj4gcGVyZm9ybWFuY2UNCj4gPiA+ID4gb3B0aW1pemF0 aW9uIGZlYXR1cmUgaW5jcmVhc2VkIHRoZSBjb21wbGV4aXR5IGZvciBwbGF0Zm9ybXMgdG8NCj4g aW50ZWdyYXRlDQo+ID4gPiA+IGFuZCBlbmFibGUgdGhlc2UgZmVhdHVyZXMuICBUaGlzIHNlcmll cyBzaW1wbGlmaWVzIHRoZSBwbGF0Zm9ybQ0KPiA+ID4gY29uZmlndXJhdGlvbg0KPiA+ID4gPiBh cyBtdWNoIGFzIHBvc3NpYmxlIGFuZCBpbXByb3ZlcyB0aGUgYWJpbGl0eSB0byBtYW5hZ2UgdGhl IHRoZSBzaXplDQo+ID4gPiBpbXBhY3QNCj4gPiA+ID4gb2YgY3J5cHRvZ3JhcGhpYyBzZXJ2aWNl cyBpbiBlYWNoIEZXIHBoYXNlLiAgQSBSZWFkbWUubWQgaXMgYWxzbw0KPiBhZGRlZA0KPiA+ID4g PiB0aGF0DQo+ID4gPiA+IHByb3ZpZGVzIGFuIG92ZXJ2aWV3IG9mIHRoZSBDcnlwdG9Qa2cgZGVz aWduIGFuZCBmZWF0dXJlcyBhbG9uZyB3aXRoDQo+ID4gPiA+IHBsYXRmb3JtDQo+ID4gPiA+IGlu dGVncmF0aW9uIHJlY29tbWVuZGF0aW9ucy4NCj4gPiA+ID4NCj4gPiA+ID4gVGhpcyBzZXJpZXMg YWxzbyBhZGRyZXNzZXMgcHJpdmF0ZSBsaWJyYXJ5IGNsYXNzIGRlY2xhcmF0aW9ucyBtaXNzaW5n DQo+IGZyb20NCj4gPiA+ID4gQ3J5cHRvUGtnLmRlYyBhbmQgbGlicmFyeSBpbnN0YW5jZXMgbm90 IHByb2R1Y2luZyBhbGwgdGhlIEFQSXMgZGVmaW5lZA0KPiA+ID4gPiBieSB0aGUgbGlicmFyeSBj bGFzc2VzLiBBIHJldmlldyBvZiB0aGUgQ3J5cHRvUGtnIEVESyBJSSBtZXRhIGRhdGEgZmlsZXMN Cj4gPiA+ID4gaWRlbnRpZmllZA0KPiA+ID4gPiBhIG51bWJlciBvZiBhZGRpdGlvbmFsIGNsZWFu dXBzLiBUaGUgQ3J5cHRvUGtnLmRzYyBmaWxlIHdhcyBhbHNvDQo+IHVwZGF0ZWQNCj4gPiA+IHRv DQo+ID4gPiA+IGltcHJvdmUgQ0kgY292ZXJhZ2UgZm9yIGZ1dHVyZSBDcnlwdG9Qa2cgY2hhbmdl cyBhbmQgaWRlbnRpZmllZCBzb21lDQo+ID4gPiA+IHVuaXQgdGVzdCBidWcgZml4ZXMuDQo+ID4g PiA+DQo+ID4gPiA+IENoYW5nZSBTdW1tYXJ5DQo+ID4gPiA+ID09PT09PT09PT09PQ0KPiA+ID4g PiAqIERvY3VtZW50IGRpc2FibGVkL2RlcHJlY2F0ZWQgY3J5cHRvZ3JhcGhpYyBzZXJ2aWNlcw0K PiA+ID4gPiAqIEFkZCBtaXNzaW5nIFVOSSBmaWxlcyBpbiBCYXNlQ3J5cHRMaWINCj4gPiA+ID4g KiBVcGRhdGUgQmFzZUNyeXB0TGliIGludGVybmFsIGZ1bmN0aW9ucyB0byBiZSBTVEFUSUMgYW5k IHJlbW92ZQ0KPiBFRklBUEkNCj4gPiA+ID4gKiBBZGQgR0xPQkFMX1JFTU9WRV9JRl9VTlJFRkVS RU5DRUQgdG8gQmFzZUNyeXB0TGliIGdsb2JhbA0KPiA+ID4gPiB2YXJpYWJsZXMNCj4gPiA+ID4g KiBGaXggQmFzZUNyeXB0TGliIHVuaXQgdGVzdHMNCj4gPiA+ID4gKiBDbGVhbnVwIEJhc2VDcnlw dExpYiBhbmQgVGxzTGliIElORiBmaWxlcyBhbmQNCj4gPiA+ID4gKiBNb3ZlIFN5c0NhbGwvaW5l dF9wdG9uLmMgZnJvbSBCYXNlQ3J5cHRMaWIgdG8gVGxzTGliIHRoYXQgdXNlcyBpdC4NCj4gPiA+ ID4gKiBNZXJnZSA0IHBlcmZvcm1hbmNlIG9wdGltaXplZCBJTkZzIGludG8gT3BlbnNzbExpYipB Y2NlbC5pbmYNCj4gPiA+ID4gKiBSZW1vdmUgdXNlIG9mIFBjZE9wZW5zc2xFY0VuYWJsZWQgYW5k IHVzZSBPcGVuc3NsTGliRnVsbCouaW5mDQo+ID4gPiBpbnN0ZWFkDQo+ID4gPiA+ICogQWRkIE9w ZW5zc2xMaWIgYW5kIEludHJpbnNpY0xpYiB0byBDcnlwdG9Qa2cuZGVjIGFzIHByaXZhdGUgbGli cmFyeQ0KPiA+ID4gY2xhc3Nlcw0KPiA+ID4gPiAqIFVwZGF0ZSBhbGwgT3BlbnNzbExpYiBpbnN0 YW5jZXMgdG8gYWx3YXlzIHByb2R1Y2UgYWxsIEFQSXMgaW4NCj4gT3BlbnNzbExpYg0KPiA+ID4g PiBjbGFzcw0KPiA+ID4gPiAqIE1vdmUgUHJpbnRMaWIgZGVwZW5kZW5jeSBmcm9tIE9wZW5zc2xM aWIgSU5GIGZpbGVzIHRvIEJhc2VDcnlwdExpYg0KPiBJTkYNCj4gPiA+ID4gZmlsZXMNCj4gPiA+ ID4gKiBVcGRhdGUgQ3J5cHRvUGtnLmRzYyBmaWxlcyB0byBwcm92aWRlIGZ1bGwgQ0kgdGVzdCBj b3ZlcmFnZSBhY3Jvc3MgYWxsDQo+IHRoZQ0KPiA+ID4gPiAgICBzdXBwb3J0ZWQgY29tYmluYXRp b25zIG9mIE9wZW5zc2xMaWIsIEJhc2VDcnlwdExpYiwgYW5kIFRsc0xpYg0KPiA+ID4gaW5zdGFu Y2VzLg0KPiA+ID4gPiAqIFJlbW92ZSBQQUNLQUdFIHByb2ZpbGUgZnJvbSBDcnlwdG9Qa2cuZHNj IGFuZCBhZGQNCj4gPiA+ID4gVEFSR0VUX1VOSVRfVEVTVFMNCj4gPiA+ID4gICBwcm9maWxlLiAg QWRkaW5nIFRBUkdFVF9VTklUX1RFU1RTIHByb2ZpbGUgaXMgcmVxdWlyZWQgdG8gcHJldmVudCBh DQo+IGZldw0KPiA+ID4gPiB1bml0DQo+ID4gPiA+ICAgdGVzdCBhcnRpZmFjdHMgYmVpbmcgaW5j bHVkZWQgaW4gbm9uIHVuaXQgdGVzdCBidWlsZHMgb2YgY29tcG9uZW50cy4NCj4gPiA+ID4gKiBB ZGQgQ3J5cHRvUGtnIFJlYWRtZS5tZCB3aXRoIG92ZXJ2aWV3IGFuZCBwbGF0Zm9ybSBpbnRlZ3Jh dGlvbg0KPiA+ID4gPiBkZXRhaWxzLg0KPiA+ID4gPiAqIFVwZGF0ZSBob3N0LWJhc2VkIHVuaXQg dGVzdHMgdG8gYWx3YXlzIHVzZSBPcGVuc3NsTGliRnVsbC5pbmYgYW5kDQo+IGFkZA0KPiA+ID4g PiB1bml0DQo+ID4gPiA+ICAgdGVzdCBjb3ZlcmFnZSBmb3IgT3BlbnNzbExpYkZ1bGxBY2NlbC5p bmYuDQo+ID4gPiA+ICogQWRkIFJlYWRtZS5tZCB3aXRoIENyeXB0b1BrZyBvdmVydmlldyBhbmQg cGxhdGZvcm0gaW50ZWdyYXRpb24NCj4gPiA+ID4gICBkb2N1bWVudGF0aW9uDQo+ID4gPiA+DQo+ ID4gPiA+IE5ldyBpbiBWMg0KPiA+ID4gPiA9PT09PT09PT0NCj4gPiA+ID4gKiBGaXggc2Vydmlj ZSB0YWJsZSBpbiBSZWFkbWUubWQNCj4gPiA+ID4gKiBGaXggVlMyMDE1eDg2IFJFTEVBU0UgYnVp bGRzIGJ5IGRpc2FibGluZyB3YXJuaW5nIDQ3MTgNCj4gPiA+ID4gKiBSZWJhc2UgdG8gbGF0ZXN0 IGFuZCBhZGQgbWlzc2luZyBFQyBmdW5jdGlvbnMgaW4gRWNTbTJOdWxsLmMNCj4gPiA+ID4gKiBV cGRhdGUgcGVybCBzY3JpcHRzIHRvIGF1dG8tZ2VuZXJhdGUgYWxsIE9wZW5zc2xMaWIgSU5GIGZp bGVzDQo+ID4gPiA+ICogVXBkYXRlIE9wZW5zc2xMaWIgSU5GIGZpbGVzIHRvIG1hdGNoIGF1dG8t Z2VuZXJhdGVkIGZvcm1hdA0KPiA+ID4gPg0KPiA+ID4gPiBDYzogSmlld2VuIFlhbyA8amlld2Vu Lnlhb0BpbnRlbC5jb20+DQo+ID4gPiA+IENjOiBKaWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50 ZWwuY29tPg0KPiA+ID4gPiBDYzogWGlhb3l1IEx1IDx4aWFveXUxLmx1QGludGVsLmNvbT4NCj4g PiA+ID4gQ2M6IEd1b21pbiBKaWFuZyA8Z3VvbWluLmppYW5nQGludGVsLmNvbT4NCj4gPiA+ID4g Q2M6IENocmlzdG9waGVyIFp1cmNoZXIgPGNocmlzdG9waGVyLnp1cmNoZXJAbWljcm9zb2Z0LmNv bT4NCj4gPiA+ID4gQ2M6IFJlYmVjY2EgQ3JhbiA8cXVpY19yY3JhbkBxdWljaW5jLmNvbT4NCj4g PiA+ID4gQ2M6IEFyZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+DQo+ID4gPiA+IENjOiBZ aSBMaSA8eWkxLmxpQGludGVsLmNvbT4NCj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogTWljaGFlbCBE IEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gPiA+DQo+ID4gPiA+IE1p Y2hhZWwgRCBLaW5uZXkgKDEyKToNCj4gPiA+ID4gICBDcnlwdG9Qa2c6IERvY3VtZW50IGFuZCBk aXNhYmxlIGRlcHJlY2F0ZWQgY3J5cHRvIHNlcnZpY2VzDQo+ID4gPiA+ICAgQ3J5cHRvUGtnL0xp YnJhcnkvQmFzZUNyeXB0TGliOiBBZGQgbWlzc2luZyBVTkkgZmlsZSBhbmQgZml4IGZvcm1hdA0K PiA+ID4gPiAgIENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYjogVXBkYXRlIGludGVybmFs IGZ1bmN0aW9ucy92YXJpYWJsZXMNCj4gPiA+ID4gICBDcnlwdG9Qa2cvVGVzdC9Vbml0VGVzdC9M aWJyYXJ5L0Jhc2VDcnlwdExpYjogVW5pdCB0ZXN0IGZpeGVzDQo+ID4gPiA+ICAgQ3J5cHRvUGtn L0xpYnJhcnk6IENsZWFudXAgQmFzZUNyeXB0TGliIGFuZCBUbHNMaWINCj4gPiA+ID4gICBDcnlw dG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliOiBDb21iaW5lIGFsbCBwZXJmb3JtYW5jZSBvcHRpbWl6 ZWQNCj4gSU5Gcw0KPiA+ID4gPiAgIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWI6IFByb2R1 Y2UgY29uc2lzdGVudCBzZXQgb2YgQVBJcw0KPiA+ID4gPiAgIENyeXB0b1BrZy9MaWJyYXJ5L09w ZW5zc2xMaWI6IFJlbW92ZSBQcmludExpYiBmcm9tIElORiBmaWxlcw0KPiA+ID4gPiAgIENyeXB0 b1BrZzogUmVtb3ZlIFBjZE9wZW5zc2xFY0VuYWJsZWQgZnJvbSBDcnlwdG9Qa2cuZGVjDQo+ID4g PiA+ICAgQ3J5cHRvUGtnOiBVcGRhdGUgRFNDIHRvIGltcHJvdmUgQ0kgdGVzdCBjb3ZlcmFnZQ0K PiA+ID4gPiAgIENyeXB0b1BrZzogRml4ZWQgaG9zdC1iYXNlZCB1bml0IHRlc3RzDQo+ID4gPiA+ ICAgQ3J5cHRvUGtnOiBBZGQgUmVhZG1lLm1kDQo+ID4gPiA+DQo+ID4gPiA+IFlpIExpICg0KToN Cj4gPiA+ID4gICBSZXZlcnQgIkNyeXB0b1BrZzogVXBkYXRlIHByb2Nlc3NfZmlsZXMucGwgdG8g YXV0byBhZGQgUENEIGNvbmZpZw0KPiA+ID4gPiAgICAgb3B0aW9uIg0KPiA+ID4gPiAgIENyeXB0 b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWI6IFVwZGF0ZSBwcm9jZXNzX2ZpbGVzLnBsIElORg0KPiBn ZW5lcmF0aW9uDQo+ID4gPiA+ICAgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYjogQWRkIGdl bmVyYXRlZCBmbGFnIHRvIEFjY2VsIElORg0KPiA+ID4gPiAgIENyeXB0b1BrZy9MaWJyYXJ5L09w ZW5zc2xMaWI6IHVwZGF0ZSBhdXRvLWdlbmVyYXRlZCBmaWxlcw0KPiA+ID4gPg0KPiA+ID4gPiAg Q3J5cHRvUGtnL0NyeXB0b1BrZy5jaS55YW1sICAgICAgICAgICAgICAgICAgIHwgIDExICstDQo+ ID4gPiA+ICBDcnlwdG9Qa2cvQ3J5cHRvUGtnLmRlYyAgICAgICAgICAgICAgICAgICAgICAgfCAg NDIgKy0NCj4gPiA+ID4gIENyeXB0b1BrZy9DcnlwdG9Qa2cuZHNjICAgICAgICAgICAgICAgICAg ICAgICB8IDQzOCArKysrKysrKy0tLQ0KPiA+ID4gPiAgLi4uL1BjZC9QY2RDcnlwdG9TZXJ2aWNl RmFtaWx5RW5hYmxlLmggICAgICAgIHwgMTIyICstLQ0KPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFz ZUNyeXB0TGliL0Jhc2VDcnlwdExpYi5pbmYgICAgIHwgIDEwICstDQo+ID4gPiA+ICAuLi4vTGli cmFyeS9CYXNlQ3J5cHRMaWIvQmFzZUNyeXB0TGliLnVuaSAgICAgfCAgIDIgLQ0KPiA+ID4gPiAg Li4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL0htYWMvQ3J5cHRIbWFjLmMgICAgIHwgICA3ICsNCj4g PiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9LZGYvQ3J5cHRIa2RmLmMgICAgICB8ICAg NSArLQ0KPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BlaUNyeXB0TGliLmluZiAg ICAgIHwgICA4ICstDQo+ID4gPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvUGVpQ3J5cHRM aWIudW5pICAgICAgfCAgIDIgLQ0KPiA+ID4gPiAgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0 TGliL1BlbS9DcnlwdFBlbS5jIHwgICA0IC0NCj4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWIvUGsv Q3J5cHRBdXRoZW50aWNvZGUuYyAgICAgICB8ICAgMiArLQ0KPiA+ID4gPiAgLi4uL0Jhc2VDcnlw dExpYi9Qay9DcnlwdFBrY3M3VmVyaWZ5Q29tbW9uLmMgIHwgICAzICstDQo+ID4gPiA+ICAuLi4v QmFzZUNyeXB0TGliL1BrL0NyeXB0UGtjczdWZXJpZnlFa3UuYyAgICAgfCAgIDMgKw0KPiA+ID4g PiAgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BrL0NyeXB0VHMuYyAgIHwgIDQ0ICst DQo+ID4gPiA+ICBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvUGsvQ3J5cHRYNTA5LmMg fCAgIDQgLQ0KPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1J1bnRpbWVDcnlwdExp Yi5pbmYgIHwgICA5ICstDQo+ID4gPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvUnVudGlt ZUNyeXB0TGliLnVuaSAgfCAgIDIgLQ0KPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGli L1NlY0NyeXB0TGliLmluZiAgICAgIHwgIDEzICstDQo+ID4gPiA+ICAuLi4ve1NtbUNyeXB0TGli LnVuaSA9PiBTZWNDcnlwdExpYi51bml9ICAgICAgfCAgMTEgKy0NCj4gPiA+ID4gIC4uLi9MaWJy YXJ5L0Jhc2VDcnlwdExpYi9TbW1DcnlwdExpYi5pbmYgICAgICB8ICAxMiAtDQo+ID4gPiA+ICAu Li4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvU21tQ3J5cHRMaWIudW5pICAgICAgfCAgIDIgLQ0KPiA+ ID4gPiAgLi4uL0Jhc2VDcnlwdExpYi9Vbml0VGVzdEhvc3RCYXNlQ3J5cHRMaWIuaW5mIHwgIDIy ICstDQo+ID4gPiA+ICAuLi4vTGlicmFyeS9JbmNsdWRlL29wZW5zc2wvb3BlbnNzbGNvbmYuaCAg ICAgfCAzMjggKysrKysrKy0NCj4gPiA+ID4gIC4uLi9JbmNsdWRlL29wZW5zc2wvb3BlbnNzbGNv bmZfZ2VuZXJhdGVkLmggICB8IDMzMyAtLS0tLS0tLS0NCj4gPiA+ID4gIENyeXB0b1BrZy9MaWJy YXJ5L09wZW5zc2xMaWIvRWNTbTJOdWxsLmMgICAgICB8IDM4MyArKysrKysrKysrDQo+ID4gPiA+ ICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWIuaW5mICAgfCAgOTEgKy0t DQo+ID4gPiA+ICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWIudW5pICAg fCAgMTAgKy0NCj4gPiA+ID4gIC4uLk9wZW5zc2xMaWJJYTMyLmluZiA9PiBPcGVuc3NsTGliQWNj ZWwuaW5mfSB8IDE1NCArKy0tDQo+ID4gPiA+ICAuLi4vTGlicmFyeS9PcGVuc3NsTGliL09wZW5z c2xMaWJBY2NlbC51bmkgICAgfCAgMTQgKw0KPiA+ID4gPiAgLi4uL09wZW5zc2xMaWIvT3BlbnNz bExpYkNvbnN0cnVjdG9yLmMgICAgICAgIHwgICA2ICstDQo+ID4gPiA+ICAuLi4vTGlicmFyeS9P cGVuc3NsTGliL09wZW5zc2xMaWJDcnlwdG8uaW5mICAgfCAgOTIgKy0tDQo+ID4gPiA+ICAuLi4v TGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJDcnlwdG8udW5pICAgfCAgMTEgKy0NCj4gPiA+ ID4gIC4uLmVuc3NsTGliSWEzMkdjYy5pbmYgPT4gT3BlbnNzbExpYkZ1bGwuaW5mfSB8IDE3MiAr KystLQ0KPiA+ID4gPiAgLi4uL3tPcGVuc3NsTGliLnVuaSA9PiBPcGVuc3NsTGliRnVsbC51bml9 ICAgIHwgIDEwICstDQo+ID4gPiA+ICAuLi5sTGliWDY0R2NjLmluZiA9PiBPcGVuc3NsTGliRnVs bEFjY2VsLmluZn0gfCAyMTIgKysrKy0tDQo+ID4gPiA+ICAuLi4vT3BlbnNzbExpYi9PcGVuc3Ns TGliRnVsbEFjY2VsLnVuaSAgICAgICAgfCAgMTQgKw0KPiA+ID4gPiAgLi4uL0xpYnJhcnkvT3Bl bnNzbExpYi9PcGVuc3NsTGliWDY0LmluZiAgICAgIHwgNzA2IC0tLS0tLS0tLS0tLS0tLS0tLQ0K PiA+ID4gPiAgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9Tc2xOdWxsLmMgICAgICAgIHwg NDA1ICsrKysrKysrKysNCj4gPiA+ID4gIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvcHJv Y2Vzc19maWxlcy5wbCB8IDE2OCArKystLQ0KPiA+ID4gPiAgLi4uL1N5c0NhbGwvaW5ldF9wdG9u LmMgICAgICAgICAgICAgICAgICAgICAgIHwgICAwDQo+ID4gPiA+ICBDcnlwdG9Qa2cvTGlicmFy eS9UbHNMaWIvVGxzQ29uZmlnLmMgICAgICAgICAgfCAgMTIgKy0NCj4gPiA+ID4gIENyeXB0b1Br Zy9MaWJyYXJ5L1Rsc0xpYi9UbHNMaWIuaW5mICAgICAgICAgICB8ICAxMiArLQ0KPiA+ID4gPiAg Q3J5cHRvUGtnL1ByaXZhdGUvTGlicmFyeS9JbnRyaW5zaWNMaWIuaCAgICAgIHwgIDE2ICsNCj4g PiA+ID4gIENyeXB0b1BrZy9Qcml2YXRlL0xpYnJhcnkvT3BlbnNzbExpYi5oICAgICAgICB8ICAx NCArDQo+ID4gPiA+ICBDcnlwdG9Qa2cvUmVhZG1lLm1kICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCA0OTggKysrKysrKysrKysrDQo+ID4gPiA+ICBDcnlwdG9Qa2cvVGVzdC9DcnlwdG9Qa2dI b3N0VW5pdFRlc3QuZHNjICAgICAgfCAgMTcgKy0NCj4gPiA+ID4gIC4uLi9Vbml0VGVzdC9MaWJy YXJ5L0Jhc2VDcnlwdExpYi9IbWFjVGVzdHMuYyB8ICAxNyArLQ0KPiA+ID4gPiAgLi4uL1VuaXRU ZXN0L0xpYnJhcnkvQmFzZUNyeXB0TGliL1RTVGVzdHMuYyAgIHwgICAyICstDQo+ID4gPiA+ICAu Li4vVGVzdEJhc2VDcnlwdExpYkhvc3RBY2NlbC5pbmYgICAgICAgICAgICAgfCAgNTYgKysNCj4g PiA+ID4gIDUwIGZpbGVzIGNoYW5nZWQsIDI3MTEgaW5zZXJ0aW9ucygrKSwgMTgyMCBkZWxldGlv bnMoLSkNCj4gPiA+ID4gIGNvcHkgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL3tTbW1D cnlwdExpYi51bmkgPT4NCj4gPiA+ID4gU2VjQ3J5cHRMaWIudW5pfSAoNzQlKQ0KPiA+ID4gPiAg ZGVsZXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+IENyeXB0b1BrZy9MaWJyYXJ5L0luY2x1ZGUvb3Bl bnNzbC9vcGVuc3NsY29uZl9nZW5lcmF0ZWQuaA0KPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvRWNTbTJOdWxsLmMNCj4gPiA+ID4gIHJlbmFt ZSBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3tPcGVuc3NsTGliSWEzMi5pbmYgPT4NCj4g PiA+ID4gT3BlbnNzbExpYkFjY2VsLmluZn0gKDc5JSkNCj4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEw MDY0NA0KPiBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJBY2NlbC51bmkN Cj4gPiA+ID4gIHJlbmFtZSBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3tPcGVuc3NsTGli SWEzMkdjYy5pbmYgPT4NCj4gPiA+ID4gT3BlbnNzbExpYkZ1bGwuaW5mfSAoNzklKQ0KPiA+ID4g PiAgY29weSBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL3tPcGVuc3NsTGliLnVuaSA9Pg0K PiBPcGVuc3NsTGliRnVsbC51bml9DQo+ID4gPiA+ICg1NiUpDQo+ID4gPiA+ICByZW5hbWUgQ3J5 cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi97T3BlbnNzbExpYlg2NEdjYy5pbmYgPT4NCj4gPiA+ ID4gT3BlbnNzbExpYkZ1bGxBY2NlbC5pbmZ9ICg3OCUpDQo+ID4gPiA+ICBjcmVhdGUgbW9kZSAx MDA2NDQNCj4gPiA+ID4gQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliRnVs bEFjY2VsLnVuaQ0KPiA+ID4gPiAgZGVsZXRlIG1vZGUgMTAwNjQ0DQo+IENyeXB0b1BrZy9MaWJy YXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYlg2NC5pbmYNCj4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEw MDY0NCBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL1NzbE51bGwuYw0KPiA+ID4gPiAgcmVu YW1lIENyeXB0b1BrZy9MaWJyYXJ5L3tCYXNlQ3J5cHRMaWIgPT4NCj4gVGxzTGlifS9TeXNDYWxs L2luZXRfcHRvbi5jDQo+ID4gPiA+ICgxMDAlKQ0KPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 IENyeXB0b1BrZy9Qcml2YXRlL0xpYnJhcnkvSW50cmluc2ljTGliLmgNCj4gPiA+ID4gIGNyZWF0 ZSBtb2RlIDEwMDY0NCBDcnlwdG9Qa2cvUHJpdmF0ZS9MaWJyYXJ5L09wZW5zc2xMaWIuaA0KPiA+ ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENyeXB0b1BrZy9SZWFkbWUubWQNCj4gPiA+ID4gIGNy ZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ID4gPg0KPiA+ID4NCj4gQ3J5cHRvUGtnL1Rlc3QvVW5pdFRl c3QvTGlicmFyeS9CYXNlQ3J5cHRMaWIvVGVzdEJhc2VDcnlwdExpYkhvc3RBY2NlbC5pDQo+ID4g PiA+IG5mDQo+ID4gPiA+DQo+ID4gPiA+IC0tDQo+ID4gPiA+IDIuMzcuMS53aW5kb3dzLjENCj4g PiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+IA0KPiA+ID4NCg0K