From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web11.13510.1589208539014548179 for ; Mon, 11 May 2020 07:48:59 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=rSLIv/tu; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: liming.gao@intel.com) IronPort-SDR: fi+VUniXoUng6+9kXWO5GRvfyzSSPEW6omVwp3c+cPhh7ZXJnWQZXUd0BjfaMoK+MosWeQ2h9S Hm7UY95LRKjg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 May 2020 07:48:41 -0700 IronPort-SDR: RoaeUih6Isaj0qEJ3PTLTKe+C54fUXXWSRegFYOlNtpv9m2oGyXLuI8Ck6B+XDTY79y3zYHzlk sgRrchHs84HQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,380,1583222400"; d="scan'208";a="463195320" Received: from orsmsx109.amr.corp.intel.com ([10.22.240.7]) by fmsmga005.fm.intel.com with ESMTP; 11 May 2020 07:48:40 -0700 Received: from orsmsx116.amr.corp.intel.com (10.22.240.14) by ORSMSX109.amr.corp.intel.com (10.22.240.7) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 11 May 2020 07:48:40 -0700 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by ORSMSX116.amr.corp.intel.com (10.22.240.14) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 11 May 2020 07:48:40 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.170) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 11 May 2020 07:48:40 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VErSqUL8mR7NM44XY7ktWYH5T5kf3oFyD73o1irw6sMJxQfjYOmSvv59MUdvuX0vXpkIgQkUK0egOEkVSKFbwlGU7Wb+pSC/6PXHC0nHsa7r8yEgHnYMMOIUaZJVQ+TFeax2kdCFbrI4NZ9cNJBZ6QcJpenNz/PjVeDo67z82u+VkuSweeZ18sfGduztIET4GE/1cCVSwh9NDbvKYfju3V37sZ0CyO16wRFrS2KnPKMAdYQes3Ru5aEGyK82iglR3KAWAayUFZgAF2+OWUADLNgycbSdxYQvSqifKhM9ZzvHRtvM6tEpLroUtwA1EsbqHQVASAYYwHHutB61u1wW4Q== 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=ZJLQSjT6BmLjtpfqLeoZwd5T9sWMJ2h+v28LaDSwol4=; b=fsusrmLjG78rU69cySXCzwoA0V/WNFykRTkzIGZh296zLeYnU5ppcUS4CH3LdPkRNOjqBPkcz5TtcoPLJV11gIBW34sm/bFFgCAFTW8iuaXBrRhQ6WEZBRTpJD72o0Ff0uxm0dg+lEBKg19cve3te8EjbgM5MeEjbsUljXjhujFjxkPuGRxIhClga9soqdH+iTvmZduhUlrMDyVAUfE0QWHSWS+wFs6Jpz7uaG5AVjI6JvfO9GyKPyRbsmKLiAJH5MBMedAbzZmZW/GffQ9zY9zIEp3Ge1yAojODl5Bxo8xZnKGlRu6bBaDuDgE+nCLWRddPU5f8a0lydfeIJSpCJQ== 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=ZJLQSjT6BmLjtpfqLeoZwd5T9sWMJ2h+v28LaDSwol4=; b=rSLIv/tuGnoT54KblP+tGUPmvDaqJtN7G2F0w7kSZ4pHuyUcJi1cMCMqULzwgryMQIvo2JsWxi6H/5bHX/l0s9sOJpFiOzwPpaG4fPUOSU199cQXPAOaMFua2qbzbl4w+5HvCnoFR6YdRgHfVBolr0k6+bkkGheobExN/nw4qik= Received: from BN6PR11MB3972.namprd11.prod.outlook.com (2603:10b6:405:7f::11) by BN6PR11MB0019.namprd11.prod.outlook.com (2603:10b6:405:69::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.29; Mon, 11 May 2020 14:48:39 +0000 Received: from BN6PR11MB3972.namprd11.prod.outlook.com ([fe80::3c03:da06:5345:bfa0]) by BN6PR11MB3972.namprd11.prod.outlook.com ([fe80::3c03:da06:5345:bfa0%7]) with mapi id 15.20.2979.033; Mon, 11 May 2020 14:48:39 +0000 From: "Liming Gao" To: "devel@edk2.groups.io" , "Gao, Liming" , "Liu, Zhiguang" , "oleksiyy@ami.com" CC: "Feng, Bob C" , "Kinney, Michael D" , "Felixp@ami.com" Subject: Re: [edk2-devel] [PATCH v4 7/7] MdePkg: UEFI JSON Capsule Support Thread-Topic: [edk2-devel] [PATCH v4 7/7] MdePkg: UEFI JSON Capsule Support Thread-Index: AQHWJYJrOtMZOaCRQ0ikgLUPAg51JKifCZOAgAPoCNCAAAmRAA== Date: Mon, 11 May 2020 14:48:38 +0000 Message-ID: References: <20200508214611.70592-1-oleksiyy@ami.com> <20200508214611.70592-8-oleksiyy@ami.com> <160DFEDDA3DFE660.21511@groups.io> In-Reply-To: <160DFEDDA3DFE660.21511@groups.io> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.2.0.6 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.52.193] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 96690e00-d295-4887-6d6e-08d7f5ba6445 x-ms-traffictypediagnostic: BN6PR11MB0019: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1060; x-forefront-prvs: 04004D94E2 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 3nCYYEP3m1nEr06wssZpfR5dfiSPj4+4zBdLVUk/97upMSKP4AKISFSGG+idW7PEQ4v1wmNrxb/+sJnmDV3rxZm7Y+NVH82Nj/toKWC9fjuwv52QAXj0/e1UNSrunS7uqr+fbBO1A+p/QxrgYlBf0SdfKENWXGjmpW0Rklg9Q4XWhzWO6WZF0pbuR43Skbscrw/m06AvOQ1MaXuV8ypddezUTM77lLm4Gc9HobmEj/16fMY2zoXzwXblKQCiy9WHkO252EvMqKFKFUj59SDxVXSJKU+nJFGJfhaX1HV0NetZxdqX7MH5/GpV8aCm6PVa0xI4Jbbpb/a+oSST8sxtuFScbBJ+2Kq/ngi88v9VPFvOXhv3vI/gp/le/l+4tWc/l3FCxo4GynYYXaaibBUM9eaOgyS2NjLx0HkN7L/ds6spUp4xGP3wedG/mcvlpoAo6T56i4ZemSk7TtZOcRWhzGZkUiVSRlY3po2fE7KgfWvPOLRr7jRKhXPeYDhymlMgY0p/Rj3CqF5iHpcKSGbDU1xfd0BZ/u3dSwxiWaq0FG//0YxG+akQ2xTOvogktjsjbLAx592OrOcPjV62vAlerV/+JAwqSHPIdpVAWL6zZCw= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR11MB3972.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(346002)(396003)(376002)(136003)(39860400002)(366004)(33430700001)(66476007)(66446008)(66556008)(7696005)(64756008)(186003)(33656002)(2906002)(26005)(66946007)(86362001)(54906003)(71200400001)(110136005)(9686003)(52536014)(316002)(966005)(8676002)(76116006)(5660300002)(33440700001)(478600001)(55016002)(4326008)(6506007)(30864003)(53546011)(8936002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: WsNQh1PwVO3IWVvd4qLkMudxMp01HXAUBt5tHn+nH54Qm/1mCC0vB7YfnxFwB2FSbP9AdCRbSKpAnXfoAywwTLgMMDXRnFYO2EnMJeXHQv4o3Qnt9Isj64Qvd5mS8pebN/XMjMWPlcPVLu/5kYUyiwuwlJGSQyX2uN/2TjiRKAejVzsgCoCQkJs7ijMReUwW2rW6B7TM+UaChPHGMB3Ytz4zLc0nujG+qnK3wXx3RhO/AzDbApglIWjlMsKI0W1yyIpXkBbV2yO+KeXgj/2ZXouki+g9rFcpNoZEqWC1CXyQwxv83rJ2vEBCzBU8sAReLDEQI5sLQRnSIsg04cxBhjpNPcik+sdmQ9L8yuDg/isAD26xl8VxAEU+OOsU/wuKIwGs0Ba/hr4RsRDstmS15RfQOjO75om/b2UeVBaliXaHQyksc27scFYZinwuX5mDc/+idydOPlXBQTEPj8IsPcjcgl+qG0iCzZ4Ul0saePFXNh7PR6Rl1aaY4tQeqTx+ MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 96690e00-d295-4887-6d6e-08d7f5ba6445 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 May 2020 14:48:38.9269 (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: 3xhML2r3/v8ZArn8mBYofd6YZ4jwxpxZuFaj9wGH8IDru/BKO0fhK/68g59xwfSrqJyP5B98+/iHz3kUwOsgfw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB0019 Return-Path: liming.gao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T2xla3NpeToNCiAgSSByZXZpZXcgdGhlIGZ1bGwgcGF0Y2ggc2V0LiBUaGlzIGNoYW5nZSBzaG91 bGQgYmUgaW4gcGF0Y2ggMy83LiBQbGVhc2UgdXBkYXRlIGl0LiBXaXRoIHRoaXMgY2hhbmdlLCB5 b3UgY2FuIGFkZCBteSBSQiBSZXZpZXdlZC1ieTogTGltaW5nIEdhbyA8bGltaW5nLmdhb0BpbnRl bC5jb20+Lg0KDQpUaGFua3MNCkxpbWluZw0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJl aGFsZiBPZiBMaW1pbmcgR2FvDQo+IFNlbnQ6IE1vbmRheSwgTWF5IDExLCAyMDIwIDEwOjE0IFBN DQo+IFRvOiBMaXUsIFpoaWd1YW5nIDx6aGlndWFuZy5saXVAaW50ZWwuY29tPjsgZGV2ZWxAZWRr Mi5ncm91cHMuaW87IG9sZWtzaXl5QGFtaS5jb20NCj4gQ2M6IEZlbmcsIEJvYiBDIDxib2IuYy5m ZW5nQGludGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVs LmNvbT47IEZlbGl4cEBhbWkuY29tDQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENI IHY0IDcvN10gTWRlUGtnOiBVRUZJIEpTT04gQ2Fwc3VsZSBTdXBwb3J0DQo+IA0KPiBPbGVrc2l5 Og0KPiAgIEkgZG9uJ3QgZmluZCB0aGlzIEdVSUQgQyBtYWNybyBkZWZpbml0aW9uLiBJcyBpdCBp bnRyb2R1Y2VkIGJ5IFVFRkkgSlNPTj8NCj4gDQo+ID4gKyAgIyMgSW5jbHVkZVxHdWlkXEhpaVBs YXRmb3JtU2V0dXBGb3Jtc2V0LmgNCj4gPiArICBnRWZpSGlpUmVzZXRTdHlsZUZvcm1zZXRHdWlk ICAgICA9IHsgMHg3OTAyMTdiZCwgMHhiZWNmLCAweDQ4NWIsIHsgMHg5MSwNCj4gPiAweDcwLCAw eDVmLCAweGY3LCAweDExLCAweDMxLCAweDhiLCAweDI3IH19DQo+IA0KPiBUaGFua3MNCj4gTGlt aW5nDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBMaXUsIFpoaWd1 YW5nIDx6aGlndWFuZy5saXVAaW50ZWwuY29tPg0KPiA+IFNlbnQ6IFNhdHVyZGF5LCBNYXkgOSwg MjAyMCAxMDozNCBBTQ0KPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgb2xla3NpeXlAYW1p LmNvbQ0KPiA+IENjOiBGZW5nLCBCb2IgQyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+OyBHYW8sIExp bWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+Ow0KPiA+IEZlbGl4cEBhbWkuY29tDQo+ID4gU3ViamVjdDogUkU6 IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjQgNy83XSBNZGVQa2c6IFVFRkkgSlNPTiBDYXBzdWxlIFN1 cHBvcnQNCj4gPg0KPiA+IEhpIE9sZWtzaXkuDQo+ID4NCj4gPiBJIHRoaW5rIHdlIGFsbCBhZ3Jl ZSB0byByZW1vdmUgdGhlIGNvbW1lbnQgbWFya2VyIGJlZm9yZSB0aGUgZmluYWwgcGFyYW1ldGVy IGluIHN0cnVjdC4NCj4gPiBQbGVhc2Ugc2VlIHRoaXMgbWFpbCBodHRwczovL2VkazIuZ3JvdXBz LmlvL2cvZGV2ZWwvbWVzc2FnZS81Nzg5NQ0KPiA+IExldCBtZSBrbm93IGlmIHlvdSBoYXZlIGFu eSBjb25jZXJuLg0KPiA+DQo+ID4gQW5kIG9uZSBsaXR0bGUgc3VnZ2VzdGlvbi4NCj4gPiBJZiB5 b3Ugc2VuZCBhIG5ld2VyIHZlcnNpb24gYnV0IGRvbid0IGNoYW5nZSBhbnl0aGluZywgeW91IGNh biB0YWtlIHRoZSBSZXZpZXdlZC1ieSBpbiB5b3VyIGNvbW1pdCBtZXNzYWdlIGlmIHlvdSBnZXQg b25lLg0KPiA+IFNvLCB0aGUgcmV2aWV3ZXIgZG9lc24ndCBoYXZlIHRvIHJldmlldyB0aGUgc2Ft ZSBwYXRjaCBhZ2FpbiDwn5iKDQo+ID4NCj4gPiBUaGFua3MNCj4gPiBaaGlndWFuZw0KPiA+DQo+ ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogZGV2ZWxAZWRrMi5n cm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgT2xla3NpeQ0KPiA+ ID4gWWFrb3ZsZXYNCj4gPiA+IFNlbnQ6IFNhdHVyZGF5LCBNYXkgOSwgMjAyMCA1OjQ2IEFNDQo+ ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+IENjOiBGZW5nLCBCb2IgQyA8Ym9i LmMuZmVuZ0BpbnRlbC5jb20+OyBHYW8sIExpbWluZw0KPiA+ID4gPGxpbWluZy5nYW9AaW50ZWwu Y29tPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsNCj4g PiA+IEZlbGl4cEBhbWkuY29tOyBvbGVrc2l5eUBhbWkuY29tDQo+ID4gPiBTdWJqZWN0OiBbZWRr Mi1kZXZlbF0gW1BBVENIIHY0IDcvN10gTWRlUGtnOiBVRUZJIEpTT04gQ2Fwc3VsZSBTdXBwb3J0 DQo+ID4gPg0KPiA+ID4gQWRkZWQgR3VpZHMgYW5kIHN0cnVjdHVyZXMsIHRoYXQgZGVmaW5lcyB0 aGUgd29yayBmbG93IHRvIHBlcmZvcm0gY2Fwc3VsZQ0KPiA+ID4gdXBkYXRlIHVzaW5nIEpTT04g b2JqZWN0cy4NCj4gPiA+IChVRUZJIDIuOCBtYW50aXMgMTkzNSkNCj4gPiA+DQo+ID4gPiBTaWdu ZWQtb2ZmLWJ5OiBPbGVrc2l5IFlha292bGV2IDxvbGVrc2l5eUBhbWkuY29tPg0KPiA+ID4gLS0t DQo+ID4gPiAgTWRlUGtnL0luY2x1ZGUvR3VpZC9DYXBzdWxlUmVwb3J0LmggfCAyOSArKysrKysr KysrKw0KPiA+ID4gIE1kZVBrZy9JbmNsdWRlL0d1aWQvSnNvbkNhcHN1bGUuaCAgIHwgOTcNCj4g PiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiA+ICBNZGVQa2cv SW5jbHVkZS9VZWZpL1VlZmlTcGVjLmggICAgICB8ICAxICsNCj4gPiA+ICBNZGVQa2cvTWRlUGtn LmRlYyAgICAgICAgICAgICAgICAgICB8IDExICsrKysrDQo+ID4gPiAgNCBmaWxlcyBjaGFuZ2Vk LCAxMzggaW5zZXJ0aW9ucygrKQ0KPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBNZGVQa2cvSW5j bHVkZS9HdWlkL0pzb25DYXBzdWxlLmgNCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0IGEvTWRlUGtn L0luY2x1ZGUvR3VpZC9DYXBzdWxlUmVwb3J0LmgNCj4gPiA+IGIvTWRlUGtnL0luY2x1ZGUvR3Vp ZC9DYXBzdWxlUmVwb3J0LmgNCj4gPiA+IGluZGV4IDkzZDJiYjcuLmFiMGY1NTIgMTAwNjQ0DQo+ ID4gPiAtLS0gYS9NZGVQa2cvSW5jbHVkZS9HdWlkL0NhcHN1bGVSZXBvcnQuaA0KPiA+ID4gKysr IGIvTWRlUGtnL0luY2x1ZGUvR3VpZC9DYXBzdWxlUmVwb3J0LmgNCj4gPiA+IEBAIC05Myw2ICs5 MywzNSBAQCB0eXBlZGVmIHN0cnVjdCB7DQo+ID4gPiAgICAvLy8NCj4gPiA+ICB9IEVGSV9DQVBT VUxFX1JFU1VMVF9WQVJJQUJMRV9GTVA7DQo+ID4gPg0KPiA+ID4gK3R5cGVkZWYgc3RydWN0IHsN Cj4gPiA+ICsNCj4gPiA+ICsgIC8vLw0KPiA+ID4gKyAgLy8vIFZlcnNpb24gb2YgdGhpcyBzdHJ1 Y3R1cmUsIGN1cnJlbnRseSAweDAwMDAwMDAxICAvLy8NCj4gPiA+ICsgIFVJTlQzMiAgICBWZXJz aW9uOw0KPiA+ID4gKw0KPiA+ID4gKyAgLy8vDQo+ID4gPiArICAvLy8gVGhlIHVuaXF1ZSBpZGVu dGlmaWVyIG9mIHRoZSBjYXBzdWxlIHdob3NlIHByb2Nlc3NpbmcgcmVzdWx0IGlzDQo+ID4gPiBy ZWNvcmRlZCBpbiB0aGlzIHZhcmlhYmxlLg0KPiA+ID4gKyAgLy8vIDB4MDAwMDAwMDAgYiAgMHhF RkZGRkZGRiBiICBJbXBsZW1lbnRhdGlvbiBSZXNlcnZlZCAgLy8vDQo+ID4gPiArIDB4RjAwMDAw MDAgYiAgMHhGRkZGRkZGRiBiICBTcGVjaWZpY2F0aW9uIFJlc2VydmVkICAvLy8gI2RlZmluZQ0K PiA+ID4gKyBSRURGSVNIX0RFRklORURfSlNPTl9TQ0hFTUEgMHhGMDAwMDAwICAvLy8gVGhlIEpT T04gcGF5bG9hZCBzaGFsbA0KPiA+ID4gKyBjb25mb3JtIHRvIGEgUmVkZmlzaC1kZWZpbmVkIEpT T04gc2NoZW1hLCBzZWUgRE1URi1SZWRmaXNoICAvLy8NCj4gPiA+ICsgU3BlY2lmaWNhdGlvbi4N Cj4gPiA+ICsgIC8vLw0KPiA+ID4gKyAgVUlOVDMyIENhcHN1bGVJZDsNCj4gPiA+ICsNCj4gPiA+ ICsgIC8vLw0KPiA+ID4gKyAgLy8vIFRoZSBsZW5ndGggb2YgUmVzcCBpbiBieXRlcy4NCj4gPiA+ ICsgIC8vLw0KPiA+ID4gKyAgVUlOVDMyIFJlc3BMZW5ndGg7DQo+ID4gPiArDQo+ID4gPiArICAv Ly8NCj4gPiA+ICsgIC8vLyBWYXJpYWJsZSBsZW5ndGggYnVmZmVyIGNvbnRhaW5pbmcgdGhlIHJl cGxpZWQgSlNPTiBwYXlsb2FkIHRvIHRoZQ0KPiA+ID4gKyBjYWxsZXIgd2hvIGRlbGl2ZXJlZCBK U09OICAvLy8gY2Fwc3VsZSB0byBzeXN0ZW0uIFRoZSBkZWZpbml0aW9uIG9mDQo+ID4gPiArIHRo ZSBKU09OIHNjaGVtYSB1c2VkIGluIHRoZSByZXBsaWVkIHBheWxvYWQgaXMgYmV5b25kICAvLy8g dGhlIHNjb3BlIG9mDQo+ID4gPiB0aGlzIHNwZWNpZmljYXRpb24uDQo+ID4gPiArICAvLy8NCj4g PiA+ICsgIC8vLyBVSU5UOCBSZXNwW107DQo+ID4gPiArIH0gRUZJX0NBUFNVTEVfUkVTVUxUX1ZB UklBQkxFX0pTT047DQo+ID4gPg0KPiA+ID4gIGV4dGVybiBFRklfR1VJRCBnRWZpQ2Fwc3VsZVJl cG9ydEd1aWQ7DQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBhL01kZVBrZy9JbmNsdWRlL0d1aWQv SnNvbkNhcHN1bGUuaA0KPiA+ID4gYi9NZGVQa2cvSW5jbHVkZS9HdWlkL0pzb25DYXBzdWxlLmgN Cj4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gPiBpbmRleCAwMDAwMDAwLi43MjE2MzZm DQo+ID4gPiAtLS0gL2Rldi9udWxsDQo+ID4gPiArKysgYi9NZGVQa2cvSW5jbHVkZS9HdWlkL0pz b25DYXBzdWxlLmgNCj4gPiA+IEBAIC0wLDAgKzEsOTcgQEANCj4gPiA+ICsvKiogQGZpbGUNCj4g PiA+ICtHdWlkICYgZGF0YSBzdHJ1Y3R1cmUgZm9yIHRhYmxlcyBkZWZpbmVkIGZvciByZXBvcnRp bmcgZmlybXdhcmUNCj4gPiA+ICtjb25maWd1cmF0aW9uIGRhdGEgdG8gRUZJIENvbmZpZ3VyYXRp b24gVGFibGVzIGFuZCBhbHNvIGZvciBwcm9jZXNzaW5nIEpTT04NCj4gPiA+IHBheWxvYWQgY2Fw c3VsZS4NCj4gPiA+ICsNCj4gPiA+ICsNCj4gPiA+ICtDb3B5cmlnaHQgKGMpIDIwMjAsIEFtZXJp Y2FuIE1lZ2F0cmVuZHMgSW50ZXJuYXRpb25hbCBMTEMuIEFsbCByaWdodHMNCj4gPiA+ICtyZXNl cnZlZC48QlI+DQo+ID4gPiArU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1Q YXRlbnQNCj4gPiA+ICsNCj4gPiA+ICsqKi8NCj4gPiA+ICsNCj4gPiA+ICsjaWZuZGVmIF9KU09O X0NBUFNVTEVfR1VJRF9IX18NCj4gPiA+ICsjZGVmaW5lIF9KU09OX0NBUFNVTEVfR1VJRF9IX18N Cj4gPiA+ICsNCj4gPiA+ICsvLw0KPiA+ID4gKy8vIFRoZSBhZGRyZXNzIHJlcG9ydGVkIGluIHRo ZSB0YWJsZSBlbnRyeSBpZGVudGlmaWVkIGJ5DQo+ID4gPiArRUZJX0pTT05fQ0FQU1VMRV9EQVRB X1RBQkxFX0dVSUQgd2lsbCBiZSAvLyByZWZlcmVuY2VkIGFzIHBoeXNpY2FsDQo+ID4gPiBhbmQN Cj4gPiA+ICt3aWxsIG5vdCBiZSBmaXhlZCB1cCB3aGVuIHRyYW5zaXRpb24gZnJvbSBwcmVib290 IHRvIHJ1bnRpbWUgcGhhc2UuIFRoZQ0KPiA+ID4gKy8vIGFkZHJlc3NlcyByZXBvcnRlZCBpbiB0 aGVzZSB0YWJsZSBlbnRyaWVzIGlkZW50aWZpZWQgYnkNCj4gPiA+ICtFRklfSlNPTl9DT05GSUdf REFUQV9UQUJMRV9HVUlEIGFuZCAvLw0KPiA+ID4gRUZJX0pTT05fQ0FQU1VMRV9SRVNVTFRfVEFC TEVfR1VJRCB3aWxsIGJlIHJlZmVyZW5jZWQgYXMgdmlydHVhbCBhbmQNCj4gPiA+IHdpbGwgYmUg Zml4ZWQgdXAgd2hlbiAvLyB0cmFuc2l0aW9uIGZyb20gcHJlYm9vdCB0byBydW50aW1lIHBoYXNl Lg0KPiA+ID4gKy8vDQo+ID4gPiArI2RlZmluZSBFRklfSlNPTl9DT05GSUdfREFUQV9UQUJMRV9H VUlEIFwNCj4gPiA+ICsgICAgezB4ODczNjdmODcsIDB4MTExOSwgMHg0MWNlLCBcDQo+ID4gPiAr ICAgIHsweGFhLCAweGVjLCAweDhiLCAweGUwLCAweDExLCAweDFmLCAweDU1LCAweDhhIH19ICNk ZWZpbmUNCj4gPiA+ICtFRklfSlNPTl9DQVBTVUxFX0RBVEFfVEFCTEVfR1VJRCBcDQo+ID4gPiAr ICAgIHsweDM1ZTdhNzI1LCAweDhkZDIsIDB4NGNhYywgXA0KPiA+ID4gKyAgICB7MHg4MCwgMHgx MSwgMHgzMywgMHhjZCwgMHhhOCwgMHgxMCwgMHg5MCwgMHg1NiB9fSAjZGVmaW5lDQo+ID4gPiAr RUZJX0pTT05fQ0FQU1VMRV9SRVNVTFRfVEFCTEVfR1VJRCBcDQo+ID4gPiArICAgIHsweGRiYzQ2 MWMzLCAweGIzZGUsIDB4NDIyYSxcDQo+ID4gPiArICAgIHsweGI5LCAweGI0LCAweDk4LCAweDg2 LCAweGZkLCAweDQ5LCAweGExLCAweGU1IH19ICNkZWZpbmUNCj4gPiA+ICtFRklfSlNPTl9DQVBT VUxFX0lEX0dVSUQgXA0KPiA+ID4gKyAgICB7MHg2N2Q2ZjRjZCwgMHhkNmI4LCAgMHg0NTczLCBc DQo+ID4gPiArICAgIHsweGJmLCAweDRhLCAweGRlLCAweDVlLCAweDI1LCAweDJkLCAweDYxLCAw eGFlIH19DQo+ID4gPiArDQo+ID4gPiArDQo+ID4gPiArI3ByYWdtYSBwYWNrKDEpDQo+ID4gPiAr DQo+ID4gPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ID4gKyAgLy8vDQo+ID4gPiArICAvLy8gVmVy c2lvbiBvZiB0aGUgc3RydWN0dXJlLCBpbml0aWFsbHkgMHgwMDAwMDAwMS4NCj4gPiA+ICsgIC8v Lw0KPiA+ID4gKyAgVUlOVDMyIFZlcnNpb247DQo+ID4gPiArDQo+ID4gPiArICAvLy8NCj4gPiA+ ICsgIC8vLyBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhpcyBjYXBzdWxlLg0KPiA+ID4gKyAg Ly8vDQo+ID4gPiArICBVSU5UMzIgQ2Fwc3VsZUlkOw0KPiA+ID4gKw0KPiA+ID4gKyAgLy8vDQo+ ID4gPiArICAvLy8gVGhlIGxlbmd0aCBvZiB0aGUgSlNPTiBwYXlsb2FkIGltbWVkaWF0ZWx5IGZv bGxvd2luZyB0aGlzIGhlYWRlciwgaW4NCj4gPiA+IGJ5dGVzLg0KPiA+ID4gKyAgLy8vDQo+ID4g PiArICBVSU5UMzIgUGF5bG9hZExlbmd0aDsNCj4gPiA+ICsNCj4gPiA+ICsgIC8vLw0KPiA+ID4g KyAgLy8vIFZhcmlhYmxlIGxlbmd0aCBidWZmZXIgY29udGFpbmluZyB0aGUgSlNPTiBwYXlsb2Fk IHRoYXQgc2hvdWxkIGJlDQo+ID4gPiArcGFyc2VkIGFuZCBhcHBsaWVkIHRvIHRoZSBzeXN0ZW0u IFRoZQ0KPiA+ID4gKyAgLy8vIGRlZmluaXRpb24gb2YgdGhlIEpTT04gc2NoZW1hIHVzZWQgaW4g dGhlIHBheWxvYWQgaXMgYmV5b25kIHRoZSBzY29wZQ0KPiA+ID4gb2YgdGhpcyBzcGVjaWZpY2F0 aW9uLg0KPiA+ID4gKyAgLy8vIFVJTlQ4IFBheWxvYWRbXTsNCj4gPiA+ICt9IEVGSV9KU09OX0NB UFNVTEVfSEVBREVSOw0KPiA+ID4gKw0KPiA+ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiA+ICsg IC8vLw0KPiA+ID4gKyAgLy8vIFRoZSBsZW5ndGggb2YgdGhlIGZvbGxvd2luZyBDb25maWdEYXRh LCBpbiBieXRlcy4NCj4gPiA+ICsgIC8vLw0KPiA+ID4gKyAgVUlOVDMyIENvbmZpZ0RhdGFMZW5n dGg7DQo+ID4gPiArDQo+ID4gPiArICAvLy8NCj4gPiA+ICsgIC8vLyBWYXJpYWJsZSBsZW5ndGgg YnVmZmVyIGNvbnRhaW5pbmcgdGhlIEpTT04gcGF5bG9hZCB0aGF0IGRlc2NyaWJlcw0KPiA+ID4g K29uZSBncm91cCBvZiBjb25maWd1cmF0aW9uIGRhdGEgd2l0aGluDQo+ID4gPiArICAvLy8gY3Vy cmVudCBzeXN0ZW0uIFRoZSBkZWZpbml0aW9uIG9mIHRoZSBKU09OIHNjaGVtYSB1c2VkIGluIHRo aXMgcGF5bG9hZA0KPiA+ID4gaXMgYmV5b25kIHRoZSBzY29wZSBvZiB0aGlzIHNwZWNpZmljYXRp b24uDQo+ID4gPiArICAvLy8NCj4gPiA+ICsgIC8vL1VJTlQ4IENvbmZpZ0RhdGFbQ29uZmlnRGF0 YUxlbmd0aF07IH0gRUZJX0pTT05fQ09ORklHX0RBVEFfSVRFTTsNCj4gPiA+ICsNCj4gPiA+ICt0 eXBlZGVmIHN0cnVjdCB7DQo+ID4gPiArICAvLy8NCj4gPiA+ICsgIC8vLyBWZXJzaW9uIG9mIHRo ZSBzdHJ1Y3R1cmUsIGluaXRpYWxseSAweDAwMDAwMDAxLg0KPiA+ID4gKyAgLy8vDQo+ID4gPiAr ICBVSU5UMzIgVmVyc2lvbjsNCj4gPiA+ICsNCj4gPiA+ICsgIC8vLw0KPiA+ID4gKyAgLy8vL1Ro ZSB0b3RhbCBsZW5ndGggb2YgRUZJX0pTT05fQ0FQU1VMRV9DT05GSUdfREFUQSwgaW4gYnl0ZXMu DQo+ID4gPiArICAvLy8NCj4gPiA+ICsgIFVJTlQzMiBUb3RhbExlbmd0aDsNCj4gPiA+ICsNCj4g PiA+ICsgIC8vLw0KPiA+ID4gKyAgLy8vIEFycmF5IG9mIGNvbmZpZ3VyYXRpb24gZGF0YSBncm91 cHMuDQo+ID4gPiArICAvLy8NCj4gPiA+ICsgIC8vLyBFRklfSlNPTl9DT05GSUdfREFUQV9JVEVN IENvbmZpZ0RhdGFMaXN0W107IH0NCj4gPiA+ICtFRklfSlNPTl9DQVBTVUxFX0NPTkZJR19EQVRB Ow0KPiA+ID4gKw0KPiA+ID4gKyNwcmFnbWEgcGFjaygpDQo+ID4gPiArDQo+ID4gPiArZXh0ZXJu IEVGSV9HVUlEIGdFZmlKc29uQ29uZmlnRGF0YVRhYmxlR3VpZDsgZXh0ZXJuIEVGSV9HVUlEDQo+ ID4gPiArZ0VmaUpzb25DYXBzdWxlRGF0YVRhYmxlR3VpZDsgZXh0ZXJuIEVGSV9HVUlEDQo+ID4g PiArZ0VmaUpzb25DYXBzdWxlUmVzdWx0VGFibGVHdWlkOyBleHRlcm4gRUZJX0dVSUQgZ0VmaUpz b25DYXBzdWxlSWRHdWlkOw0KPiA+ID4gKw0KPiA+ID4gKw0KPiA+ID4gKyNlbmRpZg0KPiA+ID4g ZGlmZiAtLWdpdCBhL01kZVBrZy9JbmNsdWRlL1VlZmkvVWVmaVNwZWMuaA0KPiA+ID4gYi9NZGVQ a2cvSW5jbHVkZS9VZWZpL1VlZmlTcGVjLmggaW5kZXggYjkyODJjYy4uMzU0NzM0NSAxMDA2NDQN Cj4gPiA+IC0tLSBhL01kZVBrZy9JbmNsdWRlL1VlZmkvVWVmaVNwZWMuaA0KPiA+ID4gKysrIGIv TWRlUGtnL0luY2x1ZGUvVWVmaS9VZWZpU3BlYy5oDQo+ID4gPiBAQCAtMTc4Myw2ICsxNzgzLDcg QEAgRUZJX1NUQVRVUw0KPiA+ID4gICNkZWZpbmUgRUZJX09TX0lORElDQVRJT05TX0ZNUF9DQVBT VUxFX1NVUFBPUlRFRA0KPiA+ID4gMHgwMDAwMDAwMDAwMDAwMDA4DQo+ID4gPiAgI2RlZmluZSBF RklfT1NfSU5ESUNBVElPTlNfQ0FQU1VMRV9SRVNVTFRfVkFSX1NVUFBPUlRFRA0KPiA+ID4gMHgw MDAwMDAwMDAwMDAwMDEwDQo+ID4gPiAgI2RlZmluZSBFRklfT1NfSU5ESUNBVElPTlNfU1RBUlRf UExBVEZPUk1fUkVDT1ZFUlkNCj4gPiA+IDB4MDAwMDAwMDAwMDAwMDA0MA0KPiA+ID4gKyNkZWZp bmUgRUZJX09TX0lORElDQVRJT05TX0pTT05fQ09ORklHX0RBVEFfUkVGUkVTSA0KPiA+ID4gMHgw MDAwMDAwMDAwMDAwMDgwDQo+ID4gPg0KPiA+ID4gIC8vDQo+ID4gPiAgLy8gRUZJIFJ1bnRpbWUg U2VydmljZXMgVGFibGUNCj4gPiA+IGRpZmYgLS1naXQgYS9NZGVQa2cvTWRlUGtnLmRlYyBiL01k ZVBrZy9NZGVQa2cuZGVjIGluZGV4DQo+ID4gPiAwYjljNGJjLi41ZGMwMmYyIDEwMDY0NA0KPiA+ ID4gLS0tIGEvTWRlUGtnL01kZVBrZy5kZWMNCj4gPiA+ICsrKyBiL01kZVBrZy9NZGVQa2cuZGVj DQo+ID4gPiBAQCAtNjQ1LDYgKzY0NSwxNyBAQA0KPiA+ID4gICAgIyMgSW5jbHVkZS9HdWlkL0J0 dC5oDQo+ID4gPiAgICBnRWZpQnR0QWJzdHJhY3Rpb25HdWlkICAgICAgICAgPSB7IDB4MTg2MzNi ZmMsIDB4MTczNSwgMHg0MjE3LCB7IDB4OGEsIDB4YzksDQo+ID4gPiAweDE3LCAweDIzLCAweDky LCAweDgyLCAweGQzLCAweGY4IH19DQo+ID4gPg0KPiA+ID4gKyAgIyBHVUlEcyBkZWZpbmVkIGlu IFVFRkkyLjgNCj4gPiA+ICsgICMNCj4gPiA+ICsgICMjIEluY2x1ZGUvR3VpZC9Kc29uQ2Fwc3Vs ZS5oDQo+ID4gPiArICBnRWZpSnNvbkNvbmZpZ0RhdGFUYWJsZUd1aWQgICAgICA9IHsgMHg4NzM2 N2Y4NywgMHgxMTE5LCAweDQxY2UsIHsgMHhhYSwNCj4gPiA+IDB4ZWMsIDB4OGIsIDB4ZTAsIDB4 MTEsIDB4MWYsIDB4NTUsIDB4OGEgfX0NCj4gPiA+ICsgIGdFZmlKc29uQ2Fwc3VsZURhdGFUYWJs ZUd1aWQgICAgID0geyAweDM1ZTdhNzI1LCAweDhkZDIsIDB4NGNhYywgeyAweDgwLA0KPiA+ID4g MHgxMSwgMHgzMywgMHhjZCwgMHhhOCwgMHgxMCwgMHg5MCwgMHg1NiB9fQ0KPiA+ID4gKyAgZ0Vm aUpzb25DYXBzdWxlUmVzdWx0VGFibGVHdWlkICAgPSB7IDB4ZGJjNDYxYzMsIDB4YjNkZSwgMHg0 MjJhLCB7IDB4YjksDQo+ID4gPiAweGI0LCAweDk4LCAweDg2LCAweGZkLCAweDQ5LCAweGExLCAw eGU1IH19DQo+ID4gPiArICBnRWZpSnNvbkNhcHN1bGVJZEd1aWQgICAgICAgICAgICA9IHsgMHg2 N2Q2ZjRjZCwgMHhkNmI4LCAweDQ1NzMsIHsgMHhiZiwgMHg0YSwNCj4gPiA+IDB4ZGUsIDB4NWUs IDB4MjUsIDB4MmQsIDB4NjEsIDB4YWUgfX0NCj4gPiA+ICsNCj4gPiA+ICsgICMjIEluY2x1ZGVc R3VpZFxIaWlQbGF0Zm9ybVNldHVwRm9ybXNldC5oDQo+ID4gPiArICBnRWZpSGlpUmVzZXRTdHls ZUZvcm1zZXRHdWlkICAgICA9IHsgMHg3OTAyMTdiZCwgMHhiZWNmLCAweDQ4NWIsIHsgMHg5MSwN Cj4gPiA+IDB4NzAsIDB4NWYsIDB4ZjcsIDB4MTEsIDB4MzEsIDB4OGIsIDB4MjcgfX0NCj4gPiA+ ICsNCj4gPiA+ICAgICMNCj4gPiA+ICAgICMgR1VJRCBkZWZpbmVkIGluIFBJMS4wDQo+ID4gPiAg ICAjDQo+ID4gPiAtLQ0KPiA+ID4gMi45LjAud2luZG93cy4xDQo+ID4gPg0KPiA+ID4NCj4gPiA+ IFBsZWFzZSBjb25zaWRlciB0aGUgZW52aXJvbm1lbnQgYmVmb3JlIHByaW50aW5nIHRoaXMgZW1h aWwuDQo+ID4gPg0KPiA+ID4gVGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGlzIG1lc3Nh Z2UgbWF5IGJlIGNvbmZpZGVudGlhbCBhbmQNCj4gPiA+IHByb3ByaWV0YXJ5IHRvIEFtZXJpY2Fu IE1lZ2F0cmVuZHMgKEFNSSkuICBUaGlzIGNvbW11bmljYXRpb24gaXMgaW50ZW5kZWQNCj4gPiA+ IHRvIGJlIHJlYWQgb25seSBieSB0aGUgaW5kaXZpZHVhbCBvciBlbnRpdHkgdG8gd2hvbSBpdCBp cyBhZGRyZXNzZWQgb3IgYnkgdGhlaXINCj4gPiA+IGRlc2lnbmVlLiBJZiB0aGUgcmVhZGVyIG9m IHRoaXMgbWVzc2FnZSBpcyBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgeW91IGFyZQ0KPiA+ ID4gb24gbm90aWNlIHRoYXQgYW55IGRpc3RyaWJ1dGlvbiBvZiB0aGlzIG1lc3NhZ2UsIGluIGFu eSBmb3JtLCBpcyBzdHJpY3RseQ0KPiA+ID4gcHJvaGliaXRlZC4gIFBsZWFzZSBwcm9tcHRseSBu b3RpZnkgdGhlIHNlbmRlciBieSByZXBseSBlLW1haWwgb3IgYnkNCj4gPiA+IHRlbGVwaG9uZSBh dCA3NzAtMjQ2LTg2MDAsIGFuZCB0aGVuIGRlbGV0ZSBvciBkZXN0cm95IGFsbCBjb3BpZXMgb2Yg dGhlDQo+ID4gPiB0cmFuc21pc3Npb24uDQo+ID4gPg0KPiA+ID4NCj4gDQo+IA0KPiANCg0K