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.2841.1602724392264973740 for ; Wed, 14 Oct 2020 18:13:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=XglaYY3m; spf=pass (domain: hpe.com, ip: 148.163.143.35, mailfrom: prvs=055792000a=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 09F17GQE007533; Thu, 15 Oct 2020 01:13:05 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=l4sSVReP2CeHDT8DcTsY13jZN6EgkZ8snfVcaTVBdyk=; b=XglaYY3m2i4+BckwPKHZAgnW6plKXYsE2DRbRwX9IqYqgsTsiZWu33lVecjCzoU0dBry 1V+1f23ffF7DnZQJFIurXzCZZJSdAeHENkaBO6H+rFazPd2HQqHKXzAd3KlUlQGhkqCm ZiJMu2JnjeF7uO1r+t0UdV4j34U517oSZr7wH0Rnt1b9EoVY4F1RmhG2LJGhyOEZW6/b 5rKPB82j2C26PV1tEtJfVc7dqmWtuNATPHFsCW4uvpSy9CMhCxr8XMEB4oxZ9NVOTDFJ hFk08vMJpKtezGE6Lf/xlsE/Ux7VwZXDPQcW9voPnahB/0Ex0HtrFPMNV/GYjupn9Zrf 7A== Received: from g2t2354.austin.hpe.com (g2t2354.austin.hpe.com [15.233.44.27]) by mx0b-002e3701.pphosted.com with ESMTP id 345yucxtre-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 15 Oct 2020 01:13:05 +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 g2t2354.austin.hpe.com (Postfix) with ESMTPS id 20946AC; Thu, 15 Oct 2020 01:13:04 +0000 (UTC) Received: from G4W9334.americas.hpqcorp.net (16.208.32.120) by G2W6311.americas.hpqcorp.net (16.197.64.53) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 15 Oct 2020 01:13:02 +0000 Received: from G2W6311.americas.hpqcorp.net (16.197.64.53) by G4W9334.americas.hpqcorp.net (16.208.32.120) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 15 Oct 2020 01:12:40 +0000 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (15.241.52.12) by G2W6311.americas.hpqcorp.net (16.197.64.53) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Thu, 15 Oct 2020 01:12:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jxHbnH+DQ+dNtyOi6UjV/y9pJWw1dEuKO6W3UkAUTmF9DRk8+qt8sXDPAXtVrh1Du9FmvhenPfI1YCdc+gKjAHHOz68IKH5nosTwllSDAZQYFrVcsxCRfc1DdRQA+7Xw7RNNcrjuhOS0J1SCv9D+B+EZL8yUqO6ce56pb0dTywiTBAJJJJ4L5w7edF6pX5+rSeeWw1LWbKNssZTN2HfnKATR+NaCrWvMKfsFXMc2UGUN7ZGEpNldrHXZEVqDtAq32ozspim4hlualIa7zKH3ITY9++iDGDtqZPn3UP+ccdcJeVoL8FR+AzdkXPF0NRlmz7jwSGO6HKotqMktxHMvtw== 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=s1U5LOx7v5U8cE3EARmCpCiWicvREWhCoU1pkbJP0oc=; b=aeJr6yxKMGC9jXyGOBts5k4Un8dagrf2NFQqjYgB4Su/j3ROqDtcTMn+Dk8f5G13mQ6q9/EbzTT/5xNBnj92H8WscNlu6jLXUw/Kmnhq16ju1471mK5AlZV5R+Y7aUdaaxRHZmLvJ4N238nSiFEPDncE3Qm/S4VD3/XPIfOf+VNTdF396ebZGqBrcEsJLlW2SwewcQ2fNgxRhI9dVsRMZYsxE2tjvXV3LesKnmS9HSrUySJIYRcqn01qXug7NA0pXNZSE9C7/k9mjdC8CeF7xRdu1TaEb4XCg0/lVdy47WTX5g67jWTqlrlHX4OTLCUcjorsfNZD/LQatgEFHJ01FA== 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 CS1PR8401MB0774.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:7512::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.27; Thu, 15 Oct 2020 01:12:37 +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; Thu, 15 Oct 2020 01:12:37 +0000 From: "Abner Chang" To: "devel@edk2.groups.io" , "Chang, Abner (HPS SW/FW Technologist)" , "gaoliming@byosoft.com.cn" , "'Wu, Jiaxin'" CC: "'Kinney, Michael D'" , "'Liu, Zhiguang'" , "'Yao, Jiewen'" , "Wang, Nickle (HPS SW)" Subject: Re: [edk2-devel] [Rest Ex Definition PATCH 1/2] MdePkg/Include: Definitions of EFI REST EX Protocol Thread-Topic: [edk2-devel] [Rest Ex Definition PATCH 1/2] MdePkg/Include: Definitions of EFI REST EX Protocol Thread-Index: AQHWoHUvo1aoK/lcPUuX0oQ89YFi3qmWlxKAgABaNBCAAO3bsA== Date: Thu, 15 Oct 2020 01:12:36 +0000 Message-ID: References: <20201012070415.5878-1-abner.chang@hpe.com> <20201012070415.5878-2-abner.chang@hpe.com> <003901d6a1eb$fec99aa0$fc5ccfe0$@byosoft.com.cn> <163DD8E0887FF220.5123@groups.io> In-Reply-To: <163DD8E0887FF220.5123@groups.io> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=hpe.com; x-originating-ip: [16.242.247.131] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 0f792973-347c-4567-c34e-08d870a76791 x-ms-traffictypediagnostic: CS1PR8401MB0774: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6108; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: BCNaEuNHG28CgpH/01Ib8VEagJaKpCcqaMOI3cr3VmjZusu5HHn8i3V1To2JlNr+7i5WS5F/FUV1zXp+/gnXq0SstfoHIAPbuT1N3hXxMBBlStOb5TQQXdafy8fYYjd+sfSH5v2Fm6VXcxvYHwn64tBrVBkGfIOCJNjj6i7mHemZoPCofoqPAUWVYl1C+Ng1X3ibj9wPFIlhfA5ZrtnaKXq09gMkQ9IZQAeQyi2QPZHHB2qQrFO7tFcea7SWpkwBzbP7Ic8RJ6kR7lrsoQZaFPhyw3XQZv8wITmpN/ySUcopnsM3zhqqI0YI3Td1M5loD5T6rnOZFGGVkCH981BCKNplFv8JjGhZRP4t2y2SuE8f+2KbXl18x/xdsAoMpWu20qdnGAq9f1/si1ZWKtUGiA== 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:(39860400002)(396003)(346002)(136003)(366004)(376002)(316002)(83080400001)(8676002)(8936002)(86362001)(55016002)(83380400001)(966005)(478600001)(4326008)(7696005)(33656002)(9686003)(6506007)(5660300002)(186003)(66556008)(30864003)(76116006)(66476007)(53546011)(66946007)(66446008)(19627235002)(64756008)(71200400001)(52536014)(110136005)(26005)(54906003)(2906002)(559001)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: FQNitF/GP58M7X4fg/+2uoECNb3r2E2Q2vQik0rBrKouSFhfNBRbt/p25sij5A4/0P6sAfPk4XG7AWgYIOf0HZDVnIFQOsCUgn1qC4ip38+e5sfx3Hrk+0E3+IWkKnT6q6/jtmPdmY2AEtxzPUNE1WsH+e04eZJWUOSOQOH0YW1SGTcdXyySxYPAgqXNBhOzpNTiA7Yv94MyWlDPn8kFlHNUptMFsbUtS36STLDzeWbPayPebSdq3GZVLbb/h2MklZFF0A/GtXwNKGDlv9VIdMdd+bi3wWRLH3YYAPUC3Nqw+lJKfj3++4pAdwmTB6OaOLMsJTHRkesuoQalPHLBlVncXzpDmq8vdmrsADRFLu3/meEEPqFNWRzbo7TD+r9OLitYQzPnLEDX36Wd6Q6RVl2efWJV+twoHAbDYZJbp6CmCAq8qhaCzw5CbU3PSOCEyRSIE2FvGUBxTP0FhOLTKIZtzstOvgj5pflbxDrVRLWTgG620RSFeQwbOc63XxV776dHGSc9oSBP/pZYZxDeH8lYKVZrjdhj855+XBd+vY51vkd11Kz11FvEy7hS2hfIFDuRZvRxuMj9XPkK0J94tWIlr9OLv6GoxuSviud79Ophp/6fAr32zs7qANeaCnHR2cDokBapvbEibSBne/dG1A== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 0f792973-347c-4567-c34e-08d870a76791 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Oct 2020 01:12:37.0061 (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: fTEZH8RT20WwU1RoZ+f8KhOFZcSWTd9UFYHDjaG8UqMmcqadAboDz/j/AENWLD+MDbhowH1NZsGRRq26vP/lJg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR8401MB0774 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_12: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-2010150004 Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 UGF0Y2hlcyB3ZXJlIG1lcmdlZCBAYjliNzQwNmM0M2U5ZDI5YmRlM2U5Njc5YzFiMDM5Y2I5MTEw OTA5Nw0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVkazIu Z3JvdXBzLmlvIFttYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW9dIE9uIEJlaGFsZiBPZg0KPiBB Ym5lciBDaGFuZw0KPiBTZW50OiBXZWRuZXNkYXksIE9jdG9iZXIgMTQsIDIwMjAgNzozOCBQTQ0K PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbjsgJ1d1 LCBKaWF4aW4nDQo+IDxqaWF4aW4ud3VAaW50ZWwuY29tPg0KPiBDYzogJ0tpbm5leSwgTWljaGFl bCBEJyA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyAnTGl1LCBaaGlndWFuZycNCj4gPHpo aWd1YW5nLmxpdUBpbnRlbC5jb20+OyAnWWFvLCBKaWV3ZW4nIDxqaWV3ZW4ueWFvQGludGVsLmNv bT47IFdhbmcsDQo+IE5pY2tsZSAoSFBTIFNXKSA8bmlja2xlLndhbmdAaHBlLmNvbT4NCj4gU3Vi amVjdDogUmU6IFtlZGsyLWRldmVsXSBbUmVzdCBFeCBEZWZpbml0aW9uIFBBVENIIDEvMl0gTWRl UGtnL0luY2x1ZGU6DQo+IERlZmluaXRpb25zIG9mIEVGSSBSRVNUIEVYIFByb3RvY29sDQo+IA0K PiBUaGFua3MgTGltaW5nLCB2MiBwYXRjaCBzZW50Lg0KPiANCj4gQ0kgdGVzdCBwYXNzZWQgb24g UFI6ICBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvcHVsbC8xMDEyDQo+IA0KPiAN Cj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IGRldmVsQGVkazIuZ3Jv dXBzLmlvIFttYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW9dIE9uIEJlaGFsZiBPZg0KPiA+IGdh b2xpbWluZw0KPiA+IFNlbnQ6IFdlZG5lc2RheSwgT2N0b2JlciAxNCwgMjAyMCAxOjM3IFBNDQo+ ID4gVG86ICdXdSwgSmlheGluJyA8amlheGluLnd1QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3Jv dXBzLmlvOyBDaGFuZywNCj4gPiBBYm5lciAoSFBTIFNXL0ZXIFRlY2hub2xvZ2lzdCkgPGFibmVy LmNoYW5nQGhwZS5jb20+DQo+ID4gQ2M6ICdLaW5uZXksIE1pY2hhZWwgRCcgPG1pY2hhZWwuZC5r aW5uZXlAaW50ZWwuY29tPjsgJ0xpdSwgWmhpZ3VhbmcnDQo+ID4gPHpoaWd1YW5nLmxpdUBpbnRl bC5jb20+OyAnWWFvLCBKaWV3ZW4nIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IFdhbmcsDQo+ID4g Tmlja2xlIChIUFMgU1cpIDxuaWNrbGUud2FuZ0BocGUuY29tPg0KPiA+IFN1YmplY3Q6ILvYuLQ6 IFtlZGsyLWRldmVsXSBbUmVzdCBFeCBEZWZpbml0aW9uIFBBVENIIDEvMl0NCj4gTWRlUGtnL0lu Y2x1ZGU6DQo+ID4gRGVmaW5pdGlvbnMgb2YgRUZJIFJFU1QgRVggUHJvdG9jb2wNCj4gPg0KPiA+ IEFibmVyOg0KPiA+ICAgSW4gdGhlIGZpbGUgaGVhZGVyLCBwbGVhc2UgZGVzY3JpYmUgdGhpcyBk ZWZpbml0aW9uIGlzIGZyb20gd2hpY2gNCj4gPiB2ZXJzaW9uIFVFRkkgc3BlYy4gV2l0aCB0aGlz IGNoYW5nZSwgUmV2aWV3ZWQtYnk6IExpbWluZyBHYW8NCj4gPGdhb2xpbWluZ0BieW9zb2Z0LmNv bS4NCj4gPiBjbj4NCj4gPg0KPiA+IFRoYW5rcw0KPiA+IExpbWluZw0KPiA+ID4gLS0tLS3Tyrz+ 1K28/i0tLS0tDQo+ID4gPiC3orz+yMs6IFd1LCBKaWF4aW4gPGppYXhpbi53dUBpbnRlbC5jb20+ DQo+ID4gPiC3osvNyrG85DogMjAyMMTqMTDUwjEyyNUgMTY6NTQNCj4gPiA+IMrVvP7IyzogZGV2 ZWxAZWRrMi5ncm91cHMuaW87IGFibmVyLmNoYW5nQGhwZS5jb20NCj4gPiA+ILOty806IEtpbm5l eSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IExpbWluZyBHYW8NCj4g PiA+IDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBMaXUsIFpoaWd1YW5nIDx6aGlndWFuZy5s aXVAaW50ZWwuY29tPjsNCj4gPiA+IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47 IE5pY2tsZSBXYW5nDQo+ID4gPG5pY2tsZS53YW5nQGhwZS5jb20+DQo+ID4gPiDW98ziOiBSRTog W2VkazItZGV2ZWxdIFtSZXN0IEV4IERlZmluaXRpb24gUEFUQ0ggMS8yXSBNZGVQa2cvSW5jbHVk ZToNCj4gPiA+IERlZmluaXRpb25zIG9mIEVGSSBSRVNUIEVYIFByb3RvY29sDQo+ID4gPg0KPiA+ ID4gUmV2aWV3ZWQtYnk6IEppYXhpbiBXdSA8amlheGluLnd1QGludGVsLmNvbT4NCj4gPiA+DQo+ ID4gPg0KPiA+ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4g RnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhh bGYgT2YNCj4gPiBBYm5lcg0KPiA+ID4gPiBDaGFuZw0KPiA+ID4gPiBTZW50OiBNb25kYXksIE9j dG9iZXIgMTIsIDIwMjAgMzowNCBQTQ0KPiA+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8N Cj4gPiA+ID4gQ2M6IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNv bT47IExpbWluZyBHYW8NCj4gPiA+ID4gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IExpdSwg WmhpZ3VhbmcNCj4gPiA+ID4gPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+OyBZYW8sIEppZXdlbiA8 amlld2VuLnlhb0BpbnRlbC5jb20+Ow0KPiA+ID4gPiBOaWNrbGUgV2FuZyA8bmlja2xlLndhbmdA aHBlLmNvbT4NCj4gPiA+ID4gU3ViamVjdDogW2VkazItZGV2ZWxdIFtSZXN0IEV4IERlZmluaXRp b24gUEFUQ0ggMS8yXSBNZGVQa2cvSW5jbHVkZToNCj4gPiA+ID4gRGVmaW5pdGlvbnMgb2YgRUZJ IFJFU1QgRVggUHJvdG9jb2wNCj4gPiA+ID4NCj4gPiA+ID4gQWRkIGRlZmluaXRpb25zIG9mIEVG SSBSRVNUIEVYIFByb3RvY29sIGFjY29yZGluZyB0byBVRUZJIHNwZWMNCj4gPiA+ID4gdjIuOCBT ZWN0aW9uIDI5LjcuMiBFRkkgUkVTVCBFWCBQcm90b2NvbC4NCj4gPiA+ID4NCj4gPiA+ID4gU2ln bmVkLW9mZi1ieTogSmlheGluIFd1IDxqaWF4aW4ud3VAaW50ZWwuY29tPg0KPiA+ID4gPiBTaWdu ZWQtb2ZmLWJ5OiBTaXl1YW4gRnUgPHNpeXVhbi5mdUBpbnRlbC5jb20+DQo+ID4gPiA+IFNpZ25l ZC1vZmYtYnk6IEZhbiBXYW5nIDxmYW4ud2FuZ0BpbnRlbC5jb20+DQo+ID4gPiA+IFNpZ25lZC1v ZmYtYnk6IEFibmVyIENoYW5nIDxhYm5lci5jaGFuZ0BocGUuY29tPg0KPiA+ID4gPg0KPiA+ID4g PiBDYzogTWljaGFlbCBEIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4g PiA+IENjOiBMaW1pbmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+ID4gPiA+IENj OiBaaGlndWFuZyBMaXUgPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+DQo+ID4gPiA+IENjOiBKaWV3 ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiA+ID4gQ2M6IE5pY2tsZSBXYW5nIDxu aWNrbGUud2FuZ0BocGUuY29tPg0KPiA+ID4gPiAtLS0NCj4gPiA+ID4gIE1kZVBrZy9JbmNsdWRl L1Byb3RvY29sL1Jlc3RFeC5oIHwgMzg4DQo+ID4gPiA+ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysNCj4gPiA+ID4gIE1kZVBrZy9NZGVQa2cuZGVjICAgICAgICAgICAgICAgIHwgICA3 ICsNCj4gPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMzk1IGluc2VydGlvbnMoKykgIGNyZWF0ZSBt b2RlIDEwMDY0NA0KPiA+ID4gPiBNZGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9SZXN0RXguaA0KPiA+ ID4gPg0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0luY2x1ZGUvUHJvdG9jb2wvUmVzdEV4 LmgNCj4gPiA+ID4gYi9NZGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9SZXN0RXguaA0KPiA+ID4gPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ID4gPiBpbmRleCAwMDAwMDAwMDAwLi5jNDIwOTZkMTRj DQo+ID4gPiA+IC0tLSAvZGV2L251bGwNCj4gPiA+ID4gKysrIGIvTWRlUGtnL0luY2x1ZGUvUHJv dG9jb2wvUmVzdEV4LmgNCj4gPiA+ID4gQEAgLTAsMCArMSwzODggQEANCj4gPiA+ID4gKy8qKiBA ZmlsZQ0KPiA+ID4gPiArICBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgRUZJIFJFU1QgRVggUHJvdG9j b2wgaW50ZXJmYWNlLiBJdCBpcw0KPiA+ID4gPiArICBzcGxpdCBpbnRvIHRoZSBmb2xsb3dpbmcg dHdvIG1haW4gc2VjdGlvbnMuDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgLSBSRVNUIEVYIFNlcnZp Y2UgQmluZGluZyBQcm90b2NvbA0KPiA+ID4gPiArICAtIFJFU1QgRVggUHJvdG9jb2wNCj4gPiA+ ID4gKw0KPiA+ID4gPiArICAgQ29weXJpZ2h0IChjKSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cw0KPiA+ID4gPiArIHJlc2VydmVkLjxCUj4NCj4gPiA+ID4gKyAgKEMpIENvcHly aWdodCAyMDIwIEhld2xldHQgUGFja2FyZCBFbnRlcnByaXNlIERldmVsb3BtZW50DQo+ID4gPiA+ ICsgTFA8QlI+DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPiA+ID4gKw0KPiA+ID4gPiArDQo+ID4gPiA+ICsqKi8N Cj4gPiA+ID4gKw0KPiA+ID4gPiArI2lmbmRlZiBFRklfUkVTVF9FWF9QUk9UT0NPTF9IXw0KPiA+ ID4gPiArI2RlZmluZSBFRklfUkVTVF9FWF9QUk9UT0NPTF9IXw0KPiA+ID4gPiArDQo+ID4gPiA+ ICsjaW5jbHVkZSA8UHJvdG9jb2wvSHR0cC5oPg0KPiA+ID4gPiArDQo+ID4gPiA+ICsvLw0KPiA+ ID4gPiArLy9HVUlEIGRlZmluaXRpb25zDQo+ID4gPiA+ICsvLw0KPiA+ID4gPiArI2RlZmluZSBF RklfUkVTVF9FWF9TRVJWSUNFX0JJTkRJTkdfUFJPVE9DT0xfR1VJRCBcDQo+ID4gPiA+ICsgIHsg XA0KPiA+ID4gPiArICAgIDB4NDU2YmJlMDEsIDB4OTlkMCwgMHg0NWVhLCB7MHhiYiwgMHg1Ziwg MHgxNiwgMHhkOCwgMHg0YiwNCj4gPiA+ID4gKzB4ZWQsDQo+ID4gPiAweGM1LA0KPiA+ID4gPiAw eDU5IH0gXA0KPiA+ID4gPiArICB9DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyNkZWZpbmUgRUZJX1JF U1RfRVhfUFJPVE9DT0xfR1VJRCBcDQo+ID4gPiA+ICsgIHsgXA0KPiA+ID4gPiArICAgIDB4NTU2 NDhiOTEsIDB4ZTdkLCAweDQwYTMsIHsweGE5LCAweGIzLCAweGE4LCAweDE1LCAweGQ3LA0KPiA+ ID4gPiArMHhlYSwNCj4gPiAweGRmLA0KPiA+ID4gPiAweDk3IH0gXA0KPiA+ID4gPiArICB9DQo+ ID4gPiA+ICsNCj4gPiA+ID4gK3R5cGVkZWYgc3RydWN0IF9FRklfUkVTVF9FWF9QUk9UT0NPTCBF RklfUkVTVF9FWF9QUk9UT0NPTDsNCj4gPiA+ID4gKw0KPiA+ID4gPg0KPiA+DQo+ICsvLyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gPiA+ ID4gKy8vRUZJX1JFU1RfRVhfU0VSVklDRV9JTkZPX1ZFUg0KPiA+ID4gPg0KPiA+DQo+ICsvLyoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4g PiA+ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiA+ID4gKyAgVUlOVDggIE1ham9yOw0KPiA+ID4g PiArICBVSU5UOCAgTWlub3I7DQo+ID4gPiA+ICt9IEVGSV9SRVNUX0VYX1NFUlZJQ0VfSU5GT19W RVI7DQo+ID4gPiA+ICsNCj4gPiA+ID4NCj4gPg0KPiArLy8qKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ID4gPiA+ICsvL0VGSV9SRVNUX0VY X1NFUlZJQ0VfSU5GT19IRUFERVINCj4gPiA+ID4NCj4gPg0KPiArLy8qKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ID4gPiA+ICt0eXBlZGVm IHN0cnVjdCB7DQo+ID4gPiA+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICBMZW5n dGg7DQo+ID4gPiA+ICsgIEVGSV9SRVNUX0VYX1NFUlZJQ0VfSU5GT19WRVIgICBSZXN0U2Vydmlj ZUluZm9WZXI7DQo+ID4gPiA+ICt9IEVGSV9SRVNUX0VYX1NFUlZJQ0VfSU5GT19IRUFERVI7DQo+ ID4gPiA+ICsNCj4gPiA+ID4NCj4gPg0KPiArLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ID4gPiA+ICsvLyBFRklfUkVTVF9FWF9TRVJW SUNFX1RZUEUNCj4gPiA+ID4NCj4gPg0KPiArLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ID4gPiA+ICt0eXBlZGVmIGVudW0gew0KPiA+ ID4gPiArICBFZmlSZXN0RXhTZXJ2aWNlVW5zcGVjaWZpYyA9IDEsDQo+ID4gPiA+ICsgIEVmaVJl c3RFeFNlcnZpY2VSZWRmaXNoLA0KPiA+ID4gPiArICBFZmlSZXN0RXhTZXJ2aWNlT2RhdGEsDQo+ ID4gPiA+ICsgIEVmaVJlc3RFeFNlcnZpY2VWZW5kb3JTcGVjaWZpYyA9IDB4ZmYsDQo+ID4gPiA+ ICsgIEVmaVJlc3RFeFNlcnZpY2VUeXBlTWF4DQo+ID4gPiA+ICt9IEVGSV9SRVNUX0VYX1NFUlZJ Q0VfVFlQRTsNCj4gPiA+ID4gKw0KPiA+ID4gPg0KPiA+DQo+ICsvLyoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gPiA+ID4gKy8vIEVGSV9S RVNUX0VYX1NFUlZJQ0VfQUNDRVNTX01PREUNCj4gPiA+ID4NCj4gPg0KPiArLy8qKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ID4gPiA+ICt0 eXBlZGVmIGVudW0gew0KPiA+ID4gPiArICBFZmlSZXN0RXhTZXJ2aWNlSW5CYW5kQWNjZXNzID0g MSwNCj4gPiA+ID4gKyAgRWZpUmVzdEV4U2VydmljZU91dE9mQmFuZEFjY2VzcyA9IDIsDQo+ID4g PiA+ICsgIEVmaVJlc3RFeFNlcnZpY2VNb2RlTWF4DQo+ID4gPiA+ICt9IEVGSV9SRVNUX0VYX1NF UlZJQ0VfQUNDRVNTX01PREU7DQo+ID4gPiA+ICsNCj4gPiA+ID4NCj4gPg0KPiArLy8qKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ID4gPiA+ ICsvLyBFRklfUkVTVF9FWF9DT05GSUdfVFlQRQ0KPiA+ID4gPg0KPiA+DQo+ICsvLyoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gPiA+ID4g K3R5cGVkZWYgZW51bSB7DQo+ID4gPiA+ICsgIEVmaVJlc3RFeENvbmZpZ0h0dHAsDQo+ID4gPiA+ ICsgIEVmaVJlc3RFeENvbmZpZ1Vuc3BlY2lmaWMsDQo+ID4gPiA+ICsgIEVmaVJlc3RFeENvbmZp Z1R5cGVNYXgNCj4gPiA+ID4gK30gRUZJX1JFU1RfRVhfQ09ORklHX1RZUEU7DQo+ID4gPiA+ICsN Cj4gPiA+ID4NCj4gPg0KPiArLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqDQo+ID4gPiA+ICsvL0VGSV9SRVNUX0VYX1NFUlZJQ0VfSU5GTyB2 MS4wDQo+ID4gPiA+DQo+ID4NCj4gKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKg0KPiA+ID4gPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ID4g PiArICBFRklfUkVTVF9FWF9TRVJWSUNFX0lORk9fSEVBREVSICBFZmlSZXN0RXhTZXJ2aWNlSW5m b0hlYWRlcjsNCj4gPiA+ID4gKyAgRUZJX1JFU1RfRVhfU0VSVklDRV9UWVBFICAgICAgICAgUmVz dFNlcnZpY2VUeXBlOw0KPiA+ID4gPiArICBFRklfUkVTVF9FWF9TRVJWSUNFX0FDQ0VTU19NT0RF ICBSZXN0U2VydmljZUFjY2Vzc01vZGU7DQo+ID4gPiA+ICsgIEVGSV9HVUlEICAgICAgICAgICAg ICAgICAgICAgICAgIFZlbmRvclJlc3RTZXJ2aWNlTmFtZTsNCj4gPiA+ID4gKyAgVUlOVDMyICAg ICAgICAgICAgICAgICAgICAgICAgICAgVmVuZG9yU3BlY2lmaWNEYXRhTGVuZ3RoOw0KPiA+ID4g PiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqVmVuZG9yU3BlY2lmY0RhdGE7 DQo+ID4gPiA+ICsgIEVGSV9SRVNUX0VYX0NPTkZJR19UWVBFICAgICAgICAgIFJlc3RFeENvbmZp Z1R5cGU7DQo+ID4gPiA+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc3RF eENvbmZpZ0RhdGFMZW5ndGg7DQo+ID4gPiA+ICt9IEVGSV9SRVNUX0VYX1NFUlZJQ0VfSU5GT19W XzFfMDsNCj4gPiA+ID4gKw0KPiA+ID4gPg0KPiA+DQo+ICsvLyoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gPiA+ID4gKy8vRUZJX1JFU1Rf RVhfU0VSVklDRV9JTkZPDQo+ID4gPiA+DQo+ID4NCj4gKy8vKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiA+ID4gPiArdHlwZWRlZiB1bmlv biB7DQo+ID4gPiA+ICsgIEVGSV9SRVNUX0VYX1NFUlZJQ0VfSU5GT19IRUFERVIgRWZpUmVzdEV4 U2VydmljZUluZm9IZWFkZXI7DQo+ID4gPiA+ICsgIEVGSV9SRVNUX0VYX1NFUlZJQ0VfSU5GT19W XzFfMCAgRWZpUmVzdEV4U2VydmljZUluZm9WMTA7IH0NCj4gPiA+ID4gK0VGSV9SRVNUX0VYX1NF UlZJQ0VfSU5GTzsNCj4gPiA+ID4gKw0KPiA+ID4gPg0KPiA+DQo+ICsvLyoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gPiA+ID4gKy8vIEVG SV9SRVNUX0VYX0hUVFBfQ09ORklHX0RBVEENCj4gPiA+ID4NCj4gPg0KPiArLy8qKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ID4gPiA+ICt0 eXBlZGVmIHN0cnVjdCB7DQo+ID4gPiA+ICsgIEVGSV9IVFRQX0NPTkZJR19EQVRBICAgIEh0dHBD b25maWdEYXRhOw0KPiA+ID4gPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICBTZW5kUmVjZWl2 ZVRpbWVvdXQ7DQo+ID4gPiA+ICt9IEVGSV9SRVNUX0VYX0hUVFBfQ09ORklHX0RBVEE7DQo+ID4g PiA+ICsNCj4gPiA+ID4NCj4gPg0KPiArLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqDQo+ID4gPiA+ICsvL0VGSV9SRVNUX0VYX0NPTkZJR19E QVRBDQo+ID4gPiA+DQo+ID4NCj4gKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKg0KPiA+ID4gPiArdHlwZWRlZiBVSU5UOCAqRUZJX1JFU1Rf RVhfQ09ORklHX0RBVEE7DQo+ID4gPiA+ICsNCj4gPiA+ID4NCj4gPg0KPiArLy8qKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ID4gPiA+ICsv L0VGSV9SRVNUX0VYX1RPS0VODQo+ID4gPiA+DQo+ID4NCj4gKy8vKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiA+ID4gPiArdHlwZWRlZiBz dHJ1Y3Qgew0KPiA+ID4gPiArICBFRklfRVZFTlQgICAgICAgICBFdmVudDsNCj4gPiA+ID4gKyAg RUZJX1NUQVRVUyAgICAgICAgU3RhdHVzOw0KPiA+ID4gPiArICBFRklfSFRUUF9NRVNTQUdFICAq UmVzcG9uc2VNZXNzYWdlOyB9IEVGSV9SRVNUX0VYX1RPS0VOOw0KPiA+ID4gPiArDQo+ID4gPiA+ ICsvKioNCj4gPiA+ID4gKyAgUHJvdmlkZXMgYSBzaW1wbGUgSFRUUC1saWtlIGludGVyZmFjZSB0 byBzZW5kIGFuZCByZWNlaXZlDQo+ID4gPiA+ICtyZXNvdXJjZXMNCj4gPiA+IGZyb20gYQ0KPiA+ ID4gPiBSRVNUIHNlcnZpY2UuDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgVGhlIFNlbmRSZWNlaXZl KCkgZnVuY3Rpb24gc2VuZHMgYW4gSFRUUCByZXF1ZXN0IHRvIHRoaXMgUkVTVA0KPiA+IHNlcnZp Y2UsDQo+ID4gPiA+IGFuZCByZXR1cm5zIGENCj4gPiA+ID4gKyAgcmVzcG9uc2Ugd2hlbiB0aGUg ZGF0YSBpcyByZXRyaWV2ZWQgZnJvbSB0aGUgc2VydmljZS4NCj4gPiA+ID4gKyBSZXF1ZXN0TWVz c2FnZQ0KPiA+ID4gPiBjb250YWlucyB0aGUgSFRUUA0KPiA+ID4gPiArICByZXF1ZXN0IHRvIHRo ZSBSRVNUIHJlc291cmNlIGlkZW50aWZpZWQgYnkNCj4gPiA+IFJlcXVlc3RNZXNzYWdlLlJlcXVl c3QuVXJsLg0KPiA+ID4gPiBUaGUNCj4gPiA+ID4gKyAgUmVzcG9uc2VNZXNzYWdlIGlzIHRoZSBy ZXR1cm5lZCBIVFRQIHJlc3BvbnNlIGZvciB0aGF0IHJlcXVlc3QsDQo+ID4gPiA+IGluY2x1ZGlu ZyBhbnkgSFRUUA0KPiA+ID4gPiArICBzdGF0dXMuDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgQHBh cmFtW2luXSAgVGhpcyAgICAgICAgICAgICAgICBQb2ludGVyIHRvDQo+ID4gPiBFRklfUkVTVF9F WF9QUk9UT0NPTCBpbnN0YW5jZSBmb3IgYQ0KPiA+ID4gPiBwYXJ0aWN1bGFyDQo+ID4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVTVCBzZXJ2aWNlLg0KPiA+ID4gPiAr ICBAcGFyYW1baW5dICBSZXF1ZXN0TWVzc2FnZSAgICAgIFBvaW50ZXIgdG8gdGhlIEhUVFAgcmVx dWVzdCBkYXRhDQo+ID4gPiBmb3IgdGhpcw0KPiA+ID4gPiByZXNvdXJjZQ0KPiA+ID4gPiArICBA cGFyYW1bb3V0XSBSZXNwb25zZU1lc3NhZ2UgICAgIFBvaW50ZXIgdG8gdGhlIEhUVFAgcmVzcG9u c2UNCj4gPiA+IGRhdGENCj4gPiA+ID4gb2J0YWluZWQgZm9yIHRoaXMgcmVxdWVzdGVkLg0KPiA+ ID4gPiArDQo+ID4gPiA+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgb3BlcmF0 aW9uIHN1Y2NlZWRlZC4NCj4gPiA+ID4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIg ICBUaGlzLCBSZXF1ZXN0TWVzc2FnZSwgb3INCj4gPiA+ID4gUmVzcG9uc2VNZXNzYWdlIGFyZSBO VUxMLg0KPiA+ID4gPiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICAgIEFuIHVuZXhw ZWN0ZWQgc3lzdGVtIG9yDQo+ID4gPiBuZXR3b3JrIGVycm9yDQo+ID4gPiA+IG9jY3VycmVkLg0K PiA+ID4gPiArDQo+ID4gPiA+ICsqKi8NCj4gPiA+ID4gK3R5cGVkZWYNCj4gPiA+ID4gK0VGSV9T VEFUVVMNCj4gPiA+ID4gKyhFRklBUEkgKkVGSV9SRVNUX1NFTkRfUkVDRUlWRSkoDQo+ID4gPiA+ ICsgIElOICAgICAgRUZJX1JFU1RfRVhfUFJPVE9DT0wgICAqVGhpcywNCj4gPiA+ID4gKyAgSU4g ICAgICBFRklfSFRUUF9NRVNTQUdFICAgICAgICpSZXF1ZXN0TWVzc2FnZSwNCj4gPiA+ID4gKyAg T1VUICAgICBFRklfSFRUUF9NRVNTQUdFICAgICAgICpSZXNwb25zZU1lc3NhZ2UNCj4gPiA+ID4g KyAgKTsNCj4gPiA+ID4gKw0KPiA+ID4gPiArLyoqDQo+ID4gPiA+ICsgIE9idGFpbiB0aGUgY3Vy cmVudCB0aW1lIGZyb20gdGhpcyBSRVNUIHNlcnZpY2UgaW5zdGFuY2UuDQo+ID4gPiA+ICsNCj4g PiA+ID4gKyAgVGhlIEdldFNlcnZpY2VUaW1lKCkgZnVuY3Rpb24gaXMgYW4gb3B0aW9uYWwgaW50 ZXJmYWNlIHRvDQo+ID4gPiA+ICsgb2J0YWluIHRoZQ0KPiA+ID4gPiBjdXJyZW50IHRpbWUgZnJv bQ0KPiA+ID4gPiArICB0aGlzIFJFU1Qgc2VydmljZSBpbnN0YW5jZS4gSWYgdGhpcyBSRVNUIHNl cnZpY2UgZG9lcyBub3QNCj4gPiA+ID4gKyBzdXBwb3J0IHRvDQo+ID4gPiByZXRyaWV2ZQ0KPiA+ ID4gPiB0aGUgdGltZSwNCj4gPiA+ID4gKyAgdGhpcyBmdW5jdGlvbiByZXR1cm5zIEVGSV9VTlNV UFBPUlRFRC4gVGhpcyBmdW5jdGlvbiBtdXN0DQo+ID4gPiA+ICsgcmV0dXJucw0KPiA+ID4gPiBF RklfVU5TVVBQT1JURUQgaWYNCj4gPiA+ID4gKyAgRUZJX1JFU1RfRVhfU0VSVklDRV9UWVBFIHJl dHVybmVkIGluIEVGSV9SRVNUX0VYX1NFUlZJQ0VfSU5GTw0KPiA+ID4gZnJvbQ0KPiA+ID4gPiBH ZXRTZXJ2aWNlKCkgaXMNCj4gPiA+ID4gKyAgRUZJX1JFU1RfRVhfU0VSVklDRV9VTlNQRUNJRklD Lg0KPiA+ID4gPiArDQo+ID4gPiA+ICsgIEBwYXJhbVtpbl0gIFRoaXMgICAgICAgICAgICAgICAg UG9pbnRlciB0bw0KPiA+ID4gRUZJX1JFU1RfRVhfUFJPVE9DT0wgaW5zdGFuY2UgZm9yIGENCj4g PiA+ID4gcGFydGljdWxhcg0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJFU1Qgc2VydmljZS4NCj4gPiA+ID4gKyAgQHBhcmFtW291dF0gVGltZSAgICAgICAgICAg ICAgICBBIHBvaW50ZXIgdG8gc3RvcmFnZSB0byByZWNlaXZlIGENCj4gPiA+IHNuYXBzaG90IG9m DQo+ID4gPiA+IHRoZSBjdXJyZW50IHRpbWUgb2YNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB0aGUgUkVTVCBzZXJ2aWNlLg0KPiA+ID4gPiArDQo+ID4gPiA+ICsg IEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgb3BlcmF0aW9uIHN1Y2NlZWRlZC4NCj4g PiA+ID4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgICBUaGlzIG9yIFRpbWUgYXJl IE5VTEwuDQo+ID4gPiA+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgICAgVGhlIFJF U1RmdWwgc2VydmljZSBkb2VzIG5vdA0KPiA+ID4gc3VwcG9ydA0KPiA+ID4gPiByZXR1cm5pbmcg dGhlIHRpbWUuDQo+ID4gPiA+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgICAgQW4g dW5leHBlY3RlZCBzeXN0ZW0gb3INCj4gPiA+IG5ldHdvcmsgZXJyb3INCj4gPiA+ID4gb2NjdXJy ZWQuDQo+ID4gPiA+ICsgIEByZXR2YWwgRUZJX05PVF9SRUFEWSAgICAgICAgICAgVGhlIGNvbmZp Z3VyYXRpb24gb2YgdGhpcyBpbnN0YW5jZQ0KPiA+ID4gaXMgbm90IHNldA0KPiA+ID4gPiB5ZXQu IENvbmZpZ3VyZSgpIG11c3QNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBiZSBleGVjdXRlZCBhbmQgcmV0dXJucw0KPiA+ID4gc3VjY2Vzc2Z1bGx5IHByaW9yIHRv IGludm9rZSB0aGlzDQo+ID4gPiA+IGZ1bmN0aW9uLg0KPiA+ID4gPiArDQo+ID4gPiA+ICsqKi8N Cj4gPiA+ID4gK3R5cGVkZWYNCj4gPiA+ID4gK0VGSV9TVEFUVVMNCj4gPiA+ID4gKyhFRklBUEkg KkVGSV9SRVNUX0dFVF9USU1FKSgNCj4gPiA+ID4gKyAgSU4gICAgICBFRklfUkVTVF9FWF9QUk9U T0NPTCAgICpUaGlzLA0KPiA+ID4gPiArICBPVVQgICAgIEVGSV9USU1FICAgICAgICAgICAgICAg KlRpbWUNCj4gPiA+ID4gKyAgKTsNCj4gPiA+ID4gKw0KPiA+ID4gPiArLyoqDQo+ID4gPiA+ICsg IFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgaW5mb3JtYXRpb24gb2YgUkVTVCBzZXJ2aWNlIHBy b3ZpZGVkDQo+ID4gPiA+ICtieQ0KPiA+IHRoaXMgRUZJDQo+ID4gPiA+IFJFU1QgRVggZHJpdmVy IGluc3RhbmNlLg0KPiA+ID4gPiArDQo+ID4gPiA+ICsgIFRoZSBpbmZvcm1hdGlvbiBzdWNoIGFz IHRoZSB0eXBlIG9mIFJFU1Qgc2VydmljZSBhbmQgdGhlIGFjY2Vzcw0KPiA+ID4gPiArIG1vZGUN Cj4gPiA+IG9mDQo+ID4gPiA+IFJFU1QgRVggZHJpdmVyIGluc3RhbmNlDQo+ID4gPiA+ICsgIChJ bi1iYW5kIG9yIE91dC1vZi1iYW5kKSBhcmUgZGVzY3JpYmVkIGluDQo+ID4gPiA+ICsgRUZJX1JF U1RfRVhfU0VSVklDRV9JTkZPDQo+ID4gPiA+IHN0cnVjdHVyZS4gRm9yIHRoZSB2ZW5kb3Itc3Bl Y2lmaWMNCj4gPiA+ID4gKyAgUkVTVCBzZXJ2aWNlLCB2ZW5kb3Itc3BlY2lmaWMgUkVTVCBzZXJ2 aWNlIGluZm9ybWF0aW9uIGlzDQo+ID4gPiA+ICsgcmV0dXJuZWQgaW4NCj4gPiA+ID4gVmVuZG9y U3BlY2lmY0RhdGEuDQo+ID4gPiA+ICsgIFJFU1QgRVggZHJpdmVyIGRlc2lnbmVyIGlzIHdlbGwg a25vdyB3aGF0IFJFU1Qgc2VydmljZSB0aGlzDQo+ID4gPiA+ICsgUkVTVCBFWA0KPiA+ID4gZHJp dmVyDQo+ID4gPiA+IGluc3RhbmNlIGludGVuZHMgdG8NCj4gPiA+ID4gKyAgY29tbXVuaWNhdGUg d2l0aC4gVGhlIGRlc2lnbmVyIGFsc28gd2VsbCBrbm93IHRoaXMgZHJpdmVyDQo+ID4gPiA+ICsg aW5zdGFuY2UgaXMNCj4gPiA+IHVzZWQNCj4gPiA+ID4gdG8gdGFsayB0byBCTUMgdGhyb3VnaA0K PiA+ID4gPiArICBzcGVjaWZpYyBwbGF0Zm9ybSBtZWNoYW5pc20gb3IgdGFsayB0byBSRVNUIHNl cnZlciB0aHJvdWdoIFVFRkkNCj4gPiA+ID4gKyBIVFRQDQo+ID4gPiA+IHByb3RvY29sLiBSRVNU IEVYIGRyaXZlciBpcw0KPiA+ID4gPiArICByZXNwb25zaWJsZSB0byBmaWxsIHVwIHRoZSBjb3Jy ZWN0IGluZm9ybWF0aW9uIGluDQo+ID4gPiA+IEVGSV9SRVNUX0VYX1NFUlZJQ0VfSU5GTy4gRUZJ X1JFU1RfRVhfU0VSVklDRV9JTkZPDQo+ID4gPiA+ICsgIGlzIHJlZmVycmVkIGJ5IEVGSSBSRVNU IGNsaWVudHMgdG8gcGlja3VwIHRoZSBwcm9wZXIgRUZJIFJFU1QNCj4gPiA+ID4gKyBFWA0KPiA+ IGRyaXZlcg0KPiA+ID4gPiBpbnN0YW5jZSB0byBnZXQgYW5kIHNldCByZXNvdXJjZS4NCj4gPiA+ ID4gKyAgR2V0U2VydmljZSgpIGlzIGEgYmFzaWMgYW5kIG1hbmRhdG9yeSBmdW5jdGlvbiB3aGlj aCBtdXN0IGJlDQo+ID4gPiA+ICsgYWJsZSB0bw0KPiA+ID4gdXNlDQo+ID4gPiA+IGV2ZW4gQ29u ZmlndXJlKCkgaXMgbm90IGludm9rZWQNCj4gPiA+ID4gKyAgaW4gcHJldmlvdXNseS4NCj4gPiA+ ID4gKw0KPiA+ID4gPiArICBAcGFyYW1baW5dICBUaGlzICAgICAgICAgICAgICAgIFBvaW50ZXIg dG8NCj4gPiA+IEVGSV9SRVNUX0VYX1BST1RPQ09MIGluc3RhbmNlIGZvciBhDQo+ID4gPiA+IHBh cnRpY3VsYXINCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRVNU IHNlcnZpY2UuDQo+ID4gPiA+ICsgIEBwYXJhbVtvdXRdIFJlc3RFeFNlcnZpY2VJbmZvICAgUG9p bnRlciB0byByZWNlaXZlIGEgcG9pbnRlciB0bw0KPiA+ID4gPiBFRklfUkVTVF9FWF9TRVJWSUNF X0lORk8gc3RydWN0dXJlLiBUaGUNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBmb3JtYXQgb2YNCj4gPiA+IEVGSV9SRVNUX0VYX1NFUlZJQ0VfSU5GTyBpcyB2ZXJz aW9uDQo+ID4gPiA+IGNvbnRyb2xsZWQgZm9yIHRoZSBmdXR1cmUNCj4gPiA+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlbnNpb24uIFRoZSB2ZXJzaW9uIG9mDQo+ID4g PiBFRklfUkVTVF9FWF9TRVJWSUNFX0lORk8NCj4gPiA+ID4gc3RydWN0dXJlIGlzIHJldHVybmVk DQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIGhlYWRl ciB3aXRoaW4gdGhpcw0KPiA+ID4gc3RydWN0dXJlLiBFRkkgUkVTVCBjbGllbnQgcmVmZXJzIHRv DQo+ID4gPiA+IHRoZSBjb3JyZWN0DQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZm9ybWF0IG9mIHN0cnVjdHVyZSBhY2NvcmRpbmcNCj4gPiA+ID4gKyB0bw0KPiA+ ID4gdGhlIHZlcnNpb24gbnVtYmVyLiBUaGUNCj4gPiA+ID4gcG9pbnRlciB0bw0KPiA+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVGSV9SRVNUX0VYX1NFUlZJQ0VfSU5G TyBpcw0KPiA+ID4gYSBtZW1vcnkgYmxvY2sgYWxsb2NhdGVkDQo+ID4gPiA+IGJ5IEVGSSBSRVNU IEVYIGRyaXZlcg0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu c3RhbmNlLiBUaGF0IGlzIGNhbGxlcidzDQo+ID4gPiByZXNwb25zaWJpbGl0eSB0byBmcmVlIHRo aXMgbWVtb3J5DQo+ID4gPiA+IHdoZW4gdGhpcw0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdHVyZSBpcyBubyBsb25nZXIgbmVlZGVkLg0KPiA+ID4gUmVm ZXIgdG8gUmVsYXRlZCBEZWZpbml0aW9ucw0KPiA+ID4gPiBiZWxvdyBmb3IgdGhlDQo+ID4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5pdGlvbnMgb2YNCj4gPiA+ IEVGSV9SRVNUX0VYX1NFUlZJQ0VfSU5GTyBzdHJ1Y3R1cmUuDQo+ID4gPiA+ICsNCj4gPiA+ID4g KyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICBFRklfUkVTVF9FWF9TRVJWSUNFX0lO Rk8gaXMNCj4gPiA+IHJldHVybmVkIGluDQo+ID4gPiA+IFJlc3RFeFNlcnZpY2VJbmZvLiBUaGlz IGZ1bmN0aW9uDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMg bm90IHN1cHBvcnRlZCBpbiB0aGlzIFJFU1QNCj4gPiA+ID4gKyBFWA0KPiA+ID4gUHJvdG9jb2wg ZHJpdmVyIGluc3RhbmNlLg0KPiA+ID4gPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAg ICAgIFRoaXMgZnVuY3Rpb24gaXMgbm90IHN1cHBvcnRlZCBpbg0KPiA+ID4gdGhpcyBSRVNUDQo+ ID4gPiA+IEVYIFByb3RvY29sIGRyaXZlciBpbnN0YW5jZS4NCj4gPiA+ID4gKw0KPiA+ID4gPiAr KiovDQo+ID4gPiA+ICt0eXBlZGVmDQo+ID4gPiA+ICtFRklfU1RBVFVTDQo+ID4gPiA+ICsoRUZJ QVBJICpFRklfUkVTVF9FWF9HRVRfU0VSVklDRSkoDQo+ID4gPiA+ICsgIElOICAgRUZJX1JFU1Rf RVhfUFJPVE9DT0wgICAgICAqVGhpcywNCj4gPiA+ID4gKyAgT1VUICBFRklfUkVTVF9FWF9TRVJW SUNFX0lORk8gICoqUmVzdEV4U2VydmljZUluZm8NCj4gPiA+ID4gKyAgKTsNCj4gPiA+ID4gKw0K PiA+ID4gPiArLyoqDQo+ID4gPiA+ICsgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBvcGVyYXRpb25h bCBjb25maWd1cmF0aW9uIG9mIGN1cnJlbnQgRUZJDQo+ID4gPiA+ICtSRVNUDQo+ID4gRVgNCj4g PiA+IGNoaWxkDQo+ID4gPiA+IGluc3RhbmNlLg0KPiA+ID4gPiArDQo+ID4gPiA+ICsgIFRoaXMg ZnVuY3Rpb24gcmV0dXJucyB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uIG9mIEVGSSBSRVNUIEVY DQo+ID4gPiA+ICsgY2hpbGQNCj4gPiA+IGluc3RhbmNlLg0KPiA+ID4gPiBUaGUgZm9ybWF0IG9m DQo+ID4gPiA+ICsgIG9wZXJhdGlvbmFsIGNvbmZpZ3VyYXRpb24gZGVwZW5kcyBvbiB0aGUgaW1w bGVtZW50YXRpb24gb2YgRUZJDQo+ID4gPiA+ICsgUkVTVA0KPiA+IEVYDQo+ID4gPiA+IGRyaXZl ciBpbnN0YW5jZS4gRm9yDQo+ID4gPiA+ICsgIGV4YW1wbGUsIEhUVFAtYXdhcmUgRUZJIFJFU1Qg RVggZHJpdmVyIGluc3RhbmNlIHVzZXMgRUZJIEhUVFANCj4gPiA+IHByb3RvY29sIGFzDQo+ID4g PiA+IHRoZSB1bmR5aW5nIHByb3RvY29sDQo+ID4gPiA+ICsgIHRvIGNvbW11bmljYXRlIHdpdGgg UkVTVCBzZXJ2aWNlLiBJbiB0aGlzIGNhc2UsIHRoZSB0eXBlIG9mDQo+ID4gY29uZmlndXJhdGlv bg0KPiA+ID4gaXMNCj4gPiA+ID4gKyAgRUZJX1JFU1RfRVhfQ09ORklHX1RZUEVfSFRUUCByZXR1 cm5lZCBmcm9tIEdldFNlcnZpY2UoKS4NCj4gPiA+ID4gRUZJX0hUVFBfQ09ORklHX0RBVEEgaXMg dXNlZCBhcyBFRkkgUkVTVA0KPiA+ID4gPiArICBFWCBjb25maWd1cmF0aW9uIGZvcm1hdCBhbmQg cmV0dXJuZWQgdG8gRUZJIFJFU1QgY2xpZW50LiBVc2VyDQo+ID4gPiA+ICsgaGFzIHRvDQo+ID4g dHlwZQ0KPiA+ID4gPiBjYXN0IFJlc3RFeENvbmZpZ0RhdGENCj4gPiA+ID4gKyAgdG8gRUZJX0hU VFBfQ09ORklHX0RBVEEuIEZvciB0aG9zZSBub24gSFRUUC1hd2FyZSBSRVNUIEVYDQo+ID4gPiA+ ICsgZHJpdmVyDQo+ID4gPiA+IGluc3RhbmNlcywgdGhlIHR5cGUgb2YgY29uZmlndXJhdGlvbg0K PiA+ID4gPiArICBpcyBFRklfUkVTVF9FWF9DT05GSUdfVFlQRV9VTlNQRUNJRklDIHJldHVybmVk IGZyb20NCj4gPiBHZXRTZXJ2aWNlKCkuDQo+ID4gPiBJbg0KPiA+ID4gPiB0aGlzIGNhc2UsIHRo ZSBmb3JtYXQgb2YNCj4gPiA+ID4gKyAgcmV0dXJuaW5nIGRhdGEgY291bGQgYmUgbm9uIGluZHVz dHJpYWwuIEluc3RlYWQsIHRoZSBmb3JtYXQgb2YNCj4gPiA+IGNvbmZpZ3VyYXRpb24NCj4gPiA+ ID4gZGF0YSBpcyBzeXN0ZW0vcGxhdGZvcm0NCj4gPiA+ID4gKyAgc3BlY2lmaWMgZGVmaW5pdGlv biBzdWNoIGFzIEJNQyBtZWNoYW5pc20gdXNlZCBpbiBFRkkgUkVTVCBFWA0KPiA+ID4gPiArIGRy aXZlcg0KPiA+ID4gPiBpbnN0YW5jZS4gRUZJIFJFU1QgY2xpZW50IGFuZA0KPiA+ID4gPiArICBF RkkgUkVTVCBFWCBkcml2ZXIgaW5zdGFuY2UgaGF2ZSB0byByZWZlciB0byB0aGUgc3BlY2lmaWMN Cj4gPiA+ID4gKyBzeXN0ZW0NCj4gPiA+IC9wbGF0Zm9ybQ0KPiA+ID4gPiBzcGVjIHdoaWNoIGlz IG91dCBvZiBVRUZJIHNjb3BlLg0KPiA+ID4gPiArDQo+ID4gPiA+ICsgIEBwYXJhbVtpbl0gIFRo aXMgICAgICAgICAgICAgICAgVGhpcyBpcyB0aGUNCj4gPiA+IEVGSV9SRVNUX0VYX1BST1RPQ09M IGluc3RhbmNlLg0KPiA+ID4gPiArICBAcGFyYW1bb3V0XSBSZXN0RXhDb25maWdEYXRhICAgIFBv aW50ZXIgdG8gcmVjZWl2ZSBhIHBvaW50ZXIgdG8NCj4gPiA+ID4gRUZJX1JFU1RfRVhfQ09ORklH X0RBVEEuDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIG1l bW9yeSBhbGxvY2F0ZWQgZm9yDQo+ID4gPiBjb25maWd1cmF0aW9uIGRhdGEgc2hvdWxkIGJlDQo+ ID4gPiA+IGZyZWVkDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YnkgY2FsbGVyLiBTZWUgUmVsYXRlZA0KPiA+ID4gPiArIERlZmluaXRpb25zDQo+ID4gPiBmb3Ig dGhlIGRldGFpbHMuDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAg ICAgICAgICAgICBFRklfUkVTVF9FWF9DT05GSUdfREFUQSBpcw0KPiA+ID4gcmV0dXJuZWQgaW4N Cj4gPiA+ID4gc3VjY2Vzc2Z1bGx5Lg0KPiA+ID4gPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRF RCAgICAgICAgIFRoaXMgZnVuY3Rpb24gaXMgbm90IHN1cHBvcnRlZCBpbg0KPiA+ID4gdGhpcyBS RVNUDQo+ID4gPiA+IEVYIFByb3RvY29sIGRyaXZlciBpbnN0YW5jZS4NCj4gPiA+ID4gKyAgQHJl dHZhbCBFRklfTk9UX1JFQURZICAgICAgICAgICBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGlzIGlu c3RhbmNlDQo+ID4gPiBpcyBub3Qgc2V0DQo+ID4gPiA+IHlldC4gQ29uZmlndXJlKCkgbXVzdCBi ZQ0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4ZWN1dGVkIGFu ZCByZXR1cm5zDQo+ID4gPiBzdWNjZXNzZnVsbHkgcHJpb3IgdG8gaW52b2tlIHRoaXMNCj4gPiA+ ID4gZnVuY3Rpb24uDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyoqLw0KPiA+ID4gPiArdHlwZWRlZg0K PiA+ID4gPiArRUZJX1NUQVRVUw0KPiA+ID4gPiArKEVGSUFQSSAqRUZJX1JFU1RfRVhfR0VUX01P REVfREFUQSkoDQo+ID4gPiA+ICsgIElOICBFRklfUkVTVF9FWF9QUk9UT0NPTCAgKlRoaXMsDQo+ ID4gPiA+ICsgIE9VVCBFRklfUkVTVF9FWF9DT05GSUdfREFUQSAqUmVzdEV4Q29uZmlnRGF0YQ0K PiA+ID4gPiArICApOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsvKioNCj4gPiA+ID4gKyAgVGhpcyBm dW5jdGlvbiBpcyB1c2VkIHRvIGNvbmZpZ3VyZSBFRkkgUkVTVCBFWCBjaGlsZCBpbnN0YW5jZS4N Cj4gPiA+ID4gKw0KPiA+ID4gPiArICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY29uZmlndXJl IHRoZSBzZXR0aW5nIG9mIHVuZGVybHlpbmcNCj4gPiA+ID4gKyBwcm90b2NvbA0KPiA+IG9mDQo+ ID4gPiBSRVNUDQo+ID4gPiA+IEVYIGNoaWxkDQo+ID4gPiA+ICsgIGluc3RhbmNlLiBUaGUgdHlw ZSBvZiBjb25maWd1cmF0aW9uIGlzIGFjY29yZGluZyB0byB0aGUNCj4gPiBpbXBsZW1lbnRhdGlv biBvZg0KPiA+ID4gPiBFRkkgUkVTVCBFWA0KPiA+ID4gPiArICBkcml2ZXIgaW5zdGFuY2UuIEZv ciBleGFtcGxlLCBIVFRQLWF3YXJlIEVGSSBSRVNUIEVYIGRyaXZlcg0KPiA+ID4gPiArIGluc3Rh bmNlDQo+ID4gPiB1c2VzDQo+ID4gPiA+IEVGSSBIVFRQIHByb3RvY29sDQo+ID4gPiA+ICsgIGFz IHRoZSB1bmR5aW5nIHByb3RvY29sIHRvIGNvbW11bmljYXRlIHdpdGggUkVTVCBzZXJ2aWNlLiBU aGUNCj4gPiA+ID4gKyB0eXBlIG9mDQo+ID4gPiA+IGNvbmZpZ3VyYXRpb24gaXMNCj4gPiA+ID4g KyAgRUZJX1JFU1RfRVhfQ09ORklHX1RZUEVfSFRUUCBhbmQgUmVzdEV4Q29uZmlnRGF0YSBpcyB0 aGUgc2FtZQ0KPiA+ID4gPiBmb3JtYXQgd2l0aCBFRklfSFRUUF9DT05GSUdfREFUQS4NCj4gPiA+ ID4gKyAgQWtpbiB0byBIVFRQIGNvbmZpZ3VyYXRpb24sIFJFU1QgRVggY2hpbGQgaW5zdGFuY2Ug Y2FuIGJlDQo+ID4gPiA+ICsgY29uZmlndXJlDQo+ID4gdG8NCj4gPiA+IHVzZQ0KPiA+ID4gPiBk aWZmZXJlbnQgSFRUUA0KPiA+ID4gPiArICBsb2NhbCBhY2Nlc3MgcG9pbnQgZm9yIHRoZSBkYXRh IHRyYW5zbWlzc2lvbi4gTXVsdGlwbGUgUkVTVA0KPiA+ID4gPiArIGNsaWVudHMNCj4gPiBtYXkN Cj4gPiA+IHVzZQ0KPiA+ID4gPiBkaWZmZXJlbnQNCj4gPiA+ID4gKyAgY29uZmlndXJhdGlvbiBv ZiBIVFRQIHRvIGRpc3Rpbmd1aXNoIHRoZW1zZWx2ZXMsIHN1Y2ggYXMgdG8gdXNlDQo+ID4gPiA+ ICsgdGhlDQo+ID4gPiA+IGRpZmZlcmVudCBUQ1AgcG9ydC4NCj4gPiA+ID4gKyAgRm9yIHRob3Nl IG5vbiBIVFRQLWF3YXJlIFJFU1QgRVggZHJpdmVyIGluc3RhbmNlLCB0aGUgdHlwZSBvZg0KPiA+ ID4gPiBjb25maWd1cmF0aW9uIGlzDQo+ID4gPiA+ICsgIEVGSV9SRVNUX0VYX0NPTkZJR19UWVBF X1VOU1BFQ0lGSUMuIFJlc3RFeENvbmZpZ0RhdGEgcmVmZXJzDQo+IHRvDQo+ID4gPiB0aGUNCj4g PiA+ID4gbm9uIGluZHVzdHJpYWwgc3RhbmRhcmQuDQo+ID4gPiA+ICsgIEluc3RlYWQsIHRoZSBm b3JtYXQgb2YgY29uZmlndXJhdGlvbiBkYXRhIGlzIHN5c3RlbS9wbGF0Zm9ybQ0KPiA+ID4gPiAr IHNwZWNpZmljDQo+ID4gPiA+IGRlZmluaXRpb24gc3VjaCBhcyBCTUMuDQo+ID4gPiA+ICsgIElu IHRoaXMgY2FzZSwgRUZJIFJFU1QgY2xpZW50IGFuZCBFRkkgUkVTVCBFWCBkcml2ZXIgaW5zdGFu Y2UNCj4gPiA+ID4gKyBoYXZlIHRvDQo+ID4gcmVmZXINCj4gPiA+IHRvDQo+ID4gPiA+IHRoZSBz cGVjaWZpYw0KPiA+ID4gPiArICBzeXN0ZW0vcGxhdGZvcm0gc3BlYyB3aGljaCBpcyBvdXQgb2Yg dGhlIFVFRkkgc2NvcGUuIEJlc2lkZXMNCj4gPiA+ID4gR2V0U2VydmljZSgpZnVuY3Rpb24sIG5v IG90aGVyDQo+ID4gPiA+ICsgIEVGSSBSRVNUIEVYIGZ1bmN0aW9ucyBjYW4gYmUgZXhlY3V0ZWQg YnkgdGhpcyBpbnN0YW5jZSB1bnRpbA0KPiA+IENvbmZpZ3VyZSgpaXMNCj4gPiA+ID4gZXhlY3V0 ZWQgYW5kIHJldHVybnMNCj4gPiA+ID4gKyAgc3VjY2Vzc2Z1bGx5LiBBbGwgb3RoZXIgZnVuY3Rp b25zIG11c3QgcmV0dXJucyBFRklfTk9UX1JFQURZIGlmDQo+ID4gPiA+ICsgdGhpcw0KPiA+ID4g PiBpbnN0YW5jZSBpcyBub3QgY29uZmlndXJlZA0KPiA+ID4gPiArICB5ZXQuIFNldCBSZXN0RXhD b25maWdEYXRhIHRvIE5VTEwgbWVhbnMgdG8gcHV0IEVGSSBSRVNUIEVYDQo+ID4gPiA+ICsgY2hp bGQNCj4gPiA+IGluc3RhbmNlDQo+ID4gPiA+IGludG8gdGhlIHVuY29uZmlndXJlZA0KPiA+ID4g PiArICBzdGF0ZS4NCj4gPiA+ID4gKw0KPiA+ID4gPiArICBAcGFyYW1baW5dICBUaGlzICAgICAg ICAgICAgICAgIFRoaXMgaXMgdGhlDQo+ID4gPiBFRklfUkVTVF9FWF9QUk9UT0NPTCBpbnN0YW5j ZS4NCj4gPiA+ID4gKyAgQHBhcmFtW2luXSAgUmVzdEV4Q29uZmlnRGF0YSAgICBQb2ludGVyIHRv DQo+ID4gPiBFRklfUkVTVF9FWF9DT05GSUdfREFUQS4NCj4gPiA+ID4gU2VlIFJlbGF0ZWQgRGVm aW5pdGlvbnMgaW4NCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH ZXRNb2RlRGF0YSgpIHByb3RvY29sDQo+ID4gPiBpbnRlcmZhY2UuDQo+ID4gPiA+ICsNCj4gPiA+ ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICBFRklfUkVTVF9FWF9DT05GSUdf REFUQSBpcw0KPiA+ID4gc2V0IGluDQo+ID4gPiA+IHN1Y2Nlc3NmdWxseS4NCj4gPiA+ID4gKyAg QHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgICBDb25maWd1cmF0aW9uIGZvciB0aGlzIFJF U1QgRVgNCj4gPiA+IGNoaWxkDQo+ID4gPiA+IGluc3RhbmNlIGlzIGZhaWxlZCB3aXRoIHRoZSBn aXZlbg0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVGSV9SRVNU X0VYX0NPTkZJR19EQVRBLg0KPiA+ID4gPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAg ICAgIFRoaXMgZnVuY3Rpb24gaXMgbm90IHN1cHBvcnRlZCBpbg0KPiA+ID4gdGhpcyBSRVNUDQo+ ID4gPiA+IEVYIFByb3RvY29sIGRyaXZlciBpbnN0YW5jZS4NCj4gPiA+ID4gKw0KPiA+ID4gPiAr KiovDQo+ID4gPiA+ICt0eXBlZGVmDQo+ID4gPiA+ICtFRklfU1RBVFVTDQo+ID4gPiA+ICsoRUZJ QVBJICpFRklfUkVTVF9FWF9DT05GSUdVUkUpKA0KPiA+ID4gPiArICBJTiAgRUZJX1JFU1RfRVhf UFJPVE9DT0wgICpUaGlzLA0KPiA+ID4gPiArICBJTiAgRUZJX1JFU1RfRVhfQ09ORklHX0RBVEEg UmVzdEV4Q29uZmlnRGF0YQ0KPiA+ID4gPiArICApOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsvKioN Cj4gPiA+ID4gKyAgVGhpcyBmdW5jdGlvbiBzZW5kcyBSRVNUIHJlcXVlc3QgdG8gUkVTVCBzZXJ2 aWNlIGFuZCBzaWduYWwNCj4gPiA+ID4gK2NhbGxlcidzDQo+ID4gPiBldmVudA0KPiA+ID4gPiBh c3luY2hyb25vdXNseSB3aGVuDQo+ID4gPiA+ICsgIHRoZSBmaW5hbCByZXNwb25zZSBpcyByZWNl aXZlZCBieSBSRVNUIEVYIFByb3RvY29sIGRyaXZlciBpbnN0YW5jZS4NCj4gPiA+ID4gKw0KPiA+ ID4gPiArICBUaGUgZXNzZW50aWFsIGRlc2lnbiBvZiB0aGlzIGZ1bmN0aW9uIGlzIHRvIGhhbmRs ZSBhc3luY2hyb25vdXMNCj4gPiA+ID4gc2VuZC9yZWNlaXZlIGltcGxpY2l0bHkgYWNjb3JkaW5n DQo+ID4gPiA+ICsgIHRvIFJFU1Qgc2VydmljZSBhc3luY2hyb25vdXMgcmVxdWVzdCBtZWNoYW5p c20uIENhbGxlciB3aWxsIGdldA0KPiA+ID4gPiArIHRoZQ0KPiA+ID4gPiBub3RpZmljYXRpb24g b25jZSB0aGUgcmVzcG9uc2UNCj4gPiA+ID4gKyAgaXMgcmV0dXJuZWQgZnJvbSBSRVNUIHNlcnZp Y2UuDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgQHBhcmFtW2luXSAgVGhpcyAgICAgICAgICAgICAg ICAgIFRoaXMgaXMgdGhlDQo+ID4gPiBFRklfUkVTVF9FWF9QUk9UT0NPTCBpbnN0YW5jZS4NCj4g PiA+ID4gKyAgQHBhcmFtW2luXSAgUmVxdWVzdE1lc3NhZ2UgICAgICAgIFRoaXMgaXMgdGhlIEhU VFAgcmVxdWVzdA0KPiA+ID4gbWVzc2FnZSBzZW50DQo+ID4gPiA+IHRvIFJFU1Qgc2VydmljZS4g U2V0IFJlcXVlc3RNZXNzYWdlDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB0byBOVUxMIHRvIGNhbmNlbCB0aGUNCj4gPiA+IHByZXZpb3VzIGFzeW5jaHJvbm91 cyByZXF1ZXN0DQo+ID4gPiA+IGFzc29jaWF0ZWQgd2l0aCB0aGUNCj4gPiA+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcnJlc3BvbmRpbmcgUmVzdEV4VG9rZW4uDQo+ ID4gPiBTZWUgZGVzY3JpcHRpb25zIGZvciB0aGUNCj4gPiA+ID4gZGV0YWlscy4NCj4gPiA+ID4g KyAgQHBhcmFtW2luXSAgUmVzdEV4VG9rZW4gICAgICAgICAgIFJFU1QgRVggdG9rZW4gd2hpY2gg UkVTVCBFWA0KPiA+ID4gUHJvdG9jb2wNCj4gPiA+ID4gaW5zdGFuY2UgdXNlcyB0byBub3RpZnkg UkVTVCBjbGllbnQNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHRoZSBzdGF0dXMgb2YgcmVzcG9uc2Ugb2YNCj4gPiA+IGFzeW5jaHJvbm91cyBSRVNUIHJlcXVl c3QuIFNlZQ0KPiA+ID4gPiByZWxhdGVkIGRlZmluaXRpb24NCj4gPiA+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG9mIEVGSV9SRVNUX0VYX1RPS0VOLg0KPiA+ID4gPiAr ICBAcGFyYW1baW5dICBUaW1lT3V0SW5NaWxsaVNlY29uZHMgVGhlIHBvaW50ZXIgdG8gdGhlIHRp bWVvdXQgaW4NCj4gPiA+ID4gbWlsbGlzZWNvbmRzIHdoaWNoIFJFU1QgRVggUHJvdG9jb2wgZHJp dmVyDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5j ZSByZWZlcnMgYXMgdGhlDQo+ID4gPiBkdXJhdGlvbiB0byBkcm9wIGFzeW5jaHJvbm91cyBSRVNU DQo+ID4gPiA+IHJlcXVlc3QuIE5VTEwNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBvaW50ZXIgbWVhbnMgbm8gdGltZW91dCBmb3INCj4gPiA+IHRoaXMgUkVT VCByZXF1ZXN0LiBSRVNUIEVYDQo+ID4gPiA+IFByb3RvY29sIGRyaXZlcg0KPiA+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbmFscyBjYWxsZXIncyBldmVudCB3 aXRoDQo+ID4gPiBFRklfU1RBVFVTIHNldCB0byBFRklfVElNRU9VVA0KPiA+ID4gPiBpbiBSZXN0 RXhUb2tlbg0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg UkVTVCBFWCBQcm90b2NvbCBjYW4ndCBnZXQNCj4gPiA+IHRoZSByZXNwb25zZSBmcm9tIFJFU1QN Cj4gPiA+ID4gc2VydmljZSB3aXRoaW4NCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFRpbWVPdXRJbk1pbGxpU2Vjb25kcy4NCj4gPiA+ID4gKw0KPiA+ID4gPiAr ICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICAgQXN5bmNocm9ub3VzIFJFU1QgcmVx dWVzdCBpcw0KPiA+ID4gZXN0YWJsaXNoZWQuDQo+ID4gPiA+ICsgIEByZXR2YWwgRUZJX1VOU1VQ UE9SVEVEICAgICAgICAgICBUaGlzIFJFU1QgRVggUHJvdG9jb2wgZHJpdmVyDQo+ID4gPiBpbnN0 YW5jZQ0KPiA+ID4gPiBkb2Vzbid0IHN1cHBvcnQgYXN5bmNocm9ub3VzIHJlcXVlc3QuDQo+ID4g PiA+ICsgIEByZXR2YWwgRUZJX1RJTUVPVVQgICAgICAgICAgICAgICBBc3luY2hyb25vdXMgUkVT VCByZXF1ZXN0IGlzDQo+ID4gPiBub3QNCj4gPiA+ID4gZXN0YWJsaXNoZWQgYW5kIHRpbWVvdXQg aXMgZXhwaXJlZC4NCj4gPiA+ID4gKyAgQHJldHZhbCBFRklfQUJPUlQgICAgICAgICAgICAgICAg IFByZXZpb3VzIGFzeW5jaHJvbm91cyBSRVNUDQo+ID4gPiByZXF1ZXN0IGhhcyBiZWVuDQo+ID4g PiA+IGNhbmNlbGVkLg0KPiA+ID4gPiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICAg ICAgT3RoZXJ3aXNlLCByZXR1cm5zDQo+ID4gPiBFRklfREVWSUNFX0VSUk9SDQo+ID4gPiA+IGZv ciBvdGhlciBlcnJvcnMgYWNjb3JkaW5nIHRvIEhUVFAgU3RhdHVzIENvZGUuDQo+ID4gPiA+ICsg IEByZXR2YWwgRUZJX05PVF9SRUFEWSAgICAgICAgICAgICBUaGUgY29uZmlndXJhdGlvbiBvZiB0 aGlzDQo+ID4gPiBpbnN0YW5jZSBpcyBub3Qgc2V0DQo+ID4gPiA+IHlldC4gQ29uZmlndXJlKCkg bXVzdCBiZSBleGVjdXRlZA0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYW5kIHJldHVybnMgc3VjY2Vzc2Z1bGx5DQo+ID4gPiA+ICsgcHJpb3INCj4gPiA+IHRv IGludm9rZSB0aGlzIGZ1bmN0aW9uLg0KPiA+ID4gPiArDQo+ID4gPiA+ICsqKi8NCj4gPiA+ID4g K3R5cGVkZWYNCj4gPiA+ID4gK0VGSV9TVEFUVVMNCj4gPiA+ID4gKyhFRklBUEkgKkVGSV9SRVNU X0VYX0FTWU5DX1NFTkRfUkVDRUlWRSkoDQo+ID4gPiA+ICsgIElOICAgICAgRUZJX1JFU1RfRVhf UFJPVE9DT0wgICAqVGhpcywNCj4gPiA+ID4gKyAgSU4gICAgICBFRklfSFRUUF9NRVNTQUdFICAg ICAgICpSZXF1ZXN0TWVzc2FnZSBPUFRJT05BTCwNCj4gPiA+ID4gKyAgSU4gICAgICBFRklfUkVT VF9FWF9UT0tFTiAgICAgICpSZXN0RXhUb2tlbiwNCj4gPiA+ID4gKyAgSU4gICAgICBVSU5UTiAg ICAgICAgICAgICAgICAgICpUaW1lT3V0SW5NaWxsaVNlY29uZHMNCj4gPiA+IE9QVElPTkFMDQo+ ID4gPiA+ICsgICk7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKy8qKg0KPiA+ID4gPiArICBUaGlzIGZ1 bmN0aW9uIHNlbmRzIFJFU1QgcmVxdWVzdCB0byBhIFJFU1QgRXZlbnQgc2VydmljZSBhbmQNCj4g PiA+ID4gK3NpZ25hbHMNCj4gPiA+IGNhbGxlcidzDQo+ID4gPiA+IGV2ZW50DQo+ID4gPiA+ICsg IHRva2VuIGFzeW5jaHJvbm91c2x5IHdoZW4gdGhlIFVSSSByZXNvdXJjZSBjaGFuZ2UgZXZlbnQg aXMNCj4gPiA+ID4gKyByZWNlaXZlZA0KPiA+ID4gYnkNCj4gPiA+ID4gUkVTVCBFWA0KPiA+ID4g PiArICBQcm90b2NvbCBkcml2ZXIgaW5zdGFuY2UuDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgVGhl IGVzc2VudGlhbCBkZXNpZ24gb2YgdGhpcyBmdW5jdGlvbiBpcyB0byBtb25pdG9yIGV2ZW50DQo+ ID4gPiA+ICsgaW1wbGljaXRseQ0KPiA+ID4gYWNjb3JkaW5nDQo+ID4gPiA+IHRvDQo+ID4gPiA+ ICsgIFJFU1Qgc2VydmljZSBldmVudCBzZXJ2aWNlIG1lY2hhbmlzbS4gQ2FsbGVyIHdpbGwgZ2V0 IHRoZQ0KPiA+IG5vdGlmaWNhdGlvbiBpZg0KPiA+ID4gPiBjZXJ0YWluDQo+ID4gPiA+ICsgIHJl c291cmNlIGlzIGNoYW5nZWQuDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgQHBhcmFtW2luXSAgVGhp cyAgICAgICAgICAgICAgICAgIFRoaXMgaXMgdGhlDQo+ID4gPiBFRklfUkVTVF9FWF9QUk9UT0NP TCBpbnN0YW5jZS4NCj4gPiA+ID4gKyAgQHBhcmFtW2luXSAgUmVxdWVzdE1lc3NhZ2UgICAgICAg IFRoaXMgaXMgdGhlIEhUVFAgcmVxdWVzdA0KPiA+ID4gbWVzc2FnZSBzZW50DQo+ID4gPiA+IHRv IFJFU1Qgc2VydmljZS4gU2V0IFJlcXVlc3RNZXNzYWdlDQo+ID4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0byBOVUxMIHRvIGNhbmNlbCB0aGUNCj4gPiA+IHByZXZp b3VzIGV2ZW50IHNlcnZpY2UgYXNzb2NpYXRlZA0KPiA+ID4gPiB3aXRoIHRoZSBjb3JyZXNwb25k aW5nDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXN0RXhU b2tlbi4gU2VlDQo+ID4gPiBkZXNjcmlwdGlvbnMgZm9yIHRoZSBkZXRhaWxzLg0KPiA+ID4gPiAr ICBAcGFyYW1baW5dICBSZXN0RXhUb2tlbiAgICAgICAgICAgUkVTVCBFWCB0b2tlbiB3aGljaCBS RVNUIEVYDQo+ID4gPiBQcm90b2NvbA0KPiA+ID4gPiBkcml2ZXIgaW5zdGFuY2UgdXNlcyB0byBu b3RpZnkgUkVTVCBjbGllbnQNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHRoZSBVUkkgcmVzb3VyY2Ugd2hpY2gNCj4gPiA+IG1vbml0b3JlZCBieSBSRVNUIGNs aWVudCBoYXMNCj4gPiA+ID4gYmVlbiBjaGFuZ2VkLiBTZWUgdGhlIHJlbGF0ZWQNCj4gPiA+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb24gb2YNCj4gPiA+ IEVGSV9SRVNUX0VYX1RPS0VOIGluDQo+ID4gPiA+IEVGSV9SRVNUX0VYX1BST1RPQ09MLkFzeW5j U2VuZFJlY2VpdmUoKS4NCj4gPiA+ID4gKw0KPiA+ID4gPiArICBAcmV0dmFsIEVGSV9TVUNDRVNT ICAgICAgICAgICAgICAgQXN5bmNocm9ub3VzIFJFU1QgcmVxdWVzdCBpcw0KPiA+ID4gZXN0YWJs aXNoZWQuDQo+ID4gPiA+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgICAgICBUaGlz IFJFU1QgRVggUHJvdG9jb2wgZHJpdmVyDQo+ID4gPiBpbnN0YW5jZQ0KPiA+ID4gPiBkb2Vzbid0 IHN1cHBvcnQgYXN5bmNocm9ub3VzIHJlcXVlc3QuDQo+ID4gPiA+ICsgIEByZXR2YWwgRUZJX0FC T1JUICAgICAgICAgICAgICAgICBQcmV2aW91cyBhc3luY2hyb25vdXMgUkVTVA0KPiA+ID4gcmVx dWVzdCBoYXMgYmVlbg0KPiA+ID4gPiBjYW5jZWxlZCBvciBldmVudCBzdWJzY3JpcHRpb24gaGFz IGJlZW4NCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0 ZSBmcm9tIHNlcnZpY2UuDQo+ID4gPiA+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAg ICAgICBPdGhlcndpc2UsIHJldHVybnMNCj4gPiA+IEVGSV9ERVZJQ0VfRVJST1INCj4gPiA+ID4g Zm9yIG90aGVyIGVycm9ycyBhY2NvcmRpbmcgdG8gSFRUUCBTdGF0dXMgQ29kZS4NCj4gPiA+ID4g KyAgQHJldHZhbCBFRklfTk9UX1JFQURZICAgICAgICAgICAgIFRoZSBjb25maWd1cmF0aW9uIG9m IHRoaXMNCj4gPiA+IGluc3RhbmNlIGlzIG5vdCBzZXQNCj4gPiA+ID4geWV0LiBDb25maWd1cmUo KSBtdXN0IGJlIGV4ZWN1dGVkDQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBhbmQgcmV0dXJucyBzdWNjZXNzZnVsbHkNCj4gPiA+ID4gKyBwcmlvcg0KPiA+ID4g dG8gaW52b2tlIHRoaXMgZnVuY3Rpb24uDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyoqLw0KPiA+ID4g PiArdHlwZWRlZg0KPiA+ID4gPiArRUZJX1NUQVRVUw0KPiA+ID4gPiArKEVGSUFQSSAqRUZJX1JF U1RfRVhfRVZFTlRfU0VSVklDRSkoDQo+ID4gPiA+ICsgIElOICAgICAgRUZJX1JFU1RfRVhfUFJP VE9DT0wgICAqVGhpcywNCj4gPiA+ID4gKyAgSU4gICAgICBFRklfSFRUUF9NRVNTQUdFICAgICAg ICpSZXF1ZXN0TWVzc2FnZSBPUFRJT05BTCwNCj4gPiA+ID4gKyAgSU4gICAgICBFRklfUkVTVF9F WF9UT0tFTiAgICAgICpSZXN0RXhUb2tlbg0KPiA+ID4gPiArKTsNCj4gPiA+ID4gKw0KPiA+ID4g PiArLy8vDQo+ID4gPiA+ICsvLy8gRUZJIFJFU1QoRVgpIHByb3RvY29scyBhcmUgZGVzaWduZWQg dG8gc3VwcG9ydCBSRVNUDQo+ID4gPiA+ICtjb21tdW5pY2F0aW9uDQo+ID4gPiA+IGJldHdlZW4g RUZJIFJFU1QgY2xpZW50DQo+ID4gPiA+ICsvLy8gYXBwbGljYXRpb25zL2RyaXZlcnMgYW5kIFJF U1Qgc2VydmljZXMuIEVGSSBSRVNUIGNsaWVudCB0b29sDQo+ID4gPiA+ICt1c2VzDQo+ID4gRUZJ DQo+ID4gPiA+IFJFU1QoRVgpIHByb3RvY29scw0KPiA+ID4gPiArLy8vIHRvIHNlbmQvcmVjZWl2 ZSByZXNvdXJjZXMgdG8vZnJvbSBSRVNUIHNlcnZpY2UgdG8gbWFuYWdlDQo+ID4gPiA+ICtzeXN0 ZW1zLA0KPiA+ID4gPiBjb25maWd1cmUgc3lzdGVtcyBvcg0KPiA+ID4gPiArLy8vIG1hbmlwdWxh dGUgcmVzb3VyY2VzIG9uIFJFU1Qgc2VydmljZS4gRHVlIHRvIEhUVFAgcHJvdG9jb2wgaXMNCj4g PiA+ID4gY29tbW9ubHkgdXNlZCB0byBjb21tdW5pY2F0ZQ0KPiA+ID4gPiArLy8vIHdpdGggUkVT VCBzZXJ2aWNlIGluIHByYWN0aWNlLCBFRkkgUkVTVChFWCkgcHJvdG9jb2xzIGFkb3B0DQo+ID4g PiA+ICtIVFRQIGFzDQo+ID4gdGhlDQo+ID4gPiA+IG1lc3NhZ2UgZm9ybWF0IHRvDQo+ID4gPiA+ ICsvLy8gc2VuZCBhbmQgcmVjZWl2ZSBSRVNUIHNlcnZpY2UgcmVzb3VyY2UuIEVGSSBSRVNUKEVY KSBkcml2ZXINCj4gPiBpbnN0YW5jZQ0KPiA+ID4gPiBhYnN0cmFjdHMgRUZJIFJFU1QNCj4gPiA+ ID4gKy8vLyBjbGllbnQgZnVuY3Rpb25hbGl0eSBhbmQgcHJvdmlkZXMgdW5kZXJseWluZyBpbnRl cmZhY2UgdG8NCj4gPiBjb21tdW5pY2F0ZQ0KPiA+ID4gPiB3aXRoIFJFU1Qgc2VydmljZS4NCj4g PiA+ID4gKy8vLyBFRkkgUkVTVChFWCkgZHJpdmVyIGluc3RhbmNlIGtub3dzIGhvdyB0byBjb21t dW5pY2F0ZSB3aXRoDQo+ID4gPiA+ICtSRVNUDQo+ID4gPiA+IHNlcnZpY2UgdGhyb3VnaCBjZXJ0 YWluDQo+ID4gPiA+ICsvLy8gaW50ZXJmYWNlIGFmdGVyIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZp Z3VyYXRpb24gaXMgaW5pdGlhbGl6ZWQuDQo+ID4gPiA+ICsvLy8NCj4gPiA+ID4gK3N0cnVjdCBf RUZJX1JFU1RfRVhfUFJPVE9DT0wgew0KPiA+ID4gPiArICBFRklfUkVTVF9TRU5EX1JFQ0VJVkUg ICAgICAgICAgU2VuZFJlY2VpdmU7DQo+ID4gPiA+ICsgIEVGSV9SRVNUX0dFVF9USU1FICAgICAg ICAgICAgICBHZXRTZXJ2aWNlVGltZTsNCj4gPiA+ID4gKyAgRUZJX1JFU1RfRVhfR0VUX1NFUlZJ Q0UgICAgICAgIEdldFNlcnZpY2U7DQo+ID4gPiA+ICsgIEVGSV9SRVNUX0VYX0dFVF9NT0RFX0RB VEEgICAgICBHZXRNb2RlRGF0YTsNCj4gPiA+ID4gKyAgRUZJX1JFU1RfRVhfQ09ORklHVVJFICAg ICAgICAgIENvbmZpZ3VyZTsNCj4gPiA+ID4gKyAgRUZJX1JFU1RfRVhfQVNZTkNfU0VORF9SRUNF SVZFIEF5bmNTZW5kUmVjZWl2ZTsNCj4gPiA+ID4gKyAgRUZJX1JFU1RfRVhfRVZFTlRfU0VSVklD RSAgICAgIEV2ZW50U2VydmljZTsNCj4gPiA+ID4gK307DQo+ID4gPiA+ICsNCj4gPiA+ID4gK2V4 dGVybiBFRklfR1VJRCBnRWZpUmVzdEV4U2VydmljZUJpbmRpbmdQcm90b2NvbEd1aWQ7DQo+ID4g PiA+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaVJlc3RFeFByb3RvY29sR3VpZDsNCj4gPiA+ID4gKw0K PiA+ID4gPiArI2VuZGlmDQo+ID4gPiA+IGRpZmYgLS1naXQgYS9NZGVQa2cvTWRlUGtnLmRlYyBi L01kZVBrZy9NZGVQa2cuZGVjIGluZGV4DQo+ID4gPiA+IDgxMmJlNzVmYjMuLjUyMDUzNzRkNjIg MTAwNjQ0DQo+ID4gPiA+IC0tLSBhL01kZVBrZy9NZGVQa2cuZGVjDQo+ID4gPiA+ICsrKyBiL01k ZVBrZy9NZGVQa2cuZGVjDQo+ID4gPiA+IEBAIC0xODQ4LDYgKzE4NDgsMTMgQEANCj4gPiA+ID4g ICAgIyMgSW5jbHVkZS9Qcm90b2NvbC9OdmRpbW1MYWJlbC5oDQo+ID4gPiA+ICAgIGdFZmlOdmRp bW1MYWJlbFByb3RvY29sR3VpZCAgICAgICAgICAgICAgID0geyAweGQ0MGI2YjgwLA0KPiA+ID4g MHg5N2Q1LCAweDQyODIsDQo+ID4gPiA+IHsgMHhiYiwgMHgxZCwgMHgyMiwgMHgzYSwgMHgxNiwg MHg5MSwgMHg4MCwgMHg1OCB9fQ0KPiA+ID4gPg0KPiA+ID4gPiArICAjDQo+ID4gPiA+ICsgICMg UHJvdG9jb2xzIGRlZmluZWQgaW4gVUVGSTIuOA0KPiA+ID4gPiArICAjDQo+ID4gPiA+ICsgICMj IEluY2x1ZGUvUHJvdG9jb2wvUmVzdEV4LmgNCj4gPiA+ID4gKyAgZ0VmaVJlc3RFeFByb3RvY29s R3VpZCAgICAgICAgICAgICAgID0geyAweDU1NjQ4YjkxLCAweGU3ZCwNCj4gPiA+IDB4NDBhMywg eyAweGE5LCAweGIzLA0KPiA+ID4gPiAweGE4LCAweDE1LCAweGQ3LCAweGVhLCAweGRmLCAweDk3 IH19DQo+ID4gPiA+ICsgIGdFZmlSZXN0RXhTZXJ2aWNlQmluZGluZ1Byb3RvY29sR3VpZCA9IHsg MHg0NTZiYmUwMSwgMHg5OWQwLA0KPiA+ID4gPiArIDB4NDVlYSwNCj4gPiA+ID4geyAweGJiLCAw eDVmLCAweDE2LCAweGQ4LCAweDRiLCAweGVkLCAweGM1LCAweDU5IH19DQo+ID4gPiA+ICsNCj4g PiA+ID4gICAgIw0KPiA+ID4gPiAgICAjIFByb3RvY29scyBkZWZpbmVkIGluIFNoZWxsMi4wDQo+ ID4gPiA+ICAgICMNCj4gPiA+ID4gLS0NCj4gPiA+ID4gMi4xNy4xDQo+ID4gPiA+DQo+ID4gPiA+ DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+ DQo+ID4NCj4gDQo+IA0KPiANCj4gDQo+IA0KDQo=