From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) by mx.groups.io with SMTP id smtpd.web11.506.1602688078497414874 for ; Wed, 14 Oct 2020 08:07:58 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=OuoBSpKG; spf=pass (domain: hpe.com, ip: 148.163.143.35, mailfrom: prvs=05564a573f=abner.chang@hpe.com) Received: from pps.filterd (m0134424.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 09EF6d72030008; Wed, 14 Oct 2020 15:07:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pps0720; bh=3GLuY+1WGbeXinkYmFYOvAZePmPI/eqCA20X0avJK10=; b=OuoBSpKG1cv9Pxo8vflkTG39JNolDJ07g53WHLrv83Bk9g5HcJmiCWCJJ5r4fcbodCDp ASJWbLBEgUsRvLb6YVS7cSLbt2LXi/sLrMeUVg2e/xVb2OwIOykH0JKV5IRcynlNW0rh yxAR3J4lhN7o9EyyLB7We/zgDgphTA4dpi0IE8w5abbBLgKXYw7O6EM8URE/DiJCEz5a DyuU1p+TSJH5fBkrumZb0b85aGhELUrUOAXfLTKYuhLasDGX4Ci1AGhm11PZmAVr2wWv CLzGtmh/qOBpoYOh/waatr7Lnnp2BM3cz+nI1MM75f+/fS3O4wJOlQk+P6Z+pniMlQJN qg== Received: from g4t3426.houston.hpe.com (g4t3426.houston.hpe.com [15.241.140.75]) by mx0b-002e3701.pphosted.com with ESMTP id 345yuctd60-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 14 Oct 2020 15:07:53 +0000 Received: from G4W9120.americas.hpqcorp.net (exchangepmrr1.us.hpecorp.net [16.210.21.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g4t3426.houston.hpe.com (Postfix) with ESMTPS id 9FB404E; Wed, 14 Oct 2020 15:07:51 +0000 (UTC) Received: from G1W8108.americas.hpqcorp.net (2002:10c1:483c::10c1:483c) by G4W9120.americas.hpqcorp.net (2002:10d2:150f::10d2:150f) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 14 Oct 2020 15:07:51 +0000 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (15.241.52.12) by G1W8108.americas.hpqcorp.net (16.193.72.60) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Wed, 14 Oct 2020 15:07:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nILEChfWh1NNrHuh6BJJTt3xBESKWQrSBWiILD3VrTEdwZW6euCCcP3JeeM2LkEeoVPk/bOWu13Co6YAgN6merKHZL/zpQvD6diXYkbvTv1Gy+lXGC1wZF7ojnKaGLNMh7IfYwxLciIuPwCrC8GqdCO3UCuaJCjsPrDPQr+DjvQcWD7EojFSnGH28GN9/YRjqUZjBjhDQ9IJJy23vzv52pBow9S5+1ipnuJLP9txRXn4xvcEWiLwJ8TCgFVB2NbDCDLugBOPNWsY7VJ8cx0lZ4mu/d2elGAHLgmP8MHXsrmewz980xArcjxxAfU+/aIauIgSJgbGnPJuemIYWx6J4A== 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=0Ihdo8sRlupiaIYjZ7UuxBZ+Hpi9llRwuVCFOBSdeAk=; b=cnCz/Jj7SFfhP0pHpRNgJTtv6ysAmZjCLd4MLRK88cG5IbT3sd9+lfuII3a9R+x3IAQOsDlIFa2SgEluXM4FoQjYiv9wN3A99mGoqIs9CSywYkoLNO/eMLV9VqBEOxN5oMvAmeBdIWQYzjO/15rtedZSo95feMURASuqgacCSlpGsU8/f483R5MnrK2weUCg50iq+CSQz9WuM7amc1TvLsXj5A3/9lBLahePwCkuJHXDXoKx8qw5DOE039FuJnidQTmsfGacKE5peukUt1xjx1FMCZi93P5Ny7D0avxKzPRXrnk5JIIN9BiOsjH1/HAP/PwvAZebHX77Y4HB+q7JzQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:7508::16) by CS1PR8401MB0949.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:750f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.23; Wed, 14 Oct 2020 15:07:49 +0000 Received: from CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2d63:fa59:f357:43d0]) by CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM ([fe80::2d63:fa59:f357:43d0%11]) with mapi id 15.20.3455.031; Wed, 14 Oct 2020 15:07:49 +0000 From: "Abner Chang" To: gaoliming , "devel@edk2.groups.io" CC: 'Michael D Kinney' , 'Zhiguang Liu' , 'Jiaxin Wu' , 'Siyuan Fu' , 'Fan Wang' , 'Jiewen Yao' , "Wang, Nickle (HPS SW)" Subject: Re: [edk2-devel] [RestJsonStructureDxe PATCH 1/2] MdePkg/Include: Definitions of EFI REST JSON Structure Protocol Thread-Topic: [edk2-devel] [RestJsonStructureDxe PATCH 1/2] MdePkg/Include: Definitions of EFI REST JSON Structure Protocol Thread-Index: AQHWoezHHQW+39Cj4k+3ZfdUANBm4qmXMxHg Date: Wed, 14 Oct 2020 15:07:49 +0000 Message-ID: References: <20201008151045.16476-1-abner.chang@hpe.com> <20201008151045.16476-2-abner.chang@hpe.com> <003a01d6a1ec$c77bee30$5673ca90$@byosoft.com.cn> In-Reply-To: <003a01d6a1ec$c77bee30$5673ca90$@byosoft.com.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: byosoft.com.cn; dkim=none (message not signed) header.d=none;byosoft.com.cn; dmarc=none action=none header.from=hpe.com; x-originating-ip: [1.34.113.40] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 70f9300b-3fd7-4689-d21d-08d87052ea88 x-ms-traffictypediagnostic: CS1PR8401MB0949: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:98; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: e4K56nCieXIbz4/xWqyGSgK+Mr4EAPqE8jiWIS/af+aMNTZM/lSJpJrwuDUdLCEgr/Ry+5zOnsvxItGWHMmonWRYBWTS7cxrdyF+EYQL/MvLU0FfaicY9IUuycdfFbPjfGZHH7HQgt0vu5VlhUUkYlZFcsJ5tCjkzTSd1bolFSidcu96NzeksFcs4LfyeXaeCyadPgkCOvmkP2JWSQDIbKoG1i8T8RkibOw5vcfgz04RFdGOSBkXbdfdLfb49KBMoXwzkF0tE6e6VCpvkYQHoJUphWQP3mSGEE1RvtcsW4zKQwk+nd8fMBaZJD5JGB2vHY+SppKrkIVkAmkzGgSbM56kNSrW0Tz2Fj5D4Wleoa5k9u7j9YC9YprMKOtdaRKza/brTxZ9GXeI7jcP+UJxqQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(376002)(396003)(366004)(136003)(346002)(39860400002)(30864003)(110136005)(54906003)(186003)(5660300002)(26005)(7696005)(6506007)(53546011)(33656002)(966005)(316002)(478600001)(4326008)(83380400001)(83080400001)(71200400001)(66446008)(66556008)(76116006)(64756008)(66476007)(66946007)(8676002)(2906002)(8936002)(9686003)(55016002)(86362001)(19627235002)(52536014);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: LftnyuaFcGF9oIhhfYqv8JPdc4jLpC6Tg6ylLoIOQqbIA8K9BDz7q2v2QrJWQb9jdrSXcw9iA6SBd229VcvfPHmkgPoE4aA69c0wy1E4999PRxtrAyTFWY6P7lEQGGy4yX8rCSJWpresvGbkd4QOxis87U8DtXXa2TtZgBVR+tRkJQf//CHMybC4JyjGpuJgrwMw56HJ0sU+DcuUiI7s7QuRCnFIWDptiJFUY7Q+yOcLKHr5z9OAWuiSytB6VBPuKuOBIuH8h7HfpAfr/TGMFDQjePx6/Y4EY/hEICklm5oFl7tw5fxwvFtAeK3cQhIW6jlne+SxoACLffUFUllHnGt4aGm++pXvaFQqXszXUKiFz15bCirVt6CpO6sne71rUHk6cgofOUgG/gJiM3gisE5IAX7lEn5edG/JOktV7V6CoZ7bwGgK4aSzKYWthwgivsr1E9/rJLLD3SSNemhN6qlWm7DfrkLMo4kXp9EMAqwHD32N4jVeBFHDCO+an+64R24AvGv2KlJfr/Iebxvw2+sOM1PHEXnD9EvrTnmrS72NOk1hEuJTI0QzH8c51VCnAptHvY1CTHaRHBZ7vrAPFKz104R9UlFkhMrdQTf7hjaIaLwF9MZP5qdUjJETtiUHIk6JmfCxHouzAierNPQfug== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 70f9300b-3fd7-4689-d21d-08d87052ea88 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Oct 2020 15:07:49.6499 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 5aD3EkQ/g5K6GuuKyAERBA7rTuytf0x76F/gmOC0Ez7z9q/K84TSwm/JOJ4JjPBPB9359lF/aekEV2kXgwdKJA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR8401MB0949 X-OriginatorOrg: hpe.com X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235,18.0.687 definitions=2020-10-14_08:2020-10-14,2020-10-14 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 bulkscore=0 adultscore=0 spamscore=0 lowpriorityscore=0 mlxlogscore=999 mlxscore=0 malwarescore=0 priorityscore=1501 clxscore=1015 impostorscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2010140110 Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZ2FvbGltaW5nIFttYWls dG86Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuXQ0KPiBTZW50OiBXZWRuZXNkYXksIE9jdG9iZXIg MTQsIDIwMjAgMTo0MiBQTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IENoYW5nLCBBYm5l ciAoSFBTIFNXL0ZXIFRlY2hub2xvZ2lzdCkNCj4gPGFibmVyLmNoYW5nQGhwZS5jb20+DQo+IENj OiAnTWljaGFlbCBEIEtpbm5leScgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgJ1poaWd1 YW5nIExpdScNCj4gPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+OyAnSmlheGluIFd1JyA8amlheGlu Lnd1QGludGVsLmNvbT47ICdTaXl1YW4gRnUnDQo+IDxzaXl1YW4uZnVAaW50ZWwuY29tPjsgJ0Zh biBXYW5nJyA8ZmFuLndhbmdAaW50ZWwuY29tPjsgJ0ppZXdlbiBZYW8nDQo+IDxqaWV3ZW4ueWFv QGludGVsLmNvbT47IFdhbmcsIE5pY2tsZSAoSFBTIFNXKSA8bmlja2xlLndhbmdAaHBlLmNvbT4N Cj4gU3ViamVjdDogu9i4tDogW2VkazItZGV2ZWxdIFtSZXN0SnNvblN0cnVjdHVyZUR4ZSBQQVRD SCAxLzJdDQo+IE1kZVBrZy9JbmNsdWRlOiBEZWZpbml0aW9ucyBvZiBFRkkgUkVTVCBKU09OIFN0 cnVjdHVyZSBQcm90b2NvbA0KPiANCj4gQWJuZXI6DQo+IA0KPiA+IC0tLS0t08q8/tStvP4tLS0t LQ0KPiA+ILeivP7IyzogYm91bmNlKzI3OTUyKzY2MDMwKzQ5MDU5NTMrODc2MTA0NUBncm91cHMu aW8NCj4gPiA8Ym91bmNlKzI3OTUyKzY2MDMwKzQ5MDU5NTMrODc2MTA0NUBncm91cHMuaW8+ILT6 se0gQWJuZXIgQ2hhbmcNCj4gPiC3osvNyrG85DogMjAyMMTqMTDUwjjI1SAyMzoxMQ0KPiA+IMrV vP7IyzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiCzrcvNOiBNaWNoYWVsIEQgS2lubmV5IDxt aWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IExpbWluZyBHYW8NCj4gPiA8Z2FvbGltaW5nQGJ5 b3NvZnQuY29tLmNuPjsgWmhpZ3VhbmcgTGl1IDx6aGlndWFuZy5saXVAaW50ZWwuY29tPjsNCj4g PiBKaWF4aW4gV3UgPGppYXhpbi53dUBpbnRlbC5jb20+OyBTaXl1YW4gRnUgPHNpeXVhbi5mdUBp bnRlbC5jb20+OyBGYW4NCj4gPiBXYW5nIDxmYW4ud2FuZ0BpbnRlbC5jb20+OyBKaWV3ZW4gWWFv IDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IE5pY2tsZQ0KPiA+IFdhbmcgPG5pY2tsZS53YW5nQGhw ZS5jb20+DQo+ID4g1vfM4jogW2VkazItZGV2ZWxdIFtSZXN0SnNvblN0cnVjdHVyZUR4ZSBQQVRD SCAxLzJdIE1kZVBrZy9JbmNsdWRlOg0KPiA+IERlZmluaXRpb25zIG9mIEVGSSBSRVNUIEpTT04g U3RydWN0dXJlIFByb3RvY29sDQo+ID4NCj4gPiBBZGQgZGVmaW5pdGlvbnMgb2YgRUZJIFJFU1Qg SlNPTiBTdHJ1Y3R1cmUgYWNjb3JkaW5nIHRvIFVFRkkgc3BlYw0KPiA+IDIuOCBTZWN0aW9uIDI5 LjcuMyBFRkkgUkVTVCBKU09OIFJlc291cmNlIHRvIEMgU3RydWN0dXJlIENvbnZlcnRlci4NCj4g Pg0KPiA+IFNpZ25lZC1vZmYtYnk6IEFibmVyIENoYW5nIDxhYm5lci5jaGFuZ0BocGUuY29tPg0K PiA+DQo+ID4gQ2M6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KPiA+IENjOiBMaW1pbmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+ID4gQ2M6 IFpoaWd1YW5nIExpdSA8emhpZ3VhbmcubGl1QGludGVsLmNvbT4NCj4gPiBDYzogSmlheGluIFd1 IDxqaWF4aW4ud3VAaW50ZWwuY29tPg0KPiA+IENjOiBTaXl1YW4gRnUgPHNpeXVhbi5mdUBpbnRl bC5jb20+DQo+ID4gQ2M6IEZhbiBXYW5nIDxmYW4ud2FuZ0BpbnRlbC5jb20+DQo+ID4gQ2M6IEpp ZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+IENjOiBOaWNrbGUgV2FuZyA8bmlj a2xlLndhbmdAaHBlLmNvbT4NCj4gPiAtLS0NCj4gPiAgTWRlUGtnL0luY2x1ZGUvUHJvdG9jb2wv UmVzdEpzb25TdHJ1Y3R1cmUuaCB8IDE2MA0KPiA+ICsrKysrKysrKysrKysrKysrKysrDQo+ID4g IE1kZVBrZy9NZGVQa2cuZGVjICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDYgKw0KPiA+ ICAyIGZpbGVzIGNoYW5nZWQsIDE2NiBpbnNlcnRpb25zKCspDQo+ID4gIGNyZWF0ZSBtb2RlIDEw MDY0NCBNZGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9SZXN0SnNvblN0cnVjdHVyZS5oDQo+ID4NCj4g PiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0luY2x1ZGUvUHJvdG9jb2wvUmVzdEpzb25TdHJ1Y3R1cmUu aA0KPiA+IGIvTWRlUGtnL0luY2x1ZGUvUHJvdG9jb2wvUmVzdEpzb25TdHJ1Y3R1cmUuaA0KPiA+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMDAwMC4uNWU0ZmVmOGNmZg0K PiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9NZGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9SZXN0 SnNvblN0cnVjdHVyZS5oDQo+ID4gQEAgLTAsMCArMSwxNjAgQEANCj4gPiArLyoqIEBmaWxlDQo+ ID4gKyAgVGhpcyBmaWxlIGRlZmluZXMgdGhlIEVGSSBSRVNUIEpTT04gU3RydWN0dXJlIFByb3Rv Y29sIGludGVyZmFjZS4NCj4gPiArDQo+IA0KPiBQbGVhc2UgYWxzbyBzcGVjaWZ5IFVFRkkgc3Bl YyB2ZXJzaW9uLg0KPiANCj4gPiArICAoQykgQ29weXJpZ2h0IDIwMjAgSGV3bGV0dCBQYWNrYXJk IEVudGVycHJpc2UgRGV2ZWxvcG1lbnQgTFA8QlI+DQo+ID4gKw0KPiA+ICsgIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gKw0KPiA+ICsqKi8NCj4gPiAr DQo+ID4gKyNpZm5kZWYgRUZJX1JFU1RfSlNPTl9TVFJVQ1RVUkVfUFJPVE9DT0xfSF8NCj4gPiAr I2RlZmluZSBFRklfUkVTVF9KU09OX1NUUlVDVFVSRV9QUk9UT0NPTF9IXw0KPiA+ICsNCj4gPiAr I2luY2x1ZGUgPFVlZmkuaD4NCj4gPiArDQo+IA0KPiBVZWZpLmggaXMgbm90IHJlcXVpcmVkLiBU aGUgbW9kdWxlIHdpbGwgaW5jbHVkZSB0aGlzIGhlYWRlciBmaWxlLg0KPiANCj4gPiArLy8NCj4g PiArLy8gR1VJRCBkZWZpbml0aW9ucw0KPiA+ICsvLw0KPiA+ICsjZGVmaW5lIEVGSV9SRVNUX0pT T05fU1RSVUNUVVJFX1BST1RPQ09MX0dVSUQgXA0KPiA+ICsgIHsgXA0KPiA+ICsgICAgMHhhOWEw NDhmNiwgMHg0OGEwLCAweDQ3MTQsIHsweGI3LCAweGRhLCAweGE5LCAweGFkLDB4ODcsIDB4ZDQs DQo+ID4gKzB4ZGEsDQo+ID4gMHhjOSB9IFwNCj4gPiArICB9DQo+ID4gKw0KPiA+ICt0eXBlZGVm IHN0cnVjdCBfRUZJX1JFU1RfSlNPTl9TVFJVQ1RVUkVfUFJPVE9DT0wNCj4gPiBFRklfUkVTVF9K U09OX1NUUlVDVFVSRV9QUk9UT0NPTDsNCj4gPiArdHlwZWRlZiBDSEFSOCAqIEVGSV9SRVNUX0pT T05fUkVTT1VSQ0VfVFlQRV9EQVRBVFlQRTsNCj4gPiArdHlwZWRlZiBDSEFSOCAqIEVGSV9SRVNU X1JFU09VUkNFX1JFTEFUSVZFX1BBVEg7DQo+IEVGSV9SRVNUX1JFU09VUkNFX1JFTEFUSVZFX1BB VEggaXMgbm90IGluIFVFRkkgc3BlYy4gQ2FuIHlvdSBjb25maXJtIGl0Pw0KR29vZCBjYXRjaC4g V2UgZG9uoa90IHVzZSB0aGlzIGFueW1vcmUuDQo+IA0KPiA+ICsNCj4gPiArLyoqIFN0cnVjdHVy ZSBkZWZpbnRpb25zIG9mIHJlc291cmNlIG5hbWUgc3BhY2UuDQo+ID4gKyAgKg0KPiA+ICsgICog VGhlIGZpZWxkcyBkZWNsYXJlZCBpbiB0aGlzIHN0cnVjdHVyZSBkZWZpbmUgdGhlDQo+ID4gKyAg KiBuYW1lIGFuZCByZXZpc2lvbiBvZiBwYXlsb2FkIGRlbGlldmVyZWQgdGhyb3VnaHQNCj4gPiAr ICAqIFJFU1QgQVBJLg0KPiA+ICsqKi8NCj4gDQo+IFN0cnVjdHVyZSBjb21tZW50cyBzdGFydCB3 aXRoIC8vLyBvciAvLy4gLyoqLyBzdHlsZSBpcyBmb3IgdGhlIGZ1bmN0aW9uLg0KPiBQbGVhc2Ug dXBkYXRlIHRoZW0uDQo+IA0KPiA+ICt0eXBlZGVmIHN0cnVjdCBfRUZJX1JFU1RfSlNPTl9SRVNP VVJDRV9UWVBFX05BTUVTUEFDRSB7DQo+ID4gKyAgQ0hBUjggKlJlc291cmNlVHlwZU5hbWU7ICAg Ly8vPCBSZXNvdXJjZSB0eXBlIG5hbWUNCj4gPiArICBDSEFSOCAqTWFqb3JWZXJzaW9uOyAgICAg ICAvLy88IFJlc291cmNlIG1ham9yIHZlcnNpb24NCj4gPiArICBDSEFSOCAqTWlub3JWZXJzaW9u OyAgICAgICAvLy88IFJlc291cmNlIG1pbm9yIHZlcnNpb24NCj4gPiArICBDSEFSOCAqRXJyYXRh VmVyc2lvbjsgICAgICAvLy88IFJlc291cmNlIGVycmF0YSB2ZXJzaW9uDQo+ID4gK30gRUZJX1JF U1RfSlNPTl9SRVNPVVJDRV9UWVBFX05BTUVTUEFDRTsNCj4gPiArDQo+ID4gKy8qKiBSRVNUIHJl c291cmNlIHR5cGUgaWRlbnRpZmllcg0KPiA+ICsgICoNCj4gPiArICAqIFJFU1QgcmVzb3VyY2Ug dHlwZSBjb25zaXN0cyBvZiBuYW1lIHNwYWNlIGFuZCBkYXRhIHR5cGUuDQo+ID4gKyoqLw0KPiA+ ICt0eXBlZGVmIHN0cnVjdCBfRUZJX1JFU1RfSlNPTl9SRVNPVVJDRV9UWVBFX0lERU5USUZJRVIg ew0KPiA+ICsgIEVGSV9SRVNUX0pTT05fUkVTT1VSQ0VfVFlQRV9OQU1FU1BBQ0UgTmFtZVNwYWNl OyAvLy88DQo+ID4gTmFtZXNwYWNlIG9mIHRoaXMgcmVzb3VyY2UgdHlwZS4NCj4gPiArICBFRklf UkVTVF9KU09OX1JFU09VUkNFX1RZUEVfREFUQVRZUEUgRGF0YVR5cGU7ICAgLy8vPCBOYW1lIG9m DQo+ID4gZGF0YSB0eXBlIGRlY2xhcmVkIGluIHRoaXMNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vPA0KPiA+IHJlc291cmNlIHR5cGUu DQo+ID4gK30gRUZJX1JFU1RfSlNPTl9SRVNPVVJDRV9UWVBFX0lERU5USUZJRVI7DQo+ID4gKw0K PiA+ICsvKiogTGlzdCBvZiBKU09OIHRvIEMgc3RydWN0dXJlIGNvbnZlcnNpb25zIHdoaWNoIHRo aXMgY29udmVydG9yDQo+IHN1cHBvcnRzLg0KPiA+ICsgICoNCj4gPiArKiovDQo+ID4gK3R5cGVk ZWYgc3RydWN0IF9FRklfUkVTVF9KU09OX1NUUlVDVFVSRV9TVVBQT1JURUQgew0KPiA+ICsgIExJ U1RfRU5UUlkgTmV4dFN1cHBvcnRlZFJzcmNJbnRlcnA7ICAgICAgICAgICAgICAgICAgICAgICAg Ly8vPA0KPiA+IExpbmtsaXN0IHRvIG5leHQgc3VwcG9ydGVkIGNvbnZlcnNpb24uDQo+ID4gKyAg RUZJX1JFU1RfSlNPTl9SRVNPVVJDRV9UWVBFX0lERU5USUZJRVIgUmVzdFJlc291cmNlSW50ZXJw OyAvLy88DQo+ID4gSlNPTiByZXNvdXJjZSB0eXBlIHRoaXMgY29udmVydG9yIHN1cHBvcnRzLg0K PiA+ICt9IEVGSV9SRVNUX0pTT05fU1RSVUNUVVJFX1NVUFBPUlRFRDsNCj4gPiArDQo+ID4gKy8q KiBUaGUgaGVhZGVyIGZpbGUgb2YgSlNPTiBDIHN0cnVjdHVyZQ0KPiA+ICsgICoNCj4gPiArKiov DQo+ID4gK3R5cGVkZWYgc3RydWN0IF9FRklfUkVTVF9KU09OX1NUUlVDVFVSRV9IRUFERVIgew0K PiA+ICsgIEVGSV9SRVNUX0pTT05fUkVTT1VSQ0VfVFlQRV9JREVOVElGSUVSICAgIEpzb25Sc3Jj SWRlbnRpZmllcjsNCj4gPiAvLy88IFJlc291cmNlIGlkZW50aWZpZXIgd2hpY2ggdXNlIHRvDQo+ ID4gKw0KPiA+IC8vLzwgY2hvaWNlIHRoZSBwcm9wZXIgaW50ZXJwcmV0ZXIuDQo+ID4gKyAgLy8v PCBGb2xsb3cgYnkgYSBwb2ludGVyIHBvaW50cyB0byBKU09OIHN0cnVjdHVyZSwgdGhlIGNvbnRl bnQgaW4NCj4gPiArIHRoZSAgLy8vPCBKU09OIHN0cnVjdHVyZSBpcyBpbXBsZW1lbnRhdGlvbi1z cGVjaWZpYyBhY2NvcmRpbmcgdG8NCj4gPiArIGNvbnZlcnRlcg0KPiA+IHByb2R1Y2VyLg0KPiA+ ICsgIC8vLw0KPiA+ICsgIFZPSUQgICpKc29uU3RydWN0dXJlUG9pbnRlcjsNCj4gPiArfSAgRUZJ X1JFU1RfSlNPTl9TVFJVQ1RVUkVfSEVBREVSOw0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAgSlNP Ti1JTiBDIFN0cnVjdHVyZS1PVVQgZnVuY3Rpb24uIENvbnZlcnQgdGhlIGdpdmVuIFJFU1QgSlNP Tg0KPiA+ICtyZXNvdXJjZQ0KPiA+IGludG8gc3RydWN0dXJlLg0KPiA+ICsNCj4gPiArICBAcGFy YW1baW5dICAgIFRoaXMgICAgICAgICAgICAgICAgVGhpcyBpcyB0aGUNCj4gPiBFRklfUkVTVF9K U09OX1NUUlVDVFVSRV9QUk9UT0NPTCBpbnN0YW5jZS4NCj4gPiArICBAcGFyYW1baW5dICAgIEpz b25Sc3JjSWRlbnRpZmllciAgVGhpcyBpbmRpY2F0ZXMgdGhlIHJlc291cmNlIHR5cGUgYW5kDQo+ ID4gdmVyc2lvbiBpcyBnaXZlbiBpbg0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXNvdXJjZUpzb25UZXh0Lg0KPiA+ICsgIEBwYXJhbVtpbl0gICAgUmVzb3VyY2VK c29uVGV4dCAgICBSRVNUIEpTT04gcmVzb3VyY2UgaW4gdGV4dA0KPiA+IGZvcm1hdC4NCj4gPiAr ICBAcGFyYW1bb3V0XSAgIEpzb25TdHJ1Y3R1cmUgICAgICAgUG9pbnRlciB0byByZWNlaXZlIHRo ZSBwb2ludGVyIHRvDQo+ID4gRUZJX1JFU1RfSlNPTl9TVFJVQ1RVUkVfSEVBREVSDQo+ID4gKw0K PiA+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MNCj4gPiArICBAcmV0dmFsIE90aGVycw0KPiA+ICst LSovDQo+ID4gK3R5cGVkZWYNCj4gPiArRUZJX1NUQVRVUw0KPiA+ICsoRUZJQVBJICpFRklfUkVT VF9KU09OX1NUUlVDVFVSRV9UT19TVFJVQ1RVUkUpKA0KPiA+ICsgIElOICBFRklfUkVTVF9KU09O X1NUUlVDVFVSRV9QUk9UT0NPTCAgICAgICAgKlRoaXMsDQo+ID4gKyAgSU4gIEVGSV9SRVNUX0pT T05fUkVTT1VSQ0VfVFlQRV9JREVOVElGSUVSICpKc29uUnNyY0lkZW50aWZpZXINCj4gPiBPUFRJ T05BTCwNCj4gPiArICBJTiAgQ0hBUjgNCj4gPiAqUmVzb3VyY2VKc29uVGV4dCwNCj4gPiArICBP VVQgIEVGSV9SRVNUX0pTT05fU1RSVUNUVVJFX0hFQURFUiAgICAgICAgICoqSnNvblN0cnVjdHVy ZQ0KPiA+ICspOw0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAgQ29udmVydCB0aGUgZ2l2ZW4gUkVT VCBKU09OIHN0cnVjdHVyZSBpbnRvIEpTT04gdGV4dC4NCj4gPiArDQo+ID4gKyAgQHBhcmFtW2lu XSAgICBUaGlzICAgICAgICAgICAgICAgICBUaGlzIGlzIHRoZQ0KPiA+IEVGSV9SRVNUX0pTT05f U1RSVUNUVVJFX1BST1RPQ09MIGluc3RhbmNlLg0KPiA+ICsgIEBwYXJhbVtpbl0gICAgSnNvblN0 cnVjdHVyZUhlYWRlciAgVGhlIHBvaW50IHRvDQo+ID4gRUZJX1JFU1RfSlNPTl9TVFJVQ1RVUkVf SEVBREVSICBzdHJ1Y3R1cmUuDQo+ID4gKyAgQHBhcmFtW291dF0gICBSZXNvdXJjZUpzb25UZXh0 ICAgICBQb2ludGVyIHRvIHJlY2VpdmUgUkVTVCBKU09ODQo+ID4gcmVzb3VyY2UgaW4gdGV4dCBm b3JtYXQuDQo+ID4gKw0KPiA+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MNCj4gPiArICBAcmV0dmFs IE90aGVycw0KPiA+ICsNCj4gPiArLS0qLw0KPiA+ICt0eXBlZGVmDQo+ID4gK0VGSV9TVEFUVVMN Cj4gPiArKEVGSUFQSSAqRUZJX1JFU1RfSlNPTl9TVFJVQ1RVUkVfVE9fSlNPTikoDQo+ID4gKyAg SU4gRUZJX1JFU1RfSlNPTl9TVFJVQ1RVUkVfUFJPVE9DT0wgICAgICpUaGlzLA0KPiA+ICsgIElO IEVGSV9SRVNUX0pTT05fU1RSVUNUVVJFX0hFQURFUiAgICAgICAqSnNvblN0cnVjdHVyZUhlYWRl ciwNCj4gPiArICBPVVQgQ0hBUjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKipSZXNv dXJjZUpzb25UZXh0DQo+ID4gKyk7DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICBUaGlzIGZ1bmN0 aW9uIGRlc3Ryb3lzIHRoZSBSRVNUIEpTT04gc3RydWN0dXJlLg0KPiA+ICsNCj4gPiArICBAcGFy YW1baW5dICAgIFRoaXMgICAgICAgICAgICAgICAgIFRoaXMgaXMgdGhlDQo+ID4gRUZJX1JFU1Rf SlNPTl9TVFJVQ1RVUkVfUFJPVE9DT0wgaW5zdGFuY2UuDQo+ID4gKyAgQHBhcmFtW2luXSAgICBK c29uU3RydWN0dXJlSGVhZGVyICBKU09OIHN0cnVjdHVyZSB0byBkZXN0cm95Lg0KPiA+ICsNCj4g PiArICBAcmV0dmFsIEVGSV9TVUNDRVNTDQo+ID4gKyAgQHJldHZhbCBPdGhlcnMNCj4gPiArDQo+ ID4gKy0tKi8NCj4gPiArdHlwZWRlZg0KPiA+ICtFRklfU1RBVFVTDQo+ID4gKyhFRklBUEkgKkVG SV9SRVNUX0pTT05fU1RSVUNUVVJFX0RFU1RPUllfU1RSVUNUVVJFKSgNCj4gPiArICBJTiBFRklf UkVTVF9KU09OX1NUUlVDVFVSRV9QUk9UT0NPTCAgICpUaGlzLA0KPiA+ICsgIElOIEVGSV9SRVNU X0pTT05fU1RSVUNUVVJFX0hFQURFUiAgICAgKkpzb25TdHJ1Y3R1cmVIZWFkZXINCj4gPiArKTsN Cj4gPiArLyoqDQo+ID4gKyAgVGhpcyBmdW5jdGlvbiBwcm92aWRlcyBSRVNUIEpTT04gcmVzb3Vy Y2UgdG8gc3RydWN0dXJlIGNvbnZlcnRlcg0KPiA+IHJlZ2lzdHJhdGlvbi4NCj4gPiArDQo+ID4g KyAgQHBhcmFtW2luXSAgICBUaGlzICAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyB0aGUNCj4g PiBFRklfUkVTVF9KU09OX1NUUlVDVFVSRV9QUk9UT0NPTCBpbnN0YW5jZS4NCj4gPiArICBAcGFy YW1baW5dICAgIEpzb25TdHJ1Y3R1cmVTdXBwb3J0ZWQgICBUaGUgdHlwZSBhbmQgdmVyc2lvbiBv ZiBSRVNUDQo+ID4gSlNPTiByZXNvdXJjZSB3aGljaCB0aGlzIGNvbnZlcnRlcg0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRzLg0KPiA+ICsgIEBw YXJhbVtpbl0gICAgVG9TdHJ1Y3R1cmUgICAgICAgICAgICAgIFRoZSBmdW5jdGlvbiB0byBjb252 ZXJ0DQo+ID4gUkVTVCBKU09OIHJlc291cmNlIHRvIHN0cnVjdHVyZS4NCj4gPiArICBAcGFyYW1b aW5dICAgIFRvSnNvbiAgICAgICAgICAgICAgICAgICBUaGUgZnVuY3Rpb24gdG8gY29udmVydA0K PiA+IFJFU1QgSlNPTiBzdHJ1Y3R1cmUgdG8gSlNPTiBpbiB0ZXh0IGZvcm1hdC4NCj4gPiArICBA cGFyYW1bb3V0XSAgIERlc3Ryb3lTdHJ1Y3R1cmUgICAgICAgICBEZXN0cm95IFJFU1QgSlNPTg0K PiA+IHN0cnVjdHVyZSByZXR1cm5lZCBpbiBUb1N0cnVjdHVyZSgpICBmdW5jdGlvbi4NCj4gPiAr DQo+ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICBSZWdpc3RlciBzdWNjZXNz ZnVsbHkuDQo+ID4gKyAgQHJldHZhbCBPdGhlcnMgICAgICAgICAgICAgICAgICBGYWlsIHRvIHJl Z2lzdGVyLg0KPiA+ICsNCj4gPiArLS0qLw0KPiA+ICt0eXBlZGVmDQo+ID4gK0VGSV9TVEFUVVMN Cj4gPiArKEVGSUFQSSAqRUZJX1JFU1RfSlNPTl9TVFJVQ1RVUkVfUkVHSVNURVIpKA0KPiA+ICsg IElOIEVGSV9SRVNUX0pTT05fU1RSVUNUVVJFX1BST1RPQ09MICAgICAgICpUaGlzLA0KPiA+ICsg IElOIEVGSV9SRVNUX0pTT05fU1RSVUNUVVJFX1NVUFBPUlRFRA0KPiA+ICpKc29uU3RydWN0dXJl U3VwcG9ydGVkLA0KPiA+ICsgIElOIEVGSV9SRVNUX0pTT05fU1RSVUNUVVJFX1RPX1NUUlVDVFVS RSAgIFRvU3RydWN0dXJlLA0KPiA+ICsgIElOIEVGSV9SRVNUX0pTT05fU1RSVUNUVVJFX1RPX0pT T04gICAgICAgIFRvSnNvbiwNCj4gPiArICBJTiBFRklfUkVTVF9KU09OX1NUUlVDVFVSRV9ERVNU T1JZX1NUUlVDVFVSRQ0KPiBEZXN0cm95U3RydWN0dXJlICk7DQo+ID4gKw0KPiA+ICsvKiogRUZJ IFJFU1QgSlNPTiB0byBDIHN0cnVjdHVyZSBwcm90b2NvbCBkZWZpbml0aW9uLg0KPiA+ICsgICoN Cj4gPiArKiovDQo+ID4gK3R5cGVkZWYgc3RydWN0IF9FRklfUkVTVF9KU09OX1NUUlVDVFVSRV9Q Uk9UT0NPTCB7DQo+ID4gKyAgRUZJX1JFU1RfSlNPTl9TVFJVQ1RVUkVfUkVHSVNURVIgICAgICAg ICAgIFJlZ2lzdGVyOw0KPiA+IC8vLzwgUmVnaXN0ZXIgSlNPTiB0byBDIHN0cnVjdHVyZSBjb252 ZXJ0b3INCj4gPiArICBFRklfUkVTVF9KU09OX1NUUlVDVFVSRV9UT19TVFJVQ1RVUkUgICAgICAg VG9TdHJ1Y3R1cmU7DQo+ID4gLy8vPCBUaGUgZnVuY3Rpb24gdG8gY29udmVydCBKU09OIHRvIEMg c3RydWN0dXJlDQo+ID4gKyAgRUZJX1JFU1RfSlNPTl9TVFJVQ1RVUkVfVE9fSlNPTiAgICAgICAg ICAgIFRvSnNvbjsNCj4gPiAvLy88IFRoZSBmdW5jdGlvbiB0byBjb252ZXJ0IEMgc3RydWN0dXJl IHRvIEpTT04NCj4gPiArICBFRklfUkVTVF9KU09OX1NUUlVDVFVSRV9ERVNUT1JZX1NUUlVDVFVS RSAgRGVzdG9yeVN0cnVjdHVyZTsNCj4gPiAvLy88IERlc3RvcnkgQyBzdHJ1Y3R1cmUuDQo+ID4g K30gRUZJX1JFU1RfSlNPTl9TVFJVQ1RVUkVfUFJPVE9DT0w7DQo+IA0KPiBIZXJlLCB0eXBlZGVm IGlzIG5vdCByZXF1aXJlZCwgYmVjYXVzZQ0KPiBFRklfUkVTVF9KU09OX1NUUlVDVFVSRV9QUk9U T0NPTCBoYXMgYmVlbiBkZWZpbmVkIGluIHRoZSBiZWdpbiBvZg0KPiB0aGlzIGZpbGUuDQo+IA0K QWxsIGNvbW1lbnRzIHdlcmUgYWRkcmVzc2VkLCB2MiB3YXMgc2VudC4NClRoYW5rcy4NCg0KPiBU aGFua3MNCj4gTGltaW5nDQo+ID4gKw0KPiA+ICsjZW5kaWYNCj4gPiBkaWZmIC0tZ2l0IGEvTWRl UGtnL01kZVBrZy5kZWMgYi9NZGVQa2cvTWRlUGtnLmRlYyBpbmRleA0KPiA+IDgxMmJlNzVmYjMu LjA5NDM4MTY4MjUgMTAwNjQ0DQo+ID4gLS0tIGEvTWRlUGtnL01kZVBrZy5kZWMNCj4gPiArKysg Yi9NZGVQa2cvTWRlUGtnLmRlYw0KPiA+IEBAIC0xODQ4LDYgKzE4NDgsMTIgQEANCj4gPiAgICAj IyBJbmNsdWRlL1Byb3RvY29sL052ZGltbUxhYmVsLmgNCj4gPiAgICBnRWZpTnZkaW1tTGFiZWxQ cm90b2NvbEd1aWQgICAgICAgICAgICAgICA9IHsgMHhkNDBiNmI4MCwgMHg5N2Q1LA0KPiA+IDB4 NDI4MiwgeyAweGJiLCAweDFkLCAweDIyLCAweDNhLCAweDE2LCAweDkxLCAweDgwLCAweDU4IH19 DQo+ID4NCj4gPiArICAjDQo+ID4gKyAgIyBQcm90b2NvbHMgZGVmaW5lZCBpbiBVRUZJMi44DQo+ ID4gKyAgIw0KPiA+ICsgICMjIEluY2x1ZGUvUHJvdG9jb2wvUmVzdEpzb25TdHJ1Y3R1cmUuaA0K PiA+ICsgIGdFZmlSZXN0SnNvblN0cnVjdHVyZVByb3RvY29sR3VpZCAgPSB7IDB4YTlhMDQ4ZjYs IDB4NDhhMCwgMHg0NzE0LA0KPiA+IHsweGI3LCAweGRhLCAweGE5LCAweGFkLDB4ODcsIDB4ZDQs IDB4ZGEsIDB4YzkgfX0NCj4gPiArDQo+ID4gICAgIw0KPiA+ICAgICMgUHJvdG9jb2xzIGRlZmlu ZWQgaW4gU2hlbGwyLjANCj4gPiAgICAjDQo+ID4gLS0NCj4gPiAyLjE3LjENCj4gPg0KPiA+DQo+ ID4NCj4gPiANCj4gPg0KPiANCj4gDQoNCg==