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.web10.11674.1624987351099998207 for ; Tue, 29 Jun 2021 10:22:31 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=zcSbgSM6; 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="269327869" X-IronPort-AV: E=Sophos;i="5.83,309,1616482800"; d="scan'208";a="269327869" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jun 2021 10:22:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,309,1616482800"; d="scan'208";a="643796528" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by fmsmga005.fm.intel.com with ESMTP; 29 Jun 2021 10:22:29 -0700 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) 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; Tue, 29 Jun 2021 10:22:29 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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 10:22:29 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.100) by edgegateway.intel.com (134.134.137.102) 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 10:22:21 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g7ApbxrT5N5RFDrnW6iDyRpcMICLLY1noGYKCfnLZ8Rq6n5WiWJdbE3z515C0TC8CuthTNQr0r/TJ63jkNrKgoiZyLooIg88v3OAs9+hrPNUT/QtVM9XfkXKcd3yDaR7xBTbOQ4CeontmtHZOt+wotf+enf49vVjMjVm9+hEPTFENu5jsloIbJ5WVloELmfVvmLmWXBe1/TK/eqSyBT8Zmj715SvHOOl+DUn+IeIPKQx/CgPPk7MmDYNkgS9fEIfVvw3Nv7krpufsDs9Jjf3oNe5E94jKP8Yl/KSYjwHsHF5UmrMm1X+n3ytt148/gF9bcBteoxC83QhjeCvdirYtg== 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=yTyJhpixYK9rvj/OVjNRCYAs8iSsx0pSQwTFXK1DkbU=; b=mETMofeWLzyP51aH40JeFz4rqzOnUBE4kDx3XKFHu8+N0yDwPba155O1eiNiZ4m5lJr4I7SCWcnw3+F5/TghbtSkaIJtNh38WdOt2aYUvmXNf8IFbh0hIN98xLVzc1PxTdGjemmbJcuhYiNz9MRQ8WZ5kDQJSXhi+nggsXNhxnLFvICQs6NtXbpMWi9f/zkQRuWwjW9oY4nta/wF2R+f0AiH/ho7mV4bLs0UhYynqDEi4z5PpPBN1DsFHbzsjOXrw8BhqA/IYQTnTjVlUrXvfrRR39qk6E2NNkjEHMgRpJD6RQ54M2fgED+Dtr5I9hlhaDwRz7iuAzHkgrpm5m32Mg== 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=yTyJhpixYK9rvj/OVjNRCYAs8iSsx0pSQwTFXK1DkbU=; b=zcSbgSM6mpZSqIWyg2yDyaF31AEKrDD0SVEg0bzEiNPB3d4pq9CgvRZxKY2pBzIvXIwA7jHi5rqQYM9kc5eZC+eSsDKedTfeMYxF7cLqjo7uqlzB12nVaLRFu2fRBzEeLoB2Ke6RSFB4nwKoWnjqYQx2PGkffXpgs09+3smH314= Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by MWHPR11MB1807.namprd11.prod.outlook.com (2603:10b6:300:112::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.23; Tue, 29 Jun 2021 17:22:20 +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; Tue, 29 Jun 2021 17:22:20 +0000 From: "Michael D Kinney" To: =?utf-8?B?TWFydmluIEjDpHVzZXI=?= , Laszlo Ersek , Kun Qin , "devel@edk2.groups.io" , "Kinney, Michael D" CC: "Wang, Jian J" , "Wu, Hao A" , "Dong, Eric" , "Ni, Ray" , Liming Gao , "Liu, Zhiguang" , "Andrew Fish" , Leif Lindholm , Bret Barkelew , "michael.kubacki@microsoft.com" Subject: Re: [edk2-devel] [PATCH v1 0/5] EDK2 Code First: PI Specification: Update EFI_MM_COMMUNICATE_HEADER Thread-Topic: [edk2-devel] [PATCH v1 0/5] EDK2 Code First: PI Specification: Update EFI_MM_COMMUNICATE_HEADER Thread-Index: AQHXXZn+CLdMfOUuFEGylDfa9cdgM6sWP/MAgADpogCAAmY+AIAGrRkAgAEBKQCAAI7uAIAAln+AgAB/MgCAAHjKkIABznsAgAR2xoCAAAyuAIABrUrA Date: Tue, 29 Jun 2021 17:22:20 +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> In-Reply-To: <5dd6ce4c-a3ba-8d56-dce9-0e699c919c5b@posteo.de> 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: posteo.de; dkim=none (message not signed) header.d=none;posteo.de; 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: dae3f1a9-610e-4ef3-4e8a-08d93b227393 x-ms-traffictypediagnostic: MWHPR11MB1807: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5516; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UiSiL+xWd/r0faw13H+C5TTyeMkxdi4jp19BROzgL3IHUqo+ipRstbhMU+YWaZIQh2TNXxlEtKmY3LIgdVa/fDOC+edMRv2l0FrR9di7o9Xebdypd2vEVCHTGRlBK9orC/xqrVhMkZTuFNU8yFboG7D0z9V/DVDuGoTs6Ssd+XaB1KX7AJOjLARdHagUVP2bYPNTr+Nf9ognfVhXrOexoKBuoJ69rzKJc84R+8SnBktLyZ+pnPlox/wIRzvRQE6RdfnNl+gfmMF8jvdKnyHNOylovbOS2ozn6okHnnF+N36kugHAdx1Ksw2Xu5OQa8sw0lcCmBm9nC4X0MIX/5FAyMlOrT8L/UmmHkcgY6kTkWeHPsBBz+oYKCO4QRPMpxXQCiZPVFNCz7slV8d9udYON9+ySmDZl4i1DdIBR7uAn3jY5voHgVKpWlOayWA1yxHIl3vG4YXwhhMt3N17gJThfKE8eee8hu6AbtSfDW2QEynxpoUqGovDnUeIr3h1klt7yWSI2soiBHN+V8CqQYKM4lGOlw5RkFrPj/ZyOpfpDiiLPRUu6a993qn/oKfbNb2qQAn15SX+uHBInxTC6FlgIaKXW+7Ru6uTEFWfCEzu9vQyVyjWeflu7wsf0IjX5kHFbuOWqVJxfWP1ORxXrkWR6w== 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:(136003)(366004)(396003)(39860400002)(346002)(376002)(66446008)(64756008)(52536014)(71200400001)(66946007)(66556008)(110136005)(66476007)(9686003)(53546011)(33656002)(45080400002)(186003)(66574015)(6506007)(83380400001)(76116006)(15650500001)(26005)(8936002)(122000001)(55016002)(8676002)(54906003)(38100700002)(5660300002)(86362001)(2906002)(4326008)(7696005)(478600001)(316002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UUVUUU9zdTR4dDhWMVRmNW1lYXZIT0xSMEg0Y3pNdWhLcXlIMElKMzlJZXZ0?= =?utf-8?B?dkJwOTJ3L3NiazlFQ1BlVVVzcHdHSlZ6Q0E4VGVCNFRzVFo0WjJRZldJQU1o?= =?utf-8?B?SGlvOHZ5T2tTV290ZXRrRTNDKzQ4cnpuc29LM0JrODVIbEg1U3JrbWVtNjdu?= =?utf-8?B?SDdLTkRTdUZvQ1UrZzNaZGsvWGJSTldobmZwdE9yYkc1bVlZaDFURnh4WDk4?= =?utf-8?B?czZVZWFRMEdicHlOZzNyb2RnNUVUTmNaTlk4elMzamgxdUNYWXVmU3lNYWJl?= =?utf-8?B?Qk9uQWYrd2I0OGVPMmhaKzhZS29aNEs2dVNLUGg5YzJQWWx4Z2Z0QVIwUWhz?= =?utf-8?B?L3FqMnFSd0ZhZU5RZDRINmNKeklrTUZzc2p3WTZpcjNvWlVwekJFKzN2VnQ5?= =?utf-8?B?U1UwQWpFcnhyckFJYnhvNjlsRWtNOEFTbXY2NzVORGQvUExXdnF3OWxWNms1?= =?utf-8?B?QWh1N2xkS3Z3blRLdSs0YzRITmdZOVBtcnlucU5tbW9ONGt6K1RVcHBCWDBB?= =?utf-8?B?akg2NlNxZ0o0RGY4UGFxWm9nNnJJK2JzdXpjWEFGN2lEUHBhQ1lKM1lIU2lz?= =?utf-8?B?OUdSWWE4RmhwbnRxVTFjUTlaN3h4TkZzeXBYMGdKOGt5MWxmSHF4bWpFVzJB?= =?utf-8?B?aFQxZzg2UTFjOEUrTmNZV01Xb3dXbGdueHdYOHVlZWFBL3NxMjhITzNqWkY0?= =?utf-8?B?SUNjM1ZHczJFY2tLMkdUWEM5eTJqb2trYWRHK1JRcTQzZXhuVHVCSGZqa3Bq?= =?utf-8?B?c3I3RXgzOGJzSnRhbG9jZ0RzQjJ2MzM5emJGN2p6cHZvSHQ2N2ZTUDZScGVO?= =?utf-8?B?aDdJWFFkRWVHMG0zLzBNRlVYMmx5cmQzYU4zM2NHRnNKZTByc3RBaThUMkc1?= =?utf-8?B?ZTFSVWdMSjlNU29OWTRiY3RKemZ0MVAwSHVNYzJvYkg0LytROVVyZnZxQUZK?= =?utf-8?B?NkpKNWl1SjIzdllvRHQ0UnlNNlFmU1BKcFEreFNLemNlaVRQd2paQUp3Z0N3?= =?utf-8?B?M09Sd0RhUkR2VDNuazRGWUxxVFFSRTNHalNkZXQxbmQ0ZWY2bmZGR0ZDRnRv?= =?utf-8?B?S2o2TXNQcTU3bWc4aVFTZFQyczlVZ1B5YldMK3IxYzNINkhFWm9hRHRNMXhD?= =?utf-8?B?T3FnSUhwVWd1a0dlNGhaaGJ1RUtPSmw1bWxYWHIyVzBQWFc5cHhlUW9hODNl?= =?utf-8?B?RXZRRFZGdXhkSGdNYlhTUk5vN1hFR0cwa2wwbEhQK04zZzFyL3FhRDFBQXhP?= =?utf-8?B?SVFiUkRadGNGdU04YjZWS21ySG9CVU1ScWxSTHMrV00wYUJlYUhBcWl0UlpS?= =?utf-8?B?NGZrQ25BN3BXV2hqQUh4cFYyTkQvcjIzN0pzTWViVFBOeHZGSE95WUNNRGdw?= =?utf-8?B?TEdFTXBNdUdtdCtCU1ZUS3lyS0p3YnBPemtYVm56N1ViV0dPR0xuL1Rld2Fo?= =?utf-8?B?YTFXSGNGVHNmTkdzOThva0Q3VFJITkRRRlk0UGxJemhtTmIxcFVIM0RWd0E5?= =?utf-8?B?QTZ0TlhGN2ltSUdFSWI0QUZCcUFrYWRwOG1US0lFWTV3YjRvNWlMaWhtd1d2?= =?utf-8?B?Q2IzeXA3Y0RqUEJuTFNQRGxNOEZnc1ExblczemFYMG1FQUtZVVNFVkQ3b3lr?= =?utf-8?B?dGFVOGxlbU11eGlWL2ZUcXlMUHMyVXVlcGpwRWJPWjVlZllRMk4zZjYxV3cx?= =?utf-8?B?VTh5VkRlUHZrVFJwMTc3dlc4TEMzZzZzMVI1SklrM3BTZ1JFejJmRmpjOVBU?= =?utf-8?Q?7NCoCTPHnmCQCtWWGr5LnvHEOOJemiKKXVsH01A?= 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: dae3f1a9-610e-4ef3-4e8a-08d93b227393 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2021 17:22:20.0888 (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: ZcMV1/LjpbCZ0d2XcrLW+iaGoAYDF7o27Qge0QuofREJaID1qLM6My5BPt8EkpcQoo/+u+ZJ3qp/BmYv5ypdA0Zu+DjOzPFXFQaeeQK4Z1Y= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1807 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 SGkgTWFydmluLA0KDQpUaGFuayB5b3UgZm9yIGNoZWNraW5nIHRoaXMgc3BlY2lmaWMgc3RydWN0 dXJlLg0KDQpJIHRoaW5rIHRoaXMgc2hvdWxkIGJlIHBhcnQgb2YgdGhlIGV2YWx1YXRpb24gd2hl biBwcm9wb3NpbmcgdGhlIHVzZSBvZiBhDQpmbGV4aWJsZSBhcnJheSBtZW1iZXIgdG8gdGhlIFVF RkkvUEkgc3BlY3MgYXMgcGFydCBvZiB0aGUgRURLIElJIENvZGUgRmlyc3QNClByb2Nlc3MuICBX ZSBzaG91bGQgdmVyaWZ5IHRoYXQgdGhlIHNpemVvZigpIGFuZCBvZmZzZXRvZigpIHJldHVybiB0 aGUgc2FtZQ0KdmFsdWUgd2hlbiB1c2luZyB0aGUgc3RydWN0dXJlIGluIGFsbCBzdXBwb3J0ZWQg Y29tcGlsZXJzL0NQVSBhcmNocyBjb25maWd1cmVkDQpmb3IgdGhlIFVFRkkgQUJJLg0KDQpUaGFu a3MsDQoNCk1pa2UNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXJ2 aW4gSMOkdXNlciA8bWhhZXVzZXJAcG9zdGVvLmRlPg0KPiBTZW50OiBNb25kYXksIEp1bmUgMjgs IDIwMjEgODo0MyBBTQ0KPiBUbzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IEt1 biBRaW4gPGt1cWluMTJAZ21haWwuY29tPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5r aW5uZXlAaW50ZWwuY29tPjsNCj4gZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IFdhbmcsIEpp YW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgV3UsIEhhbyBBIDxoYW8uYS53dUBpbnRlbC5j b20+OyBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgTmksIFJheQ0KPiA8cmF5Lm5p QGludGVsLmNvbT47IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IExpdSwg WmhpZ3VhbmcgPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+OyBBbmRyZXcgRmlzaA0KPiA8YWZpc2hA YXBwbGUuY29tPjsgTGVpZiBMaW5kaG9sbSA8bGVpZkBudXZpYWluYy5jb20+OyBCcmV0IEJhcmtl bGV3IDxCcmV0LkJhcmtlbGV3QG1pY3Jvc29mdC5jb20+Ow0KPiBtaWNoYWVsLmt1YmFja2lAbWlj cm9zb2Z0LmNvbQ0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MSAwLzVdIEVE SzIgQ29kZSBGaXJzdDogUEkgU3BlY2lmaWNhdGlvbjogVXBkYXRlIEVGSV9NTV9DT01NVU5JQ0FU RV9IRUFERVINCj4gDQo+IE9uIDI4LjA2LjIxIDE2OjU3LCBMYXN6bG8gRXJzZWsgd3JvdGU6DQo+ ID4gT24gMDYvMjUvMjEgMjA6NDcsIEt1biBRaW4gd3JvdGU6DQo+ID4+IEhpIE1pa2UsDQo+ID4+ DQo+ID4+IFRoYW5rcyBmb3IgdGhlIGluZm9ybWF0aW9uLiBJIGNhbiB1cGRhdGUgdGhlIHBhdGNo IGFuZCBwcm9wb3NlZCBzcGVjDQo+ID4+IGNoYW5nZSB0byB1c2UgZmxleGlibGUgYXJyYXkgaW4g di1uZXh0IGlmIHRoZXJlIGlzIG5vIG90aGVyIGNvbmNlcm5zLg0KPiA+Pg0KPiA+PiBBZnRlciBz d2l0Y2hpbmcgdG8gZmxleGlibGUgYXJyYXksIE9GRlNFVF9PRiAoRGF0YSkgc2hvdWxkIGxlYWQg dG8gdGhlDQo+ID4+IHNhbWUgcmVzdWx0IGFzIHNpemVvZi4NCj4gPiBUaGlzIG1heSBiZSB0cnVl IG9uIHNwZWNpZmljIGNvbXBpbGVycywgYnV0IGl0IGlzICpub3QqIGd1YXJhbnRlZWQgYnkNCj4g PiB0aGUgQyBsYW5ndWFnZSBzdGFuZGFyZC4NCj4gDQo+IFNvcnJ5LCBmb3IgY29tcGxldGVuZXNz IHNha2UuLi4gOikNCj4gDQo+IEkgZG9uJ3QgdGhpbmsgaXQgcmVhbGx5IGRlcGVuZHMgb24gdGhl IGNvbXBpbGVyIChidXQgY2FuIHZhcnkgcGVyIEFCSSksDQo+IGJ1dCBpdCdzIGEgY29uY2VwdHVh bCBpc3N1ZSB3aXRoIGFsaWdubWVudCByZXF1aXJlbWVudHMuIEFzc3VtaW5nDQo+IG5hdHVyYWwg YWxpZ25tZW50IGFuZCB0aGUgdXN1YWwgc3R1ZmYsIGZvciAic3RydWN0IHMgeyB1aW50NjRfdCBh Ow0KPiB1aW50MzJfdCBiOyB1aW50OF90IGNbXTsgfSIgdGhlIGFsaWdubWVudCByZXF1aXJlbWVu dCBpcyA4IEJ5dGVzLCB3aGVyZQ0KPiB0aGVyZSBhcmUgNCBCeXRlcyBvZiBwYWRkaW5nIGFmdGVy ICJiIiAoYXMgImMiIG1heSBhcyB3ZWxsIGJlIGVtcHR5KS4NCj4gImMiIGhvd2V2ZXIgaXMgZ3Vh cmFudGVlZCB0byBzdGFydCBhZnRlciBiIGluIHRoZSBzYW1lIGZhc2hpb24gYXMgaWYgaXQNCj4g d2FzIGRlY2xhcmVkIHdpdGggdGhlIG1heGltdW0gYW1vdW50IG9mIGVsZW1lbnRzIHRoYXQgZml0 IHRoZSBtZW1vcnkuIFNvDQo+IGlmIHdlIHRha2UgNCBlbGVtZW50cyBmb3IgImMiLCBhbmQgbm90 ZSB0aGF0ICJjIiBoYXMgYW4gYWxpZ25tZW50DQo+IHJlcXVpcmVtZW50IG9mIDEgQnl0ZSwgY1sw IC4uIDNdIHdpbGwgYWxpYXMgdGhlIHBhZGRpbmcgYWZ0ZXIgImIiLiBGb3INCj4gInNpemVvZiIg dGhpcyBtZWFucyB0aGF0IHRoZSBwYWRkaW5nIGlzIGluY2x1ZGVkLCB3aGVyZWFzIGZvciAib2Zm c2V0b2YiDQo+IGl0IGlzIG5vdCwgeWllbGRpbmcgInNpemVvZihzdHJ1Y3QgcykgPT0gb2Zmc2V0 b2Yoc3RydWN0IHMsIGMpICsgNCIuDQo+IFRoYXQgaXMgd2hhdCBJIG1lYW50IGJ5ICJ3YXN0ZWQg c3BhY2UiIGVhcmxpZXIsIGJ1dCB0aGlzIGNvdWxkIHBvc3NpYmx5DQo+IGJlIG1hZGUgbmljZXIg d2l0aCBtYWNyb3MgYXMgbmVjZXNzYXJ5Lg0KPiANCj4gQXMgZm9yIHRoaXMgc3BlY2lmaWMgc3Ry dWN0LCB0aGUgdmFsdWVzIHNob3VsZCBiZSBpZGVudGljYWwgYXMgaXQgaXMgcGFkZGVkLg0KPiAN Cj4gQmVzdCByZWdhcmRzLA0KPiBNYXJ2aW4NCj4gDQo+ID4NCj4gPiBRdW90aW5nIEM5OSA2Ljcu Mi4xICJTdHJ1Y3R1cmUgYW5kIHVuaW9uIHNwZWNpZmllcnMiLCBwYXJhZ3JhcGggMTY6DQo+ID4N Cj4gPiAiSW4gbW9zdCBzaXR1YXRpb25zLCB0aGUgZmxleGlibGUgYXJyYXkgbWVtYmVyIGlzIGln bm9yZWQuIEluDQo+ID4gcGFydGljdWxhciwgdGhlIHNpemUgb2YgdGhlIHN0cnVjdHVyZSBpcyBh cyBpZiB0aGUgZmxleGlibGUgYXJyYXkgbWVtYmVyDQo+ID4gd2VyZSBvbWl0dGVkIGV4Y2VwdCB0 aGF0IGl0IG1heSBoYXZlIG1vcmUgdHJhaWxpbmcgcGFkZGluZyB0aGFuIHRoZQ0KPiA+IG9taXNz aW9uIHdvdWxkIGltcGx5LiINCj4gPg0KPiA+IFF1b3RpbmcgZm9vdG5vdGVzIDE3IGFuZCAxOSwN Cj4gPg0KPiA+ICgxNykgIFsuLi5dDQo+ID4gICAgICAgIHN0cnVjdCBzIHsgaW50IG47IGRvdWJs ZSBkW107IH07DQo+ID4gICAgICAgIFsuLi5dDQo+ID4NCj4gPiAoMTkpICBbLi4uXQ0KPiA+ICAg ICAgICB0aGUgZXhwcmVzc2lvbnM6DQo+ID4gICAgICAgIFsuLi5dDQo+ID4gICAgICAgIHNpemVv ZiAoc3RydWN0IHMpID49IG9mZnNldG9mKHN0cnVjdCBzLCBkKQ0KPiA+DQo+ID4gICAgICAgIGFy ZSBhbHdheXMgZXF1YWwgdG8gMS4NCj4gPg0KPiA+IFRoYW5rcw0KPiA+IExhc3psbw0KPiA+DQo+ ID4NCj4gPg0KPiA+PiBXaGlsZSBzaXplb2Ygd291bGQgYmUgYSBwcmVmZXJyZWQgd2F5IHRvIG1v dmUNCj4gPj4gZm9yd2FyZC4NCj4gPj4NCj4gPj4gUmVnYXJkcywNCj4gPj4gS3VuDQo+ID4+DQo+ ID4+IE9uIDA2LzI0LzIwMjEgMDg6MjUsIEtpbm5leSwgTWljaGFlbCBEIHdyb3RlOg0KPiA+Pj4g SGVsbG8sDQo+ID4+Pg0KPiA+Pj4gRmxleGlibGUgYXJyYXkgbWVtYmVycyBhcmUgc3VwcG9ydGVk IGFuZCBzaG91bGQgYmUgdXNlZC7CoCBUaGUgb2xkIHN0eWxlDQo+ID4+PiBvZiBhZGRpbmcgYW4g YXJyYXkgb2Ygc2l6ZSBbMV0gYXQgdGhlIGVuZCBvZiBhIHN0cnVjdHVyZSB3YXMgdXNlZCBhdCBh DQo+ID4+PiB0aW1lDQo+ID4+PiBmbGV4aWJsZSBhcnJheSBtZW1iZXJzIHdlcmUgbm90IHN1cHBv cnRlZCBieSBhbGwgY29tcGlsZXJzIChsYXRlIDE5OTAncykuDQo+ID4+PiBUaGUgd29ya2Fyb3Vu ZHMgdXNlZCB0byBoYW5kbGUgdGhlIGFycmF5IG9mIHNpemUgWzFdIGFyZSB2ZXJ5DQo+ID4+PiBj b25mdXNpbmcgd2hlbg0KPiA+Pj4gcmVhZGluZyB0aGUgQ8KgIGNvZGUgYW5kIHRoZSBmYWN0IHRo YXQgc2l6ZW9mKCkgZG9lcyBub3QgcHJvZHVjZSB0aGUNCj4gPj4+IGV4cGVjdGVkDQo+ID4+PiBy ZXN1bHQgbWFrZSBpdCBldmVuIHdvcnNlLg0KPiA+Pj4NCj4gPj4+IElmIHdlIHVzZSBmbGV4aWJs ZSBhcnJheSBtZW1iZXJzIGluIHRoaXMgcHJvcG9zZWQgY2hhbmdlIHRoZW4gdGhlcmUgaXMNCj4g Pj4+IG5vIG5lZWQgdG8gdXNlIE9GRlNFVF9PRigpLsKgIENvcnJlY3Q/DQo+ID4+Pg0KPiA+Pj4g TWlrZQ0KPiA+Pj4NCj4gPj4+DQo+ID4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g Pj4+PiBGcm9tOiBNYXJ2aW4gSMOkdXNlciA8bWhhZXVzZXJAcG9zdGVvLmRlPg0KPiA+Pj4+IFNl bnQ6IFRodXJzZGF5LCBKdW5lIDI0LCAyMDIxIDE6MDAgQU0NCj4gPj4+PiBUbzogS3VuIFFpbiA8 a3VxaW4xMkBnbWFpbC5jb20+OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsNCj4g Pj4+PiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+Pj4+IENjOiBXYW5nLCBKaWFuIEogPGppYW4u ai53YW5nQGludGVsLmNvbT47IFd1LCBIYW8gQQ0KPiA+Pj4+IDxoYW8uYS53dUBpbnRlbC5jb20+ OyBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgTmksIFJheQ0KPiA+Pj4+IDxyYXku bmlAaW50ZWwuY29tPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPjsNCj4gPj4+PiBMaW1pbmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBMaXUs IFpoaWd1YW5nDQo+ID4+Pj4gPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+OyBBbmRyZXcgRmlzaCA8 YWZpc2hAYXBwbGUuY29tPjsgTGVpZg0KPiA+Pj4+IExpbmRob2xtIDxsZWlmQG51dmlhaW5jLmNv bT47IEJyZXQgQmFya2VsZXcNCj4gPj4+PiA8QnJldC5CYXJrZWxld0BtaWNyb3NvZnQuY29tPjsg bWljaGFlbC5rdWJhY2tpQG1pY3Jvc29mdC5jb20NCj4gPj4+PiBTdWJqZWN0OiBSZTogW2VkazIt ZGV2ZWxdIFtQQVRDSCB2MSAwLzVdIEVESzIgQ29kZSBGaXJzdDogUEkNCj4gPj4+PiBTcGVjaWZp Y2F0aW9uOiBVcGRhdGUgRUZJX01NX0NPTU1VTklDQVRFX0hFQURFUg0KPiA+Pj4+DQo+ID4+Pj4g SGV5IEt1biwNCj4gPj4+Pg0KPiA+Pj4+IFdoeSB3b3VsZCB5b3UgcmVseSBvbiB1bmRlZmluZWQg YmVoYXZpb3Vycz8gVGhlIE9GRlNFVF9PRiBtYWNybyBpcw0KPiA+Pj4+IHdlbGwtZGVmaW5lZCBm b3IgR0NDIGFuZCBDbGFuZyBhcyBpdCdzIGltcGxlbWVudGVkIGJ5IGFuIGludHJpbnNpYywgYW5k DQo+ID4+Pj4gd2hpbGUgdGhlIGV4cHJlc3Npb24gZm9yIHRoZSBNU1ZDIGNvbXBpbGVyIGlzIHVu ZGVmaW5lZCBiZWhhdmlvdXIgYXMgcGVyDQo+ID4+Pj4gdGhlIEMgc3RhbmRhcmQsIGl0IGlzIHdl bGwtZGVmaW5lZCBmb3IgTVNWQyBkdWUgdG8gdGhlaXIgb3duDQo+ID4+Pj4gaW1wbGVtZW50YXRp b24gYmVpbmcgaWRlbnRpY2FsLiBGcm9tIG15IHN0YW5kcG9pbnQsIGFsbCBzdXBwb3J0ZWQNCj4g Pj4+PiBjb21waWxlcnMgd2lsbCB5aWVsZCB3ZWxsLWRlZmluZWQgYmVoYXZpb3VyIGV2ZW4gdGhp cyB3YXkuIE9GRlNFVF9PRiBvbg0KPiA+Pj4+IGZsZXhpYmxlIGFycmF5cyBpcyBub3QgVUIgaW4g YW55IGNhc2UgdG8gbXkga25vd2xlZGdlLg0KPiA+Pj4+DQo+ID4+Pj4gSG93ZXZlciwgdGhlIHNh bWUgd2F5IGFzIHlvdXIgbmV3IHN1Z2dlc3Rpb24sIHlvdSBjYW4gcmVwbGFjZSBPRkZTRVRfT0YN Cj4gPj4+PiB3aXRoIHNpemVvZi4gV2hpbGUgdGhpcyAqY2FuKiBsZWFkIHRvIHdhc3RlZCBzcGFj ZSB3aXRoIGNlcnRhaW4NCj4gPj4+PiBzdHJ1Y3R1cmUgbGF5b3V0cyAoZS5nLiB3aGVuIHRoZSBm bGV4aWJsZSBhcnJheSBvdmVybGF5cyBwYWRkaW5nIGJ5dGVzKSwNCj4gPj4+PiB0aGlzIGlzIG5v dCB0aGUgY2FzZSBoZXJlLCBhbmQgb3RoZXJ3aXNlIGp1c3QgbG9zZXMgeW91IGEgZmV3IGJ5dGVz LiBJDQo+ID4+Pj4gdGhpbmsgdGhpcyBjb21lcyBkb3duIHRvIHByZWZlcmVuY2UuDQo+ID4+Pj4N Cj4gPj4+PiBUaGUgcGF0dGVybiB5b3UgbWVudGlvbmVkIGFyZ3VhYmx5IGlzIGxlc3MgbmljZSBz eW50YXggd2hlbiB1c2VkDQo+ID4+Pj4gKGludm9sdmVzIGFkZHJlc3MgY2FsY3VsYXRpb24gYW5k IGNhc3RpbmcpLCBidXQgdGhlIGJpZ2dlc3QgcHJvYmxlbSBoZXJlDQo+ID4+Pj4gaXMgYWxpZ25t ZW50IGNvbnN0cmFpbnRzLiBGb3IgcGFja2VkIHN0cnVjdHVyZXMsIHlvdSBsb3NlIHRoZSBhYmls aXR5IG9mDQo+ID4+Pj4gYXV0b21hdGljIHVuYWxpZ25lZCBhY2Nlc3NlcyAoaXJyZWxldmFudCBo ZXJlIGJlY2F1c2UgdGhlIHN0cnVjdHVyZSBpcw0KPiA+Pj4+IG1hbnVhbGx5IHBhZGRlZCBhbnl3 YXkpLiBGb3Igbm9uLXBhY2tlZCBzdHJ1Y3R1cmVzLCB5b3Ugc3RpbGwgbmVlZCB0bw0KPiA+Pj4+ IGVuc3VyZSB0aGUgYWxpZ25tZW50IHJlcXVpcmVtZW50IG9mIHRoZSB0cmFpbGluZyBhcnJheSBk YXRhIGlzIG1ldA0KPiA+Pj4+IG1hbnVhbGx5LiBXaXRoIGZsZXhpYmxlIGFycmF5IG1lbWJlcnMs IHRoZSBjb21waWxlciB0YWtlcyBjYXJlIG9mIGJvdGgNCj4gPj4+PiBjYXNlcyBhdXRvbWF0aWNh bGx5Lg0KPiA+Pj4+DQo+ID4+Pj4gQmVzdCByZWdhcmRzLA0KPiA+Pj4+IE1hcnZpbg0KPiA+Pj4+ DQo+ID4+Pj4gT24gMjQuMDYuMjEgMDI6MjQsIEt1biBRaW4gd3JvdGU6DQo+ID4+Pj4+IEhpIE1h cnZpbiwNCj4gPj4+Pj4NCj4gPj4+Pj4gSSB3b3VsZCBwcmVmZXIgbm90IHRvIHJlbHkgb24gdW5k ZWZpbmVkIGJlaGF2aW9ycyBmcm9tIGRpZmZlcmVudA0KPiA+Pj4+PiBjb21waWxlcnMuIEluc3Rl YWQgb2YgdXNpbmcgZmxleGlibGUgYXJyYXlzLCBpcyBpdCBiZXR0ZXIgdG8gcmVtb3ZlDQo+ID4+ Pj4+IHRoZSBgRGF0YWAgZmllbGQsIHBhY2sgdGhlIHN0cnVjdHVyZSBhbmQgZm9sbG93DQo+ID4+ Pj4+ICJWQVJJQUJMRV9MT0NLX09OX1ZBUl9TVEFURV9QT0xJQ1kiIHBhdHRlcm4/DQo+ID4+Pj4+ DQo+ID4+Pj4+IEluIHRoYXQgY2FzZSwgT0ZGU0VUX09GIHdpbGwgYmUgZm9yY2VkIHRvIGNoYW5n ZSB0byBzaXplb2YsIGFuZA0KPiA+Pj4+PiByZWFkL3dyaXRlIHRvIGBEYXRhYCB3aWxsIGZvbGxv dyB0aGUgcmFuZ2UgaW5kaWNhdGVkIGJ5IE1lc3NhZ2VMZW5ndGguDQo+ID4+Pj4+IEJ1dCB5ZXMs IHRoYXQgd2lsbCBlbmZvcmNlIGRldmVsb3BlcnMgdG8gdXBkYXRlIHRoZWlyIHBsYXRmb3JtIGxl dmVsDQo+ID4+Pj4+IGltcGxlbWVudGF0aW9ucyBhY2NvcmRpbmdseS4NCj4gPj4+Pj4NCj4gPj4+ Pj4gUmVnYXJkcywNCj4gPj4+Pj4gS3VuDQo+ID4+Pj4+DQo+ID4+Pj4+IE9uIDA2LzIzLzIwMjEg MDg6MjYsIExhc3psbyBFcnNlayB3cm90ZToNCj4gPj4+Pj4+IE9uIDA2LzIzLzIxIDA4OjU0LCBN YXJ2aW4gSMOkdXNlciB3cm90ZToNCj4gPj4+Pj4+PiBPbiAyMi4wNi4yMSAxNzozNCwgTGFzemxv IEVyc2VrIHdyb3RlOg0KPiA+Pj4+Pj4+PiBPbiAwNi8xOC8yMSAxMTozNywgTWFydmluIEjDpHVz ZXIgd3JvdGU6DQo+ID4+Pj4+Pj4+PiBPbiAxNi4wNi4yMSAyMjo1OCwgS3VuIFFpbiB3cm90ZToN Cj4gPj4+Pj4+Pj4+PiBPbiAwNi8xNi8yMDIxIDAwOjAyLCBNYXJ2aW4gSMOkdXNlciB3cm90ZToN Cj4gPj4+Pj4+Pj4+Pj4gMikgSXMgaXQgZmVhc2libGUgeWV0IHdpdGggdGhlIGN1cnJlbnQgc2V0 IG9mIHN1cHBvcnRlZA0KPiA+Pj4+Pj4+Pj4+PiBjb21waWxlcnMgdG8NCj4gPj4+Pj4+Pj4+Pj4g c3VwcG9ydCBmbGV4aWJsZSBhcnJheXM/DQo+ID4+Pj4+Pj4+Pj4gTXkgaW1wcmVzc2lvbiBpcyB0 aGF0IGZsZXhpYmxlIGFycmF5cyBhcmUgYWxyZWFkeSBzdXBwb3J0ZWQgKGFzDQo+ID4+Pj4+Pj4+ Pj4gc2Vlbg0KPiA+Pj4+Pj4+Pj4+IGluIFVuaXRUZXN0RnJhbWV3b3JrUGtnL1ByaXZhdGVJbmNs dWRlL1VuaXRUZXN0RnJhbWV3b3JrVHlwZXMuaCkuDQo+ID4+Pj4+Pj4+Pj4gUGxlYXNlIGNvcnJl Y3QgbWUgaWYgSSBhbSB3cm9uZy4NCj4gPj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+IFdvdWxkIHlv dSBtaW5kIGxldHRpbmcgbWUga25vdyB3aHkgdGhpcyBpcyBhcHBsaWNhYmxlIGhlcmU/IFdlIGFy ZQ0KPiA+Pj4+Pj4+Pj4+IHRyeWluZyB0byBzZWVrIGlkZWFzIG9uIGhvdyB0byBjYXRjaCBkZXZl bG9wZXIgbWlzdGFrZXMgY2F1c2VkIGJ5DQo+ID4+Pj4+Pj4+Pj4gdGhpcw0KPiA+Pj4+Pj4+Pj4+ IGNoYW5nZS4gU28gYW55IGlucHV0IGlzIGFwcHJlY2lhdGVkLg0KPiA+Pj4+Pj4+Pj4gSHVoLCBp bnRlcmVzdGluZy4gTGFzdCB0aW1lIEkgdHJpZWQgSSB3YXMgdG9sZCBhYm91dA0KPiA+Pj4+Pj4+ Pj4gaW5jb21wYXRpYmlsaXRpZXMNCj4gPj4+Pj4+Pj4+IHdpdGggTVNWQywgYnV0IEkga25vdyBz b21lIGhhdmUgYmVlbiBkcm9wcGVkIHNpbmNlIHRoZW4gKDIwMDUgYW5kDQo+ID4+Pj4+Pj4+PiAy MDA4DQo+ID4+Pj4+Pj4+PiBpZiBJIHJlY2FsbCBjb3JyZWN0bHk/KSwgc28gdGhhdCdkIGJlIGdy ZWF0IHRvIGFsbG93IGdsb2JhbGx5Lg0KPiA+Pj4+Pj4+PiBJIHRvbyBhbSBzdXJwcmlzZWQgdG8g c2VlDQo+ID4+Pj4+Pj4+ICJVbml0VGVzdEZyYW1ld29ya1BrZy9Qcml2YXRlSW5jbHVkZS9Vbml0 VGVzdEZyYW1ld29ya1R5cGVzLmgiLiBUaGUNCj4gPj4+Pj4+Pj4gZmxleGlibGUgYXJyYXkgbWVt YmVyIGlzIGEgQzk5IGZlYXR1cmUsIGFuZCBJIGRpZG4ndCBldmVuIGtub3cNCj4gPj4+Pj4+Pj4g dGhhdCB3ZQ0KPiA+Pj4+Pj4+PiBkaXNhbGxvd2VkIGl0IGZvciB0aGUgc2FrZSBvZiBwYXJ0aWN1 bGFyIFZTIHRvb2xjaGFpbnMgLS0gSQ0KPiA+Pj4+Pj4+PiB0aG91Z2h0IHdlDQo+ID4+Pj4+Pj4+ IGhhZCBhIG1vcmUgZ2VuZXJhbCByZWFzb24gdGhhbiBqdXN0ICJub3Qgc3VwcG9ydGVkIGJ5IFZT IHZlcnNpb25zIFgNCj4gPj4+Pj4+Pj4gYW5kIFkiLg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+PiBU aGUgYmVoYXZpb3Igb2YgT0ZGU0VUX09GKCkgd291bGQgYmUgaW50ZXJlc3RpbmcgLS0gdGhlIE9G RlNFVF9PRigpDQo+ID4+Pj4+Pj4+IG1hY3JvIGRlZmluaXRpb24gZm9yIG5vbi1nY2MgLyBub24t Y2xhbmc6DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+ICNkZWZpbmUgT0ZGU0VUX09GKFRZUEUsIEZp ZWxkKSAoKFVJTlROKSAmKCgoVFlQRSAqKTApLT5GaWVsZCkpDQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+ Pj4+IGJvcmRlcnMgb24gdW5kZWZpbmVkIGJlaGF2aW9yIGFzIGZhciBhcyBJIGNhbiB0ZWxsLCBz byBpdHMNCj4gPj4+Pj4+Pj4gYmVoYXZpb3IgaXMNCj4gPj4+Pj4+Pj4gdG90YWxseSB1cCB0byB0 aGUgY29tcGlsZXIuIEl0IHdvcmtzIHRodXMgZmFyIG9rYXkgb24gVmlzdWFsDQo+ID4+Pj4+Pj4+ IFN0dWRpbywgYnV0DQo+ID4+Pj4+Pj4+IEkgY291bGRuJ3Qgc2F5IGlmIGl0IGV4dGVuZGVkIGNv cnJlY3RseSB0byBmbGV4aWJsZSBhcnJheSBtZW1iZXJzLg0KPiA+Pj4+Pj4+IFllcywgaXQncyBV QiBieSB0aGUgc3RhbmRhcmQsIGJ1dCB0aGlzIGlzIGFjdHVhbGx5IGhvdyBNUyBpbXBsZW1lbnRz DQo+ID4+Pj4+Pj4gdGhlbSAob3IgdXNlZCB0byBhbnl3YXk/KS4gSSBkb24ndCBzZWUgd2h5IGl0 J2QgY2F1c2UgaXNzdWVzIHdpdGgNCj4gPj4+Pj4+PiBmbGV4aWJsZSBhcnJheXMsIGFzIG9ubHkg dGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBpcyByZWxldmFudCAod2hpY2ggaXMNCj4gPj4+Pj4+PiBj b25zdGFudCBmb3IgYWxsIGluc3RhbmNlcyBvZiB0aGUgc3RydWN0dXJlIG5vIG1hdHRlciB0aGUg YW1vdW50IG9mDQo+ID4+Pj4+Pj4gZWxlbWVudHMgYWN0dWFsbHkgc3RvcmVkKS4gQW55IHNwZWNp ZmljIGNvbmNlcm4/IElmIHNvLCB0aGV5IGNvdWxkIGJlDQo+ID4+Pj4+Pj4gYWRkcmVzc2VkIGJ5 IGFwcHJvcHJpYXRlIFNUQVRJQ19BU1NFUlRzLg0KPiA+Pj4+Pj4gTm8gc3BlY2lmaWMgY29uY2Vy bjsgbXkgcG9pbnQgd2FzIHRoYXQgdHdvIGFzcGVjdHMgb2YgdGhlIHNhbWUgImNsYXNzIg0KPiA+ Pj4+Pj4gb2YgdW5kZWZpbmVkIGJlaGF2aW9yIGRpZG4ndCBuZWVkIHRvIGJlIGNvbnNpc3RlbnQg d2l0aCBlYWNoIG90aGVyLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IFRoYW5rcw0KPiA+Pj4+Pj4gTGFz emxvDQo+ID4+Pj4+Pg0KDQo=