From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web12.1563.1625015248482855773 for ; Tue, 29 Jun 2021 18:07:29 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=rPJSl/at; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: michael.d.kinney@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10030"; a="269402608" X-IronPort-AV: E=Sophos;i="5.83,310,1616482800"; d="scan'208";a="269402608" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jun 2021 18:07:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,310,1616482800"; d="scan'208";a="625836666" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga005.jf.intel.com with ESMTP; 29 Jun 2021 18:07:24 -0700 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Tue, 29 Jun 2021 18:07:04 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Tue, 29 Jun 2021 18:07:04 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.172) 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.2242.4; Tue, 29 Jun 2021 18:07:04 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OOh80YfjBTcMYZ8zp7eAjiIBVRYUas1WOk5ab2HKyiaAB+wvUhgMDOFv7n4D0bR+qJ8B0vSc28sKvmEu/eCARoNv8cDZBlYtgl6GXFGzAfIEdaP1rRnRWruY/Kjp1Ld71YRVqBjzk9/+VDjKAef16NmnMk6buCN+okHZPdKRSXBJHMUU5cp9rdDXfvCpfI5T1LZBaYG8BukClge5s4sIZPqwRtpXt54UK/HbJaR0m8h/mDAI4b2XkeAjJPc5JfyQ/R2hSoWN4DQ+Xas3Il4LP68zPBJSJd1TLmye2ztPm4b1kslzAGyUXKFlFcXygn56isWSHVixxqlAGBCScQGdcw== 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=Ch18hstQQmKsfFAKIR+iYAcCyHdyTYMfxwQYzpsZstg=; b=HsuzxB8Ao3JggB5z1CaehcxMwULLhuxQFTRmB1tWecaqIwEU1w9d01QHd1kcb36upvrSRKDPGJIFmbldNu1Fz7lVqn1IK++g9x8yMfgAXb6AQ7xA7xAy1vf7T+hwEOzm03e+d6EnWQxPSz6D7qkfhasV+QgOxg//MoawtAHJlFRAxtbW2g8/BwVmc6YSBHP58UzV51x7UrCkbFZY3spmv7oESHM/W3G57wRNBn1qHiLveFcR5WQAapvevf7Yai0UM1fcDBs6qA/1T36md4WiWxbJwKjY79uRgtsL6AnhbLBN0+SGY0n0PxXaRGduDMhH/1KV/jIMjZ3IBROipeGWsA== 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=Ch18hstQQmKsfFAKIR+iYAcCyHdyTYMfxwQYzpsZstg=; b=rPJSl/atPuu1Yxk5dlwI/xNU3cLXaU9wMkdoraTf+B4KIHOJzCyg0MLZR5OYsEGf6XYwdPnxNyFYBsEHjQv9lcq5AB4krHrec+trBAfTzisNGNa2cohXKmdVI9s2/cR4aXsuih/ludrGAqHWtll2AHO12w0VpxgKTwZEB6htMY0= Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by MW3PR11MB4617.namprd11.prod.outlook.com (2603:10b6:303:59::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.19; Wed, 30 Jun 2021 01:07:03 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::612a:1a6b:db8a:5ff4]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::612a:1a6b:db8a:5ff4%5]) with mapi id 15.20.4264.026; Wed, 30 Jun 2021 01:07:03 +0000 From: "Michael D Kinney" To: Kun Qin , "devel@edk2.groups.io" , "bret.barkelew@microsoft.com" , =?utf-8?B?TWFydmluIEjDpHVzZXI=?= , Laszlo Ersek , "Kinney, Michael D" CC: "Wang, Jian J" , "Wu, Hao A" , "Dong, Eric" , "Ni, Ray" , Liming Gao , "Liu, Zhiguang" , "Andrew Fish" , "Lindholm, Leif" , "Michael Kubacki" Subject: Re: [EXTERNAL] Re: [edk2-devel] [PATCH v1 0/5] EDK2 Code First: PI Specification: Update EFI_MM_COMMUNICATE_HEADER Thread-Topic: [EXTERNAL] Re: [edk2-devel] [PATCH v1 0/5] EDK2 Code First: PI Specification: Update EFI_MM_COMMUNICATE_HEADER Thread-Index: AQHXXZn+CLdMfOUuFEGylDfa9cdgM6sWP/MAgADpogCAAmY+AIAGrRkAgAEBKQCAAI7uAIAAln+AgAB/MgCAAHjKkIABznsAgAR2xoCAAAyuAIAA/VOAgAAjy4CAAHXPgIAAF0PggABhOQCAAB/2sA== Date: Wed, 30 Jun 2021 01:07:02 +0000 Message-ID: References: <20210610014259.1151-1-kuqin12@gmail.com> <93fd191e-e62f-f02e-11d0-403173fcdf42@posteo.de> <817ab349-b7a2-528b-9b78-aa72cefcd25a@posteo.de> <40bffd17-28a6-d280-02b1-628f1b2daa09@posteo.de> <1525bdb4-abfa-d89a-d7d9-7f8745640bff@gmail.com> <3f3ce50a-4ff0-d80f-c635-528751a0ab78@posteo.de> <0c931dbd-8a8d-fd61-b4ad-bd5ff16812d9@gmail.com> <127b368d-ba8e-6cb1-c8d4-179034be9d11@redhat.com> <5dd6ce4c-a3ba-8d56-dce9-0e699c919c5b@posteo.de> <09dd9917-a262-39d6-5611-e668cca3e168@posteo.de> <71554541-e28d-3d50-7ea9-03a0386fca30@gmail.com> In-Reply-To: <71554541-e28d-3d50-7ea9-03a0386fca30@gmail.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [24.19.191.44] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: da078d8d-b41d-4b35-db39-08d93b635f27 x-ms-traffictypediagnostic: MW3PR11MB4617: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2958; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: tnwC991aZr8J8K/MgI0yX0OhIZoZr8g7sTWMVAH7086JV8v5OE8l7i97IBxUZiFisStqbJ3oNFlAA59+QCZ/5jK8WlMERsZOE/+7tag0SSb7gsIH5930nqlTEaJWxhvOUU/TdvZZLizMFfnX5xrSWoOHwFIHOV0NkhXabvoLPdHbJkUzXXMdN2/4HyUliVtXgvEBe6gZswe0b/R2Kdrn6d7Vc/3gE9YJXkFM/ZWWMum9PxP3/XjlKzTgjcYdzXUedaTgHHT8BEBO1UZPgZW+vUKq+H4hQAkPGrJrI9mpP+k1MUQgmD/aDR0kXpG2DFadxzEwmrBUSrqwQSFzzKQ+jadTMa/lKjuHhkP4XyjhM7Y/0e6pUL+szok9KEAo1KK0mdXHenYETMcBO7+/7+Lo6s1FgGfJecDZR6BPNLVdAJp/gGgmGx1CSC9+xX48B/KunK6b4YCQDbvO+IsktyzJ3Hhg+U2hZKCG5wFUHqnlXt8hc4OFhCuP0mGvdKl2hhv+rOU5WPsFHLe7X6b/ZXKiAR0qvK4l+xdNCX3GPA5eK+X2ssbO++nVdawBqHO1h6avfTphalSbPmW9jiFa25HNHA1XtoVCjVtBzFvjcjL2jfjcSj4x5ZoDJgOnJ9rBwKa5VFDQH3/qwuR6LpCVpUziaT1CbHzbR8BOkrIbduz8F5YL418FF4TXbeCpkQl1iryZ/CRxgMWLRAhPU6ieMaiKlUqicdhPtuJlRJBhPaWM5SVxvcOtiM0RNeMhWgJBZnsCJUYpAecnx00ClK+hcpDVO3Nt+gQdYBmxkwTjGka3HFSnOKnUfqG6zmlxbFEhdgF9 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:(39860400002)(346002)(396003)(376002)(136003)(366004)(478600001)(45080400002)(52536014)(8936002)(66556008)(66446008)(8676002)(4326008)(316002)(110136005)(64756008)(38100700002)(7696005)(66476007)(66946007)(76116006)(54906003)(122000001)(26005)(6506007)(66574015)(33656002)(86362001)(15650500001)(30864003)(5660300002)(186003)(71200400001)(53546011)(83380400001)(2906002)(55016002)(9686003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Wk12ZFNqQ0ZMYW9FenBsak0zeEFxeWM4ZG40L3B4VlMvTjlyUUVlaGhndU1X?= =?utf-8?B?OHBWU2gxUk9zWGRBTTBqSEdMNVpnSjZDalgraWV3dXJVVlM4OTFCUGdUcEZZ?= =?utf-8?B?Zk1ieUMxeEFRaGwrNjZQRkc5WUpMbUpyZWV4NlBhOC9MYml4N242S25Vcmli?= =?utf-8?B?SUxjQTBOWUliTWFWQjZkYTZpVnBHeTFOWXo1YmJYNXpqVFBselVGekg0bGVJ?= =?utf-8?B?R0EyWkRJWUpiWVV0VlJ1TlF6Umx1V0hRZUVlWDdyU0N1MVFVRm1NNzJRYnJE?= =?utf-8?B?UGI2MHVDZjhhTTluem9mck9Hd0hnd3h3MVRXcDhCYnlwSGtUMVZ5aXNiZndR?= =?utf-8?B?Mzc0NlNmbzRNdmRSbElFUEIyOGV3TmI4NFhTVDhNaEMrY1M5TlE2TEIvZ0Fw?= =?utf-8?B?cmdFYXVnNTFHRnVNVEFKMDVwSnZ1ZjRncHZMWjlWRCtKdFA3blFTRllzaW1B?= =?utf-8?B?eHZqUGFZNVlCRmVIbE5kTG9jb08vaVVsbWNjcDRqNHJwVXBMaFhDOXRPNUlQ?= =?utf-8?B?YVhrRi9qNDd3L1VMZDF6b0RDdHFUWmpOT0M0b0kzWVhaWHczVE9PSmkrOHdo?= =?utf-8?B?ZlZDeWJSbnlCNHRUUHpJMyswSlo3SHVoTnBCTERHSTJnSyswWnc2bzZwc1Rm?= =?utf-8?B?S1RLc3pGWWhkcWJlUHRVNVlmTXlrYS9SZFZEYStIRmFoRnpMVTNXWDRHS25S?= =?utf-8?B?a1FtWnIrOC81ajE4ZzB0ZXI5YTA5TktYVGo3YVVGbjlYb3FNN1RYWVVtTXlU?= =?utf-8?B?TXZXUmEwK2JEVU0wMFU3Qm8yeklueVRhLzF6dlFsMVI3bkZhNUFyVVVsR1BX?= =?utf-8?B?TGVHK011VUpoL2dKRjBRYU9TREkxenBxSlRnR3U4ck9nZXNLSDRpR01SV3JK?= =?utf-8?B?a0FaZHpSUy9qUXhKbnkrUWRydGZmN0lVNDdVUC9xVGMrTGlmTnEvMnV0QTlI?= =?utf-8?B?clhvQ1c5eDFyd3dvS3dSd0lrRTZmMUM4b3pmZ1BqL0lLT2laRURLM0RMczZT?= =?utf-8?B?b2hYNThjVHl5ekxGcjJ3Y2hHaitadzcwa1p5aVNIdnU3OFJQR1UxNlA1K0pM?= =?utf-8?B?ZE52VTJBL1Y2L1Jjc1VSck9WS1VDOEZEWURzM051VEh1R2hVOHNrRml1Qk1y?= =?utf-8?B?YjZHQUJGT2o2dXB0TmE3SHpkSSs4R2kwSTNFRnVqazlxLzlaUzZzUjZwUmFC?= =?utf-8?B?aGRMRmxRN1psbkpBbjdaeVRDN1RURVZNc0xYT3NyVzAvdHRGRVlLNkJlKzJJ?= =?utf-8?B?dWNvWHR6ZllpUTM2VkQ3bHJkKzM2ZDdvUFJkbzRCYmdMUUhENW9PaG1YNnhH?= =?utf-8?B?RldLUW5YVmJSdXp6UlpUMWdwdmltYUFtbDBIRGY1dDN1K0pvYkpGY2Q0Qnlq?= =?utf-8?B?dFpLRm9qdVF2OUUyMFJsSWV5T2ZPRWNXVVJxWmU3VlZ0ZkJPK0QvMXV6anha?= =?utf-8?B?UUZDc2dXdjNuSHZLWXQ2MEJRQmZLMWQvVk1SZ2JlTHFaQnVueGpUWUgzMy9X?= =?utf-8?B?ek5DSHlGd1pyRVM0RVZoMm01Vlo2dzVpb0wvenZjU1pLTTJwWnpqMlAxWEdQ?= =?utf-8?B?dSttRENNclN1eHAzMlduMXU5b2o4WCtjRmxSa0p5QjBaanhLL2pKaFlwK1JN?= =?utf-8?B?Q1FQMzNaQnp4WHpKbnFrQ1dsQktlWEZJQzJKc3hBd3FiRmQ0RHFNOEo2dWNy?= =?utf-8?B?TDVFRUZrRlBzT0NEZXorUW1QU3FLWlRIN1NNVXUzZk1laE8vYWhKeVprNmx4?= =?utf-8?Q?P56SCaXT2B8Sc1zNHR7XghPTgmgI9/DJ9p+jDVL?= 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: da078d8d-b41d-4b35-db39-08d93b635f27 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jun 2021 01:07:03.0051 (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: wL4KbYuxmugLL2S+ln9ONIdO/9Z89EapI31Qpvgo/+eh5N+NyYoWCamzh8yIvNOq0thas+0q4abqR+dAzyrwhaacFgFDnjAdv1QQ5bHjfQg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4617 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 SWYgaXQgYnJlYWtzIGluIHRoZSBmdXR1cmUsIHRoZW4gdGhhdCB3b3VsZCBiZSBkdWUgdG8gYSBu ZXcgY29tcGlsZXIgdGhhdA0Kb3IgY2hhbmdlcyB0byB0aGUgY29uZmlndXJhdGlvbiBvZiBhbiBl eGlzdGluZyBjb21waWxlciB0aGF0IGJyZWFrIGNvbXBhdGliaWxpdHkNCndpdGggVUVGSSBBQkku ICBUaGUgY29tcGlsZXIgaXNzdWUgbXVzdCBiZSByZXNvbHZlZCBiZWZvcmUgdGhlIG5ldyBjb21w aWxlcg0Kb3IgY2hhbmdlIHRvIGV4aXN0aW5nIGNvbXBpbGVyIGFyZSBhY2NlcHRlZC4NCg0KTWlr ZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEt1biBRaW4gPGt1cWlu MTJAZ21haWwuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBKdW5lIDI5LCAyMDIxIDQ6MTEgUE0NCj4g VG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IGRldmVs QGVkazIuZ3JvdXBzLmlvOyBicmV0LmJhcmtlbGV3QG1pY3Jvc29mdC5jb207IE1hcnZpbiBIw6R1 c2VyDQo+IDxtaGFldXNlckBwb3N0ZW8uZGU+OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQu Y29tPg0KPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBXdSwgSGFv IEEgPGhhby5hLnd1QGludGVsLmNvbT47IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+ OyBOaSwgUmF5DQo+IDxyYXkubmlAaW50ZWwuY29tPjsgTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5 b3NvZnQuY29tLmNuPjsgTGl1LCBaaGlndWFuZyA8emhpZ3VhbmcubGl1QGludGVsLmNvbT47IEFu ZHJldyBGaXNoDQo+IDxhZmlzaEBhcHBsZS5jb20+OyBMaW5kaG9sbSwgTGVpZiA8bGVpZkBudXZp YWluYy5jb20+OyBNaWNoYWVsIEt1YmFja2kgPE1pY2hhZWwuS3ViYWNraUBtaWNyb3NvZnQuY29t Pg0KPiBTdWJqZWN0OiBSZTogW0VYVEVSTkFMXSBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MSAw LzVdIEVESzIgQ29kZSBGaXJzdDogUEkgU3BlY2lmaWNhdGlvbjogVXBkYXRlDQo+IEVGSV9NTV9D T01NVU5JQ0FURV9IRUFERVINCj4gDQo+IEhpIE1pa2UsDQo+IA0KPiBUaGFua3MgZm9yIHRoZSBu b3RlLiBJIHdpbGwgYWRkIHRoaXMgY2hlY2sgZm9yIHNhbml0eSBjaGVjayBpbiB2LW5leHQsDQo+ IGFzc3VtaW5nIHRoaXMgd2lsbCBub3QgZmFpbCBmb3IgY3VycmVudGx5IHN1cHBvcnRlZCBjb21w aWxlcnMuDQo+IA0KPiBKdXN0IGN1cmlvdXMsIHdoYXQgZG8gd2Ugbm9ybWFsbHkgZG8gaWYgdGhp cyB0eXBlIG9mIGNoZWNrIHN0YXJ0IHRvDQo+IGJyZWFrIGluIHRoZSBmdXR1cmU/DQo+IA0KPiBU aGFua3MsDQo+IEt1bg0KPiANCj4gT24gMDYvMjkvMjAyMSAxMDoyOCwgS2lubmV5LCBNaWNoYWVs IEQgd3JvdGU6DQo+ID4gR29vZCBpZGVhIG9uIHVzZSBvZiBTVEFUSUNfQVNTRVJUKCkuDQo+ID4N Cj4gPiBGb3Igc3RydWN0dXJlcyB0aGF0IHVzZSBmbGV4aWJsZSBhcnJheSBtZW1iZXJzLCB3ZSBj YW4gYWRkIGENCj4gPiBTVEFUSUNfQVNTRVJUKCkgZm9yIHRoZSBzaXplb2YoKSBhbmQgT0ZGU0VU X09GKCkgcmV0dXJuaW5nIHRoZSBzYW1lIHJlc3VsdC4NCj4gPg0KPiA+IEZvciBleGFtcGxlOg0K PiA+DQo+ID4gU1RBVElDX0FTU0VSVCAoc2l6ZW9mIChFRklfTU1fQ09NTVVOSUNBVEVfSEVBREVS KSA9PSBPRkZTRVRfT0YNCj4gPiAoRUZJX01NX0NPTU1VTklDQVRFX0hFQURFUiwgRGF0YSkpOw0K PiA+DQo+ID4gTWlrZQ0KPiA+DQo+ID4gKkZyb206KmRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZl bEBlZGsyLmdyb3Vwcy5pbz4gKk9uIEJlaGFsZiBPZiAqQnJldA0KPiA+IEJhcmtlbGV3IHZpYSBn cm91cHMuaW8NCj4gPiAqU2VudDoqIFR1ZXNkYXksIEp1bmUgMjksIDIwMjEgOTowMCBBTQ0KPiA+ ICpUbzoqIE1hcnZpbiBIw6R1c2VyIDxtaGFldXNlckBwb3N0ZW8uZGU+OyBMYXN6bG8gRXJzZWsN Cj4gPiA8bGVyc2VrQHJlZGhhdC5jb20+OyBLdW4gUWluIDxrdXFpbjEyQGdtYWlsLmNvbT47IEtp bm5leSwgTWljaGFlbCBEDQo+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgZGV2ZWxA ZWRrMi5ncm91cHMuaW8NCj4gPiAqQ2M6KiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVs LmNvbT47IFd1LCBIYW8gQQ0KPiA+IDxoYW8uYS53dUBpbnRlbC5jb20+OyBEb25nLCBFcmljIDxl cmljLmRvbmdAaW50ZWwuY29tPjsgTmksIFJheQ0KPiA+IDxyYXkubmlAaW50ZWwuY29tPjsgTGlt aW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgTGl1LCBaaGlndWFuZw0KPiA+IDx6 aGlndWFuZy5saXVAaW50ZWwuY29tPjsgQW5kcmV3IEZpc2ggPGFmaXNoQGFwcGxlLmNvbT47IExp bmRob2xtLCBMZWlmDQo+ID4gPGxlaWZAbnV2aWFpbmMuY29tPjsgTWljaGFlbCBLdWJhY2tpIDxN aWNoYWVsLkt1YmFja2lAbWljcm9zb2Z0LmNvbT4NCj4gPiAqU3ViamVjdDoqIFJlOiBbRVhURVJO QUxdIFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDAvNV0gRURLMiBDb2RlDQo+ID4gRmlyc3Q6 IFBJIFNwZWNpZmljYXRpb246IFVwZGF0ZSBFRklfTU1fQ09NTVVOSUNBVEVfSEVBREVSDQo+ID4N Cj4gPiBHb29kIG5vdGUuIFRoYW5rcyENCj4gPg0KPiA+IC0gQnJldA0KPiA+DQo+ID4gKkZyb206 ICpNYXJ2aW4gSMOkdXNlciA8bWFpbHRvOm1oYWV1c2VyQHBvc3Rlby5kZT4NCj4gPiAqU2VudDog KlR1ZXNkYXksIEp1bmUgMjksIDIwMjEgMTo1OCBBTQ0KPiA+ICpUbzogKkJyZXQgQmFya2VsZXcg PG1haWx0bzpCcmV0LkJhcmtlbGV3QG1pY3Jvc29mdC5jb20+OyBMYXN6bG8gRXJzZWsNCj4gPiA8 bWFpbHRvOmxlcnNla0ByZWRoYXQuY29tPjsgS3VuIFFpbiA8bWFpbHRvOmt1cWluMTJAZ21haWwu Y29tPjsgS2lubmV5LA0KPiA+IE1pY2hhZWwgRCA8bWFpbHRvOm1pY2hhZWwuZC5raW5uZXlAaW50 ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA8bWFpbHRvOmRldmVsQGVkazIuZ3Jv dXBzLmlvPg0KPiA+ICpDYzogKldhbmcsIEppYW4gSiA8bWFpbHRvOmppYW4uai53YW5nQGludGVs LmNvbT47IFd1LCBIYW8gQQ0KPiA+IDxtYWlsdG86aGFvLmEud3VAaW50ZWwuY29tPjsgRG9uZywg RXJpYyA8bWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5jb20+Ow0KPiA+IE5pLCBSYXkgPG1haWx0bzpy YXkubmlAaW50ZWwuY29tPjsgTGltaW5nIEdhbw0KPiA+IDxtYWlsdG86Z2FvbGltaW5nQGJ5b3Nv ZnQuY29tLmNuPjsgTGl1LCBaaGlndWFuZw0KPiA+IDxtYWlsdG86emhpZ3VhbmcubGl1QGludGVs LmNvbT47IEFuZHJldyBGaXNoIDxtYWlsdG86YWZpc2hAYXBwbGUuY29tPjsNCj4gPiBMaW5kaG9s bSwgTGVpZiA8bWFpbHRvOmxlaWZAbnV2aWFpbmMuY29tPjsgTWljaGFlbCBLdWJhY2tpDQo+ID4g PG1haWx0bzpNaWNoYWVsLkt1YmFja2lAbWljcm9zb2Z0LmNvbT4NCj4gPiAqU3ViamVjdDogKlJl OiBbRVhURVJOQUxdIFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDAvNV0gRURLMiBDb2RlDQo+ ID4gRmlyc3Q6IFBJIFNwZWNpZmljYXRpb246IFVwZGF0ZSBFRklfTU1fQ09NTVVOSUNBVEVfSEVB REVSDQo+ID4NCj4gPiBHZW5lcmFsbHkgeWVzLCBidXQgZ2xhZGx5IG5vdCBmb3IgRURLIElJLiBE ZWZhdWx0IEdOVSBBQkkgdXNlcyAzMi1iaXQNCj4gPiBhbGlnbm1lbnQgZm9yIDY0LWJpdCBpbnRl Z2VycyBvbiBJQTMyICh3aGljaCBsZWQgdG8gYSAobm9uLWNyaXRpY2FsKQ0KPiA+IG1pc3Rha2Ug aW4gb3VyIFBFIHBhcGVyIDooICkgZm9yIGV4YW1wbGUsIGJ1dCBVRUZJIC8gRURLIElJIChzZWVt IHRvKQ0KPiA+IHN1Y2Nlc3NmdWxseSBkaWN0YXRlIG5hdHVyYWwgYWxpZ25tZW50IGNvbnNpc3Rl bnRseS4gUG9zc2libHkgd2UgY291bGQNCj4gPiBpbnRyb2R1Y2Ugc29tZSBTVEFUSUNfQVNTRVJU cyBhcm91bmQgaW1wb3J0YW50IGNhc2VzIChlLmcuIFVJTlQ2NCBvbg0KPiA+IDMyLWJpdCBwbGF0 Zm9ybXMpIHRvIGVuc3VyZSBjb21waWxlcnMga2VlcCBpdCB0aGF0IHdheSwgb25jZSB0aGUgQUxJ R05PRg0KPiA+IG1hY3JvIGlzIGludHJvZHVjZWQuDQo+ID4NCj4gPiBCZXN0IHJlZ2FyZHMsDQo+ ID4gTWFydmluDQo+ID4NCj4gPiBPbiAyOS4wNi4yMSAwODo0OSwgQnJldCBCYXJrZWxldyB3cm90 ZToNCj4gPiAgPg0KPiA+ICA+IFRoZSBmYWN0IHRoYXQgaXQgbWF5IHZhcnkgcGVyIEFCSSBzZWVt cyBsaWtlIGEgcHJldHR5IGJpZyBnb3RjaGEgaWYNCj4gPiAgPiB0aGUgU01NL01NIENvcmUgd2Fz IGNvbXBpbGVkIGF0IGEgZGlmZmVyZW50IHRpbWUgb3Igb24gYSBkaWZmZXJlbnQNCj4gPiAgPiBz eXN0ZW0gdGhhbiB0aGUgbW9kdWxlIHRoYXTigJlzIGludm9raW5nIHRoZSBjb21tdW5pY2F0aW9u Lg0KPiA+ICA+DQo+ID4gID4gLSBCcmV0DQo+ID4gID4NCj4gPiAgPiAqRnJvbTogKk1hcnZpbiBI w6R1c2VyIDxtYWlsdG86bWhhZXVzZXJAcG9zdGVvLmRlDQo+ID4gPG1haWx0bzptaGFldXNlckBw b3N0ZW8uZGU+Pg0KPiA+ICA+ICpTZW50OiAqTW9uZGF5LCBKdW5lIDI4LCAyMDIxIDg6NDMgQU0N Cj4gPiAgPiAqVG86ICpMYXN6bG8gRXJzZWsgPG1haWx0bzpsZXJzZWtAcmVkaGF0LmNvbQ0KPiA+ IDxtYWlsdG86bGVyc2VrQHJlZGhhdC5jb20+PjsgS3VuIFFpbg0KPiA+ICA+IDxtYWlsdG86a3Vx aW4xMkBnbWFpbC5jb20gPG1haWx0bzprdXFpbjEyQGdtYWlsLmNvbT4+OyBLaW5uZXksIE1pY2hh ZWwgRA0KPiA+ICA+IDxtYWlsdG86bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20NCj4gPiA8bWFp bHRvOm1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPj47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ ID4gPG1haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbz4NCj4gPiAgPiA8bWFpbHRvOmRldmVsQGVk azIuZ3JvdXBzLmlvIDxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8+Pg0KPiA+ICA+ICpDYzog KldhbmcsIEppYW4gSiA8bWFpbHRvOmppYW4uai53YW5nQGludGVsLmNvbQ0KPiA+IDxtYWlsdG86 amlhbi5qLndhbmdAaW50ZWwuY29tPj47IFd1LCBIYW8gQQ0KPiA+ICA+IDxtYWlsdG86aGFvLmEu d3VAaW50ZWwuY29tIDxtYWlsdG86aGFvLmEud3VAaW50ZWwuY29tPj47IERvbmcsIEVyaWMNCj4g PiA8bWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5jb20gPG1haWx0bzplcmljLmRvbmdAaW50ZWwuY29t Pj47DQo+ID4gID4gTmksIFJheSA8bWFpbHRvOnJheS5uaUBpbnRlbC5jb20gPG1haWx0bzpyYXku bmlAaW50ZWwuY29tPj47IExpbWluZyBHYW8NCj4gPiAgPiA8bWFpbHRvOmdhb2xpbWluZ0BieW9z b2Z0LmNvbS5jbiA8bWFpbHRvOmdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4+Ow0KPiA+IExpdSwg WmhpZ3VhbmcNCj4gPiAgPiA8bWFpbHRvOnpoaWd1YW5nLmxpdUBpbnRlbC5jb20gPG1haWx0bzp6 aGlndWFuZy5saXVAaW50ZWwuY29tPj47DQo+ID4gQW5kcmV3IEZpc2ggPG1haWx0bzphZmlzaEBh cHBsZS5jb20gPG1haWx0bzphZmlzaEBhcHBsZS5jb20+PjsNCj4gPiAgPiBMaW5kaG9sbSwgTGVp ZiA8bWFpbHRvOmxlaWZAbnV2aWFpbmMuY29tIDxtYWlsdG86bGVpZkBudXZpYWluYy5jb20+PjsN Cj4gPiBCcmV0IEJhcmtlbGV3DQo+ID4gID4gPG1haWx0bzpCcmV0LkJhcmtlbGV3QG1pY3Jvc29m dC5jb20NCj4gPiA8bWFpbHRvOkJyZXQuQmFya2VsZXdAbWljcm9zb2Z0LmNvbT4+OyBNaWNoYWVs IEt1YmFja2kNCj4gPiAgPiA8bWFpbHRvOk1pY2hhZWwuS3ViYWNraUBtaWNyb3NvZnQuY29tDQo+ ID4gPG1haWx0bzpNaWNoYWVsLkt1YmFja2lAbWljcm9zb2Z0LmNvbT4+DQo+ID4gID4gKlN1Ympl Y3Q6ICpbRVhURVJOQUxdIFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDAvNV0gRURLMiBDb2Rl IEZpcnN0Og0KPiA+ICA+IFBJIFNwZWNpZmljYXRpb246IFVwZGF0ZSBFRklfTU1fQ09NTVVOSUNB VEVfSEVBREVSDQo+ID4gID4NCj4gPiAgPiBPbiAyOC4wNi4yMSAxNjo1NywgTGFzemxvIEVyc2Vr IHdyb3RlOg0KPiA+ICA+ID4gT24gMDYvMjUvMjEgMjA6NDcsIEt1biBRaW4gd3JvdGU6DQo+ID4g ID4gPj4gSGkgTWlrZSwNCj4gPiAgPiA+Pg0KPiA+ICA+ID4+IFRoYW5rcyBmb3IgdGhlIGluZm9y bWF0aW9uLiBJIGNhbiB1cGRhdGUgdGhlIHBhdGNoIGFuZCBwcm9wb3NlZCBzcGVjDQo+ID4gID4g Pj4gY2hhbmdlIHRvIHVzZSBmbGV4aWJsZSBhcnJheSBpbiB2LW5leHQgaWYgdGhlcmUgaXMgbm8g b3RoZXIgY29uY2VybnMuDQo+ID4gID4gPj4NCj4gPiAgPiA+PiBBZnRlciBzd2l0Y2hpbmcgdG8g ZmxleGlibGUgYXJyYXksIE9GRlNFVF9PRiAoRGF0YSkgc2hvdWxkIGxlYWQgdG8gdGhlDQo+ID4g ID4gPj4gc2FtZSByZXN1bHQgYXMgc2l6ZW9mLg0KPiA+ICA+ID4gVGhpcyBtYXkgYmUgdHJ1ZSBv biBzcGVjaWZpYyBjb21waWxlcnMsIGJ1dCBpdCBpcyAqbm90KiBndWFyYW50ZWVkIGJ5DQo+ID4g ID4gPiB0aGUgQyBsYW5ndWFnZSBzdGFuZGFyZC4NCj4gPiAgPg0KPiA+ICA+IFNvcnJ5LCBmb3Ig Y29tcGxldGVuZXNzIHNha2UuLi4gOikNCj4gPiAgPg0KPiA+ICA+IEkgZG9uJ3QgdGhpbmsgaXQg cmVhbGx5IGRlcGVuZHMgb24gdGhlIGNvbXBpbGVyIChidXQgY2FuIHZhcnkgcGVyIEFCSSksDQo+ ID4gID4gYnV0IGl0J3MgYSBjb25jZXB0dWFsIGlzc3VlIHdpdGggYWxpZ25tZW50IHJlcXVpcmVt ZW50cy4gQXNzdW1pbmcNCj4gPiAgPiBuYXR1cmFsIGFsaWdubWVudCBhbmQgdGhlIHVzdWFsIHN0 dWZmLCBmb3IgInN0cnVjdCBzIHsgdWludDY0X3QgYTsNCj4gPiAgPiB1aW50MzJfdCBiOyB1aW50 OF90IGNbXTsgfSIgdGhlIGFsaWdubWVudCByZXF1aXJlbWVudCBpcyA4IEJ5dGVzLCB3aGVyZQ0K PiA+ICA+IHRoZXJlIGFyZSA0IEJ5dGVzIG9mIHBhZGRpbmcgYWZ0ZXIgImIiIChhcyAiYyIgbWF5 IGFzIHdlbGwgYmUgZW1wdHkpLg0KPiA+ICA+ICJjIiBob3dldmVyIGlzIGd1YXJhbnRlZWQgdG8g c3RhcnQgYWZ0ZXIgYiBpbiB0aGUgc2FtZSBmYXNoaW9uIGFzIGlmIGl0DQo+ID4gID4gd2FzIGRl Y2xhcmVkIHdpdGggdGhlIG1heGltdW0gYW1vdW50IG9mIGVsZW1lbnRzIHRoYXQgZml0IHRoZSBt ZW1vcnkuIFNvDQo+ID4gID4gaWYgd2UgdGFrZSA0IGVsZW1lbnRzIGZvciAiYyIsIGFuZCBub3Rl IHRoYXQgImMiIGhhcyBhbiBhbGlnbm1lbnQNCj4gPiAgPiByZXF1aXJlbWVudCBvZiAxIEJ5dGUs IGNbMCAuLiAzXSB3aWxsIGFsaWFzIHRoZSBwYWRkaW5nIGFmdGVyICJiIi4gRm9yDQo+ID4gID4g InNpemVvZiIgdGhpcyBtZWFucyB0aGF0IHRoZSBwYWRkaW5nIGlzIGluY2x1ZGVkLCB3aGVyZWFz IGZvciAib2Zmc2V0b2YiDQo+ID4gID4gaXQgaXMgbm90LCB5aWVsZGluZyAic2l6ZW9mKHN0cnVj dCBzKSA9PSBvZmZzZXRvZihzdHJ1Y3QgcywgYykgKyA0Ii4NCj4gPiAgPiBUaGF0IGlzIHdoYXQg SSBtZWFudCBieSAid2FzdGVkIHNwYWNlIiBlYXJsaWVyLCBidXQgdGhpcyBjb3VsZCBwb3NzaWJs eQ0KPiA+ICA+IGJlIG1hZGUgbmljZXIgd2l0aCBtYWNyb3MgYXMgbmVjZXNzYXJ5Lg0KPiA+ICA+ DQo+ID4gID4gQXMgZm9yIHRoaXMgc3BlY2lmaWMgc3RydWN0LCB0aGUgdmFsdWVzIHNob3VsZCBi ZSBpZGVudGljYWwgYXMgaXQgaXMNCj4gPiAgPiBwYWRkZWQuDQo+ID4gID4NCj4gPiAgPiBCZXN0 IHJlZ2FyZHMsDQo+ID4gID4gTWFydmluDQo+ID4gID4NCj4gPiAgPiA+DQo+ID4gID4gPiBRdW90 aW5nIEM5OSA2LjcuMi4xICJTdHJ1Y3R1cmUgYW5kIHVuaW9uIHNwZWNpZmllcnMiLCBwYXJhZ3Jh cGggMTY6DQo+ID4gID4gPg0KPiA+ICA+ID4gIkluIG1vc3Qgc2l0dWF0aW9ucywgdGhlIGZsZXhp YmxlIGFycmF5IG1lbWJlciBpcyBpZ25vcmVkLiBJbg0KPiA+ICA+ID4gcGFydGljdWxhciwgdGhl IHNpemUgb2YgdGhlIHN0cnVjdHVyZSBpcyBhcyBpZiB0aGUgZmxleGlibGUgYXJyYXkNCj4gPiBt ZW1iZXINCj4gPiAgPiA+IHdlcmUgb21pdHRlZCBleGNlcHQgdGhhdCBpdCBtYXkgaGF2ZSBtb3Jl IHRyYWlsaW5nIHBhZGRpbmcgdGhhbiB0aGUNCj4gPiAgPiA+IG9taXNzaW9uIHdvdWxkIGltcGx5 LiINCj4gPiAgPiA+DQo+ID4gID4gPiBRdW90aW5nIGZvb3Rub3RlcyAxNyBhbmQgMTksDQo+ID4g ID4gPg0KPiA+ICA+ID4gKDE3KcKgIFsuLi5dDQo+ID4gID4gPsKgwqDCoMKgwqDCoMKgIHN0cnVj dCBzIHsgaW50IG47IGRvdWJsZSBkW107IH07DQo+ID4gID4gPsKgwqDCoMKgwqDCoMKgIFsuLi5d DQo+ID4gID4gPg0KPiA+ICA+ID4gKDE5KcKgIFsuLi5dDQo+ID4gID4gPsKgwqDCoMKgwqDCoMKg IHRoZSBleHByZXNzaW9uczoNCj4gPiAgPiA+wqDCoMKgwqDCoMKgwqAgWy4uLl0NCj4gPiAgPiA+ wqDCoMKgwqDCoMKgwqAgc2l6ZW9mIChzdHJ1Y3QgcykgPj0gb2Zmc2V0b2Yoc3RydWN0IHMsIGQp DQo+ID4gID4gPg0KPiA+ICA+ID7CoMKgwqDCoMKgwqDCoCBhcmUgYWx3YXlzIGVxdWFsIHRvIDEu DQo+ID4gID4gPg0KPiA+ICA+ID4gVGhhbmtzDQo+ID4gID4gPiBMYXN6bG8NCj4gPiAgPiA+DQo+ ID4gID4gPg0KPiA+ICA+ID4NCj4gPiAgPiA+PiBXaGlsZSBzaXplb2Ygd291bGQgYmUgYSBwcmVm ZXJyZWQgd2F5IHRvIG1vdmUNCj4gPiAgPiA+PiBmb3J3YXJkLg0KPiA+ICA+ID4+DQo+ID4gID4g Pj4gUmVnYXJkcywNCj4gPiAgPiA+PiBLdW4NCj4gPiAgPiA+Pg0KPiA+ICA+ID4+IE9uIDA2LzI0 LzIwMjEgMDg6MjUsIEtpbm5leSwgTWljaGFlbCBEIHdyb3RlOg0KPiA+ICA+ID4+PiBIZWxsbywN Cj4gPiAgPiA+Pj4NCj4gPiAgPiA+Pj4gRmxleGlibGUgYXJyYXkgbWVtYmVycyBhcmUgc3VwcG9y dGVkIGFuZCBzaG91bGQgYmUgdXNlZC7CoCBUaGUgb2xkDQo+ID4gID4gc3R5bGUNCj4gPiAgPiA+ Pj4gb2YgYWRkaW5nIGFuIGFycmF5IG9mIHNpemUgWzFdIGF0IHRoZSBlbmQgb2YgYSBzdHJ1Y3R1 cmUgd2FzIHVzZWQNCj4gPiBhdCBhDQo+ID4gID4gPj4+IHRpbWUNCj4gPiAgPiA+Pj4gZmxleGli bGUgYXJyYXkgbWVtYmVycyB3ZXJlIG5vdCBzdXBwb3J0ZWQgYnkgYWxsIGNvbXBpbGVycyAobGF0 ZQ0KPiA+ICA+IDE5OTAncykuDQo+ID4gID4gPj4+IFRoZSB3b3JrYXJvdW5kcyB1c2VkIHRvIGhh bmRsZSB0aGUgYXJyYXkgb2Ygc2l6ZSBbMV0gYXJlIHZlcnkNCj4gPiAgPiA+Pj4gY29uZnVzaW5n IHdoZW4NCj4gPiAgPiA+Pj4gcmVhZGluZyB0aGUgQ8KgIGNvZGUgYW5kIHRoZSBmYWN0IHRoYXQg c2l6ZW9mKCkgZG9lcyBub3QgcHJvZHVjZSB0aGUNCj4gPiAgPiA+Pj4gZXhwZWN0ZWQNCj4gPiAg PiA+Pj4gcmVzdWx0IG1ha2UgaXQgZXZlbiB3b3JzZS4NCj4gPiAgPiA+Pj4NCj4gPiAgPiA+Pj4g SWYgd2UgdXNlIGZsZXhpYmxlIGFycmF5IG1lbWJlcnMgaW4gdGhpcyBwcm9wb3NlZCBjaGFuZ2Ug dGhlbg0KPiA+IHRoZXJlIGlzDQo+ID4gID4gPj4+IG5vIG5lZWQgdG8gdXNlIE9GRlNFVF9PRigp LsKgIENvcnJlY3Q/DQo+ID4gID4gPj4+DQo+ID4gID4gPj4+IE1pa2UNCj4gPiAgPiA+Pj4NCj4g PiAgPiA+Pj4NCj4gPiAgPiA+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gID4g Pj4+PiBGcm9tOiBNYXJ2aW4gSMOkdXNlciA8bWhhZXVzZXJAcG9zdGVvLmRlIDxtYWlsdG86bWhh ZXVzZXJAcG9zdGVvLmRlPj4NCj4gPiAgPiA+Pj4+IFNlbnQ6IFRodXJzZGF5LCBKdW5lIDI0LCAy MDIxIDE6MDAgQU0NCj4gPiAgPiA+Pj4+IFRvOiBLdW4gUWluIDxrdXFpbjEyQGdtYWlsLmNvbSA8 bWFpbHRvOmt1cWluMTJAZ21haWwuY29tPj47DQo+ID4gTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVk aGF0LmNvbSA8bWFpbHRvOmxlcnNla0ByZWRoYXQuY29tPj47DQo+ID4gID4gPj4+PiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbyA8bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvPg0KPiA+ICA+ID4+Pj4g Q2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tDQo+ID4gPG1haWx0bzpqaWFu Lmoud2FuZ0BpbnRlbC5jb20+PjsgV3UsIEhhbyBBDQo+ID4gID4gPj4+PiA8aGFvLmEud3VAaW50 ZWwuY29tIDxtYWlsdG86aGFvLmEud3VAaW50ZWwuY29tPj47IERvbmcsIEVyaWMNCj4gPiA8ZXJp Yy5kb25nQGludGVsLmNvbSA8bWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5jb20+PjsgTmksIFJheQ0K PiA+ICA+ID4+Pj4gPHJheS5uaUBpbnRlbC5jb20gPG1haWx0bzpyYXkubmlAaW50ZWwuY29tPj47 IEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tIDxtYWls dG86bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+PjsNCj4gPiAgPiA+Pj4+IExpbWluZyBHYW8g PGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbg0KPiA+IDxtYWlsdG86Z2FvbGltaW5nQGJ5b3NvZnQu Y29tLmNuPj47IExpdSwgWmhpZ3VhbmcNCj4gPiAgPiA+Pj4+IDx6aGlndWFuZy5saXVAaW50ZWwu Y29tIDxtYWlsdG86emhpZ3VhbmcubGl1QGludGVsLmNvbT4+OyBBbmRyZXcNCj4gPiBGaXNoIDxh ZmlzaEBhcHBsZS5jb20gPG1haWx0bzphZmlzaEBhcHBsZS5jb20+PjsgTGVpZg0KPiA+ICA+ID4+ Pj4gTGluZGhvbG0gPGxlaWZAbnV2aWFpbmMuY29tIDxtYWlsdG86bGVpZkBudXZpYWluYy5jb20+ PjsgQnJldA0KPiA+IEJhcmtlbGV3DQo+ID4gID4gPj4+PiA8QnJldC5CYXJrZWxld0BtaWNyb3Nv ZnQuY29tDQo+ID4gPG1haWx0bzpCcmV0LkJhcmtlbGV3QG1pY3Jvc29mdC5jb20+PjsgbWljaGFl bC5rdWJhY2tpQG1pY3Jvc29mdC5jb20NCj4gPiA8bWFpbHRvOm1pY2hhZWwua3ViYWNraUBtaWNy b3NvZnQuY29tPg0KPiA+ICA+ID4+Pj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0gg djEgMC81XSBFREsyIENvZGUgRmlyc3Q6IFBJDQo+ID4gID4gPj4+PiBTcGVjaWZpY2F0aW9uOiBV cGRhdGUgRUZJX01NX0NPTU1VTklDQVRFX0hFQURFUg0KPiA+ICA+ID4+Pj4NCj4gPiAgPiA+Pj4+ IEhleSBLdW4sDQo+ID4gID4gPj4+Pg0KPiA+ICA+ID4+Pj4gV2h5IHdvdWxkIHlvdSByZWx5IG9u IHVuZGVmaW5lZCBiZWhhdmlvdXJzPyBUaGUgT0ZGU0VUX09GIG1hY3JvIGlzDQo+ID4gID4gPj4+ PiB3ZWxsLWRlZmluZWQgZm9yIEdDQyBhbmQgQ2xhbmcgYXMgaXQncyBpbXBsZW1lbnRlZCBieSBh bg0KPiA+ICA+IGludHJpbnNpYywgYW5kDQo+ID4gID4gPj4+PiB3aGlsZSB0aGUgZXhwcmVzc2lv biBmb3IgdGhlIE1TVkMgY29tcGlsZXIgaXMgdW5kZWZpbmVkIGJlaGF2aW91cg0KPiA+ICA+IGFz IHBlcg0KPiA+ICA+ID4+Pj4gdGhlIEMgc3RhbmRhcmQsIGl0IGlzIHdlbGwtZGVmaW5lZCBmb3Ig TVNWQyBkdWUgdG8gdGhlaXIgb3duDQo+ID4gID4gPj4+PiBpbXBsZW1lbnRhdGlvbiBiZWluZyBp ZGVudGljYWwuIEZyb20gbXkgc3RhbmRwb2ludCwgYWxsIHN1cHBvcnRlZA0KPiA+ICA+ID4+Pj4g Y29tcGlsZXJzIHdpbGwgeWllbGQgd2VsbC1kZWZpbmVkIGJlaGF2aW91ciBldmVuIHRoaXMgd2F5 Lg0KPiA+ICA+IE9GRlNFVF9PRiBvbg0KPiA+ICA+ID4+Pj4gZmxleGlibGUgYXJyYXlzIGlzIG5v dCBVQiBpbiBhbnkgY2FzZSB0byBteSBrbm93bGVkZ2UuDQo+ID4gID4gPj4+Pg0KPiA+ICA+ID4+ Pj4gSG93ZXZlciwgdGhlIHNhbWUgd2F5IGFzIHlvdXIgbmV3IHN1Z2dlc3Rpb24sIHlvdSBjYW4g cmVwbGFjZQ0KPiA+ICA+IE9GRlNFVF9PRg0KPiA+ICA+ID4+Pj4gd2l0aCBzaXplb2YuIFdoaWxl IHRoaXMgKmNhbiogbGVhZCB0byB3YXN0ZWQgc3BhY2Ugd2l0aCBjZXJ0YWluDQo+ID4gID4gPj4+ PiBzdHJ1Y3R1cmUgbGF5b3V0cyAoZS5nLiB3aGVuIHRoZSBmbGV4aWJsZSBhcnJheSBvdmVybGF5 cyBwYWRkaW5nDQo+ID4gID4gYnl0ZXMpLA0KPiA+ICA+ID4+Pj4gdGhpcyBpcyBub3QgdGhlIGNh c2UgaGVyZSwgYW5kIG90aGVyd2lzZSBqdXN0IGxvc2VzIHlvdSBhIGZldw0KPiA+ICA+IGJ5dGVz LiBJDQo+ID4gID4gPj4+PiB0aGluayB0aGlzIGNvbWVzIGRvd24gdG8gcHJlZmVyZW5jZS4NCj4g PiAgPiA+Pj4+DQo+ID4gID4gPj4+PiBUaGUgcGF0dGVybiB5b3UgbWVudGlvbmVkIGFyZ3VhYmx5 IGlzIGxlc3MgbmljZSBzeW50YXggd2hlbiB1c2VkDQo+ID4gID4gPj4+PiAoaW52b2x2ZXMgYWRk cmVzcyBjYWxjdWxhdGlvbiBhbmQgY2FzdGluZyksIGJ1dCB0aGUgYmlnZ2VzdA0KPiA+ICA+IHBy b2JsZW0gaGVyZQ0KPiA+ICA+ID4+Pj4gaXMgYWxpZ25tZW50IGNvbnN0cmFpbnRzLiBGb3IgcGFj a2VkIHN0cnVjdHVyZXMsIHlvdSBsb3NlIHRoZQ0KPiA+ICA+IGFiaWxpdHkgb2YNCj4gPiAgPiA+ Pj4+IGF1dG9tYXRpYyB1bmFsaWduZWQgYWNjZXNzZXMgKGlycmVsZXZhbnQgaGVyZSBiZWNhdXNl IHRoZQ0KPiA+ICA+IHN0cnVjdHVyZSBpcw0KPiA+ICA+ID4+Pj4gbWFudWFsbHkgcGFkZGVkIGFu eXdheSkuIEZvciBub24tcGFja2VkIHN0cnVjdHVyZXMsIHlvdSBzdGlsbA0KPiA+IG5lZWQgdG8N Cj4gPiAgPiA+Pj4+IGVuc3VyZSB0aGUgYWxpZ25tZW50IHJlcXVpcmVtZW50IG9mIHRoZSB0cmFp bGluZyBhcnJheSBkYXRhIGlzIG1ldA0KPiA+ICA+ID4+Pj4gbWFudWFsbHkuIFdpdGggZmxleGli bGUgYXJyYXkgbWVtYmVycywgdGhlIGNvbXBpbGVyIHRha2VzIGNhcmUgb2YNCj4gPiAgPiBib3Ro DQo+ID4gID4gPj4+PiBjYXNlcyBhdXRvbWF0aWNhbGx5Lg0KPiA+ICA+ID4+Pj4NCj4gPiAgPiA+ Pj4+IEJlc3QgcmVnYXJkcywNCj4gPiAgPiA+Pj4+IE1hcnZpbg0KPiA+ICA+ID4+Pj4NCj4gPiAg PiA+Pj4+IE9uIDI0LjA2LjIxIDAyOjI0LCBLdW4gUWluIHdyb3RlOg0KPiA+ICA+ID4+Pj4+IEhp IE1hcnZpbiwNCj4gPiAgPiA+Pj4+Pg0KPiA+ICA+ID4+Pj4+IEkgd291bGQgcHJlZmVyIG5vdCB0 byByZWx5IG9uIHVuZGVmaW5lZCBiZWhhdmlvcnMgZnJvbSBkaWZmZXJlbnQNCj4gPiAgPiA+Pj4+ PiBjb21waWxlcnMuIEluc3RlYWQgb2YgdXNpbmcgZmxleGlibGUgYXJyYXlzLCBpcyBpdCBiZXR0 ZXIgdG8gcmVtb3ZlDQo+ID4gID4gPj4+Pj4gdGhlIGBEYXRhYCBmaWVsZCwgcGFjayB0aGUgc3Ry dWN0dXJlIGFuZCBmb2xsb3cNCj4gPiAgPiA+Pj4+PiAiVkFSSUFCTEVfTE9DS19PTl9WQVJfU1RB VEVfUE9MSUNZIiBwYXR0ZXJuPw0KPiA+ICA+ID4+Pj4+DQo+ID4gID4gPj4+Pj4gSW4gdGhhdCBj YXNlLCBPRkZTRVRfT0Ygd2lsbCBiZSBmb3JjZWQgdG8gY2hhbmdlIHRvIHNpemVvZiwgYW5kDQo+ ID4gID4gPj4+Pj4gcmVhZC93cml0ZSB0byBgRGF0YWAgd2lsbCBmb2xsb3cgdGhlIHJhbmdlIGlu ZGljYXRlZCBieQ0KPiA+ICA+IE1lc3NhZ2VMZW5ndGguDQo+ID4gID4gPj4+Pj4gQnV0IHllcywg dGhhdCB3aWxsIGVuZm9yY2UgZGV2ZWxvcGVycyB0byB1cGRhdGUgdGhlaXIgcGxhdGZvcm0NCj4g PiBsZXZlbA0KPiA+ICA+ID4+Pj4+IGltcGxlbWVudGF0aW9ucyBhY2NvcmRpbmdseS4NCj4gPiAg PiA+Pj4+Pg0KPiA+ICA+ID4+Pj4+IFJlZ2FyZHMsDQo+ID4gID4gPj4+Pj4gS3VuDQo+ID4gID4g Pj4+Pj4NCj4gPiAgPiA+Pj4+PiBPbiAwNi8yMy8yMDIxIDA4OjI2LCBMYXN6bG8gRXJzZWsgd3Jv dGU6DQo+ID4gID4gPj4+Pj4+IE9uIDA2LzIzLzIxIDA4OjU0LCBNYXJ2aW4gSMOkdXNlciB3cm90 ZToNCj4gPiAgPiA+Pj4+Pj4+IE9uIDIyLjA2LjIxIDE3OjM0LCBMYXN6bG8gRXJzZWsgd3JvdGU6 DQo+ID4gID4gPj4+Pj4+Pj4gT24gMDYvMTgvMjEgMTE6MzcsIE1hcnZpbiBIw6R1c2VyIHdyb3Rl Og0KPiA+ICA+ID4+Pj4+Pj4+PiBPbiAxNi4wNi4yMSAyMjo1OCwgS3VuIFFpbiB3cm90ZToNCj4g PiAgPiA+Pj4+Pj4+Pj4+IE9uIDA2LzE2LzIwMjEgMDA6MDIsIE1hcnZpbiBIw6R1c2VyIHdyb3Rl Og0KPiA+ICA+ID4+Pj4+Pj4+Pj4+IDIpIElzIGl0IGZlYXNpYmxlIHlldCB3aXRoIHRoZSBjdXJy ZW50IHNldCBvZiBzdXBwb3J0ZWQNCj4gPiAgPiA+Pj4+Pj4+Pj4+PiBjb21waWxlcnMgdG8NCj4g PiAgPiA+Pj4+Pj4+Pj4+PiBzdXBwb3J0IGZsZXhpYmxlIGFycmF5cz8NCj4gPiAgPiA+Pj4+Pj4+ Pj4+IE15IGltcHJlc3Npb24gaXMgdGhhdCBmbGV4aWJsZSBhcnJheXMgYXJlIGFscmVhZHkNCj4g PiBzdXBwb3J0ZWQgKGFzDQo+ID4gID4gPj4+Pj4+Pj4+PiBzZWVuDQo+ID4gID4gPj4+Pj4+Pj4+ PiBpbg0KPiA+ICA+IFVuaXRUZXN0RnJhbWV3b3JrUGtnL1ByaXZhdGVJbmNsdWRlL1VuaXRUZXN0 RnJhbWV3b3JrVHlwZXMuaCkuDQo+ID4gID4gPj4+Pj4+Pj4+PiBQbGVhc2UgY29ycmVjdCBtZSBp ZiBJIGFtIHdyb25nLg0KPiA+ICA+ID4+Pj4+Pj4+Pj4NCj4gPiAgPiA+Pj4+Pj4+Pj4+IFdvdWxk IHlvdSBtaW5kIGxldHRpbmcgbWUga25vdyB3aHkgdGhpcyBpcyBhcHBsaWNhYmxlIGhlcmU/DQo+ ID4gID4gV2UgYXJlDQo+ID4gID4gPj4+Pj4+Pj4+PiB0cnlpbmcgdG8gc2VlayBpZGVhcyBvbiBo b3cgdG8gY2F0Y2ggZGV2ZWxvcGVyIG1pc3Rha2VzDQo+ID4gID4gY2F1c2VkIGJ5DQo+ID4gID4g Pj4+Pj4+Pj4+PiB0aGlzDQo+ID4gID4gPj4+Pj4+Pj4+PiBjaGFuZ2UuIFNvIGFueSBpbnB1dCBp cyBhcHByZWNpYXRlZC4NCj4gPiAgPiA+Pj4+Pj4+Pj4gSHVoLCBpbnRlcmVzdGluZy4gTGFzdCB0 aW1lIEkgdHJpZWQgSSB3YXMgdG9sZCBhYm91dA0KPiA+ICA+ID4+Pj4+Pj4+PiBpbmNvbXBhdGli aWxpdGllcw0KPiA+ICA+ID4+Pj4+Pj4+PiB3aXRoIE1TVkMsIGJ1dCBJIGtub3cgc29tZSBoYXZl IGJlZW4gZHJvcHBlZCBzaW5jZSB0aGVuDQo+ID4gID4gKDIwMDUgYW5kDQo+ID4gID4gPj4+Pj4+ Pj4+IDIwMDgNCj4gPiAgPiA+Pj4+Pj4+Pj4gaWYgSSByZWNhbGwgY29ycmVjdGx5PyksIHNvIHRo YXQnZCBiZSBncmVhdCB0byBhbGxvdyBnbG9iYWxseS4NCj4gPiAgPiA+Pj4+Pj4+PiBJIHRvbyBh bSBzdXJwcmlzZWQgdG8gc2VlDQo+ID4gID4gPj4+Pj4+Pj4NCj4gPiAgPiAiVW5pdFRlc3RGcmFt ZXdvcmtQa2cvUHJpdmF0ZUluY2x1ZGUvVW5pdFRlc3RGcmFtZXdvcmtUeXBlcy5oIi4gVGhlDQo+ ID4gID4gPj4+Pj4+Pj4gZmxleGlibGUgYXJyYXkgbWVtYmVyIGlzIGEgQzk5IGZlYXR1cmUsIGFu ZCBJIGRpZG4ndCBldmVuIGtub3cNCj4gPiAgPiA+Pj4+Pj4+PiB0aGF0IHdlDQo+ID4gID4gPj4+ Pj4+Pj4gZGlzYWxsb3dlZCBpdCBmb3IgdGhlIHNha2Ugb2YgcGFydGljdWxhciBWUyB0b29sY2hh aW5zIC0tIEkNCj4gPiAgPiA+Pj4+Pj4+PiB0aG91Z2h0IHdlDQo+ID4gID4gPj4+Pj4+Pj4gaGFk IGEgbW9yZSBnZW5lcmFsIHJlYXNvbiB0aGFuIGp1c3QgIm5vdCBzdXBwb3J0ZWQgYnkgVlMNCj4g PiAgPiB2ZXJzaW9ucyBYDQo+ID4gID4gPj4+Pj4+Pj4gYW5kIFkiLg0KPiA+ICA+ID4+Pj4+Pj4+ DQo+ID4gID4gPj4+Pj4+Pj4gVGhlIGJlaGF2aW9yIG9mIE9GRlNFVF9PRigpIHdvdWxkIGJlIGlu dGVyZXN0aW5nIC0tIHRoZQ0KPiA+ICA+IE9GRlNFVF9PRigpDQo+ID4gID4gPj4+Pj4+Pj4gbWFj cm8gZGVmaW5pdGlvbiBmb3Igbm9uLWdjYyAvIG5vbi1jbGFuZzoNCj4gPiAgPiA+Pj4+Pj4+Pg0K PiA+ICA+ID4+Pj4+Pj4+ICNkZWZpbmUgT0ZGU0VUX09GKFRZUEUsIEZpZWxkKSAoKFVJTlROKSAm KCgoVFlQRSAqKTApLT5GaWVsZCkpDQo+ID4gID4gPj4+Pj4+Pj4NCj4gPiAgPiA+Pj4+Pj4+PiBi b3JkZXJzIG9uIHVuZGVmaW5lZCBiZWhhdmlvciBhcyBmYXIgYXMgSSBjYW4gdGVsbCwgc28gaXRz DQo+ID4gID4gPj4+Pj4+Pj4gYmVoYXZpb3IgaXMNCj4gPiAgPiA+Pj4+Pj4+PiB0b3RhbGx5IHVw IHRvIHRoZSBjb21waWxlci4gSXQgd29ya3MgdGh1cyBmYXIgb2theSBvbiBWaXN1YWwNCj4gPiAg PiA+Pj4+Pj4+PiBTdHVkaW8sIGJ1dA0KPiA+ICA+ID4+Pj4+Pj4+IEkgY291bGRuJ3Qgc2F5IGlm IGl0IGV4dGVuZGVkIGNvcnJlY3RseSB0byBmbGV4aWJsZSBhcnJheQ0KPiA+ICA+IG1lbWJlcnMu DQo+ID4gID4gPj4+Pj4+PiBZZXMsIGl0J3MgVUIgYnkgdGhlIHN0YW5kYXJkLCBidXQgdGhpcyBp cyBhY3R1YWxseSBob3cgTVMNCj4gPiAgPiBpbXBsZW1lbnRzDQo+ID4gID4gPj4+Pj4+PiB0aGVt IChvciB1c2VkIHRvIGFueXdheT8pLiBJIGRvbid0IHNlZSB3aHkgaXQnZCBjYXVzZSBpc3N1ZXMg d2l0aA0KPiA+ICA+ID4+Pj4+Pj4gZmxleGlibGUgYXJyYXlzLCBhcyBvbmx5IHRoZSBzdGFydCBv ZiB0aGUgYXJyYXkgaXMgcmVsZXZhbnQNCj4gPiAgPiAod2hpY2ggaXMNCj4gPiAgPiA+Pj4+Pj4+ IGNvbnN0YW50IGZvciBhbGwgaW5zdGFuY2VzIG9mIHRoZSBzdHJ1Y3R1cmUgbm8gbWF0dGVyIHRo ZQ0KPiA+ICA+IGFtb3VudCBvZg0KPiA+ICA+ID4+Pj4+Pj4gZWxlbWVudHMgYWN0dWFsbHkgc3Rv cmVkKS4gQW55IHNwZWNpZmljIGNvbmNlcm4/IElmIHNvLCB0aGV5DQo+ID4gID4gY291bGQgYmUN Cj4gPiAgPiA+Pj4+Pj4+IGFkZHJlc3NlZCBieSBhcHByb3ByaWF0ZSBTVEFUSUNfQVNTRVJUcy4N Cj4gPiAgPiA+Pj4+Pj4gTm8gc3BlY2lmaWMgY29uY2VybjsgbXkgcG9pbnQgd2FzIHRoYXQgdHdv IGFzcGVjdHMgb2YgdGhlIHNhbWUNCj4gPiAgPiAiY2xhc3MiDQo+ID4gID4gPj4+Pj4+IG9mIHVu ZGVmaW5lZCBiZWhhdmlvciBkaWRuJ3QgbmVlZCB0byBiZSBjb25zaXN0ZW50IHdpdGggZWFjaA0K PiA+IG90aGVyLg0KPiA+ICA+ID4+Pj4+Pg0KPiA+ICA+ID4+Pj4+PiBUaGFua3MNCj4gPiAgPiA+ Pj4+Pj4gTGFzemxvDQo+ID4gID4gPj4+Pj4+DQo+ID4gID4NCj4gPg0KPiA+IA0KPiA+DQo=