From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail05.groups.io (mail05.groups.io [45.79.224.7]) by spool.mail.gandi.net (Postfix) with ESMTPS id 8569F740038 for ; Tue, 11 Jun 2024 07:36:16 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=moo7tF/C5VBxYYiXC9OU20x0Ngs4kPjHsBj/0zcbi0w=; c=relaxed/simple; d=groups.io; h=From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20240206; t=1718091376; v=1; b=Ji3SVxqf3SPnIrzRhroRIY9ToSJy2FxNRKoUAI6RhjwRFQRsRXgbZmILg8QUM9R/fSWy4203 Vyb81ljXpLbuWALXDdoeZUjts6+Ao09uAOHmU8IkmPs7iGzxH1OSWwL7KqjCxRNe9JkuVkltP4l WnuG4h2YD4EglSij1jUwolrJNpRzt9rSHZKGr1LpOuwJe8rF55XDZNkuOXSMNCjyH+O9WndCHQP bHZs+G2YCuWDmGhPk81k9pCUAPEoUtIyQM0/jpTWOosIikab6paDlWUFkDyiPSNPZvv9EsgLZGA tzG85dz7hsSxmKdxE/8vAijP+ngPAQlss6Rw42r2Oio1g== X-Received: by 127.0.0.2 with SMTP id oqDbYY7687511xbBzLplnIkY; Tue, 11 Jun 2024 00:36:15 -0700 X-Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by mx.groups.io with SMTP id smtpd.web11.4108.1718091374300125007 for ; Tue, 11 Jun 2024 00:36:14 -0700 X-CSE-ConnectionGUID: NaA8MA2eRjOuoz29DQBKdg== X-CSE-MsgGUID: 4g2aVx3DR4KJoMYh6QWBiQ== X-IronPort-AV: E=McAfee;i="6600,9927,11099"; a="25408330" X-IronPort-AV: E=Sophos;i="6.08,229,1712646000"; d="scan'208";a="25408330" X-Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2024 00:36:05 -0700 X-CSE-ConnectionGUID: wkxzPQdKSOCPGinm4bi6ZQ== X-CSE-MsgGUID: 0VyYT3yuTCK9QRbelJwPtQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,229,1712646000"; d="scan'208";a="39285870" X-Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orviesa010.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 11 Jun 2024 00:36:05 -0700 X-Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) 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.2507.39; Tue, 11 Jun 2024 00:36:04 -0700 X-Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.2507.39 via Frontend Transport; Tue, 11 Jun 2024 00:36:04 -0700 X-Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.47) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Tue, 11 Jun 2024 00:36:04 -0700 X-Received: from DM6PR11MB4738.namprd11.prod.outlook.com (2603:10b6:5:2a3::18) by MW3PR11MB4746.namprd11.prod.outlook.com (2603:10b6:303:5f::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.36; Tue, 11 Jun 2024 07:36:01 +0000 X-Received: from DM6PR11MB4738.namprd11.prod.outlook.com ([fe80::7064:9c9a:d2ca:c6a1]) by DM6PR11MB4738.namprd11.prod.outlook.com ([fe80::7064:9c9a:d2ca:c6a1%3]) with mapi id 15.20.7633.037; Tue, 11 Jun 2024 07:36:01 +0000 From: "Li, Zhihao" To: gaoliming , "devel@edk2.groups.io" CC: "Chiu, Chasel" , "Desimone, Nathaniel L" , "Duggapu, Chinni B" , "Chen, Gang C" Subject: Re: [edk2-devel] [PATCH v1 1/2] MdeModulePkg/Core/Pei: Install MigrateTempRamPpi Thread-Topic: [edk2-devel] [PATCH v1 1/2] MdeModulePkg/Core/Pei: Install MigrateTempRamPpi Thread-Index: AQEWmBJrNQu4hLldKbkjEgORZ47PJrM0ld/wgAEIgNCAAdFcAIAAAPZQgBL6KCA= Date: Tue, 11 Jun 2024 07:36:01 +0000 Message-ID: References: <20240429032001.6657-1-zhihao.li@intel.com> <00d401dab0e3$968a1ef0$c39e5cd0$@byosoft.com.cn> <00e501dab24f$f098b0b0$d1ca1210$@byosoft.com.cn> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM6PR11MB4738:EE_|MW3PR11MB4746:EE_ x-ms-office365-filtering-correlation-id: 75ced92b-0749-4bae-f108-08dc89e924c5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: =?utf-8?B?a2NrVEVxMkNDODd5TFBCdWNDUWJnVXlJOVIwZmJqQlEwaXc2aU5PN25JeDdK?= =?utf-8?B?UzJZRkphK3oyRURYVGxtdC9QdVdIaFEyc3Z3SFA5REk2L0pTVG9odFMxSklJ?= =?utf-8?B?dkVjaGRjbmU2Q3lTelM2aEdCYjJ5OFduL3ZLc3RpVDdXRFhmTnJoYkZXQnNu?= =?utf-8?B?Z25Ndm1ScjUxMmw3MXN4T1BweEdSYml5ZGc1VzhBR0ZHM3hldlRvckFib1VZ?= =?utf-8?B?NkVmcDRQMThpLzgrRnd6RjBhZ2NXajBQcHRPc1dpYkxMa3gvdTA5S0ErNWtY?= =?utf-8?B?Z2o1WWVORnF1bERVdE9Gc3Z1RVZ0aER2TWd0ZkplSmRSYWN5dXU5RE5LbWRo?= =?utf-8?B?OVhsd01wNEh5NGc5dS9McXVCNEFmQXQ2Z2RBbWhWOTdlNmQzRGRSRWlwSE1M?= =?utf-8?B?MFhnZzFvK3dPUWZhQ2RmTTB3djhpQm9wY05qRVU1L3piMUpVdlBUWVBHQUgw?= =?utf-8?B?T2RMSkVoOUVrcHFCN3RTRDZIS1A3NzJKYXFBZDFReHlMNWZOWUtoaFBQKzhH?= =?utf-8?B?bEZXY2lDODZIWWlkSmpNc1BBTlUvOTl4aWpuL2lwTGZ4ejV4SDFQQTZyaXlJ?= =?utf-8?B?dkFFYVJmOEpGcUt6QkM1RG5aSEVIQ1NOWnZIUmlObkxkaXJhbnBWSHNaR0hv?= =?utf-8?B?Wk1xMUdDN1lGbkFDbnpPWGNMd0hPTHZnbERPbytQd0V6MWhLWmsxSWtEWUx0?= =?utf-8?B?N0tHb0I4S2xGdjRGR3ZrRUkvR2VrNlh1WUFOYnd6MDVNdDdRcml2cU5ibHhT?= =?utf-8?B?SytNL3pxZDI1Z21tSVRlQVVIWGVTQnRySlA5Sms1TFZXZXpPcWprNUd2cTdm?= =?utf-8?B?Y0dQc3RIY1V6d3RCclZQcXVxYW1GZ05XOG16aFp6U3lnL2V0amFPcXpPRHFz?= =?utf-8?B?SmIxRVlGb0dJQ0N0MlBSMlVvdkR1OVJhV0xMUWpmSjRjcWNGMG1Pb1hJVVhZ?= =?utf-8?B?YnhjQTNSSE8zL2orTDZTNnVHYnJxU01KTHB4c2Fxa09QRnNwS2hTeURsYkJK?= =?utf-8?B?SllSR3ZVcjJWbzhlTnBLazBuMmpsNXVtZVhlb09XUXZZYmtoQzE3M1B6bHZl?= =?utf-8?B?ZTRCRHlIcUVtRlptNXFKT2dxbUpmYmlvNXBwRWZ4eEVoTG9xbXl0NVphcW01?= =?utf-8?B?S2hHMUs0Z1ptUlkwd3hkdjJXaW8xV3dsYUFycUhZaGE2NWlkRHA5L3FYclZD?= =?utf-8?B?a20wTmRBSkNtL1E5SGhqUEtnNzVqckhTU1JRU2RrY2MwbC9GSmZ0MmwwaHZG?= =?utf-8?B?bkpDK0FuM1ZsNE9RZ3dKdENORUVyMzJzbnpodkQxSlJvQlpxUXZNSm1nekow?= =?utf-8?B?OHBvd0V4NjREWXcvaWE0UVBYNnlzNEJ4bG5Kd0kwQ1FnNG9kMHNnSzc4aEVH?= =?utf-8?B?TGFjQ0RSc25hdENVWUx5bmJhRnhJZ0tUc2o3aHFpamdyYlRvWXEwOVptYi9v?= =?utf-8?B?L25kSEtmNnJQOHh3K2xZMUdyTDRaTjlKQThyT29xL2ZyYk1ITmVWTWxSbGNW?= =?utf-8?B?UVpra1NGcERkaWJpeXQ2MVh2c3E5MnpFTTdsaisxZjhNZS8wdmc1UU9xbTJV?= =?utf-8?B?Sk10M1JiZmMvNG1nR2N0YnJSNVJ1bFdyWC9ESkFzR05ydmZxUm1rYmU2OTJC?= =?utf-8?B?cFhHd3BKUFdCV2VTVHVYNDhSOVdlNUFZT0o3eHhmVWZ6THFrd3VPOFFVM3RE?= =?utf-8?B?a2lSZlZjVHZJcjB0ai9tT0RTZ1FnZzhZT1hWVURFZlM3SUdWWmtPZHlTbXpp?= =?utf-8?Q?iOjey9P8ez7FsR4bEzI0iesboakx86DaAXBVhC+?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TnZHVUp2L0JzQzJZeXNmMVE2emhZNnFWV3duL1h4ajUrZVBISlNmRlpEQzlO?= =?utf-8?B?enlYSGNBZW5lYitGN0FHbE5YcnJuWS94eGxRL0VTNWdyVk9NYk91UFV4YUFl?= =?utf-8?B?eVp2RU9SSWIxMW54eEJJQk0rR0hKTkVzbnRZdUpKRC9mZG5oQ1gxTXEyR2Vo?= =?utf-8?B?YUg1U05La3BmdkZZWTZKWEVxcUZNVEltYmJkK2NTbENtTjA2djNwT1pDcnM4?= =?utf-8?B?YzI0emtJVVJDb1d3d3RHYjJwc2NPOENHZElPZWVvN2k4aFh1NytGNXc1a0RV?= =?utf-8?B?L3pEd05iSEJPYnUrYVFoaEtFbFFWNXJjUG9MeCtFSW9DdENObEs2TXdiZGFi?= =?utf-8?B?OVh2dS9iOUJsOFdPa0RlblFwUG1QU1VHS3BxM21tckJtVnh1ZWZ3ZzR6cENB?= =?utf-8?B?RWlqWDdrNmpyMzBOaFMwNytDSWdTM25sYldFSWxoZ09NSnlFMHd6ZkdTUWhD?= =?utf-8?B?MkVlT2cyS3BYMGNSSDVSNjNiNmRiVE5XYWZoeVQxL0t5dE5xc3d2dXJUVm9j?= =?utf-8?B?aTZWVVVrcXZIRS9YYkwwQ1lLZFRWL20wemZua3diRzFjQVpGLzdmT2lCYmp1?= =?utf-8?B?eUxwdlJLTUo2Sy9NODZwV3hrdmw2V3U5eEVOSzNkck5LWGVXekgrSG9zUWRq?= =?utf-8?B?ZFdENklNYndpSHBvaXZPRTV1dlAwNTZ5RVkrbi9vcExJUTk3Y29iMUxOVlZC?= =?utf-8?B?Y2xkRm45SkFlZ3pRYXdBSTlYWDJ3d2RGYzYvdDdrOU1SMlNJU2JKRUN6TkRq?= =?utf-8?B?aFVtZVptSXpGeWl4TktTK3U4bUZTQmpWeDYyYW0wTXZ6WXFsemFSUWdOQTZZ?= =?utf-8?B?SnJBMktqNFhid3BHY2JUSW0xbmVBZm04cXEzVFkwTU04K0ZxVGJ5TEZiSHZ2?= =?utf-8?B?YlErK3JveGpVRU9ueTNxQTVQMGFJWmdOOFJXVmxadWIyd1IxZXpKT3IvOWNX?= =?utf-8?B?MTArU1lsRHVGREo1T1J5WVlUY3FodjRwM2RwVzZoOHNCdVdVanFHYkYybjNU?= =?utf-8?B?YURaTStFQjNyTVFTSGxjRnBKVDdxbm9CUEVvTXJlMktoZ2h4dytnTmpxVGF0?= =?utf-8?B?KzVHU0wrYkdpa0M0THBFenpjcHFrRitHSmJzK3VCc2xPb2VDUDU3cGw3Z3F3?= =?utf-8?B?b2JGNElXTHl1ZWlTeko4TlNoWEtucndYZkEraFplRC9LN2FWQ1NISjAyeUNl?= =?utf-8?B?WEh5d0hWcnZLY0NXVjhRRkFuNUU0b2s3L21Sclgzd2xMbU9OU2lFVDRGNDBn?= =?utf-8?B?SWJIczRxTlVSV3RJZThPVVdXejJkUWlHR0NTNmxLM0dMN1EwQ2UreWtTbFVS?= =?utf-8?B?dU82THo4Q1JLaUxOOExEb2JkVWZYSTk0ZXQ5N1B3NkVFeGhJZ1BaZ0JLaUE2?= =?utf-8?B?Yi85ZWN5VGJGYms4dTdCZFNselJjU0tKRjdJblE5N2pQRXFxWnNqbzhCMTBX?= =?utf-8?B?VGJXTGxVRnVqZ0RKSU4wL3RyK0NDbUR4Wi9mcUpXZ003VUE1aWJsdzJXWVBR?= =?utf-8?B?VGRZU25NTnlPRTNDZnlFWFBmZ0J6dWNKR1dreXdDdkpCTlFmRnpud2NhcmY5?= =?utf-8?B?UHNYYXdlMXQvMjdIUkNXOWo4TEkzUXRwMlpnTmpmWXNaODM0S3owWDdXWkc4?= =?utf-8?B?SFIxaVRxOUVwZDVUTzVtRDVjNWViVXlDOXd6Q1A0OWhYWTNSUFQxNVpYeHd5?= =?utf-8?B?VWRVRzBFemdmZm1pOTgrck82cStKSnpBRUlNZFRGOFVpMVF1bTJJRFEyZDZs?= =?utf-8?B?SzFLOVJsTldoVzRxN1A0QzZreTVTSGxTcEFnVEtwTlJTZ2VhVWh6a0FGVTJl?= =?utf-8?B?WWxwWTlPcWhIeXRSUnVLbXUyZ3Z5citYMCsrU1dKQk0rUitVUFlmZWVZTkJn?= =?utf-8?B?T1ZraFhPTFFLdmhpNlhHc293a3ltWXFGcFBXVE9NdjlFZkRZc200ZDlzMTlp?= =?utf-8?B?UXBHMzU3TzB4dVVUYzJ2WVR4NHYyVm95WmRFQTFPdW9RdC9PSzdhdDBTOXhS?= =?utf-8?B?aGpxWmNrMEJHUG1yZWhaamQ3azFEamlvenVCY081RUxjRnRObDBmQlVTRmVE?= =?utf-8?B?OEJUcXZLdnRRV0dMa01qSWM4dTVEaHpOTDRpSmVZYjU0WDFESmV3OElVNTBQ?= =?utf-8?Q?Pq6s=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4738.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 75ced92b-0749-4bae-f108-08dc89e924c5 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jun 2024 07:36:01.6476 (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: 9mhcv8DitqymSoezXkTHF2JgYWyGwoN/Tf84VK8xwgOSTAVWnVfjlfVa109VnZVyHqZA7HyYftMkaeuZ9Jgh5g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4746 X-OriginatorOrg: intel.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Tue, 11 Jun 2024 00:36:14 -0700 Resent-From: zhihao.li@intel.com Reply-To: devel@edk2.groups.io,zhihao.li@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: zotNYrSEs2luCKBgiCx7Qgx1x7686176AA= Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=Ji3SVxqf; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io SGkgTGltaW5nDQoNCklmIHRoZXJlIGFyZSBubyBjb25jZXJucyBhYm91dCBpdCwgY291bGQgeW91 IHBsZWFzZSBoZWxwIHRvIHJldmlldyB0aGUgcGF0Y2ggaW4gTWRlTW9kdWxlUGtnIHNjb3BlIGFu ZCBjaGVjayBpbj8NCkFuZCB0aGVuLCBJIGNvbnRhY3Qgd2l0aCB0aGUgbWFpbnRhaW5lcnMgb2Yg SW50ZWxGc3AyV3JhcHBlclBrZyBmb3IgYW5vdGhlciBwYXRjaCByZXZpZXcuDQoNCkJSLA0KWmhp aGFvDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBMaSwgWmhpaGFvIA0KU2Vu dDogVGh1cnNkYXksIE1heSAzMCwgMjAyNCAyOjMyIFBNDQpUbzogZ2FvbGltaW5nIDxnYW9saW1p bmdAYnlvc29mdC5jb20uY24+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KQ2M6IENoaXUsIENoYXNl bCA8Y2hhc2VsLmNoaXVAaW50ZWwuY29tPjsgRGVzaW1vbmUsIE5hdGhhbmllbCBMIDxuYXRoYW5p ZWwubC5kZXNpbW9uZUBpbnRlbC5jb20+OyBEdWdnYXB1LCBDaGlubmkgQiA8Y2hpbm5pLmIuZHVn Z2FwdUBpbnRlbC5jb20+OyBDaGVuLCBHYW5nIEMgPGdhbmcuYy5jaGVuQGludGVsLmNvbT4NClN1 YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDEvMl0gTWRlTW9kdWxlUGtnL0NvcmUv UGVpOiBJbnN0YWxsIE1pZ3JhdGVUZW1wUmFtUHBpDQoNClllcywgdGhleSBhcmUgdXNlZC4gDQpS ZWZlciB0byBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTIz NzYgLCBGc3AgYmluYXJ5IG1lYXN1cmVtZW50IGhhcyBiZWVuIGltcGxlbWVudGVkIGFuZCBjb250 cm9sbGVkIGJ5IFBjZEZzcE1lYXN1cmVtZW50Q29uZmlnLg0KQ3VycmVudCBkZWZlY3Q6DQoxLiBG U1AtVC9GU1AtTSBtYXkgbm90IGJlIG1pZ3JhdGVkLg0KMi4gRXZlbiBpZiBGU1AtTSBoYXMgYmVl biBtaWdyYXRlZCwgaXRzIG1lYXN1cmVtZW50IHN0aWxsIHVzZWQgdGhlIG9yaWdpbmFsIGFkZHJl c3MuDQpDb3JyZXNwb25kaW5nIG1vZGlmaWNhdGlvbnM6DQpJbiBNZGVNb2R1bGVQa2cgc2NvcGU6 DQoxLiBBZGQgdGhlIGdFZGtpaVBlaU1pZ3JhdGVUZW1wUmFtUHBpR3VpZCBhbmQgaW5zdGFsbCBp dCBhZnRlciBFdmFjdWF0ZVRlbXBSYW0gaXMgY2FsbGVkLg0KSW4gSW50ZWxGc3AyV3JhcHBlclBr ZyBzY29wZToNCjEuIEFkZCBNaWdyYXRlVGVtcFJhbVBwaSBub3RpZmljYXRpb24gd2hpY2ggd2ls bCBjaGVjayB0aGUgbWlncmF0aW9uIG9mIEZTUC1UL00gYW5kIG1pZ3JhdGUgdGhlbSBpZiB0aGV5 IGFyZSBub3QgbWlncmF0ZWQgYnV0IG5lZWQgdG8gYmUgbWVhc3VyZWQuDQoyLiBGaXggVGNnIG5v dGlmaWNhdGlvbiB0byB1c2UgbWlncmF0ZWQgYWRkcmVzcyBpZiB0aGUgYmluYXJpZXMgaGFkIGJl ZW4gbWlncmF0ZWQuDQoNCkJSLA0KWmhpaGFvDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQpGcm9tOiBnYW9saW1pbmcgPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NClNlbnQ6IFRodXJz ZGF5LCBNYXkgMzAsIDIwMjQgMToxMiBQTQ0KVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBMaSwg WmhpaGFvIDx6aGloYW8ubGlAaW50ZWwuY29tPg0KQ2M6IENoaXUsIENoYXNlbCA8Y2hhc2VsLmNo aXVAaW50ZWwuY29tPjsgRGVzaW1vbmUsIE5hdGhhbmllbCBMIDxuYXRoYW5pZWwubC5kZXNpbW9u ZUBpbnRlbC5jb20+OyBEdWdnYXB1LCBDaGlubmkgQiA8Y2hpbm5pLmIuZHVnZ2FwdUBpbnRlbC5j b20+OyBDaGVuLCBHYW5nIEMgPGdhbmcuYy5jaGVuQGludGVsLmNvbT4NClN1YmplY3Q6IOWbnuWk jTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MSAxLzJdIE1kZU1vZHVsZVBrZy9Db3JlL1BlaTogSW5z dGFsbCBNaWdyYXRlVGVtcFJhbVBwaQ0KDQpaaGloYW86DQogIElmIEZzcC1UL00gaXMgbm90IGlu c3RhbGxlZCwgYXJlIHRoZXkgc3RpbGwgdXNlZCBpbiBQRUkgYm9vdD8gSWYgdGhleSBhcmUgdXNl ZCwgSSBhZ3JlZSB0aGV5IHNob3VsZCBiZSBtZWFzdXJlZC4gDQoNClRoYW5rcw0KTGltaW5nDQo+ IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4g5Y+R5Lu25Lq6OiBkZXZlbEBlZGsyLmdyb3Vwcy5p byA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IOS7o+ihqCBMaSwgWmhpaGFvDQo+IOWPkemAgeaXtumX tDogMjAyNOW5tDXmnIgyOeaXpSAxMTozNg0KPiDmlLbku7bkuro6IGdhb2xpbWluZyA8Z2FvbGlt aW5nQGJ5b3NvZnQuY29tLmNuPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4g5oqE6YCBOiBDaGl1 LCBDaGFzZWwgPGNoYXNlbC5jaGl1QGludGVsLmNvbT47IERlc2ltb25lLCBOYXRoYW5pZWwgTCAN Cj4gPG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNvbT47IER1Z2dhcHUsIENoaW5uaSBCIA0K PiA8Y2hpbm5pLmIuZHVnZ2FwdUBpbnRlbC5jb20+OyBDaGVuLCBHYW5nIEMgPGdhbmcuYy5jaGVu QGludGVsLmNvbT4NCj4g5Li76aKYOiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MSAxLzJdIE1k ZU1vZHVsZVBrZy9Db3JlL1BlaTogSW5zdGFsbCANCj4gTWlncmF0ZVRlbXBSYW1QcGkNCj4gDQo+ IElzc3VlIGRlc2NyaXB0aW9uOg0KPiAxLiBQZWlDb3JlIG9ubHkgbWlncmF0ZXMgRnNwLU0gaW4g ZGlzcGF0Y2ggbW9kZSBhbmQgZG9lc24ndCBtaWdyYXRlIA0KPiBGc3AtVCBhbmQgRnNwLU0gaW4g QXBpIG1vZGUuDQo+IDIuIEZzcC1UIGFuZCBGc3AtTSB3aWxsIGJlIG1lYXN1cmVkIGluIHBvc3Qt bWVtIFBFSSBhbmQgdGhlIA0KPiBtZWFzdXJlbWVudCB1c2VzIG9yaWdpbmFsIGFkZHJlc3Nlcy4N Cj4gUm9vdENhdXNlOg0KPiBQZWlDb3JlIG9ubHkgbWlncmF0ZXMgaW5zdGFsbGVkIEZWcyBhbmQg RnNwLVQvTSBtYXkgbm90IGJlIGluc3RhbGxlZC4NCj4gDQo+IERlZmVjdCBpbiBpbXBsZW1lbnRh dGlvbjoNCj4gSW4gTWRlTW9kdWxlUGtnL0NvcmUvUGVpL1BlaU1haW4vUGVpTWFpbi5jIGxpbmUg NDUwOg0KPiBFdmFjdWF0ZVRlbXBSYW0gd2lsbCBtaWdyYXRlIGluc3RhbGxlZCBjb250ZW50IGZy b20gVGVtcG9yYXJ5IFJBTSB0byANCj4gUGVybWFuZW50IFJBTSBiZWNhdXNlIG9mIEJvb3RHdWFy ZCBUT0NUT1UgDQo+IHZ1bG5lcmFiaWxpdHkoaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3Jn L3Nob3dfYnVnLmNnaT9pZD0xNjE0KS4NCj4gSW4gSW50ZWxGc3AyV3JhcHBlclBrZy9Gc3BtV3Jh cHBlclBlaW0vRnNwbVdyYXBwZXJQZWltLmMgbGluZSAyMjA6DQo+IEZzcG1XcmFwcGVySW5pdCB3 aWxsIGluc3RhbGwgRnNwbSBpbiBkaXNwYXRjaCBtb2RlIG9yIGRpcmVjdGx5IGNhbGwgDQo+IFBl aUZzcE1lbW9yeUluaXQgZnVuY3Rpb24gaW4gYXBpIG1vZGUuDQo+ID09Pg0KPiBBcGkgbW9kZTog RnNwLVQgYW5kIEZzcC1NIGFyZSBub3QgbWlncmF0ZWQgYmVjYXVzZSB0aGV5IGFyZSBub3QgaW5z dGFsbGVkLg0KPiBEaXNwYXRjaCBtb2RlOiBGc3AtVCBpcyBub3QgbWlncmF0ZWQgYmVjYXVzZSBp dCBpcyBub3QgaW5zdGFsbGVkLg0KPiANCj4gSW4gSW50ZWxGc3AyV3JhcHBlclBrZy9Gc3BtV3Jh cHBlclBlaW0vRnNwbVdyYXBwZXJQZWltLmMgbGluZSAyOTEsIDMwMDoNCj4gVGNnUHBpTm90aWZ5 IHRyYW5zbWl0cyBvcmlnaW5hbCBhZGRyZXNzZXMoUGNkRnNwdEJhc2VBZGRyZXNzLA0KPiBQY2RG c3BtQmFzZUFkZHJlc3MpIHRvIE1lYXN1cmVGc3BGaXJtd2FyZUJsb2Igd2hpY2ggd2lsbCB0cmln Z2VyIA0KPiBIYXNoTG9nRXh0ZW5kRXZlbnQuDQo+IEluIFNlY3VyaXR5UGtnL1RjZy9UY2cyUGVp L1RjZzJQZWkuYyBsaW5lIDk2NjoNCj4gVGNnUHBpIHdpbGwgYmUgaW5zdGFsbGVkIGluIFBlaW1F bnRyeU1QIHdoaWNoIHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIA0KPiBQRUkgRm91bmRhdGlvbiBk aXNjb3ZlcnMgcGVybWFuZW50IG1lbW9yeShsaW5lIDEwNTkgbUltYWdlSW5NZW1vcnkgPSBUUlVF KS4NCj4gPT0+DQo+IE9yaWdpbmFsIGFkZHJlc3NlcyBvZiBGc3AtVCBhbmQgRnNwLU0gd2lsbCBi ZSB1c2VkIGZvciBtZWFzdXJlbWVudCANCj4gYWZ0ZXIgcGVybWFuZW50IG1lbW9yeSBpcyByZWFk eSBhbmQgaW5zdGFsbGVkIEZWcyBhcmUgbWlncmF0ZWQuDQo+IA0KPiANCj4gU29sdXRpb246DQo+ IE1kZU1vZHVsZVBrZzogUGVpQ29yZSBJbnN0YWxscyBNaWdyYXRlVGVtcFJhbVBwaSBpZiANCj4g UGNkTWlncmF0ZVRlbXBvcmFyeVJhbUZpcm13YXJlVm9sdW1lcyBpcyBUcnVlLg0KPiBJbnRlbEZz cDJXcmFwcGVyUGtnIDogMS4gTWlncmF0ZVRlbXBSYW1QcGkgbml0aWZpY2F0aW9uIGluIA0KPiBG c3BtV3JhcHBlclBlaW0gbWlncmF0ZXMgRnNwVC9NIGJpbmFyeSB0byBwZXJtYW5lbnQgbWVtb3J5 IGFuZCBidWlsZCBNaWdhdGVkRnZJbmZvSG9iLg0KPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAyLiBUQ0cgbm90aWZpY2F0aW9uIGNoZWNrcyANCj4gTWlnYXRlZEZ2 SW5mb0hvYiBhbmQgdHJhbnNtaXRzIERSQU0gYWRkcmVzcyBmb3IgbWVhc3VyZW1lbnQuDQo+IA0K PiBCUiwNCj4gWmhpaGFvDQo+IA0KPiANCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g RnJvbTogZ2FvbGltaW5nIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+IFNlbnQ6IFR1ZXNk YXksIE1heSAyOCwgMjAyNCA1OjQ0IFBNDQo+IFRvOiBMaSwgWmhpaGFvIDx6aGloYW8ubGlAaW50 ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IENoaXUsIENoYXNlbCA8Y2hhc2Vs LmNoaXVAaW50ZWwuY29tPjsgRGVzaW1vbmUsIE5hdGhhbmllbCBMIA0KPiA8bmF0aGFuaWVsLmwu ZGVzaW1vbmVAaW50ZWwuY29tPjsgRHVnZ2FwdSwgQ2hpbm5pIEIgDQo+IDxjaGlubmkuYi5kdWdn YXB1QGludGVsLmNvbT47IENoZW4sIEdhbmcgQyA8Z2FuZy5jLmNoZW5AaW50ZWwuY29tPg0KPiBT dWJqZWN0OiDlm57lpI06IFtQQVRDSCB2MSAxLzJdIE1kZU1vZHVsZVBrZy9Db3JlL1BlaTogSW5z dGFsbCANCj4gTWlncmF0ZVRlbXBSYW1QcGkNCj4gDQo+IFpoaWhhbzoNCj4gICBDb3VsZCB5b3Ug ZXhwbGFpbiB0aGUgc2l0dWF0aW9uIHRoYXQgRlNQLVQvTSBpcyBub3QgbWlncmF0ZWQgYnkgUGVp Q29yZT8NCj4gDQo+IFRoYW5rcw0KPiBMaW1pbmcNCj4gPiAtLS0tLemCruS7tuWOn+S7ti0tLS0t DQo+ID4g5Y+R5Lu25Lq6OiBaaGloYW8gTGkgPHpoaWhhby5saUBpbnRlbC5jb20+DQo+ID4g5Y+R 6YCB5pe26Ze0OiAyMDI05bm0NOaciDI55pelIDExOjIwDQo+ID4g5pS25Lu25Lq6OiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbw0KPiA+IOaKhOmAgTogQ2hhc2VsIENoaXUgPGNoYXNlbC5jaGl1QGludGVs LmNvbT47IE5hdGUgRGVTaW1vbmUgDQo+ID4gPG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNv bT47IER1Z2dhcHUgQ2hpbm5pIEIgDQo+ID4gPGNoaW5uaS5iLmR1Z2dhcHVAaW50ZWwuY29tPjsg Q2hlbiBHYW5nIEMgPGdhbmcuYy5jaGVuQGludGVsLmNvbT47IA0KPiA+IExpbWluZyBHYW8gPGdh b2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gPiDkuLvpopg6IFtQQVRDSCB2MSAxLzJdIE1kZU1v ZHVsZVBrZy9Db3JlL1BlaTogSW5zdGFsbCBNaWdyYXRlVGVtcFJhbVBwaQ0KPiA+DQo+ID4gUkVG OiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTQ3MTYNCj4g Pg0KPiA+IE1pZ3JhdGUgRlNQLVQvTSBiaW5hcnkgZnJvbSB0ZW1wb3JhcnkgUkFNIHRvIHBlcm1h bmVudCBSQU0gYmVmb3JlIA0KPiA+IE5FTSB0ZWFyIGRvd24uIFRjZyBtb2R1bGUgd2lsbCB1c2Ug cGVybWFuZW50IGFkZHJlc3Mgb2YgRlNQLVQvTSBmb3IgDQo+ID4gbWVhc3VyZW1lbnQuDQo+ID4g MS4gUGVpQ29yZSBpbnN0YWxscyBtTWlncmF0ZVRlbXBSYW1QcGkgaWYgDQo+ID4gUGNkTWlncmF0 ZVRlbXBvcmFyeVJhbUZpcm13YXJlVm9sdW1lcyBpcyBUcnVlIDIuIEZzcG1XcmFwcGVyUGVpbSAN Cj4gPiBtaWdyYXRlIEZzcFQvTSBiaW5hcnkgdG8gcGVybWFuZW50IG1lbW9yeSBhbmQgYnVpbGQg TWlnYXRlZEZ2SW5mb0hvYiANCj4gPiAzLiBUQ0cgbm90aWZpY2F0aW9uIGNoZWNrcyBNaWdhdGVk RnZJbmZvSG9iIGFuZCB0cmFuc21pdHMgRFJBTSANCj4gPiBhZGRyZXNzIGZvciBtZWFzdXJlbWVu dA0KPiA+DQo+ID4gQ2M6IENoYXNlbCBDaGl1IDxjaGFzZWwuY2hpdUBpbnRlbC5jb20+DQo+ID4g Q2M6IE5hdGUgRGVTaW1vbmUgPG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNvbT4NCj4gPiBD YzogRHVnZ2FwdSBDaGlubmkgQiA8Y2hpbm5pLmIuZHVnZ2FwdUBpbnRlbC5jb20+DQo+ID4gQ2M6 IENoZW4gR2FuZyBDIDxnYW5nLmMuY2hlbkBpbnRlbC5jb20+DQo+ID4gQ2M6IExpbWluZyBHYW8g PGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFpoaWhh byBMaSA8emhpaGFvLmxpQGludGVsLmNvbT4NCj4gPiAtLS0NCj4gPiAgTWRlTW9kdWxlUGtnL0Nv cmUvUGVpL1BlaU1haW4vUGVpTWFpbi5jICAgIHwgMTAgKysrKysrKystDQo+ID4gIE1kZU1vZHVs ZVBrZy9Db3JlL1BlaS9QZWlNYWluLmggICAgICAgICAgICB8ICAzICsrLQ0KPiA+ICBNZGVNb2R1 bGVQa2cvQ29yZS9QZWkvUGVpTWFpbi5pbmYgICAgICAgICAgfCAgMyArKy0NCj4gPiAgTWRlTW9k dWxlUGtnL0luY2x1ZGUvR3VpZC9NaWdyYXRlZEZ2SW5mby5oIHwgIDQgKystLSANCj4gPiBNZGVN b2R1bGVQa2cvSW5jbHVkZS9QcGkvTWlncmF0ZVRlbXBSYW0uaCAgfCAyMw0KPiA+ICsrKysrKysr KysrKysrKysrKysrDQo+ID4gIE1kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjICAgICAgICAg ICAgICB8ICA1ICsrKystDQo+ID4gIDYgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwg NiBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQ29yZS9Q ZWkvUGVpTWFpbi9QZWlNYWluLmMNCj4gPiBiL01kZU1vZHVsZVBrZy9Db3JlL1BlaS9QZWlNYWlu L1BlaU1haW4uYw0KPiA+IGluZGV4IGJmMTcxOWQ3OTQxYS4uMGUzZDlhODQzODE2IDEwMDY0NA0K PiA+IC0tLSBhL01kZU1vZHVsZVBrZy9Db3JlL1BlaS9QZWlNYWluL1BlaU1haW4uYw0KPiA+ICsr KyBiL01kZU1vZHVsZVBrZy9Db3JlL1BlaS9QZWlNYWluL1BlaU1haW4uYw0KPiA+IEBAIC0xLDcg KzEsNyBAQA0KPiA+ICAvKiogQGZpbGUNCj4gPiAgICBQZWkgQ29yZSBNYWluIEVudHJ5IFBvaW50 DQo+ID4NCj4gPiAtQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgDQo+ID4gcmVzZXJ2ZWQuPEJSPg0KPiA+ICtDb3B5cmlnaHQgKGMpIDIwMDYg LSAyMDI0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyANCj4gPiArcmVzZXJ2ZWQuPEJS Pg0KPiA+ICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ DQo+ID4gICoqLw0KPiA+IEBAIC0xMyw2ICsxMywxMSBAQCBFRklfUEVJX1BQSV9ERVNDUklQVE9S ICBtTWVtb3J5RGlzY292ZXJlZFBwaSA9IHsNCj4gPiAgICAmZ0VmaVBlaU1lbW9yeURpc2NvdmVy ZWRQcGlHdWlkLA0KPiA+ICAgIE5VTEwNCj4gPiAgfTsNCj4gPiArRUZJX1BFSV9QUElfREVTQ1JJ UFRPUiAgbU1pZ3JhdGVUZW1wUmFtUHBpID0gew0KPiA+ICsgIChFRklfUEVJX1BQSV9ERVNDUklQ VE9SX1BQSSB8DQo+ID4gRUZJX1BFSV9QUElfREVTQ1JJUFRPUl9URVJNSU5BVEVfTElTVCksDQo+ ID4gKyAgJmdFZGtpaVBlaU1pZ3JhdGVUZW1wUmFtUHBpR3VpZCwNCj4gPiArICBOVUxMDQo+ID4g K307DQo+ID4NCj4gPiAgLy8vDQo+ID4gIC8vLyBQZWkgc2VydmljZSBpbnN0YW5jZQ0KPiA+IEBA IC00NDksNiArNDU0LDkgQEAgUGVpQ29yZSAoDQo+ID4gICAgICAgIC8vDQo+ID4gICAgICAgIEV2 YWN1YXRlVGVtcFJhbSAoJlByaXZhdGVEYXRhLCBTZWNDb3JlRGF0YSk7DQo+ID4NCj4gPiArICAg ICAgU3RhdHVzID0gUGVpU2VydmljZXNJbnN0YWxsUHBpICgmbU1pZ3JhdGVUZW1wUmFtUHBpKTsN Cj4gPiArICAgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gPiArDQo+ID4gICAgICAg IERFQlVHICgoREVCVUdfVkVSQk9TRSwgIlBQSSBsaXN0cyBhZnRlciB0ZW1wb3JhcnkgUkFNIA0K PiA+IGV2YWN1YXRpb246XG4iKSk7DQo+ID4gICAgICAgIER1bXBQcGlMaXN0ICgmUHJpdmF0ZURh dGEpOw0KPiA+ICAgICAgfQ0KPiA+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQ29yZS9QZWkv UGVpTWFpbi5oIA0KPiA+IGIvTWRlTW9kdWxlUGtnL0NvcmUvUGVpL1BlaU1haW4uaCBpbmRleCA0 NmI2YzIzMDE0YTMuLjhkZjBjMmQ1NjFmNw0KPiA+IDEwMDY0NA0KPiA+IC0tLSBhL01kZU1vZHVs ZVBrZy9Db3JlL1BlaS9QZWlNYWluLmgNCj4gPiArKysgYi9NZGVNb2R1bGVQa2cvQ29yZS9QZWkv UGVpTWFpbi5oDQo+ID4gQEAgLTEsNyArMSw3IEBADQo+ID4gIC8qKiBAZmlsZQ0KPiA+ICAgIERl ZmluaXRpb24gb2YgUGVpIENvcmUgU3RydWN0dXJlcyBhbmQgU2VydmljZXMNCj4gPg0KPiA+IC1D b3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyAN Cj4gPiByZXNlcnZlZC48QlI+DQo+ID4gK0NvcHlyaWdodCAoYykgMjAwNiAtIDIwMjQsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0KPiA+ICtyZXNlcnZlZC48QlI+DQo+ID4gIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4NCj4gPiAgKiovDQo+ ID4gQEAgLTI2LDYgKzI2LDcgQEAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQgDQo+ID4gI2luY2x1ZGUgPFBwaS9UZW1wb3JhcnlSYW1Eb25lLmg+ICAjaW5jbHVk ZSA8UHBpL1NlY0hvYkRhdGEuaD4gDQo+ID4gI2luY2x1ZGUgPFBwaS9QZWlDb3JlRnZMb2NhdGlv bi5oPg0KPiA+ICsjaW5jbHVkZSA8UHBpL01pZ3JhdGVUZW1wUmFtLmg+DQo+ID4gICNpbmNsdWRl IDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ID4gICNpbmNsdWRlIDxMaWJyYXJ5L1BlaUNvcmVFbnRy eVBvaW50Lmg+ICAjaW5jbHVkZSANCj4gPiA8TGlicmFyeS9CYXNlTGliLmg+IGRpZmYgLS1naXQg YS9NZGVNb2R1bGVQa2cvQ29yZS9QZWkvUGVpTWFpbi5pbmYNCj4gPiBiL01kZU1vZHVsZVBrZy9D b3JlL1BlaS9QZWlNYWluLmluZg0KPiA+IGluZGV4IDg5M2JkYzA1Mjc5OC4uNGU1NDVkZGFiMmFi IDEwMDY0NA0KPiA+IC0tLSBhL01kZU1vZHVsZVBrZy9Db3JlL1BlaS9QZWlNYWluLmluZg0KPiA+ ICsrKyBiL01kZU1vZHVsZVBrZy9Db3JlL1BlaS9QZWlNYWluLmluZg0KPiA+IEBAIC02LDcgKzYs NyBAQA0KPiA+ICAjIDIpIERpc3BhdGNoIFBFSU0gZnJvbSBkaXNjb3ZlcmVkIEZWLg0KPiA+ICAj IDMpIEhhbmRvZmYgY29udHJvbCB0byBEeGVJcGwgdG8gbG9hZCBEWEUgY29yZSBhbmQgZW50ZXIg RFhFIHBoYXNlLg0KPiA+ICAjDQo+ID4gLSMgQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxOSwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQo+ID4gcmVzZXJ2ZWQuPEJSPg0KPiA+ICsjIENv cHlyaWdodCAoYykgMjAwNiAtIDIwMjQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0K PiA+ICtyZXNlcnZlZC48QlI+DQo+ID4gICMNCj4gPiAgIyAgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQgICMgQEAgLTEwMSw2ICsxMDEsNyANCj4gPiBAQA0KPiA+ ICAgIGdFZmlQZWlSZXNldDJQcGlHdWlkICAgICAgICAgICAgICAgICAgICAgICAgICAjIw0KPiA+ IFNPTUVUSU1FU19DT05TVU1FUw0KPiA+ICAgIGdFZmlTZWNIb2JEYXRhUHBpR3VpZCAgICAgICAg ICAgICAgICAgICAgICAgICAjIw0KPiA+IFNPTUVUSU1FU19DT05TVU1FUw0KPiA+ICAgIGdFZmlQ ZWlDb3JlRnZMb2NhdGlvblBwaUd1aWQgICAgICAgICAgICAgICAgICAjIw0KPiA+IFNPTUVUSU1F U19DT05TVU1FUw0KPiA+ICsgIGdFZGtpaVBlaU1pZ3JhdGVUZW1wUmFtUHBpR3VpZCAgICAgICAg ICAgICAgICAjIyBQUk9EVUNFUw0KPiA+DQo+ID4gIFtQY2RdDQo+ID4gICAgZ0VmaU1kZU1vZHVs ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBlaUNvcmVNYXhQZWlTdGFja1NpemUNCj4gPiAjIyBDT05T VU1FUw0KPiA+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvSW5jbHVkZS9HdWlkL01pZ3JhdGVk RnZJbmZvLmgNCj4gPiBiL01kZU1vZHVsZVBrZy9JbmNsdWRlL0d1aWQvTWlncmF0ZWRGdkluZm8u aA0KPiA+IGluZGV4IDFjOGIwZGZlZmM0OS4uMjU1ZTI3ODIzNWIxIDEwMDY0NA0KPiA+IC0tLSBh L01kZU1vZHVsZVBrZy9JbmNsdWRlL0d1aWQvTWlncmF0ZWRGdkluZm8uaA0KPiA+ICsrKyBiL01k ZU1vZHVsZVBrZy9JbmNsdWRlL0d1aWQvTWlncmF0ZWRGdkluZm8uaA0KPiA+IEBAIC0xLDcgKzEs NyBAQA0KPiA+ICAvKiogQGZpbGUNCj4gPiAgICBNaWdyYXRlZCBGViBpbmZvcm1hdGlvbg0KPiA+ DQo+ID4gLUNvcHlyaWdodCAoYykgMjAyMCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg cmVzZXJ2ZWQuPEJSPg0KPiA+ICtDb3B5cmlnaHQgKGMpIDIwMjAgLSAyMDI0LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyANCj4gPiArcmVzZXJ2ZWQuPEJSPg0KPiA+ICBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+DQo+ID4gICoqLw0KPiA+IEBA IC01MCw3ICs1MCw3IEBAIHR5cGVkZWYgc3RydWN0IHsNCj4gPg0KPiA+ICB0eXBlZGVmIHN0cnVj dCB7DQo+ID4gICAgVUlOVDMyICAgIEZ2T3JnQmFzZTsgICAgICAgICAvLyBvcmlnaW5hbCBGViBh ZGRyZXNzDQo+ID4gLSAgVUlOVDMyICAgIEZ2TmV3QmFzZTsgICAgICAgICAvLyBuZXcgRlYgYWRk cmVzcw0KPiA+ICsgIFVJTlQzMiAgICBGdk5ld0Jhc2U7ICAgICAgICAgLy8gbmV3IEZWIGFkZHJl c3MsIDAgbWVhbnMgcmViYXNlZA0KPiBkYXRhDQo+ID4gaXMgbm90IGNvcGllZA0KPiA+ICAgIFVJ TlQzMiAgICBGdkRhdGFCYXNlOyAgICAgICAgLy8gb3JpZ2luYWwgRlYgZGF0YSwgMCBtZWFucyBy YXcgZGF0YSBpcw0KPiBub3QNCj4gPiBjb3BpZWQNCj4gPiAgICBVSU5UMzIgICAgRnZMZW5ndGg7 ICAgICAgICAgIC8vIEZ2IExlbmd0aA0KPiA+ICB9IEVES0lJX01JR1JBVEVEX0ZWX0lORk87DQo+ ID4gZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9JbmNsdWRlL1BwaS9NaWdyYXRlVGVtcFJhbS5o DQo+ID4gYi9NZGVNb2R1bGVQa2cvSW5jbHVkZS9QcGkvTWlncmF0ZVRlbXBSYW0uaA0KPiA+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMDAwMDAwLi45YmJiNTVkNWNmODYN Cj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvTWRlTW9kdWxlUGtnL0luY2x1ZGUvUHBpL01p Z3JhdGVUZW1wUmFtLmgNCj4gPiBAQCAtMCwwICsxLDIzIEBADQo+ID4gKy8qKiBAZmlsZQ0KPiA+ ICsgIFRoaXMgZmlsZSBkZWNsYXJlcyBNaWdyYXRlIFRlbXBvcmFyeSBNZW1vcnkgUFBJLg0KPiA+ ICsNCj4gPiArICBUaGlzIFBQSSBpcyBwdWJsaXNoZWQgYnkgdGhlIFBFSSBGb3VuZGF0aW9uIHdo ZW4gdGVtcG9yYXJ5IFJBTSANCj4gPiArIG5lZWRzIHRvDQo+ID4gZXZhY3VhdGUuDQo+ID4gKyAg SXRzIHB1cnBvc2UgaXMgdG8gYmUgdXNlZCBhcyBhIHNpZ25hbCBmb3Igb3RoZXIgUEVJTXMgd2hv IGNhbiANCj4gPiArIHJlZ2lzdGVyDQo+IGZvciBhDQo+ID4gKyAgbm90aWZpY2F0aW9uIG9uIGl0 cyBpbnN0YWxsYXRpb24uDQo+ID4gKw0KPiA+ICsgIENvcHlyaWdodCAoYykgMjAyNCwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiA+ICsgIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gKw0KPiA+ICsqKi8NCj4gPiAr DQo+ID4gKyNpZm5kZWYgUEVJX01JR1JBVEVfVEVNUF9SQU1fUFBJX0hfICNkZWZpbmUgDQo+ID4g K1BFSV9NSUdSQVRFX1RFTVBfUkFNX1BQSV9IXw0KPiA+ICsNCj4gPiArI2RlZmluZSBFRklfUEVJ X01JR1JBVEVfVEVNUF9SQU1fUFBJX0dVSUQgXA0KPiA+ICsgIHsgXA0KPiA+ICsgICAgMHhjNzlk YzUzYiwgMHhhZmNkLCAweDRhNmEsIHsweGFkLCAweDk0LCAweGE3LCAweDZhLCAweDNmLCANCj4g PiArMHhhOSwNCj4gMHhlOSwNCj4gPiAweGMyIH0gXA0KPiA+ICsgIH0NCj4gPiArDQo+ID4gK2V4 dGVybiBFRklfR1VJRCAgZ0Vka2lpUGVpTWlncmF0ZVRlbXBSYW1QcGlHdWlkOw0KPiA+ICsNCj4g PiArI2VuZGlmDQo+ID4gZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVj IA0KPiA+IGIvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMgaW5kZXggM2EyMzlhMTY4N2Vh Li40M2U5MmM2OGNhMjANCj4gPiAxMDA2NDQNCj4gPiAtLS0gYS9NZGVNb2R1bGVQa2cvTWRlTW9k dWxlUGtnLmRlYw0KPiA+ICsrKyBiL01kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjDQo+ID4g QEAgLTQsNyArNCw3IEBADQo+ID4gICMgYW5kIGxpYnJhcmllcyBpbnN0YW5jZXMsIHdoaWNoIGFy ZSB1c2VkIGZvciB0aG9zZSBtb2R1bGVzLg0KPiA+ICAjDQo+ID4gICMgQ29weXJpZ2h0IChjKSAy MDE5LCBOVklESUEgQ09SUE9SQVRJT04uIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ID4gLSMgQ29w eXJpZ2h0IChjKSAyMDA3IC0gMjAyMSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQo+ ID4gcmVzZXJ2ZWQuPEJSPg0KPiA+ICsjIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMjQsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIA0KPiA+ICtyZXNlcnZlZC48QlI+DQo+ID4gICMgQ29w eXJpZ2h0IChjKSAyMDE2LCBMaW5hcm8gTHRkLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4gICMg KEMpIA0KPiA+IENvcHlyaWdodCAyMDE2IC0gMjAxOSBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlz ZSBEZXZlbG9wbWVudCBMUDxCUj4gDQo+ID4gIyBDb3B5cmlnaHQgKGMpIDIwMTcsIEFNRCBJbmNv cnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPiBAQA0KPiA+IC01NDYsNiArNTQ2LDkg QEANCj4gPiAgICAjIyBJbmNsdWRlL1BwaS9NZW1vcnlBdHRyaWJ1dGUuaA0KPiA+ICAgIGdFZGtp aU1lbW9yeUF0dHJpYnV0ZVBwaUd1aWQgICAgICAgICAgICAgID0geyAweDFiZTg0MGRlLCAweDJk OTIsDQo+ID4gMHg0MWVjLCB7IDB4YjYsIDB4ZDMsIDB4MTksIDB4NjQsIDB4MTMsIDB4NTAsIDB4 NTEsIDB4ZmIgfSB9DQo+ID4NCj4gPiArICAjIyBJbmNsdWRlL1BwaS9NaWdyYXRlVGVtcFJhbS5o DQo+ID4gKyAgZ0Vka2lpUGVpTWlncmF0ZVRlbXBSYW1QcGlHdWlkICAgICAgICAgICAgPSB7IDB4 Yzc5ZGM1M2IsIDB4YWZjZCwNCj4gPiAweDRhNmEsIHsgMHhhZCwgMHg5NCwgMHhhNywgMHg2YSwg MHgzZiwgMHhhOSwgMHhlOSwgMHhjMiB9IH0NCj4gPiArDQo+ID4gIFtQcm90b2NvbHNdDQo+ID4g ICAgIyMgTG9hZCBGaWxlIHByb3RvY29sIHByb3ZpZGVzIGNhcGFiaWxpdHkgdG8gbG9hZCBhbmQg dW5sb2FkIEVGSSANCj4gPiBpbWFnZQ0KPiBpbnRvDQo+ID4gbWVtb3J5IGFuZCBleGVjdXRlIGl0 Lg0KPiA+ICAgICMgIEluY2x1ZGUvUHJvdG9jb2wvTG9hZFBlMzJJbWFnZS5oDQo+ID4gLS0NCj4g PiAyLjQ0LjAud2luZG93cy4xDQo+IA0KPiANCj4gDQo+IA0KPiANCj4gDQo+IA0KDQoNCg0KDQoK LT0tPS09LT0tPS09LT0tPS09LT0tPS0KR3JvdXBzLmlvIExpbmtzOiBZb3UgcmVjZWl2ZSBhbGwg bWVzc2FnZXMgc2VudCB0byB0aGlzIGdyb3VwLgpWaWV3L1JlcGx5IE9ubGluZSAoIzExOTU0Nik6 IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzExOTU0NgpNdXRlIFRoaXMg VG9waWM6IGh0dHBzOi8vZ3JvdXBzLmlvL210LzEwNjM4MzkyOC83Njg2MTc2Ckdyb3VwIE93bmVy OiBkZXZlbCtvd25lckBlZGsyLmdyb3Vwcy5pbwpVbnN1YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdy b3Vwcy5pby9nL2RldmVsL3Vuc3ViIFtyZWJlY2NhQG9wZW5mdy5pb10KLT0tPS09LT0tPS09LT0t PS09LT0tPS0KCg0K