From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web09.16171.1665541408773839590 for ; Tue, 11 Oct 2022 19:23:28 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=lrPU6pNR; spf=pass (domain: intel.com, ip: 192.55.52.93, 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=1665541408; x=1697077408; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=t7s+zv7MII43kY/EeeRulbP4/tkijl+LFXbAvMsMpQk=; b=lrPU6pNRW6BXkNdjhUU6i5PAN9zaidiU8MmyxrUsmeCnNyUur32kMu6J gip2UlI6HG0fGi9RVjlETEbUKpyo5pO7TjwrdMGJrn+qVIALzd5JdrdAv uXKdVpIi9XodtkNFrpYVh+VfKLqc1jz1f1FNayZJxahB2N4dCaKEJ9oWh 2uHGpPsJ99AwHVXfHb/iHJBPrjSqGZhlWGYTsh/nyBmumO2bKxcL72Qil 3Ola1JTaeanjES/uXFeiFEBQt9R17OiF3ub2YUnuMow+AGdPUTcm7ywxD MYkq0XVBygvXPtM018DFpRKEaTaT1+U2HUB50UA/3Jgry4jgnWxYAlsgh w==; X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="302289326" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="302289326" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Oct 2022 19:23:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="731233356" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="731233356" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga002.fm.intel.com with ESMTP; 11 Oct 2022 19:23:28 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX602.amr.corp.intel.com (10.22.229.15) 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:23:27 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) 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; Tue, 11 Oct 2022 19:23:27 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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 via Frontend Transport; Tue, 11 Oct 2022 19:23:27 -0700 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.49) 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 19:23:26 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YB2PB6/NrVnoqJ6iPZNMca5IK8wXY0GiXVvvr6w2OJ76CqUFF/gGADlahfFhGgbQoyMP/jbUO6+IVYiTjESipepST+NqdP7Y3JbuY7AMOz2Y7+x0iCgE0W2I1b53np92DKMW61s4nvPp5tBo3Hy92SouwiRdXtMAbuiV8nVGsJLk7ue7FrIP7TCi78E5Bl9NoukURH39BSqNS49lN33ZrZyC/eXcV2gclbTmt/smA/qjBHa5BxQ+IwKm8zp1xEUzggKi8UaJpBb1TYOYJhDRLM6bNDdnbL+j0NzuvBY39/hhCshEoMcps1JjyM5CaH3bASh7lAnSjurUEMjw38CMjg== 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=t7s+zv7MII43kY/EeeRulbP4/tkijl+LFXbAvMsMpQk=; b=kpxb+c0BTXUks8vqagniiR8RaKJ0YesIWDnoZdBhZfrfQHoZBwTKpyOjl4HoW6Mqh+qq/n1TxqKIPawMxdAdOEH4Mf/CnTIFPBNhdFRbzDKJgPi6lIX8n9dpQ8xztZswv0SondA28TvXgs/KWnkblcnlxmP+wNPyLOB3v6h3nSrRTa9RMg+cC1J5Y4RuzQN7N6SKe3FflH4lt1ton4Lc0JIjrMoy4o/45Wa1/BbZDpfG1E1J/bUpKsCV0K1ZrCQnvtylaCrJ6Cfx9ITCYJCPUp89WUE8+YbwkP9RVHl22dM98jsKLtdx+5Rvu5KAOFZ4sqfs0FyyA7fxVTMGEn5tkg== 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 DS0PR11MB7382.namprd11.prod.outlook.com (2603:10b6:8:134::22) 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:23:23 +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 02:23:23 +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+2G9M3T1rE6q4J84MQgAAHB4CAAAP20IAABHYAgAAAouA= Date: Wed, 12 Oct 2022 02:23:23 +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_|DS0PR11MB7382:EE_ x-ms-office365-filtering-correlation-id: 4c561b20-29ca-454e-29e3-08daabf8bcd4 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: rKsfiwCNdidNLHH+HNZ9v8r3jz7LXGj1kuRsDeIsXQgW0BTPMJPeD/A4pTXnWR6OsmmQahwm4ZO+eB4IsQJB0PJv/U8GshdzDh6fBJa+Dg9f8xLgvNZhVRKy/Le7W6cGuhob8465NPFe9TNZziOYV6Imrt80y2J6278EYfoC+jReDH3NMSeudXGlmQmN+daTPBRMbCkul4ok9NIGuQ3FQbxo1BMSc3n53VoM9zur20mLYE476bX8scHhz7KawR8GRzIHbBSpsgrUG/zTvsXDFAVnAliMvCf7EVrgODvg+uY+cUOvg0Cs3H2x5biIvXTewI908z5emqZICJBiVIW+CVvVnnj7i9A3DEMl/XAjF+ByqSx4I71xiT3QwIbTCS9LhH0EsCL9iwLdiN9DfexjWDV71ZSsyhduFADXWPWDN5mojWMPh1WeKarhOkSv7XrZFR9iuHM5GSIpUm/7Abzkw/o4Gl6xQVPFmqXFwOGXVxsUcLc/0MbWObT74e2Ec2+E94rGtxHiqKxy5ZYDPaIbX0UWM9uPsrIGkuxvQdkyD8IH5YzjeCbWB7XjxN0b52wH6dOvSamxzSHaJOw6sCLmzAivfmTBZhzGAWckGV7LBqXuyoaOxbzCIcA/z+DXfVHlMhtZs8nRAe0z8vTiFlFusicT1tZ3AwHhfoIUHR1OOtG7GBg2QPlzyoqDwwN1Ve3zq+vWq9KYApVKbuuvWCvlkt3wYGufvt4cGVojO3K2yqooCNmtwYWTyuSaOmXSxvUjRF1dZzJB7pC7G32Zm20XX5+43sEHoHhO5ojAHf1PSemOc5kg9jEQwKHbKJ7+A89rU94adpbrFdjse9BORr+klA== 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)(346002)(136003)(376002)(366004)(451199015)(53546011)(6506007)(7696005)(76116006)(66476007)(66946007)(66556008)(33656002)(19627235002)(64756008)(110136005)(66446008)(316002)(4326008)(8676002)(38100700002)(55016003)(122000001)(38070700005)(82960400001)(86362001)(83380400001)(186003)(26005)(9686003)(71200400001)(478600001)(966005)(52536014)(2906002)(41300700001)(30864003)(5660300002)(8936002)(54906003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RTVCVlNnT2lkT095Z1h0QU4zbnNoUHgwTWE0bnA4cHFvOGZETzhJTC9aK0wv?= =?utf-8?B?b2ZjNXBaNFVacDd1d2dCd1FTMVF4RTNTQTVRMnIva2JCQkY5NEpWNzh4SFRJ?= =?utf-8?B?Zkl2WVR4WTZ0UEtSS0FOVW96Q3BnYUx4SXRSSXQ3VHZLYjJhYlJsU3Z1ZzJy?= =?utf-8?B?aGNBTS9aekt2aEJNOUhYSlRwM2pVeEpQQzZjZzJRL21SVFBZdU92aHFxVUx1?= =?utf-8?B?d09WVUVyY0R3b3llZi9HWWUwWHFJQlFzRkRWZzJRVDJhUUpxK21IQStUeFFt?= =?utf-8?B?cU9mYTFQbXBjS2JHazJaaFlNT3FXTDF6RVV6dGtCWTlPUEZDdzNKYkJ4K281?= =?utf-8?B?RGU2SzBRYUlady9saVhOWmY5eFd4RE9CSWpubGNEd3VKZ1JmbFlCREFFUnRr?= =?utf-8?B?L1V5T2lMMzlsRDJGNmpzVHJjU3RkU3Y4Q3F3d0xRQnRlVTUwMVNZaGZCc3Ri?= =?utf-8?B?OTVMYm4yVzNOak5PeDBhMVN4cjlrNU9RSEczRjkzNFAwUFVNVVJHYmlKYTVF?= =?utf-8?B?QlliMlhwNXNDQm5kTTRGTVlyZ2R0b2lIQUozeXJSTHovWjFrNzVIeUdNRVZ1?= =?utf-8?B?ME9zMVJYM0NlQUx3L0tiZjQwdTk5VS81UFgrZHVWSjVGRWlBMkJwamlUcXVB?= =?utf-8?B?dVI2UUVzUjh3OEVTWVc2MXpnc3E1cGVHOFIxUHhkTFVKakJLbENZMHhFY0My?= =?utf-8?B?cHVkSS9TTkNtWk9NS05ZRDBTUlQwTG1TYkZ3Vm0yaTVBQjBaZjJFQllCaFlv?= =?utf-8?B?eGY4ZHJaME4zd1VhU2FGelZTOStRdCs2SVJ1U0ZoWUhRU29STlVNL2JYWmpM?= =?utf-8?B?Z2xnMkVzWUtxY0lqVnh6bnRvc3p3dm9TOWp5RXpGS1R0RFhCcmtGUGlUT0tp?= =?utf-8?B?YTh5VXlXZzNJZTdaWURHaXI0SGJOM2psTGh2VmRjdk1Xd0pJM0MycFRncy82?= =?utf-8?B?di9qVzI2YnIrcWhma0ZuSmF6elFKczNxd1RCU0lzWHVhNnFFZXRLT2pwSG96?= =?utf-8?B?WFczb3hhNWlzMk5raDc5bXdJMllqL1FLc2trSTVwS3A2L0o5b0xTK0pIL203?= =?utf-8?B?MC9DOWVaSUxBaWhGMUhZWVR6VXdKSndXN1hucXBmbVdOSGg4ZjI2dW1yYWh1?= =?utf-8?B?SHFjdGkzTnRSb2hFNEZmMy9jaGFxZk1XUy9udHpXeENVMlIrRG5FZkxENWdk?= =?utf-8?B?MDNUQW5TQUN4d0lJbk85bzc3a0FLYjFiMnRyWXF3ZmxtRzllVm1tczlwc2Ir?= =?utf-8?B?a2U0RVM2cmJaVUo1b3VMK1lVamhuNzBHa2JVSWZVeG5XSzVRUlVZMUxsQjZk?= =?utf-8?B?ak1Fb1hOcmlIU3pGMUsyMTZXblJNcXN6WjdYTlN5Tm1RTUlKQTduOFMxazFj?= =?utf-8?B?UEJZUWlyMzVxeVJkaEM2dDBpSXlja2lwMnVOQlc4dFpQTnJBU1AwOUZ5UWda?= =?utf-8?B?Mi8xNlk3bXkzSDdoV2w4Q21yWXh5Y2RvVE9NSkkrNEJiSkxzait1MHh6VzRu?= =?utf-8?B?aHBpeS9HL0p4TDN1TS9ZRWZRM3dkTEVybGZsc2xJMnAyTER4UmFnOXpLZUpT?= =?utf-8?B?eFh5aFExYk1ZcGxkQU1rRHQxRUlzL3hHZndmYTd4WjJ1Rnk4WVR1YUt1TnFH?= =?utf-8?B?TkhYb3VlN3dzOFNFbGF2UENtaXJtY09oaXhNMlE4K256alZWa3dsdU4xT3Bw?= =?utf-8?B?UXAwZlA2QkpsaXNkVW1lUDl6V2dIdHFsUzA0TjlkVWNjQXNuZ3UyeFNwMlZS?= =?utf-8?B?NndrUENGSlJrb2VjaTRZTVo3SHd2S1BNSG1FV2llVnNpcldLRjR6TGErUCt5?= =?utf-8?B?NTF5THAxRy9LSlloUjUrSC9pZm5NYmErUkFKS1JDeCt6UUgwUjNqajRPaDhH?= =?utf-8?B?MnowMDhZbTRMRUxFUE9MUGordTZ0dlpWL3ZMTC8yd2w2OHVYL2dvSStBTXlp?= =?utf-8?B?ZVJZamNjV1JNSS8xdENpa2c4dHY0Q2UzdEtKVVJOZkJka1Nia1g4WkFtdVd1?= =?utf-8?B?ZU5QSTM3Y2FFRFFSRDVGTElTeEN4Q2dBeHVQYjVDbFoxVXNYb01VdHN6Z0U4?= =?utf-8?B?OGZhN3JmRUx6S0lZdlltb1hFVXQ4aUVSQUxKdDBvb2pZWmVqWlpKVnhpM1Nk?= =?utf-8?B?TjZCcGFabmk3bnFlOWc5akJhWTFySkFFYmk4WEVXTm1hazlGbzJwQXMwQTl4?= =?utf-8?B?OEE9PQ==?= 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: 4c561b20-29ca-454e-29e3-08daabf8bcd4 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2022 02:23:23.4133 (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: dqyVP5ZcE6KyP9sSs7Yyukk8meM8bgtZYtUxXv1Z+zKACIDMnRBLhgrcDfDGKlQ2AyeTVPDpUX12qzG8cEdl+A5XneVcwGHuQQsUXQZz3K4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB7382 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 SGkgSmlld2VuLA0KDQpjb21tZW50cyBiZWxvdy4NCg0KTWlrZQ0KDQo+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+IEZyb206IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4N Cj4gU2VudDogVHVlc2RheSwgT2N0b2JlciAxMSwgMjAyMiA3OjA3IFBNDQo+IFRvOiBLaW5uZXks IE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vw cy5pbw0KPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlh b3l1MSA8eGlhb3l1MS5sdUBpbnRlbC5jb20+OyBKaWFuZywgR3VvbWluIDxndW9taW4uamlhbmdA aW50ZWwuY29tPjsgWnVyY2hlciwNCj4gQ2hyaXN0b3BoZXIgPGNocmlzdG9waGVyLnp1cmNoZXJA bWljcm9zb2Z0LmNvbT47IFJlYmVjY2EgQ3JhbiA8cXVpY19yY3JhbkBxdWljaW5jLmNvbT47IEFy ZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+DQo+IFN1YmplY3Q6IFJFOiBbUGF0Y2ggMDAv MTJdIENyeXB0b1BrZzogUmVtb3ZlIEVDIFBDRCBhbmQgbWVyZ2UgcGVyZiBvcHQgT3BlbnNzbExp YnMNCj4gDQo+IE9LLiBUaGF0IG1lYW5zIHdlIG5lZWQgbWFudWFsIHdyaXRlIGEgd3JhcHBlciBm b3IgYWxsIEVDIEFQSXMgaW4gT3BlbnNzbCBMaWIgZm9yIGludGVybmFsIHVzYWdlLg0KPiBNb3Jl IHByZWNpc2VseSwgYSB3cmFwcGVyIGZvciB0aGUgZGVsdGEgYmV0d2VlbiBPcGVuc3NsTGliIGFu ZCBPcGVuc3NsTGliRnVsbCwgcmlnaHQ/DQoNClllcy4gIFRoaXMgdGhlc2UgYXJlIGltcGxlbWVu dGVkIGluOg0KDQpodHRwczovL2dpdGh1Yi5jb20vbWRraW5uZXkvZWRrMi9ibG9iL0NyeXB0b1Br Z19SZW1vdmVFY1BjZF9NZXJnZU9wdGltaXplZE9wZW5zc2xMaWJzL0NyeXB0b1BrZy9MaWJyYXJ5 L09wZW5zc2xMaWIvU3NsTnVsbC5jDQpodHRwczovL2dpdGh1Yi5jb20vbWRraW5uZXkvZWRrMi9i bG9iL0NyeXB0b1BrZ19SZW1vdmVFY1BjZF9NZXJnZU9wdGltaXplZE9wZW5zc2xMaWJzL0NyeXB0 b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvRWNTbTJOdWxsLmMNCg0KTmV3IGluc3RhbmNlcyBhcmUg ZWFzeSB0byBmaW5kIGJlY2F1c2UgeW91IHdpbGwgZ2V0IGEgbGluayBmYWlsdXJlIGluIENJIGZv ciBtaXNzaW5nIHN5bWJvbHMgaWYNCkJhc2VDcnlwdExpYiBvciBUbHNMaWIgdXNlcyBhIG5ldyBB UEkgdGhhdCBpcyBvbmx5IHByZXNlbnQgaW4gT3BlbnNzbExpYkZ1bGwuaW5mLiAgV2hlbiB0aGF0 IG9jY3Vycw0KYWRkIHRoZSBOdWxsIHZlcnNpb24gb2YgQVBJIHRoYXQgYWx3YXlzIHJldHVybnMg YSBmYWlsdXJlIGNvbmRpdGlvbi4NCg0KVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gYmVmb3Jl IHRoaXMgUFIgaXMgdXNpbmcgT3BlbnNzbExpYiBjbGFzcywgYnV0IHRoZSBPcGVuc3NsTGliIGlu c3RhbmNlcw0KYXJlIGluY29uc2lzdGVudCBpbiB0aGUgQVBJcyBwcm9kdWNlZCBieSB0aGUgbGli IGluc3RhbmNlcy4gIFRoaXMgaXMgd2hhdCBjYXVzZWQgdGhlIGludHJvZHVjdGlvbg0Kb2YgI2lm IGZvciBFQyBmZWF0dXJlIGludG8gdGhlIGxheWVycyBhYm92ZSBPcGVuc3NsTGliLiAgVGhpcyBt ZWFucyB0aGUgRURLIElJIHJ1bGVzIGZvcg0KbGliIGNsYXNzL2xpYiBpbnN0YW5jZSB3ZXJlIG5v dCBmb2xsb3dlZCwgYW5kIHRoZSB3b3JrYXJvdW5kIHdhcyB0byB1c2UgI2lmIHdoaWNoIGFyZSBh bHNvIG5vdCBhbGxvd2VkLg0KDQpUaGUgY29ycmVjdCBmaXggaXMgdG8gZm9sbG93IEVESyBJSSBs aWIgY2xhc3MvbGliIGluc3RhbmNlIHJ1bGVzLiAgQWxsIGxpYiBpbnN0YW5jZXMgb2YgdGhlIHNh bWUgDQpsaWIgY2xhc3MgYWx3YXlzIHByb2R1Y2UgdGhlIHNhbWUgQVBJcywgYW5kIHRoZW4gYWxs IGNvbXBvbmVudHMgdGhhdCB1c2UgdGhlIGxpYiBjbGFzcyBjYW4gZGVwZW5kIA0Kb24gYWxsIHRo ZSBzZXJ2aWNlcyBiZWluZyBwcmVzZW50IHdpdGhvdXQgbGluayBmYWlsdXJlcy4NCg0KPiANCj4g VGhlcmUgd2lsbCBiZSBzaXplIGRpZmZlcmVuY2UgYmV0d2VlbiB0aG9zZSB0d28gc29sdXRpb25z LCBiZWNhdXNlIHRoZSBjb2RlIG90aGVyIHRoYW4gRUMgd2lsbCBiZSBpbmNsdWRlIGluIHRoZSBm dW5jdGlvbi4NCg0KWWVzLA0KDQo+IA0KPiBXaHkgbm90IHVzZSBOT19FQyBtYWNybyBmcm9tIG9w ZW5zc2wgZGlyZWN0bHk/DQoNCkJlY2F1c2UgdGhhdCBoaWRlcyBhbGwgdGhlIEVDIHJlbGF0ZWQg dHlwZXMgcmVxdWlyZWQgdG8gaW1wbGVtZW50IHRoZSBOdWxsIEVDIEFQSXMNCmFuZCB0aGUgRUMg dHlwZXMgcmVxdWlyZWQgaW4gdGhlIGxheWVyIGFib3ZlIE9wZW5zc2xMaWIgdGhhdCBjYWxscyBF QyBzZXJ2aWNlcy4NClRoZXkgd2lsbCBub3QgY29tcGlsZSB3aXRob3V0IHRoZSBFQyB0eXBlcyBi ZWluZyBkZWZpbmVkLg0KDQo+IA0KPiBUaGFuayB5b3UNCj4gWWFvIEppZXdlbg0KPiANCj4gDQo+ ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBLaW5uZXksIE1pY2hhZWwg RCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gU2VudDogV2VkbmVzZGF5LCBPY3Rv YmVyIDEyLCAyMDIyIDk6NTUgQU0NCj4gPiBUbzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50 ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87IEtpbm5leSwNCj4gPiBNaWNoYWVsIEQgPG1p Y2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53 YW5nQGludGVsLmNvbT47IEx1LCBYaWFveXUxDQo+ID4gPHhpYW95dTEubHVAaW50ZWwuY29tPjsg SmlhbmcsIEd1b21pbiA8Z3VvbWluLmppYW5nQGludGVsLmNvbT47DQo+ID4gWnVyY2hlciwgQ2hy aXN0b3BoZXIgPGNocmlzdG9waGVyLnp1cmNoZXJAbWljcm9zb2Z0LmNvbT47IFJlYmVjY2EgQ3Jh bg0KPiA+IDxxdWljX3JjcmFuQHF1aWNpbmMuY29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZGJAa2Vy bmVsLm9yZz4NCj4gPiBTdWJqZWN0OiBSRTogW1BhdGNoIDAwLzEyXSBDcnlwdG9Qa2c6IFJlbW92 ZSBFQyBQQ0QgYW5kIG1lcmdlIHBlcmYgb3B0DQo+ID4gT3BlbnNzbExpYnMNCj4gPg0KPiA+IEpp ZXdlbiwNCj4gPg0KPiA+IFRoZSBCS00gaXMgdG8ganVzdCBjYWxsIHRoZSBFQyBzZXJ2aWNlcyBm cm9tIHRoZSBsYXllcnMgYWJvdmUgT3BlbnNzbExpYi4NCj4gPiBUaGUgRUMgQVBJcyB3aWxsIGFs d2F5cyBiZSBwcmVzZW50LiAgRWl0aGVyIHJlYWwgRUMgc2VydmljZSBvciBOdWxsIEVDIHNlcnZp Y2UuDQo+ID4gVGhpcyB3YXkgd2UgY2FuIHJlbW92ZSBhbGwgdGhlICNpZmRlZiBvbiBFQyBQQ0Qu DQo+ID4NCj4gPiBQbGF0Zm9ybSBkZXZlbG9wZXJzIHNlbGVjdCB0aGUgT3BlbnNzbExpYiBpbnN0 YW5jZSB3aXRoIEVDDQo+ID4gKE9wZW5zc2xMaWJGdWxsLmluZikgb3INCj4gPiB3aXRob3V0IEVD IChPcGVuc3NsTGliLmluZikuDQo+ID4NCj4gPiBNaWtlDQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRl bC5jb20+DQo+ID4gPiBTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDExLCAyMDIyIDY6MzcgUE0NCj4g PiA+IFRvOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Ow0K PiA+IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmou d2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlhb3l1MQ0KPiA+IDx4aWFveXUxLmx1QGludGVsLmNvbT47 IEppYW5nLCBHdW9taW4gPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+Ow0KPiA+IFp1cmNoZXIsDQo+ ID4gPiBDaHJpc3RvcGhlciA8Y2hyaXN0b3BoZXIuenVyY2hlckBtaWNyb3NvZnQuY29tPjsgUmVi ZWNjYSBDcmFuDQo+ID4gPHF1aWNfcmNyYW5AcXVpY2luYy5jb20+OyBBcmQgQmllc2hldXZlbCA8 YXJkYkBrZXJuZWwub3JnPg0KPiA+ID4gU3ViamVjdDogUkU6IFtQYXRjaCAwMC8xMl0gQ3J5cHRv UGtnOiBSZW1vdmUgRUMgUENEIGFuZCBtZXJnZSBwZXJmIG9wdA0KPiA+IE9wZW5zc2xMaWJzDQo+ ID4gPg0KPiA+ID4gSGkgTWlrZQ0KPiA+ID4gRm9yIFBjZE9wZW5zc2xFY0VuYWJsZWQsIEkgYW0g c2VlaW5nIG90aGVyIHVzYWdlLiBGb3IgZXhhbXBsZToNCj4gPiA+DQo+ID4gaHR0cHM6Ly9naXRo dWIuY29tL3Fpemhhbmd6L2VkazIvYmxvYi9FQ19VcHN0cmVhbS9DcnlwdG9Qa2cvTGlicmFyeS8N Cj4gPiBCYXNlQ3J5cHRMaWIvUGVtL0NyeXB0UGVtLmMjTDE1Ng0KPiA+ID4NCj4gPiA+IEkgdGhp bmsgd2UgbWF5IG5lZWQgQktNIG9uICJob3cgdG8gZGlzYWJsZSBFQyIuDQo+ID4gPg0KPiA+ID4g VGhhbmsgeW91DQo+ID4gPiBZYW8sIEppZXdlbg0KPiA+ID4NCj4gPiA+DQo+ID4gPiA+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IEtpbm5leSwgTWljaGFlbCBEIDxt aWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4gU2VudDogV2VkbmVzZGF5LCBPY3Rv YmVyIDEyLCAyMDIyIDk6MjUgQU0NCj4gPiA+ID4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFv QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBLaW5uZXksDQo+ID4gPiA+IE1pY2hh ZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gPiA+IENjOiBXYW5nLCBKaWFu IEogPGppYW4uai53YW5nQGludGVsLmNvbT47IEx1LCBYaWFveXUxDQo+ID4gPiA+IDx4aWFveXUx Lmx1QGludGVsLmNvbT47IEppYW5nLCBHdW9taW4gPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+Ow0K PiA+ID4gPiBadXJjaGVyLCBDaHJpc3RvcGhlciA8Y2hyaXN0b3BoZXIuenVyY2hlckBtaWNyb3Nv ZnQuY29tPjsgUmViZWNjYQ0KPiA+IENyYW4NCj4gPiA+ID4gPHF1aWNfcmNyYW5AcXVpY2luYy5j b20+OyBBcmQgQmllc2hldXZlbCA8YXJkYkBrZXJuZWwub3JnPg0KPiA+ID4gPiBTdWJqZWN0OiBS RTogW1BhdGNoIDAwLzEyXSBDcnlwdG9Qa2c6IFJlbW92ZSBFQyBQQ0QgYW5kIG1lcmdlIHBlcmYN Cj4gPiBvcHQNCj4gPiA+ID4gT3BlbnNzbExpYnMNCj4gPiA+ID4NCj4gPiA+ID4gSGkgSmlld2Vu LA0KPiA+ID4gPg0KPiA+ID4gPiBDb21tZW50cyBiZWxvdy4NCj4gPiA+ID4NCj4gPiA+ID4gTWlr ZQ0KPiA+ID4gPg0KPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ ID4gRnJvbTogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+ID4gPiA+IFNl bnQ6IFR1ZXNkYXksIE9jdG9iZXIgMTEsIDIwMjIgNjowOSBQTQ0KPiA+ID4gPiA+IFRvOiBLaW5u ZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Ow0KPiA+ID4gPiBkZXZl bEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gPiA+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5n QGludGVsLmNvbT47IEx1LCBYaWFveXUxDQo+ID4gPiA+IDx4aWFveXUxLmx1QGludGVsLmNvbT47 IEppYW5nLCBHdW9taW4gPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+Ow0KPiA+ID4gPiBadXJjaGVy LA0KPiA+ID4gPiA+IENocmlzdG9waGVyIDxjaHJpc3RvcGhlci56dXJjaGVyQG1pY3Jvc29mdC5j b20+OyBSZWJlY2NhIENyYW4NCj4gPiA+ID4gPHF1aWNfcmNyYW5AcXVpY2luYy5jb20+OyBBcmQg Qmllc2hldXZlbCA8YXJkYkBrZXJuZWwub3JnPg0KPiA+ID4gPiA+IFN1YmplY3Q6IFJFOiBbUGF0 Y2ggMDAvMTJdIENyeXB0b1BrZzogUmVtb3ZlIEVDIFBDRCBhbmQgbWVyZ2UgcGVyZg0KPiA+IG9w dA0KPiA+ID4gPiBPcGVuc3NsTGlicw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gVGhhbmsgeW91IE1p a2UuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAxKSBJIGxpa2UgdGhlIGlkZWEgdG8gY29tYmluZSBt dWx0aXBsZSBPcGVuc3NsTGliSUEzMi9YNjQuaW5mIGludG8gb25lDQo+ID4gPiA+IE9wZW5zc2xM aWJBY2NlbC5pbmYuDQo+ID4gPiA+ID4gQWxzbyB0aGUgY2xlYW51cCBsb29rcyBnb29kIHRvIG1l Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gMikgSSBhbHNvIGxpa2UgdGhlIHN1bW1hcnkgaW4gcmVh ZG1lIGluDQo+ID4gPiA+ID4NCj4gPiA+ID4NCj4gPiBodHRwczovL2dpdGh1Yi5jb20vbWRraW5u ZXkvZWRrMi90cmVlL0NyeXB0b1BrZ19SZW1vdmVFY1BjZF9NZXJnZQ0KPiA+ID4gPiBPcHRpbWl6 ZWRPcGVuc3NsTGlicy9DcnlwdG9Qa2cNCj4gPiA+ID4gPiBJIG5vdGljZSBzb21lIGFsZ29yaXRo bXMgYXJlIGxpc3RlZCBZKERlcHJlY2F0ZWQpIGJ1dCBOKERvbid0IFVzZSksDQo+ID4gc3VjaA0K PiA+ID4gPiBhcyBUZGVzLCBBcmM0LCBBZXMuRWNiKi4NCj4gPiA+ID4gPiBCdXQgSSBkb27igJl0 IHNlZSB0aGUgdXNlIGNhc2UgZm9yIHRob3NlIGFsZ29yaXRobXMgYW5kIEkgc3VnZ2VzdCBhDQo+ ID4gPiA+IFkoRGVwcmVjYXRlZCkgaGF2ZSBZKERvbid0IFVzZSkuDQo+ID4gPiA+DQo+ID4gPiA+ IEdvb2QgY2F0Y2guICBJIHdpbGwgZml4Lg0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g MykgQWJvdXQgUGNkT3BlbnNzbEVjRW5hYmxlZA0KPiA+ID4gPiA+IEkgbm90aWNlIGl0IGlzIHVz ZWQgaW4gZXhpc3RpbmcgY29kZSAtDQo+ID4gPiA+ID4NCj4gPiA+ID4NCj4gPiBodHRwczovL2dp dGh1Yi5jb20vbWRraW5uZXkvZWRrMi9ibG9iL0NyeXB0b1BrZ19SZW1vdmVFY1BjZF9NZXJnZQ0K PiA+ID4gPiBPcHRpbWl6ZWRPcGVuc3NsTGlicy9DcnlwdG9Qa2cvTGlicmFyeS9UbHNMaWIvVGxz Q29uZmlnLmMjTDExDQo+ID4gPiA+ID4gMzkNCj4gPiA+ID4gPiBJcyB0aGlzIHJpZ2h0IHdheT8N Cj4gPiA+ID4NCj4gPiA+ID4gVGhpcyB3YXMgYWRkZWQgc2luY2UgSSBzdGFydGVkIHRoaXMgd29y ayBhbmQgd2FzIGFkZGVkIGJhY2sgaW4gYnkNCj4gPiByZWJhc2UuICBJDQo+ID4gPiA+IHdpbGwg Zml4Lg0KPiA+ID4gPiBXZSBjYW4ganVzdCByZW1vdmUgdGhlIGNoZWNrIGZvciB0aGUgUENELiAg SWYgdGhlIE9wZW5zc2xMaWIgaW5zdGFuY2UNCj4gPiBkb2VzDQo+ID4gPiA+IG5vdCBpbmNsdWRl DQo+ID4gPiA+IFNTTCBzZXJ2aWNlcywgdGhlbiB0aGUgTnVsbCBTU0wgc2VydmljZXMgYXJlIHBy ZXNlbnQgYW5kIHRoZSBjYWxsIHRvDQo+ID4gU1NMX2N0cmwoKQ0KPiA+ID4gPiB3aWxsDQo+ID4g PiA+IHJldHVybiAwIHdoaWNoIHdpbGwgZm9yY2UgVGxzU2V0RWNDdXJ2ZSgpIHRvIHJldHVybiBF RklfVU5TVVBQT1JURUQuDQo+ID4gSXQNCj4gPiA+ID4gd2lsbCBhbHNvDQo+ID4gPiA+IEFTU0VS VCgpIGluZm9ybWluZyB0aGUgZGV2ZWxvcGVyIHRoYXQgYSBjYWxsIHRvIGEgc2VydmljZSB0aGF0 IGRlcGVuZHMNCj4gPiBvbg0KPiA+ID4gPiBTU0wgd2FzIG1hZGUNCj4gPiA+ID4gd2l0aG91dCBT U0wgc2VydmljZXMgYXZhaWxhYmxlLg0KPiA+ID4gPg0KPiA+ID4gPiBsb25nDQo+ID4gPiA+IFNT TF9jdHJsICgNCj4gPiA+ID4gICBTU0wgICAqc3NsLA0KPiA+ID4gPiAgIGludCAgIGNtZCwNCj4g PiA+ID4gICBsb25nICBsYXJnLA0KPiA+ID4gPiAgIHZvaWQgICpwYXJnDQo+ID4gPiA+ICAgKQ0K PiA+ID4gPiB7DQo+ID4gPiA+ICAgQVNTRVJUIChGQUxTRSk7DQo+ID4gPiA+ICAgcmV0dXJuIDA7 DQo+ID4gPiA+IH0NCj4gPiA+ID4NCj4gPiA+ID4gTGlrZXdpc2UsIGlmIHRoZSBPcGVuc3NsTGli IGluc3RhbmNlIGRvZXMgbm90IHN1cHBvcnQgRUMgc2VydmljZXMsIHRoZW4NCj4gPiB0aGUNCj4g PiA+ID4gTnVsbA0KPiA+ID4gPiBFQyBzZXJ2aWNlcyB3aWxsIGJlIGluY2x1ZGVkIGFuZCB0aGUg Y2FsbCB0bw0KPiA+IEVDX0tFWV9uZXdfYnlfY3VydmVfbmFtZSgpDQo+ID4gPiA+IHdpbGwNCj4g PiA+ID4gcmV0dXJuIE5VTEwgd2hpY2ggd2lsbCBmb3JjZSBUbHNTZXRFY0N1cnZlKCkgdG8gcmV0 dXJuDQo+ID4gRUZJX1VOU1VQUE9SVEVELiBJdA0KPiA+ID4gPiB3aWxsIGFsc28NCj4gPiA+ID4g QVNTRVJUKCkgaW5mb3JtaW5nIHRoZSBkZXZlbG9wZXIgdGhhdCBhIGNhbGwgdG8gYSBzZXJ2aWNl IHRoYXQgZGVwZW5kcw0KPiA+IG9uIEVDDQo+ID4gPiA+IHdhcyBtYWRlDQo+ID4gPiA+IHdpdGhv dXQgRUMgc2VydmljZXMgYXZhaWxhYmxlLg0KPiA+ID4gPg0KPiA+ID4gPiBFQ19LRVkgKg0KPiA+ ID4gPiBFQ19LRVlfbmV3X2J5X2N1cnZlX25hbWUgKA0KPiA+ID4gPiAgIGludCAgbmlkDQo+ID4g PiA+ICAgKQ0KPiA+ID4gPiB7DQo+ID4gPiA+ICAgQVNTRVJUIChGQUxTRSk7DQo+ID4gPiA+ICAg cmV0dXJuIE5VTEw7DQo+ID4gPiA+IH0NCj4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRo YW5rIHlvdQ0KPiA+ID4gPiA+IFlhbywgSmlld2VuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gPiBGcm9tOiBLaW5uZXksIE1pY2hh ZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiBTZW50OiBUdWVz ZGF5LCBPY3RvYmVyIDExLCAyMDIyIDExOjA0IFBNDQo+ID4gPiA+ID4gPiBUbzogZGV2ZWxAZWRr Mi5ncm91cHMuaW8NCj4gPiA+ID4gPiA+IENjOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRl bC5jb20+OyBXYW5nLCBKaWFuIEoNCj4gPiA+ID4gPiA+IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+ OyBMdSwgWGlhb3l1MSA8eGlhb3l1MS5sdUBpbnRlbC5jb20+OyBKaWFuZywNCj4gPiA+ID4gPiA+ IEd1b21pbiA8Z3VvbWluLmppYW5nQGludGVsLmNvbT47IFp1cmNoZXIsIENocmlzdG9waGVyDQo+ ID4gPiA+ID4gPiA8Y2hyaXN0b3BoZXIuenVyY2hlckBtaWNyb3NvZnQuY29tPjsgUmViZWNjYSBD cmFuDQo+ID4gPiA+ID4gPiA8cXVpY19yY3JhbkBxdWljaW5jLmNvbT47IEFyZCBCaWVzaGV1dmVs IDxhcmRiQGtlcm5lbC5vcmc+DQo+ID4gPiA+ID4gPiBTdWJqZWN0OiBbUGF0Y2ggMDAvMTJdIENy eXB0b1BrZzogUmVtb3ZlIEVDIFBDRCBhbmQgbWVyZ2UgcGVyZg0KPiA+IG9wdA0KPiA+ID4gPiA+ ID4gT3BlbnNzbExpYnMNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBUaGUgcmVjZW50IGFkZGl0 aW9uIG9mIHRoZSBFY2xpcHRpYyBDdXJ2ZSAoRUMpIGZlYXR1cmUgYW5kIHRoZQ0KPiA+ID4gPiBw ZXJmb3JtYW5jZQ0KPiA+ID4gPiA+ID4gb3B0aW1pemF0aW9uIGZlYXR1cmVzIGluY3JlYXNlZCB0 aGUgY29tcGxleGl0eSBmb3IgcGxhdGZvcm1zIHRvDQo+ID4gPiA+IGludGVncmF0ZQ0KPiA+ID4g PiA+ID4gYW5kIGVuYWJsZSB0aGVzZSBmZWF0dXJlcy4gVGhpcyBzZXJpZXMgc2ltcGxpZmllcyB0 aGUgcGxhdGZvcm0NCj4gPiA+ID4gY29uZmlndXJhdGlvbg0KPiA+ID4gPiA+ID4gYXMgbXVjaCBh cyBwb3NzaWJsZSBhbmQgaW1wcm92ZXMgdGhlIGFiaWxpdHkgdG8gbWFuYWdlIHRoZSB0aGUgc2l6 ZQ0KPiA+ID4gPiBpbXBhY3QNCj4gPiA+ID4gPiA+IG9mIGNyeXB0b2dyYXBoaWMgc2VydmljZXMg aW4gZWFjaCBGVyBwaGFzZS4gQSBSZWFkbWUubWQgaXMgYWxzbw0KPiA+IGFkZGVkDQo+ID4gPiA+ ID4gPiB0aGF0DQo+ID4gPiA+ID4gPiBwcm92aWRlcyBhbiBvdmVydmlldyBvZiB0aGUgQ3J5cHRv UGtnIGRlc2lnbiBhbmQgZmVhdHVyZXMgYWxvbmcNCj4gPiB3aXRoDQo+ID4gPiA+ID4gPiBwbGF0 Zm9ybQ0KPiA+ID4gPiA+ID4gaW50ZWdyYXRpb24gcmVjb21tZW5kYXRpb25zLg0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+IFRoaXMgc2VyaWVzIGFsc28gYWRkcmVzc2VzIHByaXZhdGUgbGlicmFy eSBjbGFzcyBkZWNsYXJhdGlvbnMgbWlzc2luZw0KPiA+IGZyb20NCj4gPiA+ID4gPiA+IENyeXB0 b1BrZy5kZWMgYW5kIGxpYnJhcnkgaW5zdGFuY2VzIG5vdCBwcm9kdWNpbmcgYWxsIHRoZSBBUElz DQo+ID4gZGVmaW5lZA0KPiA+ID4gPiA+ID4gYnkgdGhlIGxpYnJhcnkgY2xhc3Nlcy4gQSByZXZp ZXcgb2YgdGhlIENyeXB0b1BrZyBFREsgSUkgbWV0YSBkYXRhDQo+ID4gZmlsZXMNCj4gPiA+ID4g PiA+IGlkZW50aWZpZWQNCj4gPiA+ID4gPiA+IGEgbnVtYmVyIG9mIGFkZGl0aW9uYWwgY2xlYW51 cHMuIFRoZSBDcnlwdG9Qa2cuZHNjIGZpbGUgd2FzIGFsc28NCj4gPiA+ID4gdXBkYXRlZCB0bw0K PiA+ID4gPiA+ID4gaW1wcm92ZSBDSSBjb3ZlcmFnZSBmb3IgZnV0dXJlIENyeXB0b1BrZyBjaGFu Z2VzIGFuZCBpZGVudGlmaWVkDQo+ID4gc29tZQ0KPiA+ID4gPiA+ID4gdW5pdCB0ZXN0IGJ1ZyBm aXhlcy4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBQUjogICAgIGh0dHBzOi8vZ2l0aHViLmNv bS90aWFub2NvcmUvZWRrMi9wdWxsLzM0NDMNCj4gPiA+ID4gPiA+IEJyYW5jaDoNCj4gPiA+ID4g PiA+DQo+ID4gPiA+DQo+ID4gaHR0cHM6Ly9naXRodWIuY29tL21ka2lubmV5L2VkazIvdHJlZS9D cnlwdG9Qa2dfUmVtb3ZlRWNQY2RfTWVyZ2UNCj4gPiA+ID4gPiA+IE9wdGltaXplZE9wZW5zc2xM aWJzDQo+ID4gPiA+ID4gPiBSZWFkbWU6DQo+ID4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+IGh0dHBz Oi8vZ2l0aHViLmNvbS9tZGtpbm5leS9lZGsyL2Jsb2IvQ3J5cHRvUGtnX1JlbW92ZUVjUGNkX01l cmdlDQo+ID4gPiA+ID4gPiBPcHRpbWl6ZWRPcGVuc3NsTGlicy9DcnlwdG9Qa2cvUmVhZG1lLm1k DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gQ2hhbmdlIFN1bW1hcnkNCj4gPiA+ID4gPiA+ID09 PT09PT09PT09PT09DQo+ID4gPiA+ID4gPiAqIERvY3VtZW50IGRpc2FibGVkL2RlcHJlY2F0ZWQg Y3J5cHRvZ3JhcGhpYyBzZXJ2aWNlcw0KPiA+ID4gPiA+ID4gKiBBZGQgbWlzc2luZyBVTkkgZmls ZXMgaW4gQmFzZUNyeXB0TGliDQo+ID4gPiA+ID4gPiAqIFVwZGF0ZSBCYXNlQ3J5cHRMaWIgaW50 ZXJuYWwgZnVuY3Rpb25zIHRvIGJlIFNUQVRJQyBhbmQgcmVtb3ZlDQo+ID4gPiA+IEVGSUFQSQ0K PiA+ID4gPiA+ID4gKiBBZGQgR0xPQkFMX1JFTU9WRV9JRl9VTlJFRkVSRU5DRUQgdG8gQmFzZUNy eXB0TGliIGdsb2JhbA0KPiA+ID4gPiA+ID4gdmFyaWFibGVzDQo+ID4gPiA+ID4gPiAqIEZpeCBC YXNlQ3J5cHRMaWIgdW5pdCB0ZXN0cw0KPiA+ID4gPiA+ID4gKiBDbGVhbnVwIEJhc2VDcnlwdExp YiBhbmQgVGxzTGliIElORiBmaWxlcyBhbmQNCj4gPiA+ID4gPiA+ICogTW92ZSBTeXNDYWxsL2lu ZXRfcHRvbi5jIGZyb20gQmFzZUNyeXB0TGliIHRvIFRsc0xpYiB0aGF0IHVzZXMgaXQuDQo+ID4g PiA+ID4gPiAqIE1lcmdlIDQgcGVyZm9ybWFuY2Ugb3B0aW1pemVkIElORnMgaW50byBPcGVuc3Ns TGliKkFjY2VsLmluZg0KPiA+ID4gPiA+ID4gKiBSZW1vdmUgdXNlIG9mIFBjZE9wZW5zc2xFY0Vu YWJsZWQgYW5kIHVzZSBPcGVuc3NsTGliRnVsbCouaW5mDQo+ID4gPiA+IGluc3RlYWQNCj4gPiA+ ID4gPiA+ICogQWRkIE9wZW5zc2xMaWIgYW5kIEludHJpbnNpY0xpYiB0byBDcnlwdG9Qa2cuZGVj IGFzIHByaXZhdGUgbGlicmFyeQ0KPiA+ID4gPiBjbGFzc2VzDQo+ID4gPiA+ID4gPiAqIFVwZGF0 ZSBhbGwgT3BlbnNzbExpYiBpbnN0YW5jZXMgdG8gYWx3YXlzIHByb2R1Y2UgYWxsIEFQSXMgaW4N Cj4gPiA+ID4gT3BlbnNzbExpYg0KPiA+ID4gPiA+ID4gY2xhc3MNCj4gPiA+ID4gPiA+ICogTW92 ZSBQcmludExpYiBkZXBlbmRlbmN5IGZyb20gT3BlbnNzbExpYiBJTkYgZmlsZXMgdG8NCj4gPiBC YXNlQ3J5cHRMaWINCj4gPiA+ID4gSU5GDQo+ID4gPiA+ID4gPiBmaWxlcw0KPiA+ID4gPiA+ID4g KiBVcGRhdGUgQ3J5cHRvUGtnLmRzYyBmaWxlcyB0byBwcm92aWRlIGZ1bGwgQ0kgdGVzdCBjb3Zl cmFnZSBhY3Jvc3MNCj4gPiBhbGwNCj4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gPiAgICBzdXBwb3J0 ZWQgY29tYmluYXRpb25zIG9mIE9wZW5zc2xMaWIsIEJhc2VDcnlwdExpYiwgYW5kIFRsc0xpYg0K PiA+ID4gPiBpbnN0YW5jZXMuDQo+ID4gPiA+ID4gPiAqIFJlbW92ZSBQQUNLQUdFIHByb2ZpbGUg ZnJvbSBDcnlwdG9Qa2cuZHNjIGFuZCBhZGQNCj4gPiA+ID4gPiA+IFRBUkdFVF9VTklUX1RFU1RT DQo+ID4gPiA+ID4gPiAgIHByb2ZpbGUuICBBZGRpbmcgVEFSR0VUX1VOSVRfVEVTVFMgcHJvZmls ZSBpcyByZXF1aXJlZCB0byBwcmV2ZW50DQo+ID4gYQ0KPiA+ID4gPiBmZXcNCj4gPiA+ID4gPiA+ IHVuaXQNCj4gPiA+ID4gPiA+ICAgdGVzdCBhcnRpZmFjdHMgYmVpbmcgaW5jbHVkZWQgaW4gbm9u IHVuaXQgdGVzdCBidWlsZHMgb2YgY29tcG9uZW50cy4NCj4gPiA+ID4gPiA+ICogQWRkIENyeXB0 b1BrZyBSZWFkbWUubWQgd2l0aCBvdmVydmlldyBhbmQgcGxhdGZvcm0NCj4gPiBpbnRlZ3JhdGlv bg0KPiA+ID4gPiA+ID4gZGV0YWlscy4NCj4gPiA+ID4gPiA+ICogVXBkYXRlIGhvc3QtYmFzZWQg dW5pdCB0ZXN0cyB0byBhbHdheXMgdXNlIE9wZW5zc2xMaWJGdWxsLmluZiBhbmQNCj4gPiBhZGQN Cj4gPiA+ID4gPiA+IHVuaXQNCj4gPiA+ID4gPiA+ICAgdGVzdCBjb3ZlcmFnZSBmb3IgT3BlbnNz bExpYkZ1bGxBY2NlbC5pbmYuDQo+ID4gPiA+ID4gPiAqIEFkZCBSZWFkbWUubWQgd2l0aCBDcnlw dG9Qa2cgb3ZlcnZpZXcgYW5kIHBsYXRmb3JtDQo+ID4gaW50ZWdyYXRpb24NCj4gPiA+ID4gPiA+ ICAgZG9jdW1lbnRhdGlvbg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IENjOiBKaWV3ZW4gWWFv IDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiA+ID4gPiA+IENjOiBKaWFuIEogV2FuZyA8amlh bi5qLndhbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gQ2M6IFhpYW95dSBMdSA8eGlhb3l1MS5s dUBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiBDYzogR3VvbWluIEppYW5nIDxndW9taW4uamlhbmdA aW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gQ2M6IENocmlzdG9waGVyIFp1cmNoZXIgPGNocmlzdG9w aGVyLnp1cmNoZXJAbWljcm9zb2Z0LmNvbT4NCj4gPiA+ID4gPiA+IENjOiBSZWJlY2NhIENyYW4g PHF1aWNfcmNyYW5AcXVpY2luYy5jb20+DQo+ID4gPiA+ID4gPiBDYzogQXJkIEJpZXNoZXV2ZWwg PGFyZGJAa2VybmVsLm9yZz4NCj4gPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgRCBL aW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+IE1pY2hhZWwgRCBLaW5uZXkgKDEyKToNCj4gPiA+ID4gPiA+ICAgQ3J5cHRvUGtnOiBEb2N1 bWVudCBhbmQgZGlzYWJsZSBkZXByZWNhdGVkIGNyeXB0byBzZXJ2aWNlcw0KPiA+ID4gPiA+ID4g ICBDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWI6IEFkZCBtaXNzaW5nIFVOSSBmaWxlIGFu ZCBmaXgNCj4gPiBmb3JtYXQNCj4gPiA+ID4gPiA+ICAgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNy eXB0TGliOiBVcGRhdGUgaW50ZXJuYWwNCj4gPiBmdW5jdGlvbnMvdmFyaWFibGVzDQo+ID4gPiA+ ID4gPiAgIENyeXB0b1BrZy9UZXN0L1VuaXRUZXN0L0xpYnJhcnkvQmFzZUNyeXB0TGliOiBVbml0 IHRlc3QgZml4ZXMNCj4gPiA+ID4gPiA+ICAgQ3J5cHRvUGtnL0xpYnJhcnk6IENsZWFudXAgQmFz ZUNyeXB0TGliIGFuZCBUbHNMaWINCj4gPiA+ID4gPiA+ICAgQ3J5cHRvUGtnL0xpYnJhcnkvT3Bl bnNzbExpYjogQ29tYmluZSBhbGwgcGVyZm9ybWFuY2Ugb3B0aW1pemVkDQo+ID4gPiA+IElORnMN Cj4gPiA+ID4gPiA+ICAgQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYjogUHJvZHVjZSBjb25z aXN0ZW50IHNldCBvZiBBUElzDQo+ID4gPiA+ID4gPiAgIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5z c2xMaWI6IFJlbW92ZSBQcmludExpYiBmcm9tIElORiBmaWxlcw0KPiA+ID4gPiA+ID4gICBDcnlw dG9Qa2c6IFJlbW92ZSBQY2RPcGVuc3NsRWNFbmFibGVkIGZyb20gQ3J5cHRvUGtnLmRlYw0KPiA+ ID4gPiA+ID4gICBDcnlwdG9Qa2c6IFVwZGF0ZSBEU0MgdG8gaW1wcm92ZSBDSSB0ZXN0IGNvdmVy YWdlDQo+ID4gPiA+ID4gPiAgIENyeXB0b1BrZzogRml4ZWQgaG9zdC1iYXNlZCB1bml0IHRlc3Rz DQo+ID4gPiA+ID4gPiAgIENyeXB0b1BrZzogQWRkIFJlYWRtZS5tZA0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ICBDcnlwdG9Qa2cvQ3J5cHRvUGtnLmNpLnlhbWwgICAgICAgICAgICAgICAgICAg fCAgMTEgKy0NCj4gPiA+ID4gPiA+ICBDcnlwdG9Qa2cvQ3J5cHRvUGtnLmRlYyAgICAgICAgICAg ICAgICAgICAgICAgfCAgNDIgKy0NCj4gPiA+ID4gPiA+ICBDcnlwdG9Qa2cvQ3J5cHRvUGtnLmRz YyAgICAgICAgICAgICAgICAgICAgICAgfCA0NjAgKysrKysrKysrLS0tDQo+ID4gPiA+ID4gPiAg Li4uL1BjZC9QY2RDcnlwdG9TZXJ2aWNlRmFtaWx5RW5hYmxlLmggICAgICAgIHwgMTIyICstLQ0K PiA+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9CYXNlQ3J5cHRMaWIuaW5mICAg ICB8ICAxMCArLQ0KPiA+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9CYXNlQ3J5 cHRMaWIudW5pICAgICB8ICAgMiAtDQo+ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0 TGliL0htYWMvQ3J5cHRIbWFjLmMgICAgIHwgICA3ICsNCj4gPiA+ID4gPiA+ICAuLi4vTGlicmFy eS9CYXNlQ3J5cHRMaWIvS2RmL0NyeXB0SGtkZi5jICAgICAgfCAgIDUgKy0NCj4gPiA+ID4gPiA+ ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvUGVpQ3J5cHRMaWIuaW5mICAgICAgfCAgIDggKy0N Cj4gPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvUGVpQ3J5cHRMaWIudW5pICAg ICAgfCAgIDIgLQ0KPiA+ID4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWIvUGsvQ3J5cHRBdXRoZW50 aWNvZGUuYyAgICAgICB8ICAgMiArLQ0KPiA+ID4gPiA+ID4gIC4uLi9CYXNlQ3J5cHRMaWIvUGsv Q3J5cHRQa2NzN1ZlcmlmeUNvbW1vbi5jICB8ICAgMyArLQ0KPiA+ID4gPiA+ID4gIC4uLi9CYXNl Q3J5cHRMaWIvUGsvQ3J5cHRQa2NzN1ZlcmlmeUVrdS5jICAgICB8ICAgMyArDQo+ID4gPiA+ID4g PiAgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BrL0NyeXB0VHMuYyAgIHwgIDQ0ICst DQo+ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1J1bnRpbWVDcnlwdExpYi5p bmYgIHwgICA5ICstDQo+ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvQmFzZUNyeXB0TGliL1J1bnRp bWVDcnlwdExpYi51bmkgIHwgICAyIC0NCj4gPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5 cHRMaWIvU2VjQ3J5cHRMaWIuaW5mICAgICAgfCAgMTMgKy0NCj4gPiA+ID4gPiA+ICAuLi4ve1Nt bUNyeXB0TGliLnVuaSA9PiBTZWNDcnlwdExpYi51bml9ICAgICAgfCAgMTEgKy0NCj4gPiA+ID4g PiA+ICAuLi4vTGlicmFyeS9CYXNlQ3J5cHRMaWIvU21tQ3J5cHRMaWIuaW5mICAgICAgfCAgMTIg LQ0KPiA+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9TbW1DcnlwdExpYi51bmkg ICAgICB8ICAgMiAtDQo+ID4gPiA+ID4gPiAgLi4uL0Jhc2VDcnlwdExpYi9Vbml0VGVzdEhvc3RC YXNlQ3J5cHRMaWIuaW5mIHwgIDIyICstDQo+ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvSW5jbHVk ZS9vcGVuc3NsL29wZW5zc2xjb25mLmggICAgIHwgMzI4ICsrKysrKystDQo+ID4gPiA+ID4gPiAg Li4uL0luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZl9nZW5lcmF0ZWQuaCAgIHwgMzMzIC0tLS0t LS0tLQ0KPiA+ID4gPiA+ID4gIENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvRWNTbTJOdWxs LmMgICAgICB8IDI5MSArKysrKysrKw0KPiA+ID4gPiA+ID4gIENyeXB0b1BrZy9MaWJyYXJ5L09w ZW5zc2xMaWIvT3BlbnNzbExpYi5pbmYgICB8IDEzMyArKy0tDQo+ID4gPiA+ID4gPiAgQ3J5cHRv UGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliLnVuaSAgIHwgIDEwICstDQo+ID4gPiA+ ID4gPiAgLi4ubnNzbExpYklhMzJHY2MuaW5mID0+IE9wZW5zc2xMaWJBY2NlbC5pbmZ9IHwgMTg5 ICsrKy0tDQo+ID4gPiA+ID4gPiAgLi4uL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliQWNj ZWwudW5pICAgIHwgIDE0ICsNCj4gPiA+ID4gPiA+ICAuLi4vT3BlbnNzbExpYi9PcGVuc3NsTGli Q29uc3RydWN0b3IuYyAgICAgICAgfCAgIDYgKy0NCj4gPiA+ID4gPiA+ICAuLi4vTGlicmFyeS9P cGVuc3NsTGliL09wZW5zc2xMaWJDcnlwdG8uaW5mICAgfCAxODUgKysrLS0NCj4gPiA+ID4gPiA+ ICAuLi4vTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJDcnlwdG8udW5pICAgfCAgMTEgKy0N Cj4gPiA+ID4gPiA+ICAuLi4ve09wZW5zc2xMaWIuaW5mID0+IE9wZW5zc2xMaWJGdWxsLmluZn0g ICAgfCAxNDMgKystLQ0KPiA+ID4gPiA+ID4gIC4uLi97T3BlbnNzbExpYi51bmkgPT4gT3BlbnNz bExpYkZ1bGwudW5pfSAgICB8ICAxMCArLQ0KPiA+ID4gPiA+ID4gIC4uLnNzbExpYklhMzIuaW5m ID0+IE9wZW5zc2xMaWJGdWxsQWNjZWwuaW5mfSB8IDE5MiArKystLQ0KPiA+ID4gPiA+ID4gIC4u Li9PcGVuc3NsTGliL09wZW5zc2xMaWJGdWxsQWNjZWwudW5pICAgICAgICB8ICAxNCArDQo+ID4g PiA+ID4gPiAgLi4uL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliWDY0LmluZiAgICAgIHwg NzA2IC0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L09wZW5zc2xM aWIvT3BlbnNzbExpYlg2NEdjYy5pbmYgICB8IDcwNiAtLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+ ID4gPiA+ICBDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL1NzbE51bGwuYyAgICAgICAgfCA0 MDUgKysrKysrKysrKw0KPiA+ID4gPiA+ID4gIC4uLi9TeXNDYWxsL2luZXRfcHRvbi5jICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMA0KPiA+ID4gPiA+ID4gIENyeXB0b1BrZy9MaWJyYXJ5L1Rs c0xpYi9UbHNDb25maWcuYyAgICAgICAgICB8ICAgMiArLQ0KPiA+ID4gPiA+ID4gIENyeXB0b1Br Zy9MaWJyYXJ5L1Rsc0xpYi9UbHNMaWIuaW5mICAgICAgICAgICB8ICAxMiArLQ0KPiA+ID4gPiA+ ID4gIENyeXB0b1BrZy9Qcml2YXRlL0xpYnJhcnkvSW50cmluc2ljTGliLmggICAgICB8ICAxNiAr DQo+ID4gPiA+ID4gPiAgQ3J5cHRvUGtnL1ByaXZhdGUvTGlicmFyeS9PcGVuc3NsTGliLmggICAg ICAgIHwgIDE0ICsNCj4gPiA+ID4gPiA+ICBDcnlwdG9Qa2cvUmVhZG1lLm1kICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCA0OTggKysrKysrKysrKysrDQo+ID4gPiA+ID4gPiAgQ3J5cHRvUGtn L1Rlc3QvQ3J5cHRvUGtnSG9zdFVuaXRUZXN0LmRzYyAgICAgIHwgIDE3ICstDQo+ID4gPiA+ID4g PiAgLi4uL1VuaXRUZXN0L0xpYnJhcnkvQmFzZUNyeXB0TGliL0htYWNUZXN0cy5jIHwgIDE3ICst DQo+ID4gPiA+ID4gPiAgLi4uL1VuaXRUZXN0L0xpYnJhcnkvQmFzZUNyeXB0TGliL1RTVGVzdHMu YyAgIHwgICAyICstDQo+ID4gPiA+ID4gPiAgLi4uL1Rlc3RCYXNlQ3J5cHRMaWJIb3N0QWNjZWwu aW5mICAgICAgICAgICAgIHwgIDU1ICsrDQo+ID4gPiA+ID4gPiAgNDggZmlsZXMgY2hhbmdlZCwg MjY2NyBpbnNlcnRpb25zKCspLCAyNDM0IGRlbGV0aW9ucygtKQ0KPiA+ID4gPiA+ID4gIGNvcHkg Q3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL3tTbW1DcnlwdExpYi51bmkgPT4NCj4gPiA+ ID4gPiA+IFNlY0NyeXB0TGliLnVuaX0gKDc0JSkNCj4gPiA+ID4gPiA+ICBkZWxldGUgbW9kZSAx MDA2NDQNCj4gPiA+ID4gPiA+IENyeXB0b1BrZy9MaWJyYXJ5L0luY2x1ZGUvb3BlbnNzbC9vcGVu c3NsY29uZl9nZW5lcmF0ZWQuaA0KPiA+ID4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBDcnlw dG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL0VjU20yTnVsbC5jDQo+ID4gPiA+ID4gPiAgcmVuYW1l IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIve09wZW5zc2xMaWJJYTMyR2NjLmluZiA9Pg0K PiA+ID4gPiA+ID4gT3BlbnNzbExpYkFjY2VsLmluZn0gKDc5JSkNCj4gPiA+ID4gPiA+ICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gQ3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVu c3NsTGliQWNjZWwudW5pDQo+ID4gPiA+ID4gPiAgY29weSBDcnlwdG9Qa2cvTGlicmFyeS9PcGVu c3NsTGliL3tPcGVuc3NsTGliLmluZiA9Pg0KPiA+ID4gPiBPcGVuc3NsTGliRnVsbC5pbmZ9DQo+ ID4gPiA+ID4gPiAoODAlKQ0KPiA+ID4gPiA+ID4gIGNvcHkgQ3J5cHRvUGtnL0xpYnJhcnkvT3Bl bnNzbExpYi97T3BlbnNzbExpYi51bmkgPT4NCj4gPiA+ID4gT3BlbnNzbExpYkZ1bGwudW5pfQ0K PiA+ID4gPiA+ID4gKDU2JSkNCj4gPiA+ID4gPiA+ICByZW5hbWUgQ3J5cHRvUGtnL0xpYnJhcnkv T3BlbnNzbExpYi97T3BlbnNzbExpYklhMzIuaW5mID0+DQo+ID4gPiA+ID4gPiBPcGVuc3NsTGli RnVsbEFjY2VsLmluZn0gKDc5JSkNCj4gPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g PiA+ID4gPiA+IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYkZ1bGxBY2Nl bC51bmkNCj4gPiA+ID4gPiA+ICBkZWxldGUgbW9kZSAxMDA2NDQNCj4gPiBDcnlwdG9Qa2cvTGli cmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWJYNjQuaW5mDQo+ID4gPiA+ID4gPiAgZGVsZXRlIG1v ZGUgMTAwNjQ0DQo+ID4gPiA+IENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExp Ylg2NEdjYy5pbmYNCj4gPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ3J5cHRvUGtnL0xp YnJhcnkvT3BlbnNzbExpYi9Tc2xOdWxsLmMNCj4gPiA+ID4gPiA+ICByZW5hbWUgQ3J5cHRvUGtn L0xpYnJhcnkve0Jhc2VDcnlwdExpYiA9Pg0KPiA+IFRsc0xpYn0vU3lzQ2FsbC9pbmV0X3B0b24u Yw0KPiA+ID4gPiA+ID4gKDEwMCUpDQo+ID4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENy eXB0b1BrZy9Qcml2YXRlL0xpYnJhcnkvSW50cmluc2ljTGliLmgNCj4gPiA+ID4gPiA+ICBjcmVh dGUgbW9kZSAxMDA2NDQgQ3J5cHRvUGtnL1ByaXZhdGUvTGlicmFyeS9PcGVuc3NsTGliLmgNCj4g PiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ3J5cHRvUGtnL1JlYWRtZS5tZA0KPiA+ID4g PiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4NCj4gPiBDcnlw dG9Qa2cvVGVzdC9Vbml0VGVzdC9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9UZXN0QmFzZUNyeXB0TGli SG9zdEFjY2VsLmkNCj4gPiA+ID4gPiA+IG5mDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gLS0N Cj4gPiA+ID4gPiA+IDIuMzcuMS53aW5kb3dzLjENCg0K