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.web10.5973.1602815151219475459 for ; Thu, 15 Oct 2020 19:25:51 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=o51KTX+b; spf=pass (domain: hpe.com, ip: 148.163.143.35, mailfrom: prvs=0558ce792e=terry.lee@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 09G2GraU005105; Fri, 16 Oct 2020 02:25:50 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=EcRGDQi1JWkLcjxz6F0I0s9kt4oO5mROV97HItLy4TQ=; b=o51KTX+b7CPMzmASthPWvya4gIs/Qs5zRil3lNf4lUT1ObNV5rAyuHr7xX9EXh3/aUsX KGKFKHd4wRGlTW/ypGtsi67CN7oKyLoamThdnigruiYlpwcvJfhOLJZ7MPEnJaH+lpzh ZMjxwuu58CITx2t09gj0N4xXpda7tLiRBnfoz+flSHSOL8SzTRr19cwzG2UXb7DxEODy 6rPL54WDkhYUZ0whPL2qQ1f35bj4zaur6HsITOHETSFOUh/6G/z5gL0EugLE328d5faZ hmyJI9Gc6y1FS7jH8mBLjGJoZXSH/3TdSAx3cYQQalzYDp7WitTspKKZDvccNdm0RwXr fw== Received: from g4t3427.houston.hpe.com (g4t3427.houston.hpe.com [15.241.140.73]) by mx0b-002e3701.pphosted.com with ESMTP id 345yuda6f3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 16 Oct 2020 02:25:50 +0000 Received: from G2W6311.americas.hpqcorp.net (g2w6311.austin.hp.com [16.197.64.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g4t3427.houston.hpe.com (Postfix) with ESMTPS id 287E47E; Fri, 16 Oct 2020 02:25:49 +0000 (UTC) Received: from G9W8672.americas.hpqcorp.net (16.220.49.31) by G2W6311.americas.hpqcorp.net (16.197.64.53) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 16 Oct 2020 02:25:32 +0000 Received: from G2W6311.americas.hpqcorp.net (16.197.64.53) by G9W8672.americas.hpqcorp.net (16.220.49.31) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 16 Oct 2020 02:25:31 +0000 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (15.241.52.10) by G2W6311.americas.hpqcorp.net (16.197.64.53) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Fri, 16 Oct 2020 02:25:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lONf+OjpTQDYKl4MoTyYhxB0VUKma7oXQo9vLoubuWYpt6ClLwrzsduoY8nKtZz37wgUcNa+PdxATyA8KXiNSJHodPdoX1OJ+La9tagKgUoCicoe28XJPrNSFE5GMdHy5VL8J0jWlDkUoeB0Q7U3WMZpR9nVjXIg5X98tDv943lSXXIsPg8fYJGp9vO8ZGEeWdxRj+pdd87Sdn91TIYx1giounc0cKIdwxBcLLRLgVJfq4FjgXilOGi51CBKwwvvSbJRgDouZFAutZ7UZxboHDaWwaA7VysMFr2YqTaZl5FAITYSLRb61grOwf9vH0L6TY5enleSGe7VzNGVbKshFw== 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=zVoA/cglAGZTJozzjx06QzIjT14BRgad3+e2XUXf0eU=; b=aIhsIVEZiRSln6dgoXdeC4AgXrsN39CONtgJru62EVwPLuv90Rlp37jtkbV9CbcDDSBYovYRFG+Y7AVfpYjpubNtobLI0utu7d+RYFfo0GLiER4zGuaqn+SQBjp+X7CJgPAh5BiTPUqvpp38r7LWrlNaenVQVDcC8Zh45rslbQsul1dnt6f3SwLny8+tdBO40Zx8t6MvXDF4vd+mS3+wSvLglU+Tn+mxjgbNQYgF8ijfr4HAaIZvJXeLZ86f5h++/rrhdc3Y8506aHSoMf0q5UDSfbk0nCdOZOnKGPkrbGNv1sPwA6xgPqLlYiUQzeGiXUiT7kEyC4LZ1djxFKFPtA== 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 DF4PR8401MB0523.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:760a::23) by DF4PR8401MB0554.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:760a::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.22; Fri, 16 Oct 2020 02:25:30 +0000 Received: from DF4PR8401MB0523.NAMPRD84.PROD.OUTLOOK.COM ([fe80::18e:8dab:e82a:395e]) by DF4PR8401MB0523.NAMPRD84.PROD.OUTLOOK.COM ([fe80::18e:8dab:e82a:395e%4]) with mapi id 15.20.3477.024; Fri, 16 Oct 2020 02:25:30 +0000 From: "Lee, Terry" To: "Yao, Jiewen" , "devel@edk2.groups.io" , "stefanb@linux.ibm.com" , "lersek@redhat.com" , "Gao, Zhichao" CC: "Wang, Jian J" , "Zhang, Chao B" , =?utf-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= Subject: Re: [edk2-devel] [PATCH] SecurityPkg/Tcg2PhysicalPresenceLib: Fix incorrect TCG VER comparision Thread-Topic: [edk2-devel] [PATCH] SecurityPkg/Tcg2PhysicalPresenceLib: Fix incorrect TCG VER comparision Thread-Index: AQHWVZtB1WiaOW7xZkeX1UsjG9Ewyaj/BMIAgAD2pQCAAFN4gIAAkmXAgJicICCAAIkyYIAAFRPQ Date: Fri, 16 Oct 2020 02:25:29 +0000 Message-ID: References: <20200709024647.31672-1-zhichao.gao@intel.com> <280267d2-3d61-04a6-26da-96fd46ad5439@redhat.com> <1620688EE0DC3449.7755@groups.io> <6db37279-ddd0-4adf-6439-403ac90dd1e9@linux.ibm.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=hpe.com; x-originating-ip: [64.30.99.183] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 7b7e626a-2631-4993-e745-08d8717ac05b x-ms-traffictypediagnostic: DF4PR8401MB0554: 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: fgOUDwX0X0+AHUiV8L8jYul5JqeanXJmO1hFuIQBDCoCOpGgJ/E0VSDlC8atdlosOI76IdZOTSt+Og0m3NKy0HreuJenuLBFUbXL/X8gn2K0/PUfT7vq5QyrJkyQX2VOBhcMMcIoe2N2uCv9ad/AO1VvXJ2PZT10flPo4Kd596b/l7glSvjcByQTQdrc+EvZm7bHv5NdXN2FUqLKlr+2E2TjxU8SmBAz/NrExgAPgi5sUct8nb9pIAwRAhY50V7ktiwBiRWpe8+lFvxNkezY3oOYvVXurZKHJDPSQIJhGTf6xCfkU5ERvIRKdB4ZoChkfYnwpl+m4CT8/7F/XLn9yqqWR1m8NGnxyQKqQWTVQ81F2kbmonwMd3wzRmm/x5Zl3Qj6RjgoWYrEyJV/4DFqrw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DF4PR8401MB0523.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(376002)(136003)(346002)(39860400002)(366004)(396003)(478600001)(2906002)(316002)(33656002)(966005)(8676002)(71200400001)(6506007)(53546011)(26005)(15650500001)(8936002)(55016002)(186003)(9686003)(19627235002)(66476007)(54906003)(110136005)(64756008)(76116006)(66556008)(5660300002)(83380400001)(52536014)(7696005)(86362001)(66446008)(4326008)(66946007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: Qvwvx8I6RcHpP9lQ0Jupy+hsroIRQl8Kbg/Qn1lOhhi8QdamYgr4ikXdpviPAY0BPF6+j0273yjFNE8Cj0jirMo0DOj1IIbBK/r46tLaPJU9zobg8zENo1h8ruKybGPoPAzOK9VoSLJszRqver4Tntu2eapVm0f8GpIgXWJKahtdGEzudiZwCYcku8LOko0slCv/Gz4+RUVruBz++DY2k+IyISDSEUkdXWnG8papGXEC2uT0phEHcCKSeTlxhkkFYkD7Up2xm1MuO19e2iogaFpGYAbTDuKNGmJf6Lhq1doWUMR87g165BT+aYFl4KhbhErXzFbNP0/vA4LqGwXZ+JAybGHdVMafHXs7ofTC55z6ORTxi2FTvOeodo3yyvyI5+my2s54phy3dsIqz7Tcy7QUhTy1SUEsjGyAqOA9AuSDSOevFSL2o/odibkK17FFFPUOhVKecbNLrWhhGQ7344PWoNcQXAjKqROGak5DB6KF9VuOJbndLRNwfWmsa/9oiRO3kNKfYK8m4ymCAb6OmWvhrS32S/Fya2qpTPhvoZg8ayIL4aDTI3PHZXZfMwvOICU30zi95ctEU/ue6lQIsVTa4vlY2LEhiWMOl6k+2TdEwB05kc4Xa1gLPfs3Aboy8z6zQX5kLxFLnj7Q9M3XJg== x-ms-exchange-transport-forked: True X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DF4PR8401MB0523.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 7b7e626a-2631-4993-e745-08d8717ac05b X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Oct 2020 02:25:29.8403 (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: 1+aEm5Fk/dqzJjP1KCwpgWsjgs/mbzEzkvme+ZFJsYovaz/NxD9j3GUjFRI+nGBaeNsH9KJkxPv4vwSiKBt6HQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DF4PR8401MB0554 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-16_01:2020-10-14,2020-10-16 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-2010160014 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Smlld2VuLA0KDQoJSSB0ZXN0ZWQgdGhpcyBwYXRjaCBvbiBIUEUgU3VwZXJkb21lIEZsZXggd2l0 aCBib3RoIExpbnV4IGFuZCBXaW5kb3dzLg0KDQoJCQkJVGVycnkNCg0KLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCkZyb206IFlhbywgSmlld2VuIFttYWlsdG86amlld2VuLnlhb0BpbnRlbC5j b21dIA0KU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMTUsIDIwMjAgNjowOSBQTQ0KVG86IExlZSwg VGVycnkgPHRlcnJ5LmxlZUBocGUuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87IHN0ZWZhbmJA bGludXguaWJtLmNvbTsgbGVyc2VrQHJlZGhhdC5jb207IEdhbywgWmhpY2hhbyA8emhpY2hhby5n YW9AaW50ZWwuY29tPg0KQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsg WmhhbmcsIENoYW8gQiA8Y2hhby5iLnpoYW5nQGludGVsLmNvbT47IE1hcmMtQW5kcsOpIEx1cmVh dSA8bWFyY2FuZHJlLmx1cmVhdUByZWRoYXQuY29tPg0KU3ViamVjdDogUkU6IFtlZGsyLWRldmVs XSBbUEFUQ0hdIFNlY3VyaXR5UGtnL1RjZzJQaHlzaWNhbFByZXNlbmNlTGliOiBGaXggaW5jb3Jy ZWN0IFRDRyBWRVIgY29tcGFyaXNpb24NCg0KSGVsbG8NCklzIHRoZXJlIGFueSBvbmUgY2FuIHNo YXJlIHRoZSBpbmZvcm1hdGlvbiBvbiB3aGF0IHRlc3QgaGFzIGJlZW4gZG9uZSBmb3IgdGhpcyA/ DQoNClRoYW5rIHlvdQ0KWWFvIEppZXdlbg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+IEZyb206IExlZSwgVGVycnkgPHRlcnJ5LmxlZUBocGUuY29tPg0KPiBTZW50OiBGcmlkYXks IE9jdG9iZXIgMTYsIDIwMjAgMTI6NTkgQU0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBz dGVmYW5iQGxpbnV4LmlibS5jb207IGxlcnNla0ByZWRoYXQuY29tOyANCj4gR2FvLCBaaGljaGFv IDx6aGljaGFvLmdhb0BpbnRlbC5jb20+DQo+IENjOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0Bp bnRlbC5jb20+OyBXYW5nLCBKaWFuIEogDQo+IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBaaGFu ZywgQ2hhbyBCIDxjaGFvLmIuemhhbmdAaW50ZWwuY29tPjsgTWFyYy0gDQo+IEFuZHLDqSBMdXJl YXUgPG1hcmNhbmRyZS5sdXJlYXVAcmVkaGF0LmNvbT4NCj4gU3ViamVjdDogUkU6IFtlZGsyLWRl dmVsXSBbUEFUQ0hdIFNlY3VyaXR5UGtnL1RjZzJQaHlzaWNhbFByZXNlbmNlTGliOiANCj4gRml4 IGluY29ycmVjdCBUQ0cgVkVSIGNvbXBhcmlzaW9uDQo+IA0KPiBDb3VsZCB0aGUgcGFja2FnZSBt YWludGFpbmVyIG1lcmdlIHRoaXMgcGF0Y2g/ICBUaGFua3MuDQo+IA0KPiBUZXJyeQ0KPiANCj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogU3RlZmFuIEJlcmdlciBbbWFpbHRv OnN0ZWZhbmJAbGludXguaWJtLmNvbV0NCj4gU2VudDogRnJpZGF5LCBKdWx5IDEwLCAyMDIwIDc6 MjcgQU0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBsZXJzZWtAcmVkaGF0LmNvbTsgR2Fv LCBaaGljaGFvIA0KPiA8emhpY2hhby5nYW9AaW50ZWwuY29tPg0KPiBDYzogTGVlLCBUZXJyeSA8 dGVycnkubGVlQGhwZS5jb20+OyBZYW8sIEppZXdlbiANCj4gPGppZXdlbi55YW9AaW50ZWwuY29t PjsgV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBaaGFuZywgDQo+IENoYW8g QiA8Y2hhby5iLnpoYW5nQGludGVsLmNvbT47IE1hcmMtQW5kcsOpIEx1cmVhdSANCj4gPG1hcmNh bmRyZS5sdXJlYXVAcmVkaGF0LmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFU Q0hdIFNlY3VyaXR5UGtnL1RjZzJQaHlzaWNhbFByZXNlbmNlTGliOiANCj4gRml4IGluY29ycmVj dCBUQ0cgVkVSIGNvbXBhcmlzaW9uDQo+IA0KPiBPbiA3LzEwLzIwIDk6NTMgQU0sIFN0ZWZhbiBC ZXJnZXIgd3JvdGU6DQo+ID4gT24gNy8xMC8yMCAxOjQzIEFNLCBMYXN6bG8gRXJzZWsgd3JvdGU6 DQo+ID4+ICgrTWFyYy1BbmRyw6ksIFN0ZWZhbikNCj4gPj4NCj4gPj4gT24gMDcvMTAvMjAgMDI6 NDQsIEdhbywgWmhpY2hhbyB3cm90ZToNCj4gPj4+IFRoaXMgYnVnIGlzIG5vdCBvYmVzZXJ2ZWQg YnkgbWUuIEJ1dCBJIHZpZXcgdGhlIGNvZGUuIFRoZSANCj4gPj4+IGNvbmRpdGlvbiBpcyBpbmNv cnJlY3QgYW5kIGl0IHdvdWxkIGFmZmVjdCB0aGUgVENHIG9wZXJhdGlvbjoNCj4gPj4+ICAgICAg aWYgKCFtSXNUY2cyUFBWZXJMb3dlclRoYW5fMV8zKSB7DQo+ID4+PiAgICAgICAgICBpZiAoT3Bl cmF0aW9uUmVxdWVzdCA8DQo+ID4+PiBUQ0cyX1BIWVNJQ0FMX1BSRVNFTkNFX1ZFTkRPUl9TUEVD SUZJQ19PUEVSQVRJT04pIHsNCj4gPj4+ICAgICAgICAgICAgLy8NCj4gPj4+ICAgICAgICAgICAg Ly8gVENHMiBQUDEuMyBzcGVjIGRlZmluZWQgb3BlcmF0aW9ucyB0aGF0IGFyZSByZXNlcnZlZCAN Cj4gPj4+IG9yIHVuLWltcGxlbWVudGVkDQo+ID4+PiAgICAgICAgICAgIC8vDQo+ID4+PiAgICAg ICAgICAgIHJldHVybiBUQ0dfUFBfR0VUX1VTRVJfQ09ORklSTUFUSU9OX05PVF9JTVBMRU1FTlRF RDsNCj4gPj4+ICAgICAgICAgIH0NCj4gPj4+ICAgICAgICB9IGVsc2Ugew0KPiA+Pj4gICAgICAg ICAvLw0KPiA+Pj4gICAgICAgICAvLyBUQ0cgUFAgbG93ZXIgdGhhbiAxLjMuICgxLjAsIDEuMSwg MS4yKQ0KPiA+Pj4gICAgICAgICAvLw0KPiA+Pj4gICAgICAgICBpZiAoT3BlcmF0aW9uUmVxdWVz dCA8PQ0KPiA+Pj4gVENHMl9QSFlTSUNBTF9QUkVTRU5DRV9OT19BQ1RJT05fTUFYKSB7DQo+ID4+ PiAgICAgICAgICAgUmVxdWVzdENvbmZpcm1lZCA9IFRSVUU7DQo+ID4+PiAgICAgICAgIH0gZWxz ZSBpZiAoT3BlcmF0aW9uUmVxdWVzdCA8DQo+ID4+PiBUQ0cyX1BIWVNJQ0FMX1BSRVNFTkNFX1ZF TkRPUl9TUEVDSUZJQ19PUEVSQVRJT04pIHsNCj4gPj4+ICAgICAgICAgICByZXR1cm4gVENHX1BQ X0dFVF9VU0VSX0NPTkZJUk1BVElPTl9OT1RfSU1QTEVNRU5URUQ7DQo+ID4+PiAgICAgICAgIH0N Cj4gPj4+ICAgICAgICB9DQo+ID4+Pg0KPiA+PiBJJ3ZlIGZvdW5kIHRoYXQgY29kZSBteXNlbGYs IGJ1dCBJJ20gbm90IGZhbWlsaWFyIGVub3VnaCB3aXRoIFRQTSANCj4gPj4gUFBJIHN0dWZmIHRv IHVuZGVyc3RhbmQgaW1tZWRpYXRlbHkgdGhlIGVmZmVjdHMgb2YgdGhpcyBjaGFuZ2UuIEkgDQo+ ID4+IGNhbiBzZWUgdGhhdCB3aGVyZSB3ZSB1c2VkIHRvIHJldHVybiANCj4gPj4gVENHX1BQX0dF VF9VU0VSX0NPTkZJUk1BVElPTl9OT1RfSU1QTEVNRU5URUQgYmVmb3JlLCB3ZQ0KPiBjb3VsZCBu b3cNCj4gPj4gYXNzaWduICJSZXF1ZXN0Q29uZmlybWVkID0gVFJVRSIsIGFuZCB2aWNlIHZlcnNh LCBkdWUgdG8gDQo+ID4+ICJtSXNUY2cyUFBWZXJMb3dlclRoYW5fMV8zIiBiZWluZyBwb3RlbnRp YWxseSBpbnZlcnRlZC4NCj4gPj4NCj4gPj4gQnV0IHdoYXQgZG9lcyB0aGF0ICptZWFuKj8gV2hh dCBpcyB0aGUgYmVoYXZpb3JhbCBjaGFuZ2UgdGhhdCBodW1hbiANCj4gPj4gZW5kLXVzZXJzLCBv ciBzb2Z0d2FyZSBjb21wb25lbnRzLCB3aWxsIGV4cGVyaWVuY2U/DQo+ID4NCj4gPg0KPiA+IFRo ZSBhYm92ZSBjb2RlIHNuaXBwZWQgaXMgbG9jYXRlZCBpbiBhIGRlZmF1bHQgYnJhbmNoIG9mIGEg bGFyZ2UgDQo+ID4gc3dpdGNoIHN0YXRlbWVudCB0aGF0IGhhbmRsZXMgbW9zdCBvZiB0aGUgY29t bW9uIFBQSSBvcGVyYXRpb25zIA0KPiA+IGluZGVwZW5kZW50IG9mIHRoaXMgY2hhbmdlLCBzbyB0 aGF0IGF0IGxlYXN0IGlzIGdvb2QuDQo+ID4NCj4gPiBJIHdvdWxkIHNheSB0aGF0IGluIHRoZSB3 b3JzdCBjYXNlIHNvbWUgb2YgdGhlIG9wZXJhdGlvbnMgbm90IA0KPiA+IG90aGVyd2lzZSBoYW5k bGVkIG1heSBoYXZlIG1pc3Rha2VubHkgZmFpbGVkIG9yIGNvdWxkIGhhdmUgYmVlbiANCj4gPiBl eGVjdXRlZCB3aXRob3V0IHVzZXIgY29uZmlybWF0aW9uL2ludGVyYWN0aW9uLiBPbiBMaW51eCBh dCBsZWFzdCANCj4gPiBQUEkgcmVxdWVzdHMgY2FuIG9ubHkgYmUgc2VudCBieSByb290Lg0KPiAN Cj4gDQo+IEkgYW0gcnVubmluZyBhIHNvbWV3aGF0IGRhdGVkIHZlcnNpb24gb2YgZWRrMiAoRmVk b3JhIDMxKS4gVGhlIA0KPiBvcGVyYXRpb25zIGFkdmVydGlzZWQgYXJlOiAwLDUsMTQsMjEsMjIs MjMsMjQsMzMsOTYsOTcuIEFsbCBvZiB0aGVzZSANCj4gYXJlIGluZGl2aWR1YWxseSBoYW5kbGVk IGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50LCBzbyB0aGVyZSBzaG91bGQgbm8gDQo+IGJlIGFueSBp bXBhY3QuIEkgYW0gY3VycmVudGx5IG5vdCBhd2FyZSBvZiB3aGV0aGVyIHRoaXMgbGlzdCBjYW4g YmUgDQo+IGV4dGVuZGVkIHdpdGggc29tZSBzb3J0IG9mIG1vZHVsZS4NCj4gDQo+IA0KPiA+DQo+ ID4NCj4gPj4NCj4gPj4gVGhhbmtzDQo+ID4+IExhc3psbw0KPiA+Pg0KPiA+Pj4gU28gSSB0aGlu ayBpdCBzaG91bGQgYmUgZml4ZWQuDQo+ID4+Pg0KPiA+Pj4gVGhhbmtzLA0KPiA+Pj4gWmhpY2hh bw0KPiA+Pj4NCj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+IEZyb206 IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9m IA0KPiA+Pj4+IExhc3psbyBFcnNlaw0KPiA+Pj4+IFNlbnQ6IFRodXJzZGF5LCBKdWx5IDksIDIw MjAgNjowMiBQTQ0KPiA+Pj4+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgR2FvLCBaaGljaGFv IDx6aGljaGFvLmdhb0BpbnRlbC5jb20+DQo+ID4+Pj4gQ2M6IFRlcnJ5IExlZSA8dGVycnkubGVl QGhwZS5jb20+OyBZYW8sIEppZXdlbiANCj4gPj4+PiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBX YW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IA0KPiA+Pj4+IFpoYW5nLCBDaGFv IEIgPGNoYW8uYi56aGFuZ0BpbnRlbC5jb20+DQo+ID4+Pj4gU3ViamVjdDogUmU6IFtlZGsyLWRl dmVsXSBbUEFUQ0hdDQo+ID4+Pj4gU2VjdXJpdHlQa2cvVGNnMlBoeXNpY2FsUHJlc2VuY2VMaWI6 IEZpeCBpbmNvcnJlY3QgVENHIFZFUiANCj4gPj4+PiBjb21wYXJpc2lvbg0KPiA+Pj4+DQo+ID4+ Pj4gT24gMDcvMDkvMjAgMDQ6NDYsIEdhbywgWmhpY2hhbyB3cm90ZToNCj4gPj4+Pj4gRnJvbTog VGVycnkgTGVlIDx0ZXJyeS5sZWVAaHBlLmNvbT4NCj4gPj4+Pj4NCj4gPj4+Pj4gUkVGOg0KPiA+ Pj4+PiBJTlZBTElEIFVSSSBSRU1PVkVEDQo+ID4+Pj4+IGFuDQo+ID4+Pj4+IG9jb3JlLm9yZ19z aG93LTVGYnVnLmNnaS0zRmlkLQ0KPiAzRDI2OTcmZD1Ed0lEYVEmYz1DNWI4elJRTzFtaUdtQmVW WjINCj4gPj4+Pj4gTEZXZyZyPUpsYzBKeHI2MjBFWi0NCj4gQ3BweXJqR290bnhIOURyVDBLdndj TGpla1o5RG93Jm09V1B2M3ZuNVZFZWxSQw0KPiA+Pj4+PiBzLQ0KPiBXOHBmTk0wMHdNT2ZwS0Jl c1huQWhSZnlsRjdnJnM9aUZVWXRoVUNmSExlZVFBdnJfT2hUUEhUaUE5aFp2dw0KPiA0OA0KPiA+ Pj4+PiBCajhZaFhoUUFJJmU9DQo+ID4+Pj4+DQo+ID4+Pj4+IFRjZzJQaHlzaWNhbFByZXNlbmNl TGliQ29uc3RydWN0b3Igc2V0IHRoZSBtb2R1bGUgdmFyaWFibGUNCj4gPj4+Pj4gbUlzVGNnMlBQ VmVyTG93ZXJUaGFuXzFfMyB3aXRoIGluY29ycmVjdCBUQ0cgdmVyc2lvbiBjb21wYXJpc2lvbi4N Cj4gPj4+Pj4NCj4gPj4+Pj4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29tPg0K PiA+Pj4+PiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gPj4+Pj4g Q2M6IENoYW8gWmhhbmcgPGNoYW8uYi56aGFuZ0BpbnRlbC5jb20+DQo+ID4+Pj4+IFNpZ25lZC1v ZmYtYnk6IFpoaWNoYW8gR2FvIDx6aGljaGFvLmdhb0BpbnRlbC5jb20+DQo+ID4+Pj4+IC0tLQ0K PiA+Pj4+PiAuLi4vU21tVGNnMlBoeXNpY2FsUHJlc2VuY2VMaWIvU21tVGNnMlBoeXNpY2FsUHJl c2VuY2VMaWIuYyB8IDIgKy0NCj4gPj4+Pj4gICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KyksIDEgZGVsZXRpb24oLSkNCj4gPj4+Pj4NCj4gPj4+Pj4gZGlmZiAtLWdpdA0KPiA+Pj4+Pg0K PiBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvU21tVGNnMlBoeXNpY2FsUHJlc2VuY2VMaWIvU21tVGNn MlBoeXNpY2FsUHINCj4gPj4+Pj4gZXNlbg0KPiA+Pj4+Pg0KPiA+Pj4+PiBjZUxpYi5jDQo+ID4+ Pj4+DQo+IGIvU2VjdXJpdHlQa2cvTGlicmFyeS9TbW1UY2cyUGh5c2ljYWxQcmVzZW5jZUxpYi9T bW1UY2cyUGh5c2ljYWxQcg0KPiA+Pj4+PiBlc2VuDQo+ID4+Pj4+DQo+ID4+Pj4+IGNlTGliLmMN Cj4gPj4+Pj4gaW5kZXggMWM0NmQ1ZTY5ZC4uOGFmYWEwYTc4NSAxMDA2NDQNCj4gPj4+Pj4gLS0t DQo+ID4+Pj4+DQo+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9TbW1UY2cyUGh5c2ljYWxQcmVzZW5j ZUxpYi9TbW1UY2cyUGh5c2ljYWxQcg0KPiA+Pj4+PiBlc2VuDQo+ID4+Pj4+DQo+ID4+Pj4+IGNl TGliLmMNCj4gPj4+Pj4gKysrDQo+ID4+Pj4+DQo+IGIvU2VjdXJpdHlQa2cvTGlicmFyeS9TbW1U Y2cyUGh5c2ljYWxQcmVzZW5jZUxpYi9TbW1UY2cyUGh5c2ljYWxQcg0KPiA+Pj4+PiArKysgZXNl bmNlTGliLmMNCj4gPj4+Pj4gQEAgLTM4Nyw3ICszODcsNyBAQCBUY2cyUGh5c2ljYWxQcmVzZW5j ZUxpYkNvbnN0cnVjdG9yICggew0KPiA+Pj4+PiAgICAgRUZJX1NUQVRVUyAgU3RhdHVzOw0KPiA+ Pj4+Pg0KPiA+Pj4+PiAtICBpZiAoQXNjaWlTdHJuQ21wKFBQX0lORl9WRVJTSU9OXzFfMiwgKENI QVI4IA0KPiA+Pj4+PiAqKVBjZEdldFB0cihQY2RUY2dQaHlzaWNhbFByZXNlbmNlSW50ZXJmYWNl VmVyKSwNCj4gPj4+Pj4gc2l6ZW9mKFBQX0lORl9WRVJTSU9OXzFfMikgLSAxKSA8PSAwKSB7DQo+ ID4+Pj4+ICsgIGlmIChBc2NpaVN0cm5DbXAoUFBfSU5GX1ZFUlNJT05fMV8yLCAoQ0hBUjggDQo+ ID4+Pj4+ICsqKVBjZEdldFB0cihQY2RUY2dQaHlzaWNhbFByZXNlbmNlSW50ZXJmYWNlVmVyKSwN Cj4gPj4+Pj4gKyBzaXplb2YoUFBfSU5GX1ZFUlNJT05fMV8yKSAtIDEpID49IDApIHsNCj4gPj4+ Pj4gICAgICAgbUlzVGNnMlBQVmVyTG93ZXJUaGFuXzFfMyA9IFRSVUU7DQo+ID4+Pj4+ICAgICB9 DQo+ID4+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4gV2hhdCBpcyB0aGUgcHJhY3RpY2FsIGltcGFjdCBv ZiB0aGlzIGJ1ZyAvIGZpeD8NCj4gPj4+Pg0KPiA+Pj4+IFRoYW5rcw0KPiA+Pj4+IExhc3psbw0K PiA+Pj4+DQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+DQo+ID4NCj4gPiAN Cj4gPg0KPiANCg0K