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.827.1615995017983077242 for ; Wed, 17 Mar 2021 08:30:18 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=AZKAFbh6; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: jiewen.yao@intel.com) IronPort-SDR: ICVvfFm+gSWdXjPqVKOk6dL3Q8p0q8jSdwq7/Z6K1GPEQQyCT9HLAjdBZIqxIZE7Nr608NRFwy ne7OJgACX2Aw== X-IronPort-AV: E=McAfee;i="6000,8403,9926"; a="176618667" X-IronPort-AV: E=Sophos;i="5.81,256,1610438400"; d="scan'208";a="176618667" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Mar 2021 08:30:16 -0700 IronPort-SDR: 5jG45yn2hyLY+d9vF+Ijjq9It4BSnun2gtZokQTGX3/t1X7Gi/4hNZUB+n2kUPj0Ub7BhAkyl5 qDQ1DP5fwUGQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,256,1610438400"; d="scan'208";a="511761535" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga001.fm.intel.com with ESMTP; 17 Mar 2021 08:30:11 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 17 Mar 2021 08:30:10 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 17 Mar 2021 08:30:10 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) 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.2106.2 via Frontend Transport; Wed, 17 Mar 2021 08:30:10 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.102) 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.2106.2; Wed, 17 Mar 2021 08:30:10 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Yfycd73P/o23E7ndzzCvFGFZsUd949LxIEP0SPF9o0zwCxS/3cjWeFGIuzDxpM9CXqAOpk0zpbyG2Jw0sDnnO6yfdgPsRvtHnnZ91FVKyFv07c7amseJJ5Tf+1kHWQBSg+1Cg/6l82rufgzIC7eFHdwlrsUZpW6vE18nRbWF5U2XVCVKPTo7wp1qmaLHrrMKyYwNrwd673pAJbQ7hQ8VRX1VeH7jwDHmmNpY3dVEEoEGylPOD2tghAzJkKmAbqIZO+XsNu7qJ9J149oe+KQk1OPfM5HaQyil6bQbVH5PGeXlTE0T7Vbddk74Xl4EBYZzAfbQqcs7/9Y5uVo/VETt9g== 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-SenderADCheck; bh=PNC2cCv33wjh+QI8F0/us/Tn3YVAZbrpYka8BeVKswk=; b=maupPuMpaVgDEHhSBNUe/zRlfVKzkcMujqEVuFAnC0G3VpAKsWqskPs4ZYYkWRoCinBfkU0EKN/bTqfXzH1Lmp8CO8fehSw7x3x8JfefVEZHTDTYpIxv1/eicYFRfZ7NWIZzbaRSvpi/grH3ol9kIN1awcxgMsYh/FdDefK6FllkAXhMP3MmD4tFZ9DR7g7oNhE7LbAs35Qk/fhXJbD0MMJdbvSwUwstJSkF+Cxw8+BjwsqJ9l/yP6M4b8RAsNhWuTAtNcjPW2AZzrFzi2tq66J2aoZ76C0auHmsXcvCKV7CTPsB3BpZB8TMqrhRoDSlCc5J8ROOK4+OGbEjIl1avA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PNC2cCv33wjh+QI8F0/us/Tn3YVAZbrpYka8BeVKswk=; b=AZKAFbh6nyBMyYHMvMMTWFhBwhjJ6cr5WqNzK+OCusfwQbXSz2Z4cwZbdtWFOua3w2fVfsI6RsO6oO46bdnnnPkjV0A3Y/2x1Pk4UxhZBsDAZHuEsg448O22jzH22wfD5s94jEyx4sDlw5f5Es94RQ8qhp3TlZev+fVwodTsAHU= Received: from BY5PR11MB4166.namprd11.prod.outlook.com (2603:10b6:a03:191::25) by SJ0PR11MB4941.namprd11.prod.outlook.com (2603:10b6:a03:2d2::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3955.18; Wed, 17 Mar 2021 15:30:06 +0000 Received: from BY5PR11MB4166.namprd11.prod.outlook.com ([fe80::5983:f233:56d6:8132]) by BY5PR11MB4166.namprd11.prod.outlook.com ([fe80::5983:f233:56d6:8132%4]) with mapi id 15.20.3933.032; Wed, 17 Mar 2021 15:30:06 +0000 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "tobin@linux.ibm.com" CC: Dov Murik , Tobin Feldman-Fitzthum , James Bottomley , Hubertus Franke , Brijesh Singh , Ashish Kalra , Jon Grimm , Tom Lendacky Subject: Re: [edk2-devel] [RFC PATCH 00/14] Firmware Support for Fast Live Migration for AMD SEV Thread-Topic: [edk2-devel] [RFC PATCH 00/14] Firmware Support for Fast Live Migration for AMD SEV Thread-Index: AQHXD6WGO2wl4FzFUEaMI0mL8je3S6pzERzwgA4kddCABcPqgIABW6DQ Date: Wed, 17 Mar 2021 15:30:05 +0000 Message-ID: References: <20210302204839.82042-1-tobin@linux.ibm.com> <166900903D364B89.9163@groups.io> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [101.87.139.49] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b8afa91d-c248-486d-43ea-08d8e9598aa9 x-ms-traffictypediagnostic: SJ0PR11MB4941: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: LXb2/jmTlpCktlCxlF6Myy7hoMQFmNUHnpOUVwYSNqjrQAdb6dgs9Llim2HMJjdFrPxH1Wfpk4Q78v3+o79M6YvGx5SIu/CuQXryUcswZ//3YD77q5AywI+gbrgYY8iAjzoUCJBvcc/bqL8TvBaAIu9nf0u4iQ0lasAETKR6UouZeCmJtNwBzl5BzEeQ7EcJMhtBuCLODesIA7gIdSOJ1bPsY+1BWX6NPYMnq7un/c7FfS0KrdZoa7Lryo7Uxq0Cu+08X/b6NvFNL0hDxNShQXhonHBLprxKsG6Qba1y4iuDUBSNzgzsLBiR7NyK0fwgWR0WTWODLED4zgfE06266GduYBetyOWucLSDmEgjPDKM2+HIf2ccYBDqOX0kkdxL5a3qasVi9mvCyxQQ5IF3eYwfMVJA+BTN0jEfR8h3I2wDjjxNnRqm+VEcjAPNi/SspcAxpjj+2jJPQR5QOPJ/xzk6bayLgtdJGUc7YeqpNhA3xz7fytdsSVnt0k3/ZlTicQaoec33lOFt4s8U6hOMGCjOBxz+H6qRJbdFecmevDZZQqTg9Caz78OpVUEqhrQpkPwWfep3SO1edIfrO3pLuEsVQpKoMCsKb29lWYcWC4G/vxBtZR1uV3XsjjRAxYdB1CMXRUa0nL+FaJkHMxQJxg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR11MB4166.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(39860400002)(346002)(366004)(376002)(136003)(5660300002)(8676002)(54906003)(316002)(33656002)(186003)(76116006)(8936002)(83380400001)(52536014)(4326008)(110136005)(2906002)(30864003)(7696005)(86362001)(71200400001)(478600001)(19627235002)(966005)(9686003)(53546011)(66556008)(6506007)(66946007)(26005)(66476007)(66446008)(64756008)(7416002)(55016002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?c3RTYkNvcEE4VklmQjNwaUxTRWoxSzFDZVQ1ZkhveTNDZFVZUGdxb1hFWFc3?= =?utf-8?B?TU5kSS9nNEE4cXlEMlFIaFJiSG1VOEVib0tLQTlnWmxva2JoNU1YRVFJazNT?= =?utf-8?B?ek5OOTVZZEQvOFlVSVVRQUluTDc3ZGxvRkQvV0xPd0V1dUxuZVhKYUo4SGlj?= =?utf-8?B?WlB0U055aVI5eEVybkxpa01QczRJZVVoME1iVmU5RUlUeVZIZUpPQzM0ME50?= =?utf-8?B?ZGpBQUNLUWRLUFY0bHBIRGRLT1kvZGdCeU5VejdwdDZJZSt5R2tYSWFYMGJG?= =?utf-8?B?MlJvdXJzUUlVSDVYZWJnOUQvQ0lJTnRJZ0w4RC9qUHBNUDVSK0preFpyTzJM?= =?utf-8?B?NEVEOVowMFBSMFdpbFhBVlJVMHhsVVc2VUwxN09hS0tqV2tmWFRjSG5YaG1p?= =?utf-8?B?WW5DU1h2d1N3cUdPUW5Tdk5uQkRFNG5NMmdYb1dmc285aG9yYitaakxTQWZD?= =?utf-8?B?cC91Um5VZVM0bzFERVFwNHJKTkFpNlBDZEpWMkNWUzA5K1FZOHBUVEorL3dM?= =?utf-8?B?dG4vbm5MakpGTGVoaGYxbmNxK3RuODlNb25UVW5MYkFPc0tneTE2WGlmbHFZ?= =?utf-8?B?ckpmYTFLV3ZrSVhRT25RdVhjbkQxZXZBUUl0Z3BycmNCQmI0WFdxcmk0OGZr?= =?utf-8?B?bEJjeDdvakVUMm9iWVlKRnQzUXVxLzFkdUpsSEpxWVRCN3dzRHc0YXA5RGJ2?= =?utf-8?B?dVdlaGNkc2w1TWprcGpGbldOWnlxcXVUTnJydmFHeEM4OEFkeXlBd3BOeGRp?= =?utf-8?B?UFFsTzBFdlNxbXNMMS80NllTNExXSXlBYmtLOUJWdWNEeTRPalJvUTVnK1pL?= =?utf-8?B?ZWU3TFM2YnRQR1EydXl2ZngwQThtUjNadUlPeFdKaGgrRGZyR2l1SkJYTTN6?= =?utf-8?B?cFhvdU5YTzZ0dkJkMW0rNytsRWp2dm9LaHUvWHpzQWJ4aExxWG5ra2diZXZz?= =?utf-8?B?NUZpVUdQckNTdzFGSEgvRkFxcXd4ZVoxTytTZUZFVEZ6SXZiOXRuczRRMlB6?= =?utf-8?B?QzY0cmpmY2lGdDhURmtac1ZLTnkyNm5JeVhjVW9MRS9UeGoxWklaY0NabVZt?= =?utf-8?B?SGFTNmFMTnRWa2EyNmtpazFvSXhsYTJ4bjdISkdobTBOdGNjQ0VMb2VwbFgv?= =?utf-8?B?MERqZlIySlIzZ1JVdGl6WWpBaGFRYnRHM2NsSWxIS2JGaWs4enhEVk1jOVZR?= =?utf-8?B?MitZd3BOWHZvektqckZuZ0xuNDIzNU1VTU0vdkJ6Sm9hS0xkelZlbnYrdzIw?= =?utf-8?B?UlkxMUlONnV1WUI4YjdpT2loTmFCdm1OT0U2UWxwaDdIUkRrZFEwN3hReGhE?= =?utf-8?B?MGlJd2Nsb2pmTk5YcHgvbHA2RU92aG1BZWJUTVV4bW1xbERkK3BPSTFUbnhF?= =?utf-8?B?aUNxWktxczRQNnNycVc1WE1LUnFNOGxiNVkxUTBtaldWa3VkWDRZY3R6S2NO?= =?utf-8?B?anhEZWlSY1RJQ0UwZWhCNmliVjB1VHJWLzI3ZG9SYW5zUENNVXZTL25GY3Fm?= =?utf-8?B?WHFQVkpPZjBoM24wU3dESFBRV2p3c2pMdHprWnRSYVUzZnJpb0hnMXEyR3Ax?= =?utf-8?B?djF2Z3g3bFZVc1VpaGIzYnE3MXFlMUtCd1VRd2pVS3BRbVBZYWRhblR4RURG?= =?utf-8?B?YXE1WG5ieWNmSlFaMFh3d2FZcUxnbXJrYXFQdi9LSnBlelpENTVmYlpmL1Fw?= =?utf-8?B?eSszei9zTE1zMWhaUmtkejM4cnFONVRydUJTNnlmdXlzdTlHK2tSNVdIL0xJ?= =?utf-8?Q?kiwWNUebcuLio9fGI6c5WM7incrxZ++HQ73S0va?= x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB4166.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b8afa91d-c248-486d-43ea-08d8e9598aa9 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Mar 2021 15:30:05.9915 (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: 7qkf6GO0krgPJwIuLK8JMhB6ENorXEXTPk2raaT3NnUEj35pw3s9Xh5o8xG7uM+wor/gBShIAcJO65hS34EO1A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB4941 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 VGhhbmsgeW91IHZlcnkgbXVjaCBUb2JpbiBhbmQgQnJpamVzaC4NCg0KWWVzLCBJIGFncmVlIHRo YXQgdGhlcmUgYXJlIG11bHRpcGxlIHdheXMgdG8gcGFzcyB0aGUgdHJhbnNwb3J0IGtleSBmcm9t IHNvdXJjZSB0byBkZXN0aW5hdGlvbi4NCkkgd2lsbCB3YWl0IGZvciB5b3VyIGZpbmFsIHNvbHV0 aW9uLg0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRr Mi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgVG9iaW4NCj4g RmVsZG1hbi1GaXR6dGh1bQ0KPiBTZW50OiBXZWRuZXNkYXksIE1hcmNoIDE3LCAyMDIxIDE6NDcg QU0NCj4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IGRldmVsQGVkazIu Z3JvdXBzLmlvDQo+IENjOiBEb3YgTXVyaWsgPGRvdm11cmlrQGxpbnV4LnZuZXQuaWJtLmNvbT47 IFRvYmluIEZlbGRtYW4tRml0enRodW0NCj4gPHRvYmluQGlibS5jb20+OyBKYW1lcyBCb3R0b21s ZXkgPGplamJAbGludXguaWJtLmNvbT47IEh1YmVydHVzIEZyYW5rZQ0KPiA8ZnJhbmtlaEB1cy5p Ym0uY29tPjsgQnJpamVzaCBTaW5naCA8YnJpamVzaC5zaW5naEBhbWQuY29tPjsgQXNoaXNoIEth bHJhDQo+IDxhc2hpc2gua2FscmFAYW1kLmNvbT47IEpvbiBHcmltbSA8am9uLmdyaW1tQGFtZC5j b20+OyBUb20gTGVuZGFja3kNCj4gPHRob21hcy5sZW5kYWNreUBhbWQuY29tPg0KPiBTdWJqZWN0 OiBSZTogW2VkazItZGV2ZWxdIFtSRkMgUEFUQ0ggMDAvMTRdIEZpcm13YXJlIFN1cHBvcnQgZm9y IEZhc3QgTGl2ZQ0KPiBNaWdyYXRpb24gZm9yIEFNRCBTRVYNCj4gDQo+IE9uIDMvMTIvMjEgOToz MiBQTSwgWWFvLCBKaWV3ZW4gd3JvdGU6DQo+IA0KPiA+IEhpDQo+ID4gV2UgZGlzY3VzcyB0aGUg cGF0Y2ggaW50ZXJuYWxseS4gV2UgZG8gc2VlIFBST3MgYW5kIENPTnMgd2l0aCB0aGlzIGFwcHJv YWNoLg0KPiA+IFRoZSBhZHZhbnRhZ2UgaXMgdGhhdCBpdCBpcyB2ZXJ5IHNpbXBsZS4gSW4tVk0g bWlncmF0aW9uIGNhbiBzYXZlIGxvdHMgb2YgZWZmb3J0DQo+IG9uIHNlY3VyaXR5IGNvbnRleHQg cmVzdG9yZS4NCj4gPiBPbiB0aGUgb3RoZXIgaGFuZCwgd2UgZmVlbCBub3Qgc28gY29tZm9ydGFi bGUgdG8gcmVzZXJ2ZSBhIGRlZGljYXRlIENQVSB0bw0KPiBhY2hpZXZlIHRoYXQuIFNpbWlsYXIg dG8gdGhlIGZlZWRiYWNrIGluIHRoZSBjb21tdW5pdHkuDQo+ID4NCj4gPiBVc2luZyBIb3QtUGx1 ZyBpcyBub3QgYSBzb2x1dGlvbiBmb3IgSW50ZWwgVERYIGFzIHdlbGwuIEl0IGlzIHVuc3VwcG9y dGVkIG5vdy4NCj4gPg0KPiA+IEkgbGlrZSB0aGUgaWRlYSB0byBkaXZlcmdlIHRoZSBtaWdyYXRp b24gYm9vdCBtb2RlIHYucy4gbm9ybWFsIGJvb3QgbW9kZSBpbg0KPiBTRUMgcGhhc2UuDQo+ID4g V2UgbXVzdCBiZSB2ZXJ5IGNhcmVmdWxseSBoYW5kbGUgdGhpcyBtaWdyYXRpb24gYm9vdCBtb2Rl LCB0byBhdm9pZCBhbnkNCj4gdG91Y2hpbmcgb24gc3lzdGVtIG1lbW9yeS4NCj4gPiBJbnRlbCBU RFggVmlydHVhbCBGaXJtd2FyZSBza2lwcyB0aGUgUEVJIHBoYXNlIGRpcmVjdGx5LiBJZiB3ZSBj aG9vc2UgdGhpcw0KPiBhcHByb2FjaCwgU0VDLWJhc2VkIG1pZ3JhdGlvbiBpcyBvdXIgcHJlZmVy ZW5jZS4NCj4gPg0KPiA+IEJlc2lkZXMgdGhpcyBwYXRjaCwgd2Ugd291bGQgbGlrZSB0byB1bmRl cnN0YW5kIGEgZnVsbCBwaWN0dXJlLg0KPiA+IDEpIEhvdyB0aGUga2V5IGlzIHBhc3NlZCBmcm9t IHNvdXJjZSBWTSB0byBkZXN0aW5hdGlvbj8NCj4gPiBJIHNhdyB5b3UgbWVudGlvbnM6ICJLZXkg c2hhcmluZyBpcyBvdXQgb2Ygc2NvcGUgZm9yIHRoaXMgcGFydCBvZiB0aGUgUkZDLiINCj4gPiAi VGhpcyB3aWxsIHByb2JhYmx5IGJlIGltcGxlbWVudGVkIHZpYSBpbmplY3QtbGF1bmNoLXNlY3Jl dCBpbiB0aGUgZnV0dXJlIg0KPiA+DQo+ID4gRG9lcyB0aGF0IG1lYW4gdHdvIFBTUCB3aWxsIHN5 bmMgd2l0aCBlYWNoIG90aGVyIGFuZCBuZWdvdGlhdGUgdGhlIGtleSwgYWZ0ZXINCj4gdGhlIE1p Z3JhdGlvbiBBZ2VudCAoTUEpIGNoZWNrcyB0aGUgcG9saWN5Pw0KPiANCj4gVGhlIHNvdXJjZSBh bmQgZGVzdGluYXRpb24gbWlncmF0aW9uIGhhbmRsZXJzIHdpbGwgbmVlZCB0byBzaGFyZSBhIGtl eS4NCj4gSWYgd2Ugb25seSByZWxpZWQgb24gdGhlIFBTUCBmb3IgbWlncmF0aW9uLCB3ZSBjb3Vs ZCB1c2UgdGhlIGV4aXN0aW5nDQo+IHNlY3VyZSBjaGFubmVsIGJldHdlZW4gdGhlIFBTUCBhbmQg dGhlIGd1ZXN0IG93bmVyIHRvIHRyYW5zZmVyIHRoZQ0KPiBwYWdlcy4gVW5mb3J0dW5hdGVseSB0 aGUgdGhyb3VnaHB1dCBvZiB0aGlzIGFwcHJvYWNoIGlzIGZhciB0b28gbG93Lg0KPiBUaHVzLCB3 ZSBoYXZlIHNvbWUgbWlncmF0aW9uIGhhbmRsZXIgcnVubmluZyBvbiBhIGd1ZXN0IHZDUFUgd2l0 aCBhDQo+IHRyYW5zcG9ydCBrZXkgc2hhcmVkIGJldHdlZW4gdGhlIHNvdXJjZSBhbmQgdGhlIHRh cmdldC4NCj4gDQo+IFRoZSBtYWluIG1lY2hhbmlzbSBmb3IgZ2V0dGluZyBhIGtleSB0byB0aGUg bWlncmF0aW9uIGhhbmRsZXIgaXMNCj4gaW5qZWN0LWxhdW5jaC1zZWNyZXQuIEhlcmUgdGhlIGd1 ZXN0IG93bmVyIGNhbiBwcm92aWRlIGEgc2VjcmV0IHRvIHRoZQ0KPiBQU1AgdmlhIGEgc2VjdXJl IGNoYW5uZWwgYW5kIHRoZSBQU1Agd2lsbCBpbmplY3QgaXQgYXQgc29tZSBndWVzdA0KPiBwaHlz aWNhbCBhZGRyZXNzLiBZb3UgdXNlIGluamVjdC1sYXVuY2gtc2VjcmV0IGFmdGVyIHRoZSBsYXVu Y2gNCj4gbWVhc3VyZW1lbnQgb2YgdGhlIGd1ZXN0IGhhcyBiZWVuIGdlbmVyYXRlZCB0byBpbmpl Y3QgdGhlIHNlY3JldA0KPiBjb25kaXRpb25hbGx5LiBPbmUgYXBwcm9hY2ggd291bGQgYmUgdG8g aW5qZWN0IHRoZSB0cmFuc3BvcnQga2V5DQo+IGRpcmVjdGx5IGluIHRoZSBzb3VyY2UgYW5kIHRo ZSB0YXJnZXQuIFRoaXMgaXMgcHJldHR5IHNpbXBsZSwgYnV0IG1pZ2h0DQo+IGhhdmUgYSBmZXcg ZHJhd2JhY2tzLiBUaGUgaW5qZWN0aW9uIGhhcyB0byBoYXBwZW4gYXQgYm9vdCwgbWVhbmluZyB0 aGF0DQo+IHRoZSBzb3VyY2UgbWFjaGluZSB3b3VsZCBoYXZlIHRvIGJlIHByb3Zpc2lvbmVkIHdp dGggYSB0cmFuc3BvcnQga2V5DQo+IGJlZm9yZSBhIG1pZ3JhdGlvbiBoYXBwZW5zIGFuZCB0aGF0 IGFsbCBtaWdyYXRpb25zIGZyb20gdGhhdCBtYWNoaW5lDQo+IHdvdWxkIGhhdmUgdG8gdXNlIHRo ZSBzYW1lIHRyYW5zcG9ydCBrZXkuIE9uZSB3YXkgYXJvdW5kIHRoaXMgd291bGQgYmUNCj4gdG8g aW5qZWN0IGFzeW1tZXRyaWMga2V5cyBhbmQgdXNlIHRoZW0gdG8gZGVyaXZlIHRoZSB0cmFuc3Bv cnQga2V5Lg0KPiANCj4gQW5vdGhlciBhcHByb2FjaCBlbnRpcmVseSBpcyB0byB1c2UgdGhlIFBT UCB0byBtaWdyYXRlIGp1c3QgYSBmZXcgcGFnZXMsDQo+IHdoaWNoIG1pZ2h0IGluY2x1ZGUgYSBz ZWNyZXQgc2V0IGJ5IHRoZSBzb3VyY2UgTUggdGhhdCB0aGUgdGFyZ2V0IE1IDQo+IGNvdWxkIHVz ZSB0byBkZWNyeXB0IGluY29taW5nIHBhZ2VzLiBVc2luZyB0aGUgUFNQIHRvIG1pZ3JhdGUgcGFn ZXMNCj4gcmVxdWlyZXMgc29tZSBleHRyYSBrZXJuZWwgc3VwcG9ydC4NCj4gDQo+IEZvciB0aGUg UkZDLCB3ZSBqdXN0IGFzc3VtZSB0aGF0IHRoZXJlIGlzIHNvbWUgc2hhcmVkIGtleS4gV2UgaGF2 ZQ0KPiB0YWxrZWQgc29tZSBhYm91dCB0aGUgdmFyaW91cyBvcHRpb25zIGludGVybmFsbHkuDQo+ IA0KPiA+IDIpIEhvdyB0aGUgYXR0ZXN0YXRpb24gaXMgc3VwcG9ydGVkPw0KPiA+IEkgcmVhZCB0 aGUgd2hpdGVwYXBlciBodHRwczovL3d3dy5hbWQuY29tL3N5c3RlbS9maWxlcy9UZWNoRG9jcy9T RVYtDQo+IFNOUC1zdHJlbmd0aGVuaW5nLXZtLWlzb2xhdGlvbi13aXRoLWludGVncml0eS1wcm90 ZWN0aW9uLWFuZC1tb3JlLnBkZi4NCj4gPiBJdCBzZWVtcyBTRVYgYW5kIFNFVi1FUyBvbmx5IHN1 cHBvcnQgYXR0ZXN0YXRpb24gZHVyaW5nIGxhdW5jaCwgSSBkb24ndCBiZWxpZXZlDQo+IHRoaXMg bWlncmF0aW9uIGZlYXR1cmUgd2lsbCBpbXBhY3QgdGhlIGF0dGVzdGF0aW9uIHJlcG9ydC4gQW0g SSByaWdodD8NCj4gPiBTRVYtU05QIHN1cHBvcnRzIG1vcmUgZmxleGlibGUgYXR0ZXN0YXRpb24s IGRvZXMgaXQgaW5jbHVkZSBhbnkgaW5mb3JtYXRpb24NCj4gYWJvdXQgdGhlIG5ldyBtaWdyYXRl ZCBjb250ZW50Pw0KPiANCj4gQnJpamVzaCBhbHJlYWR5IGFkZHJlc3NlZCBtb3N0IG9mIHRoaXMu IEluIG91ciBhcHByb2FjaCB0aGUgTUggaXMgYmFrZWQNCj4gaW50byB0aGUgZmlybXdhcmUsIHdo aWNoIGNhbiBiZSBhdHRlc3RlZCBwcmlvciB0byBpbmplY3RpbmcgdGhlIGtleS4gSW4NCj4gb3Ro ZXIgd29yZHMgdGhlcmUgYXJlbid0IGFueSBhZGRpdGlvbmFsIHN0ZXBzIHRvIGF0dGVzdCB0aGUg TUggYW5kIGl0DQo+IGRvZXMgbm90IGNoYW5nZSB0aGUgZnVuY3Rpb25hbGl0eSBvZiBhbnkgZXhp c3RpbmcgYXR0ZXN0YXRpb24gbWVjaGFuaXNtcy4NCj4gDQo+IC1Ub2Jpbg0KPiANCj4gPg0KPiA+ PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vw cy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBZYW8sDQo+IEppZXdlbg0K PiA+PiBTZW50OiBUaHVyc2RheSwgTWFyY2ggNCwgMjAyMSA5OjQ5IEFNDQo+ID4+IFRvOiBkZXZl bEBlZGsyLmdyb3Vwcy5pbzsgdG9iaW5AbGludXguaWJtLmNvbQ0KPiA+PiBDYzogRG92IE11cmlr IDxkb3ZtdXJpa0BsaW51eC52bmV0LmlibS5jb20+OyBUb2JpbiBGZWxkbWFuLUZpdHp0aHVtDQo+ ID4+IDx0b2JpbkBpYm0uY29tPjsgSmFtZXMgQm90dG9tbGV5IDxqZWpiQGxpbnV4LmlibS5jb20+ OyBIdWJlcnR1cyBGcmFua2UNCj4gPj4gPGZyYW5rZWhAdXMuaWJtLmNvbT47IEJyaWplc2ggU2lu Z2ggPGJyaWplc2guc2luZ2hAYW1kLmNvbT47IEFzaGlzaA0KPiBLYWxyYQ0KPiA+PiA8YXNoaXNo LmthbHJhQGFtZC5jb20+OyBKb24gR3JpbW0gPGpvbi5ncmltbUBhbWQuY29tPjsgVG9tDQo+IExl bmRhY2t5DQo+ID4+IDx0aG9tYXMubGVuZGFja3lAYW1kLmNvbT47IFlhbywgSmlld2VuIDxqaWV3 ZW4ueWFvQGludGVsLmNvbT4NCj4gPj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUkZDIFBB VENIIDAwLzE0XSBGaXJtd2FyZSBTdXBwb3J0IGZvciBGYXN0IExpdmUNCj4gPj4gTWlncmF0aW9u IGZvciBBTUQgU0VWDQo+ID4+DQo+ID4+IEhpIFRvYmluDQo+ID4+IFRoYW5rcyBmb3IgeW91ciBw YXRjaC4NCj4gPj4gWW91IG1heSB0aGF0IEludGVsIGlzIHdvcmtpbmcgb24gVERYIGZvciB0aGUg c2FtZSBsaXZlIG1pZ3JhdGlvbiBmZWF0dXJlLg0KPiA+Pg0KPiA+PiBQbGVhc2UgZ2l2ZSBtZSBz b21lIHRpbWUgKGFib3V0IDEgd29yayB3ZWVrKSB0byBkaWdlc3QgYW5kIGV2YWx1YXRlIHRoZQ0K PiBwYXRjaA0KPiA+PiBhbmQgaW1wYWN0Lg0KPiA+PiBUaGVuIEkgd2lsbCBwcm92aWRlIGZlZWRi YWNrLg0KPiA+Pg0KPiA+PiBUaGFuayB5b3UNCj4gPj4gWWFvIEppZXdlbg0KPiA+Pg0KPiA+Pj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+IEZyb206IGRldmVsQGVkazIuZ3JvdXBz LmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIFRvYmluDQo+ID4+PiBGZWxk bWFuLUZpdHp0aHVtDQo+ID4+PiBTZW50OiBXZWRuZXNkYXksIE1hcmNoIDMsIDIwMjEgNDo0OCBB TQ0KPiA+Pj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4+PiBDYzogRG92IE11cmlrIDxk b3ZtdXJpa0BsaW51eC52bmV0LmlibS5jb20+OyBUb2JpbiBGZWxkbWFuLUZpdHp0aHVtDQo+ID4+ PiA8dG9iaW5AaWJtLmNvbT47IFRvYmluIEZlbGRtYW4tRml0enRodW0gPHRvYmluQGxpbnV4Lmli bS5jb20+OyBKYW1lcw0KPiA+Pj4gQm90dG9tbGV5IDxqZWpiQGxpbnV4LmlibS5jb20+OyBIdWJl cnR1cyBGcmFua2UgPGZyYW5rZWhAdXMuaWJtLmNvbT47DQo+ID4+PiBCcmlqZXNoIFNpbmdoIDxi cmlqZXNoLnNpbmdoQGFtZC5jb20+OyBBc2hpc2ggS2FscmENCj4gPj4gPGFzaGlzaC5rYWxyYUBh bWQuY29tPjsNCj4gPj4+IEpvbiBHcmltbSA8am9uLmdyaW1tQGFtZC5jb20+OyBUb20gTGVuZGFj a3kNCj4gPj4+IDx0aG9tYXMubGVuZGFja3lAYW1kLmNvbT4NCj4gPj4+IFN1YmplY3Q6IFtlZGsy LWRldmVsXSBbUkZDIFBBVENIIDAwLzE0XSBGaXJtd2FyZSBTdXBwb3J0IGZvciBGYXN0IExpdmUN Cj4gPj4+IE1pZ3JhdGlvbiBmb3IgQU1EIFNFVg0KPiA+Pj4NCj4gPj4+IFRoaXMgaXMgYSBkZW1v bnN0cmF0aW9uIG9mIGZhc3QgbWlncmF0aW9uIGZvciBlbmNyeXB0ZWQgdmlydHVhbCBtYWNoaW5l cw0KPiA+Pj4gdXNpbmcgYSBNaWdyYXRpb24gSGFuZGxlciB0aGF0IGxpdmVzIGluIE9WTUYuIFRo aXMgZGVtbyB1c2VzIEFNRCBTRVYsDQo+ID4+PiBidXQgdGhlIGlkZWFzIG1heSBnZW5lcmFsaXpl IHRvIG90aGVyIGNvbmZpZGVudGlhbCBjb21wdXRpbmcgcGxhdGZvcm1zLg0KPiA+Pj4gV2l0aCBB TUQgU0VWLCBndWVzdCBtZW1vcnkgaXMgZW5jcnlwdGVkIGFuZCB0aGUgaHlwZXJ2aXNvciBjYW5u b3QNCj4gYWNjZXNzDQo+ID4+PiBvciBtb3ZlIGl0LiBUaGlzIG1ha2VzIG1pZ3JhdGlvbiB0cmlj a3kuIEluIHRoaXMgZGVtbywgd2Ugc2hvdyBob3cgdGhlDQo+ID4+PiBIViBjYW4gYXNrIGEgTWln cmF0aW9uIEhhbmRsZXIgKE1IKSBpbiB0aGUgZmlybXdhcmUgZm9yIGFuIGVuY3J5cHRlZA0KPiA+ Pj4gcGFnZS4gVGhlIE1IIGVuY3J5cHRzIHRoZSBwYWdlIHdpdGggYSB0cmFuc3BvcnQga2V5IHBy aW9yIHRvIHJlbGVhc2luZw0KPiA+Pj4gaXQgdG8gdGhlIEhWLiBUaGUgdGFyZ2V0IG1hY2hpbmUg YWxzbyBydW5zIGFuIE1IIHRoYXQgZGVjcnlwdHMgdGhlIHBhZ2UNCj4gPj4+IG9uY2UgaXQgaXMg cGFzc2VkIGluIGJ5IHRoZSB0YXJnZXQgSFYuIFRoZXNlIHBhdGNoZXMgYXJlIG5vdCByZWFkeSBm b3INCj4gPj4+IHByb2R1Y3Rpb24sIGJ1dCB0aGUgYXJlIGEgZnVsbCBlbmQtdG8tZW5kIHNvbHV0 aW9uIHRoYXQgZmFjaWxpdGF0ZXMgYQ0KPiA+Pj4gZmFzdCBsaXZlIG1pZ3JhdGlvbiBiZXR3ZWVu IHR3byBTRVYgVk1zLg0KPiA+Pj4NCj4gPj4+IENvcnJlc3BvbmRpbmcgcGF0Y2hlcyBmb3IgUUVN VSBoYXZlIGJlZW4gcG9zdGVkIG15IGNvbGxlYWd1ZSBEb3YNCj4gTXVyaWsNCj4gPj4+IG9uIHFl bXUtZGV2ZWwuIE91ciBhcHByb2FjaCBuZWVkcyBsaXR0bGUga2VybmVsIHN1cHBvcnQsIHJlcXVp cmluZyBvbmx5DQo+ID4+PiBvbmUgaHlwZXJjYWxsIHRoYXQgdGhlIGd1ZXN0IGNhbiB1c2UgdG8g bWFyayBhIHBhZ2UgYXMgZW5jcnlwdGVkIG9yDQo+ID4+PiBzaGFyZWQuIFRoaXMgc2VyaWVzIGlu Y2x1ZGVzIHVwZGF0ZWQgcGF0Y2hlcyBmcm9tIEFzaGlzaCBLYWxyYSBhbmQNCj4gPj4+IEJyaWpl c2ggU2luZ2ggdGhhdCBhbGxvdyBPVk1GIHRvIHVzZSB0aGlzIGh5cGVyY2FsbC4NCj4gPj4+DQo+ ID4+PiBUaGUgTUggcnVucyBjb250aW51b3VzbHkgaW4gdGhlIGd1ZXN0LCB3YWl0aW5nIGZvciBj b21tdW5pY2F0aW9uIGZyb20NCj4gPj4+IHRoZSBIVi4gVGhlIEhWIHN0YXJ0cyBhbiBhZGRpdGlv bmFsIHZDUFUgZm9yIHRoZSBNSCBidXQgZG9lcyBub3QgZXhwb3NlDQo+ID4+PiBpdCB0byB0aGUg Z3Vlc3QgT1MgdmlhIEFDUEkuIFdlIHVzZSB0aGUgTXBTZXJ2aWNlIHRvIHN0YXJ0IHRoZSBNSC4g VGhlDQo+ID4+PiBNcFNlcnZpY2UgaXMgb25seSBhdmFpbGFibGUgYXQgcnVudGltZSBhbmQgcHJv Y2Vzc2VzIHRoYXQgYXJlIHN0YXJ0ZWQgYnkNCj4gPj4+IGl0IGFyZSB1c3VhbGx5IGNsZWFuZWQg dXAgb24gRXhpdEJvb3RTZXJ2aWNlcy4gU2luY2Ugd2UgbmVlZCB0aGUgTUggdG8NCj4gPj4+IHJ1 biBjb250aW51b3VzbHksIHdlIGhhZCB0byBtYWtlIHNvbWUgbW9kaWZpY2F0aW9ucy4gSWRlYWxs eSBhIGZlYXR1cmUNCj4gPj4+IGNvdWxkIGJlIGFkZGVkIHRvIHRoZSBNcFNlcnZpY2UgdG8gYWxs b3cgZm9yIHRoZSBzdGFydGluZyBvZg0KPiA+Pj4gbG9uZy1ydW5uaW5nIHByb2Nlc3Nlcy4gQmVz aWRlcyBtaWdyYXRpb24sIHRoaXMgY291bGQgc3VwcG9ydCBvdGhlcg0KPiA+Pj4gYmFja2dyb3Vu ZCBwcm9jZXNzZXMgdGhhdCBuZWVkIHRvIG9wZXJhdGUgd2l0aGluIHRoZSBlbmNyeXB0aW9uDQo+ ID4+PiBib3VuZGFyeS4gRm9yIG5vdywgd2UgaGF2ZSBpbmNsdWRlZCBhIGhhbmRmdWwgb2YgcGF0 Y2hlcyB0aGF0IG1vZGlmeSB0aGUNCj4gPj4+IE1wU2VydmljZSB0byBhbGxvdyB0aGUgTUggdG8g a2VlcCBydW5uaW5nIGFmdGVyIEV4aXRCb290U2VydmljZXMuIFRoZXNlDQo+ID4+PiBhcmUgdGVt cG9yYXJ5Lg0KPiA+Pj4NCj4gPj4+IEFzaGlzaCBLYWxyYSAoMik6DQo+ID4+PiAgICBPdm1mUGtn L1BsYXRmb3JtUGVpOiBNYXJrIFNFQyBHSENCIHBhZ2UgaW4gdGhlIHBhZ2UgZW5jcnB5dGlvbiBi aXRtYXAuDQo+ID4+PiAgICBPdm1mUGtnL1BsYXRmb3JtRHhlOiBBZGQgc3VwcG9ydCBmb3IgU0VW IGxpdmUgbWlncmF0aW9uLg0KPiA+Pj4NCj4gPj4+IEJyaWplc2ggU2luZ2ggKDEpOg0KPiA+Pj4g ICAgT3ZtZlBrZy9CYXNlTWVtRW5jcnlwdExpYjogU3VwcG9ydCB0byBpc3N1ZSB1bmVuY3J5cHRl ZCBoeXBlcmNhbGwNCj4gPj4+DQo+ID4+PiBEb3YgTXVyaWsgKDEpOg0KPiA+Pj4gICAgT3ZtZlBr Zy9BbWRTZXY6IEJ1aWxkIHBhZ2UgdGFibGUgZm9yIG1pZ3JhdGlvbiBoYW5kbGVyDQo+ID4+Pg0K PiA+Pj4gVG9iaW4gRmVsZG1hbi1GaXR6dGh1bSAoMTApOg0KPiA+Pj4gICAgT3ZtZlBrZy9BbWRT ZXY6IEJhc2UgZm9yIENvbmZpZGVudGlhbCBNaWdyYXRpb24gSGFuZGxlcg0KPiA+Pj4gICAgT3Zt ZlBrZy9QbGF0Zm9tUGVpOiBTZXQgQ29uZmlkZW50aWFsIE1pZ3JhdGlvbiBQQ0QNCj4gPj4+ICAg IE92bWZQa2cvQW1kU2V2OiBTZXR1cCBNaWdyYXRpb24gSGFuZGxlciBNYWlsYm94DQo+ID4+PiAg ICBPdm1mUGtnL0FtZFNldjogTUggc3VwcG9ydCBmb3IgbWFpbGJveCBwcm90b2NvbA0KPiA+Pj4g ICAgVWVmaUNwdVBrZy9NcEluaXRMaWI6IHRlbXAgcmVtb3ZhbCBvZiBNcExpYiBjbGVhbnVwDQo+ ID4+PiAgICBVZWZpQ3B1UGtnL01wSW5pdExpYjogQWxsb2NhdGUgTVAgYnVmZmVyIGFzIHJ1bnRp bWUgbWVtb3J5DQo+ID4+PiAgICBVZWZpQ3B1UGtnL0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWI6IEV4 Y2VwdGlvbiBoYW5kbGluZyBhcyBydW50aW1lDQo+ID4+PiAgICAgIG1lbW9yeQ0KPiA+Pj4gICAg T3ZtZlBrZy9BbWRTZXY6IERvbid0IG92ZXJ3cml0ZSBtYWlsYm94IG9yIHBhZ2V0YWJsZXMNCj4g Pj4+ICAgIE92bWZQa2cvQW1kU2V2OiBEb24ndCBvdmVyd3JpdGUgTUggc3RhY2sNCj4gPj4+ICAg IE92bWZQa2cvQW1kU2V2OiBNSCBwYWdlIGVuY3J5cHRpb24gUE9DDQo+ID4+Pg0KPiA+Pj4gICBP dm1mUGtnL092bWZQa2cuZGVjICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTEgKw0KPiA+ Pj4gICBPdm1mUGtnL0FtZFNldi9BbWRTZXZYNjQuZHNjICAgICAgICAgICAgICAgICAgfCAgIDIg Kw0KPiA+Pj4gICBPdm1mUGtnL0FtZFNldi9BbWRTZXZYNjQuZmRmICAgICAgICAgICAgICAgICAg fCAgMTMgKy0NCj4gPj4+ICAgLi4uL0NvbmZpZGVudGlhbE1pZ3JhdGlvbkR4ZS5pbmYgICAgICAg ICAgICAgIHwgIDQ1ICsrKw0KPiA+Pj4gICAuLi4vQ29uZmlkZW50aWFsTWlncmF0aW9uUGVpLmlu ZiAgICAgICAgICAgICAgfCAgMzUgKysNCj4gPj4+ICAgLi4uL0R4ZU1lbUVuY3J5cHRTZXZMaWIu aW5mICAgICAgICAgICAgICAgICAgIHwgICAxICsNCj4gPj4+ICAgLi4uL1BlaU1lbUVuY3J5cHRT ZXZMaWIuaW5mICAgICAgICAgICAgICAgICAgIHwgICAxICsNCj4gPj4+ICAgT3ZtZlBrZy9QbGF0 Zm9ybUR4ZS9QbGF0Zm9ybS5pbmYgICAgICAgICAgICAgIHwgICAyICsNCj4gPj4+ICAgT3ZtZlBr Zy9QbGF0Zm9ybVBlaS9QbGF0Zm9ybVBlaS5pbmYgICAgICAgICAgIHwgICAyICsNCj4gPj4+ICAg VWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9EeGVNcEluaXRMaWIuaW5mIHwgICAyICsNCj4g Pj4+ICAgVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9QZWlNcEluaXRMaWIuaW5mIHwgICAy ICsNCj4gPj4+ICAgT3ZtZlBrZy9BbWRTZXYvQ29uZmlkZW50aWFsTWlncmF0aW9uL01wTGliLmgg IHwgMjM1ICsrKysrKysrKysrKysNCj4gPj4+ICAgLi4uL0NvbmZpZGVudGlhbE1pZ3JhdGlvbi9W aXJ0dWFsTWVtb3J5LmggICAgIHwgMTc3ICsrKysrKysrKysNCj4gPj4+ICAgT3ZtZlBrZy9JbmNs dWRlL0d1aWQvTWVtRW5jcnlwdExpYi5oICAgICAgICAgIHwgIDE2ICsNCj4gPj4+ICAgT3ZtZlBr Zy9QbGF0Zm9ybUR4ZS9QbGF0Zm9ybUNvbmZpZy5oICAgICAgICAgIHwgICA1ICsNCj4gPj4+ICAg Li4uL0NvbmZpZGVudGlhbE1pZ3JhdGlvbkR4ZS5jICAgICAgICAgICAgICAgIHwgMzI1ICsrKysr KysrKysrKysrKysrKw0KPiA+Pj4gICAuLi4vQ29uZmlkZW50aWFsTWlncmF0aW9uUGVpLmMgICAg ICAgICAgICAgICAgfCAgMjUgKysNCj4gPj4+ICAgLi4uL1g2NC9QZWlEeGVWaXJ0dWFsTWVtb3J5 LmMgICAgICAgICAgICAgICAgIHwgIDE4ICsNCj4gPj4+ICAgT3ZtZlBrZy9QbGF0Zm9ybUR4ZS9B bWRTZXYuYyAgICAgICAgICAgICAgICAgIHwgIDk5ICsrKysrKw0KPiA+Pj4gICBPdm1mUGtnL1Bs YXRmb3JtRHhlL1BsYXRmb3JtLmMgICAgICAgICAgICAgICAgfCAgIDYgKw0KPiA+Pj4gICBPdm1m UGtnL1BsYXRmb3JtUGVpL0FtZFNldi5jICAgICAgICAgICAgICAgICAgfCAgMTAgKw0KPiA+Pj4g ICBPdm1mUGtnL1BsYXRmb3JtUGVpL1BsYXRmb3JtLmMgICAgICAgICAgICAgICAgfCAgMTAgKw0K PiA+Pj4gICAuLi4vQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9EeGVFeGNlcHRpb24uYyAgICAgfCAg IDggKy0NCj4gPj4+ICAgVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9EeGVNcExpYi5jICAg ICAgIHwgIDIxICstDQo+ID4+PiAgIFVlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvTXBMaWIu YyAgICAgICAgICB8ICAgNyArLQ0KPiA+Pj4gICAyNSBmaWxlcyBjaGFuZ2VkLCAxMDYxIGluc2Vy dGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQ0KPiA+Pj4gICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g Pj4+IE92bWZQa2cvQW1kU2V2L0NvbmZpZGVudGlhbE1pZ3JhdGlvbi9Db25maWRlbnRpYWxNaWdy YXRpb25EeGUuaW5mDQo+ID4+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+Pj4gT3ZtZlBrZy9B bWRTZXYvQ29uZmlkZW50aWFsTWlncmF0aW9uL0NvbmZpZGVudGlhbE1pZ3JhdGlvblBlaS5pbmYN Cj4gPj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IE92bWZQa2cvQW1kU2V2L0NvbmZpZGVudGlhbE1p Z3JhdGlvbi9NcExpYi5oDQo+ID4+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+Pj4gT3ZtZlBr Zy9BbWRTZXYvQ29uZmlkZW50aWFsTWlncmF0aW9uL1ZpcnR1YWxNZW1vcnkuaA0KPiA+Pj4gICBj cmVhdGUgbW9kZSAxMDA2NDQgT3ZtZlBrZy9JbmNsdWRlL0d1aWQvTWVtRW5jcnlwdExpYi5oDQo+ ID4+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+Pj4gT3ZtZlBrZy9BbWRTZXYvQ29uZmlkZW50 aWFsTWlncmF0aW9uL0NvbmZpZGVudGlhbE1pZ3JhdGlvbkR4ZS5jDQo+ID4+PiAgIGNyZWF0ZSBt b2RlIDEwMDY0NA0KPiA+Pj4gT3ZtZlBrZy9BbWRTZXYvQ29uZmlkZW50aWFsTWlncmF0aW9uL0Nv bmZpZGVudGlhbE1pZ3JhdGlvblBlaS5jDQo+ID4+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBPdm1m UGtnL1BsYXRmb3JtRHhlL0FtZFNldi5jDQo+ID4+Pg0KPiA+Pj4gLS0NCj4gPj4+IDIuMjAuMQ0K PiA+Pj4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+ DQo+IA0KPiANCj4gDQo+IA0KDQo=