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.web08.301.1664551732325520298 for ; Fri, 30 Sep 2022 08:28:52 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=CBUtnfJb; 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=1664551732; x=1696087732; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Ql0U5xQ4IGE7Nkdg8DKPw8yeAjTVpSxEoMuyusWdgUY=; b=CBUtnfJbFCRwSKFdB+KsLuzmRIlbQiR67dDwbU8OcB4cav2vltM0Ezda WaB8Zfm15/1f9OMfVcM1380ncUkRKA2O55pqXxyLpV1ibOgfIiGbhCVC7 XvQl0nwJj9jhfo9wkggeI3ow99Uiys6caj/bQtRE9GvNTfXkj5soCxV5x mNrT920uzc+lojrcm2MoaSC6hhihgZSR7qB9wKevR0uK/HJPGEMpAASIU vhlgXE0+HgLsAHNFN+7PqIsuxI6LvLo8LpE4JQipu2rzxIcvt5Lq9O45s W1UxsXf4bbYLQ+u3uPUM4rC+ZsfaU1CJB9mc4uegRJA2vadjHpEXITCna w==; X-IronPort-AV: E=McAfee;i="6500,9779,10486"; a="300934093" X-IronPort-AV: E=Sophos;i="5.93,358,1654585200"; d="scan'208";a="300934093" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Sep 2022 08:28:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10486"; a="797996479" X-IronPort-AV: E=Sophos;i="5.93,358,1654585200"; d="scan'208";a="797996479" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga005.jf.intel.com with ESMTP; 30 Sep 2022 08:28:51 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Fri, 30 Sep 2022 08:28:51 -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; Fri, 30 Sep 2022 08:28:51 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.168) 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; Fri, 30 Sep 2022 08:28:51 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TflXHFvAQXD8CaeyfBFNUyTE/m5MVs4ibUxShVLxdVJDi1HEdOsZiV4QTwOyocCyuenZeHO4zWKIlnEwVbE+KJjNOx7bY+ppFoesA7xOIT4pSPPfqdBlgDctWOXQC6yQhKSvGsXzx4AgESsceB3sX81bObQtMu2ASzs/Md1Zu76Dwb2ZT4NQf+yf0QNhXsMZJbj6OpdJOQ5Rk2UVKx0lMpY9e9RdEBnY8eP2fX+Xslt+eA00qus5Cq8GiNM6PGmwmyG5hzvyL3QslEabTzBm8YHXVfE48hfCS26uhnIsDdCFZDZ833HsnfsublQKTtI4hw5PHT4edv/JqPONcML6cQ== 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=Ql0U5xQ4IGE7Nkdg8DKPw8yeAjTVpSxEoMuyusWdgUY=; b=A2I3WQupGlKI9UVwPIeUo1lVi90lezV0ZL8oKXPNy7xKPCNZukqfq2P93Wn7aORxTC/14MG21BXYNxMK7h4gMWpepdCVMY4+eltjuzy2WoJ20Se3phvsUVVfEMdaXkYNplnHVcuRCvWnBPeDdsD+wKyc+SjwOmu9Ruqn9ZMKJQY4rnx7XhV1+27n8CCSOORxwQWnluWklbaX4h2tQOMbuLlU6c3R1GQX1Y3trHTWwZqmg3dQ/qrwZXexf6X0fTHUMyAUMG4hCND6/sfm+stQZSRMwliujaVTuh/Oafxp94B4zc07o7ckRoZDhzIeRMuE3zqW1N/IZQWzhg1MMrIMHQ== 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 DM8PR11MB5606.namprd11.prod.outlook.com (2603:10b6:8:3c::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Fri, 30 Sep 2022 15:28:49 +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.5676.023; Fri, 30 Sep 2022 15:28:49 +0000 From: "Michael D Kinney" To: "Chang, Abner" , "Ni, Ray" , "Attar, AbdulLateef (Abdul Lateef)" , Sunil V L , "devel@edk2.groups.io" , "Kinney, Michael D" CC: lichao , "Kirkendall, Garrett" , "Grimes, Paul" , "He, Jiangang" , Leif Lindholm , Andrew Fish Subject: Re: [edk2-devel] The principles of EDK2 module reconstruction for archs Thread-Topic: [edk2-devel] The principles of EDK2 module reconstruction for archs Thread-Index: AdjPX4ZZG0rDXS4WTdOIWvoiYOLYcgC9rttQAC2dmIAADxJbkAAiVmtwAABqVrAAMdRUkAARY7Iw Date: Fri, 30 Sep 2022 15:28:49 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2022-09-30T07:10:39Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=eb6a5c06-93b9-4c5f-a1b8-a42381966a1a; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1 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_|DM8PR11MB5606:EE_ x-ms-office365-filtering-correlation-id: 8ff2a93e-c60b-4dda-1fca-08daa2f8793e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: YJ/xogQKxFadosAarg5EpsVLKiNq3/v2pyM4qRhs79zGHI6qf4DlcADYJOq6QeHBC7G/NqJYauyneV6ABPJ3/Re9Pc2zeDJXrMmxqCSTnNNm9bNTVUFG/G1uaXr/VLIEIIgUcPRUqalaCQHfx+k3iDsg1UYi7MU3+nygvu0q5yo9n+Ys567Of8Sb+pVrXpX+8SAxiIa4SZsDlYLFHOptYVOqLzlQIo6yCIcMS5uQ2s8266Y0g9Mnen+bNis3SkH7YhuEsPfr6njLHCnoH0XivZx9uel8P2xlaJZZsjaBFRT+A7HQ+NLKE2T3CE0xFa4aiaUvqFP6PFmO8Grws+N34JiW7tDvXqXLsWtKBj2YABxI3PaYGqEDPG1oiRNFmFpcdqScLf6Z0faq6l4A1Z+kiy7T+eaRfXUgwZhNQg502V0VRy7/IeEIRIjMc7+pf8wPX1t6E0rUiq+DFTgyv5PKa2o+abj/Dtzg2OWWm9TOMVzS1f8fCafGZC+m2+x3SyJooSVyGf/aaTIsZtjmci5a6VjktZJZC6UMogUo4+nidK1ZhD/3+itT5IBfw6RkouvWEJfB4EVoroMFT5hbfisFancp+gUUVPAuNAG0eBUTGxBARjkBl+/5hMKb6Tc8wMxvLxMbUudANLAQSDz/W0lJNI6iX66SjhmqS1d/pqNYPPLFn1Lb3GbiPqQvxCNUguvl56DatGW6OAFsctaT9DI6U2D9ZGx9xzvVKRtyz4+jZ8/APlQvUo66HNvcVHWj7F0TmfypY1wswJaa/+ZXD+Irr3fF0+Gi2eeOpiZHWN7lbVx7NsekUQmkqtqtvtvEL4of 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)(366004)(136003)(346002)(376002)(396003)(451199015)(33656002)(66946007)(71200400001)(966005)(66446008)(38070700005)(478600001)(64756008)(76116006)(66556008)(66476007)(4326008)(8936002)(110136005)(54906003)(41300700001)(45080400002)(8676002)(19627235002)(38100700002)(122000001)(921005)(316002)(82960400001)(55016003)(26005)(6506007)(53546011)(9686003)(86362001)(186003)(83380400001)(7696005)(52536014)(2906002)(7416002)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TU1LWHdPSzRtUHovVFZOLzNIcDREaDlzNWFGN0hNdjUzQjI0Z01NRXRwQjV3?= =?utf-8?B?U1hSa29IVEZsKzhNWWVQQmdzSm9rVDdPMC91QUhWamJjY2lrdGJQdlEvaTBD?= =?utf-8?B?K1J3MjBBUUd3bllyMVRXQWROUHY3Y2tVbmovczk2ekx4YlBGK1lEa3ovQXor?= =?utf-8?B?cTc4RmRlSzV2RFM3cWZSM1ZxSDJub0w3dnZmOFFYL3N6RncrTHZLYTNkOFBq?= =?utf-8?B?Z050aDRDa2lzUDBHbHFFeitmUGErNlFOWFlENncvU050aUxwTVdhY1JnS2tw?= =?utf-8?B?RTQzRWZ6eXRIMkpwU1U3NVZOVE9vdERvUE9qWWp3b0RSS05pRFM1VDdLT0Fu?= =?utf-8?B?ZlRzK0QxWDRUMDdzSUczK2Z3OUk0MDM2RjBoejdRT3lHSEcxNG5vdmU4NVNJ?= =?utf-8?B?VldFaDZpa01Oc3lQVkJxVGxRK1FXMzZ4Q2lHNDl6UDFRQzBvbFVpeGZpNnY5?= =?utf-8?B?d0FianhoazZ6UU9HUmR0d2VnS1ByM3JPNFBiR1g4M0FHeWN1NXE4clpyVXRn?= =?utf-8?B?TFZaVmd2Wk41U1djR0xKT2x4NWd4L2dDL2lZVWRWZXlqTXFHdi9RQjBXVHM3?= =?utf-8?B?VWFvMmtqbURqOS90TTJvTFdVbnBZS21ZTVZtQzJiR1BGL2VFM09pMWlhWGY0?= =?utf-8?B?NFpsVWFBYXZobUFUcG14M0JIQ3BCcnBNTExRTnIyVHYyTVo1YWZuaGwzL010?= =?utf-8?B?MFljY1UrTnE0czc4TVpiYTNXLy9XK2o4ZHpzMmFKTXFTQTFoSy9nK2pqdVkx?= =?utf-8?B?Wll2YktaM1Z0bTl2dkwxeUp5R1hSakRSSVAydExjVFdqekYxenZ3ZTBvVTlB?= =?utf-8?B?NEViMmZ1OExUd3NBMjBMVlQ4NjRnejhxMWVHMjI2MW5mNXRyY092Y2p5YldG?= =?utf-8?B?bG1sOWdsaDBNRklBcm1jK0xLbkNIZThuMmpBckJLY2FkNzRTV2x1SmpHRU42?= =?utf-8?B?ZHlXaXJjRUp4VldlZEN0Y2w2bXJsa2RGOFA2elk5ZlAzS2Q4Z2NDRU5kckwv?= =?utf-8?B?elNsaDM2MFh2cE1La0toUVc4NEJIdGovaFE4TU9FN2VjWG44M295SFdOZ25x?= =?utf-8?B?aVpvaUoxSkFvcjFCQXE0dEVQbUFZb2JOWVg4bndEb2J3aVdXVzlBcjBIbmVB?= =?utf-8?B?NEY3L2VaeGtYUnBydE4xZUNrWkQ5cFN5SG9sTnpKRTBHUVUySUNEVFZ5Yitx?= =?utf-8?B?dTFteXNlM3dsbU5oR3JETWh4bEVqY0hTeEJLR2xTV2NyY1doWkxyL1FtV3VL?= =?utf-8?B?Qy9kczRodnBMUHFMNGZhWm5TVkRRRXVaOXBFUzhJUUw3em12Y0UwU0JJZEZH?= =?utf-8?B?ZnVzK3FnUWFIU3N6RUg2MzJiNTdqWll4NklOcU9aRzl5eFBsZ1BVaEhGVXJu?= =?utf-8?B?OUxMb2UwclJLSVJjZzMwY3A5OHViQkRMNytJUE1NV2pGZkdIUHo2Ui9DV0Fx?= =?utf-8?B?VW1lYTVoaGZOUVl1QitTTWh6YmxrcmxTemF4QlE3dkJCVncyVkxUSVYyTW5l?= =?utf-8?B?Q0twRk1HZUdydFoxUlgwQ1dWS3VlNzRaUzFBbncyMTduNXdEbWEzWFVjc0JQ?= =?utf-8?B?cVpwZjlZTE1laGZ2bldEK1lBS29MQmFOTzlNM0FwVnJMM0h5aTJocS9NOFlP?= =?utf-8?B?anJFd0o0SHZPTkIyZHBsRUs4M05SaU1helJjOXJvM3J5ZGp0WS9TTmdORnpq?= =?utf-8?B?aWxvb1lGUmVST0R3MGE0dGF5YUhsK2NES1hSWVJxcmp1T0JnZXpBNG1kRXhC?= =?utf-8?B?dnF0SHdZTjZIS2hvcFRJMDcyejJaUERPSjJyL015Um1GcXJBeDgydDFnZ3lp?= =?utf-8?B?ajlNdDlHbk9raVZLWG5DRXZNbTFidGN0MHpiQ240MCtUNW01WktLT3VsbDFi?= =?utf-8?B?Z1czTVJWMUhVa1IxZVZ0dXk1eXZyQVRQRTcyVXpqUzlEdysybzB2TTJ1Qk1q?= =?utf-8?B?dDNDOFhTQ0RvblUycnUySmdvaWxIZmtRWHpiQ0N4MURmNXpKSzdiQ2dIei8y?= =?utf-8?B?Rk52YmxWY3RlQ2daL2M1RUthbC8yUlh3cXMvRnZPT3dwblNWRmN3WW5uS3dn?= =?utf-8?B?R25FWC9Ed3dod0dBVGs3WWQrdXpSR1BLb29zeHR2VFpCa1ZaUFM2enc3WnAv?= =?utf-8?B?eDZsODV4YkIvdDdWZEcrclNJc0I1OFFBVm5NK3NUUGhuWk9rUlZxL05IRHRD?= =?utf-8?B?S1E9PQ==?= 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: 8ff2a93e-c60b-4dda-1fca-08daa2f8793e X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Sep 2022 15:28:49.5581 (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: UKh6bbE3bmueHfNe70iAhu8K/d3yUUqbYy5v7Br8+Iq/n0iOhKHEbsaGEv2PMh5TPk4TZAGXOB7DnOAeAHZsjXpWu4DxUIrr0MizI0uns1c= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR11MB5606 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 SGkgQWJuZXIsDQoNCk9uZSBjb21tZW50IGlzIG9uIGFkZGluZyBhIG5ldyBDUFUgdHlwZSBkaXIg bmFtZSBvZiAnWDg2JyBmb3IgDQpjb250ZW50IHRoYXQgaXMgY29tbW9uIGZvciBJQTMyL1g2NC4N Cg0KSSBjYW4gaW1hZ2luZSBhIHNpbWlsYXIgY2FzZSBmb3IgQVJNL0FBUkNINjQgYW5kIGZvciB0 aGUNClJJU0NWICgzMiwgNjQsIDEyOCkgY2FzZXMuDQoNCkkgdGhpbmsgSSB3b3VsZCBwcmVmZXIg dG8gZHJvcCBYODYgYW5kIGlmIHRoZXJlIGFyZSBmaWxlcw0KdGhhdCBhcmUgY29tbW9uIHRvIG11 bHRpcGxlIENQVSBhcmNoaXRlY3R1cmVzIHRoZW4gdGhleQ0KYXJlIGNvbnNpZGVyZWQgY29tbW9u IGFuZCBhcmUgaW4gdG9wIGRpcmVjdG9yeSBvZiBtb2R1bGUNCmFuZCB0aGUgZmlsZSBoZWFkZXIg YW5kIElORiBmaWxlIGNhbiBjbGVhcmx5IGRvY3VtZW50DQp3aGljaCBDUFUgYXJjaHMgdGhlIGZp bGUgYXBwbGllcy4NCg0KTWlrZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IENoYW5nLCBBYm5lciA8QWJuZXIuQ2hhbmdAYW1kLmNvbT4NCj4gU2VudDogRnJpZGF5LCBT ZXB0ZW1iZXIgMzAsIDIwMjIgMTI6MTEgQU0NCj4gVG86IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5j b20+OyBBdHRhciwgQWJkdWxMYXRlZWYgKEFiZHVsIExhdGVlZikgPEFiZHVsTGF0ZWVmLkF0dGFy QGFtZC5jb20+OyBTdW5pbCBWIEwNCj4gPHN1bmlsdmxAdmVudGFuYW1pY3JvLmNvbT47IGRldmVs QGVkazIuZ3JvdXBzLmlvOyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRl bC5jb20+DQo+IENjOiBsaWNoYW8gPGxpY2hhb0Bsb29uZ3Nvbi5jbj47IEtpcmtlbmRhbGwsIEdh cnJldHQgPEdhcnJldHQuS2lya2VuZGFsbEBhbWQuY29tPjsgR3JpbWVzLCBQYXVsIDxQYXVsLkdy aW1lc0BhbWQuY29tPjsgSGUsDQo+IEppYW5nYW5nIDxKaWFuZ2FuZy5IZUBhbWQuY29tPjsgTGVp ZiBMaW5kaG9sbSA8cXVpY19sbGluZGhvbEBxdWljaW5jLmNvbT47IEFuZHJldyBGaXNoIDxhZmlz aEBhcHBsZS5jb20+DQo+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gVGhlIHByaW5jaXBsZXMg b2YgRURLMiBtb2R1bGUgcmVjb25zdHJ1Y3Rpb24gZm9yIGFyY2hzDQo+IA0KPiBbQU1EIE9mZmlj aWFsIFVzZSBPbmx5IC0gR2VuZXJhbF0NCj4gDQo+IFRoYW5rcyBSYXksIGhlcmUgYXJlIG15IHJl c3BvbnNlcy4NCj4gaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS1kb2NzL2VkazItQ0NvZGlu Z1N0YW5kYXJkc1NwZWNpZmljYXRpb24vcHVsbC8yDQo+IA0KPiBAS2lubmV5LCBNaWNoYWVsIEQg d2UgbWF5IGFsc28gbmVlZCB5b3VyIGNsYXJpZmljYXRpb24gb24gdGhlIGNvbW1lbnRzLg0KPiAN Cj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBOaSwgUmF5IDxy YXkubmlAaW50ZWwuY29tPg0KPiA+IFNlbnQ6IFRodXJzZGF5LCBTZXB0ZW1iZXIgMjksIDIwMjIg Mzo0MiBQTQ0KPiA+IFRvOiBBdHRhciwgQWJkdWxMYXRlZWYgKEFiZHVsIExhdGVlZikgPEFiZHVs TGF0ZWVmLkF0dGFyQGFtZC5jb20+OyBDaGFuZywNCj4gPiBBYm5lciA8QWJuZXIuQ2hhbmdAYW1k LmNvbT47IFN1bmlsIFYgTCA8c3VuaWx2bEB2ZW50YW5hbWljcm8uY29tPjsNCj4gPiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbw0KPiA+IENjOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5l eUBpbnRlbC5jb20+OyBsaWNoYW8NCj4gPiA8bGljaGFvQGxvb25nc29uLmNuPjsgS2lya2VuZGFs bCwgR2FycmV0dCA8R2FycmV0dC5LaXJrZW5kYWxsQGFtZC5jb20+Ow0KPiA+IEdyaW1lcywgUGF1 bCA8UGF1bC5HcmltZXNAYW1kLmNvbT47IEhlLCBKaWFuZ2FuZw0KPiA+IDxKaWFuZ2FuZy5IZUBh bWQuY29tPjsgTGVpZiBMaW5kaG9sbSA8cXVpY19sbGluZGhvbEBxdWljaW5jLmNvbT47DQo+ID4g QW5kcmV3IEZpc2ggPGFmaXNoQGFwcGxlLmNvbT4NCj4gPiBTdWJqZWN0OiBSRTogW2VkazItZGV2 ZWxdIFRoZSBwcmluY2lwbGVzIG9mIEVESzIgbW9kdWxlIHJlY29uc3RydWN0aW9uIGZvcg0KPiA+ IGFyY2hzDQo+ID4NCj4gPiBDYXV0aW9uOiBUaGlzIG1lc3NhZ2Ugb3JpZ2luYXRlZCBmcm9tIGFu IEV4dGVybmFsIFNvdXJjZS4gVXNlIHByb3Blcg0KPiA+IGNhdXRpb24gd2hlbiBvcGVuaW5nIGF0 dGFjaG1lbnRzLCBjbGlja2luZyBsaW5rcywgb3IgcmVzcG9uZGluZy4NCj4gPg0KPiA+DQo+ID4g QWJuZXIsDQo+ID4gQ29tbWVudHMgaW4NCj4gPiBodHRwczovL25hbTExLnNhZmVsaW5rcy5wcm90 ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cHMlM0ElMkYlMkZnaXRoDQo+ID4gdWIuY29tJTJG dGlhbm9jb3JlLWRvY3MlMkZlZGsyLQ0KPiA+IENDb2RpbmdTdGFuZGFyZHNTcGVjaWZpY2F0aW9u JTJGcHVsbCUyRjIlMjNwdWxscmVxdWVzdHJldmlldy0NCj4gPiAxMTI0NzYzMzExJmFtcDtkYXRh PTA1JTdDMDElN0NBYm5lci5DaGFuZyU0MGFtZC5jb20lN0NkODI1ZTI0DQo+ID4gODYyNTU0MWUz ZjQzZTA4ZGFhMWVlMjg4MyU3QzNkZDg5NjFmZTQ4ODRlNjA4ZTExYTgyZDk5NGUxODNkJTdDMA0K PiA+ICU3QzAlN0M2MzgwMDAzNDE1MDI4ODU1NjUlN0NVbmtub3duJTdDVFdGcGJHWnNiM2Q4ZXlK V0lqb2lNQw0KPiA+IDR3TGpBd01EQWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxD SlhWQ0k2TW4wJTNEJTdDMzAwMCUNCj4gPiA3QyU3QyU3QyZhbXA7c2RhdGE9Ulh4Z3BiRXI2aXZi cVAxUjYlMkIzUnhsJTJCeUpBbmFVSnVhWVlLZGZDSA0KPiA+IDhqbzglM0QmYW1wO3Jlc2VydmVk PTANCj4gPg0KPiA+IFdlIGNhbiBkaXNjdXNzIG1vcmUgaW4gdG9tb3Jyb3cncyBtZWV0aW5nLg0K PiA+DQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBB dHRhciwgQWJkdWxMYXRlZWYgKEFiZHVsIExhdGVlZikgPEFiZHVsTGF0ZWVmLkF0dGFyQGFtZC5j b20+DQo+ID4gPiBTZW50OiBUaHVyc2RheSwgU2VwdGVtYmVyIDI5LCAyMDIyIDM6MTEgUE0NCj4g PiA+IFRvOiBDaGFuZywgQWJuZXIgPEFibmVyLkNoYW5nQGFtZC5jb20+OyBTdW5pbCBWIEwNCj4g PiA+IDxzdW5pbHZsQHZlbnRhbmFtaWNyby5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgTmks IFJheQ0KPiA+ID4gPHJheS5uaUBpbnRlbC5jb20+DQo+ID4gPiBDYzogS2lubmV5LCBNaWNoYWVs IEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgbGljaGFvDQo+ID4gPiA8bGljaGFvQGxv b25nc29uLmNuPjsgS2lya2VuZGFsbCwgR2FycmV0dA0KPiA+ID4gPEdhcnJldHQuS2lya2VuZGFs bEBhbWQuY29tPjsgR3JpbWVzLCBQYXVsIDxQYXVsLkdyaW1lc0BhbWQuY29tPjsNCj4gPiBIZSwN Cj4gPiA+IEppYW5nYW5nIDxKaWFuZ2FuZy5IZUBhbWQuY29tPjsgTGVpZiBMaW5kaG9sbQ0KPiA+ ID4gPHF1aWNfbGxpbmRob2xAcXVpY2luYy5jb20+OyBBbmRyZXcgRmlzaCA8YWZpc2hAYXBwbGUu Y29tPg0KPiA+ID4gU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBUaGUgcHJpbmNpcGxlcyBvZiBF REsyIG1vZHVsZSByZWNvbnN0cnVjdGlvbg0KPiA+ID4gZm9yIGFyY2hzDQo+ID4gPg0KPiA+ID4g SGkgQWJuZXIsDQo+ID4gPiAgICAgTG9va3MgZ29vZCB0byBtZS4NCj4gPiA+IFJldmlld2VkLWJ5 OiAgQWJkdWwgTGF0ZWVmIEF0dGFyIDxhYmRhdHRhckBhbWQuY29tPg0KPiA+ID4NCj4gPiA+IFRo YW5rcw0KPiA+ID4gQWJkdUwNCj4gPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+ID4gRnJvbTogQ2hhbmcsIEFibmVyIDxBYm5lci5DaGFuZ0BhbWQuY29tPg0KPiA+ID4g U2VudDogMjggU2VwdGVtYmVyIDIwMjIgMjA6MzENCj4gPiA+IFRvOiBTdW5pbCBWIEwgPHN1bmls dmxAdmVudGFuYW1pY3JvLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOw0KPiA+ID4gcmF5Lm5p QGludGVsLmNvbQ0KPiA+ID4gQ2M6IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5 QGludGVsLmNvbT47IGxpY2hhbw0KPiA+ID4gPGxpY2hhb0Bsb29uZ3Nvbi5jbj47IEtpcmtlbmRh bGwsIEdhcnJldHQNCj4gPiA+IDxHYXJyZXR0LktpcmtlbmRhbGxAYW1kLmNvbT47IEdyaW1lcywg UGF1bCA8UGF1bC5HcmltZXNAYW1kLmNvbT47DQo+ID4gSGUsDQo+ID4gPiBKaWFuZ2FuZyA8Smlh bmdhbmcuSGVAYW1kLmNvbT47IEF0dGFyLCBBYmR1bExhdGVlZiAoQWJkdWwgTGF0ZWVmKQ0KPiA+ ID4gPEFiZHVsTGF0ZWVmLkF0dGFyQGFtZC5jb20+OyBMZWlmIExpbmRob2xtDQo+ID4gPiA8cXVp Y19sbGluZGhvbEBxdWljaW5jLmNvbT47IEFuZHJldyBGaXNoIDxhZmlzaEBhcHBsZS5jb20+DQo+ ID4gPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFRoZSBwcmluY2lwbGVzIG9mIEVESzIgbW9k dWxlIHJlY29uc3RydWN0aW9uDQo+ID4gPiBmb3IgYXJjaHMNCj4gPiA+DQo+ID4gPiBbQU1EIE9m ZmljaWFsIFVzZSBPbmx5IC0gR2VuZXJhbF0NCj4gPiA+DQo+ID4gPiBJIGp1c3QgaGFkIGNyZWF0 ZWQgUFIgdG8gdXBkYXRlIGVka0lJIEMgY29kaW5nIHN0YW5kYXJkIHNwZWMgZm9yIHRoZQ0KPiA+ ID4gZmlsZSBhbmQgZGlyZWN0b3J5IG5hbWluZy4gV2UgY2FuIHJldmlldyBhbmQgY29uZmlybSB0 aGlzIHVwZGF0ZSBmaXJzdA0KPiA+ID4gYW5kIHRoZW4gZ28gYmFjayB0byB0aGUgcHJpbmNpcGxl cyBvZiBFREsyIG1vZHVsZSByZWNvbnN0cnVjdGlvbiBmb3IgYXJjaHMuDQo+ID4gPiBIZXJlIGlz IHRoZSBQUjoNCj4gPiA+DQo+ID4gaHR0cHM6Ly9uYW0xMS5zYWZlbGlua3MucHJvdGVjdGlvbi5v dXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGZ2l0aA0KPiA+ID4gdWIuY29tJTJGdGlhbm9j b3JlLWRvY3MlMkZlZGsyLQ0KPiA+ICZhbXA7ZGF0YT0wNSU3QzAxJTdDQWJuZXIuQ2hhbmclNDBh bWQuYw0KPiA+ID4NCj4gPiBvbSU3Q2Q4MjVlMjQ4NjI1NTQxZTNmNDNlMDhkYWExZWUyODgzJTdD M2RkODk2MWZlNDg4NGU2MDhlMTFhODINCj4gPiBkOTk0ZTE4DQo+ID4gPg0KPiA+IDNkJTdDMCU3 QzAlN0M2MzgwMDAzNDE1MDI4ODU1NjUlN0NVbmtub3duJTdDVFdGcGJHWnNiM2Q4ZXlKDQo+ID4g V0lqb2lNQzR3TGoNCj4gPiA+DQo+ID4gQXdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsx aGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzMwMDAlN0MlDQo+ID4gN0MlN0MmYQ0KPiA+ID4NCj4gPiBt cDtzZGF0YT1YNHo5cHVqODFuSUdUcXRNeEM5aWdEWnlCUE9UNk9UV1NVJTJCam9Jb3dvJTJCRSUz RCZhDQo+ID4gbXA7cmVzZXJ2DQo+ID4gPiBlZD0wDQo+ID4gPiBDQ29kaW5nU3RhbmRhcmRzU3Bl Y2lmaWNhdGlvbi9wdWxsLzINCj4gPiA+DQo+ID4gPiBUaGUgbmFtaW5nIHJ1bGUgaXMgbWFpbmx5 IGZvciB0aGUgbmV3IG1vZHVsZSBvciBuZXcgZmlsZSBJTU8uIFNvbWUNCj4gPiA+IGV4aXN0aW5n IG1vZHVsZSBtYXkgbm90IG1lZXQgdGhlIGd1aWRlbGluZXMgbWVudGlvbmVkIGluIHRoaXMgc3Bl Yy4NCj4gPiA+IFRodXMgd2UgbmVlZCB0aGUgcHJpbmNpcGxlcyBvZiBFREsyIG1vZHVsZSByZWNv bnN0cnVjdGlvbiBvbiB0aGUNCj4gPiA+IGV4aXN0aW5nIG1vZHVsZSB0byBzdXBwb3J0IG90aGVy IHByb2Nlc3NvciBhcmNocyBhbmQgbm90IGltcGFjdGluZyB0aGUNCj4gPiBleGlzdGluZyBwbGF0 Zm9ybXMgKGUuZy4NCj4gPiA+IHJlbmFtZSB0aGUgSU5GIGZpbGUgb3IgZGlyZWN0b3J5IHRvIG1l ZXQgdGhlIGd1aWRlbGluZXMpLg0KPiA+ID4NCj4gPiA+IFN1bmlsLCBzZWVtcyBSSVNDLVYgQ3B1 RHhlIG1lZXQgdGhlIGd1aWRlbGluZS4gUGxlYXNlIGNoZWNrIGl0Lg0KPiA+ID4gSnVzdCBmZWVs IHRoYXQgaGF2aW5nICBDcHVEeGUuYyB0byBSaXNjdjY0IGZvbGRlciBpcyBub3QgcXVpdGUgYSBi ZXN0DQo+ID4gPiBzb2x1dGlvbi4gSSB0aGluayBhdCBsZWFzdCB3ZSBjYW4gYWJzdHJhY3QgdGhl IHByb3RvY29sIHN0cnVjdHVyZSBhbmQNCj4gPiA+IHByb3RvY29sIGluc3RhbGxhdGlvbiB1bmRl ciBDcHVEeGVcIGFuZCBoYXZlIHRoZSBhcmNoIGltcGxlbWVudGF0aW9uDQo+ID4gPiB1bmRlciBh cmNoIGZvbGRlci4gV2UgY2FuIGRpc2N1c3MgdGhpcyBsYXRlciBhZnRlciB3ZSBjb25maXJtaW5n IHRoZQ0KPiA+IGd1aWRlbGluZSBhbmQgcHJpbmNpcGxlcy4NCj4gPiA+DQo+ID4gPiBUaGFua3MN Cj4gPiA+IEFibmVyDQo+ID4gPg0KPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+ID4gPiBGcm9tOiBTdW5pbCBWIEwgPHN1bmlsdmxAdmVudGFuYW1pY3JvLmNvbT4NCj4gPiA+ ID4gU2VudDogV2VkbmVzZGF5LCBTZXB0ZW1iZXIgMjgsIDIwMjIgMzozNCBQTQ0KPiA+ID4gPiBU bzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IHJheS5uaUBpbnRlbC5jb20NCj4gPiA+ID4gQ2M6IENo YW5nLCBBYm5lciA8QWJuZXIuQ2hhbmdAYW1kLmNvbT47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4g PiA+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IGxpY2hhbyA8bGljaGFvQGxvb25nc29u LmNuPjsNCj4gPiA+ID4gS2lya2VuZGFsbCwgR2FycmV0dCA8R2FycmV0dC5LaXJrZW5kYWxsQGFt ZC5jb20+OyBHcmltZXMsIFBhdWwNCj4gPiA+ID4gPFBhdWwuR3JpbWVzQGFtZC5jb20+OyBIZSwg SmlhbmdhbmcgPEppYW5nYW5nLkhlQGFtZC5jb20+OyBBdHRhciwNCj4gPiA+ID4gQWJkdWxMYXRl ZWYgKEFiZHVsIExhdGVlZikgPEFiZHVsTGF0ZWVmLkF0dGFyQGFtZC5jb20+OyBMZWlmDQo+ID4g PiA+IExpbmRob2xtIDxxdWljX2xsaW5kaG9sQHF1aWNpbmMuY29tPjsgQW5kcmV3IEZpc2ggPGFm aXNoQGFwcGxlLmNvbT4NCj4gPiA+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBUaGUgcHJp bmNpcGxlcyBvZiBFREsyIG1vZHVsZQ0KPiA+ID4gPiByZWNvbnN0cnVjdGlvbiBmb3IgYXJjaHMN Cj4gPiA+ID4NCj4gPiA+ID4gQ2F1dGlvbjogVGhpcyBtZXNzYWdlIG9yaWdpbmF0ZWQgZnJvbSBh biBFeHRlcm5hbCBTb3VyY2UuIFVzZSBwcm9wZXINCj4gPiA+ID4gY2F1dGlvbiB3aGVuIG9wZW5p bmcgYXR0YWNobWVudHMsIGNsaWNraW5nIGxpbmtzLCBvciByZXNwb25kaW5nLg0KPiA+ID4gPg0K PiA+ID4gPg0KPiA+ID4gPiBPbiBXZWQsIFNlcCAyOCwgMjAyMiBhdCAwMzozMzo0NUFNICswMDAw LCBOaSwgUmF5IHdyb3RlOg0KPiA+ID4gPiBIaSBSYXksDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAg IDEuICBXaGVuIGEgbmV3IGFyY2gncyBpbXBsZW1lbnRhdGlvbiBpcyBpbnRyb2R1Y2VkIHRvIHRo ZQ0KPiA+ID4gPiA+IGV4aXN0aW5nDQo+ID4gPiA+IG1vZHVsZSB3aGljaCB3YXMgZGV2ZWxvcGVk IGZvciB0aGUgc3BlY2lmaWMgYXJjaDoNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICAgMS4gIFRoZSBm b2xkZXIgcmVjb25zdHJ1Y3Rpb246DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgICogICBDcmVhdGUg YXJjaCBmb2xkZXIgZm9yIHRoZSBleGlzdGluZyBhcmNoIGltcGxlbWVudGF0aW9uDQo+ID4gPiA+ ID4gW1JheV0gRG8geW91IG1vdmUgZXhpc3RpbmcgYXJjaCBpbXBsZW1lbnRhdGlvbiB0byB0aGF0 IGFyY2ggZm9sZGVyPw0KPiA+ID4gPiA+IEl0IHdpbGwNCj4gPiA+ID4gYnJlYWsgZXhpc3Rpbmcg cGxhdGZvcm1zIGEgbG90Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gICAqICAgQ3JlYXRlIHRoZSBh cmNoIGZvbGRlciBmb3IgdGhlIG5ldyBpbnRyb2R1Y2VkIGFyY2gNCj4gPiA+ID4gPiBbUmF5XSBJ IGFncmVlLiBCdXQgaWYgd2UgZG9uJ3QgY3JlYXRlIGFyY2ggZm9sZGVyIGZvciBleGlzdGluZw0K PiA+ID4gPiA+IGFyY2gNCj4gPiA+ID4gaW1wbGVtZW50YXRpb24sIHRoZSBwa2cgbGF5b3V0IHdp bGwgYmUgYSBtZXNzLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gW1JheV0gSGFyZCBmb3IgbWUgdG8g dW5kZXJzdGFuZCBhbGwgdGhlIHByaW5jaXBsZXMgaGVyZS4gTWF5YmUgd2UNCj4gPiA+ID4gPiBy ZXZpZXcNCj4gPiA+ID4gZXhpc3RpbmcgY29kZSBpbmNsdWRpbmcgdG8tYmUtdXBzdHJlYW1lZCBj b2RlIGFuZCBkZWNpZGUgaG93IHRvIGdvLg0KPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IENv dWxkIHlvdSBwbGVhc2UgdGFrZSBhIGxvb2sgYmVsb3cgY2hhbmdlcyB3aGljaCBpcyB0cnlpbmcg dG8gYWRkDQo+ID4gPiA+IFJJU0MtViBzdXBwb3J0IGZvciBDcHVEeGU/DQo+ID4gPiA+DQo+ID4g Pg0KPiA+IGh0dHBzOi8vbmFtMTEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3Vy bD1odHRwcyUzQSUyRiUyRmdpdGgNCj4gPiA+ID4gdWIuY29tJTJGdGlhbm9jb3JlJTJGZWRrMi0N Cj4gPiA+ID4NCj4gPiA+DQo+ID4gc3RhZ2luZyUyRmNvbW1pdCUyRmJiYTFhMTFiZTQ3ZGQwOTE3 MzRlMTg1YWZiZWQ3M2VhNzU3MDg3NDkmYW1wOw0KPiA+ID4gPg0KPiA+ID4NCj4gPiBkYXRhPTA1 JTdDMDElN0NhYm5lci5jaGFuZyU0MGFtZC5jb20lN0NhNDE5ZTZhMDEwZDM0ZmRlNDY0YjA4ZA0K PiA+ID4gPg0KPiA+ID4NCj4gPiBhYTEyM2UwODAlN0MzZGQ4OTYxZmU0ODg0ZTYwOGUxMWE4MmQ5 OTRlMTgzZCU3QzAlN0MwJTdDNjM3OTk5NDcNCj4gPiA+ID4NCj4gPiA+DQo+ID4gMjczMjQ5NDUy NyU3Q1Vua25vd24lN0NUV0ZwYkdac2IzZDhleUpXSWpvaU1DNHdMakF3TURBaUxDSlFJag0KPiA+ ID4gPg0KPiA+ID4NCj4gPiBvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxDSlhWQ0k2TW4wJTNE JTdDMzAwMCU3QyU3QyU3QyZhbXA7c2QNCj4gPiA+ID4NCj4gPiA+DQo+ID4gYXRhPVZxNnBKTG5u OHlKckpoRlpuN0xmTGJaenJ0cEc0bjFWTFdnQWlsNkozOFUlM0QmYW1wO3Jlc2VydmVkPTANCj4g PiA+ID4NCj4gPiA+DQo+ID4gaHR0cHM6Ly9uYW0xMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRs b29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGZ2l0aA0KPiA+ID4gPiB1Yi5jb20lMkZ0aWFub2Nv cmUlMkZlZGsyLQ0KPiA+ID4gPg0KPiA+ID4NCj4gPiBzdGFnaW5nJTJGY29tbWl0JTJGN2ZjY2Y5 MmE5N2E2ZDA2MThhMjBmMTA2MjIyMjBlNzhiMzY4NzkwNiZhbXA7ZGENCj4gPiA+ID4NCj4gPiA+ DQo+ID4gdGE9MDUlN0MwMSU3Q2FibmVyLmNoYW5nJTQwYW1kLmNvbSU3Q2E0MTllNmEwMTBkMzRm ZGU0NjRiMDhkYWExDQo+ID4gPiA+DQo+ID4gPg0KPiA+IDIzZTA4MCU3QzNkZDg5NjFmZTQ4ODRl NjA4ZTExYTgyZDk5NGUxODNkJTdDMCU3QzAlN0M2Mzc5OTk0NzI3Mw0KPiA+ID4gPg0KPiA+ID4N Cj4gPiAyNDk0NTI3JTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJam9pTUM0d0xqQXdNREFp TENKUUlqb2lWDQo+ID4gPiA+DQo+ID4gPg0KPiA+IDJsdU16SWlMQ0pCVGlJNklrMWhhV3dpTENK WFZDSTZNbjAlM0QlN0MzMDAwJTdDJTdDJTdDJmFtcDtzZGF0YQ0KPiA+ID4gPg0KPiA+ID4NCj4g PiA9eEZtdlV2NTh2aDRBVUFNMTdReTlHNWpaV0ZabEsyT3p0M25qcEcxZTglMkJZJTNEJmFtcDty ZXNlcnYNCj4gPiA+ID4gZWQ9MA0KPiA+ID4gPg0KPiA+ID4gPiBXaGF0IGRvIHlvdSBzdWdnZXN0 IHdpdGggYWJvdmUgZXhhbXBsZT8NCj4gPiA+ID4NCj4gPiA+ID4gMSkgQ29tbW9uIElORiBmb3Ig YWxsIGFyY2hpdGVjdHVyZXMgLSBidXQgbW9kaWZ5IElORiBhbG9uZSwgbm8gWDg2DQo+ID4gPiA+ IGZvbGRlciBjcmVhdGlvbi4NCj4gPiA+ID4NCj4gPiA+ID4gVGhpcyBpcyB3aGF0IEkgaGF2ZSBk b25lIGluIHRoZSBjb21taXQgYWJvdmUuIE1heSBiZSBvZiBsZWFzdCBpbXBhY3QNCj4gPiA+ID4g dG8gZXhpc3RpbmcgY29kZSBzaW5jZSBpdCBpcyBvbmx5IElORiBjaGFuZ2UuIEJ1dCBsaWtlIHlv dSBtZW50aW9uZWQNCj4gPiA+ID4gdGhpcyBpcyBiaXQgd2VpcmQgdGhhdCBYODYgZmlsZXMgd2ls bCByZW1haW4gaW4gcm9vdCBmb2xkZXIgZGlyZWN0bHkNCj4gPiA+ID4gYWxvbmcgd2l0aCBzb21l IGNvbW1vbiBmaWxlcy4NCj4gPiA+ID4NCj4gPiA+ID4gMikgQ29tbW9uIElORiAoQ3B1RHhlLmlu ZikgKyBjcmVhdGUgYXJjaCBmb2xkZXJzIFg4NiwgWDY0LCBJQTMyLA0KPiA+ID4gPiBSaXNjVjY0 IGV0Yw0KPiA+ID4gPg0KPiA+ID4gPiBJTU8sIHRoaXMgaXMgcHJvYmFibHkgdGhlIGJlc3QgYXBw cm9hY2guIFdoYXQgd291bGQgYmUgdGhlDQo+ID4gPiA+IGNoYWxsZW5nZXMgd2l0aCB0aGlzPw0K PiA+ID4gPg0KPiA+ID4gPiAzKSBTZXBhcmF0ZSBJTkYgZm9yIGFyY2ggbGlrZSBDcHVEeGUuaW5m IGZvciB4ODYsIENwdUR4ZVJpc2NWNjQuaW5mDQo+ID4gPiA+IGZvcg0KPiA+ID4gUklTQy1WLg0K PiA+ID4gPg0KPiA+ID4gPiBUaGlzIGFnYWluIHByb2JhYmx5IGlzIG5vdCBhIGdvb2QgaWRlYS4N Cj4gPiA+ID4NCj4gPiA+ID4gNCkgSWYgdGhlIG1vZHVsZS9saWJyYXJ5IGlzIHNwZWNpZmljIHRv IG9uZSBhcmNoIChleDogU01NKFg4NiksDQo+ID4gPiA+IFNCSShSSVNDLVYpKSwgdGhlbiBjcmVh dGUgc2VwYXJhdGUgSU5GLg0KPiA+ID4gPg0KPiA+ID4gPiBUaGFua3MhDQo+ID4gPiA+IFN1bmls DQo=