From win-pv-devel-bounces@lists.xenproject.org Wed Jan 03 09:53:28 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 03 Jan 2018 09:53:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eWfjh-0007bb-E0; Wed, 03 Jan 2018 09:53:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cjd3=d6=citrix.com=prvs=534dd8ba7=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eWfjg-0007bR-Mp
 for win-pv-devel@lists.xenproject.org; Wed, 03 Jan 2018 09:53:24 +0000
X-Inumbo-ID: 2a865f48-f06c-11e7-b0d7-9f685aff125f
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 2a865f48-f06c-11e7-b0d7-9f685aff125f;
 Wed, 03 Jan 2018 09:55:02 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.45,501,1508803200"; d="scan'208";a="65509538"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: 'Michel D'HOOGE' <michel.dhooge@gmail.com>
Thread-Topic: [win-pv-devel] Windows 10 domU is unstable with PV Bus Driver
Thread-Index: AQHTV88fjGsGfRcY8kOosXFY0wri9KMI+CewgAALLoCAACGcYIArgvgAgAARl8CAD4y1gIAAKIjwgAAU5ACAAB83AIAEXKkAgAGs9UCABQVhgIAAAnIAgBKMRvA=
Date: Wed, 3 Jan 2018 09:52:36 +0000
Message-ID: <fd0c0de1719646eea711a2ad3729772c@AMSPEX02CL03.citrite.net>
References: <CABvfmH7s+YXhD1NSGw4ZGdMTS+Q6crKfvXMvx1E3ZisDTHY2cA@mail.gmail.com>
 <e698459050eb407ab97bb840274892c6@AMSPEX02CL03.citrite.net>
 <CABvfmH6i=y4DVAPicHe6Z_EY7f61UeVhjkqaLDjdhrq7Jh7evA@mail.gmail.com>
 <3e75f83982b7431ba2ec23fbd3cb0078@AMSPEX02CL03.citrite.net>
 <CABvfmH6VCokW5fF+Gqapj7pdWN8f+-4LXtk3jJz9bh2VgmS-5Q@mail.gmail.com>
 <4bf323ccfab74b7695495065caa08a41@AMSPEX02CL03.citrite.net>
 <CABvfmH6mvNGM1Qv+dDGgE7D1vrf=ZonnHaQwdoaNR0_VON7Xzg@mail.gmail.com>
 <48bdbe864f204a34b23d314206b1b662@AMSPEX02CL03.citrite.net>
 <CABvfmH5Z4KH3V_Ze0CVuXTW50voRYz83sxtV+Yr8SGUMxaetKQ@mail.gmail.com>
 <9ee6235082a44e7a8bf2cf5ab8f67662@AMSPEX02CL03.citrite.net>
 <CABvfmH7GTNpZ6hak5sjMW09a=q2LmmrPG4u2FZHX8PQNb0VTFA@mail.gmail.com>
 <b17d515248d44600b51c3fd4dbd8449c@AMSPEX02CL03.citrite.net>
 <CABvfmH41e7o1uwkJBFL47cLce=Vh++kEHqDx1YsGwGp+3UjLkA@mail.gmail.com>
 <CABvfmH6k1DNPfvbL9-UG9DRWZh6TruGLPrBOn7Z818CKUKqJAQ@mail.gmail.com>
In-Reply-To: <CABvfmH6k1DNPfvbL9-UG9DRWZh6TruGLPrBOn7Z818CKUKqJAQ@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Subject: Re: [win-pv-devel] Windows 10 domU is unstable with PV Bus Driver
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

SGkgTWljaGVsLA0KDQogIFRoaXMgYXBwZWFycyB0byBiZSBhIG5ldyBsaW51eCBrZXJuZWwgYnVn
LiBTZWUgdGhlIHRocmVhZCBhdCBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVz
L2h0bWwveGVuLWRldmVsLzIwMTctMTIvbXNnMDE1MTIuaHRtbC4gSSB3aWxsIHRyeSB0byB0YWtl
IGEgbG9vayBhLnMuYS5wLiBJIHN1Z2dlc3QgeW91IGRvd25ncmFkZSB5b3VyIGRvbTAga2VybmVs
IGluIHRoZSBtZWFudGltZS4NCg0KICBDaGVlcnMsDQoNCiAgUGF1bA0KDQo+IC0tLS0tT3JpZ2lu
YWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1pY2hlbCBEJ0hPT0dFIFttYWlsdG86bWljaGVsLmRo
b29nZUBnbWFpbC5jb21dDQo+IFNlbnQ6IDIyIERlY2VtYmVyIDIwMTcgMTU6MzQNCj4gVG86IFBh
dWwgRHVycmFudCA8UGF1bC5EdXJyYW50QGNpdHJpeC5jb20+DQo+IENjOiB3aW4tcHYtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcNCj4gU3ViamVjdDogUmU6IFt3aW4tcHYtZGV2ZWxdIFdpbmRv
d3MgMTAgZG9tVSBpcyB1bnN0YWJsZSB3aXRoIFBWIEJ1cyBEcml2ZXINCj4gDQo+IEEgZm9sbG93
LXVwIHRvIG15IHByZXZpb3VzIG1haWwuLi4NCj4gDQo+IEkgbWlzc2VkIHRoYXQgcmVwb3J0LCB3
aGljaCBvY2N1cnJlZCA1OHMgYmVmb3JlIHRoZSBvbmUgSSBhbHJlYWR5IHByb3ZpZGVkLg0KPiAN
Cj4gTWljaGVsDQo+IA0KPiANCj4gdmlmIHZpZi0zLTAgdmlmMy4wOiBUcnlpbmcgdG8gdW5tYXAg
aW52YWxpZCBoYW5kbGUhIHBlbmRpbmdfaWR4OiAweDE4DQo+IC0tLS0tLS0tLS0tLVsgY3V0IGhl
cmUgXS0tLS0tLS0tLS0tLQ0KPiBrZXJuZWwgQlVHIGF0IGRyaXZlcnMvbmV0L3hlbi1uZXRiYWNr
L25ldGJhY2suYzo0MzAhDQo+IGludmFsaWQgb3Bjb2RlOiAwMDAwIFsjMV0gUFJFRU1QVCBTTVAN
Cj4gTW9kdWxlcyBsaW5rZWQgaW46IG5mbmV0bGlua19xdWV1ZSB4dF9waHlzZGV2IGJyX25ldGZp
bHRlciBicmlkZ2Ugc3RwDQo+IGxsYyB0dW4gb3BlbnZzDQo+ICBuZl9jb25udHJhY2tfYnJvYWRj
YXN0IG5mX2Nvbm50cmFja19pcmMgbmZfY29ubnRyYWNrX2gzMjMNCj4gbmZfY29ubnRyYWNrX2Z0
cCB0c19rbXAgbg0KPiAgc2hwY2hwIGludGVsX3BjaF90aGVybWFsIHRwbV90aXMgdHBtX3Rpc19j
b3JlIHRoZXJtYWwgZmFuIHRwbSBhYw0KPiBiYXR0ZXJ5IHJma2lsbCB3bWkNCj4gQ1BVOiAzIFBJ
RDogMTc3ODAgQ29tbTogdmlmMy4wLXEyLWRlYWxsIFRhaW50ZWQ6IEcgICAgICAgICAgIE8NCj4g
NC4xNC40LTEtQVJDSCAjMQ0KPiBIYXJkd2FyZSBuYW1lOiBNaWNyby1TdGFyIEludGVybmF0aW9u
YWwgQ28uLCBMdGQuIEdTNzAgNlFDL01TLTE3NzYsDQo+IEJJT1MgRTE3NzZJTVMuMTENCj4gdGFz
azogZmZmZjg4MDA1MGQzM2IwMCB0YXNrLnN0YWNrOiBmZmZmYzkwMDQwZDA0MDAwDQo+IFJJUDog
ZTAzMDp4ZW52aWZfdHhfZGVhbGxvY19hY3Rpb24rMHgxNWUvMHgyNTAgW3hlbl9uZXRiYWNrXQ0K
PiBSU1A6IGUwMmI6ZmZmZmM5MDA0MGQwN2M4OCBFRkxBR1M6IDAwMDEwMjgyDQo+IFJBWDogMDAw
MDAwMDAwMDAwMDAwMCBSQlg6IGZmZmZjOTAwNDRjNjAyODggUkNYOiAwMDAwMDAwMDAwMDAwMDAw
DQo+IFJEWDogMDAwMDAwMDAwMDAwMDAwMCBSU0k6IDAwMDAwMDAwMDAwMDAwMDAgUkRJOiBmZmZm
ODgwMTg5YWNkYzk4DQo+IFJCUDogMDAwMDAwMDBmZmZmZmZmZiBSMDg6IDAwMDAwMDAwMDAwMDAw
MDAgUjA5OiAwMDAwMDAwMDAwMDAwNDdjDQo+IFIxMDogMDAwMDAwMDA4MDAwMDAwMCBSMTE6IGZm
ZmZmZmZmODIxMzUzNmQgUjEyOiBmZmZmYzkwMDQ0YzU2YjQwDQo+IFIxMzogMDAwMDAwMDAwMDAw
Mzc1ZSBSMTQ6IGZmZmZmZmZmODAwMDAwMDAgUjE1OiBmZmZmZmZmZmMwNDgzOWQwDQo+IEZTOiAg
MDAwMDAwMDAwMDAwMDAwMCgwMDAwKSBHUzpmZmZmODgwMTg5YWMwMDAwKDAwMDApDQo+IGtubEdT
OmZmZmY4ODAxODlhYzAwMDANCj4gQ1M6ICBlMDMzIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAw
MDAwMDA4MDA1MDAzMw0KPiBDUjI6IDAwMDAzOGY0ZTk0ZmY5MDAgQ1IzOiAwMDAwMDAwMTFkOWQ5
MDAwIENSNDogMDAwMDAwMDAwMDA0MjY2MA0KPiBDYWxsIFRyYWNlOg0KPiAgPyBjaGVja19wcmVl
bXB0X3dha2V1cCsweDEwMi8weDIyMA0KPiAgPyBfcmF3X3NwaW5fdW5sb2NrKzB4Yy8weDIwDQo+
ICA/IGxvYWRfYmFsYW5jZSsweDRlMS8weDliMA0KPiAgPyBfX3VwZGF0ZV9sb2FkX2F2Z19zZS5p
c3JhLjM3KzB4MTQ4LzB4MTUwDQo+ICA/IF9fdXBkYXRlX2xvYWRfYXZnX3NlLmlzcmEuMzcrMHgx
NDgvMHgxNTANCj4gID8geGVudmlmX21hcF9mcm9udGVuZF9kYXRhX3JpbmdzKzB4ZjAvMHhmMCBb
eGVuX25ldGJhY2tdDQo+ICA/IHVwZGF0ZV9sb2FkX2F2ZysweDQxZC8weDU5MA0KPiAgPyB4ZW5f
bWNfZmx1c2grMHhkOC8weDFkMA0KPiAgPyB4ZW5fbG9hZF9zcDArMHg4Ni8weDFiMA0KPiAgPyBf
X3N3aXRjaF90bysweDFkZC8weDRjMA0KPiAgPyBfcmF3X3NwaW5fdW5sb2NrX2lycSsweDEzLzB4
MzANCj4gID8gZmluaXNoX3Rhc2tfc3dpdGNoKzB4NzUvMHgyMDANCj4gID8gX19zY2hlZHVsZSsw
eDI0MS8weDg3MA0KPiAgPyB4ZW52aWZfbWFwX2Zyb250ZW5kX2RhdGFfcmluZ3MrMHhmMC8weGYw
IFt4ZW5fbmV0YmFja10NCj4gIHhlbnZpZl9kZWFsbG9jX2t0aHJlYWQrMHg3ZS8weDExMCBbeGVu
X25ldGJhY2tdDQo+ICA/IHdhaXRfd29rZW4rMHg4MC8weDgwDQo+ICBrdGhyZWFkKzB4MTE4LzB4
MTMwDQo+ICA/IGt0aHJlYWRfY3JlYXRlX29uX25vZGUrMHg3MC8weDcwDQo+ICByZXRfZnJvbV9m
b3JrKzB4MjUvMHgzMA0KPiBDb2RlOiA4MSBmZCBmZiAwMCAwMCAwMCAwZiA4NiA0ZCBmZiBmZiBm
ZiAwZiAwYiA0OCA4OSAwMyBlYiBiMSA0OSA4Yg0KPiA0NCAyNCAyMCA0OCBjNw0KPiBSSVA6IHhl
bnZpZl90eF9kZWFsbG9jX2FjdGlvbisweDE1ZS8weDI1MCBbeGVuX25ldGJhY2tdIFJTUDoNCj4g
ZmZmZmM5MDA0MGQwN2M4OA0KPiAtLS1bIGVuZCB0cmFjZSBhYzgwOTJmYjhiNmM3YTVjIF0tLS0N
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1k
ZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz
Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Fri Jan 05 09:47:23 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 05 Jan 2018 09:47:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eXOau-0004XB-JG; Fri, 05 Jan 2018 09:47:20 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=wrye=ea=gmail.com=michel.dhooge@srs-us1.protection.inumbo.net>)
 id 1eXOau-0004X4-18
 for win-pv-devel@lists.xenproject.org; Fri, 05 Jan 2018 09:47:20 +0000
X-Inumbo-ID: 4047d0bc-f1fd-11e7-b4a6-bc764e045a96
Received: from mail-io0-x22c.google.com (unknown [2607:f8b0:4001:c06::22c])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 4047d0bc-f1fd-11e7-b4a6-bc764e045a96;
 Fri, 05 Jan 2018 10:46:07 +0100 (CET)
Received: by mail-io0-x22c.google.com with SMTP id k18so5200012ioc.11
 for <win-pv-devel@lists.xenproject.org>; Fri, 05 Jan 2018 01:47:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:in-reply-to:references:from:date:message-id:subject:to
 :cc; bh=HQHGYf/PbJGSH/wI83t2gEHaIY0yWQrYMeJyDCx3Y+g=;
 b=VP6wJJ6AleOOhpwHaRJ4/vzF3mtEWk+LP8adWazZdqRPj84lsG0Lhj1K0jzrUpp/1h
 Jk9S+Z5b3tpbs7im6PFLThz2MajeqMo8oVTXJkSAilLQRMZZ0ivOWKrwNSj4OLDpaqj1
 gH+G9vKHDtvoDXV9TDFpNQa+5yFzISgs6Mo3TOWhT0LZDMqeTXIavB9BdGqGn8aPCeWp
 L/tbXB1XxrIbUutlw9w474gJDhi+EUOsCT0810I6TVtxk0nEoaqCKYz0mKQJSGo5LeKH
 zvePXQH+MB1AvsDAZwUSiq6LD9tsDwEeFgSlozamkxVx3NVAnsmUGfLyllb/DW2RKoC7
 ezpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:in-reply-to:references:from:date
 :message-id:subject:to:cc;
 bh=HQHGYf/PbJGSH/wI83t2gEHaIY0yWQrYMeJyDCx3Y+g=;
 b=E9raoJWekXydbeIirHdg5a98DCivPPoZzPifdDdsGFp20ZUggZjFtk3ZpSkJVTEHAo
 fFoktlVZyCcM7RdfnVCb6rSa7gxdAXpOYzGg9Py3W6E/yu+lLlOoXI1584vvjeiEA5Uf
 0lSJUXlI1fYiNrUD+YDDAlU6D8/ypHQURm5KgLd13WF2yMAEeiqQXCgp4h4dtzcIoa/k
 ENvVClcjAaSso7b/FMuevCMC/E9Kl8omGB2RVzV1bppVLewCNgr299OlVqKjGH+4LzTO
 yEOx0UTvIVrzWdIpd2Tc80Bs5io2dZjhVpneWmHUIlf8ZOGIOVudu4oMhuPI/TLVDNi5
 wiYg==
X-Gm-Message-State: AKGB3mKU903GxjsRYkmYEtBarntYD0n24dnkTQbk7xCKBiyucdynW5sc
 AaEACO2s+5tHZxOrdVDTO2NNrmU6KIE5f90kfsM=
X-Google-Smtp-Source: ACJfBosRu3YqXMS/NUCZ0lovidjCEtm4RWqadeB9SqpdB2VFTSHZ/LaMIcK24/LRvMPwUTJctIRRrl11T4zEa9srZgw=
X-Received: by 10.107.88.2 with SMTP id m2mr2351308iob.229.1515145637177; Fri,
 05 Jan 2018 01:47:17 -0800 (PST)
MIME-Version: 1.0
Received: by 10.2.183.4 with HTTP; Fri, 5 Jan 2018 01:46:56 -0800 (PST)
In-Reply-To: <fd0c0de1719646eea711a2ad3729772c@AMSPEX02CL03.citrite.net>
References: <CABvfmH7s+YXhD1NSGw4ZGdMTS+Q6crKfvXMvx1E3ZisDTHY2cA@mail.gmail.com>
 <e698459050eb407ab97bb840274892c6@AMSPEX02CL03.citrite.net>
 <CABvfmH6i=y4DVAPicHe6Z_EY7f61UeVhjkqaLDjdhrq7Jh7evA@mail.gmail.com>
 <3e75f83982b7431ba2ec23fbd3cb0078@AMSPEX02CL03.citrite.net>
 <CABvfmH6VCokW5fF+Gqapj7pdWN8f+-4LXtk3jJz9bh2VgmS-5Q@mail.gmail.com>
 <4bf323ccfab74b7695495065caa08a41@AMSPEX02CL03.citrite.net>
 <CABvfmH6mvNGM1Qv+dDGgE7D1vrf=ZonnHaQwdoaNR0_VON7Xzg@mail.gmail.com>
 <48bdbe864f204a34b23d314206b1b662@AMSPEX02CL03.citrite.net>
 <CABvfmH5Z4KH3V_Ze0CVuXTW50voRYz83sxtV+Yr8SGUMxaetKQ@mail.gmail.com>
 <9ee6235082a44e7a8bf2cf5ab8f67662@AMSPEX02CL03.citrite.net>
 <CABvfmH7GTNpZ6hak5sjMW09a=q2LmmrPG4u2FZHX8PQNb0VTFA@mail.gmail.com>
 <b17d515248d44600b51c3fd4dbd8449c@AMSPEX02CL03.citrite.net>
 <CABvfmH41e7o1uwkJBFL47cLce=Vh++kEHqDx1YsGwGp+3UjLkA@mail.gmail.com>
 <CABvfmH6k1DNPfvbL9-UG9DRWZh6TruGLPrBOn7Z818CKUKqJAQ@mail.gmail.com>
 <fd0c0de1719646eea711a2ad3729772c@AMSPEX02CL03.citrite.net>
From: "Michel D'HOOGE" <michel.dhooge@gmail.com>
Date: Fri, 5 Jan 2018 10:46:56 +0100
Message-ID: <CABvfmH6k3P9CkgRf7JNU-QcdVUu-oWFCmaZr2GpB8nF7USAb8Q@mail.gmail.com>
To: Paul Durrant <Paul.Durrant@citrix.com>
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Subject: Re: [win-pv-devel] Windows 10 domU is unstable with PV Bus Driver
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

SGkgUGF1bCwKCj4gICBUaGlzIGFwcGVhcnMgdG8gYmUgYSBuZXcgbGludXgga2VybmVsIGJ1Zy4K
PiBTZWUgdGhlIHRocmVhZCBhdCBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVz
L2h0bWwveGVuLWRldmVsLzIwMTctMTIvbXNnMDE1MTIuaHRtbC4KClRoaXMgbG9va3MgbGlrZSBt
eSBwcm9ibGVtLCBpbmRlZWQuCgpZZXN0ZXJkYXksIEkgc3RhcnRlZCB3aXRoIGEgNC4xNC44IGtl
cm5lbCBhbmQgY29ubmVjdGVkIHRvIG15IGRvbVUKdGhyb3VnaCByZGVza3RvcC4gSSB1c2VkIGl0
IGZvciA1IG1pbnV0ZXMgYW5kIHRoZW4gbGVmdCBteSBsYXB0b3AKdW5hdHRlbmRlZC4gV2hlbiBJ
IGNhbWUgYmFjayBpdCB3YXMgYXQgdGhlIGJvb3QgcHJvbXB0IDotKAoKSW4gdGhlIGtlcm5lbCBq
b3VybmFsLCB0aGUgYnVnIG9jY3VycmVkIDEwIG1pbnV0ZXMgYWZ0ZXIgbGF1bmNoaW5nIHRoZQpk
b21VLiBBbmQgdGhlIGxhc3QgZW50cnkgaW4gdGhlIGpvdXJuYWwgaXMgNzVzIGxhdGVyLgpBbmQg
dGhlIGxhc3QgbGluZXMgaW4gdGhlIGRvbVUgbG9nIGFyZToKR05UVEFCOiBNQVAgWEVOTUFQU1BB
Q0VfZ3JhbnRfdGFibGVbMTldIEAgMDAwMDAwMDAuZjIwMTQwMDAKWEVOQlVTfEdudHRhYkV4cGFu
ZDogYWRkZWQgcmVmZXJlbmNlcyBbMDAwMDI2MDAgLSAwMDAwMjdmZl0KCkFzIGEgc2lkZSBlZmZl
Y3QsIG15IGJ0cmZzIHJvb3QgZmlsZXN5c3RlbSB3YXMgbGlnaHRseSBjb3JydXB0ZWQsIHdpdGgK
YSBmaWxlIG5vdCBhdmFpbGFibGUgb24gdGhlIG5leHQgYm9vdC4KQW5kIGFzIGEgc2lkZSBub3Rl
LCBJIHVzZSByZGVza3RvcCB0byBzaGFyZSBmaWxlcyBhbmQgdG8gYmUgZnVsbApzY3JlZW4hIEJ1
dCBJIGNvdWxkIGxpdmUgd2l0aG91dCBpdCBzaW5jZSBJIGluY3JlYXNlZCAiVk5DIiB0byBpdHMK
bWF4aW11bSAoMTI4MHgxMDI0KSBhbmQgaWYgSSB0cnkgU2FtYmEgc2hhcmluZyA7LSkKCkknbGwg
dHJ5IHdpdGggdGhlIEFyY2hMaW51eCBMVFMga2VybmVsICg0LjkuNzEpIHRvIHNlZSBpZiBpdCBp
cyBiZXR0ZXIuCgpDaGVlcnMKTWljaGVsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v
bGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Fri Jan 05 16:31:44 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 05 Jan 2018 16:31:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eXUuD-00069x-Qy; Fri, 05 Jan 2018 16:31:41 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=wrye=ea=gmail.com=michel.dhooge@srs-us1.protection.inumbo.net>)
 id 1eXUuD-00069r-63
 for win-pv-devel@lists.xenproject.org; Fri, 05 Jan 2018 16:31:41 +0000
X-Inumbo-ID: bd30dd87-f235-11e7-b4a6-bc764e045a96
Received: from mail-it0-f48.google.com (unknown [209.85.214.48])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id bd30dd87-f235-11e7-b4a6-bc764e045a96;
 Fri, 05 Jan 2018 17:30:28 +0100 (CET)
Received: by mail-it0-f48.google.com with SMTP id z6so2155851iti.4
 for <win-pv-devel@lists.xenproject.org>; Fri, 05 Jan 2018 08:31:39 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:in-reply-to:references:from:date:message-id:subject:to
 :cc; bh=VC+pOHyBLt1mf+r1oXsZ/J39tVF9ZAjR4PRD+1hMrLM=;
 b=EoPnYc+jS868fIb5i54Jy6VI4DAL0W82rSXvd/dte/qi6HqnEmQNHr8j6j+ihDhuQT
 kqXxbzgcfkIr6z3PkrFvnw4nq+TD8m41cVcWHYxYLPIdK3NDqRpKhHCp+6hfMPgZXXQK
 Lh69sByEzZD33GiBX5YeQjeEAfwXDVzECvYfx1r5YIQ314tXDPcwhzEk3KuDgPk45bc4
 mVVHkNzA2xRWyinGNGYWvVFDWvrNeVS410Wz5soJWtHJWCxMCL4rtgbp0lr1T+M629p0
 f8jMEBLy4iQu3AjuXze6By3/NdkjSgKQqyC6nztMGotmTll06OpJDetRVz++lJg6q45M
 x6sQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:in-reply-to:references:from:date
 :message-id:subject:to:cc;
 bh=VC+pOHyBLt1mf+r1oXsZ/J39tVF9ZAjR4PRD+1hMrLM=;
 b=CWZ5mGaF/SFjZyzR44LlqDtLYVd0Afn/icgNsSKzwN8JP35KQsHqc/ypvFb9zc2dPV
 WIoa7+ByNRnCj4ynfKSj2z8RgnO3m50OJ3tBcIZlHvghDmxLrMMeQ4QCDMjL+z+nPEA0
 A71QScFe7s9NwgB37P1eWC8SC7F/GVhEAWf1EojSJ+t+za9GgZQaNNKv15iMpCLcswAU
 qL9KDJoO8ozxm0QXHFkYNqTcWuv59HWY5TzWhnFV7ytWeWzpcXHoQzxhNYoa9MFmuy+b
 Z6sN1qJm1yz159011tVbvOkPYCmTQLAZxwzxf1hpdosjzv5ZGicEdN8MhJ9Knm3+NEsP
 7KDw==
X-Gm-Message-State: AKGB3mJy9MKVW3/mBFSOY1dUqcrOxR4Sjn7edoQjepvVS273H5C0pXvA
 LlNm7vvY2OJTsAogn5peL7MYhsCssIbnK4iIMIs=
X-Google-Smtp-Source: ACJfBot9LEFYiL5kMIFItcfawEg7z6Lmf1obYgJDwb395sugPL09+3G/qp9KTfia04ukXQ4kyj1V7EFdlVAT651DlGI=
X-Received: by 10.36.117.79 with SMTP id y76mr3978378itc.9.1515169838968; Fri,
 05 Jan 2018 08:30:38 -0800 (PST)
MIME-Version: 1.0
Received: by 10.2.183.4 with HTTP; Fri, 5 Jan 2018 08:30:18 -0800 (PST)
In-Reply-To: <CABvfmH6k3P9CkgRf7JNU-QcdVUu-oWFCmaZr2GpB8nF7USAb8Q@mail.gmail.com>
References: <CABvfmH7s+YXhD1NSGw4ZGdMTS+Q6crKfvXMvx1E3ZisDTHY2cA@mail.gmail.com>
 <e698459050eb407ab97bb840274892c6@AMSPEX02CL03.citrite.net>
 <CABvfmH6i=y4DVAPicHe6Z_EY7f61UeVhjkqaLDjdhrq7Jh7evA@mail.gmail.com>
 <3e75f83982b7431ba2ec23fbd3cb0078@AMSPEX02CL03.citrite.net>
 <CABvfmH6VCokW5fF+Gqapj7pdWN8f+-4LXtk3jJz9bh2VgmS-5Q@mail.gmail.com>
 <4bf323ccfab74b7695495065caa08a41@AMSPEX02CL03.citrite.net>
 <CABvfmH6mvNGM1Qv+dDGgE7D1vrf=ZonnHaQwdoaNR0_VON7Xzg@mail.gmail.com>
 <48bdbe864f204a34b23d314206b1b662@AMSPEX02CL03.citrite.net>
 <CABvfmH5Z4KH3V_Ze0CVuXTW50voRYz83sxtV+Yr8SGUMxaetKQ@mail.gmail.com>
 <9ee6235082a44e7a8bf2cf5ab8f67662@AMSPEX02CL03.citrite.net>
 <CABvfmH7GTNpZ6hak5sjMW09a=q2LmmrPG4u2FZHX8PQNb0VTFA@mail.gmail.com>
 <b17d515248d44600b51c3fd4dbd8449c@AMSPEX02CL03.citrite.net>
 <CABvfmH41e7o1uwkJBFL47cLce=Vh++kEHqDx1YsGwGp+3UjLkA@mail.gmail.com>
 <CABvfmH6k1DNPfvbL9-UG9DRWZh6TruGLPrBOn7Z818CKUKqJAQ@mail.gmail.com>
 <fd0c0de1719646eea711a2ad3729772c@AMSPEX02CL03.citrite.net>
 <CABvfmH6k3P9CkgRf7JNU-QcdVUu-oWFCmaZr2GpB8nF7USAb8Q@mail.gmail.com>
From: "Michel D'HOOGE" <michel.dhooge@gmail.com>
Date: Fri, 5 Jan 2018 17:30:18 +0100
Message-ID: <CABvfmH5p4tuWLSZ7c2OTYAGRW1MG1po9gJzhTWVS3n__7KabEw@mail.gmail.com>
To: Paul Durrant <Paul.Durrant@citrix.com>
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Subject: Re: [win-pv-devel] Windows 10 domU is unstable with PV Bus Driver
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

TWUgYWdhaW4gd2l0aCBhIHF1aWNrIGZvbGxvdy11cC4KCgo+IFllc3RlcmRheSwgSSBzdGFydGVk
IHdpdGggYSA0LjE0Ljgga2VybmVsCgpJIHdhcyBxdWl0ZSBzdXJlIEkgYXNrZWQgZm9yIHRoZSBM
VFMga2VybmVsLi4uIGFuZCBpbmRlZWQsIEkKZGlzY292ZXJlZCB0aGF0IG15IHN5c3RlbWQgZWZp
IGJvb3Rsb2FkZXIgZG9lc24ndCBwcm92aWRlIHRvIHhlbiB0aGUKb3B0aW9ucyBJIGRlZmluZWQg
Oi0oCgpTbyB0b2RheSwgSSBtYW51YWxseSBzdGFydGVkIFhFTiB3aXRoIGEgNC45Ljc0IGtlcm5l
bCBhbmQgSSBtYW5hZ2VkIHRvCnJkZXNrdG9wLWNvbm5lY3QgdG8gbXkgZG9tVSBmb3Igc2V2ZXJh
bCBob3VycyB3aXRoIG5vIHByb2JsZW1zLgoKCk1pY2hlbAoKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4t
cHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9y
Zy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Fri Jan 05 16:32:48 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 05 Jan 2018 16:32:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eXUvH-0006C7-Ul; Fri, 05 Jan 2018 16:32:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=7rpq=ea=citrix.com=prvs=536c9f88b=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eXUvG-0006C1-Hw
 for win-pv-devel@lists.xenproject.org; Fri, 05 Jan 2018 16:32:46 +0000
X-Inumbo-ID: 4eae38f1-f236-11e7-b0d7-9f685aff125f
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 4eae38f1-f236-11e7-b0d7-9f685aff125f;
 Fri, 05 Jan 2018 16:34:32 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,318,1511827200"; d="scan'208";a="65652407"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: 'Michel D'HOOGE' <michel.dhooge@gmail.com>
Thread-Topic: [win-pv-devel] Windows 10 domU is unstable with PV Bus Driver
Thread-Index: AQHTV88fjGsGfRcY8kOosXFY0wri9KMI+CewgAALLoCAACGcYIArgvgAgAARl8CAD4y1gIAAKIjwgAAU5ACAAB83AIAEXKkAgAGs9UCABQVhgIAAAnIAgBKMRvCAAxNOAIAAcLMAgAARFDA=
Date: Fri, 5 Jan 2018 16:32:38 +0000
Message-ID: <d6a0b294028d440088a2414cc675adbb@AMSPEX02CL03.citrite.net>
References: <CABvfmH7s+YXhD1NSGw4ZGdMTS+Q6crKfvXMvx1E3ZisDTHY2cA@mail.gmail.com>
 <e698459050eb407ab97bb840274892c6@AMSPEX02CL03.citrite.net>
 <CABvfmH6i=y4DVAPicHe6Z_EY7f61UeVhjkqaLDjdhrq7Jh7evA@mail.gmail.com>
 <3e75f83982b7431ba2ec23fbd3cb0078@AMSPEX02CL03.citrite.net>
 <CABvfmH6VCokW5fF+Gqapj7pdWN8f+-4LXtk3jJz9bh2VgmS-5Q@mail.gmail.com>
 <4bf323ccfab74b7695495065caa08a41@AMSPEX02CL03.citrite.net>
 <CABvfmH6mvNGM1Qv+dDGgE7D1vrf=ZonnHaQwdoaNR0_VON7Xzg@mail.gmail.com>
 <48bdbe864f204a34b23d314206b1b662@AMSPEX02CL03.citrite.net>
 <CABvfmH5Z4KH3V_Ze0CVuXTW50voRYz83sxtV+Yr8SGUMxaetKQ@mail.gmail.com>
 <9ee6235082a44e7a8bf2cf5ab8f67662@AMSPEX02CL03.citrite.net>
 <CABvfmH7GTNpZ6hak5sjMW09a=q2LmmrPG4u2FZHX8PQNb0VTFA@mail.gmail.com>
 <b17d515248d44600b51c3fd4dbd8449c@AMSPEX02CL03.citrite.net>
 <CABvfmH41e7o1uwkJBFL47cLce=Vh++kEHqDx1YsGwGp+3UjLkA@mail.gmail.com>
 <CABvfmH6k1DNPfvbL9-UG9DRWZh6TruGLPrBOn7Z818CKUKqJAQ@mail.gmail.com>
 <fd0c0de1719646eea711a2ad3729772c@AMSPEX02CL03.citrite.net>
 <CABvfmH6k3P9CkgRf7JNU-QcdVUu-oWFCmaZr2GpB8nF7USAb8Q@mail.gmail.com>
 <CABvfmH5p4tuWLSZ7c2OTYAGRW1MG1po9gJzhTWVS3n__7KabEw@mail.gmail.com>
In-Reply-To: <CABvfmH5p4tuWLSZ7c2OTYAGRW1MG1po9gJzhTWVS3n__7KabEw@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Subject: Re: [win-pv-devel] Windows 10 domU is unstable with PV Bus Driver
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNaWNoZWwgRCdIT09HRSBbbWFp
bHRvOm1pY2hlbC5kaG9vZ2VAZ21haWwuY29tXQ0KPiBTZW50OiAwNSBKYW51YXJ5IDIwMTggMTY6
MzANCj4gVG86IFBhdWwgRHVycmFudCA8UGF1bC5EdXJyYW50QGNpdHJpeC5jb20+DQo+IENjOiB3
aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gU3ViamVjdDogUmU6IFt3aW4tcHYt
ZGV2ZWxdIFdpbmRvd3MgMTAgZG9tVSBpcyB1bnN0YWJsZSB3aXRoIFBWIEJ1cyBEcml2ZXINCj4g
DQo+IE1lIGFnYWluIHdpdGggYSBxdWljayBmb2xsb3ctdXAuDQo+IA0KPiANCj4gPiBZZXN0ZXJk
YXksIEkgc3RhcnRlZCB3aXRoIGEgNC4xNC44IGtlcm5lbA0KPiANCj4gSSB3YXMgcXVpdGUgc3Vy
ZSBJIGFza2VkIGZvciB0aGUgTFRTIGtlcm5lbC4uLiBhbmQgaW5kZWVkLCBJDQo+IGRpc2NvdmVy
ZWQgdGhhdCBteSBzeXN0ZW1kIGVmaSBib290bG9hZGVyIGRvZXNuJ3QgcHJvdmlkZSB0byB4ZW4g
dGhlDQo+IG9wdGlvbnMgSSBkZWZpbmVkIDotKA0KPiANCj4gU28gdG9kYXksIEkgbWFudWFsbHkg
c3RhcnRlZCBYRU4gd2l0aCBhIDQuOS43NCBrZXJuZWwgYW5kIEkgbWFuYWdlZCB0bw0KPiByZGVz
a3RvcC1jb25uZWN0IHRvIG15IGRvbVUgZm9yIHNldmVyYWwgaG91cnMgd2l0aCBubyBwcm9ibGVt
cy4NCj4gDQoNClllcywgdGhlIGN1cnJlbnQgaW1wbGljYXRpb24gaXMgdGhhdCBpc3N1ZSBzdGFy
dGVkIGFmdGVyIDQuMTMuNi4uLiBzdGlsbCBubyBjbHVlIHdoYXQgaXQgaXMgdGhvdWdoIDotKA0K
DQogIFBhdWwNCg0KPiANCj4gTWljaGVsDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v
bGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Fri Jan 05 18:16:54 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 05 Jan 2018 18:16:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eXWXz-0005QU-Ft; Fri, 05 Jan 2018 18:16:51 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <srs0=plld=ea=c-home.cz=martin@srs-us1.protection.inumbo.net>)
 id 1eXWXy-0005QO-UK
 for win-pv-devel@lists.xenproject.org; Fri, 05 Jan 2018 18:16:50 +0000
X-Inumbo-ID: 6c46c0d6-f244-11e7-b4a6-bc764e045a96
Received: from dmz.c-home.cz (unknown [89.24.150.100])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 6c46c0d6-f244-11e7-b4a6-bc764e045a96;
 Fri, 05 Jan 2018 19:15:36 +0100 (CET)
Received: from dmz.c-home.cz (localhost [127.0.0.1])
 by dmz.c-home.cz (8.14.4+Sun/8.14.4) with ESMTP id w05IGdkp012081
 for <win-pv-devel@lists.xenproject.org>; Fri, 5 Jan 2018 19:16:45 +0100 (CET)
Received: from localhost (martin@localhost)
 by dmz.c-home.cz (8.14.4+Sun/8.14.4/Submit) with ESMTP id w05IGd26012078
 for <win-pv-devel@lists.xenproject.org>; Fri, 5 Jan 2018 19:16:39 +0100 (CET)
X-Authentication-Warning: dmz.c-home.cz: martin owned process doing -bs
Date: Fri, 5 Jan 2018 19:16:39 +0100 (CET)
From: Martin Cerveny <martin@c-home.cz>
To: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Message-ID: <alpine.GSO.2.00.1801051820140.10534@dmz.c-home.cz>
User-Agent: Alpine 2.00 (GSO 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED;
 BOUNDARY="-559023410-1251336619-1515175344=:10534"
Content-ID: <alpine.GSO.2.00.1801051902300.10534@dmz.c-home.cz>
Subject: [win-pv-devel] xen net/vif (signed 8.2.0.6) "code 10" / win7
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Reply-To: Martin Cerveny <M.Cerveny@computer.org>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---559023410-1251336619-1515175344=:10534
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; format=flowed
Content-ID: <alpine.GSO.2.00.1801051902301.10534@dmz.c-home.cz>

Hello.

I need to switch to signed drivers (many programs are incompatible with "testsigning"). 
After switch I have 30% chance of "code 10" - cannot start net pv-driver in win7.
Repair possible by reboot or by disable/enable driver in windows device manager.

Dom0 - Xen4.10.0/Fedora27(4.13.9-300)
DomU - Win7/x64(actual patches)

Attached (errored domain 6):
- msg+xs - after errored startup to "code 10"
- msg_e+xs_e - after "disable/enable" in win dev mgr

# grep vif6 /var/log/messages > msg
# xenstore-ls > xs

# # check the difference
# diff msg msg_e
# diff xs xs_e

- debugview.log - Windows DebugView (with "disable/enable" in win dev mgr)

Any more log to check ?
Is it known bug ?
Is there any workaround (besides uninstalling pv-net drivers) ?
Is it related to pv-bus driver discussion ?
When will new/next/repaired signed drivers be released ?

Thanks, Martin
---559023410-1251336619-1515175344=:10534
Content-Type: APPLICATION/ZIP; NAME=net_problems.zip
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.GSO.2.00.1801051902240.10534@dmz.c-home.cz>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME=net_problems.zip

UEsDBAoAAAAAAHmXJUwAAAAAAAAAAAAAAAACABwANi9VVAkAAxa9T1oXvU9a
dXgLAAEEAAAAAAQAAAAAUEsDBBQAAAAIAJiUJUy+claf8wwAAJ9fAAAEABwA
Ni94c1VUCQADsLdPWgu6T1p1eAsAAQQAAAAABAAAAADtHMlu5Db2Pl9RyHlU
pX0pIIfJpBvIJQgwC/oQoKCFKnNcWpqiqu18/VAkJZLaLMlld7pTTuC2yEfq
vce3kxQuisvux90PP/xt9wTyChcIJOz5UsRh25UUWQhz/rDT2z92cZFj1E1A
flIQ4hoBrSy+AFSkadNjqF0IREWBRzqquipBnoge8lZIH3X6mIcZaJ5+psho
rDEK40c+iM12jaSHnSH9vfNcX37cpYigzwcfKLkHRujBOCTgCmNwILMdyLBu
SBmiMKvoAESoOKQgKVBoGg/XbA+zcwdXxQiWlMgDwPGBsPbAmqpDRN70OMBB
gxLhzU+RX2AO1DYEsuIaRhcgmNL8NPxsWwVwhUNMm+yuiRDVNDwkYdeEn0sK
VD48d21ZkdC2L/JAwg2tBU5gJSggD3GIEg3kQxzapc3CJw3mCUQgxloFzhnI
MeWi6bjitfUFQ+1zDWo2gP5FoQT/m3YE87NWhmegFSgBSCUx57g3C0jWtCgF
mwiJFSSLrDFqGijvONlN3oAfJmZ6KHB5qc9aw+KaYkgUISe0gWRAenqpqwct
DuOHHm9avp1RmNeXEEH8TEnRA3cAE17gOW+Ypi58212BmLxK7Wvfz2HG1yUK
EYKMhcPOEqAKVpi/VRIsQmiB2PL5nqdbumA/zNNCxYNBaxX8gyLoGOaQ45Mw
1jb1tRaob7Oqf1wLMibE4YH8UWegOnyBuXfSrVfrsZjhrseb9HhEWYF7NBeq
6x+JZb6LtvpGYH4z2upYru/pgaSBN1FXiQfuNn11X6mv9qdXK6x7V9i3UFhj
scIa7l1hmfi8o8ISvlYFk52xgFmXH2bDZT7RtrC2UxjRVKICFzHLLK7Y0Ft6
rS3oWS+hN++tV6DnbkHPfQm9edu0HL3r43RutHypW1NNJjvor1xwYT5arQij
iiSPkMzVU5uXjcJG2VhEz0IJMW9Jz0ZhWkTPQpG6JT1XmN5O+GB6Q9mbiRnI
i7QIweQslDMLY2qBzaNhHE3zaFlH2z56QkIYfAMTISlnDPOkHz+0bp285QQL
kNUDdlfncedxrgoNx+XVnu92x7sh6dHiqs60Ik0vRTjhvtCTFhfl82RneoHl
uFekEUUcVliTKkTDOZLnPMxgvBS8Ki8Qa+BKXKYWE37m4FKpkEsimXa2GKML
DWne2c7Mie5CM/N60dX1o260v++i+1cR3Ve6lDnRXehR3NuKrnsX3b+G6JYx
vFn0QOZ6dfQgbKbYGwF5TBJ4JKAfwbNGsdPJz9FvZHcvpZfgOtN7Jd1pzgBM
wceC6AdrzCqISW5bXQhGP+p/pzsup+yc4eYBoAxWFbySHhV3NlZgn9fZibyp
t6JXFTf6/14XUzV7H0q/0nMik0rzfW6qFtIaKf7Tt8zVHpQEtr5U3xNFohAW
x22uVSnwiOYXCjymvJZNw0MSDczMZ6Vo05Z4kDxULvHECSoy0Tmo8QzVfrIE
Ml5pEBO0xQRHsrIvVHlWupjlq+u+bnVXlO/uq7t5dTkxDZXSnq9sjPl2bCWv
+rDI1K9EDEzE7nNdRdJztyaoznNCAWu2vtaL3a/zYsHoK7Wvh2t2MGLH0i3T
0swwCDTbcSIt0j1bCwLD94Fn2Ikf0yHt7rnipOKyFu+U/Wh4DeEljOCFl02Z
Vg3XewYuI0qHngVsQ1ETdYRPVLn0wDMcrmI4RGeAWbOvdxsAV5iAgmg/lXvX
8m1JCKV5xbEBjpQSq4h29WRAb3dCOkegGib9wLuoZTLk7QneocmHFHZjadoV
IlyrG89ilpkSvxxYEZ8qBVamEJumUw2BqI4jwA5fmL7Q7wFjTFudx5ibx5mZ
p+uTS49PvntybY2IR9s7W/vuqYi+dnke6froq1cHAUI8iYKnSlvUWnI22IHu
iFIP7TnzLtPrFmXIH7eV6PQ1FJL8awuBI0nQS0WsjZKHuYMRQiNFhoM+Y1yg
NMwtxEQ3Yt3GnOgOETFnELHmETHnEbH6gjSWwUkJXF5gmI739hLP+bxzPu1c
knWqSdVacWzSqBXiyD1O/8RY9VDjpPiSi5abniETPdbwDZUt2kqSR6UFyjQl
mybmLAZV1WyeDWYejHiqTghUAJ++hJiEa1JO9XDNGtYzw8JGR7CgABUImz9Z
Y3i5FF805jkJkQ3jsaS4zdZ3N0OCSHqHRNzBseieQ4zF67qjdAwfes5Por1A
MjMV7dBt2/aY+WoJFgPDuITSwObxxBittNj9lktY4qI80dxVkpYsg8XpgURO
p3ar0tA9y7MNv3VU/Qj0M8jq0xPIW9lSw64FQszHCEEeFeMLzCDm7PAdzo4u
B3hqYio6DU+CihqXNYUvMd/dxyw+opvdTYlLVzlvTnE+4I4jj7UL9ZjMZHl7
ko/vDdHZTuQEPBmHWXiWWCEzTit5Shxwy0cDLR4YiiFyeD3waIbXupfWPTLv
oLvmjvyyml/2MFoezuMY4/M4PpnC8ZpflN0CGxH8ep5JZDNNNd8MIs2OYkeL
/MTT/DjxkiTxnSjwlOA3zAF+DN889N2ZC+GshXD2QjhnIZy7EM67RahvmA5Z
H2MQ65N213XM9wj2e3WIBXaB5mcHSy5FLHNwu7FwX5plpiCwLSWx3jUlGYa2
HWVzpYXWsLHqo9lvpnplWf1mumjWYBKqNZbTb6ZKYrn9ZqoTltdvpipg+f1m
jxnGfjNdGFvvNwe02RiQQ8m0h2RSOu0BnQYl1B4QalBK7QGlBiXVHpBqUFrt
jtb5ZIxpYl9URCSFSgSrxiRnxVUV8BaGmQAC0blrrnw3yOSstZHlDZKrFe9c
llyNb7MuyRMmMoH59OE1eUJeDLKEgUzM72CNliLUXMsWGxnzqVQ/gZNOK46l
aNZsMthHIphHwp5EwptHopcam3NIOC9kt84kElMs5EhYKhLWLBJTGThHwp1E
YoqFHIleWcmeReKF9NqbQsKdYiFHwlGRcGaRmCoBcCT8SSTmixjCHTEk3Fkk
Jip1LRLBJBJTLORIeCoS3iwSE2U+joSlTyIxX0WRXC03f6P7z9303UZxN3/H
HXX6BlB12tPFK4bDV65B9Btla/3NVSF2VVzJRSQR3reroToEEh8ON/9hBFBO
UoYiV0Rgl9RZqYLKG4gTdwaGEW2/UsJQ+gTy02+o+B+I8e7Th19/+s+/dv7e
3Os7BmOMwPz3p58VGHMM5pePCow1AvPLx3/884MCZY9A/frh3zJMv77T7tZJ
7OVJT8suHhCxR6UcNBcrtbnyb78/pT4sCTr5708g2T3usubfCrPHqvmN4a7T
Ssjjjm4h6KxGYO4N198be0PEvZAHISqoqZMoyQhBQKIlxz86AXmM/NA9kuwp
ODok6j2aSRp3g4ypQcBJraPjEXg3ICN1S3JkdMlS4DeHFnT518ybeDynYjt9
iI7ixToccOTHJwwVA8tqSu7t0Qq52xLdaXqkmBwlom2lm1J3lMhz1MkZdgI1
dwQ1aXJvDDXR7SujvbTBIGXVlK6+yN719vVFXW6x+y2L64u9GxZvVl603rm8
aKqMv2V5kc21oLxoOJbOggm5vhhfIN/2YyNHKos8AukXFp2mpug2v1g8c800
1RVdefno40ed/jCoc1kLjGy2DySsjygmRp4XJcB2NcNOdM1ObEOLfMPT7NR2
gzTxPADUnfQsRBhy0bgXE1+Gu0kx0bd839W5txfBhm95ptlmbn/KUqL7DZQS
3Xsp8V5K/P5Kie5XKCWueGfH++WlRLcNSO55LA+r7nnsnyGPfbMctcsvmOTf
84tefuG+c35hqIy/ZX7BWpfkF77P+bouv2gLzv38wmhSC705cMCw3pBf+H5T
rr62ErbkcG47/dj53Lrm8y485IuwKFRgmAFi8CthxFSWFlW7/sScNi3EHyF8
aoYxLpH/PCMwnT1l8pKjFn1SxGmLlpClBzZuToip296e5o1L0rw+ISLTawlZ
mizenBDL9Zx9U++/wOipdf1dJtnLcZTMRU0JVn/7bMMB6WUfS1v4xZaJa1rD
6x6j32oZu+oxyLYGX2kZfqOl/4WW6fRm6ussAyuvL1wV9SMRW462LefhgDXj
X5RQg/OlhIx9oGD9+e6ttCih/VqUpQuwq89rb2f+mpuyLxzsHrslO0w7xm/I
KqeFV3JOvnK5+mjxds5N3s2cu5k5dy9z9Fbm5juZ0o3MFrHBfcyeT0gyrckB
eIohxY9d9W/OB6jFq9V3LTedmxu9wDdxOfMFa942rrPmUU+q5St7/Qt7MyW1
yct6Sx3rxFcJNxzzW/kZw20eduGafDcetv+VqC27O8t5+IYedvyTRuvP3W2l
ZYOHHf06yupDe9uZv83Dju7/vsLDLjX13YbLLUz9xMXrTfsaS0y9O7kq35Gp
n/ig5YZtmLVfwNxm6xcuyndj6/uf3NtSaVvOwze09eOfe1u/MbKVlg22fvRz
Qqt3VbYz/wa2vn3b29v6/wNQSwMEFAAAAAgAlZQlTJqg1xw0DQAAd5gAAAUA
HAA2L21zZ1VUCQADqrdPWli5T1p1eAsAAQQAAAAABAAAAADNXWmPGzcS/b6/
gsiXcQC33GTzFDYBDNubTQDbQY79YhhBH9RY8Iw02y3Zzr8PW5pD6kNdvDRj
IIFlSVWPRbL6sR5J/ZKvEMKIpPOUz9MMfdMrjN7pzdd1/fltvsovdf0BU0k/
ztG/l6vF+keEPmBm/iXLGM9mjFD+EV3vPzhHz74sF3yWJvp6+/0crfRX9Md2
hSr9ZVlq9OzFur58sai1rnTzebO+eXHs58Xr3eeaF1h8/69fhnA1fzcbfV0l
W2Ox+iCyVBhYr9bbqwqt1ht0qVe6zjca3ei6WZqPrjbo7ctXKK+qWjcNWqxr
9ABwjt6tUbMtP6HF8koj8161rHW5Wdd/D3uHR4VzkvWjchuRN5tPul7pjX1Y
5EhYLICpjH68d3wPq9m0USs/5atLPUfb1R55hZIfzYv8S768ygsTome1zpv1
Cl3cvn/xHC1XG9OY/OrWxIX+tn99MQL1c9v0qzn6+dcvfI5evn7926v37/7z
7N2bP16/+d9ff/5qwOxRzdHVcvUZLZtdzxrH1UivhLeYb6vlxph69/7tX7/+
9v7tz7+/+vP9n7+3Yfthbwrd1OvrHwjjaH1V/bV7kZqvLasfKFFUcUEUQ+3L
FF3u/t/o5uCt0w0pagP1Zl1vUHbXQ0i3YTYdUlyty8/L1eU+3O52qmXT9mgF
sXM7Wm5bfmehbfSyKbfrbYOu19WIDfjIFJKqj2i5KBeXSf1p3s5ZVK5XKzMh
l2bILVfJtb42UxM9K2iKi4rKpMxzndBc6CQnDCeEEEZkxc2L6vl3e7jfnW0Y
2rRUpYA5+DDtzCw0/XUbDBP6+2n4EJ8kb5rttdOMtACuMB4A/tIg+JK3KHaN
qDft+Dzouov9Jy9gPRcAJRlCeRzeo3ia+N7U+iavDzLcar3SkYNJ5CTMO1gG
oYG7WF6eFWCWTQK8RWXwLW+Sx4DIHiCafPd9m/WW1aXe573blPU1b1C+2eTl
J12FdTk4B4aGvl41V/kXXT1v3zUTZNvOkfz+S/6o6PSYf+gh012NNn+v8nqp
m7N2WMsWJ3AeQjNIb6N0mPei45QkG8J5lOm2peFkzWJ79fzug/dIZ8P+V9eJ
yTs3+cYMxNqwV9Gy11r/f47RxfbmAn3YO/q4p4nmja1uNugZQ01ZL282zUiz
4GZ32RnV29WqHX7ruto9yW+tz2Zd2BRKh1o2HZYS0TEqQw9XGDBaZGnrJDWi
J6jRLgpAekTtRiSdpbhPGm5XWbbk3Y81PGLPmOXb17yuJqxZxJQQM8s/67/b
9d8pxqmyvKxUJRLJdZ5Q8+1EijJLcEWLkhWlxiW/Y5wt5B7rdIDGCbC7o/NE
B/BybKwCuWL76QtY3AOgVb0n+mCog3NGe6gZhiWBgLzRAWSffw+CDModXWAC
uOMup5/gj55uR+fG2JSw45EO6Pq8Z7DvwnNJB6y0V8oaxBqeT9pjZQLS6zac
kk6QP3JE/lpnYF7pZNqGW4o55qFI2YMtG56aPrDUlrK68dR+M/p88EovNifJ
YJxYwIYmz/iMK9yrQwxOo4d5syOWdyzzfhLd/9PATKoNkTJZ63gi+aOdzNqV
7mdtR7dqJEi1vjIBaNmp6WR0nTem5XefNPiGPR9PLUkofViyVeuvK4d5627c
buYScTxajan2v4Qn6X3J9Kcd0N++9eul/e8PV2Bf/fflu5/edKuwhcnk1yaL
A8y6FdHt7JxajzxYAo4yKmaU4KGqw67p98zzwAkV8xQHqPlHsAOVUELk4QH4
x5LFVA6O0H5Qp/OU4Jkw3GCyJDaVe+/yKyzzuuJUwFrrQNYN4PI+NPCMe+D1
OCkSKRUfyYqgdOtqGZZrCcJZm0KykQcV51kvZIpKxmdECRpPju/iOpbjCd8/
aqLp8e5hMSOKRNTju8D81cX4FuHBYziD6JXh9gx0oZ5Jjx+LuS2VcLEz9EwZ
s2Ojx7v3Ot8V8SB6vBQklbliCV2QMqGMLpIcl3lSkDQlAguqyqKrxz+l8c2z
dFrojFdn9QE+yBfhejyk5wKg7Fe8otVWfWBmvYp7hLqqF8Bp7TRETdULonDS
471cDm2jCKLH+6Ci0yklWA3VC+f0JpRg9VMPnCId2rZoWTvt+u8wd85E6iTI
e9h1Ww+cUZGfJjNw3dfVljM5AijyT6F9w3Uk99kiaQoVj6PsFfBB3u45Ayjy
jOSCsUWZVOZPQpUoE8nKRcLFQhvmSsxbYkiR94HGYTLxU2SKkgZS5CFxD4BW
wRTkx2eNkgGn2mMyRwMSJvE8LnuU7HB3g6UiH8ptHEXeCx0s7TwBNmmwwsbZ
E2CUUgpQRgzJKu0leU/bNuxSzpkKRcv6tqyE8ZiAzrhJoOsaNjhVpmYZlrCn
SkBN3getypw1+VBu7TX5rufO3GJCKA9R3tu6zdxV87Sz5ICq8mPf91Tlx8y6
ldLt7JxaTT1YAo4zymeKcKgqTxAhc8zn1FNNjmXnTKr8GHywKh+r/YBOV0TI
FM8E7m8ujKfKe+HkTqp8KJd2qnzXaycrKsbGsuJ0vvWwDMu1WeuCmiySDocM
G/Z7HDKWYmZiNiMKDxwHD6XKd3Edq/I4JRmLqcq7h4Vm7bo0mirvAYyR856S
70L1l0PjWzyTKj/WEFsq4WJn6JkyZsdGlXcfmcwQR5gqz83sUlIukqxkNKGC
46So0jJZ5GUqCswXRU67qnz8QWPRUt4vy5yx1uoDnAxt6IOr8pCeC4CSToc3
VH3VByabPtjsX1v1Aji9fTNEXdUHIgfUVQdqqqFchlXlvVBNq93B6qg+OMU0
/QhWQ/XAqfplKvv6adf/MXNXacoHS5xTCwJ3s26rgTNq8tNUBq5Zu9pypkYA
Tf4ptG+4iuQ+VyTuLynOqcn7IGcMpMkTKmnBiEoWLOcJxZQkMkvTJCtKoqpK
FBJXQ5q8D7TREvDT54mSkLEiv50mD4l7ALR9vhhVk/eBymAy5GPyRkl4jzdG
0+R9YArsrMmHchtHk/dBB5TnngCXlAS4l+YJ8ElpFqVhNHkw+cusJXk/03bc
ko4eRrUnZV1bVop8TEBnVOS7rmFD0ySjmaL9C9ZiK/Kh0Foq8l5ux/IiSB3q
ej6eWpi1l9y5K/L31qWjdbu5y+zCl4mZ5P1NmiNCc9eJrew/9n1P2X/MrGut
3sbOqQUbm2MWouof3s6ZFPkx+GBFPlb7YbNDYTbLeP8KjniKvA/Ow2WdhSLv
5XLotJFFzn3w2tHNSSpdFXkvy7BcSxHmc8LHrhbISKp6IROKcTwjJIuoyHdx
dc7JMyqj3lvvHpZM8oHrA4Ip8u7AaNYvlkRV5LtQ/aXQ+BbPpMiPNcT2Ke9i
Z+iZMmbHRpF3H5mMtL+oAFHkRVqQKqM0KXiaJrSiKiko1YlISUpwIeki6yny
8QeNTUvF9AHkeJVWH+Bq8vToSUUe0nP+KLPB2/XjVFd9YAKO8/tXVn0AAg7y
h6iqekF0u7fey+XUXRHOirwPKjo9mIJVUX1wsukxFayC6oGT4wDn5Lv+u2cX
zB+nc/Iedt3WAz7CsastZ4YCEMbtCV+wPQdPIbTDJR732SIGCm7n1OQ9kAsM
0+SLwuR9XYhEl5lIaEqqRBJdJDkhJdeZXJS8HNLkfaCxxz4n7wNejN3zaqfJ
Q+IeAK2CCd2PzxqFxOc6J+8DksDyweOyRwPT5rxlKAZ57DaOJu+DLoMJdE+A
TRqsY1nmyTFKidXYPpVorNL+nLynbTt2GeJYetfWGUXwsWZYbQiIGQvY4ORY
zVJ5/nPyXmjdz8mHcmuvync9d+ZWmsnMQ5X3tm4zd8Ucd7YBQwXzse97CuZj
Zt1K6XZ2Tq2mHiwBx1mWzgwZHRJoh7Yv7JywdJ7JAJX/AztnUtNjwbdW5WMB
gXS6xGZuzjAelJ4jqfJeOKmTKu/lcqi2Cc+5B1572jkWI1kRlG9dLcNyLUNY
zjM6FjKidr/afhQyLDIu5IwTOnAgPJQq38XVOScvVSpjqvLuYdn/amo0Vd4d
mFkcnPecfBeqvxx6Pou2z3QXO0PJfcyOjTzetXGmnQbuI1NlEsNUeaYNL9Ml
TogQVUK5rhIlCp5oXBJJS8ULJruqfPxBY9FSmk4fQI5Xa/UBPvg77XBVHtJz
AVD260rR6qteMKd3R/rXVn0AAm5ED1FX9YII5YjHNVUvl9F+Td4HFZu+GyJY
HdUL5/TugWA1VA+ccnBlbFk/vfc/WCkx9FUe/M6fhSrvYddyPeBQ6wxFIEbL
lAysWrvaOsnJJmuwQF72iO0briN1rUFni5qZBTRUQI6iyvsgJxKmylNDXViV
JlSKIqElVkkhuE4ySgrClMYFH7y93gdafwPTmVV5H/CjV+9bqvKAuAdAK2An
u4OzRgeoEvZz3wGZowNIdT5V3gsm4NzPiCofym0cVd4LHWwuhGeT9lg58Kcc
wjNKa6wkHd1kFY1V2qvynrZt2CU7cVewLS1jFvclB1Plx5phpcrHjAVscAqK
Z4r0f7Y3tirvgxZyO96IKh/Krb0q3/Xc0XGydPS+Y/jM9bA+OXf/AVBLAwQU
AAAACACalSVMBMmhorINAABMZwAABgAcADYveHNfZVVUCQADlLlPWgy6T1p1
eAsAAQQAAAAABAAAAADtXEmP4zYWvs+vMOY8srVvQA6TSRrIJQgwC3IIYGih
XJyyltbirsqvH4qkRFIStZWretKxu+GyuL73SL7lI8U6z6+H7w5//etfDi8g
q+q8BDF5vuZR0GXFeRrAjD4c1O7HIcqzuuwbQJ8EBHVTAqXIv4AyT5I2RxOz
ShDmeT2RUTVVAbKY5aBeIX5U8WMWpKB9+gETo5DEMIieaSXS2i3kHg4a9/vg
2C7/eEhKRD6tfMLsngijJ+0UgxuMwAm1dkLV+ipFUAZphSuUiItTAuK8DHTt
6ZYeYXrpy1VRCQvM5AnU0QmJ9kSSqlOIenoe0aBAjvH2k2dXmAExrQRpfgvC
K2BCaT+tPLtUVriqgxonmX0SYqpNeIqDPql+LXCh4um1T0vzGKd94SsiaShd
4RhWjAP0EAVlrIBsTEM3tGnwosAshiWIaqUClxRkNZaibtms2+ZaQ+VzAxpS
Af/CpZj82/QSZhelCC5AycsYlCKLGaW9HUA0pnnBxIRYrCAaZIVw05ZyfGk2
6qF+krT0lNfFtbkorYgbTCFaCBniDcQj1pNrUz0pURA9DWTTye1SBllzDUpY
v2JWVM8elQmu8JK1QhMHvsuuQIS6EvO6/mmZ6XEJg7KERITjzAKUFaxq2is3
sRCjeUmGz3Uc1VCZ+GGW5CIdpLRSwd8xgZamjyUuLWPsW77GiuXbjurvtxzV
CerghH40KahOX2DmnFXjzeuYtfBYx7vW8cRiBbavr1yuv8eG/iGr1dU8/Q+z
Wi3Ddh3V41bgXZYrJwN733q137hezV/fvGDtx4J9jwWrrV6wmv1YsGT6fOCC
RXKtcjJ3phxmlX+YdZdpQ/vc2n7BsKSizOs8IpHFrdbUjl9jD3nGEnnz1noD
efYe8uwl8uZ103rybs/y2Gj9UHeqGjV2Ut844Ex9dKsiCCsUPELU1mDZLCuF
nXNjFT8rZ4h+T352TqZV/KycUvfk5waT+00+mNxx7s34DKgjJSxhfGGLMw0i
rIF1X9N8XfcNwzdN32EzhJRvy4QlFzMGWTz0Hzqzjno5wxykzUjc1WXaeFyq
XKmj4mbOZ9vT2RDlKFHVpEqeJNc8kJiv8kWJ8uJVmplcYTFtFbFHEQVVrXAI
0biN+DULUhitLV4VV1gr4IZMphIheWbgWokl13gyXWtRXV6xS/PBemZu6q5U
M2+fuqrqq1r3/Zi6f5ap+0aTMjd1V1qUO09d+zF1/xxTt4jg3bwH1NabvQem
M9neCMgiFMCXrPQzeFUwdSr6+G47d49ceAluM7k3lJ1kpIDO5Jij9UES0wrW
KLatroii79S/4R2Xc3pJ6/YBlCmsKnhDOSLtpC6jPmvSM+ppMKI3kTb8/6iy
ptq9DyFfyDmjRrn2PreoBTdGgv10DX2zBUWOrcvhewwkCmDu7zOtAsDDkhcA
Hp0fyzbhKQ5HauazANp0EE/JV+Uhnigu85RljjCe8bKXQiDTSANroAMTLE7L
LqA8G03M+tG13za6G+C7x+juHl3KTMslt+fLK2O6HVvxoz4GmYZIxEhFHD43
Vcg992NSNlmGOCDJxtfq2P46HTNB37B+Pd3SkxZZhmrohqIHnqeYlhUqoeqY
iudprgsczYzdCFfpds8FIxUVDeuTt6PBLYDXIIRXCpuSVTUe75lyKVp05Ssr
23LUeh3BC15cqudoFl1idVBeQE2SXbXfALjBGORo9eN5bxuuyU1Crl12bIAS
JfgqLF08GTDYneDOEYiKST3RLKyZNH57gmYo/CGFw5Sve4Nl3Ygbz6yVGYif
d6yQTeUcK51NmzZTdIHwGi8BOXyhu2x9jwSjm2I72lw71kw7fR4PPb649tk2
FTQ9utxZ7HuwRNStw/OMx0fdPDolQMwjL1gGbWFtScVgeqrFoB6cc6FZutMP
ylg+djejk7dwiOKvPQxOBEFLINbOmVdTA8MmDecZjvK06Qml1FRDSLJLkq3N
Td0xIfoMIcY8Ifo8IcZwIk1FcFwAl+U1TKZzB4HnfNw5H3auiTrFoGrrdGzD
qA3TkVqc4Ymx6qmp4/xLxlLueoaM5RjjHiqTpRUojkryMlWEaBqpswhUVbt5
Nmp5VOOlOpegAvX5S1Ajd42LqZ5uaSt6olhI7RDmuEAFgvYnSQyu1/yLQiwn
YrIVfM0t3Hbru28hLlF4VzK/g1LRPwd1zbrrj9IRevA5P473vOSFKawO1TRN
h6ivjmFWMYgKyFVsH89E0EKKOUy5BkWdF2ccu3KzJU1hfn5CntO526rUVMdw
TM3tDNXQA/0M0ub8ArJubolu14pJTOuwiTw5ja8whTUVh2tRcfQxwEvrU+Fm
aBCUN3XR4PJFTXf3a+If4c3uFuJSRcnrMsl71HBkkXLFFpOoLOeI4vGjxjK7
hiyPBuMwDS6cKHjBKQUNiT2q+bCjRR1DVoV3r0cWTXM689KZR2IdVFs/oC+j
/TLH3vK4HUubbsdyUROW035hcTNqmPPrODqam0miuLoXKmYYWUroxo7iRrET
x7FrhZ4jOL9BBurn4N1d34O+spyxspy5spy1spy9spxzD1df0y00PtrI10fp
tm3pH+HsD3CIFXoBx2cng4ci1hm4w5S7z7UyAwjsC0mMDw1Jxq5tz9kctNAp
NoI+6sNkvK4MY5iMB80YNYJXjWENk/EiMexhMl4ThjNMxkvAcIfJDlGMw2Q8
MKY6TPZwsjZiB7NpjtnEfJojPjXMqDliVMOcmiNONcyqOWJVw7yaPa/zwRhZ
icOpwjypsihh1arkNL+JE7wrQ1QAKtGba7r47hDJGVs9yzsEVxv6XBdcTW+z
rokTJJHAfPjwljghy0dRwmhOzO9gTUIRYqxlso2M+VBqGMBxpxWnQjRjNhgc
EuHNE2FKiXDmiRiExvocEdZCdGtJiZCJkBJhiEQYs0TIInBKhC0lQiZCSsQA
VjJniVgIrx0ZEbZMhJQISyTCmiVCBgFQIlwpEfMgBjNHhAh7lggJUtcR4UmJ
kImQEuGIRDizREhgPkqEoUqJmEdROFNL1d/k/nPffL9R3LffS0dsvi0oGm05
eEVo+MoYxDCR19Z/OBTiUEUVDyIx974bDdEgIP9wvPkPQ1BmKGTIM2EKHOIm
LcSi/Aai5J2BsUc7REoISb+C7PxLmf8XRPXh1x9//v7f/zy4R/2oHkgZbaLM
f77/QSijT5X56ZNQxpgo89Onv//jR6GUOVHq5x//xZcZ4jvdbh0nXhr0dOKi
DhF5FOCgOV+pi5V/+e0lcWGByMl+ewHx4fmQtn+rmjxW7XcND/2qhNTv6AcC
t6p5+lGz3aN21JjfC6kTIhbVVeQlaQHwkLdkub7locfQDWwfRU+ebyGv19fj
JOorabJKwEoM33JQedtDNVWDM2R4yBLgtocWVP5rpifqz4nUyg/RYbpIhgV8
enxCEykwjBZy745W8NkGy04SH1Pic0ybQjbmzufYs6YaZ7VtgTQnadtICB7S
I4SEkfdHCFU+xRymrEYIB+9IvBtAaHwwQKiLgr8nQEjaWgEQapahEneARwij
K6Qbd6TmBDZIfYghNGi1qKDdfhGP5JYqojG5UQDo0ycVf0ipS9Ewikyyk8P0
B4MDQ8cJY2DaimbGqmLGpqaEruYoZmLaXhI7DgDiXngalDWkU+MBBy6Xuwsc
6Bqua6vUXjN3wTUcXe9ir/9LMND+A4CB9gMMfICB3x4YaH8FMHBDnzvAQDZc
f1ow0FnA4aRgoLuAw20BA90FHE4KBroLONwWMFB6EmYJDHQXcLgtYKC7gMNJ
wUBvAYfbAgZKj+IsgYHeAg63BQyUnZhbBAO9BRxuCxgoO263CAZ6CzjcFjDQ
lcHuS2CgJxPhJjCwH9MRGOj10nmAgXM1HmDgAwykj7vAwFXQF1MS94S+wtCP
TJ8Zcx76Yt0zZWdN9J0MoC85MuYItQVkrP24Amlx5KuWb/c66P0gU5sruhIy
jT30S0PhtO/FWIacCOWQaWTafgxA4CcO5o4xJ4dMZT31UCKh/gElDqBE+4Oh
RE0U/D2hRJK6Bkp0XSrXbVBitzs8hBK1FkVU29OBhOodUKLrtu7krZtha96k
6ZqfepmmaWi7K9/IKWumWmuYAuRYVMxYiiLNq278kdluU1DoWdbnthqREvrn
IL1hHbGQ15yLHLLCjkZ2jKw9XXl3RnTVdI4YIl6D6A4ZYaBux8haXPjujBi2
Yx3bzfkrDF86F7MPRwdwpgBSiujf5otKd7zNtO5m05XXq0neqR6/mzl5sdrU
e5kjYHV0pdr4QrXhdWpyJFN2ldpIy6srR0W80WnPOfT1MhyJZvr6JxGHW8vI
1G1C21/G2suL4JluJZm7rWLzy1X7hb/lWouFt7CmrrQYI4zT11kIr/ZslBx/
P8Lm94D2S056kcLcNQpzlyhMXqGw+wIF7vqEjrDR5QkDmxCnShtr0lCW8x97
IG7OBoj7VJsvRth1yH3ybXvJTQoL2rxL3KbNw8Gs5t+vH75dP7N7Jn2zfq1h
lVwhvONM/sY7h/dZ2JVj8s1Y2OGVjnsOcqyX4Tta2On7B7cfkt/Lyw4LO3mV
2eYT9vuFv8/CTh7WeoOFXavqe9TmHqpeckvKriMMa1S9LR2Vb0jVS26f3nHi
Yut11ft0/cpB+WZ0/fB+3D1I23oZvqOun76bdfsZiL287ND1k3f/bT5AsV/4
d9D1XW/vr+v/B1BLAwQUAAAACACdlSVMCvV3IFgNAAAFmgAABwAcADYvbXNn
X2VVVAkAA5q5T1qpuk9adXgLAAEEAAAAAAQAAAAAzV1rj9s2Fv2+v4Lol0mB
yBHfpLEtECTZbgskKfrYL0FQ6EFPjMzYs5KdpP++lD0PW6IsPj0ToEUc2/ce
XpJXh/eQ9C/FCgAIUD7P2TzH4JtaQfBObb6um89vi1VxqZoPkAjycQ7+vVwt
1j8C8AFS/S8YU4ZnFBH2EVzvPzgHz74sF2yWZ+p6+/0crNRX8Md2BWr1ZVkp
8OzFurl8sWiUqlX7ebO+eXHs58Xr3efaF5B//69fTLjav9uNuq6zrbZYf+A4
5xrWq/X2qgar9QZcqpVqio0CN6ppl/qjqw14+/IVKOq6UW0LFusGPACcg3dr
0G6rT2CxvFJAv1cvG1Vt1s3fZu/2UWEM4WFUbiPyZvNJNSu1cQ+LGAmLAzCJ
ycd7x/ew2k0XtepTsbpUc7Bd7ZHXIPtRvyi+FMurotQhetaool2vwMXt+xfP
wXK10Y0prm5NXKhv+9cXI1A/d02/moOff/3C5uDl69e/vXr/7j/P3r354/Wb
//31568azB7VHFwtV5/Bst31rHZcj/RKfIvFtl5utKl379/+9etv79/+/Pur
P9//+XsXth/2psBNs77+AVEG1lf1X7sXuf7asv6BIEkk40hS0L3MweXu/61q
D9463ZCy0VBv1s0G4LseAqoLs+6Q8mpdfV6uLvfh9rdTL9uuR2sbO7ej5bbl
dxa6Ri/barvetuB6XY/YsB+ZXBD5ESwX1eIyaz7NuzkLqvVqpSfkUg+55Sq7
Vtd6aoJnJclhWRORVUWhMlJwlRWIwgwhRJGomX5RP/9uD/e7sw1Dl5bK3GIO
Pkw7PQt1f90GQ4f+fho+xCcr2nZ77TUjHYBLCA3AX2oEX4oOxa4RzaYbnwdd
d7H/5IVdz0VAiUwoj8N7FE8d35tG3RTNQYZbrVcqcTCRmIR5B0sj1HAXy8uz
AsR4EuAtKo1veZM9BkT6AFHnu++7rLesL9U+792mrK9FC4rNpqg+qTquS+Mc
MA19tWqvii+qft69qyfItpsjxf2XwlGR6TH/0EO6u1ql/14XzVK1Z+2wji1O
4DyEppHeRukw7yXHKRA24TzKdNtKc7J2sb16fvfBe6Qzs//Vdabzzk2x0QOx
0eyVd+y1Uf+fQ3CxvbkAH/aOPu5pon5jq9oNeEZBWzXLm0070ix7s7vsDJrt
atUNv3VT757kt9Znsz5sYkuHOjYdlxKRMSpDDlcYdrTI0dZJakROUKNdFCzp
EXEbkWSWwyFpuF1luZL3MNbwiD2jl29fi6aesOYQU4T0LP+s/u7Wf6cYp8RF
VcuaZ4KpIiP625ngFc5gTcqKlpWCFbtjnB3kAev0gMaQZXcn54ke4MXYWLXk
it2nL+ziHgGtHDzRjaGOzhndoWJolwQi8kYPkEP+bQQZlTv6wLTgjrucfoI/
BrodnRtjU8KNR3qgG/IeY9/F55IeWMmglGXEGp9PumOl3KbXXTglmSB/6Ij8
dc6seaWXaRduyeeQxSJlD7ZceGr+wFI7yurHU4fNGPLBK7XYnCSDaWJhNzQZ
ZjMm4aAOYZxGD/NmRyzvWOb9JLr/J8NMajSR0lnreCKFo53M2rUaZm1Pt3Ik
SI260gHo2KnuZHBdtLrld5/U+Myej6eWQIQ8LNnq9deVx7z1N+42cxE/Hq3a
VPdfxrL8vmT60w7ob9+G9dLh980V2Ff/ffnupzf9KmypM/m1zuIWZv2K6G52
Tq1HHixZjjLCZwRBU9Vh1/R75nnghPB5DiPU/BPYsZVQYuRhA/xjyWIqBydo
v1WnsxzBGdfcYLIkNpV77/KrXeb1xSkta62GrBvB5X1o7DPugdfjpIiEkGwk
K1qlW1/LdrkWAYi7FIJHHlSM4UHIJBGUzZDkJJ0c38d1LMcjtn/UJNPj/cOi
RxRKqMf3gYWri+kt2gePQmyjV8bbM9CHeiY9fizmrlTCx47pmTJmx0WP9+91
tivi2ejxgqNcFJJmZIGqjFCyyApYFVmJ8hxxyImsyr4e/5TGN8P5tNCZrs4a
AtzIF+31eJuei4ByWPFKVlsNgYkHFfcEddUggNPaaYyaahBE7qXHB7k0baOI
oseHoCLTKSVaDTUI5/QmlGj10wCcPDdtW3Ssnfb995g7ozz3EuQD7PqtB86o
yE+TGXvd19eWNzmyUOSfQvvMdST/2SJIbiseJ9krEIK823NmochTVHBKF1VW
6z8ZkbzKBK0WGeMLpZkr0m9xkyIfAo3ZycRPkSkKEkmRt4l7BLTSTkF+fNYo
qOVUe0zmqEHaSTyPyx4FPdzd4KjIx3KbRpEPQmeXdp4Am9RY7cbZE2CUQnCr
jBiTVbpL8oG2XdilmFMZi5YNbTkJ4ykBnXGTQN+13eCUWM4wFHZPlYiafAha
ib01+Vhu3TX5vufe3KKcywBRPti6y9yV87y35LBV5ce+H6jKj5n1K6W72Tm1
mnqwZDnOCJtJxGxVeQQQmkM2J4Fqcio7Z1Llx+Bbq/Kp2m/R6RJxkcMZh8PN
helU+SCczEuVj+XSTZXve+1lRUnpWFaczrcBlu1yLe5cEJ1FcnPIoGa/xyGj
OaQ6ZjMkoeE4eCxVvo/rWJWHOcI0pSrvHxaCu3VpMlU+ABhF5z0l34caLoem
t3gmVX6sIa5UwseO6ZkyZsdFlfcfmVQTRztVnunZJYVYZLiiJCOcways8ypb
FFXOS8gWZUH6qnz6QePQUjYsy5yx1hoCHJk29Nmr8jY9FwElmQ5vrPpqCEw6
fbA5vLYaBHB6+2aMumoIRGZRVzXUVGO5jKvKB6GaVruj1VFDcPJp+hGthhqA
Uw7LVO71077/Y+Yu85wZS5xTCwJ/s36rgTNq8tNUxl6z9rXlTY0sNPmn0D5z
Fcl/rgg4XFKcU5MPQU6plSaPiCAlRTJb0IJlBBKUCZznGS4rJOualwLWJk0+
BNpoCfjp80SB0FiR302Tt4l7BLRDvphUkw+BSu1kyMfkjQKxAW9MpsmHwOTQ
W5OP5TaNJh+CzlKeewJcUiDLvTRPgE8KvSiNo8lbkz/sLMmHmXbjlmT0MKo7
KevbclLkUwI6oyLfd203NHUymkkyvGAttSIfC62jIh/kdiwvWqlDfc/HUwvS
7pI7f0X+3rrwtO42d6lb+DCfCTbcpDkiNPeduMr+Y98PlP3HzPrW6l3snFqw
0TmkMar+8e2cSZEfg2+tyKdqv93skJDOMBtewZFOkQ/Bebisc1Dkg1yaThs5
5NwHrz3dHOXCV5EPsmyXawmAbI7Y2NUCGOVyEDIuKYMzhHBCRb6Pq3dOnhKR
9N56/7BgwQzXB0RT5P2BETwsliRV5PtQw6XQ9BbPpMiPNcT1Ke9jx/RMGbPj
osj7j0yKul9UsFHkeV6iGhOSlSzPM1ITmZWEqIznKEewFGSBB4p8+kHj0lI+
fQA5XaU1BLicPD16UpG36blwlNh4u36a6moITIvj/OGV1RCAFgf5Y1RVgyD6
3Vsf5HLqrghvRT4EFZkeTNGqqCE46fSYilZBDcDJYIRz8n3//bML+o/XOfkA
u37rgRDh2NeWN0OxEMbdCV+0PQdPIbTmEo//bOGGgts5NfkA5BzaafJlqfO+
KnmmKswzkqM6E0iVWYFQxRQWi4pVJk0+BBp97HPyIeD52D2vbpq8TdwjoJV2
Qvfjs0Yu4LnOyYeARHb54HHZo4bpct4yFoM8dptGkw9Bh+0EuifAJjXWsSzz
5BilgHJsn0oyVul+Tj7Qthu7jHEsvW/rjCL4WDOcNgSkjIXd4GRQznJx/nPy
QWj9z8nHcuuuyvc99+ZWjgUOUOWDrbvMXT6HvW3AtoL52PcDBfMxs36ldDc7
p1ZTD5YsxxnOZ5qMmgRa0/aFnROaz7GIUPk/sHMmNT0VfGdVPhUQm04XUM/N
GYRG6TmRKh+Ek3ip8kEuTbVN+5x74HWgnUM+khWt8q2vZbtcSwEUc0zGQobk
7lfbj0IGOWZczBgihgPhsVT5Pq7eOXkhc5FSlfcPy/5XU5Op8v7A9OLgvOfk
+1DD5dDzWXR9pvvYMSX3MTsu8njfxpl2GviPTIkFtFPlqdK8TFUwQ5zXGWGq
ziQvWaZghQSpJCup6Kvy6QeNQ0tJPn0AOV2tNQS48Xfa7VV5m56LgHJYV0pW
Xw2COb07Mry2GgLQ4kb0GHXVIIi2HPG4phrkMtmvyYegotN3Q0SrowbhnN49
EK2GGoBTGFfGjvXTe//GSommr+Lgd/4cVPkAu47rAY9aZywCMVqmpNaqta+t
k5xssgZrycsesX3mOlLfmu1skTO9gLYVkJOo8iHIkbBT5YmmLrTOMyJ4mZEK
yqzkTGWYoBJRqWDJjLfXh0AbbmA6syofAn706n1HVd4i7hHQcruT3dFZowdU
Yfdz3xGZowdIeT5VPgimxbmfEVU+lts0qnwQOru5EJ9NumNllj/lEJ9ROmNF
+egmq2Ss0l2VD7Ttwi7pibuCXWkZdbgvOZoqP9YMJ1U+ZSzsBicncCbR8Gd7
U6vyIWhtbscbUeVjuXVX5fueezoOzkfvO7afuQHWHeZud86b+KnyY98PVOXH
zHpV8B3tnFhNHViyGmcEYTKT3Fi/7Kny/wBQSwMEFAAAAAgAeZclTE5QOfJb
BwAADjYAAA8AHAA2L2RlYnVndmlldy5sb2dVVAkAAxa9T1oWvU9adXgLAAEE
AAAAAAQAAAAAzVthb9pIFPzck+4/rBSpJR+S+q29xraangiYHiolFEKuuvaE
DDipVWJyxqSNLvffbyHAgt9iL6vmEhRVJOmbnV1mx289jmHMX5S+AMczXQ/o
i09+q1GvVP37xmSYjpuTK4/0un7HI92vs3Q0+R6Xvnz57cuPMB7Mpge3Ydz/
ccMR4OUovO1Hl8EwfJnwd4azAB4c9A/+GdDh5cBw2FEQsPDIKodw5Awuy0du
2TUvTWAWs9m/h+SEvPj1F+OBjznnYxlzPp+pbdp//a+jW2L0Z7EabMEHnmg1
bDH6s1iN8oIPfaLVcMToz2I13AUf82lWwzTE6M9hNUxY8mHWnE/LP7+vJdFt
mPhxmtx55OFnxDmmxwYp2YekRJ1jgx5TA8qHAoVuoVw06vft0aQbpvUkCuPR
+K4VXIceMTheGJP2BWmF6fdJ8o3UwttoGJIDQ0CZCKqeTOKUw3C8bhqkHGi0
KHt9G12+5pgn/PWWvKo2z7p+7RU5mr8/47Sr5/xbAWztCUyimEznPyav2h2/
XelsoTGE1u9/CIYcqh0m10EcxmllNErC6dQjQZomK7IG9QzDM2D1ry0g7Z2Q
1VmSaACW82bcml1/nIWzcJpdTkcAOLlLdjOO0mzxeafni3p3q/601733b9Ph
1/g0ikce+UytvzxSbfe4MGBdZBkFRWxdREURFBTZ6yJTFNGCovK6yBJFZkGR
sy5iosgqKHLXReLjs1h+kWmsi8qiyC4oorIlLxcUmbIldwqKLNmSFyjCZJIl
ZwWKMG3JkrMCRZhlyZKzAkWYjmTJ2b6OtWEsEp9i+/qUR97MHfBEIGDh9OKb
8eyqE/7N9zvfs61GtUtKHyrvfeHhbFs5y5JGPEzCa+49F8F4Fi4rhXIYthhu
/NxXkrsGp5zMr1IL3+e/6Tda535nfsEjpQu/022ctYizMT42GzlU9/ys48vA
6AYY1pkEjI+hBmcbqtx63bbfqsngYAMOa3MnOzVAfP3d0MzvwfRrZXw1SaL0
6zUy7DO/3Wyc/ymwTNQRVEbBDafFod6FcZgE4wq//kSDWTq/eHCMTrdL/Fbl
tOnXSMkhH3t+z+9usMOKlq8eX4iiiWJp166Dd2G6pOiReMK3F383DG/SaBKL
Snx1Ve0r1nt00VosJyo2rI33QL/fCYfhvI3qRPGVHweDcQb989y8FwMIHLwB
FHHebG1/29XBAcSnjEWviLPNpww6OBTzwSJXxMnwwX6tgGNiPljWijgZPrJW
shDHwnxk/aMSToaPlp4Z5qOlZ4b5aOnZRnwcLT3biI+jpecy5qOl5zLmI9Pz
eRLE0+soTfeyIEcmaVWoDCuZqlWgsBE5MmGrQmVYybStAoXtyJHJWxUqw0qm
cBUobEquTOSqUNusXJnOVaCwNbkyqatCZVjpqh0blKurduxRrq7asU25umrH
TuXqqh2blaurduxXLla78nkp23yBgfW+32kJDHwHbGXCqwmtit6KIoqKatH0
ZhzcNaP423JYXtZstN57pNfmjXzb92snYKxepNZrN/1PJ/Vesylgce/9U2Ct
nVPk8Jk5klIjHkVDPtSInBCDdMJ0lsQP3xwKSCx4xXZ69RHuuE8HhoL+16zz
VQuGwgbYjfVmWycKO0COhfY4GAqGvxtrmxcoOL4cCzkigILl78bK8FLwfDkW
un4AKJj+bqwMLwXXl2Ohqy2Agu3vxsrw0tY96k0AtHWPmhMAbd2jTg5AW/eo
lQOqrXvU9wLV1j1qfIEWtfWq5kWLzqmqzkWLDqqqtkWLTqqqnkWLjqqqhkWL
zqqqbkWLDquqVkWLTquqPmUWHVdVTcosOq+qOpQk5VMBwvYkyfhUgTKM9JSN
jUka56kBZRjpKRtbkiS8UwXKMMoP8faMJ8Dct3tHDbeFhb2a1x9BlNYnSTsY
fgtTFEyWmpMgzu1KLQUfrwwmSSodYWGdwfzXHNcgNw//R4ArNDQ54HY+uEKH
kwPO8sEVWp4ccCsfXKEHygE388EVmqIccJoPrtAl5YBDPrhC25QDbuSD778J
l6evgjADmNZNUmxfTOsmKXYvpnWTFBu8JKTVCTNAks7qhBnAtG764ysg07rp
j5sESZCrE2aAJMXVCTOAad30x12UJLnVCTPA1tIz7jMlSa1OmAG2lp5xJy7J
ZnXCDLC19IzPKpKYVjPMAGkuqxVmgDSa1QozQJrOaoUZIA1otcIMkGa0WmEG
SGNarTADpEmtVpgB0rBWK8wAaV6rFWaANLLVCjNAmtpqhRkgDW61wgyQZrda
YQZI41utMAOkCa5WmAGSEFc/zJAkuXuerZzdd/p3hxmSqFb36SFQyWoXj51+
mI3TaBhM0yofKZmMJR5cqdXIw3OtzF883Tp/wFWMlPt0656sc8/Ie2IpSH6f
FTBNj38tp7+1AiLrZT9xpHrdOz31qpZnbowEjzGSeGzZFCPRnztSRj/1qhjJ
fKw5PXxtjGQ90pzK9fmnVa+IkdgjKaJW9Qzm2UyM9LDPrSf5KwpYBtvW0/8V
xX9QSwECHgMKAAAAAAB5lyVMAAAAAAAAAAAAAAAAAgAYAAAAAAAAABAA7UEA
AAAANi9VVAUAAxa9T1p1eAsAAQQAAAAABAAAAABQSwECHgMUAAAACACYlCVM
vnJWn/MMAACfXwAABAAYAAAAAAABAAAApIE8AAAANi94c1VUBQADsLdPWnV4
CwABBAAAAAAEAAAAAFBLAQIeAxQAAAAIAJWUJUyaoNccNA0AAHeYAAAFABgA
AAAAAAEAAACkgW0NAAA2L21zZ1VUBQADqrdPWnV4CwABBAAAAAAEAAAAAFBL
AQIeAxQAAAAIAJqVJUwEyaGisg0AAExnAAAGABgAAAAAAAEAAACkgeAaAAA2
L3hzX2VVVAUAA5S5T1p1eAsAAQQAAAAABAAAAABQSwECHgMUAAAACACdlSVM
CvV3IFgNAAAFmgAABwAYAAAAAAABAAAApIHSKAAANi9tc2dfZVVUBQADmrlP
WnV4CwABBAAAAAAEAAAAAFBLAQIeAxQAAAAIAHmXJUxOUDnyWwcAAA42AAAP
ABgAAAAAAAEAAADAgWs2AAA2L2RlYnVndmlldy5sb2dVVAUAAxa9T1p1eAsA
AQQAAAAABAAAAABQSwUGAAAAAAYABgDLAQAADz4AAAAA

---559023410-1251336619-1515175344=:10534
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

---559023410-1251336619-1515175344=:10534--


From win-pv-devel-bounces@lists.xenproject.org Mon Jan 08 10:11:47 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 08 Jan 2018 10:11:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eYUPA-00064E-NG; Mon, 08 Jan 2018 10:11:44 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=d1vm=ed=citrix.com=prvs=539a6d6bf=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eYUP9-000642-Ej
 for win-pv-devel@lists.xenproject.org; Mon, 08 Jan 2018 10:11:43 +0000
X-Inumbo-ID: 24575cfb-f45c-11e7-b4a6-bc764e045a96
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 24575cfb-f45c-11e7-b4a6-bc764e045a96;
 Mon, 08 Jan 2018 11:10:25 +0100 (CET)
X-IronPort-AV: E=Sophos;i="5.46,330,1511827200"; d="scan'208";a="65726690"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: 'Martin Cerveny' <M.Cerveny@computer.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Thread-Topic: [win-pv-devel] xen net/vif (signed 8.2.0.6) "code 10" / win7
Thread-Index: AQHThlFoPb39XPRtiUCCFsC23p97MqNpww6g
Date: Mon, 8 Jan 2018 10:11:39 +0000
Message-ID: <d3e0f50fcf674a568dcd82056184371c@AMSPEX02CL03.citrite.net>
References: <alpine.GSO.2.00.1801051820140.10534@dmz.c-home.cz>
In-Reply-To: <alpine.GSO.2.00.1801051820140.10534@dmz.c-home.cz>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: Re: [win-pv-devel] xen net/vif (signed 8.2.0.6) "code 10" / win7
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IHdpbi1wdi1kZXZlbCBbbWFpbHRv
Ondpbi1wdi1kZXZlbC1ib3VuY2VzQGxpc3RzLnhlbnByb2plY3Qub3JnXSBPbgo+IEJlaGFsZiBP
ZiBNYXJ0aW4gQ2VydmVueQo+IFNlbnQ6IDA1IEphbnVhcnkgMjAxOCAxODoxNwo+IFRvOiB3aW4t
cHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKPiBTdWJqZWN0OiBbd2luLXB2LWRldmVsXSB4
ZW4gbmV0L3ZpZiAoc2lnbmVkIDguMi4wLjYpICJjb2RlIDEwIiAvIHdpbjcKPiAKPiBIZWxsby4K
PiAKPiBJIG5lZWQgdG8gc3dpdGNoIHRvIHNpZ25lZCBkcml2ZXJzIChtYW55IHByb2dyYW1zIGFy
ZSBpbmNvbXBhdGlibGUgd2l0aAo+ICJ0ZXN0c2lnbmluZyIpLgo+IEFmdGVyIHN3aXRjaCBJIGhh
dmUgMzAlIGNoYW5jZSBvZiAiY29kZSAxMCIgLSBjYW5ub3Qgc3RhcnQgbmV0IHB2LWRyaXZlciBp
bgo+IHdpbjcuCj4gUmVwYWlyIHBvc3NpYmxlIGJ5IHJlYm9vdCBvciBieSBkaXNhYmxlL2VuYWJs
ZSBkcml2ZXIgaW4gd2luZG93cyBkZXZpY2UKPiBtYW5hZ2VyLgo+IAo+IERvbTAgLSBYZW40LjEw
LjAvRmVkb3JhMjcoNC4xMy45LTMwMCkKPiBEb21VIC0gV2luNy94NjQoYWN0dWFsIHBhdGNoZXMp
Cj4gCj4gQXR0YWNoZWQgKGVycm9yZWQgZG9tYWluIDYpOgo+IC0gbXNnK3hzIC0gYWZ0ZXIgZXJy
b3JlZCBzdGFydHVwIHRvICJjb2RlIDEwIgo+IC0gbXNnX2UreHNfZSAtIGFmdGVyICJkaXNhYmxl
L2VuYWJsZSIgaW4gd2luIGRldiBtZ3IKPiAKPiAjIGdyZXAgdmlmNiAvdmFyL2xvZy9tZXNzYWdl
cyA+IG1zZwo+ICMgeGVuc3RvcmUtbHMgPiB4cwo+IAo+ICMgIyBjaGVjayB0aGUgZGlmZmVyZW5j
ZQo+ICMgZGlmZiBtc2cgbXNnX2UKPiAjIGRpZmYgeHMgeHNfZQo+IAo+IC0gZGVidWd2aWV3Lmxv
ZyAtIFdpbmRvd3MgRGVidWdWaWV3ICh3aXRoICJkaXNhYmxlL2VuYWJsZSIgaW4gd2luIGRldgo+
IG1ncikKPiAKPiBBbnkgbW9yZSBsb2cgdG8gY2hlY2sgPwo+IElzIGl0IGtub3duIGJ1ZyA/Cj4g
SXMgdGhlcmUgYW55IHdvcmthcm91bmQgKGJlc2lkZXMgdW5pbnN0YWxsaW5nIHB2LW5ldCBkcml2
ZXJzKSA/Cj4gSXMgaXQgcmVsYXRlZCB0byBwdi1idXMgZHJpdmVyIGRpc2N1c3Npb24gPwoKTWFy
dGluLAoKICBUaGVyZSdzIG5vIGFwcGFyZW50IGZhaWx1cmUgaW4gYW55IG9mIHRoZSBsb2dzIHRo
YXQgSSBjYW4gc2VlLiBEb2VzIHRoZSBkZWJ1Z3ZpZXcubG9nIGNvdmVyIHRoZSBmYWlsZWQgZHJp
dmVyIGluc3RhbGw/IEkgb25seSBzZWUgb25lIHN1Y2Nlc3NmdWwgc3RhcnQgaW4gdGhlcmUgc28s
IGlmIGl0IGRvZXMgY292ZXIgdGhlIGZhaWx1cmUsIHRoZW4gaXQgc3VnZ2VzdCB0aGF0IFdpbmRv
d3MgYWN0dWFsbHkgbWFkZSBubyBhdHRlbXB0IHRvIHN0YXJ0IFhFTk5FVC4gSXMgdGhlcmUgYW55
dGhpbmcgaW50ZXJlc3RpbmcgaW4gc2V0dXBhcGkuZGV2LmxvZz8gCgo+IFdoZW4gd2lsbCBuZXcv
bmV4dC9yZXBhaXJlZCBzaWduZWQgZHJpdmVycyBiZSByZWxlYXNlZCA/Cj4gCgogIEknbSBjaGFz
aW5nIGEgd2VpcmQgaXNzdWUgd2l0aCB0aW1lciBpbiBXaW5kb3dzIGF0IHRoZSBtb21lbnQgKHdo
aWNoIG1heSBiZSBhIFhlbiBidWcpIGFuZCBJJ2QgbGlrZSB0byB1bmRlcnN0YW5kIHRoYXQgYmVm
b3JlIHNpZ25pbmcgOC4yLjEuIFdlIGFsc28gZG8gbm90IHlldCBoYXZlIGEgZnVsbHkgY2xlYW4g
V0hRTCBydW4gb24gOC4yLjEgWEVOTkVULgoKICBBbm90aGVyIHRoaW5nIHRvIHRyeSwgaWYgeW91
IGNhbiwgd291bGQgYmUgYW4gb2xkZXIgZG9tMCBrZXJuZWwgKG9yIGF0IGxlYXN0IGFuIG9sZGVy
IG5ldGJhY2spLiBJdCBzb3VuZHMgbGlrZSBhIGJ1ZyBoYXMgY3JlcHQgaW4gc28geW91IG1heSBi
ZSBmYWxsaW5nIHZpY3RpbSB0byB0aGF0LgoKICBDaGVlcnMsCgogICAgUGF1bAoKPiBUaGFua3Ms
IE1hcnRpbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
d2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1k
ZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Mon Jan 08 15:19:21 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 08 Jan 2018 15:19:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eYZCp-0002qV-6y; Mon, 08 Jan 2018 15:19:19 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=boe9=ed=gmail.com=lars.kurth.xen@srs-us1.protection.inumbo.net>)
 id 1eYZCn-0002q6-Vy
 for win-pv-devel@lists.xenproject.org; Mon, 08 Jan 2018 15:19:18 +0000
X-Inumbo-ID: 1b6d8810-f487-11e7-b4a6-bc764e045a96
Received: from mail-wr0-x243.google.com (unknown [2a00:1450:400c:c0c::243])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 1b6d8810-f487-11e7-b4a6-bc764e045a96;
 Mon, 08 Jan 2018 16:17:59 +0100 (CET)
Received: by mail-wr0-x243.google.com with SMTP id 36so11115008wrh.1;
 Mon, 08 Jan 2018 07:19:14 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:content-transfer-encoding:mime-version:subject:message-id:date
 :cc:to; bh=TSc4l2NhMa4b6JLnoHcv25aHYusJFqAyK4r1V5hvU0A=;
 b=EAUWuXoV6DjGix1dDx9EadATfUbf/zUfyPkehGXnSv93Q1bJIjGK9B3qMq1m0NZ3xI
 KTXwJL5yzbPH+ds33O9sWG4izebT6pHpSLr7ijlfc0MK47ars8e1APQrzVVNAc4mTp+S
 Wxpv5F2bplDPnmTQ0oyYTFTdiSW4N9aIAl5O3Z3Tddz75TGHgwMlbo+mR9rkDOxX7a74
 dv4QzCTZutP0yRVcsI65NbmGEJpT+H6LxCz7KxZW2bqgKjoWRtVphzEPOYOpgF3zQCu8
 QzOA0/pWvEBvIrqJtJqRQ09rD+5bcCyA/l36xwZqqXd9kSF/QZRIQ3PnMOB6yCzLdS0G
 gN4g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:content-transfer-encoding:mime-version
 :subject:message-id:date:cc:to;
 bh=TSc4l2NhMa4b6JLnoHcv25aHYusJFqAyK4r1V5hvU0A=;
 b=jSmG9upExj/n8qp6KaFz/wxSxp+JbzJ0p7LI3hDj9olXNGX8PTEiBOrzbVaAChqen4
 gZalDgA8GOCU98dih2Qw9eClD3uZWZtYY4+ktJjy2iK4F4An1ye/2JxVbIgHICoZAUFr
 X6K02qoDq1z7zK2UzZ4qWlqxahzZp67WV2LFgHHpH58o6BNi4CR+//Uwp8CH8qDnZvEY
 W2K8P6w1wHXCUD1juhvv+GLwX2lNYmleTtptOcWbUsCTzqDBpfdJ6w42s0G4zIhjWP0Z
 E5fTYNXoXOo66aptd146+pUKzLCBc5nOWY9XibvsqoBXSBRrgrF9+ODpyde8J7d81Tte
 jIxA==
X-Gm-Message-State: AKGB3mJ8Hmb4GzBePRrzZrzONUOgHhxF+MhB1JARDQ2BQZpqGmVmokwh
 AybG91j7QmwBQFbucRHqbyJNfCdt
X-Google-Smtp-Source: ACJfBouWaDnTIwgSDOiCXyZYrEZe9hDD69WxmsXPaoI1+TF/e5PX++iSuhq0OZhB2sLEuP97PHz2dg==
X-Received: by 10.223.198.194 with SMTP id c2mr11321278wrh.187.1515424753020; 
 Mon, 08 Jan 2018 07:19:13 -0800 (PST)
Received: from ?IPv6:2a02:c7f:ac18:da00:ddcc:e12c:8c83:d9b2?
 ([2a02:c7f:ac18:da00:ddcc:e12c:8c83:d9b2])
 by smtp.gmail.com with ESMTPSA id t138sm12525979wme.16.2018.01.08.07.19.11
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 08 Jan 2018 07:19:12 -0800 (PST)
From: Lars Kurth <lars.kurth.xen@gmail.com>
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
Message-Id: <219B4CE4-9E0A-47CC-BD7B-261BE9FA6F91@gmail.com>
Date: Mon, 8 Jan 2018 15:19:11 +0000
To: xen-devel <xen-devel@lists.xenproject.org>,
 minios-devel@lists.xenproject.org, xapi-devel@lists.xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
X-Mailer: Apple Mail (2.3273)
Cc: jgross@suse.com, "Jesus M. Gonzalez-Barahona" <jgb@bitergia.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wei.liu2@citrix.com>,
 Ian Jackson <ian.jackson@eu.citrix.com>, Doug Goldstein <cardoe@cardoe.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien.grall@arm.com>,
 paul.durrant@citrix.com, mindy@somerandomidiot.com,
 Roger Pau Monne <roger.pau@citrix.com>
Subject: [win-pv-devel] Preparing for GSoC and Outreachy : getting Outreach
 Program Projects into good shape
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

SGkgQWxsLAoKaXQncyB0aGlzIHRpbWUgb2YgdGhlIHllYXIgYWdhaW4gdG8gcHJlcGFyZSBmb3Ig
R1NvQy9PdXRyZWFjaHkhIFRoZSBhcHBsaWNhdGlvbiBkZWFkbGluZSBmb3Igb3JncyBpcyBKYW51
YXJ5IDIzIC0gRmVicnVhcnkgMTE6IGlkZWFsbHkgd2Ugd2lsbCBoYXZlIGEgZ29vZCB1cGRhdGVk
IGxpc3RzIG9mIHByb2plY3RzIGJ5IHRoZW4gYXMgR29vZ2xlIHdpbGwgbG9vayBhdCB0aGUgcXVh
bGl0eSBvZiB0aGUgcHJvamVjdCBsaXN0LiBJIHdpbGwgYWxzbyBuZWVkIGNvLW9yZyBhZG1pbnM6
IEBNaW5keSBhcmUgeW91IHdpbGxpbmcgdG8gZG8gdGhpcyBhZ2Fpbj8gTWF5YmUgYWxzbyBzb21l
b25lIGZyb20gdGhlIFVuaWtyYWZ0IHByb2plY3QuIFRoYXQgaGVscHMgZW5zdXJlIHRoYXQgd2Ug
aGF2ZSByZXBzIGZyb20gdmFyaW91cyBzdWJwcm9qZWN0IHRoYXQgZW5zdXJlIHRoYXQgd2UgZG9u
J3QgbWlzcyBkZWFkbGluZXMuCgoKQmVzdCBSZWdhcmRzCkxhcnMKCkV4aXN0aW5nIFByb2plY3Rz
IChmb3IgcGVvcGxlIG9uIHRoZSBDQyBsaXN0KQo9PT09PT09PT09PT09PT09PQpJZiB5b3UgYXJl
IENDJ2VkIHlvdSBoYXZlIG9uZSBvciBzZXZlcmFsIHByb2plY3RzIGxpc3RlZCBvbiBodHRwczov
L3dpa2kueGVucHJvamVjdC5vcmcvd2lraS9PdXRyZWFjaF9Qcm9ncmFtX1Byb2plY3RzIC4uLiBX
aGF0IEkgbmVlZCB5b3UgdG8gZG8gaXMgdG8KCmEpIFdlZWQgb3V0IGFueSBwcm9qZWN0cyB0aGF0
IGhhdmUgYmVlbiBjb21wbGV0ZWQgb3IgYXJlIG5vdCByZWxldmFudCBhbnkgbW9yZQogICBATWlu
ZHk6IEZvciBNaXJhZ2VPUyBmb2xrcywgcGxlYXNlIGNoZWNrIGFuZCB1cGRhdGUgaHR0cHM6Ly9n
aXRodWIuY29tL21pcmFnZS9taXJhZ2Utd3d3L3dpa2kvUGlvbmVlci1Qcm9qZWN0cyBhbmQgZG8g
dGhlIHNhbWUKCmIpIERlY2lkZSB3aGV0aGVyIHlvdSBzdGlsbCB3YW50IHRvIG1lbnRvcjoKICAg
VGhpcyByZXF1aXJlcyBzb21lIG9mIHlvdXIgYmFuZHdpZHRoIGZyb20gbWlkLUZlYiB0byBNYXJj
aCAyMDE4IHRvIHdvcmsgb24gc21hbGwgcHJvamVjdHMKICAgVGhlIGFjdHVhbCB3b3JrIGhhcHBl
bnMgZnJvbSBNYXkgMTQgLSBBdWcgMTQKCiAgIElmIG5vdCwgcGxlYXNlIHJlcGx5IGFuZCBsaXN0
IHByb2plY3RzIGFmZmVjdGVkCiAgIElmIHllcywgcGxlYXNlIGFsc28gZG8gc28gYW5kIEkgd2ls
bCB1cGRhdGUgdGhlIFZlcmlmaWVkIGZpZWxkIGFjY29yZGluZ2x5CgpjKSBBZGQgYW55IG5ldyBp
bmZvcm1hdGlvbiB0byBleGlzdGluZyBwcm9qZWN0cyBhcyByZWxldmFudC4gCgoKTmV3IFByb2pl
Y3RzCj09PT09PT09PT09PQpGZWVsIGZyZWUgdG8gYWRkIG5ldyBwcm9qZWN0cyB0byB0aGUgbGlz
dCwgYnV0IGlmIHlvdSBkbyBzbyBwbGVhc2UgbGV0IHRoZSBsaXN0IGtub3cuIFdlIGFyZSBub3Qg
Z29pbmcgdG8gYmUgdmVyeSBzdHJpY3Qgd2l0aCBodHRwczovL3dpa2kueGVucHJvamVjdC5vcmcv
d2lraS9PdXRyZWFjaF9Qcm9ncmFtX1Byb2plY3RzI0NvbnZlbnRpb25zX2Zvcl9Qcm9qZWN0c19h
bmRfUHJvamVjdF9NZW50b3JzLCBidXQgZ2V0dGluZyBzb21lb25lIGVsc2UgdG8gcmV2aWV3IHlv
dXIgcHJvcG9zYWwgaXMgYSBnb29kIGlkZWEuIAoKVW5pa3JhZnQKLS0tLS0tLS0KSSBjcmVhdGVk
IGEgcGxhY2UtaG9sZGVyIGZvciBVbmlrcmFmdCBhdCBodHRwczovL3dpa2kueGVucHJvamVjdC5v
cmcvd2lraS9PdXRyZWFjaF9Qcm9ncmFtX1Byb2plY3RzI1VuaWtyYWZ0IGFzIFVuaWtyYWZ0IHBy
b2plY3QgbWVtYmVycyBpbmRpY2F0ZWQgdGhleSB3YW50IHRvIHBhcnRpY2lwYXRlLgpZb3UgcHJv
YmFibHkgZG8gd2FudCB0byBzZXQgZXhwZWN0YXRpb25zIHdpdGggcmVnYXJkcyB0byBzdGFydC11
cCB0YXNrcyBhbmQgY29tZSB1cCB3aXRoIGEgc2V0IG9mIHRhc2tzIHRvIGFjdCBhcyBhIGZpbHRl
ciBmb3IgYXBwbGljYW50cyAoZS5nLiBzaG93aW5nIHRoYXQgdGhleSBzZXQgdXAgdGhlIGVudmly
b25tZW50LCBldGMuKSAKCgpTcGVjaWZpYyBJbXByb3ZlbWVudHMgdG8gdGhlIHByb2plY3QgZG9j
dW1lbnRhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQoKSHlwZXJ2aXNvciBzdGFydC11cCB0YXNrcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Cmh0dHBzOi8vd2lraS54ZW5wcm9qZWN0Lm9yZy93aWtpL1hlbl9Qcm9qZWN0X0RldmVsb3BtZW50
X1Byb2plY3RzIGNvbnRhaW5zOiAiQW4gZWFzeSB3YXkgdG8gZ2V0IHN0YXJ0ZWQgKGFuZCBzaG93
IHRoYXQgeW91IGNhbiBzZXQgdXAgdGhlIFhlbiBEZXZlbG9wbWVudCBFbnZpcm9ubWVudCwgZml4
IGFuIGlzc3VlLCBidWlsZCBhbmQgdGVzdCBYZW4sIHN1Ym1pdCBhIHBhdGNoLCBldGMuKSBpcyB0
byBhZGRyZXNzIGEgc3VpdGFibGUgbnVtYmVyIG9mIENvdmVyaXR5IFNjYW4gaXNzdWVzLiBBc2sg
b24geGVuLWRldmVsQCBmb3IgYSBzZXQgb2Ygc3VpdGFibGUgQ292ZXJpdHkgaXNzdWVzLiBOb3Rl
IHRoYXQgdGhpcyBkb2VzIG5vdCByZXF1aXJlIGFueSBhY2Nlc3MgdG8gdGhlIENvdmVyaXR5IHNj
YW4gcmVzdWx0cy4gT3BlbiBidWdzIHRvIGZpeCB1bmRlciB0aGUgU21hbGwgQ29kZSBDb250cmli
dXRpb24gUmVxdWlyZW1lbnQgY2FuIGFsc28gYmUgZm91bmQgb24gYnVncy54ZW5wcm9qZWN0Lm9y
ZyIKCkRvIHdlIHdhbnQgdG8gY2hhbmdlIHRoaXM/IEZpbmRpbmcgc21hbGwgZ2V0IHN0YXJ0ZWQg
cHJvamVjdHMgaXMgYWx3YXlzIGEgbGl0dGxlIGJpdCBvZiBhIHByb2JsZW0uIE1heWJlIHdlIGNh
biBwcmVwYXJlIGEgYmV0dGVyIGxpc3Qgc29tZXdoZXJlLgoKSW4tdHJlZSB2cy4gV2lraSBiYXNl
ZCBwcm9qZWN0cwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCldlIGNvdWxkIGFsc28g
ZGVjaWRlIHRvIG1vdmUgSHlwZXJ2aXNvciByZWxhdGVkIGlkZWFzIGluLXRyZWUgc29tZXdoZXJl
IGFuZCBnZW5lcmF0ZSBhIGxpc3QgaWYgdGhhdCBtYWtlcyB0aGluZ3MgZWFzaWVyLiBCdXQgdGhp
cyBpcyBub3QgbmVjZXNzYXJ5LCBpbiBwYXJ0aWN1bGFyIGdpdmVuIHdpdGggZXZlcnl0aGluZyB0
aGF0IGlzIGdvaW5nIG9uLiBJIGp1c3Qgd2FudGVkIHRvIHJhaXNlIHRoaXMgYXMgYW4gb3B0aW9u
OiBJIGFtIG5vdCBwYXJ0aWN1bGFybHkgd2VkZGVkIHRvIHVzaW5nIHRoZSB3aWtpLgoKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBt
YWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz
dHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Mon Jan 08 17:30:03 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 08 Jan 2018 17:30:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eYbFI-0007ae-K6; Mon, 08 Jan 2018 17:30:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <srs0=lfa5=ed=c-home.cz=martin@srs-us1.protection.inumbo.net>)
 id 1eYbFH-0007aW-Lx
 for win-pv-devel@lists.xenproject.org; Mon, 08 Jan 2018 17:29:59 +0000
X-Inumbo-ID: d0a7c470-f499-11e7-b0d7-9f685aff125f
Received: from dmz.c-home.cz (unknown [89.24.150.100])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id d0a7c470-f499-11e7-b0d7-9f685aff125f;
 Mon, 08 Jan 2018 17:31:53 +0000 (UTC)
Received: from dmz.c-home.cz (localhost [127.0.0.1])
 by dmz.c-home.cz (8.14.4+Sun/8.14.4) with ESMTP id w08HTYuD000161;
 Mon, 8 Jan 2018 18:29:40 +0100 (CET)
Received: from localhost (martin@localhost)
 by dmz.c-home.cz (8.14.4+Sun/8.14.4/Submit) with ESMTP id w08HTXcT000158;
 Mon, 8 Jan 2018 18:29:34 +0100 (CET)
X-Authentication-Warning: dmz.c-home.cz: martin owned process doing -bs
Date: Mon, 8 Jan 2018 18:29:33 +0100 (CET)
From: Martin Cerveny <martin@c-home.cz>
To: Paul Durrant <Paul.Durrant@citrix.com>
In-Reply-To: <d3e0f50fcf674a568dcd82056184371c@AMSPEX02CL03.citrite.net>
Message-ID: <alpine.GSO.2.00.1801081804190.20626@dmz.c-home.cz>
References: <alpine.GSO.2.00.1801051820140.10534@dmz.c-home.cz>
 <d3e0f50fcf674a568dcd82056184371c@AMSPEX02CL03.citrite.net>
User-Agent: Alpine 2.00 (GSO 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="-559023410-52182039-1515432574=:20626"
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Subject: Re: [win-pv-devel] xen net/vif (signed 8.2.0.6) "code 10" / win7
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Reply-To: Martin Cerveny <M.Cerveny@computer.org>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---559023410-52182039-1515432574=:20626
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

Hello.

Captured/attached "boot" debugview:
- when OK
- when "xen-network dialog popup say restart needed"
- when failed

On Mon, 8 Jan 2018, Paul Durrant wrote:
>> -----Original Message-----
>> Any more log to check ?
>> Is it known bug ?
>> Is there any workaround (besides uninstalling pv-net drivers) ?
>> Is it related to pv-bus driver discussion ?
>
>  There's no apparent failure in any of the logs that I can see. Does the debugview.log cover the failed driver install? I only see one successful start in there so, if it does cover the failure, then it suggest that Windows actually made no attempt to start XENNET. Is there anything interesting in setupapi.dev.log?

I think that it is not install related (I tried 2x uninstall/install pv 
drives) and tied +-3 different VMs.
Found many logs in setupapi.dev.log but does not seems to be failed (or 
timestamped with correlation to boot with failed drivers (unchanged from 
last install)).

>> When will new/next/repaired signed drivers be released ?
>
>  I'm chasing a weird issue with timer in Windows at the moment (which may be a Xen bug) and I'd like to understand that before signing 8.2.1. We also do not yet have a fully clean WHQL run on 8.2.1 XENNET.
>  Another thing to try, if you can, would be an older dom0 kernel (or at least an older netback). It sounds like a bug has crept in so you may be falling victim to that.

Hmm, it may be possible. I am not sure but the problem could be appearing 
after upgrade from Xen4.8.0 + 4.7.9-200.fc24 to Xen4.10.0 + 4.13.9-300.fc27.
But unable to rollback now.

Thanks, Martin
---559023410-52182039-1515432574=:20626
Content-Type: APPLICATION/ZIP; name=boot_debugview.zip
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.GSO.2.00.1801081829330.20626@dmz.c-home.cz>
Content-Description: 
Content-Disposition: attachment; filename=boot_debugview.zip

UEsDBBQAAAAIAAyPKEwbfRtxHQ0AALVFAAAUABwAZGVidWd2aWV3X2ZhaWxl
ZC5MT0dVVAkAA7iiU1qWo1NadXgLAAEEZQAAAAQKAAAAzVtrb9s4Fv3cBfY/
ECjQpjPjRCT1NLZd2JacCk0c14+k3fHAkC061caWM7Kcpuj0vy9pW6EUUrbC
BosR2sSxeQ8vr865vKRoTdtc8AW06tiq6+aLT16n7Z8N/mqHy1ZCgpTUQZtd
DVvTTLftWC0NHHVbvu96I/q/9SWIYzIfaW9e/PMfWzANVUZzS9BgDg2LaF0Z
mgdtjCkag2qFveXio3c+HG9+uJdurXdxPpZf6Nj4lf0eacfwOD8OPevZYj1f
Nt2/3CS6I4kXp8m3un2MjrVjBxwh+wSdIA1aOVOjYOr6/Q8F2917YIMBjpw3
DOVYQ8ePYEwRhkcyP3SETY2bWQWz5rDPIvZxTZJvfpySZBZMaeToeOqAfjb2
OwOv1260PHB06fX6/kUH5ONvPyeYI4C5i+CUpI0wuKVgdRAvQcRgp+Q2jZbx
gyXUKrvRH1z0vAOOQFgZzrsctN53ZHh6Dg9VxjvtDAaN5iH/cPXhDvtdyo1D
gHplQNdrDk8PwRmV4Yad7tlhPLP6/TgfnjUG3sEBF0WQ5Y3HkDT3jC69ztiw
DfzK9S7HzPRVf9jsf+5vXm8+6LEP4Ahq1bsXZTOMb+fr6x75c01WKQ0zVXMf
HJ03Png5s6JAdjZ+PE3IgsTpZTBfk8wUPlghTchU4zFNFH2SuuQumpLu8itJ
+inLGt2LK68HXAzSJXB5zkBQgKAALh4sXa3u4tq7fFsk785f0QBvPb4mYX0Q
JNck/V37A9TB0d0kPLFM+w3wFus59SMEnYvBuNvz+l5nwJGxgMxzfR5v81YU
X3NLMVl35QHIw5QFw5CB7YKRt38cGFMWmGRJ6RaH1BfRAb/jD/zGmf8fzwU1
er0DXqfRPPNcjmk9FTOKwYq9CVpnF/08ki3e4h3OVRKlZLgKrotI7Ba5w/Pu
5sV7v0ljtblrjVOPozqyWPVIEPrxn+so+eYGaVBAbQfRnN5/GnL6FujSTm0N
hLTVAyYW+fx0TPwIUyQ4Y+stbUTKUC9dvzYc+i54C77vJjCtJvmRXT94b6JE
slh3E3IbJMVAN4PpDf3IDwGtBk7my2kwPwmXiyCKT7STyfbDEyYhYyMi3o2o
l6wbFq02Fck6IatiqLI3Kflcv+e1BoDjiSo6iPeAAjWuBCwqqCpraU7oNno5
3mJxbugF8TWhMN3lbR3M6L2H4Gi6aewEueiIddBpnKbBxLu/DeKwDoIwpKRJ
yIwkJJ6SFfg9y6egBrb5eDb7g+OJAhqPWVzcaHXjx7NlYUAGNm1LcyACKzJN
l8kKLGfAoH9OvqW0qyMbOijnqyijPdjIMMFpExxlxHvDb6Euaid/C6VwnBLN
Rq/nU5m3z4b992yeaTV6bg5cMkscAs9ANFoj5xiilyukAnW7bMbtD+jcIWGx
rqAKKYt1UQ6Vc+9Fp0PhcjTW1SXxeE7QxXlmzzRJKX706TZccrLpsjnlPZXE
nGxT56PQfBz6vc9guKITLs20NyRLsG4+weoydeRAtUqg2iPQoiw2K6CubAWE
dGjxG2dIJ5CHauBi8l8qyYI/9DNWT4B8A5r2tftCH0Yr14d0QuEVR3wrqTc6
XUDz/4qWcmyuog0Sens4pLiKqJbpDHG5UCnTUUVmmQ7nM53xQHy7YqlwqEww
jAIi87C9q8ZppLYh28YLfOqyxAu2rdiKMAVhtAomc8L+c0Tz2RGtZ0fMNGFs
4+i3C9sAYPtetg1glmwDGE4BpWxx5LerLMFNrTJYlYWgCSvDVVuomqgyYPnK
3Mjh4eoOlm0c5OZpU68M12t0Tr1x3xscGrFRGbLVaL0/tLVhmpXhKm1FmFZl
vEpLfVPUhGx30EKe5epUFVxqtGkOpigKn/VXFNd2g06XbtBZmsR68IU6EWae
bH+DdPPm1i/bZonMhths5RxtNz0H8XnBgj8BrWlN7RE0zkFX0samx6pysyrJ
I4N8zwpziti+OCATq5JMMtgKurMqiWQHWCkxWJV0skMsV0reR0ty59m+SByl
UTCPVuRTv0euoxWlJ+NoxCrZeAlW6+kXcE/iFV0lEHBDvnFEWwGRr4Wjh2Z0
6t+2yqoHlPdbJqXKjG05epGxrVyRZMt0JpU7NdzIfdOE+2aL80u1ksgWtVKp
JNJ5SWTkSyJbFEpFR0QpVHLE5I5YBUdEJVR0RCR8JUds7ohTcEScGCo6Yqs5
EnBHJgVHxPqomiOOWAtVNBRZWWkEUz6CMD8CR5GshOPNCniqZHXUyEoXzZkj
sLBl4qiS1VEjK+QrGlhY0TiqZHXUyAp5HoGFPOIokpXtSyg5wvMIzOcRqClm
VqipkRXyPAKdgiOKZIWaIll5HoGTgiOKZIWaIll5OoBhwRFFskJNkaw8j8BZ
wRFVskI1siKeR1A+j0CoSlaoRlbE8wjCBUdUyQrVyIp4HkFGwRFVskI1siKe
R1Ahj0BVskI1siKeR1Ahj0BVsiJFsvI8ggp5BKmSFSmSlecRVMgjSJWsSJGs
PI+gQh5BqmRFamTFPI/gQh5BqmRFamTFPI/gQh5BqmTFamTFPI/gQh7BqmTF
amTFPI/gQh7BqmTFamTFPI/gQh7BqmTFimTleQQX8ghWJStWJCvPI7iQR7Aq
WXVFsvI8ggt5RFclq36IrOWWIi13lmyXsZUuk33GIjVbwfQL2W5/7B5DbcwR
txHpV2Ij77KMhF2SLKK0vUxIdB03pjTYq30wOe59GJzXARgsesv5nB1G8OJ5
tErZeSQwWyYgvQc20kOLn0CEuv1T1s7PWBtaufUgCeJVMGUnC0vNoaL5v1Zx
dPtuC4MM9LQIwGAyCTMnqPXTIvDIGj8xAo/NnxiBx+YPUnNexHdnrnt+s6iD
7c48yDYrQTdIv4C34PWo5536/UHv8+i80Xrvd7xR/3N/4J2PWkuqr+WcKpve
lNGKJOzp22oU383DcHGzeA14h5h3+Cu73l2tbj7ECdskPeatdN5q99hhPN4+
sGXKCGIa0EYYJhtZaPQfqmtaXYPZT5MjGaVIzOkgikniuxQBfDdt27QCR6/Z
tHivGaFp1OxJMKuhcDqzDOiEzsT4wYFNATh3PuA8uP+4Jmu2wxtuHkWe3EWz
E+qpzQGsfQC7R5dF47f0egdeDzsfOhdXndegRv/Ynht7zWHtJ8Lykwuvs9M8
OTRHHe2xZ3x+qTzgf7ERv+UIUECQnS63oesgVwNHD+fDqSmSmbrrxW2P9rii
EmFMsjdpBbHAbp7egTvIHpaBO7R97gHutOxRDX3JwXF1cCyC4/3gohZKwfU9
4IiDQw4uyqMU3NgTFigFFyVSCm6K4Pp+z0X5lIJbe8Ii91wUUSm4vcdzObio
qVJwRwQ39obFEEVWCt7YAy713JDqTw7eFMHN/Z4/QaEtEdzaD/4EhboiuL0f
vKjQjjcQDo7Q9/YfHKEoRSlun75dLaLtLMy+buH2LikYiX32tBNcnfvg4dFi
kPv+BYWSCo8m2XYS0Ww7/9YJFmQzcVI00L0EHZJ+XSY3uwNV4CXPPobyLLVL
/9tJKjtgx2cD41nnKUPU1Hh8HkylBUOQpknmbHnlYIpKyiBb6yRRABTVkxtx
Z704VDGYokLyIbudR+lj40Fv6HH7ogiqLsiooS4YVlqQUUujzPLggowam4Lx
gQUZtbGq2si7tEv8fcqCjMLI6NgjU8KyQi+Kr2ntGT94oj/YWTLOldphbidS
a48dj5YlMmqPnXSolphZM4CCscEtxIJGapELi1ilSC1yAREzoNQiFwox0Ukt
5EEoT2ZlQyovrEuGZJeXzyVDsssTzuEh2fuTzZMqf1vkyBMrf7tkQbj7mk9x
GBrMDUNe4ObMcvGS16sHu5BWopvjwtv5dGfLJ1VbWl4KFnzqsKUlo2DANeZI
y0DBgPPRkZZ2ggGnoyMt1wQDHl1HWoKJYZKF2CmrsIbxfBmEVUus3QEHm87N
Gxee40tVFNXkqPHdw5djd7WU6ibK7q9R66zR74++6y42Pce0ax5GRg3Clldr
tluwxmpW1PSghqH9Y0T9wbnNlt05ip8bb3GsdgHxp09dU0TnmRHN3dmL50SE
T43jnhiauyMZz+kffnZEXcppwBsY8gbi9Qu7QKtzd7Zr9QuYsStgOzW0JtXY
44N3uz3H82VI5iBaAe0eQvrBL1tr3q1ca7kGGeWhxldRVY9H4raXO9Bruy2b
pl4ObUug++wY6FWQTr/UwXQr2ZPVl3UaLr/G3NKRWPrLaTo/W17XwbDv9Wip
Hi0I6Cy/0hxBs5Z9Ak9skFkd0zkmA4NaBbAO+boFlIGZhsbRYAW0/m5AR6PR
v0f3JJ6sVy/vSDy+v2VkekVn7nHE1qSvEvpqt4qevBy//D5B09mE3uVaEBik
plsE1uzJzKo5loNnGBo6XSD8eEOd5P5sxeEwf/wYUD6s52SzWPhtdyyWJOyr
P97g6rdNubFeUblpfwvXNyrUtb9NKPXMH73KowEH6iREOWYYP2e+UaoO/zbR
sDJ/4IvfkWnqf/x/ev8fUEsDBBQAAAAIAGSPKEygn2JXFg4AAJNDAAAZABwA
ZGVidWd2aWV3X25lZWRyZXN0YXJ0LkxPR1VUCQADW6NTWpajU1p1eAsAAQRl
AAAABAoAAADNW1tv2zgafe4C+x8IFGjTaZ2I1N2YdGFLcio0cVxfknbrwpAt
OtHEljySnCbo9CfP+z4uKcmmFMqOogaLNXpxbH2HHz+dc3gRIwjJC76AalNC
TUl+8dnqduzT4V8dNzBC7MS4CTr01dIEQbGgZsgCOOgZtm1aY/LXuHZ8Hy/G
wpsX//xHCiagymjGDjSYQxN5tF4pGlJUg6BRKMPtB8tP1tlokvxjXpiN/vnZ
pPyFDuW39P+xcAgP8/2QNi0rtOWLtvmXGXq3OLT8OLxvaofoUDjUwQHSjtAR
EqCaC5ULoaY9+FiIzT4DCQY40N9QlEMBHT6AUXgYVknWdVVotXWBhamFsPZo
QCv2aY3De9uPcTh3ZqRypD9NQL6b2N2h1e+0DAscXFj9gX3eBfn6a88JpnNg
5tI5wXHLdVYErAn8AHgUdoZXsRf420goVE5jMDzvW48kAmFlOOtiaHzoluFJ
OTxUGe+kOxy22o/lJ1bv7mjQI9x4DFCqDGha7dHJY3ByZbhRt3f6OJ5S/X6c
jU5bQ+vRDhdFsPGNh5DEe8YXVncia7L4yrQuJjT01WDUHnwZJO+TL/r0CziG
QvXmedmM/NVifdXHf65xFJMyEzUPwMFZ66OVCysKJIux/VmIl9iPL5zFGm9C
4TYKCZxTTSbEKAY4NvGtN8O94DsOBzF1jd75pdUHpgjiAJjMMxDkIAiAKQ4D
U2iaYuN9/lpU3pwdkQKnGV9htzl0wiscfxW+gSY4uJ26R6qivQHWcr0gebig
ez6c9PrWwOoOGbLIITOvz+MlH3n+FYvkzbpXXoA8zK5iyGVgWTHy8Q8Lo5QV
JgwI3XyX5MInYHftod06tf9tmaBBXu+B1W21Ty2TYapPxfR8ENEPgXF6Psgj
afwtznAuQy/Go8i5KiLRW2SOznrJmw92m9QquWutE4uh6mW16mPHtf0/1154
bzqxU0DtON6C3H9ScvIR6JFGNQG45Kotpsjz+emY4gNMnuCUrStyEd6FemHa
jdHINsEx+JENYEKj5J/N6ydrjZfIpta9EK+csFjotjO7IV/ZLiCzgaNFMHMW
R26wdDz/SDiapl8eUQkpiYhYM7xeNs3QanWISNYhjoql2nxIyGfafcsYAobH
q+hRvC0KFJgSRF5BVVlLPKHX6ud4K/JjQ9/xrzCB6QWrJpiTew/BwSy5WHdy
1eHnQSd+HDtT627l+G4TOK5LSBPiOQ6xP8MR+LrxU9AAqR/P598YHi+gyYTW
xfSiG9ufB4UOyaKiqYIOEYjwLA7CCARzIJMfp/cxaepAgzrK5crLaA82khVw
0gYHG+K9YbdQ4rWTv4WlcIwS7Va/bxOZd05Hgw90nDFafTMHXjJKPAa+ARHI
HDnHEGm3QipQt0dH3MGQjB0lLJZqqKKUxRIvh8ree97tErgcjaX6kng4Jkj8
OLNnmCQUP/i8cgNGNqlsTPlAJLHAqXU+KM2nkd3/AkYRGXCJ097gjcGaeYOV
ytSRAxUqgQoPQIuySFZAvZIVkEXU1mY3Ti4dQLazgfPpH0SShXzId3Q+AfIX
ENsX7rZtqHJH141cG6UDCptx+KuS+Ua3B4j/R2QqR8cqckFIbg+D5FcR1ZxO
5pcLlZyOKHLjdGLe6eQt8dWKU4XHpgmyXECkGXay2TipVFqytF7gc48aL0iv
oivCGLhe5EwXmP5liMqzI6rPjrjRhJzW0e4UtgFA+tlmG0DZsQ0g6wWUXYsj
u1NlCa4IlcGqLAQVWBmu2kJVQZUBd6/M5RyeWD3BXRsHuXFakSrD9VvdE2sy
sIaP9ViuDGm0jA+PbW0oSmW4SlsRiloZr9JSX+E1UbY7qHbaOqL7eUxq5NIc
TFEUNm2vKK50g04q3aBThZLo4TVJwt1kkv4P4uTDNC9Nox7dIjNSo5Bo20Bs
XFBhfWi9I7SFB9BiDrqSNpIWq8pNrSSPDeQHOjEniJ3zR2SiVpLJBraC7tRK
IskAKxmDWkknGeJupeRzVEvuPN0X8b3YcxZehD8P+vjKiwg9KUc9OpP1AxCt
Z9fgDvsRWSVgcIPvGaJWA5Gthb3tZWToT6/azB5QPu8yKVVmrKFLRcZ2cpMk
rUxnO+SuIZFu39NLWG4aP75UmxJpvFYqTYkkNiWS81MijRdKxUR4KVRKRGGJ
qIVEeCVUTIQnfKVENJaIXkiEHxgqJqLVDeQnQpV64LAeTPM90Pm5UCW8GcNz
C3h1yarXJCtmicwLidQlq16PrGTRvEkEFrZM9Lpk1euRFbIVDSysaPS6ZNV5
slZKhPkILPiIznO4UiJ0X6JmIM/KSj1gBgTzBgSFemSFzEegXsCrSVYo1CQr
swM4LSRSk6xQqElW5iPQLSRSk6xQqElW5iNwXkikLllhPWdFzEdQ3kcgrOms
ENYjK2I+gsRCInXJCuuRFTEfQXIhkbpkhfXIipgdoIIdwLpkhfXIipiPoIKP
wLpkRTXJynwEFXwE1SUrqklW5iOo4COoLllRTbIyH0EFH0F1yYrqkVVkPiIW
fATVJSuqR1aR+YhY8BFUl6xiPbKKzEfEgo+Idckq1iOryHxELPiIWJesYj2y
isxHxIKPiHXJKtYkK/MRseAjYl2yijXJynxELPiIWJesUk2yMh8RCz4i1SWr
9BhZd0fytMwi6S6jEQfhvmCemoYzu8bp9kf2GCoJRyyGp9+OmPImd5Gwh8Ol
F3eCEHtXfmtGih3tg8lx7+PwrAnAcNkPFgt6GMHyF14U0/NIYB6EIL4DGtJn
yBVYtPZL0fqvRMvC7uhh6PiRM6MnC3eGw5rhv0e+t3qfoCA5b45P7QKJFn+h
CyRc+rXwHAH921PTPLtZNkG6tQ42u42g58TX4Bi8HvetE3sw7H8Zn7WMD3bX
Gg++DIbW2dgIiECCBZEmqeo4wiF9fBaN/duF6y5vlq8Ba3BLWe3FW/p6fxnd
fPRDust5yK5S2VXZc4PJJH3iSqnt+KSgLdcNE14L5A9qCkJTgJt/FYak7USi
STuej0PbJAjgh6JpiuroUkMjs++G7CpyQ5s68wZyZ3NVhrqrT+WfDFjngHMP
+M+cu09rvKZbtG7yLPHo1psfkUy1LQDzyzKA7NljMfiYvN6D16Pux+75Zfc1
aJAf0oNfrxksfCIsO3rwenMcJ4eG6qNxmYlP7vDvtMfHDEHiEMqOh6sdQxMU
ARxsD3iTULks1FwvV33SYkQkQpmkJb6AaGGTx2/gFtKnXeAWpQ8uwK2wedZC
3jJwpTq4yIOL+8F5LewEl/aAIwYOGTgvj53g8p6ywFJwXiI7wRUeXNqbuczL
Zye4uqcspZnLvIh2gmt7Mi8H5zW1E1znweX9ZeFFthO8tQe8PPNS/ZWDt3lw
ZX/mT1CowYOr+8GfoFCTB9f2gxcV2rWG3MkP8tn+kx8EpSjF9PHZ5dJLR2H6
+xJm/4KAYd+mjyvB5ZkNts8GndwvUBCoUuERk+2EHnHbxX3XWeJk4CRooHcB
ujj+HoQ32Yko8JK5j8LLLDs+FQ2cW+q6/fMz0PuPtwr+wP7f4AYs/45i8ib6
O/aAAg762FnE+Ab0h6caWVwYb0HHiWJgxdc49HEMurYBXkqsDAovvU2DRrC6
t1fZuE+H1gsc0lsnNUHLNPvWYGAN6Gkk0DkfdU2GWNRbyfF8ksOD0/kkqiik
Hafzk0jGBKVUIMnRr7S06SxcZwE86SeTlDxZdn08DYI4G/tZHM/nHXG/F0ZQ
pXQw4RJksxSldIDgAlQWUM69hwFshqaWGjkXILOAUnPmAiQWUGq4XIDIAkpN
lAtALKDafd+uvgTIiKbKO9xj5C8Cx61qH+oDRjzHiX+CuuWLTtYH29/cynyi
7gIh+2lsnLYGg/EPyRQVS1e0hiUiuQGhYTXaHQM2qB+jtgUFEWo/x3TulFtI
sOMSev3+FvuqFxB/+UggktmJiGdDhM+OiJ5ax301ZCcnni0/6dkR5VJOM2qx
wxPFC/jXb/QFjO7taXbVb2BOX45Gj0xo6aPy99l6+ixw8QJ4ERDuIPkmDf4t
12y51nIXpJQXm4L+9INsqGPlTptpotVCLWbz2WmLIvSAnlG6dOLZdRPMUske
Rdfr2A2+s7lGdq6iGGkHs3hxGlw1wWhg9Ztg6C0x6AbfiUcQ19KO4JEGNlGH
kPlodqhiP1gXf08By8CQxnw/O2mxH22QdehgPP7X+A7703X08hb7k7sVJdMr
sh6deHS+9Sok77IZ4vTl5OWPKZrNp4ImNxxHxg1JxbChTedqQ1d1cS5CsuJU
5J9vSJIsHzHLR0QvbB8QPqwXOJkjvsvObOGQnku3hpfvkkX0OiJyE75u75ou
SC1oEBFeRje9MLD7veTXad2Q/iIGZdbMWSywy/ZRsiMeSYtfp57vHrNFstBq
q5BgtcnHtNXtxiy512s/fvuW1hccZHkcpydPyOsd8JYrMvEK/GTSSS56k2tQ
zjWYY5vUUk3SVjY3KW1LzKEo+1F6Blji+DpwQXy/ojyATRCuZo3sw2g9m2Hs
Yvcd+JNuwtDjcfTrFU562qBbcrnG1DopNxq0PDkUbS9KusnVX82MYLlaYCpV
klFyvyJA9+qSDbpZ+iWpag5YrwC8Qe2lPWxukDDI+kzST7txQJo9huyOKYJQ
u/swhwJrowg5FPSEvm5n70kht5UjbcTr0Accb0nX8Wpxf7z5OV8D8bF2idpa
PTtTG1l9JIJLW8IufbJBhDsPmuArfZuKTGvR89mS2dGFb7mm6iuSq/l+re2o
1pYZXrgC3z0yb7PP+WLlWtlqUXmxo3esQJ0Q43yF5uRnVp4caKo56f/EmZXs
LE2Sz1ekyMq3/03r/wVQSwMEFAAAAAgAN48oTD4z4xPDEgAAJW8AABAAHABk
ZWJ1Z3ZpZXdfb2suTE9HVVQJAAMJo1NalqNTWnV4CwABBGUAAAAECgAAAK2d
/XPauNbHf+4zc/8HzezMNt1dEsvyK7PpHcAm9TQhlJeke5sdxgEn8Q0Y1jZp
O3v3f38kjJGNhC3UMN02AZ+PjsX3HEk+sldRNi/4BppNzWqq2pvPbq/rXY7+
150tO3Hgp0ETdMmrZSmK4Sqa2VHASb/jeY57h//rPPlRFMzvlHdv/vV/GUxR
hWnWARos0BBL63Np0EII0wiqMxssF5/cq/Fk85dz4zQG11cT/ks91X8l/94p
p/C0eB5a3rJOWr5pO/9z4vAliN0ojb83rVP1VDm1wYlqnalnqgLNgqleMnW8
4ceS7fY9sGGAE/sdoZwq6ukexmAxtCcLp64ajqtQM7Nk1h4PSY99Wgfxdy9K
g/jBn+Kew+fTBPizidcbuYNuq+OCkxt3MPSue6DY/9ZrwmwG5iz8iyBtzfwV
hjVBtAQhwU6DVRouo50lVITdGI6uB26NIxAK49ybUedDj8fTCjxVmHfRG41a
7Tr/kPjpjod9rI06oCYMdNz2+KIOpwvjxr3+ZT3PEP8+rsaXrZFbe8LlIMjz
xj4S5567G7c30S0d/ey4NxNi+vNw3B7+Mdz8vPlgQD6Ad1ARb54Nm3G0mq8f
B8Ff6yBJcTfjaB6Ck6vWR7dgVg6QrY0XTeNgEUTpjT9fB7kp3FmpCpOpJhOc
KIZB6gQv4TToL78G8TAlWaN/fesOgINAugQOzRkqZBAY4KDR0lGaDmq8Lx6r
8pvzEtzBmcePwaw58uPHIP2i/Ama4OTlfnZmGtY74C7Wc+zHDPSuR5P+wB26
vRElI4ZMc32Rt3krjB6pJZus+/wOKGIOdYbOg207o2i/3zEGr2PiJZZbNMO+
sA54PW/ktS69/7gOaODXe+D2Wu1L16FM81hmGIGEvAk6l9fDIsliv+It5zYO
02Cc+I9lEvmKnPFVf/PDB6+N+2rzrbUuXEq1eX01CPyZF/21DuPvjp/6JWrX
D+f4+8ddjt8CfdyopYAZPmrHRKyej2eiPSYrcKLWFT4oOES9cbzGeOw54Bz8
vR3AlAbnr/z1D22NDZG8r/txsPLjcke3/ekz/sibATwbOJsvp/78bLZc+GF0
ppzdZx+ekRCyNkFEm2HjJW+G9FYXB8k6DpJyV+VvYvE53sDtjADlsVFUy9tR
oEIjAbERJKpanBP6rUFBt4gdGwZ+9BhgTH+5aoIH/N1DcDLdHGz7hd5h50EX
UZr69+63lR/NmsCfzbBo4uAhiINoGiTgS55PQQNk+fjh4U/KYwNoMrn1Q87Z
KIC8j+EPyxhA3VAUsEgoiI2ZyYR0sBMmz170sCyxdGRYpmJDFSTBNF3GCVg+
AB3/ev89xT6fWNBW6UlrvLHgIFvVDXDRBie5gt9RLWicEaGgBS6OaqvdGgw8
nC+6l+PhBzJgdVoDpwA/HB8H4TlEwZPtgtS0H4qBPhm6hyM8CHHCQXutcNDk
w6Fz3ethXCEetKNHmR1sf3DR2MGlYrzFcj75vJotC2LjRcQHHFvzIMvBe13z
aewN/gDjBI/cOGU/B3mmdoqZWuNFRwGqCEGVMlTfhYWxW0r1uUspq7iU0mHJ
bH9acX3/XxySJX/wZ2RiAooH4PFD+VZso2V3Cm2olW30oxVn4tLrAzyQJHhO
SAY9fECMvx6KRCWkeMrUNcZQKGXiiMxTJiqmTF1nzq1mzlE339ANxsPudlqP
eyrrsqy/wOc+yeAgO4osLVMwCxP/fh6Q/yjRfHWi9erEPCZwxJJ+9Lql6wkg
ey+/nmAcuJ5gKCXKoVWW1xVZyxtQGCayojRUYZzYitdAwsDDS3y9wNPEHTx0
BaIwThu6MG7Q6l24k6E7qjtjQxjZaXU+1F0jMUxhnNA1DcMS5gldMzDYmOBd
ZjS7La3VxVFBQw0fSjFmOSg80l45uLIrfRr3Sp8JOdajJ+zELPck+xekmzcz
vyyLTIEUCxmdoqNtyyyMPab6A2hTaSt76G4BLRQbmxZFw80UCo8c+YHM8DGx
e10TJqZQmORYgbgzhYJkCxRKDKZQnGyJhyOl6KPF+ebJBZYoTEN/HibB5+Eg
eAwTLE+i0ZDMZKMlSNbTJ/AtiBK8SgjAc/CdEm0JIl1Uh7vD8NCfHZXPHtSC
3xYvlIQV27G1smLbFlWsxYszfri3zbZJ6gDkkIJvu2iyjpsSWYgxFJoSaXRK
pBenRJYm64gu54hBHTFLjhiyjphyjljUEbvkiCXriC3niE8duS86YiuSjthQ
zpEpdWRWckRWrLakWAPqyEPJEVmx2nJixYvm3BFYuvZiy4rVlhMrpCsaWFrR
2LJiteXECmkegcU8Qi4vSDkCFTmxQppHoFlyRFKsUJETK6R5BNolRyTFChVJ
sdI8Au9LjkiKFSqSYqV5BM5KjkiKFSqSYqV5BBbzCISyYoWsWAUNWVWKnIFK
E5AKS2cgJ1aV5hEVlXiyYoVyYlVpHlFLeQTKihXKiVWleUQt5REoK1YoJ1aV
5hG1lEdUWbGqcplVpXlELeURVTazqpJipXlELeURVVasqqRYaR5RS3lElRWr
KidWRNMBKqUDVVasqpxYEc0jqJRHkKxYkZxYEc0jqJRHkKxYkZxYEc0jqJRH
kKxYkZxYEc0jqJRHkKxYkaRYaR5BpTyCZMWKJMVK8wgq5RFNVqyapFhpHkGl
PKLJilWrE+thS1aWW0tylbGTLuMqY1aaHX/6FGSXP7ZlqI25Sm1Y+R2w4Td5
SIT9IF6EaXcZB+Fj1Jrizk6qMLLa0+q0d9BSZ1Um3tM6q7TantZZNR3T0/oh
TR3X03pBYB9HV00ARovBcj4n+0fcaB4mKdlCttmRkH4DFjQgicedtf5D1oac
9e9JFK7eZxRVL+apfcoo9qPEn5JNoTuMjtcVOyewuX2ME+bD1J7q1LqYmwQa
Z8zhj5kXJBS9XDrO1fOiCbIyBMivzIK+nz6Bc/D2buBeeMPR4I+7q1bng9dz
74Z/DEfu1V1niSW+nOPgwl/KXRLEpNSY3EUv89ls8bx4C2iDO9HZb34lr/e3
yfPHKCZXhE/pUbmmcFhsayyTSVadJuL0I9yhrdks3ihTwX/UpqI0FZj/bVCS
fpBEnPbDKIg9h+yc+duwLMP0ba1h4ZVKQ58ZesO69x8a6mz6YOrQntn3+j8U
bDDgwmaIK//bp3WwJpezZ5u669lL+HCGPbUowKwCbOu0ZeNz/HoP3o57H3vX
t723oIF/yXbbvaVY60gs3abxNt8DVaDZ8rR9z3b5UfyEfydnfE4JkCHw9uRb
sKs5mgJOdrvqsanKM3XWi9UAt5jgECFKsjZpRSUduylVghdIKoPgRc2KPOBF
yetS+EcKR+JwxMJRNZyNhYNwrQKuUjikcDY8DsL1im6BXDgbIgfhBgvXqj1n
w+cg3KzoFr7nbBAdhFsVnvPhbEwdhNssXK/sFoMNsoPwVgWc67nBjT8+vM3C
jWrPj4jQDgs3q+FHRKjDwq1qeDlCe+6I2SWD36veJYMp5VDMSo23izAbhclN
Ks7gBsOCyCOlXXB75YFdHdUv3LWCUdzAw0m2G4c4286/9/xFsBk4MQ30b0Av
SL8u4+ft7jHwE80+hvQotU3/2SCV7yako4HxquOUwcbUZHLlT7kTBj9N49zZ
wzMHk42kHNlZx7EEkI2ewhn31ou6GYPJRkixy1bzMN03Hg3GLrUvBwGZ8Lsv
6fQpaodkYfNF1f5sgk5/jIVBxW1qNUb6zkilRnqNkbEzQtTIqDEyd0YaNTJr
jKydkU6NrBoje2dU+PrsaiOk7IzMnZGl1BipnC63YI0R4nS5pdYYaZwut2oU
gXROl1s1ikAGp8utGkUgk9PlVo0ikMXr8mMzVnHKyuYp69g8xcxaLVY4e/dk
9bzO3i1Zqm6XlXPglqyNJVWOzR2g9/cEKZvtbrzNQFahfe5wzEHV737CMFZn
8psYMY47Jeb5JrCHDONYbf7IHlAMrFwbfvCTp9b8cRmH6dOCSdjXbv/SG/2H
sspyJpOL7V2rGHUR4OWrP2/h8Se8X6dBthoeDIf5lntwYoFPY3fsDgvecSe3
nN6r24yLUay0hW6sJcU46XnFLkY3U4vtib6lZDYGyJ0o04DMyAZh9OhGZI9z
mf6FJO9NA5TDBoAg5/di+BsKO/UU4EDWH941ESHOnj+8KyK1HJX1hxW5IGfP
HzZfC3AQ6w8ra0HOnj+8qWQtR2P8gbz5oxCn7A+U0rPO+iOlZ531R0rPBuuP
lJ4N1h8pPZusP1J6Nll/eHreXIpdhGl6VAqCPEmLova84qlaBMUmIpUnbFFU
2SuVp20RFJuOVJ68RVF7XvEULoJik5LKE7koas8rns5FUGxqUnlSF0XteSWr
djZBqbJqZ3OUKqt2Nk0hWbWzmQrJqp1NVkhW7Wy+QqzahddLzOQLsXo/brVk
oLLMyXw3T8L5CeVGhe4wGCMnTFZz//tlGD1vm8Vml17vYxOM+3gi33dd55zs
+81ewBn3L93P593x5SXFsnPvV8FaB0/RyW7CK5wjOPGiWTjd3AZ7DhQwCNJ1
HGW/vKPIY+s0u+l0/hUeuE5naAL633ldo1pNIAAOs8qy1QQigM9iY1wTSPiH
WXt+CWR8PovNiNzipTBrzy+BnM9nseMHp3R5BGvPL4Gsz2exoy2nWnkEq+wX
p1opyGLnJpy65RGsPb+kdc/O5Dh1yyNYe35J656d93Kqkkew9vyqm9aLJi9O
wVEUtOdR3UJVNG1xComioLJHnKKhCIhNWJwCoShoz6O6xapoquIU/kRBex7V
LVdFk5RRt14VzVCcKp8IiE1PnBqfKGjPIzlls4mJW84TA5U94hbx6kFsSuIU
70RBex5VF/GOLE8Y5rGzd2bCbbLCzs+LPEyou4z75ElQKVOYPLlc+lHlrNQU
yOOt+2WcclvYpE6ffByQB1StsmMoXGBCUwE3quECM5wKuF4NF5jyVMC1arjA
HKgCjirhlsCkqAKuVsMFZkkVcFgNF5g2VcCVavjxQbhdfdUVMyypi6Rs+rKk
LpKy2cuSukjKJnhOkVaqmMGpzkoVMyypi/7sCGhLXfRnJwmcQq5UMYNTxZUq
ZthSF/3ZWRSncitVzLCl9MzOMzmVWqlihi2lZ3YmzqnNShUzbCk9M2sVk1Om
lSxmmNy6rFQxw+SWZqWKGSa3OitVzDC5BVqpYobJrdFKFTNMbplWqphhciu1
UsUMk1uslSpmmNx6rVQxw+SWbKWKGSa3aitVzDC5hVupYobJrd1KFTNMbvlW
qphhciu4UsUMk1PElS5mmJxK7nFrKxMevtJ/sJhhckq1sruHTJFa7Wbb6dV6
noZTP0m3t/JwcnDLcUC2r1V3N7tbyQZX2lLl7tYjva5cIx/JEpD8MT2AUBP/
2Z5+uQcEIuL4lrrdZrvd7GhNVGhpL2Be45HamCowUkj53zWahtmEOm1pF1iq
vP9l360S8YcffYmJ9msTaSX51Yjw2H6s6kNaU341/9CrEzVKjF52uwwzlPQN
i9vf7jqXreHw7m/NQYZrG1bDRaregLDjNtrdDmyQ+0PUtgsVBK1/7rA/iN7Y
aNK6dcmzwgEG/wD29Qt5gU7v5XJ71C/ggbx8cm+bqWXPinm/vUvzajkL5iBM
gPINQvzBL5k1bdas8ysLHbupqK+cILN7IBBtyX7dlvYGo25n19K2aG2T1j8f
+0TAVtctPMPSchSzY1oUDTnoIXny4a2fTp+aYJr5fJY8rdPZ8mtELVWOpbec
pvPL5WMTjIfuAI9f4SIAveVXrF5VgdYZPLNAbnVqQ43SkACtF3zNiDyahWfO
O5omQBtuz+jk7u7fd9+C6H6d/PQSRJNvKxK7P+PvaBKSzcM/x/in7c1U9z9N
fvr7Xp0+3CuW3vB9PWhoZgAb1v2D2bBNGz0gqGu6of/zDjtJ/dFzf4w3XgSw
yNfzYHM71W/bR0EGMXnctTu6/W0zf1sn5PH3X3Zfm612NaOFc95t8tyPl96g
v9mVPIvJ891JuEz9+TyYndIWDdril/swmp3TZztq7Q5qYxa57YC0unveA/6y
11H666+kf8HJ1o/z7IF2+PUbCBerIE6W0eb+LHzQu0KDZqFBKjdktnXi9/bm
AG5bqECxqin9DlgE6dNyBtLvK6ID2ATxatrYvpmsp9MgmAWz38BfJPLIUzfJ
x6tgc6YNcvd6oTFbxuVGg3QPpehKJSW7H3ywmnaWi9U8ILGKPdp8Xwkgt7Vv
7mWfZh/iXi2AoQA4p/azM2zmpABszxm7n53GCW72HBa+MV2VPn1YoCBpilKg
aEec6+5Gk01H7noOt0GqNoDRLT71YDX/fp7/XuwDva5dHG2tvreNtiBJNgEX
5/UhH78Zkv/FAvhCfsyCzGqRxz7rLVVX/iw0JR+RTJ9Xx9qB3topI4xX4Cte
bQDvmu2sQiu7WLTfHDg72kHdOAiKPfSAf6fdQ6D/D1BLAQIeAxQAAAAIAAyP
KEwbfRtxHQ0AALVFAAAUABgAAAAAAAEAAADAgQAAAABkZWJ1Z3ZpZXdfZmFp
bGVkLkxPR1VUBQADuKJTWnV4CwABBGUAAAAECgAAAFBLAQIeAxQAAAAIAGSP
KEygn2JXFg4AAJNDAAAZABgAAAAAAAEAAADAgWsNAABkZWJ1Z3ZpZXdfbmVl
ZHJlc3RhcnQuTE9HVVQFAANbo1NadXgLAAEEZQAAAAQKAAAAUEsBAh4DFAAA
AAgAN48oTD4z4xPDEgAAJW8AABAAGAAAAAAAAQAAAMCB1BsAAGRlYnVndmll
d19vay5MT0dVVAUAAwmjU1p1eAsAAQRlAAAABAoAAABQSwUGAAAAAAMAAwAP
AQAA4S4AAAAA

---559023410-52182039-1515432574=:20626
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

---559023410-52182039-1515432574=:20626--


From win-pv-devel-bounces@lists.xenproject.org Tue Jan 09 09:32:49 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 09 Jan 2018 09:32:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eYqGz-0000dd-RE; Tue, 09 Jan 2018 09:32:45 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=c90r=ee=citrix.com=prvs=5402081f0=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eYqGy-0000dX-Cv
 for win-pv-devel@lists.xenproject.org; Tue, 09 Jan 2018 09:32:44 +0000
X-Inumbo-ID: 51e68c49-f520-11e7-b0d7-9f685aff125f
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 51e68c49-f520-11e7-b0d7-9f685aff125f;
 Tue, 09 Jan 2018 09:34:42 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,334,1511827200"; d="scan'208";a="65786942"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: 'Martin Cerveny' <M.Cerveny@computer.org>
Thread-Topic: [win-pv-devel] xen net/vif (signed 8.2.0.6) "code 10" / win7
Thread-Index: AQHThlFoPb39XPRtiUCCFsC23p97MqNpww6ggABsCoCAARvvgA==
Date: Tue, 9 Jan 2018 09:32:36 +0000
Message-ID: <7aca7600a52a44d3bf307bd667751515@AMSPEX02CL03.citrite.net>
References: <alpine.GSO.2.00.1801051820140.10534@dmz.c-home.cz>
 <d3e0f50fcf674a568dcd82056184371c@AMSPEX02CL03.citrite.net>
 <alpine.GSO.2.00.1801081804190.20626@dmz.c-home.cz>
In-Reply-To: <alpine.GSO.2.00.1801081804190.20626@dmz.c-home.cz>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Subject: Re: [win-pv-devel] xen net/vif (signed 8.2.0.6) "code 10" / win7
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IE1hcnRpbiBDZXJ2ZW55IFttYWls
dG86bWFydGluQGMtaG9tZS5jel0KPiBTZW50OiAwOCBKYW51YXJ5IDIwMTggMTc6MzAKPiBUbzog
UGF1bCBEdXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT4KPiBDYzogd2luLXB2LWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnCj4gU3ViamVjdDogUmU6IFt3aW4tcHYtZGV2ZWxdIHhlbiBu
ZXQvdmlmIChzaWduZWQgOC4yLjAuNikgImNvZGUgMTAiIC8gd2luNwo+IAo+IEhlbGxvLgo+IAo+
IENhcHR1cmVkL2F0dGFjaGVkICJib290IiBkZWJ1Z3ZpZXc6Cj4gLSB3aGVuIE9LCj4gLSB3aGVu
ICJ4ZW4tbmV0d29yayBkaWFsb2cgcG9wdXAgc2F5IHJlc3RhcnQgbmVlZGVkIgo+IC0gd2hlbiBm
YWlsZWQKPiAKClRoYW5rcyBNYXJ0aW4uIE11Y2ggbW9yZSB1c2VmdWwuLi4KCkZyb20gdGhlIGZh
aWx1cmUgY2FzZSBJIGNhbiBzZWUgdGhhdCB5b3VyIGd1ZXN0IGlzIHJ1bm5pbmcgb3V0IG9mIGdy
YW50IHJlZmVyZW5jZXMuIEkgc3VzcGVjdCB0aGF0LCB3aGF0IGhhcyBoYXBwZW5lZCBpcyB5b3Un
dmUgdXBncmFkZWQgeW91ciBiYWNrZW5kIE9TIGFuZCBzdWRkZW5seSBtdWx0aS1wYWdlIHN0b3Jh
Z2UgcmluZ3MgaGF2ZSBiZWNvbWUgYXZhaWxhYmxlIGluIGJsa2JhY2suIFlvdXIgWEVOVkJEIGRy
aXZlciBpcyB0aGVuIG1ha2luZyB1c2Ugb2YgdGhvc2UgYW5kIHN0ZWFsaW5nIG1vc3Qgb2YgeW91
ciBWTSdzIGdyYW50IHJlZmVyZW5jZXMuIFhFTlZJRiBpcyB0aGVuIHN0YXJ0aW5nIHVwIGFuZCBm
aW5kaW5nIGl0IGRvZXNuJ3QgaGF2ZSBzdWZmaWNpZW50IGdyYW50IHJlZmVyZW5jZXMgdG8gb3Bl
cmF0ZSBjb3JyZWN0bHkgYW5kIGlzIHRoZXJlZm9yZSBmYWlsaW5nIHRvIHN0YXJ0LgoKWW91IGhh
dmUgYSBjb3VwbGUgb2YgY2hvaWNlcy4uLiBFaXRoZXIgaW5jcmVhc2UgeW91ciBWTSdzIGdyYW50
IGZyYW1lIGxpbWl0IChzZWUgbWFuIHhsLmNmZyBmb3IgbmV3IHBlci12bSBwYXJhbWV0ZXJzIGlu
IFhlbiA0LjEwKSBvciBsaW1pdCB5b3VyIHN0b3JhZ2UgYmFja2VuZCdzIHJpbmdzIHRvIGEgbG93
ZXIgbnVtYmVyIG9mIHBhZ2VzIChzZWUgbW9kaW5mbyB4ZW4tYmxrYmFjayBhbmQgbG9vayBmb3Ig
bWF4X3JpbmdfcGFnZV9vcmRlci4uLiBJIHN1Z2dlc3Qgc2V0dGluZyB0byAwKS4KCiAgQ2hlZXJz
LAoKICAgIFBhdWwKCj4gT24gTW9uLCA4IEphbiAyMDE4LCBQYXVsIER1cnJhbnQgd3JvdGU6Cj4g
Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+PiBBbnkgbW9yZSBsb2cgdG8gY2hlY2sg
Pwo+ID4+IElzIGl0IGtub3duIGJ1ZyA/Cj4gPj4gSXMgdGhlcmUgYW55IHdvcmthcm91bmQgKGJl
c2lkZXMgdW5pbnN0YWxsaW5nIHB2LW5ldCBkcml2ZXJzKSA/Cj4gPj4gSXMgaXQgcmVsYXRlZCB0
byBwdi1idXMgZHJpdmVyIGRpc2N1c3Npb24gPwo+ID4KPiA+ICBUaGVyZSdzIG5vIGFwcGFyZW50
IGZhaWx1cmUgaW4gYW55IG9mIHRoZSBsb2dzIHRoYXQgSSBjYW4gc2VlLiBEb2VzIHRoZQo+IGRl
YnVndmlldy5sb2cgY292ZXIgdGhlIGZhaWxlZCBkcml2ZXIgaW5zdGFsbD8gSSBvbmx5IHNlZSBv
bmUgc3VjY2Vzc2Z1bCBzdGFydCBpbgo+IHRoZXJlIHNvLCBpZiBpdCBkb2VzIGNvdmVyIHRoZSBm
YWlsdXJlLCB0aGVuIGl0IHN1Z2dlc3QgdGhhdCBXaW5kb3dzIGFjdHVhbGx5Cj4gbWFkZSBubyBh
dHRlbXB0IHRvIHN0YXJ0IFhFTk5FVC4gSXMgdGhlcmUgYW55dGhpbmcgaW50ZXJlc3RpbmcgaW4K
PiBzZXR1cGFwaS5kZXYubG9nPwo+IAo+IEkgdGhpbmsgdGhhdCBpdCBpcyBub3QgaW5zdGFsbCBy
ZWxhdGVkIChJIHRyaWVkIDJ4IHVuaW5zdGFsbC9pbnN0YWxsIHB2Cj4gZHJpdmVzKSBhbmQgdGll
ZCArLTMgZGlmZmVyZW50IFZNcy4KPiBGb3VuZCBtYW55IGxvZ3MgaW4gc2V0dXBhcGkuZGV2Lmxv
ZyBidXQgZG9lcyBub3Qgc2VlbXMgdG8gYmUgZmFpbGVkIChvcgo+IHRpbWVzdGFtcGVkIHdpdGgg
Y29ycmVsYXRpb24gdG8gYm9vdCB3aXRoIGZhaWxlZCBkcml2ZXJzICh1bmNoYW5nZWQgZnJvbQo+
IGxhc3QgaW5zdGFsbCkpLgo+IAo+ID4+IFdoZW4gd2lsbCBuZXcvbmV4dC9yZXBhaXJlZCBzaWdu
ZWQgZHJpdmVycyBiZSByZWxlYXNlZCA/Cj4gPgo+ID4gIEknbSBjaGFzaW5nIGEgd2VpcmQgaXNz
dWUgd2l0aCB0aW1lciBpbiBXaW5kb3dzIGF0IHRoZSBtb21lbnQgKHdoaWNoCj4gbWF5IGJlIGEg
WGVuIGJ1ZykgYW5kIEknZCBsaWtlIHRvIHVuZGVyc3RhbmQgdGhhdCBiZWZvcmUgc2lnbmluZyA4
LjIuMS4gV2UKPiBhbHNvIGRvIG5vdCB5ZXQgaGF2ZSBhIGZ1bGx5IGNsZWFuIFdIUUwgcnVuIG9u
IDguMi4xIFhFTk5FVC4KPiA+ICBBbm90aGVyIHRoaW5nIHRvIHRyeSwgaWYgeW91IGNhbiwgd291
bGQgYmUgYW4gb2xkZXIgZG9tMCBrZXJuZWwgKG9yIGF0IGxlYXN0Cj4gYW4gb2xkZXIgbmV0YmFj
aykuIEl0IHNvdW5kcyBsaWtlIGEgYnVnIGhhcyBjcmVwdCBpbiBzbyB5b3UgbWF5IGJlIGZhbGxp
bmcKPiB2aWN0aW0gdG8gdGhhdC4KPiAKPiBIbW0sIGl0IG1heSBiZSBwb3NzaWJsZS4gSSBhbSBu
b3Qgc3VyZSBidXQgdGhlIHByb2JsZW0gY291bGQgYmUgYXBwZWFyaW5nCj4gYWZ0ZXIgdXBncmFk
ZSBmcm9tIFhlbjQuOC4wICsgNC43LjktMjAwLmZjMjQgdG8gWGVuNC4xMC4wICsgNC4xMy45LTMw
MC5mYzI3Lgo+IEJ1dCB1bmFibGUgdG8gcm9sbGJhY2sgbm93Lgo+IAo+IFRoYW5rcywgTWFydGlu
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYt
ZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw
czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Tue Jan 09 12:08:57 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 09 Jan 2018 12:08:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eYsi5-0005a8-Pz; Tue, 09 Jan 2018 12:08:53 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <srs0=uwuk=ee=c-home.cz=martin@srs-us1.protection.inumbo.net>)
 id 1eYsi4-0005Zw-Dk
 for win-pv-devel@lists.xenproject.org; Tue, 09 Jan 2018 12:08:52 +0000
X-Inumbo-ID: a9c9660f-f535-11e7-b4a6-bc764e045a96
Received: from dmz.c-home.cz (unknown [89.24.150.100])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id a9c9660f-f535-11e7-b4a6-bc764e045a96;
 Tue, 09 Jan 2018 13:07:30 +0100 (CET)
Received: from dmz.c-home.cz (localhost [127.0.0.1])
 by dmz.c-home.cz (8.14.4+Sun/8.14.4) with ESMTP id w09C8QAX029212;
 Tue, 9 Jan 2018 13:08:33 +0100 (CET)
Received: from localhost (martin@localhost)
 by dmz.c-home.cz (8.14.4+Sun/8.14.4/Submit) with ESMTP id w09C8QGd029209;
 Tue, 9 Jan 2018 13:08:26 +0100 (CET)
X-Authentication-Warning: dmz.c-home.cz: martin owned process doing -bs
Date: Tue, 9 Jan 2018 13:08:25 +0100 (CET)
From: Martin Cerveny <martin@c-home.cz>
To: Paul Durrant <Paul.Durrant@citrix.com>
In-Reply-To: <7aca7600a52a44d3bf307bd667751515@AMSPEX02CL03.citrite.net>
Message-ID: <alpine.GSO.2.00.1801091243370.26558@dmz.c-home.cz>
References: <alpine.GSO.2.00.1801051820140.10534@dmz.c-home.cz>
 <d3e0f50fcf674a568dcd82056184371c@AMSPEX02CL03.citrite.net>
 <alpine.GSO.2.00.1801081804190.20626@dmz.c-home.cz>
 <7aca7600a52a44d3bf307bd667751515@AMSPEX02CL03.citrite.net>
User-Agent: Alpine 2.00 (GSO 1167 2008-08-23)
MIME-Version: 1.0
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Subject: [win-pv-devel] [SOLVED] RE: xen net/vif (signed 8.2.0.6) "code 10"
 / win7
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Reply-To: Martin Cerveny <M.Cerveny@computer.org>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

SGVsbG8uCgpPbiBUdWUsIDkgSmFuIDIwMTgsIFBhdWwgRHVycmFudCB3cm90ZToKPj4gU2VudDog
MDggSmFudWFyeSAyMDE4IDE3OjMwCj4+IENhcHR1cmVkL2F0dGFjaGVkICJib290IiBkZWJ1Z3Zp
ZXc6Cj4+IC0gd2hlbiBPSwo+PiAtIHdoZW4gInhlbi1uZXR3b3JrIGRpYWxvZyBwb3B1cCBzYXkg
cmVzdGFydCBuZWVkZWQiCj4+IC0gd2hlbiBmYWlsZWQKPgo+IFRoYW5rcyBNYXJ0aW4uIE11Y2gg
bW9yZSB1c2VmdWwuLi4KPgo+IEZyb20gdGhlIGZhaWx1cmUgY2FzZSBJIGNhbiBzZWUgdGhhdCB5
b3VyIGd1ZXN0IGlzIHJ1bm5pbmcgb3V0IG9mIGdyYW50IAo+IHJlZmVyZW5jZXMuIEkgc3VzcGVj
dCB0aGF0LCB3aGF0IGhhcyBoYXBwZW5lZCBpcyB5b3UndmUgdXBncmFkZWQgeW91ciAKPiBiYWNr
ZW5kIE9TIGFuZCBzdWRkZW5seSBtdWx0aS1wYWdlIHN0b3JhZ2UgcmluZ3MgaGF2ZSBiZWNvbWUg
YXZhaWxhYmxlIAo+IGluIGJsa2JhY2suIFlvdXIgWEVOVkJEIGRyaXZlciBpcyB0aGVuIG1ha2lu
ZyB1c2Ugb2YgdGhvc2UgYW5kIHN0ZWFsaW5nIAo+IG1vc3Qgb2YgeW91ciBWTSdzIGdyYW50IHJl
ZmVyZW5jZXMuIFhFTlZJRiBpcyB0aGVuIHN0YXJ0aW5nIHVwIGFuZCAKPiBmaW5kaW5nIGl0IGRv
ZXNuJ3QgaGF2ZSBzdWZmaWNpZW50IGdyYW50IHJlZmVyZW5jZXMgdG8gb3BlcmF0ZSBjb3JyZWN0
bHkgCj4gYW5kIGlzIHRoZXJlZm9yZSBmYWlsaW5nIHRvIHN0YXJ0Lgo+Cj4gWW91IGhhdmUgYSBj
b3VwbGUgb2YgY2hvaWNlcy4uLiBFaXRoZXIgaW5jcmVhc2UgeW91ciBWTSdzIGdyYW50IGZyYW1l
IAo+IGxpbWl0IChzZWUgbWFuIHhsLmNmZyBmb3IgbmV3IHBlci12bSBwYXJhbWV0ZXJzIGluIFhl
biA0LjEwKSBvciBsaW1pdCAKPiB5b3VyIHN0b3JhZ2UgYmFja2VuZCdzIHJpbmdzIHRvIGEgbG93
ZXIgbnVtYmVyIG9mIHBhZ2VzIChzZWUgbW9kaW5mbyAKPiB4ZW4tYmxrYmFjayBhbmQgbG9vayBm
b3IgbWF4X3JpbmdfcGFnZV9vcmRlci4uLiBJIHN1Z2dlc3Qgc2V0dGluZyB0byAwKS4KClllcy4g
VGhpcyBzaG91bGQgYmUgdGhhdC4gSSBleHRlbmRlZCAibWF4X2dyYW50X2ZyYW1lcz0yNTYiIGlu
IFZNIGNvbmZpZyAKKGluIGpzb24gaW4gbXkgY2FzZSwgYnR3LiB0aGUgZ2xvYmFsIHNldHRpbmdz
IGluIC9ldGMveGVuL3hsLmNvbmYgZG9lcyBub3QgCndvcmsgaW4gbXkgY2FzZSkgYW5kIGl0IHNl
ZW1zIHRvIHdvcmsgbm93IChubyBtb3JlIGVycm9ycyAiWEVOQlVTfEdudHRhYkV4cGFuZDogZmFp
bDEgKGMwMDAwMDlhKSIpLgoKPiBIbW0sIGl0IG1heSBiZSBwb3NzaWJsZS4gSSBhbSBub3Qgc3Vy
ZSBidXQgdGhlIHByb2JsZW0gY291bGQgYmUgYXBwZWFyaW5nCj4gYWZ0ZXIgdXBncmFkZSBmcm9t
IFhlbjQuOC4wICsgNC43LjktMjAwLmZjMjQgdG8gWGVuNC4xMC4wICsgNC4xMy45LTMwMC5mYzI3
LgoKRG9lcyBhbnlvbmUgdGVzdHMgZGVmYXVsdHMgPwoKVGhhbmtzLCBNYXJ0aW4KCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWls
aW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMu
eGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Tue Jan 09 13:45:39 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 09 Jan 2018 13:45:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eYuDf-0005AX-LZ; Tue, 09 Jan 2018 13:45:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=c90r=ee=citrix.com=prvs=5402081f0=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eYuDe-0005AR-DT
 for win-pv-devel@lists.xenproject.org; Tue, 09 Jan 2018 13:45:34 +0000
X-Inumbo-ID: a4a232fd-f543-11e7-b0d7-9f685aff125f
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id a4a232fd-f543-11e7-b0d7-9f685aff125f;
 Tue, 09 Jan 2018 13:47:33 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,335,1511827200"; d="scan'208";a="65797566"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: 'Martin Cerveny' <M.Cerveny@computer.org>
Thread-Topic: [win-pv-devel] [SOLVED] RE: xen net/vif (signed 8.2.0.6) "code
 10" / win7
Thread-Index: AQHTiUKvNyMOIrYrg0CJF8/31H7i1KNrjGIA
Date: Tue, 9 Jan 2018 13:45:26 +0000
Message-ID: <23e837a95822408b9604f5c9dfde2550@AMSPEX02CL03.citrite.net>
References: <alpine.GSO.2.00.1801051820140.10534@dmz.c-home.cz>
 <d3e0f50fcf674a568dcd82056184371c@AMSPEX02CL03.citrite.net>
 <alpine.GSO.2.00.1801081804190.20626@dmz.c-home.cz>
 <7aca7600a52a44d3bf307bd667751515@AMSPEX02CL03.citrite.net>
 <alpine.GSO.2.00.1801091243370.26558@dmz.c-home.cz>
In-Reply-To: <alpine.GSO.2.00.1801091243370.26558@dmz.c-home.cz>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Subject: Re: [win-pv-devel] [SOLVED] RE: xen net/vif (signed 8.2.0.6) "code
 10" / win7
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiB3aW4tcHYtZGV2ZWwgW21haWx0
bzp3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gT24NCj4gQmVoYWxm
IE9mIE1hcnRpbiBDZXJ2ZW55DQo+IFNlbnQ6IDA5IEphbnVhcnkgMjAxOCAxMjowOA0KPiBUbzog
UGF1bCBEdXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT4NCj4gQ2M6IHdpbi1wdi1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBTdWJqZWN0OiBbd2luLXB2LWRldmVsXSBbU09MVkVE
XSBSRTogeGVuIG5ldC92aWYgKHNpZ25lZCA4LjIuMC42KSAiY29kZSAxMCIgLw0KPiB3aW43DQo+
IA0KPiBIZWxsby4NCj4gDQo+IE9uIFR1ZSwgOSBKYW4gMjAxOCwgUGF1bCBEdXJyYW50IHdyb3Rl
Og0KPiA+PiBTZW50OiAwOCBKYW51YXJ5IDIwMTggMTc6MzANCj4gPj4gQ2FwdHVyZWQvYXR0YWNo
ZWQgImJvb3QiIGRlYnVndmlldzoNCj4gPj4gLSB3aGVuIE9LDQo+ID4+IC0gd2hlbiAieGVuLW5l
dHdvcmsgZGlhbG9nIHBvcHVwIHNheSByZXN0YXJ0IG5lZWRlZCINCj4gPj4gLSB3aGVuIGZhaWxl
ZA0KPiA+DQo+ID4gVGhhbmtzIE1hcnRpbi4gTXVjaCBtb3JlIHVzZWZ1bC4uLg0KPiA+DQo+ID4g
RnJvbSB0aGUgZmFpbHVyZSBjYXNlIEkgY2FuIHNlZSB0aGF0IHlvdXIgZ3Vlc3QgaXMgcnVubmlu
ZyBvdXQgb2YgZ3JhbnQNCj4gPiByZWZlcmVuY2VzLiBJIHN1c3BlY3QgdGhhdCwgd2hhdCBoYXMg
aGFwcGVuZWQgaXMgeW91J3ZlIHVwZ3JhZGVkIHlvdXINCj4gPiBiYWNrZW5kIE9TIGFuZCBzdWRk
ZW5seSBtdWx0aS1wYWdlIHN0b3JhZ2UgcmluZ3MgaGF2ZSBiZWNvbWUgYXZhaWxhYmxlDQo+ID4g
aW4gYmxrYmFjay4gWW91ciBYRU5WQkQgZHJpdmVyIGlzIHRoZW4gbWFraW5nIHVzZSBvZiB0aG9z
ZSBhbmQgc3RlYWxpbmcNCj4gPiBtb3N0IG9mIHlvdXIgVk0ncyBncmFudCByZWZlcmVuY2VzLiBY
RU5WSUYgaXMgdGhlbiBzdGFydGluZyB1cCBhbmQNCj4gPiBmaW5kaW5nIGl0IGRvZXNuJ3QgaGF2
ZSBzdWZmaWNpZW50IGdyYW50IHJlZmVyZW5jZXMgdG8gb3BlcmF0ZSBjb3JyZWN0bHkNCj4gPiBh
bmQgaXMgdGhlcmVmb3JlIGZhaWxpbmcgdG8gc3RhcnQuDQo+ID4NCj4gPiBZb3UgaGF2ZSBhIGNv
dXBsZSBvZiBjaG9pY2VzLi4uIEVpdGhlciBpbmNyZWFzZSB5b3VyIFZNJ3MgZ3JhbnQgZnJhbWUN
Cj4gPiBsaW1pdCAoc2VlIG1hbiB4bC5jZmcgZm9yIG5ldyBwZXItdm0gcGFyYW1ldGVycyBpbiBY
ZW4gNC4xMCkgb3IgbGltaXQNCj4gPiB5b3VyIHN0b3JhZ2UgYmFja2VuZCdzIHJpbmdzIHRvIGEg
bG93ZXIgbnVtYmVyIG9mIHBhZ2VzIChzZWUgbW9kaW5mbw0KPiA+IHhlbi1ibGtiYWNrIGFuZCBs
b29rIGZvciBtYXhfcmluZ19wYWdlX29yZGVyLi4uIEkgc3VnZ2VzdCBzZXR0aW5nIHRvIDApLg0K
PiANCj4gWWVzLiBUaGlzIHNob3VsZCBiZSB0aGF0LiBJIGV4dGVuZGVkICJtYXhfZ3JhbnRfZnJh
bWVzPTI1NiIgaW4gVk0gY29uZmlnDQo+IChpbiBqc29uIGluIG15IGNhc2UsIGJ0dy4gdGhlIGds
b2JhbCBzZXR0aW5ncyBpbiAvZXRjL3hlbi94bC5jb25mIGRvZXMgbm90DQo+IHdvcmsgaW4gbXkg
Y2FzZSkgYW5kIGl0IHNlZW1zIHRvIHdvcmsgbm93IChubyBtb3JlIGVycm9ycw0KPiAiWEVOQlVT
fEdudHRhYkV4cGFuZDogZmFpbDEgKGMwMDAwMDlhKSIpLg0KPiANCj4gPiBIbW0sIGl0IG1heSBi
ZSBwb3NzaWJsZS4gSSBhbSBub3Qgc3VyZSBidXQgdGhlIHByb2JsZW0gY291bGQgYmUgYXBwZWFy
aW5nDQo+ID4gYWZ0ZXIgdXBncmFkZSBmcm9tIFhlbjQuOC4wICsgNC43LjktMjAwLmZjMjQgdG8g
WGVuNC4xMC4wICsgNC4xMy45LTMwMC5mYzI3Lg0KPiANCj4gRG9lcyBhbnlvbmUgdGVzdHMgZGVm
YXVsdHMgPw0KDQpEZWZhdWx0cyB0aGF0IHdlIHVzZSBpbiBYZW5TZXJ2ZXIgYXJlIGNlcnRhaW5s
eSB3ZWxsIHRlc3RlZC4gRm9yIGFyYml0cmFyeSB1cHN0cmVhbSBjb21iaW5hdGlvbnMsIG5vOyBp
dCdzIGp1c3QgdG9vIGJpZyBhIG1hdHJpeC4gSSB0ZW5kIHRvIHRyeSB0byBydW4gb24gdGhlIGxh
dGVzdCBYZW4gYW5kIGRvbTAgdG8gdHJ5IHRvIHNwb3QgaXNzdWVzLCBidXQgbXkgdGVzdGluZyBp
cyBjbGVhcmx5IGdvaW5nIHRvIGJlIHF1aXRlIGxpbWl0ZWQuDQoNCiAgQ2hlZXJzLA0KDQogICAg
UGF1bA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3
aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 10 13:59:46 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Jan 2018 13:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eZGut-0001MH-FX; Wed, 10 Jan 2018 13:59:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=mzcr=ef=citrix.com=prvs=5411c3939=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eZGus-0001Fo-B5
 for win-pv-devel@lists.xenproject.org; Wed, 10 Jan 2018 13:59:42 +0000
X-Inumbo-ID: ca4a79e7-f60e-11e7-b0d7-9f685aff125f
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id ca4a79e7-f60e-11e7-b0d7-9f685aff125f;
 Wed, 10 Jan 2018 14:01:45 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,340,1511827200"; d="scan'208";a="65858674"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: Paul Durrant <Paul.Durrant@citrix.com>, 'Michel D'HOOGE'
 <michel.dhooge@gmail.com>
Thread-Topic: [win-pv-devel] Windows 10 domU is unstable with PV Bus Driver
Thread-Index: AQHTV88fjGsGfRcY8kOosXFY0wri9KMI+CewgAALLoCAACGcYIArgvgAgAARl8CAD4y1gIAAKIjwgAAU5ACAAB83AIAEXKkAgAGs9UCABQVhgIAAAnIAgBKMRvCAAxNOAIAAcLMAgAARFDCAB7DSQA==
Date: Wed, 10 Jan 2018 13:59:34 +0000
Message-ID: <713f7838aa024e22b89e9c9161e0f0c9@AMSPEX02CL03.citrite.net>
References: <CABvfmH7s+YXhD1NSGw4ZGdMTS+Q6crKfvXMvx1E3ZisDTHY2cA@mail.gmail.com>
 <e698459050eb407ab97bb840274892c6@AMSPEX02CL03.citrite.net>
 <CABvfmH6i=y4DVAPicHe6Z_EY7f61UeVhjkqaLDjdhrq7Jh7evA@mail.gmail.com>
 <3e75f83982b7431ba2ec23fbd3cb0078@AMSPEX02CL03.citrite.net>
 <CABvfmH6VCokW5fF+Gqapj7pdWN8f+-4LXtk3jJz9bh2VgmS-5Q@mail.gmail.com>
 <4bf323ccfab74b7695495065caa08a41@AMSPEX02CL03.citrite.net>
 <CABvfmH6mvNGM1Qv+dDGgE7D1vrf=ZonnHaQwdoaNR0_VON7Xzg@mail.gmail.com>
 <48bdbe864f204a34b23d314206b1b662@AMSPEX02CL03.citrite.net>
 <CABvfmH5Z4KH3V_Ze0CVuXTW50voRYz83sxtV+Yr8SGUMxaetKQ@mail.gmail.com>
 <9ee6235082a44e7a8bf2cf5ab8f67662@AMSPEX02CL03.citrite.net>
 <CABvfmH7GTNpZ6hak5sjMW09a=q2LmmrPG4u2FZHX8PQNb0VTFA@mail.gmail.com>
 <b17d515248d44600b51c3fd4dbd8449c@AMSPEX02CL03.citrite.net>
 <CABvfmH41e7o1uwkJBFL47cLce=Vh++kEHqDx1YsGwGp+3UjLkA@mail.gmail.com>
 <CABvfmH6k1DNPfvbL9-UG9DRWZh6TruGLPrBOn7Z818CKUKqJAQ@mail.gmail.com>
 <fd0c0de1719646eea711a2ad3729772c@AMSPEX02CL03.citrite.net>
 <CABvfmH6k3P9CkgRf7JNU-QcdVUu-oWFCmaZr2GpB8nF7USAb8Q@mail.gmail.com>
 <CABvfmH5p4tuWLSZ7c2OTYAGRW1MG1po9gJzhTWVS3n__7KabEw@mail.gmail.com>
 <d6a0b294028d440088a2414cc675adbb@AMSPEX02CL03.citrite.net>
In-Reply-To: <d6a0b294028d440088a2414cc675adbb@AMSPEX02CL03.citrite.net>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Subject: Re: [win-pv-devel] Windows 10 domU is unstable with PV Bus Driver
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiB3aW4tcHYtZGV2ZWwgW21haWx0
bzp3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gT24NCj4gQmVoYWxm
IE9mIFBhdWwgRHVycmFudA0KPiBTZW50OiAwNSBKYW51YXJ5IDIwMTggMTY6MzMNCj4gVG86ICdN
aWNoZWwgRCdIT09HRScgPG1pY2hlbC5kaG9vZ2VAZ21haWwuY29tPg0KPiBDYzogd2luLXB2LWRl
dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6IFJlOiBbd2luLXB2LWRldmVsXSBX
aW5kb3dzIDEwIGRvbVUgaXMgdW5zdGFibGUgd2l0aCBQViBCdXMgRHJpdmVyDQo+IA0KPiA+IC0t
LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogTWljaGVsIEQnSE9PR0UgW21haWx0
bzptaWNoZWwuZGhvb2dlQGdtYWlsLmNvbV0NCj4gPiBTZW50OiAwNSBKYW51YXJ5IDIwMTggMTY6
MzANCj4gPiBUbzogUGF1bCBEdXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT4NCj4gPiBD
Yzogd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+ID4gU3ViamVjdDogUmU6IFt3
aW4tcHYtZGV2ZWxdIFdpbmRvd3MgMTAgZG9tVSBpcyB1bnN0YWJsZSB3aXRoIFBWIEJ1cw0KPiBE
cml2ZXINCj4gPg0KPiA+IE1lIGFnYWluIHdpdGggYSBxdWljayBmb2xsb3ctdXAuDQo+ID4NCj4g
Pg0KPiA+ID4gWWVzdGVyZGF5LCBJIHN0YXJ0ZWQgd2l0aCBhIDQuMTQuOCBrZXJuZWwNCj4gPg0K
PiA+IEkgd2FzIHF1aXRlIHN1cmUgSSBhc2tlZCBmb3IgdGhlIExUUyBrZXJuZWwuLi4gYW5kIGlu
ZGVlZCwgSQ0KPiA+IGRpc2NvdmVyZWQgdGhhdCBteSBzeXN0ZW1kIGVmaSBib290bG9hZGVyIGRv
ZXNuJ3QgcHJvdmlkZSB0byB4ZW4gdGhlDQo+ID4gb3B0aW9ucyBJIGRlZmluZWQgOi0oDQo+ID4N
Cj4gPiBTbyB0b2RheSwgSSBtYW51YWxseSBzdGFydGVkIFhFTiB3aXRoIGEgNC45Ljc0IGtlcm5l
bCBhbmQgSSBtYW5hZ2VkIHRvDQo+ID4gcmRlc2t0b3AtY29ubmVjdCB0byBteSBkb21VIGZvciBz
ZXZlcmFsIGhvdXJzIHdpdGggbm8gcHJvYmxlbXMuDQo+ID4NCj4gDQo+IFllcywgdGhlIGN1cnJl
bnQgaW1wbGljYXRpb24gaXMgdGhhdCBpc3N1ZSBzdGFydGVkIGFmdGVyIDQuMTMuNi4uLiBzdGls
bCBubyBjbHVlDQo+IHdoYXQgaXQgaXMgdGhvdWdoIDotKA0KDQpUaGUgcHJvYmxlbSB3YXMgbXVs
dGlwbGUgY2FsbHMgdG8gdGhlIHplcm9jb3B5IGNhbGxiYWNrIGluIG5ldGJhY2suIFRoZSBpc3N1
ZSBoYXMgYmVlbiBmaXhlZCBpbiA0LjE0LjExLiBTZWUgaHR0cHM6Ly9naXQua2VybmVsLm9yZy9w
dWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvc3RhYmxlL2xpbnV4LXN0YWJsZS5naXQvY29tbWl0Lz9o
PXY0LjE0LjEzJmlkPTE3MTU1ZWE4MjdiMmZkODEzMzBhNDQyZWQ1NmQwZWRhZmQ5OTY5ZTEuDQoN
CiAgUGF1bA0KDQo+IA0KPiAgIFBhdWwNCj4gDQo+ID4NCj4gPiBNaWNoZWwNCj4gX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gd2luLXB2LWRldmVsIG1h
aWxpbmcgbGlzdA0KPiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA0KX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVs
IG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9s
aXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Thu Jan 11 11:35:28 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Jan 2018 11:35:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eZb8n-0005Da-Bf; Thu, 11 Jan 2018 11:35:25 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=wyig=eg=gmail.com=michel.dhooge@srs-us1.protection.inumbo.net>)
 id 1eZb8l-0005DU-PT
 for win-pv-devel@lists.xenproject.org; Thu, 11 Jan 2018 11:35:23 +0000
X-Inumbo-ID: 51a83b96-f6c3-11e7-b4a6-bc764e045a96
Received: from mail-it0-x22f.google.com (unknown [2607:f8b0:4001:c0b::22f])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 51a83b96-f6c3-11e7-b4a6-bc764e045a96;
 Thu, 11 Jan 2018 12:34:01 +0100 (CET)
Received: by mail-it0-x22f.google.com with SMTP id c102so13673893itd.0
 for <win-pv-devel@lists.xenproject.org>; Thu, 11 Jan 2018 03:35:22 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:in-reply-to:references:from:date:message-id:subject:to
 :cc; bh=Hcuz0w/jX5efwyC/NEDgBgzBWFad+z0p22lmX6KOpGI=;
 b=GrxnnA5W++bshMFow9ueGgqxaplzo8UPCOFAdkgEVOZFL2hf4t9BbAwVu36pi2aaT5
 x05KXAHDQvgkfuB4BMQdIGdR/Ql9E0kfJPzrHaobqgMKQqH8DG0ewcO2HAML/U6gAW+K
 +Gf9eHpOC5J1C41ctjpieIqTk7vcxKn2Lqov+jxuVn1ZjFcs9IiSkxjRK/72832MPerD
 LzVcSP/Z1srTkdvQrFUP7Sy3KVLDKz6CQ9TWruIsvFo1LefAl4WqWqDaj0dXngMPt/Cd
 tMmuJjFIuHYsjut4GlyqLvLHRiqatggPSss2nt68TvbEoleRpcjBxgFW4WVN/ClyliXM
 jn4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:in-reply-to:references:from:date
 :message-id:subject:to:cc;
 bh=Hcuz0w/jX5efwyC/NEDgBgzBWFad+z0p22lmX6KOpGI=;
 b=aaTLYdvE0cX3YWszJQPPimnL4KVi9ss0vHlm6PCGhqDhBywaxr5CR0ENl9XaH/Ryqb
 jZmk+8b8YnFp0HDOGOm9uEpqP4LRtwGdGgyX4pzKesRTmU2Da4nwJcqk+8Bo/K6im32W
 D0I8rrjReMZizMHkRpPLLfMbEQOh37g5Iilb4Wx0s4l8cahaInYAqEN8stbeyPe9mYej
 FzAZPCwvqT/+7WRRzZTwM3diEpbgzHxlhumfvs9TMYUlVd9SoHb+9WPyPrj/0fWAiWKr
 8hMOm2gT/DMNESok6kRqYfW2MZFSrGVvat055bPPaCXYb+o7f9y1xtHkFq+iauLaprY9
 xsFQ==
X-Gm-Message-State: AKwxyteBMrUs67ZwEhlrQgLRCu0TjOwvuVox3RlWOZIgDqAHeHaSU4fB
 vYHK7/8ORAzkscWjLy7uZkYXC3yovcXEdQG4yOFbXlv/
X-Google-Smtp-Source: ACJfBovcnnPC5XLC0LoYUdxnRMnVW3u1JM0etHZCaIkoE/M1nvVPk1AYHZD1QYRIgHtUWZOX/BbjAxrygfQ48ZUUDnk=
X-Received: by 10.107.83.21 with SMTP id h21mr2838368iob.218.1515670521469;
 Thu, 11 Jan 2018 03:35:21 -0800 (PST)
MIME-Version: 1.0
Received: by 10.2.183.4 with HTTP; Thu, 11 Jan 2018 03:35:00 -0800 (PST)
In-Reply-To: <713f7838aa024e22b89e9c9161e0f0c9@AMSPEX02CL03.citrite.net>
References: <CABvfmH7s+YXhD1NSGw4ZGdMTS+Q6crKfvXMvx1E3ZisDTHY2cA@mail.gmail.com>
 <e698459050eb407ab97bb840274892c6@AMSPEX02CL03.citrite.net>
 <CABvfmH6i=y4DVAPicHe6Z_EY7f61UeVhjkqaLDjdhrq7Jh7evA@mail.gmail.com>
 <3e75f83982b7431ba2ec23fbd3cb0078@AMSPEX02CL03.citrite.net>
 <CABvfmH6VCokW5fF+Gqapj7pdWN8f+-4LXtk3jJz9bh2VgmS-5Q@mail.gmail.com>
 <4bf323ccfab74b7695495065caa08a41@AMSPEX02CL03.citrite.net>
 <CABvfmH6mvNGM1Qv+dDGgE7D1vrf=ZonnHaQwdoaNR0_VON7Xzg@mail.gmail.com>
 <48bdbe864f204a34b23d314206b1b662@AMSPEX02CL03.citrite.net>
 <CABvfmH5Z4KH3V_Ze0CVuXTW50voRYz83sxtV+Yr8SGUMxaetKQ@mail.gmail.com>
 <9ee6235082a44e7a8bf2cf5ab8f67662@AMSPEX02CL03.citrite.net>
 <CABvfmH7GTNpZ6hak5sjMW09a=q2LmmrPG4u2FZHX8PQNb0VTFA@mail.gmail.com>
 <b17d515248d44600b51c3fd4dbd8449c@AMSPEX02CL03.citrite.net>
 <CABvfmH41e7o1uwkJBFL47cLce=Vh++kEHqDx1YsGwGp+3UjLkA@mail.gmail.com>
 <CABvfmH6k1DNPfvbL9-UG9DRWZh6TruGLPrBOn7Z818CKUKqJAQ@mail.gmail.com>
 <fd0c0de1719646eea711a2ad3729772c@AMSPEX02CL03.citrite.net>
 <CABvfmH6k3P9CkgRf7JNU-QcdVUu-oWFCmaZr2GpB8nF7USAb8Q@mail.gmail.com>
 <CABvfmH5p4tuWLSZ7c2OTYAGRW1MG1po9gJzhTWVS3n__7KabEw@mail.gmail.com>
 <d6a0b294028d440088a2414cc675adbb@AMSPEX02CL03.citrite.net>
 <713f7838aa024e22b89e9c9161e0f0c9@AMSPEX02CL03.citrite.net>
From: "Michel D'HOOGE" <michel.dhooge@gmail.com>
Date: Thu, 11 Jan 2018 12:35:00 +0100
Message-ID: <CABvfmH4Sab6ew26xyud5=JhEPouoUVVjf19adgpknTW-GmquPg@mail.gmail.com>
To: Paul Durrant <Paul.Durrant@citrix.com>
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Subject: Re: [win-pv-devel] Windows 10 domU is unstable with PV Bus Driver
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiBUaGUgcHJvYmxlbSB3YXMgbXVsdGlwbGUgY2FsbHMgdG8gdGhlIHplcm9jb3B5IGNhbGxiYWNr
IGluIG5ldGJhY2suCj4gVGhlIGlzc3VlIGhhcyBiZWVuIGZpeGVkIGluIDQuMTQuMTEuCgpJIHRo
aW5rIHlvdSBkb24ndCBuZWVkIHRoaXMgbWFpbCB0byBrbm93IHRoaXMgaGFzIGJlZW4gc29sdmVk
IGJ1dApJIGNhbiBjb25maXJtIHRoYXQgd2l0aCBhIDQuMTQuMTIga2VybmVsIHRoZSBwcm9ibGVt
IGRpZCBub3QgcmUtYXBwZWFyLgo6LSkKClRoYW5rcwpNaWNoZWwKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QK
d2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj
dC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Thu Jan 11 11:40:29 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Jan 2018 11:40:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eZbDg-0005zB-Nw; Thu, 11 Jan 2018 11:40:28 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=7hna=eg=citrix.com=prvs=5423ddc9d=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eZbDg-0005z5-AI
 for win-pv-devel@lists.xenproject.org; Thu, 11 Jan 2018 11:40:28 +0000
X-Inumbo-ID: 069709d8-f6c4-11e7-b4a6-bc764e045a96
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 069709d8-f6c4-11e7-b4a6-bc764e045a96;
 Thu, 11 Jan 2018 12:39:05 +0100 (CET)
X-IronPort-AV: E=Sophos;i="5.46,344,1511827200"; d="scan'208";a="65911527"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: 'Michel D'HOOGE' <michel.dhooge@gmail.com>
Thread-Topic: [win-pv-devel] Windows 10 domU is unstable with PV Bus Driver
Thread-Index: AQHTV88fjGsGfRcY8kOosXFY0wri9KMI+CewgAALLoCAACGcYIArgvgAgAARl8CAD4y1gIAAKIjwgAAU5ACAAB83AIAEXKkAgAGs9UCABQVhgIAAAnIAgBKMRvCAAxNOAIAAcLMAgAARFDCAB7DSQIABWZUAgAASI4A=
Date: Thu, 11 Jan 2018 11:40:24 +0000
Message-ID: <4c64990d200749df99e5e9952d00bb14@AMSPEX02CL03.citrite.net>
References: <CABvfmH7s+YXhD1NSGw4ZGdMTS+Q6crKfvXMvx1E3ZisDTHY2cA@mail.gmail.com>
 <e698459050eb407ab97bb840274892c6@AMSPEX02CL03.citrite.net>
 <CABvfmH6i=y4DVAPicHe6Z_EY7f61UeVhjkqaLDjdhrq7Jh7evA@mail.gmail.com>
 <3e75f83982b7431ba2ec23fbd3cb0078@AMSPEX02CL03.citrite.net>
 <CABvfmH6VCokW5fF+Gqapj7pdWN8f+-4LXtk3jJz9bh2VgmS-5Q@mail.gmail.com>
 <4bf323ccfab74b7695495065caa08a41@AMSPEX02CL03.citrite.net>
 <CABvfmH6mvNGM1Qv+dDGgE7D1vrf=ZonnHaQwdoaNR0_VON7Xzg@mail.gmail.com>
 <48bdbe864f204a34b23d314206b1b662@AMSPEX02CL03.citrite.net>
 <CABvfmH5Z4KH3V_Ze0CVuXTW50voRYz83sxtV+Yr8SGUMxaetKQ@mail.gmail.com>
 <9ee6235082a44e7a8bf2cf5ab8f67662@AMSPEX02CL03.citrite.net>
 <CABvfmH7GTNpZ6hak5sjMW09a=q2LmmrPG4u2FZHX8PQNb0VTFA@mail.gmail.com>
 <b17d515248d44600b51c3fd4dbd8449c@AMSPEX02CL03.citrite.net>
 <CABvfmH41e7o1uwkJBFL47cLce=Vh++kEHqDx1YsGwGp+3UjLkA@mail.gmail.com>
 <CABvfmH6k1DNPfvbL9-UG9DRWZh6TruGLPrBOn7Z818CKUKqJAQ@mail.gmail.com>
 <fd0c0de1719646eea711a2ad3729772c@AMSPEX02CL03.citrite.net>
 <CABvfmH6k3P9CkgRf7JNU-QcdVUu-oWFCmaZr2GpB8nF7USAb8Q@mail.gmail.com>
 <CABvfmH5p4tuWLSZ7c2OTYAGRW1MG1po9gJzhTWVS3n__7KabEw@mail.gmail.com>
 <d6a0b294028d440088a2414cc675adbb@AMSPEX02CL03.citrite.net>
 <713f7838aa024e22b89e9c9161e0f0c9@AMSPEX02CL03.citrite.net>
 <CABvfmH4Sab6ew26xyud5=JhEPouoUVVjf19adgpknTW-GmquPg@mail.gmail.com>
In-Reply-To: <CABvfmH4Sab6ew26xyud5=JhEPouoUVVjf19adgpknTW-GmquPg@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Subject: Re: [win-pv-devel] Windows 10 domU is unstable with PV Bus Driver
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNaWNoZWwgRCdIT09HRSBbbWFp
bHRvOm1pY2hlbC5kaG9vZ2VAZ21haWwuY29tXQ0KPiBTZW50OiAxMSBKYW51YXJ5IDIwMTggMTE6
MzUNCj4gVG86IFBhdWwgRHVycmFudCA8UGF1bC5EdXJyYW50QGNpdHJpeC5jb20+DQo+IENjOiB3
aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gU3ViamVjdDogUmU6IFt3aW4tcHYt
ZGV2ZWxdIFdpbmRvd3MgMTAgZG9tVSBpcyB1bnN0YWJsZSB3aXRoIFBWIEJ1cyBEcml2ZXINCj4g
DQo+ID4gVGhlIHByb2JsZW0gd2FzIG11bHRpcGxlIGNhbGxzIHRvIHRoZSB6ZXJvY29weSBjYWxs
YmFjayBpbiBuZXRiYWNrLg0KPiA+IFRoZSBpc3N1ZSBoYXMgYmVlbiBmaXhlZCBpbiA0LjE0LjEx
Lg0KPiANCj4gSSB0aGluayB5b3UgZG9uJ3QgbmVlZCB0aGlzIG1haWwgdG8ga25vdyB0aGlzIGhh
cyBiZWVuIHNvbHZlZCBidXQNCj4gSSBjYW4gY29uZmlybSB0aGF0IHdpdGggYSA0LjE0LjEyIGtl
cm5lbCB0aGUgcHJvYmxlbSBkaWQgbm90IHJlLWFwcGVhci4NCj4gOi0pDQo+IA0KDQpBbHdheXMg
Z29vZCB0byBoYXZlIGFub3RoZXIgZGF0YS1wb2ludC4gVGhhbmtzIDotKQ0KDQogIFBhdWwNCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZl
bCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Tue Jan 23 09:20:55 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 23 Jan 2018 09:20:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1edulA-0007yF-0w; Tue, 23 Jan 2018 09:20:52 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=hlzz=es=gmail.com=lars.kurth.xen@srs-us1.protection.inumbo.net>)
 id 1edul8-0007y9-Si
 for win-pv-devel@lists.xenproject.org; Tue, 23 Jan 2018 09:20:50 +0000
X-Inumbo-ID: 092905bc-001e-11e8-ba59-bc764e045a96
Received: from mail-wr0-x242.google.com (unknown [2a00:1450:400c:c0c::242])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 092905bc-001e-11e8-ba59-bc764e045a96;
 Tue, 23 Jan 2018 10:16:05 +0100 (CET)
Received: by mail-wr0-x242.google.com with SMTP id t16so11658289wrc.10;
 Tue, 23 Jan 2018 01:16:06 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:subject:from:in-reply-to:date:cc
 :content-transfer-encoding:message-id:references:to;
 bh=3dJuSk0paQRXMf8ayjeR83a4ZeysaxU9WYheePTqHAc=;
 b=uejwUDPl3JS2JqemVgNwWIgC3NO+r17iCXfd5TMEQ+XxDUfDjQw9v1/QOV+UyRwAwE
 PbpztiJbJIteiuN7109iifa6EgeFm3uj6c3CVTkmCVG/ihEOkeP27+jB9q7GBiW0wFvO
 cp6oTqM5g5YkAgZ+ufVkvwsQy13rxIFwpoSWge/PzqKpkLswkoA4BDIcR6keBIu7hzHe
 47lUe3QRVgVhri7feq+NDGo1LckqLRWyXHDyEcSRBkkZu1gg+gdRb3jkcRruTEITDabD
 onwViRN1755rx0T7UABxE/h7oQcW0eHAkpyTj+AmGO0Bx/QSL9gVLoaNjxKI3WqCzBch
 TM+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc
 :content-transfer-encoding:message-id:references:to;
 bh=3dJuSk0paQRXMf8ayjeR83a4ZeysaxU9WYheePTqHAc=;
 b=pfJMd38GZ5t9XMtZPxMWhWLYCv49VO461lhZofU7pKNNfmjHkyAPKT7mCnwB0aJXnv
 luo3W7Po3oRPi8o1HpNJFL9Vz/JqT0pwJRQSvRYv7ICNVMkOMuyddwtAK8oFUVikmokT
 veMIaU5aSKy2iaKVRLXgFwh2fkBmKfLC69dlWLY+Zn2coqeCJ/e32A9Ujkj1U5zHPZ39
 wtK285FOFfU3dQ0ehtV1nlym8l3J/DeVGYGL0FrTWZEoy0WplWoFLQS5/+OFU28yAoQr
 BbueKzbS5aL7ncsbKBWb0T3023gJPvtZPUEvNkW67Dhx37GJehlfNXUQUVExnyRQpH+F
 WmjA==
X-Gm-Message-State: AKwxytdkZ4POtFRYPtN6ufNrhFtoC5f9pDnyditHIbMCa68tVnXjChFZ
 8MgobYm1chzUmbTHUUcyV+ZpZd6w
X-Google-Smtp-Source: AH8x2259BfGQPPahUC2GGn+XQlPkLwt5ZXKJVe1Vcvn3c+Q4+MRKxUZmv3lxUi6lmy5mG7k6WsEf3A==
X-Received: by 10.223.161.29 with SMTP id o29mr1706896wro.2.1516698964520;
 Tue, 23 Jan 2018 01:16:04 -0800 (PST)
Received: from ?IPv6:2a02:c7f:ac18:da00:a534:7eee:fcbc:ff5d?
 ([2a02:c7f:ac18:da00:a534:7eee:fcbc:ff5d])
 by smtp.gmail.com with ESMTPSA id n74sm17030882wmi.1.2018.01.23.01.16.02
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Tue, 23 Jan 2018 01:16:03 -0800 (PST)
Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\))
From: Lars Kurth <lars.kurth.xen@gmail.com>
In-Reply-To: <219B4CE4-9E0A-47CC-BD7B-261BE9FA6F91@gmail.com>
Date: Tue, 23 Jan 2018 09:16:01 +0000
Message-Id: <7B17E6EE-A4B3-44F9-BC41-3B63C6DEACD4@gmail.com>
References: <219B4CE4-9E0A-47CC-BD7B-261BE9FA6F91@gmail.com>
To: xen-devel <xen-devel@lists.xenproject.org>,
 minios-devel@lists.xenproject.org, xen-xapl@lists.xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
X-Mailer: Apple Mail (2.3445.5.20)
Cc: Juergen Gross <jgross@suse.com>,
 "Jesus M. Gonzalez-Barahona" <jgb@bitergia.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wei.liu2@citrix.com>,
 Ian Jackson <ian.jackson@eu.citrix.com>, Doug Goldstein <cardoe@cardoe.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien.grall@arm.com>,
 paul.durrant@citrix.com, mindy@somerandomidiot.com,
 Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [win-pv-devel] Preparing for GSoC and Outreachy : getting
 Outreach Program Projects into good shape
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

SGkgYWxsLAoKanVzdCBhIHF1aWNrIG5vdGUgdGhhdCBJIHN1Ym1pdHRlZCB0aGUgYXBwbGljYXRp
b24gZm9yIEdTb0MuCgpUaGUgcHJvamVjdCBsaXN0IGlzIG5vdCBwZXJmZWN0IGFuZCBJIHJlbW92
ZWQgYSBudW1iZXIgb2YgcHJvamVjdHMgYmVjYXVzZSBJIGJlbGlldmUgdGhleSB3ZXJlIGNvbXBs
ZXRlZCAob3IgYXQgbGVhc3Qgc3RhcnRlZCBieSBvdGhlcnMpLiBBIFRoYW5rIFlvdSB0byBNaXJh
Z2UgT1MgYW5kIFVuaWtyYWZ0IGZvbGtzIGZvciBhZGRpbmcgbmV3IHByb2plY3RzCgpJZiB3ZSBk
byBnZXQgYWNjZXB0ZWQsIHdlIHdpbGwgaGF2ZSB0byBoYXZlIGFub3RoZXIgZ28gYXQgdGhlIHBy
b2plY3QgbGlzdAoKQmVzdCBSZWdhcmRzCkxhcnMKCj4gT24gOCBKYW4gMjAxOCwgYXQgMTU6MTks
IExhcnMgS3VydGggPGxhcnMua3VydGgueGVuQGdtYWlsLmNvbT4gd3JvdGU6Cj4gCj4gSGkgQWxs
LAo+IAo+IGl0J3MgdGhpcyB0aW1lIG9mIHRoZSB5ZWFyIGFnYWluIHRvIHByZXBhcmUgZm9yIEdT
b0MvT3V0cmVhY2h5ISBUaGUgYXBwbGljYXRpb24gZGVhZGxpbmUgZm9yIG9yZ3MgaXMgSmFudWFy
eSAyMyAtIEZlYnJ1YXJ5IDExOiBpZGVhbGx5IHdlIHdpbGwgaGF2ZSBhIGdvb2QgdXBkYXRlZCBs
aXN0cyBvZiBwcm9qZWN0cyBieSB0aGVuIGFzIEdvb2dsZSB3aWxsIGxvb2sgYXQgdGhlIHF1YWxp
dHkgb2YgdGhlIHByb2plY3QgbGlzdC4gSSB3aWxsIGFsc28gbmVlZCBjby1vcmcgYWRtaW5zOiBA
TWluZHkgYXJlIHlvdSB3aWxsaW5nIHRvIGRvIHRoaXMgYWdhaW4/IE1heWJlIGFsc28gc29tZW9u
ZSBmcm9tIHRoZSBVbmlrcmFmdCBwcm9qZWN0LiBUaGF0IGhlbHBzIGVuc3VyZSB0aGF0IHdlIGhh
dmUgcmVwcyBmcm9tIHZhcmlvdXMgc3VicHJvamVjdCB0aGF0IGVuc3VyZSB0aGF0IHdlIGRvbid0
IG1pc3MgZGVhZGxpbmVzLgo+IAo+IAo+IEJlc3QgUmVnYXJkcwo+IExhcnMKPiAKPiBFeGlzdGlu
ZyBQcm9qZWN0cyAoZm9yIHBlb3BsZSBvbiB0aGUgQ0MgbGlzdCkKPiA9PT09PT09PT09PT09PT09
PQo+IElmIHlvdSBhcmUgQ0MnZWQgeW91IGhhdmUgb25lIG9yIHNldmVyYWwgcHJvamVjdHMgbGlz
dGVkIG9uIGh0dHBzOi8vd2lraS54ZW5wcm9qZWN0Lm9yZy93aWtpL091dHJlYWNoX1Byb2dyYW1f
UHJvamVjdHMgLi4uIFdoYXQgSSBuZWVkIHlvdSB0byBkbyBpcyB0bwo+IAo+IGEpIFdlZWQgb3V0
IGFueSBwcm9qZWN0cyB0aGF0IGhhdmUgYmVlbiBjb21wbGV0ZWQgb3IgYXJlIG5vdCByZWxldmFu
dCBhbnkgbW9yZQo+ICAgQE1pbmR5OiBGb3IgTWlyYWdlT1MgZm9sa3MsIHBsZWFzZSBjaGVjayBh
bmQgdXBkYXRlIGh0dHBzOi8vZ2l0aHViLmNvbS9taXJhZ2UvbWlyYWdlLXd3dy93aWtpL1Bpb25l
ZXItUHJvamVjdHMgYW5kIGRvIHRoZSBzYW1lCj4gCj4gYikgRGVjaWRlIHdoZXRoZXIgeW91IHN0
aWxsIHdhbnQgdG8gbWVudG9yOgo+ICAgVGhpcyByZXF1aXJlcyBzb21lIG9mIHlvdXIgYmFuZHdp
ZHRoIGZyb20gbWlkLUZlYiB0byBNYXJjaCAyMDE4IHRvIHdvcmsgb24gc21hbGwgcHJvamVjdHMK
PiAgIFRoZSBhY3R1YWwgd29yayBoYXBwZW5zIGZyb20gTWF5IDE0IC0gQXVnIDE0Cj4gCj4gICBJ
ZiBub3QsIHBsZWFzZSByZXBseSBhbmQgbGlzdCBwcm9qZWN0cyBhZmZlY3RlZAo+ICAgSWYgeWVz
LCBwbGVhc2UgYWxzbyBkbyBzbyBhbmQgSSB3aWxsIHVwZGF0ZSB0aGUgVmVyaWZpZWQgZmllbGQg
YWNjb3JkaW5nbHkKPiAKPiBjKSBBZGQgYW55IG5ldyBpbmZvcm1hdGlvbiB0byBleGlzdGluZyBw
cm9qZWN0cyBhcyByZWxldmFudC4gCj4gCj4gCj4gTmV3IFByb2plY3RzCj4gPT09PT09PT09PT09
Cj4gRmVlbCBmcmVlIHRvIGFkZCBuZXcgcHJvamVjdHMgdG8gdGhlIGxpc3QsIGJ1dCBpZiB5b3Ug
ZG8gc28gcGxlYXNlIGxldCB0aGUgbGlzdCBrbm93LiBXZSBhcmUgbm90IGdvaW5nIHRvIGJlIHZl
cnkgc3RyaWN0IHdpdGggaHR0cHM6Ly93aWtpLnhlbnByb2plY3Qub3JnL3dpa2kvT3V0cmVhY2hf
UHJvZ3JhbV9Qcm9qZWN0cyNDb252ZW50aW9uc19mb3JfUHJvamVjdHNfYW5kX1Byb2plY3RfTWVu
dG9ycywgYnV0IGdldHRpbmcgc29tZW9uZSBlbHNlIHRvIHJldmlldyB5b3VyIHByb3Bvc2FsIGlz
IGEgZ29vZCBpZGVhLiAKPiAKPiBVbmlrcmFmdAo+IC0tLS0tLS0tCj4gSSBjcmVhdGVkIGEgcGxh
Y2UtaG9sZGVyIGZvciBVbmlrcmFmdCBhdCBodHRwczovL3dpa2kueGVucHJvamVjdC5vcmcvd2lr
aS9PdXRyZWFjaF9Qcm9ncmFtX1Byb2plY3RzI1VuaWtyYWZ0IGFzIFVuaWtyYWZ0IHByb2plY3Qg
bWVtYmVycyBpbmRpY2F0ZWQgdGhleSB3YW50IHRvIHBhcnRpY2lwYXRlLgo+IFlvdSBwcm9iYWJs
eSBkbyB3YW50IHRvIHNldCBleHBlY3RhdGlvbnMgd2l0aCByZWdhcmRzIHRvIHN0YXJ0LXVwIHRh
c2tzIGFuZCBjb21lIHVwIHdpdGggYSBzZXQgb2YgdGFza3MgdG8gYWN0IGFzIGEgZmlsdGVyIGZv
ciBhcHBsaWNhbnRzIChlLmcuIHNob3dpbmcgdGhhdCB0aGV5IHNldCB1cCB0aGUgZW52aXJvbm1l
bnQsIGV0Yy4pIAo+IAo+IAo+IFNwZWNpZmljIEltcHJvdmVtZW50cyB0byB0aGUgcHJvamVjdCBk
b2N1bWVudGF0aW9uCj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KPiAKPiBIeXBlcnZpc29yIHN0YXJ0LXVwIHRhc2tzCj4gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQo+IGh0dHBzOi8vd2lraS54ZW5wcm9qZWN0Lm9yZy93aWtpL1hlbl9Qcm9qZWN0
X0RldmVsb3BtZW50X1Byb2plY3RzIGNvbnRhaW5zOiAiQW4gZWFzeSB3YXkgdG8gZ2V0IHN0YXJ0
ZWQgKGFuZCBzaG93IHRoYXQgeW91IGNhbiBzZXQgdXAgdGhlIFhlbiBEZXZlbG9wbWVudCBFbnZp
cm9ubWVudCwgZml4IGFuIGlzc3VlLCBidWlsZCBhbmQgdGVzdCBYZW4sIHN1Ym1pdCBhIHBhdGNo
LCBldGMuKSBpcyB0byBhZGRyZXNzIGEgc3VpdGFibGUgbnVtYmVyIG9mIENvdmVyaXR5IFNjYW4g
aXNzdWVzLiBBc2sgb24geGVuLWRldmVsQCBmb3IgYSBzZXQgb2Ygc3VpdGFibGUgQ292ZXJpdHkg
aXNzdWVzLiBOb3RlIHRoYXQgdGhpcyBkb2VzIG5vdCByZXF1aXJlIGFueSBhY2Nlc3MgdG8gdGhl
IENvdmVyaXR5IHNjYW4gcmVzdWx0cy4gT3BlbiBidWdzIHRvIGZpeCB1bmRlciB0aGUgU21hbGwg
Q29kZSBDb250cmlidXRpb24gUmVxdWlyZW1lbnQgY2FuIGFsc28gYmUgZm91bmQgb24gYnVncy54
ZW5wcm9qZWN0Lm9yZyIKPiAKPiBEbyB3ZSB3YW50IHRvIGNoYW5nZSB0aGlzPyBGaW5kaW5nIHNt
YWxsIGdldCBzdGFydGVkIHByb2plY3RzIGlzIGFsd2F5cyBhIGxpdHRsZSBiaXQgb2YgYSBwcm9i
bGVtLiBNYXliZSB3ZSBjYW4gcHJlcGFyZSBhIGJldHRlciBsaXN0IHNvbWV3aGVyZS4KPiAKPiBJ
bi10cmVlIHZzLiBXaWtpIGJhc2VkIHByb2plY3RzCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQo+IFdlIGNvdWxkIGFsc28gZGVjaWRlIHRvIG1vdmUgSHlwZXJ2aXNvciByZWxhdGVk
IGlkZWFzIGluLXRyZWUgc29tZXdoZXJlIGFuZCBnZW5lcmF0ZSBhIGxpc3QgaWYgdGhhdCBtYWtl
cyB0aGluZ3MgZWFzaWVyLiBCdXQgdGhpcyBpcyBub3QgbmVjZXNzYXJ5LCBpbiBwYXJ0aWN1bGFy
IGdpdmVuIHdpdGggZXZlcnl0aGluZyB0aGF0IGlzIGdvaW5nIG9uLiBJIGp1c3Qgd2FudGVkIHRv
IHJhaXNlIHRoaXMgYXMgYW4gb3B0aW9uOiBJIGFtIG5vdCBwYXJ0aWN1bGFybHkgd2VkZGVkIHRv
IHVzaW5nIHRoZSB3aWtpLgo+IAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 09:43:44 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 09:43:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeHam-0006mc-VN; Wed, 24 Jan 2018 09:43:40 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=/bwp=et=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1eeHY0-0006RI-MB
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 09:40:48 +0000
X-Inumbo-ID: a311f753-00ea-11e8-ba59-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id a311f753-00ea-11e8-ba59-bc764e045a96;
 Wed, 24 Jan 2018 10:40:41 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 71D0BF2014;
 Wed, 24 Jan 2018 10:40:41 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 7kgOxc5_MVqa; Wed, 24 Jan 2018 10:40:39 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (enceladus.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 9A223F2004;
 Wed, 24 Jan 2018 10:40:04 +0100 (CET)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Jan
 2018 10:40:04 +0100
To: Lars Kurth <lars.kurth.xen@gmail.com>, xen-devel
 <xen-devel@lists.xenproject.org>, <minios-devel@lists.xenproject.org>,
 <xen-xapl@lists.xenproject.org>, <mirageos-devel@lists.xenproject.org>,
 <win-pv-devel@lists.xenproject.org>
References: <219B4CE4-9E0A-47CC-BD7B-261BE9FA6F91@gmail.com>
 <7B17E6EE-A4B3-44F9-BC41-3B63C6DEACD4@gmail.com>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <ff4d5372-c4ca-0dd8-b596-26a6f776a26d@neclab.eu>
Date: Wed, 24 Jan 2018 10:40:04 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.5.0
MIME-Version: 1.0
In-Reply-To: <7B17E6EE-A4B3-44F9-BC41-3B63C6DEACD4@gmail.com>
Content-Language: en-US
X-Originating-IP: [10.1.2.105]
X-Mailman-Approved-At: Wed, 24 Jan 2018 09:43:39 +0000
Cc: Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wei.liu2@citrix.com>,
 Doug Goldstein <cardoe@cardoe.com>, Ian Jackson <ian.jackson@eu.citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien.grall@arm.com>,
 "Jesus M. Gonzalez-Barahona" <jgb@bitergia.com>, mindy@somerandomidiot.com,
 paul.durrant@citrix.com, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [win-pv-devel] [Minios-devel] Preparing for GSoC and Outreachy
 : getting Outreach Program Projects into good shape
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

SGkgYWxsLAoKc2luY2Ugd2UgYXJlIHBhcnRpY2lwYXRpbmcgdGhlIGZpcnN0IHRpbWUgdG8gR1Nv
Qywgd2UgYXJlIGhhcHB5IHRvIApyZWNlaXZlIGFueSBmZWVkYmFjayBmcm9tIHlvdSByZWdhcmRp
bmcgb3VyIHByb3Bvc2VkIFVuaWtyYWZ0IHByb2plY3RzIQoKaHR0cHM6Ly93aWtpLnhlbnByb2pl
Y3Qub3JnL3dpa2kvT3V0cmVhY2hfUHJvZ3JhbV9Qcm9qZWN0cyNVbmlrcmFmdAoKVGhhbmtzLAoK
U2ltb24KCk9uIDIzLjAxLjIwMTggMTA6MTYsIExhcnMgS3VydGggd3JvdGU6Cj4gSGkgYWxsLAo+
IAo+IGp1c3QgYSBxdWljayBub3RlIHRoYXQgSSBzdWJtaXR0ZWQgdGhlIGFwcGxpY2F0aW9uIGZv
ciBHU29DLgo+IAo+IFRoZSBwcm9qZWN0IGxpc3QgaXMgbm90IHBlcmZlY3QgYW5kIEkgcmVtb3Zl
ZCBhIG51bWJlciBvZiBwcm9qZWN0cyBiZWNhdXNlIEkgYmVsaWV2ZSB0aGV5IHdlcmUgY29tcGxl
dGVkIChvciBhdCBsZWFzdCBzdGFydGVkIGJ5IG90aGVycykuIEEgVGhhbmsgWW91IHRvIE1pcmFn
ZSBPUyBhbmQgVW5pa3JhZnQgZm9sa3MgZm9yIGFkZGluZyBuZXcgcHJvamVjdHMKPiAKPiBJZiB3
ZSBkbyBnZXQgYWNjZXB0ZWQsIHdlIHdpbGwgaGF2ZSB0byBoYXZlIGFub3RoZXIgZ28gYXQgdGhl
IHByb2plY3QgbGlzdAo+IAo+IEJlc3QgUmVnYXJkcwo+IExhcnMKPiAKPj4gT24gOCBKYW4gMjAx
OCwgYXQgMTU6MTksIExhcnMgS3VydGggPGxhcnMua3VydGgueGVuQGdtYWlsLmNvbT4gd3JvdGU6
Cj4+Cj4+IEhpIEFsbCwKPj4KPj4gaXQncyB0aGlzIHRpbWUgb2YgdGhlIHllYXIgYWdhaW4gdG8g
cHJlcGFyZSBmb3IgR1NvQy9PdXRyZWFjaHkhIFRoZSBhcHBsaWNhdGlvbiBkZWFkbGluZSBmb3Ig
b3JncyBpcyBKYW51YXJ5IDIzIC0gRmVicnVhcnkgMTE6IGlkZWFsbHkgd2Ugd2lsbCBoYXZlIGEg
Z29vZCB1cGRhdGVkIGxpc3RzIG9mIHByb2plY3RzIGJ5IHRoZW4gYXMgR29vZ2xlIHdpbGwgbG9v
ayBhdCB0aGUgcXVhbGl0eSBvZiB0aGUgcHJvamVjdCBsaXN0LiBJIHdpbGwgYWxzbyBuZWVkIGNv
LW9yZyBhZG1pbnM6IEBNaW5keSBhcmUgeW91IHdpbGxpbmcgdG8gZG8gdGhpcyBhZ2Fpbj8gTWF5
YmUgYWxzbyBzb21lb25lIGZyb20gdGhlIFVuaWtyYWZ0IHByb2plY3QuIFRoYXQgaGVscHMgZW5z
dXJlIHRoYXQgd2UgaGF2ZSByZXBzIGZyb20gdmFyaW91cyBzdWJwcm9qZWN0IHRoYXQgZW5zdXJl
IHRoYXQgd2UgZG9uJ3QgbWlzcyBkZWFkbGluZXMuCj4+Cj4+Cj4+IEJlc3QgUmVnYXJkcwo+PiBM
YXJzCj4+Cj4+IEV4aXN0aW5nIFByb2plY3RzIChmb3IgcGVvcGxlIG9uIHRoZSBDQyBsaXN0KQo+
PiA9PT09PT09PT09PT09PT09PQo+PiBJZiB5b3UgYXJlIENDJ2VkIHlvdSBoYXZlIG9uZSBvciBz
ZXZlcmFsIHByb2plY3RzIGxpc3RlZCBvbiBodHRwczovL3dpa2kueGVucHJvamVjdC5vcmcvd2lr
aS9PdXRyZWFjaF9Qcm9ncmFtX1Byb2plY3RzIC4uLiBXaGF0IEkgbmVlZCB5b3UgdG8gZG8gaXMg
dG8KPj4KPj4gYSkgV2VlZCBvdXQgYW55IHByb2plY3RzIHRoYXQgaGF2ZSBiZWVuIGNvbXBsZXRl
ZCBvciBhcmUgbm90IHJlbGV2YW50IGFueSBtb3JlCj4+ICAgIEBNaW5keTogRm9yIE1pcmFnZU9T
IGZvbGtzLCBwbGVhc2UgY2hlY2sgYW5kIHVwZGF0ZSBodHRwczovL2dpdGh1Yi5jb20vbWlyYWdl
L21pcmFnZS13d3cvd2lraS9QaW9uZWVyLVByb2plY3RzIGFuZCBkbyB0aGUgc2FtZQo+Pgo+PiBi
KSBEZWNpZGUgd2hldGhlciB5b3Ugc3RpbGwgd2FudCB0byBtZW50b3I6Cj4+ICAgIFRoaXMgcmVx
dWlyZXMgc29tZSBvZiB5b3VyIGJhbmR3aWR0aCBmcm9tIG1pZC1GZWIgdG8gTWFyY2ggMjAxOCB0
byB3b3JrIG9uIHNtYWxsIHByb2plY3RzCj4+ICAgIFRoZSBhY3R1YWwgd29yayBoYXBwZW5zIGZy
b20gTWF5IDE0IC0gQXVnIDE0Cj4+Cj4+ICAgIElmIG5vdCwgcGxlYXNlIHJlcGx5IGFuZCBsaXN0
IHByb2plY3RzIGFmZmVjdGVkCj4+ICAgIElmIHllcywgcGxlYXNlIGFsc28gZG8gc28gYW5kIEkg
d2lsbCB1cGRhdGUgdGhlIFZlcmlmaWVkIGZpZWxkIGFjY29yZGluZ2x5Cj4+Cj4+IGMpIEFkZCBh
bnkgbmV3IGluZm9ybWF0aW9uIHRvIGV4aXN0aW5nIHByb2plY3RzIGFzIHJlbGV2YW50Lgo+Pgo+
Pgo+PiBOZXcgUHJvamVjdHMKPj4gPT09PT09PT09PT09Cj4+IEZlZWwgZnJlZSB0byBhZGQgbmV3
IHByb2plY3RzIHRvIHRoZSBsaXN0LCBidXQgaWYgeW91IGRvIHNvIHBsZWFzZSBsZXQgdGhlIGxp
c3Qga25vdy4gV2UgYXJlIG5vdCBnb2luZyB0byBiZSB2ZXJ5IHN0cmljdCB3aXRoIGh0dHBzOi8v
d2lraS54ZW5wcm9qZWN0Lm9yZy93aWtpL091dHJlYWNoX1Byb2dyYW1fUHJvamVjdHMjQ29udmVu
dGlvbnNfZm9yX1Byb2plY3RzX2FuZF9Qcm9qZWN0X01lbnRvcnMsIGJ1dCBnZXR0aW5nIHNvbWVv
bmUgZWxzZSB0byByZXZpZXcgeW91ciBwcm9wb3NhbCBpcyBhIGdvb2QgaWRlYS4KPj4KPj4gVW5p
a3JhZnQKPj4gLS0tLS0tLS0KPj4gSSBjcmVhdGVkIGEgcGxhY2UtaG9sZGVyIGZvciBVbmlrcmFm
dCBhdCBodHRwczovL3dpa2kueGVucHJvamVjdC5vcmcvd2lraS9PdXRyZWFjaF9Qcm9ncmFtX1By
b2plY3RzI1VuaWtyYWZ0IGFzIFVuaWtyYWZ0IHByb2plY3QgbWVtYmVycyBpbmRpY2F0ZWQgdGhl
eSB3YW50IHRvIHBhcnRpY2lwYXRlLgo+PiBZb3UgcHJvYmFibHkgZG8gd2FudCB0byBzZXQgZXhw
ZWN0YXRpb25zIHdpdGggcmVnYXJkcyB0byBzdGFydC11cCB0YXNrcyBhbmQgY29tZSB1cCB3aXRo
IGEgc2V0IG9mIHRhc2tzIHRvIGFjdCBhcyBhIGZpbHRlciBmb3IgYXBwbGljYW50cyAoZS5nLiBz
aG93aW5nIHRoYXQgdGhleSBzZXQgdXAgdGhlIGVudmlyb25tZW50LCBldGMuKQo+Pgo+Pgo+PiBT
cGVjaWZpYyBJbXByb3ZlbWVudHMgdG8gdGhlIHByb2plY3QgZG9jdW1lbnRhdGlvbgo+PiA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+Pgo+PiBIeXBl
cnZpc29yIHN0YXJ0LXVwIHRhc2tzCj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gaHR0
cHM6Ly93aWtpLnhlbnByb2plY3Qub3JnL3dpa2kvWGVuX1Byb2plY3RfRGV2ZWxvcG1lbnRfUHJv
amVjdHMgY29udGFpbnM6ICJBbiBlYXN5IHdheSB0byBnZXQgc3RhcnRlZCAoYW5kIHNob3cgdGhh
dCB5b3UgY2FuIHNldCB1cCB0aGUgWGVuIERldmVsb3BtZW50IEVudmlyb25tZW50LCBmaXggYW4g
aXNzdWUsIGJ1aWxkIGFuZCB0ZXN0IFhlbiwgc3VibWl0IGEgcGF0Y2gsIGV0Yy4pIGlzIHRvIGFk
ZHJlc3MgYSBzdWl0YWJsZSBudW1iZXIgb2YgQ292ZXJpdHkgU2NhbiBpc3N1ZXMuIEFzayBvbiB4
ZW4tZGV2ZWxAIGZvciBhIHNldCBvZiBzdWl0YWJsZSBDb3Zlcml0eSBpc3N1ZXMuIE5vdGUgdGhh
dCB0aGlzIGRvZXMgbm90IHJlcXVpcmUgYW55IGFjY2VzcyB0byB0aGUgQ292ZXJpdHkgc2NhbiBy
ZXN1bHRzLiBPcGVuIGJ1Z3MgdG8gZml4IHVuZGVyIHRoZSBTbWFsbCBDb2RlIENvbnRyaWJ1dGlv
biBSZXF1aXJlbWVudCBjYW4gYWxzbyBiZSBmb3VuZCBvbiBidWdzLnhlbnByb2plY3Qub3JnIgo+
Pgo+PiBEbyB3ZSB3YW50IHRvIGNoYW5nZSB0aGlzPyBGaW5kaW5nIHNtYWxsIGdldCBzdGFydGVk
IHByb2plY3RzIGlzIGFsd2F5cyBhIGxpdHRsZSBiaXQgb2YgYSBwcm9ibGVtLiBNYXliZSB3ZSBj
YW4gcHJlcGFyZSBhIGJldHRlciBsaXN0IHNvbWV3aGVyZS4KPj4KPj4gSW4tdHJlZSB2cy4gV2lr
aSBiYXNlZCBwcm9qZWN0cwo+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+IFdl
IGNvdWxkIGFsc28gZGVjaWRlIHRvIG1vdmUgSHlwZXJ2aXNvciByZWxhdGVkIGlkZWFzIGluLXRy
ZWUgc29tZXdoZXJlIGFuZCBnZW5lcmF0ZSBhIGxpc3QgaWYgdGhhdCBtYWtlcyB0aGluZ3MgZWFz
aWVyLiBCdXQgdGhpcyBpcyBub3QgbmVjZXNzYXJ5LCBpbiBwYXJ0aWN1bGFyIGdpdmVuIHdpdGgg
ZXZlcnl0aGluZyB0aGF0IGlzIGdvaW5nIG9uLiBJIGp1c3Qgd2FudGVkIHRvIHJhaXNlIHRoaXMg
YXMgYW4gb3B0aW9uOiBJIGFtIG5vdCBwYXJ0aWN1bGFybHkgd2VkZGVkIHRvIHVzaW5nIHRoZSB3
aWtpLgo+Pgo+IAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCj4gTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdAo+IE1pbmlvcy1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZwo+IGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby9taW5pb3MtZGV2ZWwKPiAKCi0tIAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KU2ltb24gS3Vlbnplcgrjgrfjg6Ljg7Mg44Kv
44Kl44Oz44OE44Kh44O8ClJlc2VhcmNoIFNjaWVudGlzdApTeXN0ZW1zIGFuZCBNYWNoaW5lIExl
YXJuaW5nIEdyb3VwIChTTUwpCkRhdGEgU2NpZW5jZSBhbmQgU3lzdGVtIFBsYXRmb3JtIERpdmlz
aW9uCk5FQyBMYWJvcmF0b3JpZXMgRXVyb3BlIEdtYkgKS3VyZnVlcnN0ZW4tQW5sYWdlIDM2LCA2
OTExNSBIZWlkZWxiZXJnLCBHZXJtYW55ClRlbC4gICAgICs0OSAoMCk2MjIxIDQzNDItMjY0CkZh
eDogICAgICs0OSAoMCk2MjIxIDQzNDItNTI2NApFLU1haWw6ICBzaW1vbi5rdWVuemVyQG5lY2xh
Yi5ldQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KUmVnaXN0ZXJlZCBhdCBBbXRzZ2VyaWNodCBNYW5uaGVpbSwgR2VybWFueSwgSFJC
NzI4NTU4CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3
aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 09:44:50 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 09:44:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeHbu-0006rt-4w; Wed, 24 Jan 2018 09:44:50 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=/bwp=et=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1eeHbF-0006oa-Qb
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 09:44:09 +0000
X-Inumbo-ID: bd62fcdf-00ea-11e8-b9b1-635ca7ef6cff
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id bd62fcdf-00ea-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 09:41:24 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 08B46F201A;
 Wed, 24 Jan 2018 10:41:17 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id yNm7I9NiSXYu; Wed, 24 Jan 2018 10:41:16 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (enceladus.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id BC503F2013;
 Wed, 24 Jan 2018 10:40:42 +0100 (CET)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Jan
 2018 10:40:34 +0100
To: Lars Kurth <lars.kurth.xen@gmail.com>, xen-devel
 <xen-devel@lists.xenproject.org>, <minios-devel@lists.xenproject.org>,
 <xen-xapl@lists.xenproject.org>, <mirageos-devel@lists.xenproject.org>,
 <win-pv-devel@lists.xenproject.org>
References: <219B4CE4-9E0A-47CC-BD7B-261BE9FA6F91@gmail.com>
 <7B17E6EE-A4B3-44F9-BC41-3B63C6DEACD4@gmail.com>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <8cea3e1b-f3e0-b6bb-e7f2-f2e7392387db@neclab.eu>
Date: Wed, 24 Jan 2018 10:40:34 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.5.0
MIME-Version: 1.0
In-Reply-To: <7B17E6EE-A4B3-44F9-BC41-3B63C6DEACD4@gmail.com>
Content-Language: en-US
X-Originating-IP: [10.1.2.105]
X-Mailman-Approved-At: Wed, 24 Jan 2018 09:44:49 +0000
Cc: Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wei.liu2@citrix.com>,
 Doug Goldstein <cardoe@cardoe.com>, Ian Jackson <ian.jackson@eu.citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien.grall@arm.com>,
 "Jesus M. Gonzalez-Barahona" <jgb@bitergia.com>, mindy@somerandomidiot.com,
 paul.durrant@citrix.com, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [win-pv-devel] [Minios-devel] Preparing for GSoC and Outreachy
 : getting Outreach Program Projects into good shape
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

SGkgYWxsLAoKc2luY2Ugd2UgYXJlIHBhcnRpY2lwYXRpbmcgdGhlIGZpcnN0IHRpbWUgdG8gR1Nv
Qywgd2UgYXJlIGhhcHB5IHRvIApyZWNlaXZlIGFueSBmZWVkYmFjayBmcm9tIHlvdSByZWdhcmRp
bmcgb3VyIHByb3Bvc2VkIFVuaWtyYWZ0IHByb2plY3RzIQoKaHR0cHM6Ly93aWtpLnhlbnByb2pl
Y3Qub3JnL3dpa2kvT3V0cmVhY2hfUHJvZ3JhbV9Qcm9qZWN0cyNVbmlrcmFmdAoKVGhhbmtzLAoK
U2ltb24KCk9uIDIzLjAxLjIwMTggMTA6MTYsIExhcnMgS3VydGggd3JvdGU6Cj4gSGkgYWxsLAo+
IAo+IGp1c3QgYSBxdWljayBub3RlIHRoYXQgSSBzdWJtaXR0ZWQgdGhlIGFwcGxpY2F0aW9uIGZv
ciBHU29DLgo+IAo+IFRoZSBwcm9qZWN0IGxpc3QgaXMgbm90IHBlcmZlY3QgYW5kIEkgcmVtb3Zl
ZCBhIG51bWJlciBvZiBwcm9qZWN0cyBiZWNhdXNlIEkgYmVsaWV2ZSB0aGV5IHdlcmUgY29tcGxl
dGVkIChvciBhdCBsZWFzdCBzdGFydGVkIGJ5IG90aGVycykuIEEgVGhhbmsgWW91IHRvIE1pcmFn
ZSBPUyBhbmQgVW5pa3JhZnQgZm9sa3MgZm9yIGFkZGluZyBuZXcgcHJvamVjdHMKPiAKPiBJZiB3
ZSBkbyBnZXQgYWNjZXB0ZWQsIHdlIHdpbGwgaGF2ZSB0byBoYXZlIGFub3RoZXIgZ28gYXQgdGhl
IHByb2plY3QgbGlzdAo+IAo+IEJlc3QgUmVnYXJkcwo+IExhcnMKPiAKPj4gT24gOCBKYW4gMjAx
OCwgYXQgMTU6MTksIExhcnMgS3VydGggPGxhcnMua3VydGgueGVuQGdtYWlsLmNvbT4gd3JvdGU6
Cj4+Cj4+IEhpIEFsbCwKPj4KPj4gaXQncyB0aGlzIHRpbWUgb2YgdGhlIHllYXIgYWdhaW4gdG8g
cHJlcGFyZSBmb3IgR1NvQy9PdXRyZWFjaHkhIFRoZSBhcHBsaWNhdGlvbiBkZWFkbGluZSBmb3Ig
b3JncyBpcyBKYW51YXJ5IDIzIC0gRmVicnVhcnkgMTE6IGlkZWFsbHkgd2Ugd2lsbCBoYXZlIGEg
Z29vZCB1cGRhdGVkIGxpc3RzIG9mIHByb2plY3RzIGJ5IHRoZW4gYXMgR29vZ2xlIHdpbGwgbG9v
ayBhdCB0aGUgcXVhbGl0eSBvZiB0aGUgcHJvamVjdCBsaXN0LiBJIHdpbGwgYWxzbyBuZWVkIGNv
LW9yZyBhZG1pbnM6IEBNaW5keSBhcmUgeW91IHdpbGxpbmcgdG8gZG8gdGhpcyBhZ2Fpbj8gTWF5
YmUgYWxzbyBzb21lb25lIGZyb20gdGhlIFVuaWtyYWZ0IHByb2plY3QuIFRoYXQgaGVscHMgZW5z
dXJlIHRoYXQgd2UgaGF2ZSByZXBzIGZyb20gdmFyaW91cyBzdWJwcm9qZWN0IHRoYXQgZW5zdXJl
IHRoYXQgd2UgZG9uJ3QgbWlzcyBkZWFkbGluZXMuCj4+Cj4+Cj4+IEJlc3QgUmVnYXJkcwo+PiBM
YXJzCj4+Cj4+IEV4aXN0aW5nIFByb2plY3RzIChmb3IgcGVvcGxlIG9uIHRoZSBDQyBsaXN0KQo+
PiA9PT09PT09PT09PT09PT09PQo+PiBJZiB5b3UgYXJlIENDJ2VkIHlvdSBoYXZlIG9uZSBvciBz
ZXZlcmFsIHByb2plY3RzIGxpc3RlZCBvbiBodHRwczovL3dpa2kueGVucHJvamVjdC5vcmcvd2lr
aS9PdXRyZWFjaF9Qcm9ncmFtX1Byb2plY3RzIC4uLiBXaGF0IEkgbmVlZCB5b3UgdG8gZG8gaXMg
dG8KPj4KPj4gYSkgV2VlZCBvdXQgYW55IHByb2plY3RzIHRoYXQgaGF2ZSBiZWVuIGNvbXBsZXRl
ZCBvciBhcmUgbm90IHJlbGV2YW50IGFueSBtb3JlCj4+ICAgIEBNaW5keTogRm9yIE1pcmFnZU9T
IGZvbGtzLCBwbGVhc2UgY2hlY2sgYW5kIHVwZGF0ZSBodHRwczovL2dpdGh1Yi5jb20vbWlyYWdl
L21pcmFnZS13d3cvd2lraS9QaW9uZWVyLVByb2plY3RzIGFuZCBkbyB0aGUgc2FtZQo+Pgo+PiBi
KSBEZWNpZGUgd2hldGhlciB5b3Ugc3RpbGwgd2FudCB0byBtZW50b3I6Cj4+ICAgIFRoaXMgcmVx
dWlyZXMgc29tZSBvZiB5b3VyIGJhbmR3aWR0aCBmcm9tIG1pZC1GZWIgdG8gTWFyY2ggMjAxOCB0
byB3b3JrIG9uIHNtYWxsIHByb2plY3RzCj4+ICAgIFRoZSBhY3R1YWwgd29yayBoYXBwZW5zIGZy
b20gTWF5IDE0IC0gQXVnIDE0Cj4+Cj4+ICAgIElmIG5vdCwgcGxlYXNlIHJlcGx5IGFuZCBsaXN0
IHByb2plY3RzIGFmZmVjdGVkCj4+ICAgIElmIHllcywgcGxlYXNlIGFsc28gZG8gc28gYW5kIEkg
d2lsbCB1cGRhdGUgdGhlIFZlcmlmaWVkIGZpZWxkIGFjY29yZGluZ2x5Cj4+Cj4+IGMpIEFkZCBh
bnkgbmV3IGluZm9ybWF0aW9uIHRvIGV4aXN0aW5nIHByb2plY3RzIGFzIHJlbGV2YW50Lgo+Pgo+
Pgo+PiBOZXcgUHJvamVjdHMKPj4gPT09PT09PT09PT09Cj4+IEZlZWwgZnJlZSB0byBhZGQgbmV3
IHByb2plY3RzIHRvIHRoZSBsaXN0LCBidXQgaWYgeW91IGRvIHNvIHBsZWFzZSBsZXQgdGhlIGxp
c3Qga25vdy4gV2UgYXJlIG5vdCBnb2luZyB0byBiZSB2ZXJ5IHN0cmljdCB3aXRoIGh0dHBzOi8v
d2lraS54ZW5wcm9qZWN0Lm9yZy93aWtpL091dHJlYWNoX1Byb2dyYW1fUHJvamVjdHMjQ29udmVu
dGlvbnNfZm9yX1Byb2plY3RzX2FuZF9Qcm9qZWN0X01lbnRvcnMsIGJ1dCBnZXR0aW5nIHNvbWVv
bmUgZWxzZSB0byByZXZpZXcgeW91ciBwcm9wb3NhbCBpcyBhIGdvb2QgaWRlYS4KPj4KPj4gVW5p
a3JhZnQKPj4gLS0tLS0tLS0KPj4gSSBjcmVhdGVkIGEgcGxhY2UtaG9sZGVyIGZvciBVbmlrcmFm
dCBhdCBodHRwczovL3dpa2kueGVucHJvamVjdC5vcmcvd2lraS9PdXRyZWFjaF9Qcm9ncmFtX1By
b2plY3RzI1VuaWtyYWZ0IGFzIFVuaWtyYWZ0IHByb2plY3QgbWVtYmVycyBpbmRpY2F0ZWQgdGhl
eSB3YW50IHRvIHBhcnRpY2lwYXRlLgo+PiBZb3UgcHJvYmFibHkgZG8gd2FudCB0byBzZXQgZXhw
ZWN0YXRpb25zIHdpdGggcmVnYXJkcyB0byBzdGFydC11cCB0YXNrcyBhbmQgY29tZSB1cCB3aXRo
IGEgc2V0IG9mIHRhc2tzIHRvIGFjdCBhcyBhIGZpbHRlciBmb3IgYXBwbGljYW50cyAoZS5nLiBz
aG93aW5nIHRoYXQgdGhleSBzZXQgdXAgdGhlIGVudmlyb25tZW50LCBldGMuKQo+Pgo+Pgo+PiBT
cGVjaWZpYyBJbXByb3ZlbWVudHMgdG8gdGhlIHByb2plY3QgZG9jdW1lbnRhdGlvbgo+PiA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+Pgo+PiBIeXBl
cnZpc29yIHN0YXJ0LXVwIHRhc2tzCj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gaHR0
cHM6Ly93aWtpLnhlbnByb2plY3Qub3JnL3dpa2kvWGVuX1Byb2plY3RfRGV2ZWxvcG1lbnRfUHJv
amVjdHMgY29udGFpbnM6ICJBbiBlYXN5IHdheSB0byBnZXQgc3RhcnRlZCAoYW5kIHNob3cgdGhh
dCB5b3UgY2FuIHNldCB1cCB0aGUgWGVuIERldmVsb3BtZW50IEVudmlyb25tZW50LCBmaXggYW4g
aXNzdWUsIGJ1aWxkIGFuZCB0ZXN0IFhlbiwgc3VibWl0IGEgcGF0Y2gsIGV0Yy4pIGlzIHRvIGFk
ZHJlc3MgYSBzdWl0YWJsZSBudW1iZXIgb2YgQ292ZXJpdHkgU2NhbiBpc3N1ZXMuIEFzayBvbiB4
ZW4tZGV2ZWxAIGZvciBhIHNldCBvZiBzdWl0YWJsZSBDb3Zlcml0eSBpc3N1ZXMuIE5vdGUgdGhh
dCB0aGlzIGRvZXMgbm90IHJlcXVpcmUgYW55IGFjY2VzcyB0byB0aGUgQ292ZXJpdHkgc2NhbiBy
ZXN1bHRzLiBPcGVuIGJ1Z3MgdG8gZml4IHVuZGVyIHRoZSBTbWFsbCBDb2RlIENvbnRyaWJ1dGlv
biBSZXF1aXJlbWVudCBjYW4gYWxzbyBiZSBmb3VuZCBvbiBidWdzLnhlbnByb2plY3Qub3JnIgo+
Pgo+PiBEbyB3ZSB3YW50IHRvIGNoYW5nZSB0aGlzPyBGaW5kaW5nIHNtYWxsIGdldCBzdGFydGVk
IHByb2plY3RzIGlzIGFsd2F5cyBhIGxpdHRsZSBiaXQgb2YgYSBwcm9ibGVtLiBNYXliZSB3ZSBj
YW4gcHJlcGFyZSBhIGJldHRlciBsaXN0IHNvbWV3aGVyZS4KPj4KPj4gSW4tdHJlZSB2cy4gV2lr
aSBiYXNlZCBwcm9qZWN0cwo+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+IFdl
IGNvdWxkIGFsc28gZGVjaWRlIHRvIG1vdmUgSHlwZXJ2aXNvciByZWxhdGVkIGlkZWFzIGluLXRy
ZWUgc29tZXdoZXJlIGFuZCBnZW5lcmF0ZSBhIGxpc3QgaWYgdGhhdCBtYWtlcyB0aGluZ3MgZWFz
aWVyLiBCdXQgdGhpcyBpcyBub3QgbmVjZXNzYXJ5LCBpbiBwYXJ0aWN1bGFyIGdpdmVuIHdpdGgg
ZXZlcnl0aGluZyB0aGF0IGlzIGdvaW5nIG9uLiBJIGp1c3Qgd2FudGVkIHRvIHJhaXNlIHRoaXMg
YXMgYW4gb3B0aW9uOiBJIGFtIG5vdCBwYXJ0aWN1bGFybHkgd2VkZGVkIHRvIHVzaW5nIHRoZSB3
aWtpLgo+Pgo+IAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCj4gTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdAo+IE1pbmlvcy1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZwo+IGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby9taW5pb3MtZGV2ZWwKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 10:49:43 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 10:49:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeIce-0003yH-CP; Wed, 24 Jan 2018 10:49:40 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <srs0=omo3=et=recoil.org=anil@srs-us1.protection.inumbo.net>)
 id 1eeIcd-0003wu-44
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 10:49:39 +0000
X-Inumbo-ID: 45c3cc94-00f4-11e8-b9b1-635ca7ef6cff
Received: from bark.recoil.org (unknown [5.153.225.51])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 45c3cc94-00f4-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 10:49:38 +0000 (UTC)
Received: from bark.recoil.org (localhost [127.0.0.1])
 by bark.recoil.org (OpenSMTPD) with ESMTP id 22b18104;
 Wed, 24 Jan 2018 10:22:51 +0000 (GMT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=recoil.org; h=from
 :message-id:content-type:mime-version:subject:date:in-reply-to
 :cc:to:references; s=selector1; bh=F45lCUzVMPdWsXycO5JPXPwCE8k=; b=
 BSyvAJsJVIPywQZF0xV7K3bHIyZCJftEB7B4HRHhT9KGMoz1p4h/jvGuhgbp9qgd
 G4a3KIZmPVgg+/Uie8kTpN5V2+Z+5O3mevGes5uxlbBNWCAzvcPncgWon9qePa/D
 zyRGr/0z3ubSyL/SLHiuZrPWnRz3LnJ2twuwggFdlDs=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=recoil.org; h=from
 :message-id:content-type:mime-version:subject:date:in-reply-to
 :cc:to:references; q=dns; s=selector1; b=Gl4t/2I4rdAaYEmfyS5vh/H
 EMeJELQCwdoy/gtcveVM99CEXl53zaP2R+PH9Zfbici6t1qhqxESMKFFAM9J8Rxw
 wiXodMLmjumQCNA6RGF9HZmICs6Il8Ve6OltXgEUIf2KD9X/CLB9Mzgdlo1sh7bp
 PbLgYwunemCQbRPSNz24=
Received: by bark.recoil.org (OpenSMTPD) with ESMTPSA id 71e59e41
 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); 
 Wed, 24 Jan 2018 10:22:51 +0000 (GMT)
From: Anil Madhavapeddy <anil@recoil.org>
Message-Id: <8B6E674A-1AF1-454F-94F1-1178BB96CC57@recoil.org>
Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\))
Date: Wed, 24 Jan 2018 10:22:50 +0000
In-Reply-To: <8cea3e1b-f3e0-b6bb-e7f2-f2e7392387db@neclab.eu>
To: Simon Kuenzer <simon.kuenzer@neclab.eu>
References: <219B4CE4-9E0A-47CC-BD7B-261BE9FA6F91@gmail.com>
 <7B17E6EE-A4B3-44F9-BC41-3B63C6DEACD4@gmail.com>
 <8cea3e1b-f3e0-b6bb-e7f2-f2e7392387db@neclab.eu>
X-Mailer: Apple Mail (2.3445.5.20)
Cc: Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wei.liu2@citrix.com>,
 Lars Kurth <lars.kurth.xen@gmail.com>, Ian Jackson <ian.jackson@eu.citrix.com>,
 Doug Goldstein <cardoe@cardoe.com>, George Dunlap <george.dunlap@citrix.com>,
 xen-xapl@lists.xenproject.org, minios-devel@lists.xenproject.org,
 Julien Grall <julien.grall@arm.com>,
 "Jesus M. Gonzalez-Barahona" <jgb@bitergia.com>,
 mirageos-devel <mirageos-devel@lists.xenproject.org>,
 xen-devel <xen-devel@lists.xenproject.org>, win-pv-devel@lists.xenproject.org,
 paul.durrant@citrix.com, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [win-pv-devel] [MirageOS-devel] [Minios-devel] Preparing for
 GSoC and Outreachy : getting Outreach Program Projects into good shape
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8410441599088556980=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>


--===============8410441599088556980==
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_3332E6E1-D160-40DE-8361-796F538F46F9"


--Apple-Mail=_3332E6E1-D160-40DE-8361-796F538F46F9
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Looks good to me. The difficulties are all =E2=80=98medium=E2=80=99 =
though.  Perhaps break up the =E2=80=9Cnew execution targets=E2=80=9D =
into medium/hard for the various backends? For example, Xen/ARM is =
probably easier than bare metal ARM, and I imagine HyperV is quite =
complex due to the extra coordination code that is required.

regards
Anil

> On 24 Jan 2018, at 09:40, Simon Kuenzer <simon.kuenzer@neclab.eu> =
wrote:
>=20
> Hi all,
>=20
> since we are participating the first time to GSoC, we are happy to =
receive any feedback from you regarding our proposed Unikraft projects!
>=20
> https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Unikraft =
<https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Unikraft>
>=20
> Thanks,
>=20
> Simon
>=20
> On 23.01.2018 10:16, Lars Kurth wrote:
>> Hi all,
>> just a quick note that I submitted the application for GSoC.
>> The project list is not perfect and I removed a number of projects =
because I believe they were completed (or at least started by others). A =
Thank You to Mirage OS and Unikraft folks for adding new projects
>> If we do get accepted, we will have to have another go at the project =
list
>> Best Regards
>> Lars
>>> On 8 Jan 2018, at 15:19, Lars Kurth <lars.kurth.xen@gmail.com> =
wrote:
>>>=20
>>> Hi All,
>>>=20
>>> it's this time of the year again to prepare for GSoC/Outreachy! The =
application deadline for orgs is January 23 - February 11: ideally we =
will have a good updated lists of projects by then as Google will look =
at the quality of the project list. I will also need co-org admins: =
@Mindy are you willing to do this again? Maybe also someone from the =
Unikraft project. That helps ensure that we have reps from various =
subproject that ensure that we don't miss deadlines.
>>>=20
>>>=20
>>> Best Regards
>>> Lars
>>>=20
>>> Existing Projects (for people on the CC list)
>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>>> If you are CC'ed you have one or several projects listed on =
https://wiki.xenproject.org/wiki/Outreach_Program_Projects ... What I =
need you to do is to
>>>=20
>>> a) Weed out any projects that have been completed or are not =
relevant any more
>>>   @Mindy: For MirageOS folks, please check and update =
https://github.com/mirage/mirage-www/wiki/Pioneer-Projects and do the =
same
>>>=20
>>> b) Decide whether you still want to mentor:
>>>   This requires some of your bandwidth from mid-Feb to March 2018 to =
work on small projects
>>>   The actual work happens from May 14 - Aug 14
>>>=20
>>>   If not, please reply and list projects affected
>>>   If yes, please also do so and I will update the Verified field =
accordingly
>>>=20
>>> c) Add any new information to existing projects as relevant.
>>>=20
>>>=20
>>> New Projects
>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>>> Feel free to add new projects to the list, but if you do so please =
let the list know. We are not going to be very strict with =
https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Conventions_for=
_Projects_and_Project_Mentors, but getting someone else to review your =
proposal is a good idea.
>>>=20
>>> Unikraft
>>> --------
>>> I created a place-holder for Unikraft at =
https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Unikraft as =
Unikraft project members indicated they want to participate.
>>> You probably do want to set expectations with regards to start-up =
tasks and come up with a set of tasks to act as a filter for applicants =
(e.g. showing that they set up the environment, etc.)
>>>=20
>>>=20
>>> Specific Improvements to the project documentation
>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
>>>=20
>>> Hypervisor start-up tasks
>>> -------------------------
>>> https://wiki.xenproject.org/wiki/Xen_Project_Development_Projects =
contains: "An easy way to get started (and show that you can set up the =
Xen Development Environment, fix an issue, build and test Xen, submit a =
patch, etc.) is to address a suitable number of Coverity Scan issues. =
Ask on xen-devel@ for a set of suitable Coverity issues. Note that this =
does not require any access to the Coverity scan results. Open bugs to =
fix under the Small Code Contribution Requirement can also be found on =
bugs.xenproject.org"
>>>=20
>>> Do we want to change this? Finding small get started projects is =
always a little bit of a problem. Maybe we can prepare a better list =
somewhere.
>>>=20
>>> In-tree vs. Wiki based projects
>>> -------------------------------
>>> We could also decide to move Hypervisor related ideas in-tree =
somewhere and generate a list if that makes things easier. But this is =
not necessary, in particular given with everything that is going on. I =
just wanted to raise this as an option: I am not particularly wedded to =
using the wiki.
>>>=20
>> _______________________________________________
>> Minios-devel mailing list
>> Minios-devel@lists.xenproject.org =
<mailto:Minios-devel@lists.xenproject.org>
>> https://lists.xenproject.org/mailman/listinfo/minios-devel =
<https://lists.xenproject.org/mailman/listinfo/minios-devel>
>=20
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@lists.xenproject.org =
<mailto:MirageOS-devel@lists.xenproject.org>
> https://lists.xenproject.org/mailman/listinfo/mirageos-devel =
<https://lists.xenproject.org/mailman/listinfo/mirageos-devel>

--Apple-Mail=_3332E6E1-D160-40DE-8361-796F538F46F9
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">Looks=
 good to me. The difficulties are all =E2=80=98medium=E2=80=99 though. =
&nbsp;Perhaps break up the =E2=80=9Cnew execution targets=E2=80=9D into =
medium/hard for the various backends? For example, Xen/ARM is probably =
easier than bare metal ARM, and I imagine HyperV is quite complex due to =
the extra coordination code that is required.<div class=3D""><br =
class=3D""></div><div class=3D"">regards</div><div =
class=3D"">Anil</div><div class=3D""><div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D"">On 24 Jan 2018, at 09:40, Simon =
Kuenzer &lt;<a href=3D"mailto:simon.kuenzer@neclab.eu" =
class=3D"">simon.kuenzer@neclab.eu</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><span =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; =
display: inline !important;" class=3D"">Hi all,</span><br =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><br=
 style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" =
class=3D""><span style=3D"font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; float: none; display: inline =
!important;" class=3D"">since we are participating the first time to =
GSoC, we are happy to receive any feedback from you regarding our =
proposed Unikraft projects!</span><br style=3D"font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><br =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><a =
href=3D"https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Unikraf=
t" style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" =
class=3D"">https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Unik=
raft</a><br style=3D"font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px;" class=3D""><br style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><span =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; =
display: inline !important;" class=3D"">Thanks,</span><br =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><br=
 style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" =
class=3D""><span style=3D"font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; float: none; display: inline =
!important;" class=3D"">Simon</span><br style=3D"font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><br =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" =
class=3D""><span style=3D"font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; float: none; display: inline =
!important;" class=3D"">On 23.01.2018 10:16, Lars Kurth wrote:</span><br =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" =
class=3D""><blockquote type=3D"cite" style=3D"font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px;" class=3D"">Hi all,<br class=3D"">just a =
quick note that I submitted the application for GSoC.<br class=3D"">The =
project list is not perfect and I removed a number of projects because I =
believe they were completed (or at least started by others). A Thank You =
to Mirage OS and Unikraft folks for adding new projects<br class=3D"">If =
we do get accepted, we will have to have another go at the project =
list<br class=3D"">Best Regards<br class=3D"">Lars<br =
class=3D""><blockquote type=3D"cite" class=3D"">On 8 Jan 2018, at 15:19, =
Lars Kurth &lt;<a href=3D"mailto:lars.kurth.xen@gmail.com" =
class=3D"">lars.kurth.xen@gmail.com</a>&gt; wrote:<br class=3D""><br =
class=3D"">Hi All,<br class=3D""><br class=3D"">it's this time of the =
year again to prepare for GSoC/Outreachy! The application deadline for =
orgs is January 23 - February 11: ideally we will have a good updated =
lists of projects by then as Google will look at the quality of the =
project list. I will also need co-org admins: @Mindy are you willing to =
do this again? Maybe also someone from the Unikraft project. That helps =
ensure that we have reps from various subproject that ensure that we =
don't miss deadlines.<br class=3D""><br class=3D""><br class=3D"">Best =
Regards<br class=3D"">Lars<br class=3D""><br class=3D"">Existing =
Projects (for people on the CC list)<br class=3D"">=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D<br class=3D"">If you are CC'ed you have one =
or several projects listed on <a =
href=3D"https://wiki.xenproject.org/wiki/Outreach_Program_Projects" =
class=3D"">https://wiki.xenproject.org/wiki/Outreach_Program_Projects</a> =
... What I need you to do is to<br class=3D""><br class=3D"">a) Weed out =
any projects that have been completed or are not relevant any more<br =
class=3D"">&nbsp;&nbsp;@Mindy: For MirageOS folks, please check and =
update <a =
href=3D"https://github.com/mirage/mirage-www/wiki/Pioneer-Projects" =
class=3D"">https://github.com/mirage/mirage-www/wiki/Pioneer-Projects</a> =
and do the same<br class=3D""><br class=3D"">b) Decide whether you still =
want to mentor:<br class=3D"">&nbsp;&nbsp;This requires some of your =
bandwidth from mid-Feb to March 2018 to work on small projects<br =
class=3D"">&nbsp;&nbsp;The actual work happens from May 14 - Aug 14<br =
class=3D""><br class=3D"">&nbsp;&nbsp;If not, please reply and list =
projects affected<br class=3D"">&nbsp;&nbsp;If yes, please also do so =
and I will update the Verified field accordingly<br class=3D""><br =
class=3D"">c) Add any new information to existing projects as =
relevant.<br class=3D""><br class=3D""><br class=3D"">New Projects<br =
class=3D"">=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br class=3D"">Feel free =
to add new projects to the list, but if you do so please let the list =
know. We are not going to be very strict with <a =
href=3D"https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Convent=
ions_for_Projects_and_Project_Mentors" =
class=3D"">https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Conv=
entions_for_Projects_and_Project_Mentors</a>, but getting someone else =
to review your proposal is a good idea.<br class=3D""><br =
class=3D"">Unikraft<br class=3D"">--------<br class=3D"">I created a =
place-holder for Unikraft at <a =
href=3D"https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Unikraf=
t" =
class=3D"">https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Unik=
raft</a> as Unikraft project members indicated they want to =
participate.<br class=3D"">You probably do want to set expectations with =
regards to start-up tasks and come up with a set of tasks to act as a =
filter for applicants (e.g. showing that they set up the environment, =
etc.)<br class=3D""><br class=3D""><br class=3D"">Specific Improvements =
to the project documentation<br =
class=3D"">=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D<br class=3D""><br class=3D"">Hypervisor start-up tasks<br =
class=3D"">-------------------------<br class=3D""><a =
href=3D"https://wiki.xenproject.org/wiki/Xen_Project_Development_Projects"=
 =
class=3D"">https://wiki.xenproject.org/wiki/Xen_Project_Development_Projec=
ts</a> contains: "An easy way to get started (and show that you can set =
up the Xen Development Environment, fix an issue, build and test Xen, =
submit a patch, etc.) is to address a suitable number of Coverity Scan =
issues. Ask on xen-devel@ for a set of suitable Coverity issues. Note =
that this does not require any access to the Coverity scan results. Open =
bugs to fix under the Small Code Contribution Requirement can also be =
found on <a href=3D"http://bugs.xenproject.org" =
class=3D"">bugs.xenproject.org</a>"<br class=3D""><br class=3D"">Do we =
want to change this? Finding small get started projects is always a =
little bit of a problem. Maybe we can prepare a better list =
somewhere.<br class=3D""><br class=3D"">In-tree vs. Wiki based =
projects<br class=3D"">-------------------------------<br class=3D"">We =
could also decide to move Hypervisor related ideas in-tree somewhere and =
generate a list if that makes things easier. But this is not necessary, =
in particular given with everything that is going on. I just wanted to =
raise this as an option: I am not particularly wedded to using the =
wiki.<br class=3D""><br =
class=3D""></blockquote>_______________________________________________<br=
 class=3D"">Minios-devel mailing list<br class=3D""><a =
href=3D"mailto:Minios-devel@lists.xenproject.org" =
class=3D"">Minios-devel@lists.xenproject.org</a><br class=3D""><a =
href=3D"https://lists.xenproject.org/mailman/listinfo/minios-devel" =
class=3D"">https://lists.xenproject.org/mailman/listinfo/minios-devel</a><=
br class=3D""></blockquote><br style=3D"font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><span =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; =
display: inline !important;" =
class=3D"">_______________________________________________</span><br =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" =
class=3D""><span style=3D"font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; float: none; display: inline =
!important;" class=3D"">MirageOS-devel mailing list</span><br =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><a =
href=3D"mailto:MirageOS-devel@lists.xenproject.org" style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; orphans: auto; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px;" =
class=3D"">MirageOS-devel@lists.xenproject.org</a><br =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><a =
href=3D"https://lists.xenproject.org/mailman/listinfo/mirageos-devel" =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" =
class=3D"">https://lists.xenproject.org/mailman/listinfo/mirageos-devel</a=
></div></blockquote></div><br class=3D""></div></body></html>=

--Apple-Mail=_3332E6E1-D160-40DE-8361-796F538F46F9--


--===============8410441599088556980==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

--===============8410441599088556980==--


From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 14:06:17 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 14:06:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeLgs-0006aL-US; Wed, 24 Jan 2018 14:06:14 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cbgo=et=citrix.com=prvs=555590473=owen.smith@srs-us1.protection.inumbo.net>)
 id 1eeLgr-0006a3-QI
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 14:06:13 +0000
X-Inumbo-ID: bbf2c327-010f-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id bbf2c327-010f-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 14:06:13 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,407,1511827200"; d="scan'208";a="459468925"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 24 Jan 2018 14:05:02 +0000
Message-ID: <20180124140515.12284-2-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20180124140515.12284-1-owen.smith@citrix.com>
References: <20180124140515.12284-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 01/14] chmod 777 msbuild.bat
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKY3lnd2luIGZhaWxzIGlm
IHNjcmlwdHMgYXJuJ3QgZXhlY3V0YWJsZQoKU2lnbmVkLW9mZi1ieTogT3dlbiBTbWl0aCA8b3dl
bi5zbWl0aEBjaXRyaXguY29tPgotLS0KIG1zYnVpbGQuYmF0IHwgMAogMSBmaWxlIGNoYW5nZWQs
IDAgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKIG1vZGUgY2hhbmdlIDEwMDY0NCA9PiAx
MDA3NTUgbXNidWlsZC5iYXQKCmRpZmYgLS1naXQgYS9tc2J1aWxkLmJhdCBiL21zYnVpbGQuYmF0
Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKLS0gCjIuOC4zCgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVsIG1haWxpbmcg
bGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w
cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 14:06:17 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 14:06:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeLgu-0006af-0O; Wed, 24 Jan 2018 14:06:16 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cbgo=et=citrix.com=prvs=555590473=owen.smith@srs-us1.protection.inumbo.net>)
 id 1eeLgs-0006a5-7J
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 14:06:14 +0000
X-Inumbo-ID: bd483eb2-010f-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id bd483eb2-010f-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 14:06:14 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,407,1511827200"; d="scan'208";a="459468931"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 24 Jan 2018 14:05:06 +0000
Message-ID: <20180124140515.12284-6-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20180124140515.12284-1-owen.smith@citrix.com>
References: <20180124140515.12284-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 05/14] Add a short Sleep between CreateFile
	calls
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKSWYgdGhlcmUgaXMgbm8g
ZGVsYXksIGl0cyBwb3NzaWJsZSBmb3IgdGhlIHNlY29uZCBjYWxsIHRvIENyZWF0ZUZpbGUKdG8g
ZmFpbCB3aXRoIGFsbCBwaXBlIGluc3RhbmNlcyBidXN5LiBHaXZlIHRoZSBzZXJ2ZXIgZW5kIHRp
bWUgdG8KZ2V0IGJhY2sgdG8gQ29ubmVjdE5hbWVkUGlwZQoKU2lnbmVkLW9mZi1ieTogT3dlbiBT
bWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy90dHkvdHR5LmMgfCA1ICsrKysr
CiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL3R0eS90
dHkuYyBiL3NyYy90dHkvdHR5LmMKaW5kZXggMGVkNTk5ZS4uNzZmNDY1MSAxMDA2NDQKLS0tIGEv
c3JjL3R0eS90dHkuYworKysgYi9zcmMvdHR5L3R0eS5jCkBAIC00MTMsNiArNDEzLDExIEBAIF90
bWFpbigKICAgICBpZiAoQ29udGV4dC0+RGV2aWNlLlJlYWQgPT0gSU5WQUxJRF9IQU5ETEVfVkFM
VUUpCiAgICAgICAgIEV4aXRQcm9jZXNzKDEpOwogCisgICAgLy8gYWRkIGEgc21hbGwgZGVsYXkg
aGVyZSwgdG8gcHJldmVudCB0aGUgc2Vjb25kIENyZWF0ZUZpbGUgcmV0dXJuaW5nIHdpdGgKKyAg
ICAvLyBhbGwgcGlwZSBpbnN0YW5jZXMgYnVzeSAtIHRoaXMgZ2l2ZXMgdGhlIHNlcnZlciBlbmQg
c29tZSB0aW1lIHRvIHNwYXduCisgICAgLy8gdGhlIHJlYWQgcGlwZSBhbmQgcmV0dXJuIHRvIENv
bm5lY3ROYW1lZFBpcGUKKyAgICBTbGVlcCg1MCk7CisKICAgICBDb250ZXh0LT5EZXZpY2UuV3Jp
dGUgPSBDcmVhdGVGaWxlKFBJUEVfTkFNRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEdFTkVSSUNfV1JJVEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBGSUxFX1NIQVJFX1JFQUQgfCBGSUxFX1NIQVJFX1dSSVRFLAotLSAKMi44LjMKCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2
ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 14:06:17 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 14:06:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeLgs-0006aT-VT; Wed, 24 Jan 2018 14:06:14 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cbgo=et=citrix.com=prvs=555590473=owen.smith@srs-us1.protection.inumbo.net>)
 id 1eeLgr-0006a4-QO
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 14:06:13 +0000
X-Inumbo-ID: bc94ae0f-010f-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id bc94ae0f-010f-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 14:06:13 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,407,1511827200"; d="scan'208";a="459468928"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 24 Jan 2018 14:05:04 +0000
Message-ID: <20180124140515.12284-4-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20180124140515.12284-1-owen.smith@citrix.com>
References: <20180124140515.12284-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 03/14] Add IOCTLs to get Instance,
	Name and Protocol
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKSGFyZCBjb2RlIHRoZXNl
IHZhbHVlcyBmb3IgdGhlIGRlZmF1bHQgY29uc29sZSwgdGhlIHZhbHVlcwpzaG91bGQgYmUgcmVh
ZCBmcm9tIHhlbnN0b3JlCgpTaWduZWQtb2ZmLWJ5OiBPd2VuIFNtaXRoIDxvd2VuLnNtaXRoQGNp
dHJpeC5jb20+Ci0tLQogaW5jbHVkZS94ZW5jb25zX2RldmljZS5oIHwgMTcgKysrKysrKysrKwog
c3JjL3hlbmNvbnMvZmRvLmMgICAgICAgIHwgODIgKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDk5IGluc2VydGlvbnMoKykK
CmRpZmYgLS1naXQgYS9pbmNsdWRlL3hlbmNvbnNfZGV2aWNlLmggYi9pbmNsdWRlL3hlbmNvbnNf
ZGV2aWNlLmgKaW5kZXggZWFmNTdkOC4uNTJmMjY3MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW5j
b25zX2RldmljZS5oCisrKyBiL2luY2x1ZGUveGVuY29uc19kZXZpY2UuaApAQCAtMzYsNCArMzYs
MjEgQEAKIERFRklORV9HVUlEKEdVSURfWEVOQ09OU19ERVZJQ0UsCiAgICAgICAgICAgICAweGQz
ZWRkMjEsIDB4OGVmOSwgMHg0ZGZmLCAweDg1LCAweDZjLCAweDhjLCAweDY4LCAweGJmLCAweDRm
LCAweGRjLCAweGEzKTsKIAorI2RlZmluZSBfX0lPQ1RMX1hFTkNPTlNfQkVHSU4gICAgICAgMHg4
MDAKKworI2RlZmluZSBJT0NUTF9YRU5DT05TX0dFVF9JTlNUQU5DRSAgQ1RMX0NPREUoRklMRV9E
RVZJQ0VfVU5LTk9XTiwgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBfX0lPQ1RMX1hFTkNPTlNfQkVHSU4gKyAwLCAgXAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRVRIT0RfQlVGRkVSRUQsICAgICAgICAgICAg
XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFX0FOWV9B
Q0NFU1MpCisKKyNkZWZpbmUgSU9DVExfWEVOQ09OU19HRVRfTkFNRSAgICAgIENUTF9DT0RFKEZJ
TEVfREVWSUNFX1VOS05PV04sICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgX19JT0NUTF9YRU5DT05TX0JFR0lOICsgMSwgIFwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVUSE9EX0JVRkZFUkVELCAgICAgICAg
ICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRV9B
TllfQUNDRVNTKQorCisjZGVmaW5lIElPQ1RMX1hFTkNPTlNfR0VUX1BST1RPQ09MICBDVExfQ09E
RShGSUxFX0RFVklDRV9VTktOT1dOLCAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIF9fSU9DVExfWEVOQ09OU19CRUdJTiArIDIsICBcCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhPRF9CVUZGRVJFRCwgICAg
ICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJ
TEVfQU5ZX0FDQ0VTUykKKwogI2VuZGlmICAvLyBfWEVOQ09OU19ERVZJQ0VfSApkaWZmIC0tZ2l0
IGEvc3JjL3hlbmNvbnMvZmRvLmMgYi9zcmMveGVuY29ucy9mZG8uYwppbmRleCA2YTdmNzBjLi44
ZTcyZGM2IDEwMDY0NAotLS0gYS9zcmMveGVuY29ucy9mZG8uYworKysgYi9zcmMveGVuY29ucy9m
ZG8uYwpAQCAtMjE5NCw2ICsyMTk0LDg0IEBAIGZhaWwxOgogfQogCiBzdGF0aWMgREVDTFNQRUNf
Tk9JTkxJTkUgTlRTVEFUVVMKK0Zkb0Rpc3BhdGNoQ29udHJvbCgKKyAgICBJTiAgUFhFTkNPTlNf
RkRPICAgIEZkbywKKyAgICBJTiAgUElSUCAgICAgICAgICAgIElycAorICAgICkKK3sKKyAgICBQ
SU9fU1RBQ0tfTE9DQVRJT04gIFN0YWNrTG9jYXRpb247CisgICAgVUxPTkcgICAgICAgICAgICAg
ICBJb0NvbnRyb2xDb2RlOworICAgIFVMT05HICAgICAgICAgICAgICAgSW5wdXRCdWZmZXJMZW5n
dGg7CisgICAgVUxPTkcgICAgICAgICAgICAgICBPdXRwdXRCdWZmZXJMZW5ndGg7CisgICAgUFZP
SUQgICAgICAgICAgICAgICBCdWZmZXI7CisgICAgUENIQVIgICAgICAgICAgICAgICBWYWx1ZTsK
KyAgICBVTE9ORyAgICAgICAgICAgICAgIExlbmd0aDsKKyAgICBOVFNUQVRVUyAgICAgICAgICAg
IHN0YXR1czsKKworICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoRmRvKTsKKworICAgIFN0YWNr
TG9jYXRpb24gPSBJb0dldEN1cnJlbnRJcnBTdGFja0xvY2F0aW9uKElycCk7CisgICAgSW9Db250
cm9sQ29kZSA9IFN0YWNrTG9jYXRpb24tPlBhcmFtZXRlcnMuRGV2aWNlSW9Db250cm9sLklvQ29u
dHJvbENvZGU7CisgICAgSW5wdXRCdWZmZXJMZW5ndGggPSBTdGFja0xvY2F0aW9uLT5QYXJhbWV0
ZXJzLkRldmljZUlvQ29udHJvbC5JbnB1dEJ1ZmZlckxlbmd0aDsKKyAgICBPdXRwdXRCdWZmZXJM
ZW5ndGggPSBTdGFja0xvY2F0aW9uLT5QYXJhbWV0ZXJzLkRldmljZUlvQ29udHJvbC5PdXRwdXRC
dWZmZXJMZW5ndGg7CisgICAgQnVmZmVyID0gSXJwLT5Bc3NvY2lhdGVkSXJwLlN5c3RlbUJ1ZmZl
cjsKKworICAgIHN3aXRjaCAoSW9Db250cm9sQ29kZSkgeworICAgIGNhc2UgSU9DVExfWEVOQ09O
U19HRVRfSU5TVEFOQ0U6CisgICAgICAgIFZhbHVlID0gIjAiOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIElPQ1RMX1hFTkNPTlNfR0VUX05BTUU6CisgICAgICAgIFZhbHVlID0gImRlZmF1bHQi
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIElPQ1RMX1hFTkNPTlNfR0VUX1BST1RPQ09MOgor
ICAgICAgICBWYWx1ZSA9ICJ2dDEwMCI7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6Cisg
ICAgICAgIHN0YXR1cyA9IFNUQVRVU19OT1RfU1VQUE9SVEVEOworICAgICAgICBnb3RvIGZhaWwx
OworICAgIH0KKyAgICBMZW5ndGggPSAoVUxPTkcpc3RybGVuKFZhbHVlKTsKKworICAgIHN0YXR1
cyA9IFNUQVRVU19JTlZBTElEX1BBUkFNRVRFUjsKKyAgICBpZiAoSW5wdXRCdWZmZXJMZW5ndGgg
IT0gMCkKKyAgICAgICAgZ290byBmYWlsMjsKKworICAgIElycC0+SW9TdGF0dXMuSW5mb3JtYXRp
b24gPSBMZW5ndGg7CisKKyAgICBzdGF0dXMgPSBTVEFUVVNfSU5WQUxJRF9CVUZGRVJfU0laRTsK
KyAgICBpZiAoT3V0cHV0QnVmZmVyTGVuZ3RoID09IDApCisgICAgICAgIGdvdG8gZG9uZTsKKwor
ICAgIFJ0bFplcm9NZW1vcnkoQnVmZmVyLCBPdXRwdXRCdWZmZXJMZW5ndGgpOworCisgICAgaWYg
KE91dHB1dEJ1ZmZlckxlbmd0aCA8IExlbmd0aCkKKyAgICAgICAgZ290byBmYWlsMzsKKworICAg
IFJ0bENvcHlNZW1vcnkoQnVmZmVyLCBWYWx1ZSwgTGVuZ3RoKTsKKyAgICBzdGF0dXMgPSBTVEFU
VVNfU1VDQ0VTUzsKKworZG9uZToKKyAgICBJcnAtPklvU3RhdHVzLlN0YXR1cyA9IHN0YXR1czsK
KyAgICBJb0NvbXBsZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7CisKKyAgICByZXR1
cm4gc3RhdHVzOworCitmYWlsMzoKKyAgICBFcnJvcigiZmFpbDNcbiIpOworCitmYWlsMjoKKyAg
ICBFcnJvcigiZmFpbDJcbiIpOworCitmYWlsMToKKyAgICBFcnJvcigiZmFpbDEgKCUwOHgpXG4i
LCBzdGF0dXMpOworCisgICAgSXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBzdGF0dXM7CisgICAgSW9D
b21wbGV0ZVJlcXVlc3QoSXJwLCBJT19OT19JTkNSRU1FTlQpOworCisgICAgcmV0dXJuIHN0YXR1
czsKK30KKworc3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIE5UU1RBVFVTCiBGZG9EaXNwYXRjaERl
ZmF1bHQoCiAgICAgSU4gIFBYRU5DT05TX0ZETyAgICBGZG8sCiAgICAgSU4gIFBJUlAgICAgICAg
ICAgICBJcnAKQEAgLTIyNTAsNiArMjMyOCwxMCBAQCBGZG9EaXNwYXRjaCgKICAgICAgICAgc3Rh
dHVzID0gRmRvRGlzcGF0Y2hSZWFkV3JpdGUoRmRvLCBJcnApOwogICAgICAgICBicmVhazsKIAor
ICAgIGNhc2UgSVJQX01KX0RFVklDRV9DT05UUk9MOgorICAgICAgICBzdGF0dXMgPSBGZG9EaXNw
YXRjaENvbnRyb2woRmRvLCBJcnApOworICAgICAgICBicmVhazsKKwogICAgIGRlZmF1bHQ6CiAg
ICAgICAgIHN0YXR1cyA9IEZkb0Rpc3BhdGNoRGVmYXVsdChGZG8sIElycCk7CiAgICAgICAgIGJy
ZWFrOwotLSAKMi44LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5w
cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v
d2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 14:06:23 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 14:06:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeLh1-0006bz-2E; Wed, 24 Jan 2018 14:06:23 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cbgo=et=citrix.com=prvs=555590473=owen.smith@srs-us1.protection.inumbo.net>)
 id 1eeLgz-0006ap-Cj
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 14:06:21 +0000
X-Inumbo-ID: be3e466a-010f-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id be3e466a-010f-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 14:06:16 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,407,1511827200"; d="scan'208";a="459468941"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 24 Jan 2018 14:05:09 +0000
Message-ID: <20180124140515.12284-9-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20180124140515.12284-1-owen.smith@citrix.com>
References: <20180124140515.12284-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 08/14] Add boilerplate frontend
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKU2lnbmVkLW9mZi1ieTog
T3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIGluY2x1ZGUveGVuLXR5cGVz
LmggICAgICAgICAgICAgICAgICAgICAgfCAgIDU1ICsrCiBpbmNsdWRlL3hlbi12ZXJzaW9uLmgg
ICAgICAgICAgICAgICAgICAgIHwgICAzNyArCiBpbmNsdWRlL3hlbi13YXJuaW5ncy5oICAgICAg
ICAgICAgICAgICAgIHwgICA0MiArCiBpbmNsdWRlL3hlbi5oICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICA0NSArKwogaW5jbHVkZS94ZW4vcHVibGljL2FyY2gteDg2L3hlbi14ODZfMzIu
aCB8ICAxNjkgKysrKwogaW5jbHVkZS94ZW4vcHVibGljL2FyY2gteDg2L3hlbi14ODZfNjQuaCB8
ICAyMDIgKysrKysKIGluY2x1ZGUveGVuL3B1YmxpYy9hcmNoLXg4Ni94ZW4uaCAgICAgICAgfCAg
MzM4ICsrKysrKysrCiBpbmNsdWRlL3hlbi9wdWJsaWMvZXJybm8uaCAgICAgICAgICAgICAgIHwg
IDEyNCArKysKIGluY2x1ZGUveGVuL3B1YmxpYy9ncmFudF90YWJsZS5oICAgICAgICAgfCAgNjg0
ICsrKysrKysrKysrKysrKysKIGluY2x1ZGUveGVuL3B1YmxpYy9pby9jb25zb2xlLmggICAgICAg
ICAgfCAgIDUxICsrCiBpbmNsdWRlL3hlbi9wdWJsaWMvaW8vcmluZy5oICAgICAgICAgICAgIHwg
IDMyNiArKysrKysrKwogaW5jbHVkZS94ZW4vcHVibGljL2lvL3hlbmJ1cy5oICAgICAgICAgICB8
ICAgODAgKysKIGluY2x1ZGUveGVuL3B1YmxpYy90cmFjZS5oICAgICAgICAgICAgICAgfCAgMzM3
ICsrKysrKysrCiBpbmNsdWRlL3hlbi9wdWJsaWMveGVuLWNvbXBhdC5oICAgICAgICAgIHwgICA0
NCArCiBpbmNsdWRlL3hlbi9wdWJsaWMveGVuLmggICAgICAgICAgICAgICAgIHwgIDk5NSArKysr
KysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS94ZW4veGVuL2Vycm5vLmggICAgICAgICAgICAg
ICAgICB8ICAgMTggKwogc3JjL3hlbmNvbnMvZnJvbnRlbmQuYyAgICAgICAgICAgICAgICAgICB8
IDEyODUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMveGVuY29ucy9mcm9udGVu
ZC5oICAgICAgICAgICAgICAgICAgIHwgIDEyNCArKysKIHNyYy94ZW5jb25zL3Bkby5jICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDc5ICstCiB2czIwMTUveGVuY29ucy94ZW5jb25zLnZjeHBy
b2ogICAgICAgICAgIHwgICAgMSArCiAyMCBmaWxlcyBjaGFuZ2VkLCA1MDE3IGluc2VydGlvbnMo
KyksIDE5IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNzU1IGluY2x1ZGUveGVuLXR5cGVz
LmgKIGNyZWF0ZSBtb2RlIDEwMDc1NSBpbmNsdWRlL3hlbi12ZXJzaW9uLmgKIGNyZWF0ZSBtb2Rl
IDEwMDc1NSBpbmNsdWRlL3hlbi13YXJuaW5ncy5oCiBjcmVhdGUgbW9kZSAxMDA3NTUgaW5jbHVk
ZS94ZW4uaAogY3JlYXRlIG1vZGUgMTAwNzU1IGluY2x1ZGUveGVuL3B1YmxpYy9hcmNoLXg4Ni94
ZW4teDg2XzMyLmgKIGNyZWF0ZSBtb2RlIDEwMDc1NSBpbmNsdWRlL3hlbi9wdWJsaWMvYXJjaC14
ODYveGVuLXg4Nl82NC5oCiBjcmVhdGUgbW9kZSAxMDA3NTUgaW5jbHVkZS94ZW4vcHVibGljL2Fy
Y2gteDg2L3hlbi5oCiBjcmVhdGUgbW9kZSAxMDA3NTUgaW5jbHVkZS94ZW4vcHVibGljL2Vycm5v
LmgKIGNyZWF0ZSBtb2RlIDEwMDc1NSBpbmNsdWRlL3hlbi9wdWJsaWMvZ3JhbnRfdGFibGUuaAog
Y3JlYXRlIG1vZGUgMTAwNzU1IGluY2x1ZGUveGVuL3B1YmxpYy9pby9jb25zb2xlLmgKIGNyZWF0
ZSBtb2RlIDEwMDc1NSBpbmNsdWRlL3hlbi9wdWJsaWMvaW8vcmluZy5oCiBjcmVhdGUgbW9kZSAx
MDA3NTUgaW5jbHVkZS94ZW4vcHVibGljL2lvL3hlbmJ1cy5oCiBjcmVhdGUgbW9kZSAxMDA3NTUg
aW5jbHVkZS94ZW4vcHVibGljL3RyYWNlLmgKIGNyZWF0ZSBtb2RlIDEwMDc1NSBpbmNsdWRlL3hl
bi9wdWJsaWMveGVuLWNvbXBhdC5oCiBjcmVhdGUgbW9kZSAxMDA3NTUgaW5jbHVkZS94ZW4vcHVi
bGljL3hlbi5oCiBjcmVhdGUgbW9kZSAxMDA3NTUgaW5jbHVkZS94ZW4veGVuL2Vycm5vLmgKIGNy
ZWF0ZSBtb2RlIDEwMDc1NSBzcmMveGVuY29ucy9mcm9udGVuZC5jCiBjcmVhdGUgbW9kZSAxMDA3
NTUgc3JjL3hlbmNvbnMvZnJvbnRlbmQuaAoKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuLXR5cGVz
LmggYi9pbmNsdWRlL3hlbi10eXBlcy5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAw
MDAuLjIzMmQ3OTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3hlbi10eXBlcy5oCkBAIC0w
LDAgKzEsNTUgQEAKKy8qIENvcHlyaWdodCAoYykgQ2l0cml4IFN5c3RlbXMgSW5jLgorICogQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIAorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3JtcywgCisgKiB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIAorICogdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDoKKyAqIAorICogKiAgIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgCisgKiAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSAKKyAqICAgICBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICog
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IAorICogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgCisgKiAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIAorICogICAgIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKiAKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCAKKyAqIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIAorICogSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgCisgKiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSAKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIAorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgCisgKiBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgCisgKiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIAorICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IAorICogV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIAorICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIF9YRU5f
VFlQRVNfSAorI2RlZmluZSBfWEVOX1RZUEVTX0gKKworI2luY2x1ZGUgPG50ZGRrLmg+CisKKy8v
IERlZmluZSB0eXBlcyBuZWNlc3NhcnkgdG8gaW5jbHVkZSB4ZW4gaGVhZGVycworCit0eXBlZGVm
IENIQVIgICAgaW50OF90OwordHlwZWRlZiBTSE9SVCAgIGludDE2X3Q7Cit0eXBlZGVmIExPTkcg
ICAgaW50MzJfdDsKK3R5cGVkZWYgTE9ORzY0ICBpbnQ2NF90OworCit0eXBlZGVmIFVDSEFSICAg
dWludDhfdDsKK3R5cGVkZWYgVVNIT1JUICB1aW50MTZfdDsKK3R5cGVkZWYgVUxPTkcgICB1aW50
MzJfdDsKK3R5cGVkZWYgVUxPTkc2NCB1aW50NjRfdDsKKworI2RlZmluZSBvZmZzZXRvZihfdHlw
ZSwgX2ZpZWxkKSBGSUVMRF9PRkZTRVQoX3R5cGUsIF9maWVsZCkKKworI2RlZmluZSB4ZW5fbWIo
KSAgICBLZU1lbW9yeUJhcnJpZXIoKQorI2RlZmluZSB4ZW5fd21iKCkgICBLZU1lbW9yeUJhcnJp
ZXIoKQorI2RlZmluZSB4ZW5fcm1iKCkgICBLZW1lbW9yeUJhcnJpZXIoKQorCisjZW5kaWYgIC8v
IF9YRU5fVFlQRVNfSApkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4tdmVyc2lvbi5oIGIvaW5jbHVk
ZS94ZW4tdmVyc2lvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVkYTQy
MzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3hlbi12ZXJzaW9uLmgKQEAgLTAsMCArMSwz
NyBAQAorLyogQ29weXJpZ2h0IChjKSBDaXRyaXggU3lzdGVtcyBJbmMuCisgKiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCAKKyAqIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgCisgKiB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OgorICogCisgKiAqICAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSAKKyAqICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIAorICogICAgIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogKiAgIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgCisgKiAg
ICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSAKKyAq
ICAgICBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgCisgKiAgICAgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
IAorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIAorICogQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgCisgKiBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiAKKyAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIAorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBIT0xERVIgT1IgCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCAKKyAqIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiAKKyAqIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgCisgKiBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
CisgKiBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIAorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiAKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgX1hFTl9WRVJTSU9O
X0gKKyNkZWZpbmUgX1hFTl9WRVJTSU9OX0gKKworI2RlZmluZSBfX1hFTl9JTlRFUkZBQ0VfVkVS
U0lPTl9fIF9fWEVOX0xBVEVTVF9JTlRFUkZBQ0VfVkVSU0lPTl9fCisKKyNlbmRpZiAgLy8gX1hF
Tl9WRVJTSU9OX0gKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuLXdhcm5pbmdzLmggYi9pbmNsdWRl
L3hlbi13YXJuaW5ncy5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVhMDk1
YjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3hlbi13YXJuaW5ncy5oCkBAIC0wLDAgKzEs
NDIgQEAKKy8qIENvcHlyaWdodCAoYykgQ2l0cml4IFN5c3RlbXMgSW5jLgorICogQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIAorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3JtcywgCisgKiB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIAorICogdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1l
dDoKKyAqIAorICogKiAgIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgCisgKiAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSAKKyAqICAgICBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICogICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIAorICog
ICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgCisg
KiAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIAorICogICAgIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KiAKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCAKKyAqIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIAorICogSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgCisgKiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSAKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIAorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgCisgKiBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgCisgKiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIAorICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIAorICog
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IAorICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIF9YRU5fV0FSTklO
R1NfSAorI2RlZmluZSBfWEVOX1dBUk5JTkdTX0gKKworI2luY2x1ZGUgPG50ZGRrLmg+CisKKy8v
IERpc2FibGUgd2FybmluZ3MgbmVjZXNzYXJ5IHRvIGluY2x1ZGUgeGVuIGhlYWRlcnMKKworIyBw
cmFnbWEgd2FybmluZyhkaXNhYmxlOjQyMTQpIC8vIG5vbnN0YW5kYXJkIGV4dGVuc2lvbiB1c2Vk
IDogYml0IGZpZWxkIHR5cGVzIG90aGVyIHRoYW4gaW50CisjIHByYWdtYSB3YXJuaW5nKGRpc2Fi
bGU6NDIwMCkgLy8gbm9uc3RhbmRhcmQgZXh0ZW5zaW9uIHVzZWQgOiB6ZXJvLXNpemVkIGFycmF5
IGluIHN0cnVjdC91bmlvbgorCisjZW5kaWYgIC8vIF9YRU5fV0FSTklOR1NfSApkaWZmIC0tZ2l0
IGEvaW5jbHVkZS94ZW4uaCBiL2luY2x1ZGUveGVuLmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5k
ZXggMDAwMDAwMC4uMjdmYWYyNgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUveGVuLmgKQEAg
LTAsMCArMSw0NSBAQAorLyogQ29weXJpZ2h0IChjKSBDaXRyaXggU3lzdGVtcyBJbmMuCisgKiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCAKKyAqIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgCisgKiB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OgorICogCisgKiAqICAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSAKKyAqICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIAorICogICAgIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
KiAgIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgCisgKiAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSAKKyAqICAgICBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgCisgKiAgICAgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIAorICogQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgCisgKiBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiAKKyAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIAorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCAKKyAqIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiAKKyAqIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgCisgKiBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgCisgKiBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIAorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiAKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgX1hF
Tl9ICisjZGVmaW5lIF9YRU5fSAorCisjaW5jbHVkZSA8bnRkZGsuaD4KKworI2luY2x1ZGUgPHhl
bi12ZXJzaW9uLmg+CisjaW5jbHVkZSA8eGVuLXR5cGVzLmg+CisjaW5jbHVkZSA8eGVuLXdhcm5p
bmdzLmg+CisKKyNpbmNsdWRlIDxwdWJsaWMvaW8vcmluZy5oPgorI2luY2x1ZGUgPHB1YmxpYy9p
by9jb25zb2xlLmg+CisjaW5jbHVkZSA8cHVibGljL2lvL3hlbmJ1cy5oPgorCisjZW5kaWYgIC8v
IF9YRU5fSApkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vcHVibGljL2FyY2gteDg2L3hlbi14ODZf
MzIuaCBiL2luY2x1ZGUveGVuL3B1YmxpYy9hcmNoLXg4Ni94ZW4teDg2XzMyLmgKbmV3IGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDIzMzQwYgotLS0gL2Rldi9udWxsCisrKyBiL2lu
Y2x1ZGUveGVuL3B1YmxpYy9hcmNoLXg4Ni94ZW4teDg2XzMyLmgKQEAgLTAsMCArMSwxNjkgQEAK
Ky8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKKyAqIHhlbi14ODZfMzIuaAorICoKKyAqIEd1ZXN0IE9T
IGludGVyZmFjZSB0byB4ODYgMzItYml0IFhlbi4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVi
eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5
CisgKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg
KHRoZSAiU29mdHdhcmUiKSwgdG8KKyAqIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVz
dHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlCisgKiByaWdodHMgdG8g
dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNl
LCBhbmQvb3IKKyAqIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBw
ZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisgKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVk
IGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2Fy
ZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS
QU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUKKyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF
IEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBG
Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNF
IE9SIE9USEVSCisgKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogQ29weXJpZ2h0
IChjKSAyMDA0LTIwMDcsIEsgQSBGcmFzZXIKKyAqLworCisjaWZuZGVmIF9fWEVOX1BVQkxJQ19B
UkNIX1g4Nl9YRU5fWDg2XzMyX0hfXworI2RlZmluZSBfX1hFTl9QVUJMSUNfQVJDSF9YODZfWEVO
X1g4Nl8zMl9IX18KKworLyoKKyAqIEh5cGVyY2FsbCBpbnRlcmZhY2U6CisgKiAgSW5wdXQ6ICAl
ZWJ4LCAlZWN4LCAlZWR4LCAlZXNpLCAlZWRpLCAlZWJwIChhcmd1bWVudHMgMS02KQorICogIE91
dHB1dDogJWVheAorICogQWNjZXNzIGlzIHZpYSBoeXBlcmNhbGwgcGFnZSAoc2V0IHVwIGJ5IGd1
ZXN0IGxvYWRlciBvciB2aWEgYSBYZW4gTVNSKToKKyAqICBjYWxsIGh5cGVyY2FsbF9wYWdlICsg
aHlwZXJjYWxsLW51bWJlciAqIDMyCisgKiBDbG9iYmVyZWQ6IEFyZ3VtZW50IHJlZ2lzdGVycyAo
ZS5nLiwgMi1hcmcgaHlwZXJjYWxsIGNsb2JiZXJzICVlYngsJWVjeCkKKyAqLworCisvKgorICog
VGhlc2UgZmxhdCBzZWdtZW50cyBhcmUgaW4gdGhlIFhlbi1wcml2YXRlIHNlY3Rpb24gb2YgZXZl
cnkgR0RULiBTaW5jZSB0aGVzZQorICogYXJlIGFsc28gcHJlc2VudCBpbiB0aGUgaW5pdGlhbCBH
RFQsIG1hbnkgT1NlcyB3aWxsIGJlIGFibGUgdG8gYXZvaWQKKyAqIGluc3RhbGxpbmcgdGhlaXIg
b3duIEdEVC4KKyAqLworI2RlZmluZSBGTEFUX1JJTkcxX0NTIDB4ZTAxOSAgICAvKiBHRFQgaW5k
ZXggMjU5ICovCisjZGVmaW5lIEZMQVRfUklORzFfRFMgMHhlMDIxICAgIC8qIEdEVCBpbmRleCAy
NjAgKi8KKyNkZWZpbmUgRkxBVF9SSU5HMV9TUyAweGUwMjEgICAgLyogR0RUIGluZGV4IDI2MCAq
LworI2RlZmluZSBGTEFUX1JJTkczX0NTIDB4ZTAyYiAgICAvKiBHRFQgaW5kZXggMjYxICovCisj
ZGVmaW5lIEZMQVRfUklORzNfRFMgMHhlMDMzICAgIC8qIEdEVCBpbmRleCAyNjIgKi8KKyNkZWZp
bmUgRkxBVF9SSU5HM19TUyAweGUwMzMgICAgLyogR0RUIGluZGV4IDI2MiAqLworCisjZGVmaW5l
IEZMQVRfS0VSTkVMX0NTIEZMQVRfUklORzFfQ1MKKyNkZWZpbmUgRkxBVF9LRVJORUxfRFMgRkxB
VF9SSU5HMV9EUworI2RlZmluZSBGTEFUX0tFUk5FTF9TUyBGTEFUX1JJTkcxX1NTCisjZGVmaW5l
IEZMQVRfVVNFUl9DUyAgICBGTEFUX1JJTkczX0NTCisjZGVmaW5lIEZMQVRfVVNFUl9EUyAgICBG
TEFUX1JJTkczX0RTCisjZGVmaW5lIEZMQVRfVVNFUl9TUyAgICBGTEFUX1JJTkczX1NTCisKKyNk
ZWZpbmUgX19IWVBFUlZJU09SX1ZJUlRfU1RBUlRfUEFFICAgIDB4RjU4MDAwMDAKKyNkZWZpbmUg
X19NQUNIMlBIWVNfVklSVF9TVEFSVF9QQUUgICAgIDB4RjU4MDAwMDAKKyNkZWZpbmUgX19NQUNI
MlBIWVNfVklSVF9FTkRfUEFFICAgICAgIDB4RjY4MDAwMDAKKyNkZWZpbmUgSFlQRVJWSVNPUl9W
SVJUX1NUQVJUX1BBRSAgICAgIHhlbl9ta191bG9uZyhfX0hZUEVSVklTT1JfVklSVF9TVEFSVF9Q
QUUpCisjZGVmaW5lIE1BQ0gyUEhZU19WSVJUX1NUQVJUX1BBRSAgICAgICB4ZW5fbWtfdWxvbmco
X19NQUNIMlBIWVNfVklSVF9TVEFSVF9QQUUpCisjZGVmaW5lIE1BQ0gyUEhZU19WSVJUX0VORF9Q
QUUgICAgICAgICB4ZW5fbWtfdWxvbmcoX19NQUNIMlBIWVNfVklSVF9FTkRfUEFFKQorCisvKiBO
b24tUEFFIGJvdW5kcyBhcmUgb2Jzb2xldGUuICovCisjZGVmaW5lIF9fSFlQRVJWSVNPUl9WSVJU
X1NUQVJUX05PTlBBRSAweEZDMDAwMDAwCisjZGVmaW5lIF9fTUFDSDJQSFlTX1ZJUlRfU1RBUlRf
Tk9OUEFFICAweEZDMDAwMDAwCisjZGVmaW5lIF9fTUFDSDJQSFlTX1ZJUlRfRU5EX05PTlBBRSAg
ICAweEZDNDAwMDAwCisjZGVmaW5lIEhZUEVSVklTT1JfVklSVF9TVEFSVF9OT05QQUUgICBcCisg
ICAgeGVuX21rX3Vsb25nKF9fSFlQRVJWSVNPUl9WSVJUX1NUQVJUX05PTlBBRSkKKyNkZWZpbmUg
TUFDSDJQSFlTX1ZJUlRfU1RBUlRfTk9OUEFFICAgIFwKKyAgICB4ZW5fbWtfdWxvbmcoX19NQUNI
MlBIWVNfVklSVF9TVEFSVF9OT05QQUUpCisjZGVmaW5lIE1BQ0gyUEhZU19WSVJUX0VORF9OT05Q
QUUgICAgICBcCisgICAgeGVuX21rX3Vsb25nKF9fTUFDSDJQSFlTX1ZJUlRfRU5EX05PTlBBRSkK
KworI2RlZmluZSBfX0hZUEVSVklTT1JfVklSVF9TVEFSVCBfX0hZUEVSVklTT1JfVklSVF9TVEFS
VF9QQUUKKyNkZWZpbmUgX19NQUNIMlBIWVNfVklSVF9TVEFSVCAgX19NQUNIMlBIWVNfVklSVF9T
VEFSVF9QQUUKKyNkZWZpbmUgX19NQUNIMlBIWVNfVklSVF9FTkQgICAgX19NQUNIMlBIWVNfVklS
VF9FTkRfUEFFCisKKyNpZm5kZWYgSFlQRVJWSVNPUl9WSVJUX1NUQVJUCisjZGVmaW5lIEhZUEVS
VklTT1JfVklSVF9TVEFSVCB4ZW5fbWtfdWxvbmcoX19IWVBFUlZJU09SX1ZJUlRfU1RBUlQpCisj
ZW5kaWYKKworI2RlZmluZSBNQUNIMlBIWVNfVklSVF9TVEFSVCAgeGVuX21rX3Vsb25nKF9fTUFD
SDJQSFlTX1ZJUlRfU1RBUlQpCisjZGVmaW5lIE1BQ0gyUEhZU19WSVJUX0VORCAgICB4ZW5fbWtf
dWxvbmcoX19NQUNIMlBIWVNfVklSVF9FTkQpCisjZGVmaW5lIE1BQ0gyUEhZU19OUl9FTlRSSUVT
ICAoKE1BQ0gyUEhZU19WSVJUX0VORC1NQUNIMlBIWVNfVklSVF9TVEFSVCk+PjIpCisjaWZuZGVm
IG1hY2hpbmVfdG9fcGh5c19tYXBwaW5nCisjZGVmaW5lIG1hY2hpbmVfdG9fcGh5c19tYXBwaW5n
ICgoVUxPTkdfUFRSICopTUFDSDJQSFlTX1ZJUlRfU1RBUlQpCisjZW5kaWYKKworLyogMzItLzY0
LWJpdCBpbnZhcmlhYmlsaXR5IGZvciBjb250cm9sIGludGVyZmFjZXMgKGRvbWN0bC9zeXNjdGwp
LiAqLworI2lmIGRlZmluZWQoX19YRU5fXykgfHwgZGVmaW5lZChfX1hFTl9UT09MU19fKQorI3Vu
ZGVmIF9fX0RFRklORV9YRU5fR1VFU1RfSEFORExFCisjZGVmaW5lIF9fX0RFRklORV9YRU5fR1VF
U1RfSEFORExFKG5hbWUsIHR5cGUpICAgICAgICAgICAgICAgICAgXAorICAgIHR5cGVkZWYgc3Ry
dWN0IHsgdHlwZSAqcDsgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgX19ndWVzdF9oYW5kbGVfICMjIG5hbWU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgdHlwZWRlZiBzdHJ1Y3QgeyB1bmlvbiB7IHR5cGUgKnA7IHVpbnQ2NF9hbGlnbmVk
X3QgcTsgfTsgfSAgXAorICAgICAgICBfX2d1ZXN0X2hhbmRsZV82NF8gIyMgbmFtZQorI3VuZGVm
IHNldF94ZW5fZ3Vlc3RfaGFuZGxlX3JhdworI2RlZmluZSBzZXRfeGVuX2d1ZXN0X2hhbmRsZV9y
YXcoaG5kLCB2YWwpICAgICAgICAgICAgICAgICAgXAorICAgIGRvIHsgaWYgKCBzaXplb2YoaG5k
KSA9PSA4ICkgKih1aW50NjRfdCAqKSYoaG5kKSA9IDA7ICAgXAorICAgICAgICAgKGhuZCkucCA9
IHZhbDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gd2hpbGUg
KCAwICkKKyNkZWZpbmUgIGludDY0X2FsaWduZWRfdCAgaW50NjRfdCBfX2F0dHJpYnV0ZV9fKChh
bGlnbmVkKDgpKSkKKyNkZWZpbmUgdWludDY0X2FsaWduZWRfdCB1aW50NjRfdCBfX2F0dHJpYnV0
ZV9fKChhbGlnbmVkKDgpKSkKKyNkZWZpbmUgX19YRU5fR1VFU1RfSEFORExFXzY0KG5hbWUpIF9f
Z3Vlc3RfaGFuZGxlXzY0XyAjIyBuYW1lCisjZGVmaW5lIFhFTl9HVUVTVF9IQU5ETEVfNjQobmFt
ZSkgX19YRU5fR1VFU1RfSEFORExFXzY0KG5hbWUpCisjZW5kaWYKKworI2lmbmRlZiBfX0FTU0VN
QkxZX18KKworc3RydWN0IGNwdV91c2VyX3JlZ3MgeworICAgIHVpbnQzMl90IGVieDsKKyAgICB1
aW50MzJfdCBlY3g7CisgICAgdWludDMyX3QgZWR4OworICAgIHVpbnQzMl90IGVzaTsKKyAgICB1
aW50MzJfdCBlZGk7CisgICAgdWludDMyX3QgZWJwOworICAgIHVpbnQzMl90IGVheDsKKyAgICB1
aW50MTZfdCBlcnJvcl9jb2RlOyAgICAvKiBwcml2YXRlICovCisgICAgdWludDE2X3QgZW50cnlf
dmVjdG9yOyAgLyogcHJpdmF0ZSAqLworICAgIHVpbnQzMl90IGVpcDsKKyAgICB1aW50MTZfdCBj
czsKKyAgICB1aW50OF90ICBzYXZlZF91cGNhbGxfbWFzazsKKyAgICB1aW50OF90ICBfcGFkMDsK
KyAgICB1aW50MzJfdCBlZmxhZ3M7ICAgICAgICAvKiBlZmxhZ3MuSUYgPT0gIXNhdmVkX3VwY2Fs
bF9tYXNrICovCisgICAgdWludDMyX3QgZXNwOworICAgIHVpbnQxNl90IHNzLCBfcGFkMTsKKyAg
ICB1aW50MTZfdCBlcywgX3BhZDI7CisgICAgdWludDE2X3QgZHMsIF9wYWQzOworICAgIHVpbnQx
Nl90IGZzLCBfcGFkNDsKKyAgICB1aW50MTZfdCBncywgX3BhZDU7Cit9OwordHlwZWRlZiBzdHJ1
Y3QgY3B1X3VzZXJfcmVncyBjcHVfdXNlcl9yZWdzX3Q7CitERUZJTkVfWEVOX0dVRVNUX0hBTkRM
RShjcHVfdXNlcl9yZWdzX3QpOworCisvKgorICogUGFnZS1kaXJlY3RvcnkgYWRkcmVzc2VzIGFi
b3ZlIDRHQiBkbyBub3QgZml0IGludG8gYXJjaGl0ZWN0dXJhbCAlY3IzLgorICogV2hlbiBhY2Nl
c3NpbmcgJWNyMywgb3IgZXF1aXZhbGVudCBmaWVsZCBpbiB2Y3B1X2d1ZXN0X2NvbnRleHQsIGd1
ZXN0cworICogbXVzdCB1c2UgdGhlIGZvbGxvd2luZyBhY2Nlc3NvciBtYWNyb3MgdG8gcGFjay91
bnBhY2sgdmFsaWQgTUZOcy4KKyAqLworI2RlZmluZSB4ZW5fcGZuX3RvX2NyMyhwZm4pICgoKHVu
c2lnbmVkKShwZm4pIDw8IDEyKSB8ICgodW5zaWduZWQpKHBmbikgPj4gMjApKQorI2RlZmluZSB4
ZW5fY3IzX3RvX3BmbihjcjMpICgoKHVuc2lnbmVkKShjcjMpID4+IDEyKSB8ICgodW5zaWduZWQp
KGNyMykgPDwgMjApKQorCitzdHJ1Y3QgYXJjaF92Y3B1X2luZm8geworICAgIFVMT05HX1BUUiBj
cjI7CisgICAgVUxPTkdfUFRSIHBhZFs1XTsgLyogc2l6ZW9mKHZjcHVfaW5mb190KSA9PSA2NCAq
LworfTsKK3R5cGVkZWYgc3RydWN0IGFyY2hfdmNwdV9pbmZvIGFyY2hfdmNwdV9pbmZvX3Q7CisK
K3N0cnVjdCB4ZW5fY2FsbGJhY2sgeworICAgIFVMT05HX1BUUiBjczsKKyAgICBVTE9OR19QVFIg
ZWlwOworfTsKK3R5cGVkZWYgc3RydWN0IHhlbl9jYWxsYmFjayB4ZW5fY2FsbGJhY2tfdDsKKwor
I2VuZGlmIC8qICFfX0FTU0VNQkxZX18gKi8KKworI2VuZGlmIC8qIF9fWEVOX1BVQkxJQ19BUkNI
X1g4Nl9YRU5fWDg2XzMyX0hfXyAqLworCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9k
ZTogQworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAqIHRh
Yi13aWR0aDogNAorICogaW5kZW50LXRhYnMtbW9kZTogbmlsCisgKiBFbmQ6CisgKi8KZGlmZiAt
LWdpdCBhL2luY2x1ZGUveGVuL3B1YmxpYy9hcmNoLXg4Ni94ZW4teDg2XzY0LmggYi9pbmNsdWRl
L3hlbi9wdWJsaWMvYXJjaC14ODYveGVuLXg4Nl82NC5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1Cmlu
ZGV4IDAwMDAwMDAuLjJmNTNmNjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3hlbi9wdWJs
aWMvYXJjaC14ODYveGVuLXg4Nl82NC5oCkBAIC0wLDAgKzEsMjAyIEBACisvKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqCisgKiB4ZW4teDg2XzY0LmgKKyAqCisgKiBHdWVzdCBPUyBpbnRlcmZhY2UgdG8g
eDg2IDY0LWJpdCBYZW4uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQorICogb2YgdGhpcyBz
b2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJl
IiksIHRvCisgKiBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZQorICogcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yCisgKiBz
ZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBTb2Z0d2FyZSBpcworICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhF
IFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
CisgKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgorICog
REVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwNC0yMDA2
LCBLIEEgRnJhc2VyCisgKi8KKworI2lmbmRlZiBfX1hFTl9QVUJMSUNfQVJDSF9YODZfWEVOX1g4
Nl82NF9IX18KKyNkZWZpbmUgX19YRU5fUFVCTElDX0FSQ0hfWDg2X1hFTl9YODZfNjRfSF9fCisK
Ky8qCisgKiBIeXBlcmNhbGwgaW50ZXJmYWNlOgorICogIElucHV0OiAgJXJkaSwgJXJzaSwgJXJk
eCwgJXIxMCwgJXI4LCAlcjkgKGFyZ3VtZW50cyAxLTYpCisgKiAgT3V0cHV0OiAlcmF4CisgKiBB
Y2Nlc3MgaXMgdmlhIGh5cGVyY2FsbCBwYWdlIChzZXQgdXAgYnkgZ3Vlc3QgbG9hZGVyIG9yIHZp
YSBhIFhlbiBNU1IpOgorICogIGNhbGwgaHlwZXJjYWxsX3BhZ2UgKyBoeXBlcmNhbGwtbnVtYmVy
ICogMzIKKyAqIENsb2JiZXJlZDogYXJndW1lbnQgcmVnaXN0ZXJzIChlLmcuLCAyLWFyZyBoeXBl
cmNhbGwgY2xvYmJlcnMgJXJkaSwlcnNpKQorICovCisKKy8qCisgKiA2NC1iaXQgc2VnbWVudCBz
ZWxlY3RvcnMKKyAqIFRoZXNlIGZsYXQgc2VnbWVudHMgYXJlIGluIHRoZSBYZW4tcHJpdmF0ZSBz
ZWN0aW9uIG9mIGV2ZXJ5IEdEVC4gU2luY2UgdGhlc2UKKyAqIGFyZSBhbHNvIHByZXNlbnQgaW4g
dGhlIGluaXRpYWwgR0RULCBtYW55IE9TZXMgd2lsbCBiZSBhYmxlIHRvIGF2b2lkCisgKiBpbnN0
YWxsaW5nIHRoZWlyIG93biBHRFQuCisgKi8KKworI2RlZmluZSBGTEFUX1JJTkczX0NTMzIgMHhl
MDIzICAvKiBHRFQgaW5kZXggMjYwICovCisjZGVmaW5lIEZMQVRfUklORzNfQ1M2NCAweGUwMzMg
IC8qIEdEVCBpbmRleCAyNjEgKi8KKyNkZWZpbmUgRkxBVF9SSU5HM19EUzMyIDB4ZTAyYiAgLyog
R0RUIGluZGV4IDI2MiAqLworI2RlZmluZSBGTEFUX1JJTkczX0RTNjQgMHgwMDAwICAvKiBOVUxM
IHNlbGVjdG9yICovCisjZGVmaW5lIEZMQVRfUklORzNfU1MzMiAweGUwMmIgIC8qIEdEVCBpbmRl
eCAyNjIgKi8KKyNkZWZpbmUgRkxBVF9SSU5HM19TUzY0IDB4ZTAyYiAgLyogR0RUIGluZGV4IDI2
MiAqLworCisjZGVmaW5lIEZMQVRfS0VSTkVMX0RTNjQgRkxBVF9SSU5HM19EUzY0CisjZGVmaW5l
IEZMQVRfS0VSTkVMX0RTMzIgRkxBVF9SSU5HM19EUzMyCisjZGVmaW5lIEZMQVRfS0VSTkVMX0RT
ICAgRkxBVF9LRVJORUxfRFM2NAorI2RlZmluZSBGTEFUX0tFUk5FTF9DUzY0IEZMQVRfUklORzNf
Q1M2NAorI2RlZmluZSBGTEFUX0tFUk5FTF9DUzMyIEZMQVRfUklORzNfQ1MzMgorI2RlZmluZSBG
TEFUX0tFUk5FTF9DUyAgIEZMQVRfS0VSTkVMX0NTNjQKKyNkZWZpbmUgRkxBVF9LRVJORUxfU1M2
NCBGTEFUX1JJTkczX1NTNjQKKyNkZWZpbmUgRkxBVF9LRVJORUxfU1MzMiBGTEFUX1JJTkczX1NT
MzIKKyNkZWZpbmUgRkxBVF9LRVJORUxfU1MgICBGTEFUX0tFUk5FTF9TUzY0CisKKyNkZWZpbmUg
RkxBVF9VU0VSX0RTNjQgRkxBVF9SSU5HM19EUzY0CisjZGVmaW5lIEZMQVRfVVNFUl9EUzMyIEZM
QVRfUklORzNfRFMzMgorI2RlZmluZSBGTEFUX1VTRVJfRFMgICBGTEFUX1VTRVJfRFM2NAorI2Rl
ZmluZSBGTEFUX1VTRVJfQ1M2NCBGTEFUX1JJTkczX0NTNjQKKyNkZWZpbmUgRkxBVF9VU0VSX0NT
MzIgRkxBVF9SSU5HM19DUzMyCisjZGVmaW5lIEZMQVRfVVNFUl9DUyAgIEZMQVRfVVNFUl9DUzY0
CisjZGVmaW5lIEZMQVRfVVNFUl9TUzY0IEZMQVRfUklORzNfU1M2NAorI2RlZmluZSBGTEFUX1VT
RVJfU1MzMiBGTEFUX1JJTkczX1NTMzIKKyNkZWZpbmUgRkxBVF9VU0VSX1NTICAgRkxBVF9VU0VS
X1NTNjQKKworI2RlZmluZSBfX0hZUEVSVklTT1JfVklSVF9TVEFSVCAweEZGRkY4MDAwMDAwMDAw
MDAKKyNkZWZpbmUgX19IWVBFUlZJU09SX1ZJUlRfRU5EICAgMHhGRkZGODgwMDAwMDAwMDAwCisj
ZGVmaW5lIF9fTUFDSDJQSFlTX1ZJUlRfU1RBUlQgIDB4RkZGRjgwMDAwMDAwMDAwMAorI2RlZmlu
ZSBfX01BQ0gyUEhZU19WSVJUX0VORCAgICAweEZGRkY4MDQwMDAwMDAwMDAKKworI2lmbmRlZiBI
WVBFUlZJU09SX1ZJUlRfU1RBUlQKKyNkZWZpbmUgSFlQRVJWSVNPUl9WSVJUX1NUQVJUIHhlbl9t
a191bG9uZyhfX0hZUEVSVklTT1JfVklSVF9TVEFSVCkKKyNkZWZpbmUgSFlQRVJWSVNPUl9WSVJU
X0VORCAgIHhlbl9ta191bG9uZyhfX0hZUEVSVklTT1JfVklSVF9FTkQpCisjZW5kaWYKKworI2Rl
ZmluZSBNQUNIMlBIWVNfVklSVF9TVEFSVCAgeGVuX21rX3Vsb25nKF9fTUFDSDJQSFlTX1ZJUlRf
U1RBUlQpCisjZGVmaW5lIE1BQ0gyUEhZU19WSVJUX0VORCAgICB4ZW5fbWtfdWxvbmcoX19NQUNI
MlBIWVNfVklSVF9FTkQpCisjZGVmaW5lIE1BQ0gyUEhZU19OUl9FTlRSSUVTICAoKE1BQ0gyUEhZ
U19WSVJUX0VORC1NQUNIMlBIWVNfVklSVF9TVEFSVCk+PjMpCisjaWZuZGVmIG1hY2hpbmVfdG9f
cGh5c19tYXBwaW5nCisjZGVmaW5lIG1hY2hpbmVfdG9fcGh5c19tYXBwaW5nICgoVUxPTkdfUFRS
ICopSFlQRVJWSVNPUl9WSVJUX1NUQVJUKQorI2VuZGlmCisKKy8qCisgKiBpbnQgSFlQRVJWSVNP
Ul9zZXRfc2VnbWVudF9iYXNlKHVuc2lnbmVkIGludCB3aGljaCwgVUxPTkdfUFRSIGJhc2UpCisg
KiAgQHdoaWNoID09IFNFR0JBU0VfKiAgOyAgQGJhc2UgPT0gNjQtYml0IGJhc2UgYWRkcmVzcwor
ICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MuCisgKi8KKyNkZWZpbmUgU0VHQkFTRV9GUyAgICAgICAg
ICAwCisjZGVmaW5lIFNFR0JBU0VfR1NfVVNFUiAgICAgMQorI2RlZmluZSBTRUdCQVNFX0dTX0tF
Uk5FTCAgIDIKKyNkZWZpbmUgU0VHQkFTRV9HU19VU0VSX1NFTCAzIC8qIFNldCB1c2VyICVncyBz
cGVjaWZpZWQgaW4gYmFzZVsxNTowXSAqLworCisvKgorICogaW50IEhZUEVSVklTT1JfaXJldCh2
b2lkKQorICogQWxsIGFyZ3VtZW50cyBhcmUgb24gdGhlIGtlcm5lbCBzdGFjaywgaW4gdGhlIGZv
bGxvd2luZyBmb3JtYXQuCisgKiBOZXZlciByZXR1cm5zIGlmIHN1Y2Nlc3NmdWwuIEN1cnJlbnQg
a2VybmVsIGNvbnRleHQgaXMgbG9zdC4KKyAqIFRoZSBzYXZlZCBDUyBpcyBtYXBwZWQgYXMgZm9s
bG93czoKKyAqICAgUklORzAgLT4gUklORzMga2VybmVsIG1vZGUuCisgKiAgIFJJTkcxIC0+IFJJ
TkczIGtlcm5lbCBtb2RlLgorICogICBSSU5HMiAtPiBSSU5HMyBrZXJuZWwgbW9kZS4KKyAqICAg
UklORzMgLT4gUklORzMgdXNlciBtb2RlLgorICogSG93ZXZlciBSSU5HMCBpbmRpY2F0ZXMgdGhh
dCB0aGUgZ3Vlc3Qga2VybmVsIHNob3VsZCByZXR1cm4gdG8gaXRlc2VsZgorICogZGlyZWN0bHkg
d2l0aAorICogICAgICBvcmIgICAkMywxKjgoJXJzcCkKKyAqICAgICAgaXJldHEKKyAqIElmIGZs
YWdzIGNvbnRhaW5zIFZHQ0ZfaW5fc3lzY2FsbDoKKyAqICAgUmVzdG9yZSBSQVgsIFJJUCwgUkZM
QUdTLCBSU1AuCisgKiAgIERpc2NhcmQgUjExLCBSQ1gsIENTLCBTUy4KKyAqIE90aGVyd2lzZToK
KyAqICAgUmVzdG9yZSBSQVgsIFIxMSwgUkNYLCBDUzpSSVAsIFJGTEFHUywgU1M6UlNQLgorICog
QWxsIG90aGVyIHJlZ2lzdGVycyBhcmUgc2F2ZWQgb24gaHlwZXJjYWxsIGVudHJ5IGFuZCByZXN0
b3JlZCB0byB1c2VyLgorICovCisvKiBHdWVzdCBleGl0ZWQgaW4gU1lTQ0FMTCBjb250ZXh0PyBS
ZXR1cm4gdG8gZ3Vlc3Qgd2l0aCBTWVNSRVQ/ICovCisjZGVmaW5lIF9WR0NGX2luX3N5c2NhbGwg
OAorI2RlZmluZSBWR0NGX2luX3N5c2NhbGwgICgxPDxfVkdDRl9pbl9zeXNjYWxsKQorI2RlZmlu
ZSBWR0NGX0lOX1NZU0NBTEwgIFZHQ0ZfaW5fc3lzY2FsbAorCisjaWZuZGVmIF9fQVNTRU1CTFlf
XworCitzdHJ1Y3QgaXJldF9jb250ZXh0IHsKKyAgICAvKiBUb3Agb2Ygc3RhY2sgKCVyc3AgYXQg
cG9pbnQgb2YgaHlwZXJjYWxsKS4gKi8KKyAgICB1aW50NjRfdCByYXgsIHIxMSwgcmN4LCBmbGFn
cywgcmlwLCBjcywgcmZsYWdzLCByc3AsIHNzOworICAgIC8qIEJvdHRvbSBvZiBpcmV0IHN0YWNr
IGZyYW1lLiAqLworfTsKKworI2lmIGRlZmluZWQoX19HTlVDX18pICYmICFkZWZpbmVkKF9fU1RS
SUNUX0FOU0lfXykKKy8qIEFub255bW91cyB1bmlvbiBpbmNsdWRlcyBib3RoIDMyLSBhbmQgNjQt
Yml0IG5hbWVzIChlLmcuLCBlYXgvcmF4KS4gKi8KKyNkZWZpbmUgX19ERUNMX1JFRyhuYW1lKSB1
bmlvbiB7IFwKKyAgICB1aW50NjRfdCByICMjIG5hbWUsIGUgIyMgbmFtZTsgXAorICAgIHVpbnQz
Ml90IF9lICMjIG5hbWU7IFwKK30KKyNlbHNlCisvKiBOb24tZ2NjIHNvdXJjZXMgbXVzdCBhbHdh
eXMgdXNlIHRoZSBwcm9wZXIgNjQtYml0IG5hbWUgKGUuZy4sIHJheCkuICovCisjZGVmaW5lIF9f
REVDTF9SRUcobmFtZSkgdWludDY0X3QgciAjIyBuYW1lCisjZW5kaWYKKworc3RydWN0IGNwdV91
c2VyX3JlZ3MgeworICAgIHVpbnQ2NF90IHIxNTsKKyAgICB1aW50NjRfdCByMTQ7CisgICAgdWlu
dDY0X3QgcjEzOworICAgIHVpbnQ2NF90IHIxMjsKKyAgICBfX0RFQ0xfUkVHKGJwKTsKKyAgICBf
X0RFQ0xfUkVHKGJ4KTsKKyAgICB1aW50NjRfdCByMTE7CisgICAgdWludDY0X3QgcjEwOworICAg
IHVpbnQ2NF90IHI5OworICAgIHVpbnQ2NF90IHI4OworICAgIF9fREVDTF9SRUcoYXgpOworICAg
IF9fREVDTF9SRUcoY3gpOworICAgIF9fREVDTF9SRUcoZHgpOworICAgIF9fREVDTF9SRUcoc2kp
OworICAgIF9fREVDTF9SRUcoZGkpOworICAgIHVpbnQzMl90IGVycm9yX2NvZGU7ICAgIC8qIHBy
aXZhdGUgKi8KKyAgICB1aW50MzJfdCBlbnRyeV92ZWN0b3I7ICAvKiBwcml2YXRlICovCisgICAg
X19ERUNMX1JFRyhpcCk7CisgICAgdWludDE2X3QgY3MsIF9wYWQwWzFdOworICAgIHVpbnQ4X3Qg
IHNhdmVkX3VwY2FsbF9tYXNrOworICAgIHVpbnQ4X3QgIF9wYWQxWzNdOworICAgIF9fREVDTF9S
RUcoZmxhZ3MpOyAgICAgIC8qIHJmbGFncy5JRiA9PSAhc2F2ZWRfdXBjYWxsX21hc2sgKi8KKyAg
ICBfX0RFQ0xfUkVHKHNwKTsKKyAgICB1aW50MTZfdCBzcywgX3BhZDJbM107CisgICAgdWludDE2
X3QgZXMsIF9wYWQzWzNdOworICAgIHVpbnQxNl90IGRzLCBfcGFkNFszXTsKKyAgICB1aW50MTZf
dCBmcywgX3BhZDVbM107IC8qIE5vbi16ZXJvID0+IHRha2VzIHByZWNlZGVuY2Ugb3ZlciBmc19i
YXNlLiAgICAgKi8KKyAgICB1aW50MTZfdCBncywgX3BhZDZbM107IC8qIE5vbi16ZXJvID0+IHRh
a2VzIHByZWNlZGVuY2Ugb3ZlciBnc19iYXNlX3Vzci4gKi8KK307Cit0eXBlZGVmIHN0cnVjdCBj
cHVfdXNlcl9yZWdzIGNwdV91c2VyX3JlZ3NfdDsKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKGNw
dV91c2VyX3JlZ3NfdCk7CisKKyN1bmRlZiBfX0RFQ0xfUkVHCisKKyNkZWZpbmUgeGVuX3Bmbl90
b19jcjMocGZuKSAoKFVMT05HX1BUUikocGZuKSA8PCAxMikKKyNkZWZpbmUgeGVuX2NyM190b19w
Zm4oY3IzKSAoKFVMT05HX1BUUikoY3IzKSA+PiAxMikKKworc3RydWN0IGFyY2hfdmNwdV9pbmZv
IHsKKyAgICBVTE9OR19QVFIgY3IyOworICAgIFVMT05HX1BUUiBwYWQ7IC8qIHNpemVvZih2Y3B1
X2luZm9fdCkgPT0gNjQgKi8KK307Cit0eXBlZGVmIHN0cnVjdCBhcmNoX3ZjcHVfaW5mbyBhcmNo
X3ZjcHVfaW5mb190OworCit0eXBlZGVmIFVMT05HX1BUUiB4ZW5fY2FsbGJhY2tfdDsKKworI2Vu
ZGlmIC8qICFfX0FTU0VNQkxZX18gKi8KKworI2VuZGlmIC8qIF9fWEVOX1BVQkxJQ19BUkNIX1g4
Nl9YRU5fWDg2XzY0X0hfXyAqLworCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9kZTog
QworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAqIHRhYi13
aWR0aDogNAorICogaW5kZW50LXRhYnMtbW9kZTogbmlsCisgKiBFbmQ6CisgKi8KZGlmZiAtLWdp
dCBhL2luY2x1ZGUveGVuL3B1YmxpYy9hcmNoLXg4Ni94ZW4uaCBiL2luY2x1ZGUveGVuL3B1Ymxp
Yy9hcmNoLXg4Ni94ZW4uaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNWRi
NzdmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS94ZW4vcHVibGljL2FyY2gteDg2L3hlbi5o
CkBAIC0wLDAgKzEsMzM4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBhcmNoLXg4Ni94
ZW4uaAorICoKKyAqIEd1ZXN0IE9TIGludGVyZmFjZSB0byB4ODYgWGVuLgorICoKKyAqIFBlcm1p
c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i
dGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0bworICogZGVhbCBpbiB0aGUgU29mdHdh
cmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUK
KyAqIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1
dGUsIHN1YmxpY2Vuc2UsIGFuZC9vcgorICogc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBh
bmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKKyAqIGZ1cm5pc2hl
ZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICog
VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hh
bGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMg
b2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMi
LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJ
TkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5H
RU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9M
REVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklM
SVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0Us
IEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRX
QVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIKKyAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAq
CisgKiBDb3B5cmlnaHQgKGMpIDIwMDQtMjAwNiwgSyBBIEZyYXNlcgorICovCisKKyNpbmNsdWRl
ICIuLi94ZW4uaCIKKworI2lmbmRlZiBfX1hFTl9QVUJMSUNfQVJDSF9YODZfWEVOX0hfXworI2Rl
ZmluZSBfX1hFTl9QVUJMSUNfQVJDSF9YODZfWEVOX0hfXworCisvKiBTdHJ1Y3R1cmFsIGd1ZXN0
IGhhbmRsZXMgaW50cm9kdWNlZCBpbiAweDAwMDMwMjAxLiAqLworI2lmIF9fWEVOX0lOVEVSRkFD
RV9WRVJTSU9OX18gPj0gMHgwMDAzMDIwMQorI2RlZmluZSBfX19ERUZJTkVfWEVOX0dVRVNUX0hB
TkRMRShuYW1lLCB0eXBlKSBcCisgICAgdHlwZWRlZiBzdHJ1Y3QgeyB0eXBlICpwOyB9IF9fZ3Vl
c3RfaGFuZGxlXyAjIyBuYW1lCisjZWxzZQorI2RlZmluZSBfX19ERUZJTkVfWEVOX0dVRVNUX0hB
TkRMRShuYW1lLCB0eXBlKSBcCisgICAgdHlwZWRlZiB0eXBlICogX19ndWVzdF9oYW5kbGVfICMj
IG5hbWUKKyNlbmRpZgorCisvKgorICogWEVOX0dVRVNUX0hBTkRMRSByZXByZXNlbnRzIGEgZ3Vl
c3QgcG9pbnRlciwgd2hlbiBwYXNzZWQgYXMgYSBmaWVsZAorICogaW4gYSBzdHJ1Y3QgaW4gbWVt
b3J5LgorICogWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSByZXByZXNlbnQgYSBndWVzdCBwb2ludGVy
LCB3aGVuIHBhc3NlZCBhcyBhbgorICogaHlwZXJjYWxsIGFyZ3VtZW50LgorICogWEVOX0dVRVNU
X0hBTkRMRV9QQVJBTSBhbmQgWEVOX0dVRVNUX0hBTkRMRSBhcmUgdGhlIHNhbWUgb24gWDg2IGJ1
dAorICogdGhleSBtaWdodCBub3QgYmUgb24gb3RoZXIgYXJjaGl0ZWN0dXJlcy4KKyAqLworI2Rl
ZmluZSBfX0RFRklORV9YRU5fR1VFU1RfSEFORExFKG5hbWUsIHR5cGUpIFwKKyAgICBfX19ERUZJ
TkVfWEVOX0dVRVNUX0hBTkRMRShuYW1lLCB0eXBlKTsgICBcCisgICAgX19fREVGSU5FX1hFTl9H
VUVTVF9IQU5ETEUoY29uc3RfIyNuYW1lLCBjb25zdCB0eXBlKQorI2RlZmluZSBERUZJTkVfWEVO
X0dVRVNUX0hBTkRMRShuYW1lKSAgIF9fREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUobmFtZSwgbmFt
ZSkKKyNkZWZpbmUgX19YRU5fR1VFU1RfSEFORExFKG5hbWUpICAgICAgICBfX2d1ZXN0X2hhbmRs
ZV8gIyMgbmFtZQorI2RlZmluZSBYRU5fR1VFU1RfSEFORExFKG5hbWUpICAgICAgICAgIF9fWEVO
X0dVRVNUX0hBTkRMRShuYW1lKQorI2RlZmluZSBYRU5fR1VFU1RfSEFORExFX1BBUkFNKG5hbWUp
ICAgIFhFTl9HVUVTVF9IQU5ETEUobmFtZSkKKyNkZWZpbmUgc2V0X3hlbl9ndWVzdF9oYW5kbGVf
cmF3KGhuZCwgdmFsKSAgZG8geyAoaG5kKS5wID0gdmFsOyB9IHdoaWxlICgwKQorI2RlZmluZSBz
ZXRfeGVuX2d1ZXN0X2hhbmRsZShobmQsIHZhbCkgc2V0X3hlbl9ndWVzdF9oYW5kbGVfcmF3KGhu
ZCwgdmFsKQorCisjaWYgZGVmaW5lZChfX2kzODZfXykKKyNpbmNsdWRlICJ4ZW4teDg2XzMyLmgi
CisjZWxpZiBkZWZpbmVkKF9feDg2XzY0X18pCisjaW5jbHVkZSAieGVuLXg4Nl82NC5oIgorI2Vu
ZGlmCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCit0eXBlZGVmIFVMT05HX1BUUiB4ZW5fcGZuX3Q7
CisjZGVmaW5lIFBSSV94ZW5fcGZuICJseCIKKyNlbmRpZgorCisjZGVmaW5lIFhFTl9IQVZFX1BW
X0dVRVNUX0VOVFJZIDEKKworI2RlZmluZSBYRU5fSEFWRV9QVl9VUENBTExfTUFTSyAxCisKKy8q
CisgKiBgaW5jb250ZW50cyAyMDAgc2VnZGVzYyBTZWdtZW50IERlc2NyaXB0b3IgVGFibGVzCisg
Ki8KKy8qCisgKiBgIGVudW0gbmVnX2Vycm5vdmFsCisgKiBgIEhZUEVSVklTT1Jfc2V0X2dkdChj
b25zdCB4ZW5fcGZuX3QgZnJhbWVzW10sIHVuc2lnbmVkIGludCBlbnRyaWVzKTsKKyAqIGAKKyAq
LworLyoKKyAqIEEgbnVtYmVyIG9mIEdEVCBlbnRyaWVzIGFyZSByZXNlcnZlZCBieSBYZW4uIFRo
ZXNlIGFyZSBub3Qgc2l0dWF0ZWQgYXQgdGhlCisgKiBzdGFydCBvZiB0aGUgR0RUIGJlY2F1c2Ug
c29tZSBzdHVwaWQgT1NlcyBleHBvcnQgaGFyZC1jb2RlZCBzZWxlY3RvciB2YWx1ZXMKKyAqIGlu
IHRoZWlyIEFCSS4gVGhlc2UgaGFyZC1jb2RlZCB2YWx1ZXMgYXJlIGFsd2F5cyBuZWFyIHRoZSBz
dGFydCBvZiB0aGUgR0RULAorICogc28gWGVuIHBsYWNlcyBpdHNlbGYgb3V0IG9mIHRoZSB3YXks
IGF0IHRoZSBmYXIgZW5kIG9mIHRoZSBHRFQuCisgKgorICogTkIgVGhlIExEVCBpcyBzZXQgdXNp
bmcgdGhlIE1NVUVYVF9TRVRfTERUIG9wIG9mIEhZUEVSVklTT1JfbW11ZXh0X29wCisgKi8KKyNk
ZWZpbmUgRklSU1RfUkVTRVJWRURfR0RUX1BBR0UgIDE0CisjZGVmaW5lIEZJUlNUX1JFU0VSVkVE
X0dEVF9CWVRFICAoRklSU1RfUkVTRVJWRURfR0RUX1BBR0UgKiA0MDk2KQorI2RlZmluZSBGSVJT
VF9SRVNFUlZFRF9HRFRfRU5UUlkgKEZJUlNUX1JFU0VSVkVEX0dEVF9CWVRFIC8gOCkKKworCisv
KgorICogYCBlbnVtIG5lZ19lcnJub3ZhbAorICogYCBIWVBFUlZJU09SX3VwZGF0ZV9kZXNjcmlw
dG9yKHU2NCBwYSwgdTY0IGRlc2MpOworICogYAorICogYCBAcGEgICBUaGUgbWFjaGluZSBwaHlz
aWNhbCBhZGRyZXNzIG9mIHRoZSBkZXNjcmlwdG9yIHRvCisgKiBgICAgICAgIHVwZGF0ZS4gTXVz
dCBiZSBlaXRoZXIgYSBkZXNjcmlwdG9yIHBhZ2Ugb3Igd3JpdGFibGUuCisgKiBgIEBkZXNjIFRo
ZSBkZXNjcmlwdG9yIHZhbHVlIHRvIHVwZGF0ZSwgaW4gdGhlIHNhbWUgZm9ybWF0IGFzIGEKKyAq
IGAgICAgICAgbmF0aXZlIGRlc2NyaXB0b3IgdGFibGUgZW50cnkuCisgKi8KKworLyogTWF4aW11
bSBudW1iZXIgb2YgdmlydHVhbCBDUFVzIGluIGxlZ2FjeSBtdWx0aS1wcm9jZXNzb3IgZ3Vlc3Rz
LiAqLworI2RlZmluZSBYRU5fTEVHQUNZX01BWF9WQ1BVUyAzMgorCisjaWZuZGVmIF9fQVNTRU1C
TFlfXworCit0eXBlZGVmIFVMT05HX1BUUiB4ZW5fdWxvbmdfdDsKKyNkZWZpbmUgUFJJX3hlbl91
bG9uZyAibHgiCisKKy8qCisgKiBgIGVudW0gbmVnX2Vycm5vdmFsCisgKiBgIEhZUEVSVklTT1Jf
c3RhY2tfc3dpdGNoKFVMT05HX1BUUiBzcywgVUxPTkdfUFRSIGVzcCk7CisgKiBgCisgKiBTZXRz
IHRoZSBzdGFjayBzZWdtZW50IGFuZCBwb2ludGVyIGZvciB0aGUgY3VycmVudCB2Y3B1LgorICov
CisKKy8qCisgKiBgIGVudW0gbmVnX2Vycm5vdmFsCisgKiBgIEhZUEVSVklTT1Jfc2V0X3RyYXBf
dGFibGUoY29uc3Qgc3RydWN0IHRyYXBfaW5mbyB0cmFwc1tdKTsKKyAqIGAKKyAqLworLyoKKyAq
IFNlbmQgYW4gYXJyYXkgb2YgdGhlc2UgdG8gSFlQRVJWSVNPUl9zZXRfdHJhcF90YWJsZSgpLgor
ICogVGVybWluYXRlIHRoZSBhcnJheSB3aXRoIGEgc2VudGluZWwgZW50cnksIHdpdGggdHJhcHNb
XS5hZGRyZXNzPT0wLgorICogVGhlIHByaXZpbGVnZSBsZXZlbCBzcGVjaWZpZXMgd2hpY2ggbW9k
ZXMgbWF5IGVudGVyIGEgdHJhcCB2aWEgYSBzb2Z0d2FyZQorICogaW50ZXJydXB0LiBPbiB4ODYv
NjQsIHNpbmNlIHJpbmdzIDEgYW5kIDIgYXJlIHVuYXZhaWxhYmxlLCB3ZSBhbGxvY2F0ZQorICog
cHJpdmlsZWdlIGxldmVscyBhcyBmb2xsb3dzOgorICogIExldmVsID09IDA6IE5vb25lIG1heSBl
bnRlcgorICogIExldmVsID09IDE6IEtlcm5lbCBtYXkgZW50ZXIKKyAqICBMZXZlbCA9PSAyOiBL
ZXJuZWwgbWF5IGVudGVyCisgKiAgTGV2ZWwgPT0gMzogRXZlcnlvbmUgbWF5IGVudGVyCisgKi8K
KyNkZWZpbmUgVElfR0VUX0RQTChfdGkpICAgICAgKChfdGkpLT5mbGFncyAmIDMpCisjZGVmaW5l
IFRJX0dFVF9JRihfdGkpICAgICAgICgoX3RpKS0+ZmxhZ3MgJiA0KQorI2RlZmluZSBUSV9TRVRf
RFBMKF90aSxfZHBsKSAoKF90aSktPmZsYWdzIHw9IChfZHBsKSkKKyNkZWZpbmUgVElfU0VUX0lG
KF90aSxfaWYpICAgKChfdGkpLT5mbGFncyB8PSAoKCEhKF9pZikpPDwyKSkKK3N0cnVjdCB0cmFw
X2luZm8geworICAgIHVpbnQ4X3QgICAgICAgdmVjdG9yOyAgLyogZXhjZXB0aW9uIHZlY3RvciAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgdWludDhfdCAgICAgICBmbGFnczsg
ICAvKiAwLTM6IHByaXZpbGVnZSBsZXZlbDsgNDogY2xlYXIgZXZlbnQgZW5hYmxlPyAgKi8KKyAg
ICB1aW50MTZfdCAgICAgIGNzOyAgICAgIC8qIGNvZGUgc2VsZWN0b3IgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAqLworICAgIFVMT05HX1BUUiBhZGRyZXNzOyAvKiBjb2RlIG9mZnNl
dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KK307Cit0eXBlZGVmIHN0cnVj
dCB0cmFwX2luZm8gdHJhcF9pbmZvX3Q7CitERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh0cmFwX2lu
Zm9fdCk7CisKK3R5cGVkZWYgdWludDY0X3QgdHNjX3RpbWVzdGFtcF90OyAvKiBSRFRTQyB0aW1l
c3RhbXAgKi8KKworLyoKKyAqIFRoZSBmb2xsb3dpbmcgaXMgYWxsIENQVSBjb250ZXh0LiBOb3Rl
IHRoYXQgdGhlIGZwdV9jdHh0IGJsb2NrIGlzIGZpbGxlZAorICogaW4gYnkgRlhTQVZFIGlmIHRo
ZSBDUFUgaGFzIGZlYXR1cmUgRlhTUjsgb3RoZXJ3aXNlIEZTQVZFIGlzIHVzZWQuCisgKgorICog
QWxzbyBub3RlIHRoYXQgd2hlbiBjYWxsaW5nIERPTUNUTF9zZXR2Y3B1Y29udGV4dCBhbmQgVkNQ
VV9pbml0aWFsaXNlCisgKiBmb3IgSFZNIGFuZCBQVkggZ3Vlc3RzLCBub3QgYWxsIGluZm9ybWF0
aW9uIGluIHRoaXMgc3RydWN0dXJlIGlzIHVwZGF0ZWQ6CisgKgorICogLSBGb3IgSFZNIGd1ZXN0
cywgdGhlIHN0cnVjdHVyZXMgcmVhZCBpbmNsdWRlOiBmcHVfY3R4dCAoaWYKKyAqIFZHQ1RfSTM4
N19WQUxJRCBpcyBzZXQpLCBmbGFncywgdXNlcl9yZWdzLCBkZWJ1Z3JlZ1sqXQorICoKKyAqIC0g
UFZIIGd1ZXN0cyBhcmUgdGhlIHNhbWUgYXMgSFZNIGd1ZXN0cywgYnV0IGFkZGl0aW9uYWxseSB1
c2UgY3RybHJlZ1szXSB0bworICogc2V0IGNyMy4gQWxsIG90aGVyIGZpZWxkcyBub3QgdXNlZCBz
aG91bGQgYmUgc2V0IHRvIDAuCisgKi8KK3N0cnVjdCB2Y3B1X2d1ZXN0X2NvbnRleHQgeworICAg
IC8qIEZQVSByZWdpc3RlcnMgY29tZSBmaXJzdCBzbyB0aGV5IGNhbiBiZSBhbGlnbmVkIGZvciBG
WFNBVkUvRlhSU1RPUi4gKi8KKyAgICBzdHJ1Y3QgeyBjaGFyIHhbNTEyXTsgfSBmcHVfY3R4dDsg
ICAgICAgLyogVXNlci1sZXZlbCBGUFUgcmVnaXN0ZXJzICAgICAqLworI2RlZmluZSBWR0NGX0kz
ODdfVkFMSUQgICAgICAgICAgICAgICAgKDE8PDApCisjZGVmaW5lIFZHQ0ZfSU5fS0VSTkVMICAg
ICAgICAgICAgICAgICAoMTw8MikKKyNkZWZpbmUgX1ZHQ0ZfaTM4N192YWxpZCAgICAgICAgICAg
ICAgIDAKKyNkZWZpbmUgVkdDRl9pMzg3X3ZhbGlkICAgICAgICAgICAgICAgICgxPDxfVkdDRl9p
Mzg3X3ZhbGlkKQorI2RlZmluZSBfVkdDRl9pbl9rZXJuZWwgICAgICAgICAgICAgICAgMgorI2Rl
ZmluZSBWR0NGX2luX2tlcm5lbCAgICAgICAgICAgICAgICAgKDE8PF9WR0NGX2luX2tlcm5lbCkK
KyNkZWZpbmUgX1ZHQ0ZfZmFpbHNhZmVfZGlzYWJsZXNfZXZlbnRzIDMKKyNkZWZpbmUgVkdDRl9m
YWlsc2FmZV9kaXNhYmxlc19ldmVudHMgICgxPDxfVkdDRl9mYWlsc2FmZV9kaXNhYmxlc19ldmVu
dHMpCisjZGVmaW5lIF9WR0NGX3N5c2NhbGxfZGlzYWJsZXNfZXZlbnRzICA0CisjZGVmaW5lIFZH
Q0Zfc3lzY2FsbF9kaXNhYmxlc19ldmVudHMgICAoMTw8X1ZHQ0Zfc3lzY2FsbF9kaXNhYmxlc19l
dmVudHMpCisjZGVmaW5lIF9WR0NGX29ubGluZSAgICAgICAgICAgICAgICAgICA1CisjZGVmaW5l
IFZHQ0Zfb25saW5lICAgICAgICAgICAgICAgICAgICAoMTw8X1ZHQ0Zfb25saW5lKQorICAgIFVM
T05HX1BUUiBmbGFnczsgICAgICAgICAgICAgICAgICAgIC8qIFZHQ0ZfKiBmbGFncyAgICAgICAg
ICAgICAgICAgKi8KKyAgICBzdHJ1Y3QgY3B1X3VzZXJfcmVncyB1c2VyX3JlZ3M7ICAgICAgICAg
LyogVXNlci1sZXZlbCBDUFUgcmVnaXN0ZXJzICAgICAqLworICAgIHN0cnVjdCB0cmFwX2luZm8g
dHJhcF9jdHh0WzI1Nl07ICAgICAgICAvKiBWaXJ0dWFsIElEVCAgICAgICAgICAgICAgICAgICov
CisgICAgVUxPTkdfUFRSIGxkdF9iYXNlLCBsZHRfZW50czsgICAgICAgLyogTERUIChsaW5lYXIg
YWRkcmVzcywgIyBlbnRzKSAqLworICAgIFVMT05HX1BUUiBnZHRfZnJhbWVzWzE2XSwgZ2R0X2Vu
dHM7IC8qIEdEVCAobWFjaGluZSBmcmFtZXMsICMgZW50cykgKi8KKyAgICBVTE9OR19QVFIga2Vy
bmVsX3NzLCBrZXJuZWxfc3A7ICAgICAvKiBWaXJ0dWFsIFRTUyAob25seSBTUzEvU1AxKSAgICov
CisgICAgLyogTkIuIFVzZXIgcGFnZXRhYmxlIG9uIHg4Ni82NCBpcyBwbGFjZWQgaW4gY3RybHJl
Z1sxXS4gKi8KKyAgICBVTE9OR19QVFIgY3RybHJlZ1s4XTsgICAgICAgICAgICAgICAvKiBDUjAt
Q1I3IChjb250cm9sIHJlZ2lzdGVycykgICovCisgICAgVUxPTkdfUFRSIGRlYnVncmVnWzhdOyAg
ICAgICAgICAgICAgLyogREIwLURCNyAoZGVidWcgcmVnaXN0ZXJzKSAgICAqLworI2lmZGVmIF9f
aTM4Nl9fCisgICAgVUxPTkdfUFRSIGV2ZW50X2NhbGxiYWNrX2NzOyAgICAgICAgLyogQ1M6RUlQ
IG9mIGV2ZW50IGNhbGxiYWNrICAgICAqLworICAgIFVMT05HX1BUUiBldmVudF9jYWxsYmFja19l
aXA7CisgICAgVUxPTkdfUFRSIGZhaWxzYWZlX2NhbGxiYWNrX2NzOyAgICAgLyogQ1M6RUlQIG9m
IGZhaWxzYWZlIGNhbGxiYWNrICAqLworICAgIFVMT05HX1BUUiBmYWlsc2FmZV9jYWxsYmFja19l
aXA7CisjZWxzZQorICAgIFVMT05HX1BUUiBldmVudF9jYWxsYmFja19laXA7CisgICAgVUxPTkdf
UFRSIGZhaWxzYWZlX2NhbGxiYWNrX2VpcDsKKyNpZmRlZiBfX1hFTl9fCisgICAgdW5pb24gewor
ICAgICAgICBVTE9OR19QVFIgc3lzY2FsbF9jYWxsYmFja19laXA7CisgICAgICAgIHN0cnVjdCB7
CisgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZXZlbnRfY2FsbGJhY2tfY3M7ICAgIC8qIGNvbXBh
dCBDUyBvZiBldmVudCBjYiAgICAgKi8KKyAgICAgICAgICAgIHVuc2lnbmVkIGludCBmYWlsc2Fm
ZV9jYWxsYmFja19jczsgLyogY29tcGF0IENTIG9mIGZhaWxzYWZlIGNiICAqLworICAgICAgICB9
OworICAgIH07CisjZWxzZQorICAgIFVMT05HX1BUUiBzeXNjYWxsX2NhbGxiYWNrX2VpcDsKKyNl
bmRpZgorI2VuZGlmCisgICAgVUxPTkdfUFRSIHZtX2Fzc2lzdDsgICAgICAgICAgICAgICAgLyog
Vk1BU1NUX1RZUEVfKiBiaXRtYXAgKi8KKyNpZmRlZiBfX3g4Nl82NF9fCisgICAgLyogU2VnbWVu
dCBiYXNlIGFkZHJlc3Nlcy4gKi8KKyAgICB1aW50NjRfdCAgICAgIGZzX2Jhc2U7CisgICAgdWlu
dDY0X3QgICAgICBnc19iYXNlX2tlcm5lbDsKKyAgICB1aW50NjRfdCAgICAgIGdzX2Jhc2VfdXNl
cjsKKyNlbmRpZgorfTsKK3R5cGVkZWYgc3RydWN0IHZjcHVfZ3Vlc3RfY29udGV4dCB2Y3B1X2d1
ZXN0X2NvbnRleHRfdDsKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKHZjcHVfZ3Vlc3RfY29udGV4
dF90KTsKKworc3RydWN0IGFyY2hfc2hhcmVkX2luZm8geworICAgIC8qCisgICAgICogTnVtYmVy
IG9mIHZhbGlkIGVudHJpZXMgaW4gdGhlIHAybSB0YWJsZShzKSBhbmNob3JlZCBhdAorICAgICAq
IHBmbl90b19tZm5fZnJhbWVfbGlzdF9saXN0IGFuZC9vciBwMm1fdmFkZHIuCisgICAgICovCisg
ICAgVUxPTkdfUFRSIG1heF9wZm47CisgICAgLyoKKyAgICAgKiBGcmFtZSBjb250YWluaW5nIGxp
c3Qgb2YgbWZucyBjb250YWluaW5nIGxpc3Qgb2YgbWZucyBjb250YWluaW5nIHAybS4KKyAgICAg
KiBBIHZhbHVlIG9mIDAgaW5kaWNhdGVzIGl0IGhhcyBub3QgeWV0IGJlZW4gc2V0IHVwLCB+MCBp
bmRpY2F0ZXMgaXQgaGFzCisgICAgICogYmVlbiBzZXQgdG8gaW52YWxpZCBlLmcuIGR1ZSB0byB0
aGUgcDJtIGJlaW5nIHRvbyBsYXJnZSBmb3IgdGhlIDMtbGV2ZWwKKyAgICAgKiBwMm0gdHJlZS4g
SW4gdGhpcyBjYXNlIHRoZSBsaW5lYXIgbWFwcGVyIHAybSBsaXN0IGFuY2hvcmVkIGF0IHAybV92
YWRkcgorICAgICAqIGlzIHRvIGJlIHVzZWQuCisgICAgICovCisgICAgeGVuX3Bmbl90ICAgICBw
Zm5fdG9fbWZuX2ZyYW1lX2xpc3RfbGlzdDsKKyAgICBVTE9OR19QVFIgbm1pX3JlYXNvbjsKKyAg
ICAvKgorICAgICAqIEZvbGxvd2luZyB0aHJlZSBmaWVsZHMgYXJlIHZhbGlkIGlmIHAybV9jcjMg
Y29udGFpbnMgYSB2YWx1ZSBkaWZmZXJlbnQKKyAgICAgKiBmcm9tIDAuCisgICAgICogcDJtX2Ny
MyBpcyB0aGUgcm9vdCBvZiB0aGUgYWRkcmVzcyBzcGFjZSB3aGVyZSBwMm1fdmFkZHIgaXMgdmFs
aWQuCisgICAgICogcDJtX2NyMyBpcyBpbiB0aGUgc2FtZSBmb3JtYXQgYXMgYSBjcjMgdmFsdWUg
aW4gdGhlIHZjcHUgcmVnaXN0ZXIgc3RhdGUKKyAgICAgKiBhbmQgaG9sZHMgdGhlIGZvbGRlZCBt
YWNoaW5lIGZyYW1lIG51bWJlciAodmlhIHhlbl9wZm5fdG9fY3IzKSBvZiBhCisgICAgICogTDMg
b3IgTDQgcGFnZSB0YWJsZS4KKyAgICAgKiBwMm1fdmFkZHIgaG9sZHMgdGhlIHZpcnR1YWwgYWRk
cmVzcyBvZiB0aGUgbGluZWFyIHAybSBsaXN0LiBBbGwgZW50cmllcworICAgICAqIGluIHRoZSBy
YW5nZSBbMC4uLm1heF9wZm5bIGFyZSBhY2Nlc3NpYmxlIHZpYSB0aGlzIHBvaW50ZXIuCisgICAg
ICogcDJtX2dlbmVyYXRpb24gd2lsbCBiZSBpbmNyZW1lbnRlZCBieSB0aGUgZ3Vlc3QgYmVmb3Jl
IGFuZCBhZnRlciBlYWNoCisgICAgICogY2hhbmdlIG9mIHRoZSBtYXBwaW5ncyBvZiB0aGUgcDJt
IGxpc3QuIHAybV9nZW5lcmF0aW9uIHN0YXJ0cyBhdCAwIGFuZAorICAgICAqIGEgdmFsdWUgd2l0
aCB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IHNldCBpbmRpY2F0ZXMgdGhhdCBhIG1hcHBpbmcK
KyAgICAgKiB1cGRhdGUgaXMgaW4gcHJvZ3Jlc3MuIFRoaXMgYWxsb3dzIGd1ZXN0IGV4dGVybmFs
IHNvZnR3YXJlIChlLmcuIGluIERvbTApCisgICAgICogdG8gdmVyaWZ5IHRoYXQgcmVhZCBtYXBw
aW5ncyBhcmUgY29uc2lzdGVudCBhbmQgd2hldGhlciB0aGV5IGhhdmUgY2hhbmdlZAorICAgICAq
IHNpbmNlIHRoZSBsYXN0IGNoZWNrLgorICAgICAqIE1vZGlmeWluZyBhIHAybSBlbGVtZW50IGlu
IHRoZSBsaW5lYXIgcDJtIGxpc3QgaXMgYWxsb3dlZCB2aWEgYW4gYXRvbWljCisgICAgICogd3Jp
dGUgb25seS4KKyAgICAgKi8KKyAgICBVTE9OR19QVFIgcDJtX2NyMzsgICAgICAgICAvKiBjcjMg
dmFsdWUgb2YgdGhlIHAybSBhZGRyZXNzIHNwYWNlICovCisgICAgVUxPTkdfUFRSIHAybV92YWRk
cjsgICAgICAgLyogdmlydHVhbCBhZGRyZXNzIG9mIHRoZSBwMm0gbGlzdCAqLworICAgIFVMT05H
X1BUUiBwMm1fZ2VuZXJhdGlvbjsgIC8qIGdlbmVyYXRpb24gY291bnQgb2YgcDJtIG1hcHBpbmcg
Ki8KKyNpZmRlZiBfX2kzODZfXworICAgIC8qIFRoZXJlJ3Mgbm8gcm9vbSBmb3IgdGhpcyBmaWVs
ZCBpbiB0aGUgZ2VuZXJpYyBzdHJ1Y3R1cmUuICovCisgICAgdWludDMyX3Qgd2Nfc2VjX2hpOwor
I2VuZGlmCit9OwordHlwZWRlZiBzdHJ1Y3QgYXJjaF9zaGFyZWRfaW5mbyBhcmNoX3NoYXJlZF9p
bmZvX3Q7CisKKyNpZiBkZWZpbmVkKF9fWEVOX18pIHx8IGRlZmluZWQoX19YRU5fVE9PTFNfXykK
Ky8qCisgKiBzdHJ1Y3QgeGVuX2FyY2hfZG9tYWluY29uZmlnJ3MgQUJJIGlzIGNvdmVyZWQgYnkK
KyAqIFhFTl9ET01DVExfSU5URVJGQUNFX1ZFUlNJT04uCisgKi8KK3N0cnVjdCB4ZW5fYXJjaF9k
b21haW5jb25maWcgeworI2RlZmluZSBfWEVOX1g4Nl9FTVVfTEFQSUMgICAgICAgICAgMAorI2Rl
ZmluZSBYRU5fWDg2X0VNVV9MQVBJQyAgICAgICAgICAgKDFVPDxfWEVOX1g4Nl9FTVVfTEFQSUMp
CisjZGVmaW5lIF9YRU5fWDg2X0VNVV9IUEVUICAgICAgICAgICAxCisjZGVmaW5lIFhFTl9YODZf
RU1VX0hQRVQgICAgICAgICAgICAoMVU8PF9YRU5fWDg2X0VNVV9IUEVUKQorI2RlZmluZSBfWEVO
X1g4Nl9FTVVfUE0gICAgICAgICAgICAgMgorI2RlZmluZSBYRU5fWDg2X0VNVV9QTSAgICAgICAg
ICAgICAgKDFVPDxfWEVOX1g4Nl9FTVVfUE0pCisjZGVmaW5lIF9YRU5fWDg2X0VNVV9SVEMgICAg
ICAgICAgICAzCisjZGVmaW5lIFhFTl9YODZfRU1VX1JUQyAgICAgICAgICAgICAoMVU8PF9YRU5f
WDg2X0VNVV9SVEMpCisjZGVmaW5lIF9YRU5fWDg2X0VNVV9JT0FQSUMgICAgICAgICA0CisjZGVm
aW5lIFhFTl9YODZfRU1VX0lPQVBJQyAgICAgICAgICAoMVU8PF9YRU5fWDg2X0VNVV9JT0FQSUMp
CisjZGVmaW5lIF9YRU5fWDg2X0VNVV9QSUMgICAgICAgICAgICA1CisjZGVmaW5lIFhFTl9YODZf
RU1VX1BJQyAgICAgICAgICAgICAoMVU8PF9YRU5fWDg2X0VNVV9QSUMpCisjZGVmaW5lIF9YRU5f
WDg2X0VNVV9WR0EgICAgICAgICAgICA2CisjZGVmaW5lIFhFTl9YODZfRU1VX1ZHQSAgICAgICAg
ICAgICAoMVU8PF9YRU5fWDg2X0VNVV9WR0EpCisjZGVmaW5lIF9YRU5fWDg2X0VNVV9JT01NVSAg
ICAgICAgICA3CisjZGVmaW5lIFhFTl9YODZfRU1VX0lPTU1VICAgICAgICAgICAoMVU8PF9YRU5f
WDg2X0VNVV9JT01NVSkKKyNkZWZpbmUgX1hFTl9YODZfRU1VX1BJVCAgICAgICAgICAgIDgKKyNk
ZWZpbmUgWEVOX1g4Nl9FTVVfUElUICAgICAgICAgICAgICgxVTw8X1hFTl9YODZfRU1VX1BJVCkK
KworI2RlZmluZSBYRU5fWDg2X0VNVV9BTEwgICAgICAgICAgICAgKFhFTl9YODZfRU1VX0xBUElD
IHwgWEVOX1g4Nl9FTVVfSFBFVCB8ICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgWEVOX1g4Nl9FTVVfUE0gfCBYRU5fWDg2X0VNVV9SVEMgfCAgICAgIFwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5fWDg2X0VNVV9JT0FQSUMgfCBYRU5fWDg2
X0VNVV9QSUMgfCAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTl9Y
ODZfRU1VX1ZHQSB8IFhFTl9YODZfRU1VX0lPTU1VIHwgICBcCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgWEVOX1g4Nl9FTVVfUElUKQorICAgIHVpbnQzMl90IGVtdWxhdGlv
bl9mbGFnczsKK307CisjZW5kaWYKKworI2VuZGlmIC8qICFfX0FTU0VNQkxZX18gKi8KKworLyoK
KyAqIGAgZW51bSBuZWdfZXJybm92YWwKKyAqIGAgSFlQRVJWSVNPUl9mcHVfdGFza3N3aXRjaChp
bnQgc2V0KTsKKyAqIGAKKyAqIFNldHMgKGlmIHNldCE9MCkgb3IgY2xlYXJzIChpZiBzZXQ9PTAp
IENSMC5UUy4KKyAqLworCisvKgorICogYCBlbnVtIG5lZ19lcnJub3ZhbAorICogYCBIWVBFUlZJ
U09SX3NldF9kZWJ1Z3JlZyhpbnQgcmVnbm8sIFVMT05HX1BUUiB2YWx1ZSk7CisgKgorICogYCBV
TE9OR19QVFIKKyAqIGAgSFlQRVJWSVNPUl9nZXRfZGVidWdyZWcoaW50IHJlZ25vKTsKKyAqIEZv
ciAwPD1yZWc8PTcsIHJldHVybnMgdGhlIGRlYnVnIHJlZ2lzdGVyIHZhbHVlLgorICogRm9yIG90
aGVyIHZhbHVlcyBvZiByZWcsIHJldHVybnMgKChVTE9OR19QVFIpLUVJTlZBTCkuCisgKiAoVW5m
b3J0dW5hdGVseSwgdGhpcyBpbnRlcmZhY2UgaXMgZGVmZWN0aXZlLikKKyAqLworCisvKgorICog
UHJlZml4IGZvcmNlcyBlbXVsYXRpb24gb2Ygc29tZSBub24tdHJhcHBpbmcgaW5zdHJ1Y3Rpb25z
LgorICogQ3VycmVudGx5IG9ubHkgQ1BVSUQuCisgKi8KKyNpZmRlZiBfX0FTU0VNQkxZX18KKyNk
ZWZpbmUgWEVOX0VNVUxBVEVfUFJFRklYIC5ieXRlIDB4MGYsMHgwYiwweDc4LDB4NjUsMHg2ZSA7
CisjZGVmaW5lIFhFTl9DUFVJRCAgICAgICAgICBYRU5fRU1VTEFURV9QUkVGSVggY3B1aWQKKyNl
bHNlCisjZGVmaW5lIFhFTl9FTVVMQVRFX1BSRUZJWCAiLmJ5dGUgMHgwZiwweDBiLDB4NzgsMHg2
NSwweDZlIDsgIgorI2RlZmluZSBYRU5fQ1BVSUQgICAgICAgICAgWEVOX0VNVUxBVEVfUFJFRklY
ICJjcHVpZCIKKyNlbmRpZgorCisjZW5kaWYgLyogX19YRU5fUFVCTElDX0FSQ0hfWDg2X1hFTl9I
X18gKi8KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1z
dHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6IDQKKyAqIGlu
ZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3hl
bi9wdWJsaWMvZXJybm8uaCBiL2luY2x1ZGUveGVuL3B1YmxpYy9lcnJuby5oCm5ldyBmaWxlIG1v
ZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU0NDAyMzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNs
dWRlL3hlbi9wdWJsaWMvZXJybm8uaApAQCAtMCwwICsxLDEyNCBAQAorLyoKKyAqIFRoZXJlIGFy
ZSB0d28gZXhwZWN0ZWQgd2F5cyBvZiBpbmNsdWRpbmcgdGhpcyBoZWFkZXIuCisgKgorICogMSkg
VGhlICJkZWZhdWx0IiBjYXNlIChleHBlY3RlZCBmcm9tIHRvb2xzIGV0YykuCisgKgorICogU2lt
cGx5ICNpbmNsdWRlIDxwdWJsaWMvZXJybm8uaD4KKyAqCisgKiBJbiB0aGlzIGNpcmN1bXN0YW5j
ZSwgbm9ybWFsIGhlYWRlciBndWFyZHMgYXBwbHkgYW5kIHRoZSBpbmNsdWRlciBzaGFsbCBnZXQK
KyAqIGFuIGVudW1lcmF0aW9uIGluIHRoZSBYRU5feHh4IG5hbWVzcGFjZSwgYXBwcm9wcmlhdGUg
Zm9yIEMgb3IgYXNzZW1ibHkuCisgKgorICogMikgVGhlIHNwZWNpYWwgY2FzZSB3aGVyZSB0aGUg
aW5jbHVkZXIgcHJvdmlkZXMgYSBYRU5fRVJSTk8oKSBpbiBzY29wZS4KKyAqCisgKiBJbiB0aGlz
IGNhc2UsIG5vIGluY2x1c2lvbiBndWFyZHMgYXBwbHkgYW5kIHRoZSBjYWxsZXIgaXMgcmVzcG9u
c2libGUgZm9yCisgKiB0aGVpciBYRU5fRVJSTk8oKSBiZWluZyBhcHByb3ByaWF0ZSBpbiB0aGUg
aW5jbHVkZWQgY29udGV4dC4gIFRoZSBoZWFkZXIKKyAqIHdpbGwgdW5pbGF0ZXJhbGx5ICN1bmRl
ZiBYRU5fRVJSTk8oKS4KKyAqLworCisjaWZuZGVmIFhFTl9FUlJOTworCisvKgorICogSW5jbHVk
ZXIgaGFzIG5vdCBwcm92aWRlZCBhIGN1c3RvbSBYRU5fRVJSTk8oKS4gIEFycmFuZ2UgZm9yIG5v
cm1hbCBoZWFkZXIKKyAqIGd1YXJkcywgYW4gYXV0b21hdGljIGVudW0gKGZvciBDIGNvZGUpIGFu
ZCBjb25zdGFudHMgaW4gdGhlIFhFTl94eHgKKyAqIG5hbWVzcGFjZS4KKyAqLworI2lmbmRlZiBf
X1hFTl9QVUJMSUNfRVJSTk9fSF9fCisjZGVmaW5lIF9fWEVOX1BVQkxJQ19FUlJOT19IX18KKwor
I2RlZmluZSBYRU5fRVJSTk9fREVGQVVMVF9JTkNMVURFCisKKyNpZm5kZWYgX19BU1NFTUJMWV9f
CisKKyNkZWZpbmUgWEVOX0VSUk5PKG5hbWUsIHZhbHVlKSBYRU5fIyNuYW1lID0gdmFsdWUsCitl
bnVtIHhlbl9lcnJubyB7CisKKyNlbGlmIF9fWEVOX0lOVEVSRkFDRV9WRVJTSU9OX18gPCAweDAw
MDQwNzAwCisKKyNkZWZpbmUgWEVOX0VSUk5PKG5hbWUsIHZhbHVlKSAuZXF1IFhFTl8jI25hbWUs
IHZhbHVlCisKKyNlbmRpZiAvKiBfX0FTU0VNQkxZX18gKi8KKworI2VuZGlmIC8qIF9fWEVOX1BV
QkxJQ19FUlJOT19IX18gKi8KKyNlbmRpZiAvKiAhWEVOX0VSUk5PICovCisKKy8qIGAgZW51bSBu
ZWdfZXJybm92YWwgeyAgWyAtRWZvbyBmb3IgZWFjaCBFZm9vIGluIHRoZSBsaXN0IGJlbG93IF0g
IH0gKi8KKy8qIGAgZW51bSBlcnJub3ZhbCB7ICovCisKKyNpZmRlZiBYRU5fRVJSTk8KKworLyoK
KyAqIFZhbHVlcyBvcmlnaW5hdGluZyBmcm9tIHg4NiBMaW51eC4gUGxlYXNlIGNvbnNpZGVyIHVz
aW5nIHJlc3BlY3RpdmUKKyAqIHZhbHVlcyB3aGVuIGFkZGluZyBuZXcgZGVmaW5pdGlvbnMgaGVy
ZS4KKyAqCisgKiBUaGUgc2V0IG9mIGlkZW50aWZpZXJzIHRvIGJlIGFkZGVkIGhlcmUgc2hvdWxk
bid0IGV4dGVuZCBiZXlvbmQgd2hhdAorICogUE9TSVggbWFuZGF0ZXMgKHNlZSBlLmcuCisgKiBo
dHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvOTY5OTkxOTc5OS9iYXNlZGVmcy9l
cnJuby5oLmh0bWwpCisgKiB3aXRoIHRoZSBleGNlcHRpb24gdGhhdCB3ZSBzdXBwb3J0IHNvbWUg
b3B0aW9uYWwgKFhTUikgdmFsdWVzCisgKiBzcGVjaWZpZWQgdGhlcmUgKGJ1dCBubyBuZXcgb25l
cyBzaG91bGQgYmUgYWRkZWQpLgorICovCisKK1hFTl9FUlJOTyhFUEVSTSwJIDEpCS8qIE9wZXJh
dGlvbiBub3QgcGVybWl0dGVkICovCitYRU5fRVJSTk8oRU5PRU5ULAkgMikJLyogTm8gc3VjaCBm
aWxlIG9yIGRpcmVjdG9yeSAqLworWEVOX0VSUk5PKEVTUkNILAkgMykJLyogTm8gc3VjaCBwcm9j
ZXNzICovCisjaWZkZWYgX19YRU5fXyAvKiBJbnRlcm5hbCBvbmx5LCBzaG91bGQgbmV2ZXIgYmUg
ZXhwb3NlZCB0byB0aGUgZ3Vlc3QuICovCitYRU5fRVJSTk8oRUlOVFIsCSA0KQkvKiBJbnRlcnJ1
cHRlZCBzeXN0ZW0gY2FsbCAqLworI2VuZGlmCitYRU5fRVJSTk8oRUlPLAkJIDUpCS8qIEkvTyBl
cnJvciAqLworWEVOX0VSUk5PKEVOWElPLAkgNikJLyogTm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVz
cyAqLworWEVOX0VSUk5PKEUyQklHLAkgNykJLyogQXJnIGxpc3QgdG9vIExPTkdfUFRSICovCitY
RU5fRVJSTk8oRU5PRVhFQywJIDgpCS8qIEV4ZWMgZm9ybWF0IGVycm9yICovCitYRU5fRVJSTk8o
RUJBREYsCSA5KQkvKiBCYWQgZmlsZSBudW1iZXIgKi8KK1hFTl9FUlJOTyhFQ0hJTEQsCTEwKQkv
KiBObyBjaGlsZCBwcm9jZXNzZXMgKi8KK1hFTl9FUlJOTyhFQUdBSU4sCTExKQkvKiBUcnkgYWdh
aW4gKi8KK1hFTl9FUlJOTyhFV09VTERCTE9DSywJMTEpCS8qIE9wZXJhdGlvbiB3b3VsZCBibG9j
ay4gIEFsaWFzZXMgRUFHQUlOICovCitYRU5fRVJSTk8oRU5PTUVNLAkxMikJLyogT3V0IG9mIG1l
bW9yeSAqLworWEVOX0VSUk5PKEVBQ0NFUywJMTMpCS8qIFBlcm1pc3Npb24gZGVuaWVkICovCitY
RU5fRVJSTk8oRUZBVUxULAkxNCkJLyogQmFkIGFkZHJlc3MgKi8KK1hFTl9FUlJOTyhFQlVTWSwJ
MTYpCS8qIERldmljZSBvciByZXNvdXJjZSBidXN5ICovCitYRU5fRVJSTk8oRUVYSVNULAkxNykJ
LyogRmlsZSBleGlzdHMgKi8KK1hFTl9FUlJOTyhFWERFViwJMTgpCS8qIENyb3NzLWRldmljZSBs
aW5rICovCitYRU5fRVJSTk8oRU5PREVWLAkxOSkJLyogTm8gc3VjaCBkZXZpY2UgKi8KK1hFTl9F
UlJOTyhFSVNESVIsCTIxKQkvKiBJcyBhIGRpcmVjdG9yeSAqLworWEVOX0VSUk5PKEVJTlZBTCwJ
MjIpCS8qIEludmFsaWQgYXJndW1lbnQgKi8KK1hFTl9FUlJOTyhFTkZJTEUsCTIzKQkvKiBGaWxl
IHRhYmxlIG92ZXJmbG93ICovCitYRU5fRVJSTk8oRU1GSUxFLAkyNCkJLyogVG9vIG1hbnkgb3Bl
biBmaWxlcyAqLworWEVOX0VSUk5PKEVOT1NQQywJMjgpCS8qIE5vIHNwYWNlIGxlZnQgb24gZGV2
aWNlICovCitYRU5fRVJSTk8oRVJPRlMsCTMwKQkvKiBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0gKi8K
K1hFTl9FUlJOTyhFTUxJTkssCTMxKQkvKiBUb28gbWFueSBsaW5rcyAqLworWEVOX0VSUk5PKEVE
T00sCQkzMykJLyogTWF0aCBhcmd1bWVudCBvdXQgb2YgZG9tYWluIG9mIGZ1bmMgKi8KK1hFTl9F
UlJOTyhFUkFOR0UsCTM0KQkvKiBNYXRoIHJlc3VsdCBub3QgcmVwcmVzZW50YWJsZSAqLworWEVO
X0VSUk5PKEVERUFETEssCTM1KQkvKiBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1ciAqLwor
WEVOX0VSUk5PKEVERUFETE9DSywJMzUpCS8qIFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3Vy
LiBBbGlhc2VzIEVERUFETEsgKi8KK1hFTl9FUlJOTyhFTkFNRVRPT0xPTkcsCTM2KQkvKiBGaWxl
IG5hbWUgdG9vIExPTkdfUFRSICovCitYRU5fRVJSTk8oRU5PTENLLAkzNykJLyogTm8gcmVjb3Jk
IGxvY2tzIGF2YWlsYWJsZSAqLworWEVOX0VSUk5PKEVOT1RFTVBUWSwJMzkpCS8qIERpcmVjdG9y
eSBub3QgZW1wdHkgKi8KK1hFTl9FUlJOTyhFTk9TWVMsCTM4KQkvKiBGdW5jdGlvbiBub3QgaW1w
bGVtZW50ZWQgKi8KK1hFTl9FUlJOTyhFTk9EQVRBLAk2MSkJLyogTm8gZGF0YSBhdmFpbGFibGUg
Ki8KK1hFTl9FUlJOTyhFVElNRSwJNjIpCS8qIFRpbWVyIGV4cGlyZWQgKi8KK1hFTl9FUlJOTyhF
QkFETVNHLAk3NCkJLyogTm90IGEgZGF0YSBtZXNzYWdlICovCitYRU5fRVJSTk8oRU9WRVJGTE9X
LAk3NSkJLyogVmFsdWUgdG9vIGxhcmdlIGZvciBkZWZpbmVkIGRhdGEgdHlwZSAqLworWEVOX0VS
Uk5PKEVJTFNFUSwJODQpCS8qIElsbGVnYWwgYnl0ZSBzZXF1ZW5jZSAqLworI2lmZGVmIF9fWEVO
X18gLyogSW50ZXJuYWwgb25seSwgc2hvdWxkIG5ldmVyIGJlIGV4cG9zZWQgdG8gdGhlIGd1ZXN0
LiAqLworWEVOX0VSUk5PKEVSRVNUQVJULAk4NSkJLyogSW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwg
c2hvdWxkIGJlIHJlc3RhcnRlZCAqLworI2VuZGlmCitYRU5fRVJSTk8oRU5PVFNPQ0ssCTg4KQkv
KiBTb2NrZXQgb3BlcmF0aW9uIG9uIG5vbi1zb2NrZXQgKi8KK1hFTl9FUlJOTyhFT1BOT1RTVVBQ
LAk5NSkJLyogT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgb24gdHJhbnNwb3J0IGVuZHBvaW50ICov
CitYRU5fRVJSTk8oRUFERFJJTlVTRSwJOTgpCS8qIEFkZHJlc3MgYWxyZWFkeSBpbiB1c2UgKi8K
K1hFTl9FUlJOTyhFQUREUk5PVEFWQUlMLCA5OSkJLyogQ2Fubm90IGFzc2lnbiByZXF1ZXN0ZWQg
YWRkcmVzcyAqLworWEVOX0VSUk5PKEVOT0JVRlMsCTEwNSkJLyogTm8gYnVmZmVyIHNwYWNlIGF2
YWlsYWJsZSAqLworWEVOX0VSUk5PKEVJU0NPTk4sCTEwNikJLyogVHJhbnNwb3J0IGVuZHBvaW50
IGlzIGFscmVhZHkgY29ubmVjdGVkICovCitYRU5fRVJSTk8oRU5PVENPTk4sCTEwNykJLyogVHJh
bnNwb3J0IGVuZHBvaW50IGlzIG5vdCBjb25uZWN0ZWQgKi8KK1hFTl9FUlJOTyhFVElNRURPVVQs
CTExMCkJLyogQ29ubmVjdGlvbiB0aW1lZCBvdXQgKi8KKworI3VuZGVmIFhFTl9FUlJOTworI2Vu
ZGlmIC8qIFhFTl9FUlJOTyAqLworLyogYCB9ICovCisKKy8qIENsZWFuIHVwIGZyb20gYSBkZWZh
dWx0IGluY2x1ZGUuICBDbG9zZSB0aGUgZW51bSAoZm9yIEMpLiAqLworI2lmZGVmIFhFTl9FUlJO
T19ERUZBVUxUX0lOQ0xVREUKKyN1bmRlZiBYRU5fRVJSTk9fREVGQVVMVF9JTkNMVURFCisjaWZu
ZGVmIF9fQVNTRU1CTFlfXworfTsKKyNlbmRpZgorCisjZW5kaWYgLyogWEVOX0VSUk5PX0RFRkFV
TFRfSU5DTFVERSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vcHVibGljL2dyYW50X3RhYmxl
LmggYi9pbmNsdWRlL3hlbi9wdWJsaWMvZ3JhbnRfdGFibGUuaApuZXcgZmlsZSBtb2RlIDEwMDc1
NQppbmRleCAwMDAwMDAwLi5iNjhmZmRkCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS94ZW4v
cHVibGljL2dyYW50X3RhYmxlLmgKQEAgLTAsMCArMSw2ODQgQEAKKy8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioKKyAqIGdyYW50X3RhYmxlLmgKKyAqCisgKiBJbnRlcmZhY2UgZm9yIGdyYW50aW5nIGZv
cmVpZ24gYWNjZXNzIHRvIHBhZ2UgZnJhbWVzLCBhbmQgcmVjZWl2aW5nCisgKiBwYWdlLW93bmVy
c2hpcCB0cmFuc2ZlcnMuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl
ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQorICogb2YgdGhpcyBz
b2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJl
IiksIHRvCisgKiBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZQorICogcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yCisgKiBz
ZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBTb2Z0d2FyZSBpcworICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBh
bmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNv
cGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhF
IFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8g
VEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
CisgKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9S
IElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgorICog
REVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwNCwgSyBB
IEZyYXNlcgorICovCisKKyNpZm5kZWYgX19YRU5fUFVCTElDX0dSQU5UX1RBQkxFX0hfXworI2Rl
ZmluZSBfX1hFTl9QVUJMSUNfR1JBTlRfVEFCTEVfSF9fCisKKyNpbmNsdWRlICJ4ZW4uaCIKKwor
LyoKKyAqIGBpbmNvbnRlbnRzIDE1MCBnbnR0YWIgR3JhbnQgVGFibGVzCisgKgorICogWGVuJ3Mg
Z3JhbnQgdGFibGVzIHByb3ZpZGUgYSBnZW5lcmljIG1lY2hhbmlzbSB0byBtZW1vcnkgc2hhcmlu
ZworICogYmV0d2VlbiBkb21haW5zLiBUaGlzIHNoYXJlZCBtZW1vcnkgaW50ZXJmYWNlIHVuZGVy
cGlucyB0aGUgc3BsaXQKKyAqIGRldmljZSBkcml2ZXJzIGZvciBibG9jayBhbmQgbmV0d29yayBJ
Ty4KKyAqCisgKiBFYWNoIGRvbWFpbiBoYXMgaXRzIG93biBncmFudCB0YWJsZS4gVGhpcyBpcyBh
IGRhdGEgc3RydWN0dXJlIHRoYXQKKyAqIGlzIHNoYXJlZCB3aXRoIFhlbjsgaXQgYWxsb3dzIHRo
ZSBkb21haW4gdG8gdGVsbCBYZW4gd2hhdCBraW5kIG9mCisgKiBwZXJtaXNzaW9ucyBvdGhlciBk
b21haW5zIGhhdmUgb24gaXRzIHBhZ2VzLiBFbnRyaWVzIGluIHRoZSBncmFudAorICogdGFibGUg
YXJlIGlkZW50aWZpZWQgYnkgZ3JhbnQgcmVmZXJlbmNlcy4gQSBncmFudCByZWZlcmVuY2UgaXMg
YW4KKyAqIGludGVnZXIsIHdoaWNoIGluZGV4ZXMgaW50byB0aGUgZ3JhbnQgdGFibGUuIEl0IGFj
dHMgYXMgYQorICogY2FwYWJpbGl0eSB3aGljaCB0aGUgZ3JhbnRlZSBjYW4gdXNlIHRvIHBlcmZv
cm0gb3BlcmF0aW9ucyBvbiB0aGUKKyAqIGdyYW50ZXIncyBtZW1vcnkuCisgKgorICogVGhpcyBj
YXBhYmlsaXR5LWJhc2VkIHN5c3RlbSBhbGxvd3Mgc2hhcmVkLW1lbW9yeSBjb21tdW5pY2F0aW9u
cworICogYmV0d2VlbiB1bnByaXZpbGVnZWQgZG9tYWlucy4gQSBncmFudCByZWZlcmVuY2UgYWxz
byBlbmNhcHN1bGF0ZXMKKyAqIHRoZSBkZXRhaWxzIG9mIGEgc2hhcmVkIHBhZ2UsIHJlbW92aW5n
IHRoZSBuZWVkIGZvciBhIGRvbWFpbiB0bworICoga25vdyB0aGUgcmVhbCBtYWNoaW5lIGFkZHJl
c3Mgb2YgYSBwYWdlIGl0IGlzIHNoYXJpbmcuIFRoaXMgbWFrZXMKKyAqIGl0IHBvc3NpYmxlIHRv
IHNoYXJlIG1lbW9yeSBjb3JyZWN0bHkgd2l0aCBkb21haW5zIHJ1bm5pbmcgaW4KKyAqIGZ1bGx5
IHZpcnR1YWxpc2VkIG1lbW9yeS4KKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKKyAqIEdSQU5UIFRBQkxFIFJFUFJFU0VOVEFUSU9OCisgKi8KKworLyogU29tZSBy
b3VnaCBndWlkZWxpbmVzIG9uIGFjY2Vzc2luZyBhbmQgdXBkYXRpbmcgZ3JhbnQtdGFibGUgZW50
cmllcworICogaW4gYSBjb25jdXJyZW5jeS1zYWZlIG1hbm5lci4gRm9yIG1vcmUgaW5mb3JtYXRp
b24sIExpbnV4IGNvbnRhaW5zIGEKKyAqIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBmb3IgZ3Vl
c3QgT1NlcyAoZHJpdmVycy94ZW4vZ3JhbnRfdGFibGUuYywgc2VlCisgKiBodHRwOi8vZ2l0Lmtl
cm5lbC5vcmcvP3A9bGludXgva2VybmVsL2dpdC90b3J2YWxkcy9saW51eC5naXQ7YT1ibG9iO2Y9
ZHJpdmVycy94ZW4vZ3JhbnQtdGFibGUuYztoYj1IRUFECisgKgorICogTkIuIFdNQiBpcyBhIG5v
LW9wIG9uIGN1cnJlbnQtZ2VuZXJhdGlvbiB4ODYgcHJvY2Vzc29ycy4gSG93ZXZlciwgYQorICog
ICAgIGNvbXBpbGVyIGJhcnJpZXIgd2lsbCBzdGlsbCBiZSByZXF1aXJlZC4KKyAqCisgKiBJbnRy
b2R1Y2luZyBhIHZhbGlkIGVudHJ5IGludG8gdGhlIGdyYW50IHRhYmxlOgorICogIDEuIFdyaXRl
IGVudC0+ZG9taWQuCisgKiAgMi4gV3JpdGUgZW50LT5mcmFtZToKKyAqICAgICAgR1RGX3Blcm1p
dF9hY2Nlc3M6ICAgRnJhbWUgdG8gd2hpY2ggYWNjZXNzIGlzIHBlcm1pdHRlZC4KKyAqICAgICAg
R1RGX2FjY2VwdF90cmFuc2ZlcjogUHNldWRvLXBoeXMgZnJhbWUgc2xvdCBiZWluZyBmaWxsZWQg
YnkgbmV3CisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lLCBvciB6ZXJvIGlmIG5v
bmUuCisgKiAgMy4gV3JpdGUgbWVtb3J5IGJhcnJpZXIgKFdNQikuCisgKiAgNC4gV3JpdGUgZW50
LT5mbGFncywgaW5jLiB2YWxpZCB0eXBlLgorICoKKyAqIEludmFsaWRhdGluZyBhbiB1bnVzZWQg
R1RGX3Blcm1pdF9hY2Nlc3MgZW50cnk6CisgKiAgMS4gZmxhZ3MgPSBlbnQtPmZsYWdzLgorICog
IDIuIE9ic2VydmUgdGhhdCAhKGZsYWdzICYgKEdURl9yZWFkaW5nfEdURl93cml0aW5nKSkuCisg
KiAgMy4gQ2hlY2sgcmVzdWx0IG9mIFNNUC1zYWZlIENNUFhDSEcoJmVudC0+ZmxhZ3MsIGZsYWdz
LCAwKS4KKyAqICBOQi4gTm8gbmVlZCBmb3IgV01CIGFzIHJldXNlIG9mIGVudHJ5IGlzIGNvbnRy
b2wtZGVwZW5kZW50IG9uIHN1Y2Nlc3Mgb2YKKyAqICAgICAgc3RlcCAzLCBhbmQgYWxsIGFyY2hp
dGVjdHVyZXMgZ3VhcmFudGVlIG9yZGVyaW5nIG9mIGN0cmwtZGVwIHdyaXRlcy4KKyAqCisgKiBJ
bnZhbGlkYXRpbmcgYW4gaW4tdXNlIEdURl9wZXJtaXRfYWNjZXNzIGVudHJ5OgorICogIFRoaXMg
Y2Fubm90IGJlIGRvbmUgZGlyZWN0bHkuIFJlcXVlc3QgYXNzaXN0YW5jZSBmcm9tIHRoZSBkb21h
aW4gY29udHJvbGxlcgorICogIHdoaWNoIGNhbiBzZXQgYSB0aW1lb3V0IG9uIHRoZSB1c2Ugb2Yg
YSBncmFudCBlbnRyeSBhbmQgdGFrZSBuZWNlc3NhcnkKKyAqICBhY3Rpb24uIChOQi4gVGhpcyBp
cyBub3QgeWV0IGltcGxlbWVudGVkISkuCisgKgorICogSW52YWxpZGF0aW5nIGFuIHVudXNlZCBH
VEZfYWNjZXB0X3RyYW5zZmVyIGVudHJ5OgorICogIDEuIGZsYWdzID0gZW50LT5mbGFncy4KKyAq
ICAyLiBPYnNlcnZlIHRoYXQgIShmbGFncyAmIEdURl90cmFuc2Zlcl9jb21taXR0ZWQpLiBbKl0K
KyAqICAzLiBDaGVjayByZXN1bHQgb2YgU01QLXNhZmUgQ01QWENIRygmZW50LT5mbGFncywgZmxh
Z3MsIDApLgorICogIE5CLiBObyBuZWVkIGZvciBXTUIgYXMgcmV1c2Ugb2YgZW50cnkgaXMgY29u
dHJvbC1kZXBlbmRlbnQgb24gc3VjY2VzcyBvZgorICogICAgICBzdGVwIDMsIGFuZCBhbGwgYXJj
aGl0ZWN0dXJlcyBndWFyYW50ZWUgb3JkZXJpbmcgb2YgY3RybC1kZXAgd3JpdGVzLgorICogIFsq
XSBJZiBHVEZfdHJhbnNmZXJfY29tbWl0dGVkIGlzIHNldCB0aGVuIHRoZSBncmFudCBlbnRyeSBp
cyAnY29tbWl0dGVkJy4KKyAqICAgICAgVGhlIGd1ZXN0IG11c3QgL25vdC8gbW9kaWZ5IHRoZSBn
cmFudCBlbnRyeSB1bnRpbCB0aGUgYWRkcmVzcyBvZiB0aGUKKyAqICAgICAgdHJhbnNmZXJyZWQg
ZnJhbWUgaXMgd3JpdHRlbi4gSXQgaXMgc2FmZSBmb3IgdGhlIGd1ZXN0IHRvIHNwaW4gd2FpdGlu
ZworICogICAgICBmb3IgdGhpcyB0byBvY2N1ciAoZGV0ZWN0IGJ5IG9ic2VydmluZyBHVEZfdHJh
bnNmZXJfY29tcGxldGVkIGluCisgKiAgICAgIGVudC0+ZmxhZ3MpLgorICoKKyAqIEludmFsaWRh
dGluZyBhIGNvbW1pdHRlZCBHVEZfYWNjZXB0X3RyYW5zZmVyIGVudHJ5OgorICogIDEuIFdhaXQg
Zm9yIChlbnQtPmZsYWdzICYgR1RGX3RyYW5zZmVyX2NvbXBsZXRlZCkuCisgKgorICogQ2hhbmdp
bmcgYSBHVEZfcGVybWl0X2FjY2VzcyBmcm9tIHdyaXRhYmxlIHRvIHJlYWQtb25seToKKyAqICBV
c2UgU01QLXNhZmUgQ01QWENIRyB0byBzZXQgR1RGX3JlYWRvbmx5LCB3aGlsZSBjaGVja2luZyAh
R1RGX3dyaXRpbmcuCisgKgorICogQ2hhbmdpbmcgYSBHVEZfcGVybWl0X2FjY2VzcyBmcm9tIHJl
YWQtb25seSB0byB3cml0YWJsZToKKyAqICBVc2UgU01QLXNhZmUgYml0LXNldHRpbmcgaW5zdHJ1
Y3Rpb24uCisgKi8KKworLyoKKyAqIFJlZmVyZW5jZSB0byBhIGdyYW50IGVudHJ5IGluIGEgc3Bl
Y2lmaWVkIGRvbWFpbidzIGdyYW50IHRhYmxlLgorICovCit0eXBlZGVmIHVpbnQzMl90IGdyYW50
X3JlZl90OworCisvKgorICogQSBncmFudCB0YWJsZSBjb21wcmlzZXMgYSBwYWNrZWQgYXJyYXkg
b2YgZ3JhbnQgZW50cmllcyBpbiBvbmUgb3IgbW9yZQorICogcGFnZSBmcmFtZXMgc2hhcmVkIGJl
dHdlZW4gWGVuIGFuZCBhIGd1ZXN0LgorICogW1hFTl06IFRoaXMgZmllbGQgaXMgd3JpdHRlbiBi
eSBYZW4gYW5kIHJlYWQgYnkgdGhlIHNoYXJpbmcgZ3Vlc3QuCisgKiBbR1NUXTogVGhpcyBmaWVs
ZCBpcyB3cml0dGVuIGJ5IHRoZSBndWVzdCBhbmQgcmVhZCBieSBYZW4uCisgKi8KKworLyoKKyAq
IFZlcnNpb24gMSBvZiB0aGUgZ3JhbnQgdGFibGUgZW50cnkgc3RydWN0dXJlIGlzIG1haW50YWlu
ZWQgcHVyZWx5CisgKiBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuICBOZXcgZ3Vlc3RzIHNo
b3VsZCB1c2UgdmVyc2lvbiAyLgorICovCisjaWYgX19YRU5fSU5URVJGQUNFX1ZFUlNJT05fXyA8
IDB4MDAwMzAyMGEKKyNkZWZpbmUgZ3JhbnRfZW50cnlfdjEgZ3JhbnRfZW50cnkKKyNkZWZpbmUg
Z3JhbnRfZW50cnlfdjFfdCBncmFudF9lbnRyeV90CisjZW5kaWYKK3N0cnVjdCBncmFudF9lbnRy
eV92MSB7CisgICAgLyogR1RGX3h4eDogdmFyaW91cyB0eXBlIGFuZCBmbGFnIGluZm9ybWF0aW9u
LiAgW1hFTixHU1RdICovCisgICAgdWludDE2X3QgZmxhZ3M7CisgICAgLyogVGhlIGRvbWFpbiBi
ZWluZyBncmFudGVkIGZvcmVpZ24gcHJpdmlsZWdlcy4gW0dTVF0gKi8KKyAgICBkb21pZF90ICBk
b21pZDsKKyAgICAvKgorICAgICAqIEdURl9wZXJtaXRfYWNjZXNzOiBHRk4gdGhhdCBAZG9taWQg
aXMgYWxsb3dlZCB0byBtYXAgYW5kIGFjY2Vzcy4gW0dTVF0KKyAgICAgKiBHVEZfYWNjZXB0X3Ry
YW5zZmVyOiBHRk4gdGhhdCBAZG9taWQgaXMgYWxsb3dlZCB0byB0cmFuc2ZlciBpbnRvLiBbR1NU
XQorICAgICAqIEdURl90cmFuc2Zlcl9jb21wbGV0ZWQ6IE1GTiB3aG9zZSBvd25lcnNoaXAgdHJh
bnNmZXJyZWQgYnkgQGRvbWlkCisgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgKG5vbi10
cmFuc2xhdGVkIGd1ZXN0cyBvbmx5KS4gW1hFTl0KKyAgICAgKi8KKyAgICB1aW50MzJfdCBmcmFt
ZTsKK307Cit0eXBlZGVmIHN0cnVjdCBncmFudF9lbnRyeV92MSBncmFudF9lbnRyeV92MV90Owor
CisvKiBUaGUgZmlyc3QgZmV3IGdyYW50IHRhYmxlIGVudHJpZXMgd2lsbCBiZSBwcmVzZXJ2ZWQg
YWNyb3NzIGdyYW50IHRhYmxlCisgKiB2ZXJzaW9uIGNoYW5nZXMgYW5kIG1heSBiZSBwcmUtcG9w
dWxhdGVkIGF0IGRvbWFpbiBjcmVhdGlvbiBieSB0b29scy4KKyAqLworI2RlZmluZSBHTlRUQUJf
TlJfUkVTRVJWRURfRU5UUklFUyAgICAgOAorI2RlZmluZSBHTlRUQUJfUkVTRVJWRURfQ09OU09M
RSAgICAgICAgMAorI2RlZmluZSBHTlRUQUJfUkVTRVJWRURfWEVOU1RPUkUgICAgICAgMQorCisv
KgorICogVHlwZSBvZiBncmFudCBlbnRyeS4KKyAqICBHVEZfaW52YWxpZDogVGhpcyBncmFudCBl
bnRyeSBncmFudHMgbm8gcHJpdmlsZWdlcy4KKyAqICBHVEZfcGVybWl0X2FjY2VzczogQWxsb3cg
QGRvbWlkIHRvIG1hcC9hY2Nlc3MgQGZyYW1lLgorICogIEdURl9hY2NlcHRfdHJhbnNmZXI6IEFs
bG93IEBkb21pZCB0byB0cmFuc2ZlciBvd25lcnNoaXAgb2Ygb25lIHBhZ2UgZnJhbWUKKyAqICAg
ICAgICAgICAgICAgICAgICAgICB0byB0aGlzIGd1ZXN0LiBYZW4gd3JpdGVzIHRoZSBwYWdlIG51
bWJlciB0byBAZnJhbWUuCisgKiAgR1RGX3RyYW5zaXRpdmU6IEFsbG93IEBkb21pZCB0byB0cmFu
c2l0aXZlbHkgYWNjZXNzIGEgc3VicmFuZ2Ugb2YKKyAqICAgICAgICAgICAgICAgICAgQHRyYW5z
X2dyYW50IGluIEB0cmFuc19kb21pZC4gIE5vIG1hcHBpbmdzIGFyZSBhbGxvd2VkLgorICovCisj
ZGVmaW5lIEdURl9pbnZhbGlkICAgICAgICAgKDBVPDwwKQorI2RlZmluZSBHVEZfcGVybWl0X2Fj
Y2VzcyAgICgxVTw8MCkKKyNkZWZpbmUgR1RGX2FjY2VwdF90cmFuc2ZlciAoMlU8PDApCisjZGVm
aW5lIEdURl90cmFuc2l0aXZlICAgICAgKDNVPDwwKQorI2RlZmluZSBHVEZfdHlwZV9tYXNrICAg
ICAgICgzVTw8MCkKKworLyoKKyAqIFN1YmZsYWdzIGZvciBHVEZfcGVybWl0X2FjY2Vzcy4KKyAq
ICBHVEZfcmVhZG9ubHk6IFJlc3RyaWN0IEBkb21pZCB0byByZWFkLW9ubHkgbWFwcGluZ3MgYW5k
IGFjY2Vzc2VzLiBbR1NUXQorICogIEdURl9yZWFkaW5nOiBHcmFudCBlbnRyeSBpcyBjdXJyZW50
bHkgbWFwcGVkIGZvciByZWFkaW5nIGJ5IEBkb21pZC4gW1hFTl0KKyAqICBHVEZfd3JpdGluZzog
R3JhbnQgZW50cnkgaXMgY3VycmVudGx5IG1hcHBlZCBmb3Igd3JpdGluZyBieSBAZG9taWQuIFtY
RU5dCisgKiAgR1RGX1BBVCwgR1RGX1BXVCwgR1RGX1BDRDogKHg4NikgY2FjaGUgYXR0cmlidXRl
IGZsYWdzIGZvciB0aGUgZ3JhbnQgW0dTVF0KKyAqICBHVEZfc3ViX3BhZ2U6IEdyYW50IGFjY2Vz
cyB0byBvbmx5IGEgc3VicmFuZ2Ugb2YgdGhlIHBhZ2UuICBAZG9taWQKKyAqICAgICAgICAgICAg
ICAgIHdpbGwgb25seSBiZSBhbGxvd2VkIHRvIGNvcHkgZnJvbSB0aGUgZ3JhbnQsIGFuZCBub3QK
KyAqICAgICAgICAgICAgICAgIG1hcCBpdC4gW0dTVF0KKyAqLworI2RlZmluZSBfR1RGX3JlYWRv
bmx5ICAgICAgICgyKQorI2RlZmluZSBHVEZfcmVhZG9ubHkgICAgICAgICgxVTw8X0dURl9yZWFk
b25seSkKKyNkZWZpbmUgX0dURl9yZWFkaW5nICAgICAgICAoMykKKyNkZWZpbmUgR1RGX3JlYWRp
bmcgICAgICAgICAoMVU8PF9HVEZfcmVhZGluZykKKyNkZWZpbmUgX0dURl93cml0aW5nICAgICAg
ICAoNCkKKyNkZWZpbmUgR1RGX3dyaXRpbmcgICAgICAgICAoMVU8PF9HVEZfd3JpdGluZykKKyNk
ZWZpbmUgX0dURl9QV1QgICAgICAgICAgICAoNSkKKyNkZWZpbmUgR1RGX1BXVCAgICAgICAgICAg
ICAoMVU8PF9HVEZfUFdUKQorI2RlZmluZSBfR1RGX1BDRCAgICAgICAgICAgICg2KQorI2RlZmlu
ZSBHVEZfUENEICAgICAgICAgICAgICgxVTw8X0dURl9QQ0QpCisjZGVmaW5lIF9HVEZfUEFUICAg
ICAgICAgICAgKDcpCisjZGVmaW5lIEdURl9QQVQgICAgICAgICAgICAgKDFVPDxfR1RGX1BBVCkK
KyNkZWZpbmUgX0dURl9zdWJfcGFnZSAgICAgICAoOCkKKyNkZWZpbmUgR1RGX3N1Yl9wYWdlICAg
ICAgICAoMVU8PF9HVEZfc3ViX3BhZ2UpCisKKy8qCisgKiBTdWJmbGFncyBmb3IgR1RGX2FjY2Vw
dF90cmFuc2ZlcjoKKyAqICBHVEZfdHJhbnNmZXJfY29tbWl0dGVkOiBYZW4gc2V0cyB0aGlzIGZs
YWcgdG8gaW5kaWNhdGUgdGhhdCBpdCBpcyBjb21taXR0ZWQKKyAqICAgICAgdG8gdHJhbnNmZXJy
aW5nIG93bmVyc2hpcCBvZiBhIHBhZ2UgZnJhbWUuIFdoZW4gYSBndWVzdCBzZWVzIHRoaXMgZmxh
ZworICogICAgICBpdCBtdXN0IC9ub3QvIG1vZGlmeSB0aGUgZ3JhbnQgZW50cnkgdW50aWwgR1RG
X3RyYW5zZmVyX2NvbXBsZXRlZCBpcworICogICAgICBzZXQgYnkgWGVuLgorICogIEdURl90cmFu
c2Zlcl9jb21wbGV0ZWQ6IEl0IGlzIHNhZmUgZm9yIHRoZSBndWVzdCB0byBzcGluLXdhaXQgb24g
dGhpcyBmbGFnCisgKiAgICAgIGFmdGVyIHJlYWRpbmcgR1RGX3RyYW5zZmVyX2NvbW1pdHRlZC4g
WGVuIHdpbGwgYWx3YXlzIHdyaXRlIHRoZSBmcmFtZQorICogICAgICBhZGRyZXNzLCBmb2xsb3dl
ZCBieSBPUmluZyB0aGlzIGZsYWcsIGluIGEgdGltZWx5IG1hbm5lci4KKyAqLworI2RlZmluZSBf
R1RGX3RyYW5zZmVyX2NvbW1pdHRlZCAoMikKKyNkZWZpbmUgR1RGX3RyYW5zZmVyX2NvbW1pdHRl
ZCAgKDFVPDxfR1RGX3RyYW5zZmVyX2NvbW1pdHRlZCkKKyNkZWZpbmUgX0dURl90cmFuc2Zlcl9j
b21wbGV0ZWQgKDMpCisjZGVmaW5lIEdURl90cmFuc2Zlcl9jb21wbGV0ZWQgICgxVTw8X0dURl90
cmFuc2Zlcl9jb21wbGV0ZWQpCisKKy8qCisgKiBWZXJzaW9uIDIgZ3JhbnQgdGFibGUgZW50cmll
cy4gIFRoZXNlIGZ1bGZpbCB0aGUgc2FtZSByb2xlIGFzCisgKiB2ZXJzaW9uIDEgZW50cmllcywg
YnV0IGNhbiByZXByZXNlbnQgbW9yZSBjb21wbGljYXRlZCBvcGVyYXRpb25zLgorICogQW55IGdp
dmVuIGRvbWFpbiB3aWxsIGhhdmUgZWl0aGVyIGEgdmVyc2lvbiAxIG9yIGEgdmVyc2lvbiAyIHRh
YmxlLAorICogYW5kIGV2ZXJ5IGVudHJ5IGluIHRoZSB0YWJsZSB3aWxsIGJlIHRoZSBzYW1lIHZl
cnNpb24uCisgKgorICogVGhlIGludGVyZmFjZSBieSB3aGljaCBkb21haW5zIHVzZSBncmFudCBy
ZWZlcmVuY2VzIGRvZXMgbm90IGRlcGVuZAorICogb24gdGhlIGdyYW50IHRhYmxlIHZlcnNpb24g
aW4gdXNlIGJ5IHRoZSBvdGhlciBkb21haW4uCisgKi8KKyNpZiBfX1hFTl9JTlRFUkZBQ0VfVkVS
U0lPTl9fID49IDB4MDAwMzAyMGEKKy8qCisgKiBWZXJzaW9uIDEgYW5kIHZlcnNpb24gMiBncmFu
dCBlbnRyaWVzIHNoYXJlIGEgY29tbW9uIHByZWZpeC4gIFRoZQorICogZmllbGRzIG9mIHRoZSBw
cmVmaXggYXJlIGRvY3VtZW50ZWQgYXMgcGFydCBvZiBzdHJ1Y3QKKyAqIGdyYW50X2VudHJ5X3Yx
LgorICovCitzdHJ1Y3QgZ3JhbnRfZW50cnlfaGVhZGVyIHsKKyAgICB1aW50MTZfdCBmbGFnczsK
KyAgICBkb21pZF90ICBkb21pZDsKK307Cit0eXBlZGVmIHN0cnVjdCBncmFudF9lbnRyeV9oZWFk
ZXIgZ3JhbnRfZW50cnlfaGVhZGVyX3Q7CisKKy8qCisgKiBWZXJzaW9uIDIgb2YgdGhlIGdyYW50
IGVudHJ5IHN0cnVjdHVyZS4KKyAqLwordW5pb24gZ3JhbnRfZW50cnlfdjIgeworICAgIGdyYW50
X2VudHJ5X2hlYWRlcl90IGhkcjsKKworICAgIC8qCisgICAgICogVGhpcyBtZW1iZXIgaXMgdXNl
ZCBmb3IgVjEtc3R5bGUgZnVsbCBwYWdlIGdyYW50cywgd2hlcmUgZWl0aGVyOgorICAgICAqCisg
ICAgICogLS0gaGRyLnR5cGUgaXMgR1RGX2FjY2VwdF90cmFuc2Zlciwgb3IKKyAgICAgKiAtLSBo
ZHIudHlwZSBpcyBHVEZfcGVybWl0X2FjY2VzcyBhbmQgR1RGX3N1Yl9wYWdlIGlzIG5vdCBzZXQu
CisgICAgICoKKyAgICAgKiBJbiB0aGF0IGNhc2UsIHRoZSBmcmFtZSBmaWVsZCBoYXMgdGhlIHNh
bWUgc2VtYW50aWNzIGFzIHRoZQorICAgICAqIGZpZWxkIG9mIHRoZSBzYW1lIG5hbWUgaW4gdGhl
IFYxIGVudHJ5IHN0cnVjdHVyZS4KKyAgICAgKi8KKyAgICBzdHJ1Y3QgeworICAgICAgICBncmFu
dF9lbnRyeV9oZWFkZXJfdCBoZHI7CisgICAgICAgIHVpbnQzMl90IHBhZDA7CisgICAgICAgIHVp
bnQ2NF90IGZyYW1lOworICAgIH0gZnVsbF9wYWdlOworCisgICAgLyoKKyAgICAgKiBJZiB0aGUg
Z3JhbnQgdHlwZSBpcyBHVEZfZ3JhbnRfYWNjZXNzIGFuZCBHVEZfc3ViX3BhZ2UgaXMgc2V0LAor
ICAgICAqIEBkb21pZCBpcyBhbGxvd2VkIHRvIGFjY2VzcyBieXRlcyBbQHBhZ2Vfb2ZmLEBwYWdl
X29mZitAbGVuZ3RoKQorICAgICAqIGluIGZyYW1lIEBmcmFtZS4KKyAgICAgKi8KKyAgICBzdHJ1
Y3QgeworICAgICAgICBncmFudF9lbnRyeV9oZWFkZXJfdCBoZHI7CisgICAgICAgIHVpbnQxNl90
IHBhZ2Vfb2ZmOworICAgICAgICB1aW50MTZfdCBsZW5ndGg7CisgICAgICAgIHVpbnQ2NF90IGZy
YW1lOworICAgIH0gc3ViX3BhZ2U7CisKKyAgICAvKgorICAgICAqIElmIHRoZSBncmFudCBpcyBH
VEZfdHJhbnNpdGl2ZSwgQGRvbWlkIGlzIGFsbG93ZWQgdG8gdXNlIHRoZQorICAgICAqIGdyYW50
IEBncmVmIGluIGRvbWFpbiBAdHJhbnNfZG9taWQsIGFzIGlmIGl0IHdhcyB0aGUgbG9jYWwKKyAg
ICAgKiBkb21haW4uICBPYnZpb3VzbHksIHRoZSB0cmFuc2l0aXZlIGFjY2VzcyBtdXN0IGJlIGNv
bXBhdGlibGUKKyAgICAgKiB3aXRoIHRoZSBvcmlnaW5hbCBncmFudC4KKyAgICAgKgorICAgICAq
IFRoZSBjdXJyZW50IHZlcnNpb24gb2YgWGVuIGRvZXMgbm90IGFsbG93IHRyYW5zaXRpdmUgZ3Jh
bnRzCisgICAgICogdG8gYmUgbWFwcGVkLgorICAgICAqLworICAgIHN0cnVjdCB7CisgICAgICAg
IGdyYW50X2VudHJ5X2hlYWRlcl90IGhkcjsKKyAgICAgICAgZG9taWRfdCB0cmFuc19kb21pZDsK
KyAgICAgICAgdWludDE2X3QgcGFkMDsKKyAgICAgICAgZ3JhbnRfcmVmX3QgZ3JlZjsKKyAgICB9
IHRyYW5zaXRpdmU7CisKKyAgICB1aW50MzJfdCBfX3NwYWNlcls0XTsgLyogUGFkIHRvIGEgcG93
ZXIgb2YgdHdvICovCit9OwordHlwZWRlZiB1bmlvbiBncmFudF9lbnRyeV92MiBncmFudF9lbnRy
eV92Ml90OworCit0eXBlZGVmIHVpbnQxNl90IGdyYW50X3N0YXR1c190OworCisjZW5kaWYgLyog
X19YRU5fSU5URVJGQUNFX1ZFUlNJT05fXyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioKKyAqIEdSQU5UIFRBQkxFIFFVRVJJRVMgQU5EIFVTRVMKKyAqLworCisvKiBg
IGVudW0gbmVnX2Vycm5vdmFsCisgKiBgIEhZUEVSVklTT1JfZ3JhbnRfdGFibGVfb3AoZW51bSBn
cmFudF90YWJsZV9vcCBjbWQsCisgKiBgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAq
YXJncywKKyAqIGAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY291bnQp
CisgKiBgCisgKgorICogQGFyZ3MgcG9pbnRzIHRvIGFuIGFycmF5IG9mIGEgcGVyLWNvbW1hbmQg
ZGF0YSBzdHJ1Y3R1cmUuIFRoZSBhcnJheQorICogaGFzIEBjb3VudCBtZW1iZXJzCisgKi8KKwor
LyogYCBlbnVtIGdyYW50X3RhYmxlX29wIHsgLy8gR05UVEFCT1BfKiA9PiBzdHJ1Y3QgZ250dGFi
XyogKi8KKyNkZWZpbmUgR05UVEFCT1BfbWFwX2dyYW50X3JlZiAgICAgICAgMAorI2RlZmluZSBH
TlRUQUJPUF91bm1hcF9ncmFudF9yZWYgICAgICAxCisjZGVmaW5lIEdOVFRBQk9QX3NldHVwX3Rh
YmxlICAgICAgICAgIDIKKyNkZWZpbmUgR05UVEFCT1BfZHVtcF90YWJsZSAgICAgICAgICAgMwor
I2RlZmluZSBHTlRUQUJPUF90cmFuc2ZlciAgICAgICAgICAgICA0CisjZGVmaW5lIEdOVFRBQk9Q
X2NvcHkgICAgICAgICAgICAgICAgIDUKKyNkZWZpbmUgR05UVEFCT1BfcXVlcnlfc2l6ZSAgICAg
ICAgICAgNgorI2RlZmluZSBHTlRUQUJPUF91bm1hcF9hbmRfcmVwbGFjZSAgICA3CisjaWYgX19Y
RU5fSU5URVJGQUNFX1ZFUlNJT05fXyA+PSAweDAwMDMwMjBhCisjZGVmaW5lIEdOVFRBQk9QX3Nl
dF92ZXJzaW9uICAgICAgICAgIDgKKyNkZWZpbmUgR05UVEFCT1BfZ2V0X3N0YXR1c19mcmFtZXMg
ICAgOQorI2RlZmluZSBHTlRUQUJPUF9nZXRfdmVyc2lvbiAgICAgICAgICAxMAorI2RlZmluZSBH
TlRUQUJPUF9zd2FwX2dyYW50X3JlZgkgICAgICAxMQorI2RlZmluZSBHTlRUQUJPUF9jYWNoZV9m
bHVzaAkgICAgICAxMgorI2VuZGlmIC8qIF9fWEVOX0lOVEVSRkFDRV9WRVJTSU9OX18gKi8KKy8q
IGAgfSAqLworCisvKgorICogSGFuZGxlIHRvIHRyYWNrIGEgbWFwcGluZyBjcmVhdGVkIHZpYSBh
IGdyYW50IHJlZmVyZW5jZS4KKyAqLwordHlwZWRlZiB1aW50MzJfdCBncmFudF9oYW5kbGVfdDsK
KworLyoKKyAqIEdOVFRBQk9QX21hcF9ncmFudF9yZWY6IE1hcCB0aGUgZ3JhbnQgZW50cnkgKDxk
b20+LDxyZWY+KSBmb3IgYWNjZXNzCisgKiBieSBkZXZpY2VzIGFuZC9vciBob3N0IENQVXMuIElm
IHN1Y2Nlc3NmdWwsIDxoYW5kbGU+IGlzIGEgdHJhY2tpbmcgbnVtYmVyCisgKiB0aGF0IG11c3Qg
YmUgcHJlc2VudGVkIGxhdGVyIHRvIGRlc3Ryb3kgdGhlIG1hcHBpbmcocykuIE9uIGVycm9yLCA8
c3RhdHVzPgorICogaXMgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KKyAqIE5PVEVTOgorICogIDEu
IElmIEdOVE1BUF9kZXZpY2VfbWFwIGlzIHNwZWNpZmllZCB0aGVuIDxkZXZfYnVzX2FkZHI+IGlz
IHRoZSBhZGRyZXNzCisgKiAgICAgdmlhIHdoaWNoIEkvTyBkZXZpY2VzIG1heSBhY2Nlc3MgdGhl
IGdyYW50ZWQgZnJhbWUuCisgKiAgMi4gSWYgR05UTUFQX2hvc3RfbWFwIGlzIHNwZWNpZmllZCB0
aGVuIGEgbWFwcGluZyB3aWxsIGJlIGFkZGVkIGF0CisgKiAgICAgZWl0aGVyIGEgaG9zdCB2aXJ0
dWFsIGFkZHJlc3MgaW4gdGhlIGN1cnJlbnQgYWRkcmVzcyBzcGFjZSwgb3IgYXQKKyAqICAgICBh
IFBURSBhdCB0aGUgc3BlY2lmaWVkIG1hY2hpbmUgYWRkcmVzcy4gIFRoZSB0eXBlIG9mIG1hcHBp
bmcgdG8KKyAqICAgICBwZXJmb3JtIGlzIHNlbGVjdGVkIHRocm91Z2ggdGhlIEdOVE1BUF9jb250
YWluc19wdGUgZmxhZywgYW5kIHRoZQorICogICAgIGFkZHJlc3MgaXMgc3BlY2lmaWVkIGluIDxo
b3N0X2FkZHI+LgorICogIDMuIE1hcHBpbmdzIHNob3VsZCBvbmx5IGJlIGRlc3Ryb3llZCB2aWEg
R05UVEFCT1BfdW5tYXBfZ3JhbnRfcmVmLiBJZiBhCisgKiAgICAgaG9zdCBtYXBwaW5nIGlzIGRl
c3Ryb3llZCBieSBvdGhlciBtZWFucyB0aGVuIGl0IGlzICpOT1QqIGd1YXJhbnRlZWQKKyAqICAg
ICB0byBiZSBhY2NvdW50ZWQgdG8gdGhlIGNvcnJlY3QgZ3JhbnQgcmVmZXJlbmNlIQorICovCitz
dHJ1Y3QgZ250dGFiX21hcF9ncmFudF9yZWYgeworICAgIC8qIElOIHBhcmFtZXRlcnMuICovCisg
ICAgdWludDY0X3QgaG9zdF9hZGRyOworICAgIHVpbnQzMl90IGZsYWdzOyAgICAgICAgICAgICAg
IC8qIEdOVE1BUF8qICovCisgICAgZ3JhbnRfcmVmX3QgcmVmOworICAgIGRvbWlkX3QgIGRvbTsK
KyAgICAvKiBPVVQgcGFyYW1ldGVycy4gKi8KKyAgICBpbnQxNl90ICBzdGF0dXM7ICAgICAgICAg
ICAgICAvKiA9PiBlbnVtIGdyYW50X3N0YXR1cyAqLworICAgIGdyYW50X2hhbmRsZV90IGhhbmRs
ZTsKKyAgICB1aW50NjRfdCBkZXZfYnVzX2FkZHI7Cit9OwordHlwZWRlZiBzdHJ1Y3QgZ250dGFi
X21hcF9ncmFudF9yZWYgZ250dGFiX21hcF9ncmFudF9yZWZfdDsKK0RFRklORV9YRU5fR1VFU1Rf
SEFORExFKGdudHRhYl9tYXBfZ3JhbnRfcmVmX3QpOworCisvKgorICogR05UVEFCT1BfdW5tYXBf
Z3JhbnRfcmVmOiBEZXN0cm95IG9uZSBvciBtb3JlIGdyYW50LXJlZmVyZW5jZSBtYXBwaW5ncwor
ICogdHJhY2tlZCBieSA8aGFuZGxlPi4gSWYgPGhvc3RfYWRkcj4gb3IgPGRldl9idXNfYWRkcj4g
aXMgemVybywgdGhhdAorICogZmllbGQgaXMgaWdub3JlZC4gSWYgbm9uLXplcm8sIHRoZXkgbXVz
dCByZWZlciB0byBhIGRldmljZS9ob3N0IG1hcHBpbmcKKyAqIHRoYXQgaXMgdHJhY2tlZCBieSA8
aGFuZGxlPgorICogTk9URVM6CisgKiAgMS4gVGhlIGNhbGwgbWF5IGZhaWwgaW4gYW4gdW5kZWZp
bmVkIG1hbm5lciBpZiBlaXRoZXIgbWFwcGluZyBpcyBub3QKKyAqICAgICB0cmFja2VkIGJ5IDxo
YW5kbGU+LgorICogIDMuIEFmdGVyIGV4ZWN1dGluZyBhIGJhdGNoIG9mIHVubWFwcywgaXQgaXMg
Z3VhcmFudGVlZCB0aGF0IG5vIHN0YWxlCisgKiAgICAgbWFwcGluZ3Mgd2lsbCByZW1haW4gaW4g
dGhlIGRldmljZSBvciBob3N0IFRMQnMuCisgKi8KK3N0cnVjdCBnbnR0YWJfdW5tYXBfZ3JhbnRf
cmVmIHsKKyAgICAvKiBJTiBwYXJhbWV0ZXJzLiAqLworICAgIHVpbnQ2NF90IGhvc3RfYWRkcjsK
KyAgICB1aW50NjRfdCBkZXZfYnVzX2FkZHI7CisgICAgZ3JhbnRfaGFuZGxlX3QgaGFuZGxlOwor
ICAgIC8qIE9VVCBwYXJhbWV0ZXJzLiAqLworICAgIGludDE2X3QgIHN0YXR1czsgICAgICAgICAg
ICAgIC8qID0+IGVudW0gZ3JhbnRfc3RhdHVzICovCit9OwordHlwZWRlZiBzdHJ1Y3QgZ250dGFi
X3VubWFwX2dyYW50X3JlZiBnbnR0YWJfdW5tYXBfZ3JhbnRfcmVmX3Q7CitERUZJTkVfWEVOX0dV
RVNUX0hBTkRMRShnbnR0YWJfdW5tYXBfZ3JhbnRfcmVmX3QpOworCisvKgorICogR05UVEFCT1Bf
c2V0dXBfdGFibGU6IFNldCB1cCBhIGdyYW50IHRhYmxlIGZvciA8ZG9tPiBjb21wcmlzaW5nIGF0
IGxlYXN0CisgKiA8bnJfZnJhbWVzPiBwYWdlcy4gVGhlIGZyYW1lIGFkZHJlc3NlcyBhcmUgd3Jp
dHRlbiB0byB0aGUgPGZyYW1lX2xpc3Q+LgorICogT25seSA8bnJfZnJhbWVzPiBhZGRyZXNzZXMg
YXJlIHdyaXR0ZW4sIGV2ZW4gaWYgdGhlIHRhYmxlIGlzIGxhcmdlci4KKyAqIE5PVEVTOgorICog
IDEuIDxkb20+IG1heSBiZSBzcGVjaWZpZWQgYXMgRE9NSURfU0VMRi4KKyAqICAyLiBPbmx5IGEg
c3VmZmljaWVudGx5LXByaXZpbGVnZWQgZG9tYWluIG1heSBzcGVjaWZ5IDxkb20+ICE9IERPTUlE
X1NFTEYuCisgKiAgMy4gWGVuIG1heSBub3Qgc3VwcG9ydCBtb3JlIHRoYW4gYSBzaW5nbGUgZ3Jh
bnQtdGFibGUgcGFnZSBwZXIgZG9tYWluLgorICovCitzdHJ1Y3QgZ250dGFiX3NldHVwX3RhYmxl
IHsKKyAgICAvKiBJTiBwYXJhbWV0ZXJzLiAqLworICAgIGRvbWlkX3QgIGRvbTsKKyAgICB1aW50
MzJfdCBucl9mcmFtZXM7CisgICAgLyogT1VUIHBhcmFtZXRlcnMuICovCisgICAgaW50MTZfdCAg
c3RhdHVzOyAgICAgICAgICAgICAgLyogPT4gZW51bSBncmFudF9zdGF0dXMgKi8KKyNpZiBfX1hF
Tl9JTlRFUkZBQ0VfVkVSU0lPTl9fIDwgMHgwMDA0MDMwMAorICAgIFhFTl9HVUVTVF9IQU5ETEUo
dWxvbmcpIGZyYW1lX2xpc3Q7CisjZWxzZQorICAgIFhFTl9HVUVTVF9IQU5ETEUoeGVuX3Bmbl90
KSBmcmFtZV9saXN0OworI2VuZGlmCit9OwordHlwZWRlZiBzdHJ1Y3QgZ250dGFiX3NldHVwX3Rh
YmxlIGdudHRhYl9zZXR1cF90YWJsZV90OworREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoZ250dGFi
X3NldHVwX3RhYmxlX3QpOworCisvKgorICogR05UVEFCT1BfZHVtcF90YWJsZTogRHVtcCB0aGUg
Y29udGVudHMgb2YgdGhlIGdyYW50IHRhYmxlIHRvIHRoZQorICogeGVuIGNvbnNvbGUuIERlYnVn
Z2luZyB1c2Ugb25seS4KKyAqLworc3RydWN0IGdudHRhYl9kdW1wX3RhYmxlIHsKKyAgICAvKiBJ
TiBwYXJhbWV0ZXJzLiAqLworICAgIGRvbWlkX3QgZG9tOworICAgIC8qIE9VVCBwYXJhbWV0ZXJz
LiAqLworICAgIGludDE2X3Qgc3RhdHVzOyAgICAgICAgICAgICAgIC8qID0+IGVudW0gZ3JhbnRf
c3RhdHVzICovCit9OwordHlwZWRlZiBzdHJ1Y3QgZ250dGFiX2R1bXBfdGFibGUgZ250dGFiX2R1
bXBfdGFibGVfdDsKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKGdudHRhYl9kdW1wX3RhYmxlX3Qp
OworCisvKgorICogR05UVEFCT1BfdHJhbnNmZXJfZ3JhbnRfcmVmOiBUcmFuc2ZlciA8ZnJhbWU+
IHRvIGEgZm9yZWlnbiBkb21haW4uIFRoZQorICogZm9yZWlnbiBkb21haW4gaGFzIHByZXZpb3Vz
bHkgcmVnaXN0ZXJlZCBpdHMgaW50ZXJlc3QgaW4gdGhlIHRyYW5zZmVyIHZpYQorICogPGRvbWlk
LCByZWY+LgorICoKKyAqIE5vdGUgdGhhdCwgZXZlbiBpZiB0aGUgdHJhbnNmZXIgZmFpbHMsIHRo
ZSBzcGVjaWZpZWQgcGFnZSBubyBMT05HX1BUUmVyIGJlbG9uZ3MKKyAqIHRvIHRoZSBjYWxsaW5n
IGRvbWFpbiAqdW5sZXNzKiB0aGUgZXJyb3IgaXMgR05UU1RfYmFkX3BhZ2UuCisgKi8KK3N0cnVj
dCBnbnR0YWJfdHJhbnNmZXIgeworICAgIC8qIElOIHBhcmFtZXRlcnMuICovCisgICAgeGVuX3Bm
bl90ICAgICBtZm47CisgICAgZG9taWRfdCAgICAgICBkb21pZDsKKyAgICBncmFudF9yZWZfdCAg
IHJlZjsKKyAgICAvKiBPVVQgcGFyYW1ldGVycy4gKi8KKyAgICBpbnQxNl90ICAgICAgIHN0YXR1
czsKK307Cit0eXBlZGVmIHN0cnVjdCBnbnR0YWJfdHJhbnNmZXIgZ250dGFiX3RyYW5zZmVyX3Q7
CitERUZJTkVfWEVOX0dVRVNUX0hBTkRMRShnbnR0YWJfdHJhbnNmZXJfdCk7CisKKworLyoKKyAq
IEdOVFRBQk9QX2NvcHk6IEh5cGVydmlzb3IgYmFzZWQgY29weQorICogc291cmNlIGFuZCBkZXN0
aW5hdGlvbnMgY2FuIGJlIGVpdGhlcnMgTUZOcyBvciwgZm9yIGZvcmVpZ24gZG9tYWlucywKKyAq
IGdyYW50IHJlZmVyZW5jZXMuIHRoZSBmb3JlaWduIGRvbWFpbiBoYXMgdG8gZ3JhbnQgcmVhZC93
cml0ZSBhY2Nlc3MKKyAqIGluIGl0cyBncmFudCB0YWJsZS4KKyAqCisgKiBUaGUgZmxhZ3Mgc3Bl
Y2lmeSB3aGF0IHR5cGUgc291cmNlIGFuZCBkZXN0aW5hdGlvbnMgYXJlIChlaXRoZXIgTUZOCisg
KiBvciBncmFudCByZWZlcmVuY2UpLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGNhbiBhbHNvIGJl
IHVzZWQgdG8gY29weSBkYXRhIGJldHdlZW4gdHdvIGRvbWFpbnMKKyAqIHZpYSBhIHRoaXJkIHBh
cnR5IGlmIHRoZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGRvbWFpbnMgaGFkIHByZXZpb3VzbHkK
KyAqIGdyYW50IGFwcHJvcHJpYXRlIGFjY2VzcyB0byB0aGVpciBwYWdlcyB0byB0aGUgdGhpcmQg
cGFydHkuCisgKgorICogc291cmNlX29mZnNldCBzcGVjaWZpZXMgYW4gb2Zmc2V0IGluIHRoZSBz
b3VyY2UgZnJhbWUsIGRlc3Rfb2Zmc2V0CisgKiB0aGUgb2Zmc2V0IGluIHRoZSB0YXJnZXQgZnJh
bWUgYW5kICBsZW4gc3BlY2lmaWVzIHRoZSBudW1iZXIgb2YKKyAqIGJ5dGVzIHRvIGJlIGNvcGll
ZC4KKyAqLworCisjZGVmaW5lIF9HTlRDT1BZX3NvdXJjZV9ncmVmICAgICAgKDApCisjZGVmaW5l
IEdOVENPUFlfc291cmNlX2dyZWYgICAgICAgKDE8PF9HTlRDT1BZX3NvdXJjZV9ncmVmKQorI2Rl
ZmluZSBfR05UQ09QWV9kZXN0X2dyZWYgICAgICAgICgxKQorI2RlZmluZSBHTlRDT1BZX2Rlc3Rf
Z3JlZiAgICAgICAgICgxPDxfR05UQ09QWV9kZXN0X2dyZWYpCisKK3N0cnVjdCBnbnR0YWJfY29w
eSB7CisgICAgLyogSU4gcGFyYW1ldGVycy4gKi8KKyAgICBzdHJ1Y3QgZ250dGFiX2NvcHlfcHRy
IHsKKyAgICAgICAgdW5pb24geworICAgICAgICAgICAgZ3JhbnRfcmVmX3QgcmVmOworICAgICAg
ICAgICAgeGVuX3Bmbl90ICAgZ21mbjsKKyAgICAgICAgfSB1OworICAgICAgICBkb21pZF90ICBk
b21pZDsKKyAgICAgICAgdWludDE2X3Qgb2Zmc2V0OworICAgIH0gc291cmNlLCBkZXN0OworICAg
IHVpbnQxNl90ICAgICAgbGVuOworICAgIHVpbnQxNl90ICAgICAgZmxhZ3M7ICAgICAgICAgIC8q
IEdOVENPUFlfKiAqLworICAgIC8qIE9VVCBwYXJhbWV0ZXJzLiAqLworICAgIGludDE2X3QgICAg
ICAgc3RhdHVzOworfTsKK3R5cGVkZWYgc3RydWN0IGdudHRhYl9jb3B5ICBnbnR0YWJfY29weV90
OworREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoZ250dGFiX2NvcHlfdCk7CisKKy8qCisgKiBHTlRU
QUJPUF9xdWVyeV9zaXplOiBRdWVyeSB0aGUgY3VycmVudCBhbmQgbWF4aW11bSBzaXplcyBvZiB0
aGUgc2hhcmVkCisgKiBncmFudCB0YWJsZS4KKyAqIE5PVEVTOgorICogIDEuIDxkb20+IG1heSBi
ZSBzcGVjaWZpZWQgYXMgRE9NSURfU0VMRi4KKyAqICAyLiBPbmx5IGEgc3VmZmljaWVudGx5LXBy
aXZpbGVnZWQgZG9tYWluIG1heSBzcGVjaWZ5IDxkb20+ICE9IERPTUlEX1NFTEYuCisgKi8KK3N0
cnVjdCBnbnR0YWJfcXVlcnlfc2l6ZSB7CisgICAgLyogSU4gcGFyYW1ldGVycy4gKi8KKyAgICBk
b21pZF90ICBkb207CisgICAgLyogT1VUIHBhcmFtZXRlcnMuICovCisgICAgdWludDMyX3QgbnJf
ZnJhbWVzOworICAgIHVpbnQzMl90IG1heF9ucl9mcmFtZXM7CisgICAgaW50MTZfdCAgc3RhdHVz
OyAgICAgICAgICAgICAgLyogPT4gZW51bSBncmFudF9zdGF0dXMgKi8KK307Cit0eXBlZGVmIHN0
cnVjdCBnbnR0YWJfcXVlcnlfc2l6ZSBnbnR0YWJfcXVlcnlfc2l6ZV90OworREVGSU5FX1hFTl9H
VUVTVF9IQU5ETEUoZ250dGFiX3F1ZXJ5X3NpemVfdCk7CisKKy8qCisgKiBHTlRUQUJPUF91bm1h
cF9hbmRfcmVwbGFjZTogRGVzdHJveSBvbmUgb3IgbW9yZSBncmFudC1yZWZlcmVuY2UgbWFwcGlu
Z3MKKyAqIHRyYWNrZWQgYnkgPGhhbmRsZT4gYnV0IGF0b21pY2FsbHkgcmVwbGFjZSB0aGUgcGFn
ZSB0YWJsZSBlbnRyeSB3aXRoIG9uZQorICogcG9pbnRpbmcgdG8gdGhlIG1hY2hpbmUgYWRkcmVz
cyB1bmRlciA8bmV3X2FkZHI+LiAgPG5ld19hZGRyPiB3aWxsIGJlCisgKiByZWRpcmVjdGVkIHRv
IHRoZSBudWxsIGVudHJ5LgorICogTk9URVM6CisgKiAgMS4gVGhlIGNhbGwgbWF5IGZhaWwgaW4g
YW4gdW5kZWZpbmVkIG1hbm5lciBpZiBlaXRoZXIgbWFwcGluZyBpcyBub3QKKyAqICAgICB0cmFj
a2VkIGJ5IDxoYW5kbGU+LgorICogIDIuIEFmdGVyIGV4ZWN1dGluZyBhIGJhdGNoIG9mIHVubWFw
cywgaXQgaXMgZ3VhcmFudGVlZCB0aGF0IG5vIHN0YWxlCisgKiAgICAgbWFwcGluZ3Mgd2lsbCBy
ZW1haW4gaW4gdGhlIGRldmljZSBvciBob3N0IFRMQnMuCisgKi8KK3N0cnVjdCBnbnR0YWJfdW5t
YXBfYW5kX3JlcGxhY2UgeworICAgIC8qIElOIHBhcmFtZXRlcnMuICovCisgICAgdWludDY0X3Qg
aG9zdF9hZGRyOworICAgIHVpbnQ2NF90IG5ld19hZGRyOworICAgIGdyYW50X2hhbmRsZV90IGhh
bmRsZTsKKyAgICAvKiBPVVQgcGFyYW1ldGVycy4gKi8KKyAgICBpbnQxNl90ICBzdGF0dXM7ICAg
ICAgICAgICAgICAvKiA9PiBlbnVtIGdyYW50X3N0YXR1cyAqLworfTsKK3R5cGVkZWYgc3RydWN0
IGdudHRhYl91bm1hcF9hbmRfcmVwbGFjZSBnbnR0YWJfdW5tYXBfYW5kX3JlcGxhY2VfdDsKK0RF
RklORV9YRU5fR1VFU1RfSEFORExFKGdudHRhYl91bm1hcF9hbmRfcmVwbGFjZV90KTsKKworI2lm
IF9fWEVOX0lOVEVSRkFDRV9WRVJTSU9OX18gPj0gMHgwMDAzMDIwYQorLyoKKyAqIEdOVFRBQk9Q
X3NldF92ZXJzaW9uOiBSZXF1ZXN0IGEgcGFydGljdWxhciB2ZXJzaW9uIG9mIHRoZSBncmFudAor
ICogdGFibGUgc2hhcmVkIHRhYmxlIHN0cnVjdHVyZS4gIFRoaXMgb3BlcmF0aW9uIGNhbiBvbmx5
IGJlIHBlcmZvcm1lZAorICogb25jZSBpbiBhbnkgZ2l2ZW4gZG9tYWluLiAgSXQgbXVzdCBiZSBw
ZXJmb3JtZWQgYmVmb3JlIGFueSBncmFudHMKKyAqIGFyZSBhY3RpdmF0ZWQ7IG90aGVyd2lzZSwg
dGhlIGRvbWFpbiB3aWxsIGJlIHN0dWNrIHdpdGggdmVyc2lvbiAxLgorICogVGhlIG9ubHkgZGVm
aW5lZCB2ZXJzaW9ucyBhcmUgMSBhbmQgMi4KKyAqLworc3RydWN0IGdudHRhYl9zZXRfdmVyc2lv
biB7CisgICAgLyogSU4vT1VUIHBhcmFtZXRlcnMgKi8KKyAgICB1aW50MzJfdCB2ZXJzaW9uOwor
fTsKK3R5cGVkZWYgc3RydWN0IGdudHRhYl9zZXRfdmVyc2lvbiBnbnR0YWJfc2V0X3ZlcnNpb25f
dDsKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKGdudHRhYl9zZXRfdmVyc2lvbl90KTsKKworCisv
KgorICogR05UVEFCT1BfZ2V0X3N0YXR1c19mcmFtZXM6IEdldCB0aGUgbGlzdCBvZiBmcmFtZXMg
dXNlZCB0byBzdG9yZSBncmFudAorICogc3RhdHVzIGZvciA8ZG9tPi4gSW4gZ3JhbnQgZm9ybWF0
IHZlcnNpb24gMiwgdGhlIHN0YXR1cyBpcyBzZXBhcmF0ZWQKKyAqIGZyb20gdGhlIG90aGVyIHNo
YXJlZCBncmFudCBmaWVsZHMgdG8gYWxsb3cgbW9yZSBlZmZpY2llbnQgc3luY2hyb25pemF0aW9u
CisgKiB1c2luZyBiYXJyaWVycyBpbnN0ZWFkIG9mIGF0b21pYyBjbXBleGNoIG9wZXJhdGlvbnMu
CisgKiA8bnJfZnJhbWVzPiBzcGVjaWZ5IHRoZSBzaXplIG9mIHZlY3RvciA8ZnJhbWVfbGlzdD4u
CisgKiBUaGUgZnJhbWUgYWRkcmVzc2VzIGFyZSByZXR1cm5lZCBpbiB0aGUgPGZyYW1lX2xpc3Q+
LgorICogT25seSA8bnJfZnJhbWVzPiBhZGRyZXNzZXMgYXJlIHJldHVybmVkLCBldmVuIGlmIHRo
ZSB0YWJsZSBpcyBsYXJnZXIuCisgKiBOT1RFUzoKKyAqICAxLiA8ZG9tPiBtYXkgYmUgc3BlY2lm
aWVkIGFzIERPTUlEX1NFTEYuCisgKiAgMi4gT25seSBhIHN1ZmZpY2llbnRseS1wcml2aWxlZ2Vk
IGRvbWFpbiBtYXkgc3BlY2lmeSA8ZG9tPiAhPSBET01JRF9TRUxGLgorICovCitzdHJ1Y3QgZ250
dGFiX2dldF9zdGF0dXNfZnJhbWVzIHsKKyAgICAvKiBJTiBwYXJhbWV0ZXJzLiAqLworICAgIHVp
bnQzMl90IG5yX2ZyYW1lczsKKyAgICBkb21pZF90ICBkb207CisgICAgLyogT1VUIHBhcmFtZXRl
cnMuICovCisgICAgaW50MTZfdCAgc3RhdHVzOyAgICAgICAgICAgICAgLyogPT4gZW51bSBncmFu
dF9zdGF0dXMgKi8KKyAgICBYRU5fR1VFU1RfSEFORExFKHVpbnQ2NF90KSBmcmFtZV9saXN0Owor
fTsKK3R5cGVkZWYgc3RydWN0IGdudHRhYl9nZXRfc3RhdHVzX2ZyYW1lcyBnbnR0YWJfZ2V0X3N0
YXR1c19mcmFtZXNfdDsKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKGdudHRhYl9nZXRfc3RhdHVz
X2ZyYW1lc190KTsKKworLyoKKyAqIEdOVFRBQk9QX2dldF92ZXJzaW9uOiBHZXQgdGhlIGdyYW50
IHRhYmxlIHZlcnNpb24gd2hpY2ggaXMgaW4KKyAqIGVmZmVjdCBmb3IgZG9tYWluIDxkb20+Lgor
ICovCitzdHJ1Y3QgZ250dGFiX2dldF92ZXJzaW9uIHsKKyAgICAvKiBJTiBwYXJhbWV0ZXJzICov
CisgICAgZG9taWRfdCBkb207CisgICAgdWludDE2X3QgcGFkOworICAgIC8qIE9VVCBwYXJhbWV0
ZXJzICovCisgICAgdWludDMyX3QgdmVyc2lvbjsKK307Cit0eXBlZGVmIHN0cnVjdCBnbnR0YWJf
Z2V0X3ZlcnNpb24gZ250dGFiX2dldF92ZXJzaW9uX3Q7CitERUZJTkVfWEVOX0dVRVNUX0hBTkRM
RShnbnR0YWJfZ2V0X3ZlcnNpb25fdCk7CisKKy8qCisgKiBHTlRUQUJPUF9zd2FwX2dyYW50X3Jl
ZjogU3dhcCB0aGUgY29udGVudHMgb2YgdHdvIGdyYW50IGVudHJpZXMuCisgKi8KK3N0cnVjdCBn
bnR0YWJfc3dhcF9ncmFudF9yZWYgeworICAgIC8qIElOIHBhcmFtZXRlcnMgKi8KKyAgICBncmFu
dF9yZWZfdCByZWZfYTsKKyAgICBncmFudF9yZWZfdCByZWZfYjsKKyAgICAvKiBPVVQgcGFyYW1l
dGVycyAqLworICAgIGludDE2X3Qgc3RhdHVzOyAgICAgICAgICAgICAvKiA9PiBlbnVtIGdyYW50
X3N0YXR1cyAqLworfTsKK3R5cGVkZWYgc3RydWN0IGdudHRhYl9zd2FwX2dyYW50X3JlZiBnbnR0
YWJfc3dhcF9ncmFudF9yZWZfdDsKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKGdudHRhYl9zd2Fw
X2dyYW50X3JlZl90KTsKKworLyoKKyAqIElzc3VlIG9uZSBvciBtb3JlIGNhY2hlIG1haW50ZW5h
bmNlIG9wZXJhdGlvbnMgb24gYSBwb3J0aW9uIG9mIGEKKyAqIHBhZ2UgZ3JhbnRlZCB0byB0aGUg
Y2FsbGluZyBkb21haW4gYnkgYSBmb3JlaWduIGRvbWFpbi4KKyAqLworc3RydWN0IGdudHRhYl9j
YWNoZV9mbHVzaCB7CisgICAgdW5pb24geworICAgICAgICB1aW50NjRfdCBkZXZfYnVzX2FkZHI7
CisgICAgICAgIGdyYW50X3JlZl90IHJlZjsKKyAgICB9IGE7CisgICAgdWludDE2X3Qgb2Zmc2V0
OyAvKiBvZmZzZXQgZnJvbSBzdGFydCBvZiBncmFudCAqLworICAgIHVpbnQxNl90IGxlbmd0aDsg
Lyogc2l6ZSB3aXRoaW4gdGhlIGdyYW50ICovCisjZGVmaW5lIEdOVFRBQl9DQUNIRV9DTEVBTiAg
ICAgICAgICAoMTw8MCkKKyNkZWZpbmUgR05UVEFCX0NBQ0hFX0lOVkFMICAgICAgICAgICgxPDwx
KQorI2RlZmluZSBHTlRUQUJfQ0FDSEVfU09VUkNFX0dSRUYgICAgKDE8PDMxKQorICAgIHVpbnQz
Ml90IG9wOworfTsKK3R5cGVkZWYgc3RydWN0IGdudHRhYl9jYWNoZV9mbHVzaCBnbnR0YWJfY2Fj
aGVfZmx1c2hfdDsKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKGdudHRhYl9jYWNoZV9mbHVzaF90
KTsKKworI2VuZGlmIC8qIF9fWEVOX0lOVEVSRkFDRV9WRVJTSU9OX18gKi8KKworLyoKKyAqIEJp
dGZpZWxkIHZhbHVlcyBmb3IgZ250dGFiX21hcF9ncmFudF9yZWYuZmxhZ3MuCisgKi8KKyAvKiBN
YXAgdGhlIGdyYW50IGVudHJ5IGZvciBhY2Nlc3MgYnkgSS9PIGRldmljZXMuICovCisjZGVmaW5l
IF9HTlRNQVBfZGV2aWNlX21hcCAgICAgICgwKQorI2RlZmluZSBHTlRNQVBfZGV2aWNlX21hcCAg
ICAgICAoMTw8X0dOVE1BUF9kZXZpY2VfbWFwKQorIC8qIE1hcCB0aGUgZ3JhbnQgZW50cnkgZm9y
IGFjY2VzcyBieSBob3N0IENQVXMuICovCisjZGVmaW5lIF9HTlRNQVBfaG9zdF9tYXAgICAgICAg
ICgxKQorI2RlZmluZSBHTlRNQVBfaG9zdF9tYXAgICAgICAgICAoMTw8X0dOVE1BUF9ob3N0X21h
cCkKKyAvKiBBY2Nlc3NlcyB0byB0aGUgZ3JhbnRlZCBmcmFtZSB3aWxsIGJlIHJlc3RyaWN0ZWQg
dG8gcmVhZC1vbmx5IGFjY2Vzcy4gKi8KKyNkZWZpbmUgX0dOVE1BUF9yZWFkb25seSAgICAgICAg
KDIpCisjZGVmaW5lIEdOVE1BUF9yZWFkb25seSAgICAgICAgICgxPDxfR05UTUFQX3JlYWRvbmx5
KQorIC8qCisgICogR05UTUFQX2hvc3RfbWFwIHN1YmZsYWc6CisgICogIDAgPT4gVGhlIGhvc3Qg
bWFwcGluZyBpcyB1c2FibGUgb25seSBieSB0aGUgZ3Vlc3QgT1MuCisgICogIDEgPT4gVGhlIGhv
c3QgbWFwcGluZyBpcyB1c2FibGUgYnkgZ3Vlc3QgT1MgKyBjdXJyZW50IGFwcGxpY2F0aW9uLgor
ICAqLworI2RlZmluZSBfR05UTUFQX2FwcGxpY2F0aW9uX21hcCAoMykKKyNkZWZpbmUgR05UTUFQ
X2FwcGxpY2F0aW9uX21hcCAgKDE8PF9HTlRNQVBfYXBwbGljYXRpb25fbWFwKQorCisgLyoKKyAg
KiBHTlRNQVBfY29udGFpbnNfcHRlIHN1YmZsYWc6CisgICogIDAgPT4gVGhpcyBtYXAgcmVxdWVz
dCBjb250YWlucyBhIGhvc3QgdmlydHVhbCBhZGRyZXNzLgorICAqICAxID0+IFRoaXMgbWFwIHJl
cXVlc3QgY29udGFpbnMgdGhlIG1hY2hpbmUgYWRkZXNzIG9mIHRoZSBQVEUgdG8gdXBkYXRlLgor
ICAqLworI2RlZmluZSBfR05UTUFQX2NvbnRhaW5zX3B0ZSAgICAoNCkKKyNkZWZpbmUgR05UTUFQ
X2NvbnRhaW5zX3B0ZSAgICAgKDE8PF9HTlRNQVBfY29udGFpbnNfcHRlKQorCisjZGVmaW5lIF9H
TlRNQVBfY2FuX2ZhaWwgICAgICAgICg1KQorI2RlZmluZSBHTlRNQVBfY2FuX2ZhaWwgICAgICAg
ICAoMTw8X0dOVE1BUF9jYW5fZmFpbCkKKworLyoKKyAqIEJpdHMgdG8gYmUgcGxhY2VkIGluIGd1
ZXN0IGtlcm5lbCBhdmFpbGFibGUgUFRFIGJpdHMgKGFyY2hpdGVjdHVyZQorICogZGVwZW5kZW50
OyBvbmx5IHN1cHBvcnRlZCB3aGVuIFhFTkZFQVRfZ250dGFiX21hcF9hdmFpbF9iaXRzIGlzIHNl
dCkuCisgKi8KKyNkZWZpbmUgX0dOVE1BUF9ndWVzdF9hdmFpbDAgICAgKDE2KQorI2RlZmluZSBH
TlRNQVBfZ3Vlc3RfYXZhaWxfbWFzayAoKHVpbnQzMl90KX4wIDw8IF9HTlRNQVBfZ3Vlc3RfYXZh
aWwwKQorCisvKgorICogVmFsdWVzIGZvciBlcnJvciBzdGF0dXMgcmV0dXJucy4gQWxsIGVycm9y
cyBhcmUgLXZlLgorICovCisvKiBgIGVudW0gZ3JhbnRfc3RhdHVzIHsgKi8KKyNkZWZpbmUgR05U
U1Rfb2theSAgICAgICAgICAgICAoMCkgIC8qIE5vcm1hbCByZXR1cm4uICAgICAgICAgICAgICAg
ICAgICAgICAgKi8KKyNkZWZpbmUgR05UU1RfZ2VuZXJhbF9lcnJvciAgICAoLTEpIC8qIEdlbmVy
YWwgdW5kZWZpbmVkIGVycm9yLiAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgR05UU1RfYmFkX2Rv
bWFpbiAgICAgICAoLTIpIC8qIFVucmVjb2duc2VkIGRvbWFpbiBpZC4gICAgICAgICAgICAgICAg
Ki8KKyNkZWZpbmUgR05UU1RfYmFkX2dudHJlZiAgICAgICAoLTMpIC8qIFVucmVjb2duaXNlZCBv
ciBpbmFwcHJvcHJpYXRlIGdudHJlZi4gKi8KKyNkZWZpbmUgR05UU1RfYmFkX2hhbmRsZSAgICAg
ICAoLTQpIC8qIFVucmVjb2duaXNlZCBvciBpbmFwcHJvcHJpYXRlIGhhbmRsZS4gKi8KKyNkZWZp
bmUgR05UU1RfYmFkX3ZpcnRfYWRkciAgICAoLTUpIC8qIEluYXBwcm9wcmlhdGUgdmlydHVhbCBh
ZGRyZXNzIHRvIG1hcC4gKi8KKyNkZWZpbmUgR05UU1RfYmFkX2Rldl9hZGRyICAgICAoLTYpIC8q
IEluYXBwcm9wcmlhdGUgZGV2aWNlIGFkZHJlc3MgdG8gdW5tYXAuKi8KKyNkZWZpbmUgR05UU1Rf
bm9fZGV2aWNlX3NwYWNlICAoLTcpIC8qIE91dCBvZiBzcGFjZSBpbiBJL08gTU1VLiAgICAgICAg
ICAgICAgKi8KKyNkZWZpbmUgR05UU1RfcGVybWlzc2lvbl9kZW5pZWQgKC04KSAvKiBOb3QgZW5v
dWdoIHByaXZpbGVnZSBmb3Igb3BlcmF0aW9uLiAgKi8KKyNkZWZpbmUgR05UU1RfYmFkX3BhZ2Ug
ICAgICAgICAoLTkpIC8qIFNwZWNpZmllZCBwYWdlIHdhcyBpbnZhbGlkIGZvciBvcC4gICAgKi8K
KyNkZWZpbmUgR05UU1RfYmFkX2NvcHlfYXJnICAgICgtMTApIC8qIGNvcHkgYXJndW1lbnRzIGNy
b3NzIHBhZ2UgYm91bmRhcnkuICAgKi8KKyNkZWZpbmUgR05UU1RfYWRkcmVzc190b29fYmlnICgt
MTEpIC8qIHRyYW5zZmVyIHBhZ2UgYWRkcmVzcyB0b28gbGFyZ2UuICAgICAgKi8KKyNkZWZpbmUg
R05UU1RfZWFnYWluICAgICAgICAgICgtMTIpIC8qIE9wZXJhdGlvbiBub3QgZG9uZTsgdHJ5IGFn
YWluLiAgICAgICAgKi8KKy8qIGAgfSAqLworCisjZGVmaW5lIEdOVFRBQk9QX2Vycm9yX21zZ3Mg
eyAgICAgICAgICAgICAgICAgICBcCisgICAgIm9rYXkiLCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgInVuZGVmaW5lZCBlcnJvciIsICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgInVucmVjb2duaXNlZCBkb21haW4gaWQiLCAgICAgICAgICAgICAgICAg
ICBcCisgICAgImludmFsaWQgZ3JhbnQgcmVmZXJlbmNlIiwgICAgICAgICAgICAgICAgICBcCisg
ICAgImludmFsaWQgbWFwcGluZyBoYW5kbGUiLCAgICAgICAgICAgICAgICAgICBcCisgICAgImlu
dmFsaWQgdmlydHVhbCBhZGRyZXNzIiwgICAgICAgICAgICAgICAgICBcCisgICAgImludmFsaWQg
ZGV2aWNlIGFkZHJlc3MiLCAgICAgICAgICAgICAgICAgICBcCisgICAgIm5vIHNwYXJlIHRyYW5z
bGF0aW9uIHNsb3QgaW4gdGhlIEkvTyBNTVUiLCBcCisgICAgInBlcm1pc3Npb24gZGVuaWVkIiwg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgImJhZCBwYWdlIiwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgImNvcHkgYXJndW1lbnRzIGNyb3NzIHBhZ2UgYm91bmRh
cnkiLCAgICAgICBcCisgICAgInBhZ2UgYWRkcmVzcyBzaXplIHRvbyBsYXJnZSIsICAgICAgICAg
ICAgICBcCisgICAgIm9wZXJhdGlvbiBub3QgZG9uZTsgdHJ5IGFnYWluIiAgICAgICAgICAgICBc
Cit9CisKKyNlbmRpZiAvKiBfX1hFTl9QVUJMSUNfR1JBTlRfVEFCTEVfSF9fICovCisKKy8qCisg
KiBMb2NhbCB2YXJpYWJsZXM6CisgKiBtb2RlOiBDCisgKiBjLWZpbGUtc3R5bGU6ICJCU0QiCisg
KiBjLWJhc2ljLW9mZnNldDogNAorICogdGFiLXdpZHRoOiA0CisgKiBpbmRlbnQtdGFicy1tb2Rl
OiBuaWwKKyAqIEVuZDoKKyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vcHVibGljL2lvL2Nv
bnNvbGUuaCBiL2luY2x1ZGUveGVuL3B1YmxpYy9pby9jb25zb2xlLmgKbmV3IGZpbGUgbW9kZSAx
MDA3NTUKaW5kZXggMDAwMDAwMC4uNjQ5NjAxOAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUv
eGVuL3B1YmxpYy9pby9jb25zb2xlLmgKQEAgLTAsMCArMSw1MSBAQAorLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgorICogY29uc29sZS5oCisgKgorICogQ29uc29sZSBJL08gaW50ZXJmYWNlIGZvciBY
ZW4gZ3Vlc3QgT1Nlcy4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CisgKiBvZiB0aGlzIHNv
ZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUi
KSwgdG8KKyAqIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlCisgKiByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3IKKyAqIHNl
bGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20g
dGhlIFNvZnR3YXJlIGlzCisgKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu
ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBhbGwgY29w
aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUg
U09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO
RCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU
SEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUK
KyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0s
IERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg
Q09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1Ig
SU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSCisgKiBE
RUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA1LCBLZWly
IEZyYXNlcgorICovCisKKyNpZm5kZWYgX19YRU5fUFVCTElDX0lPX0NPTlNPTEVfSF9fCisjZGVm
aW5lIF9fWEVOX1BVQkxJQ19JT19DT05TT0xFX0hfXworCit0eXBlZGVmIHVpbnQzMl90IFhFTkNP
TlNfUklOR19JRFg7CisKKyNkZWZpbmUgTUFTS19YRU5DT05TX0lEWChpZHgsIHJpbmcpICgoaWR4
KSAmIChzaXplb2YocmluZyktMSkpCisKK3N0cnVjdCB4ZW5jb25zX2ludGVyZmFjZSB7CisgICAg
Y2hhciBpblsxMDI0XTsKKyAgICBjaGFyIG91dFsyMDQ4XTsKKyAgICBYRU5DT05TX1JJTkdfSURY
IGluX2NvbnMsIGluX3Byb2Q7CisgICAgWEVOQ09OU19SSU5HX0lEWCBvdXRfY29ucywgb3V0X3By
b2Q7Cit9OworCisjZW5kaWYgLyogX19YRU5fUFVCTElDX0lPX0NPTlNPTEVfSF9fICovCisKKy8q
CisgKiBMb2NhbCB2YXJpYWJsZXM6CisgKiBtb2RlOiBDCisgKiBjLWZpbGUtc3R5bGU6ICJCU0Qi
CisgKiBjLWJhc2ljLW9mZnNldDogNAorICogdGFiLXdpZHRoOiA0CisgKiBpbmRlbnQtdGFicy1t
b2RlOiBuaWwKKyAqIEVuZDoKKyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vcHVibGljL2lv
L3JpbmcuaCBiL2luY2x1ZGUveGVuL3B1YmxpYy9pby9yaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA3
NTUKaW5kZXggMDAwMDAwMC4uMWQyOWNjMAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUveGVu
L3B1YmxpYy9pby9yaW5nLmgKQEAgLTAsMCArMSwzMjYgQEAKKy8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKKyAqIHJpbmcuaAorICoKKyAqIFNoYXJlZCBwcm9kdWNlci1jb25zdW1lciByaW5nIG1hY3Jv
cy4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg
dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CisgKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBh
c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8KKyAqIGRl
YWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0
IGxpbWl0YXRpb24gdGhlCisgKiByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3IKKyAqIHNlbGwgY29waWVzIG9m
IHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJl
IGlzCisgKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p
c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0
YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMg
UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBP
UgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIEFVVEhPUlMg
T1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRP
UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP
TiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSCisgKiBERUFMSU5HUyBJTiBU
SEUgU09GVFdBUkUuCisgKgorICogVGltIERlZWdhbiBhbmQgQW5kcmV3IFdhcmZpZWxkIE5vdmVt
YmVyIDIwMDQuCisgKi8KKworI2lmbmRlZiBfX1hFTl9QVUJMSUNfSU9fUklOR19IX18KKyNkZWZp
bmUgX19YRU5fUFVCTElDX0lPX1JJTkdfSF9fCisKKyNpbmNsdWRlICIuLi94ZW4tY29tcGF0Lmgi
CisKKyNpZiBfX1hFTl9JTlRFUkZBQ0VfVkVSU0lPTl9fIDwgMHgwMDAzMDIwOAorI2RlZmluZSB4
ZW5fbWIoKSAgbWIoKQorI2RlZmluZSB4ZW5fcm1iKCkgcm1iKCkKKyNkZWZpbmUgeGVuX3dtYigp
IHdtYigpCisjZW5kaWYKKwordHlwZWRlZiB1bnNpZ25lZCBpbnQgUklOR19JRFg7CisKKy8qIFJv
dW5kIGEgMzItYml0IHVuc2lnbmVkIGNvbnN0YW50IGRvd24gdG8gdGhlIG5lYXJlc3QgcG93ZXIg
b2YgdHdvLiAqLworI2RlZmluZSBfX1JEMihfeCkgICgoKF94KSAmIDB4MDAwMDAwMDIpID8gMHgy
ICAgICAgICAgICAgICAgICAgOiAoKF94KSAmIDB4MSkpCisjZGVmaW5lIF9fUkQ0KF94KSAgKCgo
X3gpICYgMHgwMDAwMDAwYykgPyBfX1JEMigoX3gpPj4yKTw8MiAgICA6IF9fUkQyKF94KSkKKyNk
ZWZpbmUgX19SRDgoX3gpICAoKChfeCkgJiAweDAwMDAwMGYwKSA/IF9fUkQ0KChfeCk+PjQpPDw0
ICAgIDogX19SRDQoX3gpKQorI2RlZmluZSBfX1JEMTYoX3gpICgoKF94KSAmIDB4MDAwMGZmMDAp
ID8gX19SRDgoKF94KT4+OCk8PDggICAgOiBfX1JEOChfeCkpCisjZGVmaW5lIF9fUkQzMihfeCkg
KCgoX3gpICYgMHhmZmZmMDAwMCkgPyBfX1JEMTYoKF94KT4+MTYpPDwxNiA6IF9fUkQxNihfeCkp
CisKKy8qCisgKiBDYWxjdWxhdGUgc2l6ZSBvZiBhIHNoYXJlZCByaW5nLCBnaXZlbiB0aGUgdG90
YWwgYXZhaWxhYmxlIHNwYWNlIGZvciB0aGUKKyAqIHJpbmcgYW5kIGluZGV4ZXMgKF9zeiksIGFu
ZCB0aGUgbmFtZSB0YWcgb2YgdGhlIHJlcXVlc3QvcmVzcG9uc2Ugc3RydWN0dXJlLgorICogQSBy
aW5nIGNvbnRhaW5zIGFzIG1hbnkgZW50cmllcyBhcyB3aWxsIGZpdCwgcm91bmRlZCBkb3duIHRv
IHRoZSBuZWFyZXN0CisgKiBwb3dlciBvZiB0d28gKHNvIHdlIGNhbiBtYXNrIHdpdGggKHNpemUt
MSkgdG8gbG9vcCBhcm91bmQpLgorICovCisjZGVmaW5lIF9fQ09OU1RfUklOR19TSVpFKF9zLCBf
c3opIFwKKyAgICAoX19SRDMyKCgoX3N6KSAtIG9mZnNldG9mKHN0cnVjdCBfcyMjX3NyaW5nLCBy
aW5nKSkgLyBcCisJICAgIHNpemVvZigoKHN0cnVjdCBfcyMjX3NyaW5nICopMCktPnJpbmdbMF0p
KSkKKy8qCisgKiBUaGUgc2FtZSBmb3IgcGFzc2luZyBpbiBhbiBhY3R1YWwgcG9pbnRlciBpbnN0
ZWFkIG9mIGEgbmFtZSB0YWcuCisgKi8KKyNkZWZpbmUgX19SSU5HX1NJWkUoX3MsIF9zeikgXAor
ICAgIChfX1JEMzIoKChfc3opIC0gKExPTkdfUFRSKShfcyktPnJpbmcgKyAoTE9OR19QVFIpKF9z
KSkgLyBzaXplb2YoKF9zKS0+cmluZ1swXSkpKQorCisvKgorICogTWFjcm9zIHRvIG1ha2UgdGhl
IGNvcnJlY3QgQyBkYXRhdHlwZXMgZm9yIGEgbmV3IGtpbmQgb2YgcmluZy4KKyAqCisgKiBUbyBt
YWtlIGEgbmV3IHJpbmcgZGF0YXR5cGUsIHlvdSBuZWVkIHRvIGhhdmUgdHdvIG1lc3NhZ2Ugc3Ry
dWN0dXJlcywKKyAqIGxldCdzIHNheSByZXF1ZXN0X3QsIGFuZCByZXNwb25zZV90IGFscmVhZHkg
ZGVmaW5lZC4KKyAqCisgKiBJbiBhIGhlYWRlciB3aGVyZSB5b3Ugd2FudCB0aGUgcmluZyBkYXRh
dHlwZSBkZWNsYXJlZCwgeW91IHRoZW4gZG86CisgKgorICogICAgIERFRklORV9SSU5HX1RZUEVT
KG15dGFnLCByZXF1ZXN0X3QsIHJlc3BvbnNlX3QpOworICoKKyAqIFRoZXNlIGV4cGFuZCBvdXQg
dG8gZ2l2ZSB5b3UgYSBzZXQgb2YgdHlwZXMsIGFzIHlvdSBjYW4gc2VlIGJlbG93LgorICogVGhl
IG1vc3QgaW1wb3J0YW50IG9mIHRoZXNlIGFyZToKKyAqCisgKiAgICAgbXl0YWdfc3JpbmdfdCAg
ICAgIC0gVGhlIHNoYXJlZCByaW5nLgorICogICAgIG15dGFnX2Zyb250X3JpbmdfdCAtIFRoZSAn
ZnJvbnQnIGhhbGYgb2YgdGhlIHJpbmcuCisgKiAgICAgbXl0YWdfYmFja19yaW5nX3QgIC0gVGhl
ICdiYWNrJyBoYWxmIG9mIHRoZSByaW5nLgorICoKKyAqIFRvIGluaXRpYWxpemUgYSByaW5nIGlu
IHlvdXIgY29kZSB5b3UgbmVlZCB0byBrbm93IHRoZSBsb2NhdGlvbiBhbmQgc2l6ZQorICogb2Yg
dGhlIHNoYXJlZCBtZW1vcnkgYXJlYSAoUEFHRV9TSVpFLCBmb3IgaW5zdGFuY2UpLiBUbyBpbml0
aWFsaXNlCisgKiB0aGUgZnJvbnQgaGFsZjoKKyAqCisgKiAgICAgbXl0YWdfZnJvbnRfcmluZ190
IGZyb250X3Jpbmc7CisgKiAgICAgU0hBUkVEX1JJTkdfSU5JVCgobXl0YWdfc3JpbmdfdCAqKXNo
YXJlZF9wYWdlKTsKKyAqICAgICBGUk9OVF9SSU5HX0lOSVQoJmZyb250X3JpbmcsIChteXRhZ19z
cmluZ190ICopc2hhcmVkX3BhZ2UsIFBBR0VfU0laRSk7CisgKgorICogSW5pdGlhbGl6aW5nIHRo
ZSBiYWNrIGZvbGxvd3Mgc2ltaWxhcmx5IChub3RlIHRoYXQgb25seSB0aGUgZnJvbnQKKyAqIGlu
aXRpYWxpemVzIHRoZSBzaGFyZWQgcmluZyk6CisgKgorICogICAgIG15dGFnX2JhY2tfcmluZ190
IGJhY2tfcmluZzsKKyAqICAgICBCQUNLX1JJTkdfSU5JVCgmYmFja19yaW5nLCAobXl0YWdfc3Jp
bmdfdCAqKXNoYXJlZF9wYWdlLCBQQUdFX1NJWkUpOworICovCisKKyNkZWZpbmUgREVGSU5FX1JJ
TkdfVFlQRVMoX19uYW1lLCBfX3JlcV90LCBfX3JzcF90KSAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKy8qIFNoYXJlZCByaW5nIGVudHJ5ICovICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK3VuaW9uIF9fbmFtZSMjX3NyaW5n
X2VudHJ5IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBfX3JlcV90IHJlcTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBfX3JzcF90IHJzcDsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK307ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKy8qIFNoYXJlZCByaW5nIHBhZ2UgKi8gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK3N0cnVjdCBfX25hbWUjI19zcmluZyB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBSSU5H
X0lEWCByZXFfcHJvZCwgcmVxX2V2ZW50OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBSSU5HX0lEWCByc3BfcHJvZCwgcnNwX2V2ZW50OyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB1bmlvbiB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3Ry
dWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgICAgICAgIHVpbnQ4X3Qgc21hcnRwb2xsX2FjdGl2ZTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgfSBuZXRpZjsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgc3RydWN0
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICAgICAgICAgIHVpbnQ4X3QgbXNnOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgfSB0YXBpZl91c2VyOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgdWludDhfdCBw
dnRfcGFkWzRdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICB9IHB2dDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICB1aW50OF90IF9fcGFkWzQ0XTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB1bmlvbiBfX25hbWUjI19z
cmluZ19lbnRyeSByaW5nWzFdOyAvKiB2YXJpYWJsZS1sZW5ndGggKi8gICAgICAgICAgIFwKK307
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy8qICJGcm9udCIgZW5kJ3MgcHJpdmF0
ZSB2YXJpYWJsZXMgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK3N0cnVj
dCBfX25hbWUjI19mcm9udF9yaW5nIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBSSU5HX0lEWCByZXFfcHJvZF9wdnQ7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBSSU5HX0lEWCByc3BfY29uczsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB1bnNp
Z25lZCBpbnQgbnJfZW50czsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBzdHJ1Y3QgX19uYW1lIyNfc3JpbmcgKnNyaW5nOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKK307ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKy8qICJCYWNrIiBlbmQncyBwcml2YXRlIHZhcmlhYmxlcyAqLyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKK3N0cnVjdCBfX25hbWUjI19iYWNrX3JpbmcgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBSSU5HX0lEWCBy
c3BfcHJvZF9wdnQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICBSSU5HX0lEWCByZXFfY29uczsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICB1bnNpZ25lZCBpbnQgbnJfZW50czsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBzdHJ1Y3QgX19uYW1l
IyNfc3JpbmcgKnNyaW5nOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
K307ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy8qIFN5bnRhY3RpYyBzdWdhciAq
LyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK3R5
cGVkZWYgc3RydWN0IF9fbmFtZSMjX3NyaW5nIF9fbmFtZSMjX3NyaW5nX3Q7ICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKK3R5cGVkZWYgc3RydWN0IF9fbmFtZSMjX2Zyb250X3JpbmcgX19uYW1l
IyNfZnJvbnRfcmluZ190OyAgICAgICAgICAgICAgIFwKK3R5cGVkZWYgc3RydWN0IF9fbmFtZSMj
X2JhY2tfcmluZyBfX25hbWUjI19iYWNrX3JpbmdfdAorCisvKgorICogTWFjcm9zIGZvciBtYW5p
cHVsYXRpbmcgcmluZ3MuCisgKgorICogRlJPTlRfUklOR193aGF0ZXZlciB3b3JrcyBvbiB0aGUg
ImZyb250IGVuZCIgb2YgYSByaW5nOiBoZXJlCisgKiByZXF1ZXN0cyBhcmUgcHVzaGVkIG9uIHRv
IHRoZSByaW5nIGFuZCByZXNwb25zZXMgdGFrZW4gb2ZmIGl0LgorICoKKyAqIEJBQ0tfUklOR193
aGF0ZXZlciB3b3JrcyBvbiB0aGUgImJhY2sgZW5kIiBvZiBhIHJpbmc6IGhlcmUKKyAqIHJlcXVl
c3RzIGFyZSB0YWtlbiBvZmYgdGhlIHJpbmcgYW5kIHJlc3BvbnNlcyBwdXQgb24uCisgKgorICog
Ti5CLiB0aGVzZSBtYWNyb3MgZG8gTk8gSU5URVJMT0NLUyBPUiBGTE9XIENPTlRST0wuCisgKiBU
aGlzIGlzIE9LIGluIDEtZm9yLTEgcmVxdWVzdC1yZXNwb25zZSBzaXR1YXRpb25zIHdoZXJlIHRo
ZQorICogcmVxdWVzdG9yIChmcm9udCBlbmQpIG5ldmVyIGhhcyBtb3JlIHRoYW4gUklOR19TSVpF
KCktMQorICogb3V0c3RhbmRpbmcgcmVxdWVzdHMuCisgKi8KKworLyogSW5pdGlhbGlzaW5nIGVt
cHR5IHJpbmdzICovCisjZGVmaW5lIFNIQVJFRF9SSU5HX0lOSVQoX3MpIGRvIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKF9zKS0+cmVxX3Byb2QgID0gKF9z
KS0+cnNwX3Byb2QgID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKF9z
KS0+cmVxX2V2ZW50ID0gKF9zKS0+cnNwX2V2ZW50ID0gMTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgKHZvaWQpbWVtc2V0KChfcyktPnB2dC5wdnRfcGFkLCAwLCBzaXplb2Yo
KF9zKS0+cHZ0LnB2dF9wYWQpKTsgICAgICBcCisgICAgKHZvaWQpbWVtc2V0KChfcyktPl9fcGFk
LCAwLCBzaXplb2YoKF9zKS0+X19wYWQpKTsgICAgICAgICAgICAgICAgICBcCit9IHdoaWxlKDAp
CisKKyNkZWZpbmUgRlJPTlRfUklOR19JTklUKF9yLCBfcywgX19zaXplKSBkbyB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAoX3IpLT5yZXFfcHJvZF9wdnQgPSAwOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoX3IpLT5yc3BfY29u
cyA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICAoX3IpLT5ucl9lbnRzID0gX19SSU5HX1NJWkUoX3MsIF9fc2l6ZSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICAoX3IpLT5zcmluZyA9IChfcyk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK30gd2hpbGUgKDApCisKKyNkZWZp
bmUgQkFDS19SSU5HX0lOSVQoX3IsIF9zLCBfX3NpemUpIGRvIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICAoX3IpLT5yc3BfcHJvZF9wdnQgPSAwOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoX3IpLT5yZXFfY29ucyA9IDA7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoX3Ip
LT5ucl9lbnRzID0gX19SSU5HX1NJWkUoX3MsIF9fc2l6ZSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAoX3IpLT5zcmluZyA9IChfcyk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKK30gd2hpbGUgKDApCisKKy8qIEhvdyBiaWcgaXMg
dGhpcyByaW5nPyAqLworI2RlZmluZSBSSU5HX1NJWkUoX3IpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICgoX3IpLT5ucl9lbnRzKQorCisv
KiBOdW1iZXIgb2YgZnJlZSByZXF1ZXN0cyAoZm9yIHVzZSBvbiBmcm9udCBzaWRlIG9ubHkpLiAq
LworI2RlZmluZSBSSU5HX0ZSRUVfUkVRVUVTVFMoX3IpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIChSSU5HX1NJWkUoX3IpIC0gKChfciktPnJlcV9wcm9k
X3B2dCAtIChfciktPnJzcF9jb25zKSkKKworLyogVGVzdCBpZiB0aGVyZSBpcyBhbiBlbXB0eSBz
bG90IGF2YWlsYWJsZSBvbiB0aGUgZnJvbnQgcmluZy4KKyAqIChUaGlzIGlzIG9ubHkgbWVhbmlu
Z2Z1bCBmcm9tIHRoZSBmcm9udC4gKQorICovCisjZGVmaW5lIFJJTkdfRlVMTChfcikgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKFJJTkdf
RlJFRV9SRVFVRVNUUyhfcikgPT0gMCkKKworLyogVGVzdCBpZiB0aGVyZSBhcmUgb3V0c3RhbmRp
bmcgbWVzc2FnZXMgdG8gYmUgcHJvY2Vzc2VkIG9uIGEgcmluZy4gKi8KKyNkZWZpbmUgUklOR19I
QVNfVU5DT05TVU1FRF9SRVNQT05TRVMoX3IpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICAoKF9yKS0+c3JpbmctPnJzcF9wcm9kIC0gKF9yKS0+cnNwX2NvbnMpCisKKyNpZmRl
ZiBfX0dOVUNfXworI2RlZmluZSBSSU5HX0hBU19VTkNPTlNVTUVEX1JFUVVFU1RTKF9yKSAoeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHVuc2lnbmVkIGludCByZXEgPSAoX3Ip
LT5zcmluZy0+cmVxX3Byb2QgLSAoX3IpLT5yZXFfY29uczsgICAgICAgICAgXAorICAgIHVuc2ln
bmVkIGludCByc3AgPSBSSU5HX1NJWkUoX3IpIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgICAgICAoKF9yKS0+cmVxX2NvbnMgLSAoX3IpLT5yc3BfcHJvZF9wdnQpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHJlcSA8IHJzcCA/IHJlcSA6IHJzcDsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorfSkKKyNlbHNlCisv
KiBTYW1lIGFzIGFib3ZlLCBidXQgd2l0aG91dCB0aGUgbmljZSBHQ0MgKHsgLi4uIH0pIHN5bnRh
eC4gKi8KKyNkZWZpbmUgUklOR19IQVNfVU5DT05TVU1FRF9SRVFVRVNUUyhfcikgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoKCgoX3IpLT5zcmluZy0+cmVxX3Byb2QgLSAo
X3IpLT5yZXFfY29ucykgPCAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIChSSU5HX1NJ
WkUoX3IpIC0gKChfciktPnJlcV9jb25zIC0gKF9yKS0+cnNwX3Byb2RfcHZ0KSkpID8gICAgICAg
IFwKKyAgICAgKChfciktPnNyaW5nLT5yZXFfcHJvZCAtIChfciktPnJlcV9jb25zKSA6ICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgKFJJTkdfU0laRShfcikgLSAoKF9yKS0+cmVxX2Nv
bnMgLSAoX3IpLT5yc3BfcHJvZF9wdnQpKSkKKyNlbmRpZgorCisvKiBEaXJlY3QgYWNjZXNzIHRv
IGluZGl2aWR1YWwgcmluZyBlbGVtZW50cywgYnkgaW5kZXguICovCisjZGVmaW5lIFJJTkdfR0VU
X1JFUVVFU1QoX3IsIF9pZHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgKCYoKF9yKS0+c3JpbmctPnJpbmdbKChfaWR4KSAmIChSSU5HX1NJWkUoX3IpIC0gMSkp
XS5yZXEpKQorCisvKgorICogR2V0IGEgbG9jYWwgY29weSBvZiBhIHJlcXVlc3QuCisgKgorICog
VXNlIHRoaXMgaW4gcHJlZmVyZW5jZSB0byBSSU5HX0dFVF9SRVFVRVNUKCkgc28gYWxsIHByb2Nl
c3NpbmcgaXMKKyAqIGRvbmUgb24gYSBsb2NhbCBjb3B5IHRoYXQgY2Fubm90IGJlIG1vZGlmaWVk
IGJ5IHRoZSBvdGhlciBlbmQuCisgKgorICogTm90ZSB0aGF0IGh0dHBzOi8vZ2NjLmdudS5vcmcv
YnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTU4MTQ1IG1heSBjYXVzZSB0aGlzCisgKiB0byBiZSBp
bmVmZmVjdGl2ZSB3aGVyZSBfcmVxIGlzIGEgc3RydWN0IHdoaWNoIGNvbnNpc3RzIG9mIG9ubHkg
Yml0ZmllbGRzLgorICovCisjZGVmaW5lIFJJTkdfQ09QWV9SRVFVRVNUKF9yLCBfaWR4LCBfcmVx
KSBkbyB7CQkJCVwKKwkvKiBVc2Ugdm9sYXRpbGUgdG8gZm9yY2UgdGhlIGNvcHkgaW50byBfcmVx
LiAqLwkJCVwKKwkqKF9yZXEpID0gKih2b2xhdGlsZSB0eXBlb2YoX3JlcSkpUklOR19HRVRfUkVR
VUVTVChfciwgX2lkeCk7CVwKK30gd2hpbGUgKDApCisKKyNkZWZpbmUgUklOR19HRVRfUkVTUE9O
U0UoX3IsIF9pZHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAo
JigoX3IpLT5zcmluZy0+cmluZ1soKF9pZHgpICYgKFJJTkdfU0laRShfcikgLSAxKSldLnJzcCkp
CisKKy8qIExvb3AgdGVybWluYXRpb24gY29uZGl0aW9uOiBXb3VsZCB0aGUgc3BlY2lmaWVkIGlu
ZGV4IG92ZXJmbG93IHRoZSByaW5nPyAqLworI2RlZmluZSBSSU5HX1JFUVVFU1RfQ09OU19PVkVS
RkxPVyhfciwgX2NvbnMpICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICgoKF9jb25z
KSAtIChfciktPnJzcF9wcm9kX3B2dCkgPj0gUklOR19TSVpFKF9yKSkKKworLyogSWxsLWJlaGF2
ZWQgZnJvbnRlbmQgZGV0ZXJtaW5hdGlvbjogQ2FuIHRoZXJlIGJlIHRoaXMgbWFueSByZXF1ZXN0
cz8gKi8KKyNkZWZpbmUgUklOR19SRVFVRVNUX1BST0RfT1ZFUkZMT1coX3IsIF9wcm9kKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoKChfcHJvZCkgLSAoX3IpLT5yc3BfcHJvZF9w
dnQpID4gUklOR19TSVpFKF9yKSkKKworI2RlZmluZSBSSU5HX1BVU0hfUkVRVUVTVFMoX3IpIGRv
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHhlbl93bWIoKTsg
LyogYmFjayBzZWVzIHJlcXVlc3RzIC9iZWZvcmUvIHVwZGF0ZWQgcHJvZHVjZXIgaW5kZXggKi8g
XAorICAgIChfciktPnNyaW5nLT5yZXFfcHJvZCA9IChfciktPnJlcV9wcm9kX3B2dDsgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorfSB3aGlsZSAoMCkKKworI2RlZmluZSBSSU5HX1BVU0hfUkVT
UE9OU0VTKF9yKSBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IHhlbl93bWIoKTsgLyogZnJvbnQgc2VlcyByZXNwcyAvYmVmb3JlLyB1cGRhdGVkIHByb2R1Y2Vy
IGluZGV4ICovICAgXAorICAgIChfciktPnNyaW5nLT5yc3BfcHJvZCA9IChfciktPnJzcF9wcm9k
X3B2dDsgICAgICAgICAgICAgICAgICAgICAgICAgXAorfSB3aGlsZSAoMCkKKworLyoKKyAqIE5v
dGlmaWNhdGlvbiBob2xkLW9mZiAocmVxX2V2ZW50IGFuZCByc3BfZXZlbnQpOgorICoKKyAqIFdo
ZW4gcXVldWVpbmcgcmVxdWVzdHMgb3IgcmVzcG9uc2VzIG9uIGEgc2hhcmVkIHJpbmcsIGl0IG1h
eSBub3QgYWx3YXlzIGJlCisgKiBuZWNlc3NhcnkgdG8gbm90aWZ5IHRoZSByZW1vdGUgZW5kLiBG
b3IgZXhhbXBsZSwgaWYgcmVxdWVzdHMgYXJlIGluIGZsaWdodAorICogaW4gYSBiYWNrZW5kLCB0
aGUgZnJvbnQgbWF5IGJlIGFibGUgdG8gcXVldWUgZnVydGhlciByZXF1ZXN0cyB3aXRob3V0Cisg
KiBub3RpZnlpbmcgdGhlIGJhY2sgKGlmIHRoZSBiYWNrIGNoZWNrcyBmb3IgbmV3IHJlcXVlc3Rz
IHdoZW4gaXQgcXVldWVzCisgKiByZXNwb25zZXMpLgorICoKKyAqIFdoZW4gZW5xdWV1aW5nIHJl
cXVlc3RzIG9yIHJlc3BvbnNlczoKKyAqCisgKiAgVXNlIFJJTkdfUFVTSF97UkVRVUVTVFMsUkVT
UE9OU0VTfV9BTkRfQ0hFQ0tfTk9USUZZKCkuIFRoZSBzZWNvbmQgYXJndW1lbnQKKyAqICBpcyBh
IGJvb2xlYW4gcmV0dXJuIHZhbHVlLiBUcnVlIGluZGljYXRlcyB0aGF0IHRoZSByZWNlaXZlciBy
ZXF1aXJlcyBhbgorICogIGFzeW5jaHJvbm91cyBub3RpZmljYXRpb24uCisgKgorICogQWZ0ZXIg
ZGVxdWV1aW5nIHJlcXVlc3RzIG9yIHJlc3BvbnNlcyAoYmVmb3JlIHNsZWVwaW5nIHRoZSBjb25u
ZWN0aW9uKToKKyAqCisgKiAgVXNlIFJJTkdfRklOQUxfQ0hFQ0tfRk9SX1JFUVVFU1RTKCkgb3Ig
UklOR19GSU5BTF9DSEVDS19GT1JfUkVTUE9OU0VTKCkuCisgKiAgVGhlIHNlY29uZCBhcmd1bWVu
dCBpcyBhIGJvb2xlYW4gcmV0dXJuIHZhbHVlLiBUcnVlIGluZGljYXRlcyB0aGF0IHRoZXJlCisg
KiAgYXJlIHBlbmRpbmcgbWVzc2FnZXMgb24gdGhlIHJpbmcgKGkuZS4sIHRoZSBjb25uZWN0aW9u
IHNob3VsZCBub3QgYmUgcHV0CisgKiAgdG8gc2xlZXApLgorICoKKyAqICBUaGVzZSBtYWNyb3Mg
d2lsbCBzZXQgdGhlIHJlcV9ldmVudC9yc3BfZXZlbnQgZmllbGQgdG8gdHJpZ2dlciBhCisgKiAg
bm90aWZpY2F0aW9uIG9uIHRoZSB2ZXJ5IG5leHQgbWVzc2FnZSB0aGF0IGlzIGVucXVldWVkLiBJ
ZiB5b3Ugd2FudCB0bworICogIGNyZWF0ZSBiYXRjaGVzIG9mIHdvcmsgKGkuZS4sIG9ubHkgcmVj
ZWl2ZSBhIG5vdGlmaWNhdGlvbiBhZnRlciBzZXZlcmFsCisgKiAgbWVzc2FnZXMgaGF2ZSBiZWVu
IGVucXVldWVkKSB0aGVuIHlvdSB3aWxsIG5lZWQgdG8gY3JlYXRlIGEgY3VzdG9taXNlZAorICog
IHZlcnNpb24gb2YgdGhlIEZJTkFMX0NIRUNLIG1hY3JvIGluIHlvdXIgb3duIGNvZGUsIHdoaWNo
IHNldHMgdGhlIGV2ZW50CisgKiAgZmllbGQgYXBwcm9wcmlhdGVseS4KKyAqLworCisjZGVmaW5l
IFJJTkdfUFVTSF9SRVFVRVNUU19BTkRfQ0hFQ0tfTk9USUZZKF9yLCBfbm90aWZ5KSBkbyB7ICAg
ICAgICAgICBcCisgICAgUklOR19JRFggX19vbGQgPSAoX3IpLT5zcmluZy0+cmVxX3Byb2Q7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgUklOR19JRFggX19uZXcgPSAoX3IpLT5y
ZXFfcHJvZF9wdnQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeGVuX3dt
YigpOyAvKiBiYWNrIHNlZXMgcmVxdWVzdHMgL2JlZm9yZS8gdXBkYXRlZCBwcm9kdWNlciBpbmRl
eCAqLyBcCisgICAgKF9yKS0+c3JpbmctPnJlcV9wcm9kID0gX19uZXc7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeGVuX21iKCk7IC8qIGJhY2sgc2VlcyBuZXcg
cmVxdWVzdHMgL2JlZm9yZS8gd2UgY2hlY2sgcmVxX2V2ZW50ICovICBcCisgICAgKF9ub3RpZnkp
ID0gKChSSU5HX0lEWCkoX19uZXcgLSAoX3IpLT5zcmluZy0+cmVxX2V2ZW50KSA8ICAgICAgICAg
ICBcCisgICAgICAgICAgICAgICAgIChSSU5HX0lEWCkoX19uZXcgLSBfX29sZCkpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCit9IHdoaWxlICgwKQorCisjZGVmaW5lIFJJTkdfUFVTSF9S
RVNQT05TRVNfQU5EX0NIRUNLX05PVElGWShfciwgX25vdGlmeSkgZG8geyAgICAgICAgICBcCisg
ICAgUklOR19JRFggX19vbGQgPSAoX3IpLT5zcmluZy0+cnNwX3Byb2Q7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgUklOR19JRFggX19uZXcgPSAoX3IpLT5yc3BfcHJvZF9wdnQ7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeGVuX3dtYigpOyAvKiBmcm9u
dCBzZWVzIHJlc3BzIC9iZWZvcmUvIHVwZGF0ZWQgcHJvZHVjZXIgaW5kZXggKi8gICBcCisgICAg
KF9yKS0+c3JpbmctPnJzcF9wcm9kID0gX19uZXc7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgeGVuX21iKCk7IC8qIGZyb250IHNlZXMgbmV3IHJlc3BzIC9iZWZv
cmUvIHdlIGNoZWNrIHJzcF9ldmVudCAqLyAgICBcCisgICAgKF9ub3RpZnkpID0gKChSSU5HX0lE
WCkoX19uZXcgLSAoX3IpLT5zcmluZy0+cnNwX2V2ZW50KSA8ICAgICAgICAgICBcCisgICAgICAg
ICAgICAgICAgIChSSU5HX0lEWCkoX19uZXcgLSBfX29sZCkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCit9IHdoaWxlICgwKQorCisjZGVmaW5lIFJJTkdfRklOQUxfQ0hFQ0tfRk9SX1JF
UVVFU1RTKF9yLCBfd29ya190b19kbykgZG8geyAgICAgICAgICAgICBcCisgICAgKF93b3JrX3Rv
X2RvKSA9IFJJTkdfSEFTX1VOQ09OU1VNRURfUkVRVUVTVFMoX3IpOyAgICAgICAgICAgICAgICAg
ICBcCisgICAgaWYgKF93b3JrX3RvX2RvKSBicmVhazsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgKF9yKS0+c3JpbmctPnJlcV9ldmVudCA9IChfcikt
PnJlcV9jb25zICsgMTsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeGVuX21iKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgKF93b3JrX3RvX2RvKSA9IFJJTkdfSEFTX1VOQ09OU1VNRURfUkVRVUVTVFMoX3IpOyAg
ICAgICAgICAgICAgICAgICBcCit9IHdoaWxlICgwKQorCisjZGVmaW5lIFJJTkdfRklOQUxfQ0hF
Q0tfRk9SX1JFU1BPTlNFUyhfciwgX3dvcmtfdG9fZG8pIGRvIHsgICAgICAgICAgICBcCisgICAg
KF93b3JrX3RvX2RvKSA9IFJJTkdfSEFTX1VOQ09OU1VNRURfUkVTUE9OU0VTKF9yKTsgICAgICAg
ICAgICAgICAgICBcCisgICAgaWYgKF93b3JrX3RvX2RvKSBicmVhazsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKF9yKS0+c3JpbmctPnJzcF9ldmVu
dCA9IChfciktPnJzcF9jb25zICsgMTsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeGVu
X21iKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgKF93b3JrX3RvX2RvKSA9IFJJTkdfSEFTX1VOQ09OU1VNRURfUkVTUE9O
U0VTKF9yKTsgICAgICAgICAgICAgICAgICBcCit9IHdoaWxlICgwKQorCisjZW5kaWYgLyogX19Y
RU5fUFVCTElDX0lPX1JJTkdfSF9fICovCisKKy8qCisgKiBMb2NhbCB2YXJpYWJsZXM6CisgKiBt
b2RlOiBDCisgKiBjLWZpbGUtc3R5bGU6ICJCU0QiCisgKiBjLWJhc2ljLW9mZnNldDogNAorICog
dGFiLXdpZHRoOiA0CisgKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKKyAqIEVuZDoKKyAqLwpkaWZm
IC0tZ2l0IGEvaW5jbHVkZS94ZW4vcHVibGljL2lvL3hlbmJ1cy5oIGIvaW5jbHVkZS94ZW4vcHVi
bGljL2lvL3hlbmJ1cy5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyN2Y5
ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3hlbi9wdWJsaWMvaW8veGVuYnVzLmgKQEAg
LTAsMCArMSw4MCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiB4ZW5idXMuaAorICoKKyAq
IFhlbmJ1cyBwcm90b2NvbCBkZXRhaWxzLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy
YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAq
IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl
ICJTb2Z0d2FyZSIpLCB0bworICogZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmlj
dGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUKKyAqIHJpZ2h0cyB0byB1c2Us
IGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFu
ZC9vcgorICogc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNv
bnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKKyAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVj
dCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4K
KyAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgor
ICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRQorICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1Ig
T1RIRVIKKyAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDUgWGVuU291cmNlIEx0ZC4KKyAqLworCisjaWZuZGVmIF9YRU5fUFVCTElDX0lPX1hFTkJV
U19ICisjZGVmaW5lIF9YRU5fUFVCTElDX0lPX1hFTkJVU19ICisKKy8qCisgKiBUaGUgc3RhdGUg
b2YgZWl0aGVyIGVuZCBvZiB0aGUgWGVuYnVzLCBpLmUuIHRoZSBjdXJyZW50IGNvbW11bmljYXRp
b24KKyAqIHN0YXR1cyBvZiBpbml0aWFsaXNhdGlvbiBhY3Jvc3MgdGhlIGJ1cy4gIFN0YXRlcyBo
ZXJlIGltcGx5IG5vdGhpbmcgYWJvdXQKKyAqIHRoZSBzdGF0ZSBvZiB0aGUgY29ubmVjdGlvbiBi
ZXR3ZWVuIHRoZSBkcml2ZXIgYW5kIHRoZSBrZXJuZWwncyBkZXZpY2UKKyAqIGxheWVycy4KKyAq
LworZW51bSB4ZW5idXNfc3RhdGUgeworICAgIFhlbmJ1c1N0YXRlVW5rbm93biAgICAgICA9IDAs
CisKKyAgICBYZW5idXNTdGF0ZUluaXRpYWxpc2luZyAgPSAxLAorCisgICAgLyoKKyAgICAgKiBJ
bml0V2FpdDogRmluaXNoZWQgZWFybHkgaW5pdGlhbGlzYXRpb24gYnV0IHdhaXRpbmcgZm9yIGlu
Zm9ybWF0aW9uCisgICAgICogZnJvbSB0aGUgcGVlciBvciBob3RwbHVnIHNjcmlwdHMuCisgICAg
ICovCisgICAgWGVuYnVzU3RhdGVJbml0V2FpdCAgICAgID0gMiwKKworICAgIC8qCisgICAgICog
SW5pdGlhbGlzZWQ6IFdhaXRpbmcgZm9yIGEgY29ubmVjdGlvbiBmcm9tIHRoZSBwZWVyLgorICAg
ICAqLworICAgIFhlbmJ1c1N0YXRlSW5pdGlhbGlzZWQgICA9IDMsCisKKyAgICBYZW5idXNTdGF0
ZUNvbm5lY3RlZCAgICAgPSA0LAorCisgICAgLyoKKyAgICAgKiBDbG9zaW5nOiBUaGUgZGV2aWNl
IGlzIGJlaW5nIGNsb3NlZCBkdWUgdG8gYW4gZXJyb3Igb3IgYW4gdW5wbHVnIGV2ZW50LgorICAg
ICAqLworICAgIFhlbmJ1c1N0YXRlQ2xvc2luZyAgICAgICA9IDUsCisKKyAgICBYZW5idXNTdGF0
ZUNsb3NlZCAgICAgICAgPSA2LAorCisgICAgLyoKKyAgICAgKiBSZWNvbmZpZ3VyaW5nOiBUaGUg
ZGV2aWNlIGlzIGJlaW5nIHJlY29uZmlndXJlZC4KKyAgICAgKi8KKyAgICBYZW5idXNTdGF0ZVJl
Y29uZmlndXJpbmcgPSA3LAorCisgICAgWGVuYnVzU3RhdGVSZWNvbmZpZ3VyZWQgID0gOAorfTsK
K3R5cGVkZWYgZW51bSB4ZW5idXNfc3RhdGUgWGVuYnVzU3RhdGU7CisKKyNlbmRpZiAvKiBfWEVO
X1BVQkxJQ19JT19YRU5CVVNfSCAqLworCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9k
ZTogQworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAqIHRh
Yi13aWR0aDogNAorICogaW5kZW50LXRhYnMtbW9kZTogbmlsCisgKiBFbmQ6CisgKi8KZGlmZiAt
LWdpdCBhL2luY2x1ZGUveGVuL3B1YmxpYy90cmFjZS5oIGIvaW5jbHVkZS94ZW4vcHVibGljL3Ry
YWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTViMDBlOAotLS0gL2Rl
di9udWxsCisrKyBiL2luY2x1ZGUveGVuL3B1YmxpYy90cmFjZS5oCkBAIC0wLDAgKzEsMzM3IEBA
CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqCisgKiBpbmNsdWRlL3B1YmxpYy90cmFjZS5oCisgKgor
ICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw
ZXJzb24gb2J0YWluaW5nIGEgY29weQorICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRl
ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvCisgKiBkZWFsIGluIHRo
ZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0
aW9uIHRoZQorICogcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwg
ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yCisgKiBzZWxsIGNvcGllcyBvZiB0aGUgU29m
dHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworICog
ZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoK
KyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v
dGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw
b3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVE
ICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElN
UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5P
TklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBBVVRIT1JTIE9SIENPUFlS
SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisg
KiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9U
SEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBU
SEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgorICogREVBTElOR1MgSU4gVEhFIFNPRlRX
QVJFLgorICoKKyAqIE1hcmsgV2lsbGlhbXNvbiwgKEMpIDIwMDQgSW50ZWwgUmVzZWFyY2ggQ2Ft
YnJpZGdlCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUgQmluIFJlbgorICovCisKKyNpZm5kZWYgX19Y
RU5fUFVCTElDX1RSQUNFX0hfXworI2RlZmluZSBfX1hFTl9QVUJMSUNfVFJBQ0VfSF9fCisKKyNk
ZWZpbmUgVFJBQ0VfRVhUUkFfTUFYICAgIDcKKyNkZWZpbmUgVFJBQ0VfRVhUUkFfU0hJRlQgMjgK
KworLyogVHJhY2UgY2xhc3NlcyAqLworI2RlZmluZSBUUkNfQ0xTX1NISUZUIDE2CisjZGVmaW5l
IFRSQ19HRU4gICAgICAweDAwMDFmMDAwICAgIC8qIEdlbmVyYWwgdHJhY2UgICAgICAgICAgICAq
LworI2RlZmluZSBUUkNfU0NIRUQgICAgMHgwMDAyZjAwMCAgICAvKiBYZW4gU2NoZWR1bGVyIHRy
YWNlICAgICAgKi8KKyNkZWZpbmUgVFJDX0RPTTBPUCAgIDB4MDAwNGYwMDAgICAgLyogWGVuIERP
TTAgb3BlcmF0aW9uIHRyYWNlICovCisjZGVmaW5lIFRSQ19IVk0gICAgICAweDAwMDhmMDAwICAg
IC8qIFhlbiBIVk0gdHJhY2UgICAgICAgICAgICAqLworI2RlZmluZSBUUkNfTUVNICAgICAgMHgw
MDEwZjAwMCAgICAvKiBYZW4gbWVtb3J5IHRyYWNlICAgICAgICAgKi8KKyNkZWZpbmUgVFJDX1BW
ICAgICAgIDB4MDAyMGYwMDAgICAgLyogWGVuIFBWIHRyYWNlcyAgICAgICAgICAgICovCisjZGVm
aW5lIFRSQ19TSEFET1cgICAweDAwNDBmMDAwICAgIC8qIFhlbiBzaGFkb3cgdHJhY2luZyAgICAg
ICAqLworI2RlZmluZSBUUkNfSFcgICAgICAgMHgwMDgwZjAwMCAgICAvKiBYZW4gaGFyZHdhcmUt
cmVsYXRlZCB0cmFjZXMgKi8KKyNkZWZpbmUgVFJDX0dVRVNUICAgIDB4MDgwMGYwMDAgICAgLyog
R3Vlc3QtZ2VuZXJhdGVkIHRyYWNlcyAgICovCisjZGVmaW5lIFRSQ19BTEwgICAgICAweDBmZmZm
MDAwCisjZGVmaW5lIFRSQ19IRF9UT19FVkVOVCh4KSAoKHgpJjB4MGZmZmZmZmYpCisjZGVmaW5l
IFRSQ19IRF9DWUNMRV9GTEFHICgxVUw8PDMxKQorI2RlZmluZSBUUkNfSERfSU5DTFVERVNfQ1lD
TEVfQ09VTlQoeCkgKCAhISggKHgpICYgVFJDX0hEX0NZQ0xFX0ZMQUcgKSApCisjZGVmaW5lIFRS
Q19IRF9FWFRSQSh4KSAgICAoKCh4KT4+VFJBQ0VfRVhUUkFfU0hJRlQpJlRSQUNFX0VYVFJBX01B
WCkKKworLyogVHJhY2Ugc3ViY2xhc3NlcyAqLworI2RlZmluZSBUUkNfU1VCQ0xTX1NISUZUIDEy
CisKKy8qIHRyYWNlIHN1YmNsYXNzZXMgZm9yIFNWTSAqLworI2RlZmluZSBUUkNfSFZNX0VOVFJZ
RVhJVCAgIDB4MDAwODEwMDAgICAvKiBWTUVOVFJZIGFuZCAjVk1FWElUICAgICAgICovCisjZGVm
aW5lIFRSQ19IVk1fSEFORExFUiAgICAgMHgwMDA4MjAwMCAgIC8qIHZhcmlvdXMgSFZNIGhhbmRs
ZXJzICAgICAgKi8KKyNkZWZpbmUgVFJDX0hWTV9FTVVMICAgICAgICAweDAwMDg0MDAwICAgLyog
ZW11bGF0ZWQgZGV2aWNlcyAqLworCisjZGVmaW5lIFRSQ19TQ0hFRF9NSU4gICAgICAgMHgwMDAy
MTAwMCAgIC8qIEp1c3QgcnVuc3RhdGUgY2hhbmdlcyAqLworI2RlZmluZSBUUkNfU0NIRURfQ0xB
U1MgICAgIDB4MDAwMjIwMDAgICAvKiBTY2hlZHVsZXItc3BlY2lmaWMgICAgKi8KKyNkZWZpbmUg
VFJDX1NDSEVEX1ZFUkJPU0UgICAweDAwMDI4MDAwICAgLyogTW9yZSBpbmNsdXNpdmUgc2NoZWR1
bGluZyAqLworCisvKgorICogVGhlIGhpZ2hlc3QgMyBiaXRzIG9mIHRoZSBsYXN0IDEyIGJpdHMg
b2YgVFJDX1NDSEVEX0NMQVNTIGFib3ZlIGFyZQorICogcmVzZXJ2ZWQgZm9yIGVuY29kaW5nIHdo
YXQgc2NoZWR1bGVyIHByb2R1Y2VkIHRoZSBpbmZvcm1hdGlvbi4gVGhlCisgKiBhY3R1YWwgZXZl
bnQgaXMgZW5jb2RlZCBpbiB0aGUgbGFzdCA5IGJpdHMuCisgKgorICogVGhpcyBtZWFucyB3ZSBo
YXZlIDggc2NoZWR1bGluZyBJRHMgYXZhaWxhYmxlICh3aGljaCBtZWFucyBhdCBtb3N0IDgKKyAq
IHNjaGVkdWxlcnMgZ2VuZXJhdGluZyBldmVudHMpIGFuZCwgaW4gZWFjaCBzY2hlZHVsZXIsIHVw
IHRvIDUxMgorICogZGlmZmVyZW50IGV2ZW50cy4KKyAqLworI2RlZmluZSBUUkNfU0NIRURfSURf
QklUUyAzCisjZGVmaW5lIFRSQ19TQ0hFRF9JRF9TSElGVCAoVFJDX1NVQkNMU19TSElGVCAtIFRS
Q19TQ0hFRF9JRF9CSVRTKQorI2RlZmluZSBUUkNfU0NIRURfSURfTUFTSyAoKCgxVUw8PFRSQ19T
Q0hFRF9JRF9CSVRTKSAtIDEpIDw8IFRSQ19TQ0hFRF9JRF9TSElGVCkKKyNkZWZpbmUgVFJDX1ND
SEVEX0VWVF9NQVNLICh+KFRSQ19TQ0hFRF9JRF9NQVNLKSkKKworLyogUGVyLXNjaGVkdWxlciBJ
RHMsIHRvIGlkZW50aWZ5IHNjaGVkdWxlciBzcGVjaWZpYyBldmVudHMgKi8KKyNkZWZpbmUgVFJD
X1NDSEVEX0NTQ0hFRCAgIDAKKyNkZWZpbmUgVFJDX1NDSEVEX0NTQ0hFRDIgIDEKKy8qICNkZWZp
bmUgWEVOX1NDSEVEVUxFUl9TRURGIDIgKFJlbW92ZWQpICovCisjZGVmaW5lIFRSQ19TQ0hFRF9B
UklOQzY1MyAzCisjZGVmaW5lIFRSQ19TQ0hFRF9SVERTICAgICA0CisKKy8qIFBlci1zY2hlZHVs
ZXIgdHJhY2luZyAqLworI2RlZmluZSBUUkNfU0NIRURfQ0xBU1NfRVZUKF9jLCBfZSkgXAorICAo
ICggVFJDX1NDSEVEX0NMQVNTIHwgXAorICAgICAgKChUUkNfU0NIRURfIyNfYyA8PCBUUkNfU0NI
RURfSURfU0hJRlQpICYgVFJDX1NDSEVEX0lEX01BU0spICkgKyBcCisgICAgKF9lICYgVFJDX1ND
SEVEX0VWVF9NQVNLKSApCisKKy8qIFRyYWNlIGNsYXNzZXMgZm9yIERPTTAgb3BlcmF0aW9ucyAq
LworI2RlZmluZSBUUkNfRE9NMF9ET01PUFMgICAgIDB4MDAwNDEwMDAgICAvKiBEb21haW5zIG1h
bmlwdWxhdGlvbnMgKi8KKworLyogVHJhY2UgY2xhc3NlcyBmb3IgSGFyZHdhcmUgKi8KKyNkZWZp
bmUgVFJDX0hXX1BNICAgICAgICAgICAweDAwODAxMDAwICAgLyogUG93ZXIgbWFuYWdlbWVudCB0
cmFjZXMgKi8KKyNkZWZpbmUgVFJDX0hXX0lSUSAgICAgICAgICAweDAwODAyMDAwICAgLyogVHJh
Y2VzIHJlbGF0aW5nIHRvIHRoZSBoYW5kbGluZyBvZiBJUlFzICovCisKKy8qIFRyYWNlIGV2ZW50
cyBwZXIgY2xhc3MgKi8KKyNkZWZpbmUgVFJDX0xPU1RfUkVDT1JEUyAgICAgICAgKFRSQ19HRU4g
KyAxKQorI2RlZmluZSBUUkNfVFJBQ0VfV1JBUF9CVUZGRVIgIChUUkNfR0VOICsgMikKKyNkZWZp
bmUgVFJDX1RSQUNFX0NQVV9DSEFOR0UgICAgKFRSQ19HRU4gKyAzKQorCisjZGVmaW5lIFRSQ19T
Q0hFRF9SVU5TVEFURV9DSEFOR0UgICAoVFJDX1NDSEVEX01JTiArIDEpCisjZGVmaW5lIFRSQ19T
Q0hFRF9DT05USU5VRV9SVU5OSU5HICAoVFJDX1NDSEVEX01JTiArIDIpCisjZGVmaW5lIFRSQ19T
Q0hFRF9ET01fQUREICAgICAgICAoVFJDX1NDSEVEX1ZFUkJPU0UgKyAgMSkKKyNkZWZpbmUgVFJD
X1NDSEVEX0RPTV9SRU0gICAgICAgIChUUkNfU0NIRURfVkVSQk9TRSArICAyKQorI2RlZmluZSBU
UkNfU0NIRURfU0xFRVAgICAgICAgICAgKFRSQ19TQ0hFRF9WRVJCT1NFICsgIDMpCisjZGVmaW5l
IFRSQ19TQ0hFRF9XQUtFICAgICAgICAgICAoVFJDX1NDSEVEX1ZFUkJPU0UgKyAgNCkKKyNkZWZp
bmUgVFJDX1NDSEVEX1lJRUxEICAgICAgICAgIChUUkNfU0NIRURfVkVSQk9TRSArICA1KQorI2Rl
ZmluZSBUUkNfU0NIRURfQkxPQ0sgICAgICAgICAgKFRSQ19TQ0hFRF9WRVJCT1NFICsgIDYpCisj
ZGVmaW5lIFRSQ19TQ0hFRF9TSFVURE9XTiAgICAgICAoVFJDX1NDSEVEX1ZFUkJPU0UgKyAgNykK
KyNkZWZpbmUgVFJDX1NDSEVEX0NUTCAgICAgICAgICAgIChUUkNfU0NIRURfVkVSQk9TRSArICA4
KQorI2RlZmluZSBUUkNfU0NIRURfQURKRE9NICAgICAgICAgKFRSQ19TQ0hFRF9WRVJCT1NFICsg
IDkpCisjZGVmaW5lIFRSQ19TQ0hFRF9TV0lUQ0ggICAgICAgICAoVFJDX1NDSEVEX1ZFUkJPU0Ug
KyAxMCkKKyNkZWZpbmUgVFJDX1NDSEVEX1NfVElNRVJfRk4gICAgIChUUkNfU0NIRURfVkVSQk9T
RSArIDExKQorI2RlZmluZSBUUkNfU0NIRURfVF9USU1FUl9GTiAgICAgKFRSQ19TQ0hFRF9WRVJC
T1NFICsgMTIpCisjZGVmaW5lIFRSQ19TQ0hFRF9ET01fVElNRVJfRk4gICAoVFJDX1NDSEVEX1ZF
UkJPU0UgKyAxMykKKyNkZWZpbmUgVFJDX1NDSEVEX1NXSVRDSF9JTkZQUkVWIChUUkNfU0NIRURf
VkVSQk9TRSArIDE0KQorI2RlZmluZSBUUkNfU0NIRURfU1dJVENIX0lORk5FWFQgKFRSQ19TQ0hF
RF9WRVJCT1NFICsgMTUpCisjZGVmaW5lIFRSQ19TQ0hFRF9TSFVURE9XTl9DT0RFICAoVFJDX1ND
SEVEX1ZFUkJPU0UgKyAxNikKKworI2RlZmluZSBUUkNfRE9NMF9ET01fQUREICAgICAgICAgKFRS
Q19ET00wX0RPTU9QUyArIDEpCisjZGVmaW5lIFRSQ19ET00wX0RPTV9SRU0gICAgICAgICAoVFJD
X0RPTTBfRE9NT1BTICsgMikKKworI2RlZmluZSBUUkNfTUVNX1BBR0VfR1JBTlRfTUFQICAgICAg
KFRSQ19NRU0gKyAxKQorI2RlZmluZSBUUkNfTUVNX1BBR0VfR1JBTlRfVU5NQVAgICAgKFRSQ19N
RU0gKyAyKQorI2RlZmluZSBUUkNfTUVNX1BBR0VfR1JBTlRfVFJBTlNGRVIgKFRSQ19NRU0gKyAz
KQorI2RlZmluZSBUUkNfTUVNX1NFVF9QMk1fRU5UUlkgICAgICAgKFRSQ19NRU0gKyA0KQorI2Rl
ZmluZSBUUkNfTUVNX0RFQ1JFQVNFX1JFU0VSVkFUSU9OIChUUkNfTUVNICsgNSkKKyNkZWZpbmUg
VFJDX01FTV9QT0RfUE9QVUxBVEUgICAgICAgIChUUkNfTUVNICsgMTYpCisjZGVmaW5lIFRSQ19N
RU1fUE9EX1pFUk9fUkVDTEFJTSAgICAoVFJDX01FTSArIDE3KQorI2RlZmluZSBUUkNfTUVNX1BP
RF9TVVBFUlBBR0VfU1BMSU5URVIgKFRSQ19NRU0gKyAxOCkKKworI2RlZmluZSBUUkNfUFZfRU5U
UlkgICAweDAwMjAxMDAwIC8qIEh5cGVydmlzb3IgZW50cnkgcG9pbnRzIGZvciBQViBndWVzdHMu
ICovCisjZGVmaW5lIFRSQ19QVl9TVUJDQUxMIDB4MDAyMDIwMDAgLyogU3ViLWNhbGwgaW4gYSBt
dWx0aWNhbGwgaHlwZXJjYWxsICovCisKKyNkZWZpbmUgVFJDX1BWX0hZUEVSQ0FMTCAgICAgICAg
ICAgICAoVFJDX1BWX0VOVFJZICsgIDEpCisjZGVmaW5lIFRSQ19QVl9UUkFQICAgICAgICAgICAg
ICAgICAgKFRSQ19QVl9FTlRSWSArICAzKQorI2RlZmluZSBUUkNfUFZfUEFHRV9GQVVMVCAgICAg
ICAgICAgIChUUkNfUFZfRU5UUlkgKyAgNCkKKyNkZWZpbmUgVFJDX1BWX0ZPUkNFRF9JTlZBTElE
X09QICAgICAoVFJDX1BWX0VOVFJZICsgIDUpCisjZGVmaW5lIFRSQ19QVl9FTVVMQVRFX1BSSVZP
UCAgICAgICAgKFRSQ19QVl9FTlRSWSArICA2KQorI2RlZmluZSBUUkNfUFZfRU1VTEFURV80R0Ig
ICAgICAgICAgIChUUkNfUFZfRU5UUlkgKyAgNykKKyNkZWZpbmUgVFJDX1BWX01BVEhfU1RBVEVf
UkVTVE9SRSAgICAoVFJDX1BWX0VOVFJZICsgIDgpCisjZGVmaW5lIFRSQ19QVl9QQUdJTkdfRklY
VVAgICAgICAgICAgKFRSQ19QVl9FTlRSWSArICA5KQorI2RlZmluZSBUUkNfUFZfR0RUX0xEVF9N
QVBQSU5HX0ZBVUxUIChUUkNfUFZfRU5UUlkgKyAxMCkKKyNkZWZpbmUgVFJDX1BWX1BUV1JfRU1V
TEFUSU9OICAgICAgICAoVFJDX1BWX0VOVFJZICsgMTEpCisjZGVmaW5lIFRSQ19QVl9QVFdSX0VN
VUxBVElPTl9QQUUgICAgKFRSQ19QVl9FTlRSWSArIDEyKQorI2RlZmluZSBUUkNfUFZfSFlQRVJD
QUxMX1YyICAgICAgICAgIChUUkNfUFZfRU5UUlkgKyAxMykKKyNkZWZpbmUgVFJDX1BWX0hZUEVS
Q0FMTF9TVUJDQUxMICAgICAoVFJDX1BWX1NVQkNBTEwgKyAxNCkKKworLyoKKyAqIFRSQ19QVl9I
WVBFUkNBTExfVjIgZm9ybWF0CisgKgorICogT25seSBzb21lIG9mIHRoZSBoeXBlcmNhbGwgYXJn
dW1lbnQgYXJlIHJlY29yZGVkLiBCaXQgZmllbGRzIEEwIHRvCisgKiBBNSBpbiB0aGUgZmlyc3Qg
ZXh0cmEgd29yZCBhcmUgc2V0IGlmIHRoZSBhcmd1bWVudCBpcyBwcmVzZW50IGFuZAorICogdGhl
IGFyZ3VtZW50cyB0aGVtc2VsdmVzIGFyZSBwYWNrZWQgc2VxdWVudGlhbGx5IGluIHRoZSBmb2xs
b3dpbmcKKyAqIHdvcmRzLgorICoKKyAqIFRoZSBUUkNfNjRfRkxBRyBiaXQgaXMgbm90IHNldCBm
b3IgdGhlc2UgZXZlbnRzIChldmVuIGlmIHRoZXJlIGFyZQorICogNjQtYml0IGFyZ3VtZW50cyBp
biB0aGUgcmVjb3JkKS4KKyAqCisgKiBXb3JkCisgKiAwICAgIGJpdCAzMSAzMHwyOSAyOHwyNyAy
NnwyNSAyNHwyMyAyMnwyMSAyMHwxOSAuLi4gMAorICogICAgICAgICAgQTUgICB8QTQgICB8QTMg
ICB8QTIgICB8QTEgICB8QTAgICB8SHlwZXJjYWxsIG9wCisgKiAxICAgIEZpcnN0IDMyIGJpdCAo
b3IgbG93IHdvcmQgb2YgZmlyc3QgNjQgYml0KSBhcmcgaW4gcmVjb3JkCisgKiAyICAgIFNlY29u
ZCAzMiBiaXQgKG9yIGhpZ2ggd29yZCBvZiBmaXJzdCA2NCBiaXQpIGFyZyBpbiByZWNvcmQKKyAq
IC4uLgorICoKKyAqIEEwLUE1IGJpdGZpZWxkIHZhbHVlczoKKyAqCisgKiAgIDAwYiAgQXJndW1l
bnQgbm90IHByZXNlbnQKKyAqICAgMDFiICAzMi1iaXQgYXJndW1lbnQgcHJlc2VudAorICogICAx
MGIgIDY0LWJpdCBhcmd1bWVudCBwcmVzZW50CisgKiAgIDExYiAgUmVzZXJ2ZWQKKyAqLworI2Rl
ZmluZSBUUkNfUFZfSFlQRVJDQUxMX1YyX0FSR18zMihpKSAoMHgxIDw8ICgyMCArIDIqKGkpKSkK
KyNkZWZpbmUgVFJDX1BWX0hZUEVSQ0FMTF9WMl9BUkdfNjQoaSkgKDB4MiA8PCAoMjAgKyAyKihp
KSkpCisjZGVmaW5lIFRSQ19QVl9IWVBFUkNBTExfVjJfQVJHX01BU0sgICgweGZmZjAwMDAwKQor
CisjZGVmaW5lIFRSQ19TSEFET1dfTk9UX1NIQURPVyAgICAgICAgICAgICAgICAgKFRSQ19TSEFE
T1cgKyAgMSkKKyNkZWZpbmUgVFJDX1NIQURPV19GQVNUX1BST1BBR0FURSAgICAgICAgICAgICAo
VFJDX1NIQURPVyArICAyKQorI2RlZmluZSBUUkNfU0hBRE9XX0ZBU1RfTU1JTyAgICAgICAgICAg
ICAgICAgIChUUkNfU0hBRE9XICsgIDMpCisjZGVmaW5lIFRSQ19TSEFET1dfRkFMU0VfRkFTVF9Q
QVRIICAgICAgICAgICAgKFRSQ19TSEFET1cgKyAgNCkKKyNkZWZpbmUgVFJDX1NIQURPV19NTUlP
ICAgICAgICAgICAgICAgICAgICAgICAoVFJDX1NIQURPVyArICA1KQorI2RlZmluZSBUUkNfU0hB
RE9XX0ZJWFVQICAgICAgICAgICAgICAgICAgICAgIChUUkNfU0hBRE9XICsgIDYpCisjZGVmaW5l
IFRSQ19TSEFET1dfRE9NRl9EWUlORyAgICAgICAgICAgICAgICAgKFRSQ19TSEFET1cgKyAgNykK
KyNkZWZpbmUgVFJDX1NIQURPV19FTVVMQVRFICAgICAgICAgICAgICAgICAgICAoVFJDX1NIQURP
VyArICA4KQorI2RlZmluZSBUUkNfU0hBRE9XX0VNVUxBVEVfVU5TSEFET1dfVVNFUiAgICAgIChU
UkNfU0hBRE9XICsgIDkpCisjZGVmaW5lIFRSQ19TSEFET1dfRU1VTEFURV9VTlNIQURPV19FVlRJ
TkogICAgKFRSQ19TSEFET1cgKyAxMCkKKyNkZWZpbmUgVFJDX1NIQURPV19FTVVMQVRFX1VOU0hB
RE9XX1VOSEFORExFRCAoVFJDX1NIQURPVyArIDExKQorI2RlZmluZSBUUkNfU0hBRE9XX1dSTUFQ
X0JGICAgICAgICAgICAgICAgICAgIChUUkNfU0hBRE9XICsgMTIpCisjZGVmaW5lIFRSQ19TSEFE
T1dfUFJFQUxMT0NfVU5QSU4gICAgICAgICAgICAgKFRSQ19TSEFET1cgKyAxMykKKyNkZWZpbmUg
VFJDX1NIQURPV19SRVNZTkNfRlVMTCAgICAgICAgICAgICAgICAoVFJDX1NIQURPVyArIDE0KQor
I2RlZmluZSBUUkNfU0hBRE9XX1JFU1lOQ19PTkxZICAgICAgICAgICAgICAgIChUUkNfU0hBRE9X
ICsgMTUpCisKKy8qIHRyYWNlIGV2ZW50cyBwZXIgc3ViY2xhc3MgKi8KKyNkZWZpbmUgVFJDX0hW
TV9ORVNURURGTEFHICAgICAgKDB4NDAwKQorI2RlZmluZSBUUkNfSFZNX1ZNRU5UUlkgICAgICAg
ICAoVFJDX0hWTV9FTlRSWUVYSVQgKyAweDAxKQorI2RlZmluZSBUUkNfSFZNX1ZNRVhJVCAgICAg
ICAgICAoVFJDX0hWTV9FTlRSWUVYSVQgKyAweDAyKQorI2RlZmluZSBUUkNfSFZNX1ZNRVhJVDY0
ICAgICAgICAoVFJDX0hWTV9FTlRSWUVYSVQgKyBUUkNfNjRfRkxBRyArIDB4MDIpCisjZGVmaW5l
IFRSQ19IVk1fUEZfWEVOICAgICAgICAgIChUUkNfSFZNX0hBTkRMRVIgKyAweDAxKQorI2RlZmlu
ZSBUUkNfSFZNX1BGX1hFTjY0ICAgICAgICAoVFJDX0hWTV9IQU5ETEVSICsgVFJDXzY0X0ZMQUcg
KyAweDAxKQorI2RlZmluZSBUUkNfSFZNX1BGX0lOSkVDVCAgICAgICAoVFJDX0hWTV9IQU5ETEVS
ICsgMHgwMikKKyNkZWZpbmUgVFJDX0hWTV9QRl9JTkpFQ1Q2NCAgICAgKFRSQ19IVk1fSEFORExF
UiArIFRSQ182NF9GTEFHICsgMHgwMikKKyNkZWZpbmUgVFJDX0hWTV9JTkpfRVhDICAgICAgICAg
KFRSQ19IVk1fSEFORExFUiArIDB4MDMpCisjZGVmaW5lIFRSQ19IVk1fSU5KX1ZJUlEgICAgICAg
IChUUkNfSFZNX0hBTkRMRVIgKyAweDA0KQorI2RlZmluZSBUUkNfSFZNX1JFSU5KX1ZJUlEgICAg
ICAoVFJDX0hWTV9IQU5ETEVSICsgMHgwNSkKKyNkZWZpbmUgVFJDX0hWTV9JT19SRUFEICAgICAg
ICAgKFRSQ19IVk1fSEFORExFUiArIDB4MDYpCisjZGVmaW5lIFRSQ19IVk1fSU9fV1JJVEUgICAg
ICAgIChUUkNfSFZNX0hBTkRMRVIgKyAweDA3KQorI2RlZmluZSBUUkNfSFZNX0NSX1JFQUQgICAg
ICAgICAoVFJDX0hWTV9IQU5ETEVSICsgMHgwOCkKKyNkZWZpbmUgVFJDX0hWTV9DUl9SRUFENjQg
ICAgICAgKFRSQ19IVk1fSEFORExFUiArIFRSQ182NF9GTEFHICsgMHgwOCkKKyNkZWZpbmUgVFJD
X0hWTV9DUl9XUklURSAgICAgICAgKFRSQ19IVk1fSEFORExFUiArIDB4MDkpCisjZGVmaW5lIFRS
Q19IVk1fQ1JfV1JJVEU2NCAgICAgIChUUkNfSFZNX0hBTkRMRVIgKyBUUkNfNjRfRkxBRyArIDB4
MDkpCisjZGVmaW5lIFRSQ19IVk1fRFJfUkVBRCAgICAgICAgIChUUkNfSFZNX0hBTkRMRVIgKyAw
eDBBKQorI2RlZmluZSBUUkNfSFZNX0RSX1dSSVRFICAgICAgICAoVFJDX0hWTV9IQU5ETEVSICsg
MHgwQikKKyNkZWZpbmUgVFJDX0hWTV9NU1JfUkVBRCAgICAgICAgKFRSQ19IVk1fSEFORExFUiAr
IDB4MEMpCisjZGVmaW5lIFRSQ19IVk1fTVNSX1dSSVRFICAgICAgIChUUkNfSFZNX0hBTkRMRVIg
KyAweDBEKQorI2RlZmluZSBUUkNfSFZNX0NQVUlEICAgICAgICAgICAoVFJDX0hWTV9IQU5ETEVS
ICsgMHgwRSkKKyNkZWZpbmUgVFJDX0hWTV9JTlRSICAgICAgICAgICAgKFRSQ19IVk1fSEFORExF
UiArIDB4MEYpCisjZGVmaW5lIFRSQ19IVk1fTk1JICAgICAgICAgICAgIChUUkNfSFZNX0hBTkRM
RVIgKyAweDEwKQorI2RlZmluZSBUUkNfSFZNX1NNSSAgICAgICAgICAgICAoVFJDX0hWTV9IQU5E
TEVSICsgMHgxMSkKKyNkZWZpbmUgVFJDX0hWTV9WTU1DQUxMICAgICAgICAgKFRSQ19IVk1fSEFO
RExFUiArIDB4MTIpCisjZGVmaW5lIFRSQ19IVk1fSExUICAgICAgICAgICAgIChUUkNfSFZNX0hB
TkRMRVIgKyAweDEzKQorI2RlZmluZSBUUkNfSFZNX0lOVkxQRyAgICAgICAgICAoVFJDX0hWTV9I
QU5ETEVSICsgMHgxNCkKKyNkZWZpbmUgVFJDX0hWTV9JTlZMUEc2NCAgICAgICAgKFRSQ19IVk1f
SEFORExFUiArIFRSQ182NF9GTEFHICsgMHgxNCkKKyNkZWZpbmUgVFJDX0hWTV9NQ0UgICAgICAg
ICAgICAgKFRSQ19IVk1fSEFORExFUiArIDB4MTUpCisjZGVmaW5lIFRSQ19IVk1fSU9QT1JUX1JF
QUQgICAgIChUUkNfSFZNX0hBTkRMRVIgKyAweDE2KQorI2RlZmluZSBUUkNfSFZNX0lPTUVNX1JF
QUQgICAgICAoVFJDX0hWTV9IQU5ETEVSICsgMHgxNykKKyNkZWZpbmUgVFJDX0hWTV9DTFRTICAg
ICAgICAgICAgKFRSQ19IVk1fSEFORExFUiArIDB4MTgpCisjZGVmaW5lIFRSQ19IVk1fTE1TVyAg
ICAgICAgICAgIChUUkNfSFZNX0hBTkRMRVIgKyAweDE5KQorI2RlZmluZSBUUkNfSFZNX0xNU1c2
NCAgICAgICAgICAoVFJDX0hWTV9IQU5ETEVSICsgVFJDXzY0X0ZMQUcgKyAweDE5KQorI2RlZmlu
ZSBUUkNfSFZNX1JEVFNDICAgICAgICAgICAoVFJDX0hWTV9IQU5ETEVSICsgMHgxYSkKKyNkZWZp
bmUgVFJDX0hWTV9JTlRSX1dJTkRPVyAgICAgKFRSQ19IVk1fSEFORExFUiArIDB4MjApCisjZGVm
aW5lIFRSQ19IVk1fTlBGICAgICAgICAgICAgIChUUkNfSFZNX0hBTkRMRVIgKyAweDIxKQorI2Rl
ZmluZSBUUkNfSFZNX1JFQUxNT0RFX0VNVUxBVEUgKFRSQ19IVk1fSEFORExFUiArIDB4MjIpCisj
ZGVmaW5lIFRSQ19IVk1fVFJBUCAgICAgICAgICAgICAoVFJDX0hWTV9IQU5ETEVSICsgMHgyMykK
KyNkZWZpbmUgVFJDX0hWTV9UUkFQX0RFQlVHICAgICAgIChUUkNfSFZNX0hBTkRMRVIgKyAweDI0
KQorI2RlZmluZSBUUkNfSFZNX1ZMQVBJQyAgICAgICAgICAgKFRSQ19IVk1fSEFORExFUiArIDB4
MjUpCisKKyNkZWZpbmUgVFJDX0hWTV9JT1BPUlRfV1JJVEUgICAgKFRSQ19IVk1fSEFORExFUiAr
IDB4MjE2KQorI2RlZmluZSBUUkNfSFZNX0lPTUVNX1dSSVRFICAgICAoVFJDX0hWTV9IQU5ETEVS
ICsgMHgyMTcpCisKKy8qIFRyYWNlIGV2ZW50cyBmb3IgZW11bGF0ZWQgZGV2aWNlcyAqLworI2Rl
ZmluZSBUUkNfSFZNX0VNVUxfSFBFVF9TVEFSVF9USU1FUiAgKFRSQ19IVk1fRU1VTCArIDB4MSkK
KyNkZWZpbmUgVFJDX0hWTV9FTVVMX1BJVF9TVEFSVF9USU1FUiAgIChUUkNfSFZNX0VNVUwgKyAw
eDIpCisjZGVmaW5lIFRSQ19IVk1fRU1VTF9SVENfU1RBUlRfVElNRVIgICAoVFJDX0hWTV9FTVVM
ICsgMHgzKQorI2RlZmluZSBUUkNfSFZNX0VNVUxfTEFQSUNfU1RBUlRfVElNRVIgKFRSQ19IVk1f
RU1VTCArIDB4NCkKKyNkZWZpbmUgVFJDX0hWTV9FTVVMX0hQRVRfU1RPUF9USU1FUiAgIChUUkNf
SFZNX0VNVUwgKyAweDUpCisjZGVmaW5lIFRSQ19IVk1fRU1VTF9QSVRfU1RPUF9USU1FUiAgICAo
VFJDX0hWTV9FTVVMICsgMHg2KQorI2RlZmluZSBUUkNfSFZNX0VNVUxfUlRDX1NUT1BfVElNRVIg
ICAgKFRSQ19IVk1fRU1VTCArIDB4NykKKyNkZWZpbmUgVFJDX0hWTV9FTVVMX0xBUElDX1NUT1Bf
VElNRVIgIChUUkNfSFZNX0VNVUwgKyAweDgpCisjZGVmaW5lIFRSQ19IVk1fRU1VTF9QSVRfVElN
RVJfQ0IgICAgICAoVFJDX0hWTV9FTVVMICsgMHg5KQorI2RlZmluZSBUUkNfSFZNX0VNVUxfTEFQ
SUNfVElNRVJfQ0IgICAgKFRSQ19IVk1fRU1VTCArIDB4QSkKKyNkZWZpbmUgVFJDX0hWTV9FTVVM
X1BJQ19JTlRfT1VUUFVUICAgIChUUkNfSFZNX0VNVUwgKyAweEIpCisjZGVmaW5lIFRSQ19IVk1f
RU1VTF9QSUNfS0lDSyAgICAgICAgICAoVFJDX0hWTV9FTVVMICsgMHhDKQorI2RlZmluZSBUUkNf
SFZNX0VNVUxfUElDX0lOVEFDSyAgICAgICAgKFRSQ19IVk1fRU1VTCArIDB4RCkKKyNkZWZpbmUg
VFJDX0hWTV9FTVVMX1BJQ19QT1NFREdFICAgICAgIChUUkNfSFZNX0VNVUwgKyAweEUpCisjZGVm
aW5lIFRSQ19IVk1fRU1VTF9QSUNfTkVHRURHRSAgICAgICAoVFJDX0hWTV9FTVVMICsgMHhGKQor
I2RlZmluZSBUUkNfSFZNX0VNVUxfUElDX1BFTkRfSVJRX0NBTEwgKFRSQ19IVk1fRU1VTCArIDB4
MTApCisjZGVmaW5lIFRSQ19IVk1fRU1VTF9MQVBJQ19QSUNfSU5UUiAgICAoVFJDX0hWTV9FTVVM
ICsgMHgxMSkKKworLyogdHJhY2UgZXZlbnRzIGZvciBwZXIgY2xhc3MgKi8KKyNkZWZpbmUgVFJD
X1BNX0ZSRVFfQ0hBTkdFICAgICAgKFRSQ19IV19QTSArIDB4MDEpCisjZGVmaW5lIFRSQ19QTV9J
RExFX0VOVFJZICAgICAgIChUUkNfSFdfUE0gKyAweDAyKQorI2RlZmluZSBUUkNfUE1fSURMRV9F
WElUICAgICAgICAoVFJDX0hXX1BNICsgMHgwMykKKworLyogVHJhY2UgZXZlbnRzIGZvciBJUlFz
ICovCisjZGVmaW5lIFRSQ19IV19JUlFfTU9WRV9DTEVBTlVQX0RFTEFZIChUUkNfSFdfSVJRICsg
MHgxKQorI2RlZmluZSBUUkNfSFdfSVJRX01PVkVfQ0xFQU5VUCAgICAgICAoVFJDX0hXX0lSUSAr
IDB4MikKKyNkZWZpbmUgVFJDX0hXX0lSUV9CSU5EX1ZFQ1RPUiAgICAgICAgKFRSQ19IV19JUlEg
KyAweDMpCisjZGVmaW5lIFRSQ19IV19JUlFfQ0xFQVJfVkVDVE9SICAgICAgIChUUkNfSFdfSVJR
ICsgMHg0KQorI2RlZmluZSBUUkNfSFdfSVJRX01PVkVfRklOSVNIICAgICAgICAoVFJDX0hXX0lS
USArIDB4NSkKKyNkZWZpbmUgVFJDX0hXX0lSUV9BU1NJR05fVkVDVE9SICAgICAgKFRSQ19IV19J
UlEgKyAweDYpCisjZGVmaW5lIFRSQ19IV19JUlFfVU5NQVBQRURfVkVDVE9SICAgIChUUkNfSFdf
SVJRICsgMHg3KQorI2RlZmluZSBUUkNfSFdfSVJRX0hBTkRMRUQgICAgICAgICAgICAoVFJDX0hX
X0lSUSArIDB4OCkKKworLyoKKyAqIEV2ZW50IEZsYWdzCisgKgorICogU29tZSBldmVudHMgKGUu
ZywgVFJDX1BWX1RSQVAgYW5kIFRSQ19IVk1fSU9NRU1fUkVBRCkgaGF2ZSBtdWx0aXBsZQorICog
cmVjb3JkIGZvcm1hdHMuICBUaGVzZSBldmVudCBmbGFncyBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRo
ZQorICogZGlmZmVyZW50IGZvcm1hdHMuCisgKi8KKyNkZWZpbmUgVFJDXzY0X0ZMQUcgMHgxMDAg
LyogQWRkcmVzc2VzIGFyZSA2NCBiaXRzIChpbnN0ZWFkIG9mIDMyIGJpdHMpICovCisKKy8qIFRo
aXMgc3RydWN0dXJlIHJlcHJlc2VudHMgYSBzaW5nbGUgdHJhY2UgYnVmZmVyIHJlY29yZC4gKi8K
K3N0cnVjdCB0X3JlYyB7CisgICAgdWludDMyX3QgZXZlbnQ6Mjg7CisgICAgdWludDMyX3QgZXh0
cmFfdTMyOjM7ICAgICAgICAgLyogIyBlbnRyaWVzIGluIHRyYWlsaW5nIGV4dHJhX3UzMltdIGFy
cmF5ICovCisgICAgdWludDMyX3QgY3ljbGVzX2luY2x1ZGVkOjE7ICAgLyogdS5jeWNsZXMgb3Ig
dS5ub19jeWNsZXM/ICovCisgICAgdW5pb24geworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAg
ICAgdWludDMyX3QgY3ljbGVzX2xvLCBjeWNsZXNfaGk7IC8qIGN5Y2xlIGNvdW50ZXIgdGltZXN0
YW1wICovCisgICAgICAgICAgICB1aW50MzJfdCBleHRyYV91MzJbN107ICAgICAgICAgLyogZXZl
bnQgZGF0YSBpdGVtcyAqLworICAgICAgICB9IGN5Y2xlczsKKyAgICAgICAgc3RydWN0IHsKKyAg
ICAgICAgICAgIHVpbnQzMl90IGV4dHJhX3UzMls3XTsgICAgICAgICAvKiBldmVudCBkYXRhIGl0
ZW1zICovCisgICAgICAgIH0gbm9jeWNsZXM7CisgICAgfSB1OworfTsKKworLyoKKyAqIFRoaXMg
c3RydWN0dXJlIGNvbnRhaW5zIHRoZSBtZXRhZGF0YSBmb3IgYSBzaW5nbGUgdHJhY2UgYnVmZmVy
LiAgVGhlIGhlYWQKKyAqIGZpZWxkLCBpbmRleGVzIGludG8gYW4gYXJyYXkgb2Ygc3RydWN0IHRf
cmVjJ3MuCisgKi8KK3N0cnVjdCB0X2J1ZiB7CisgICAgLyogQXNzdW1lIHRoZSBkYXRhIGJ1ZmZl
ciBzaXplIGlzIFguICBYIGlzIGdlbmVyYWxseSBub3QgYSBwb3dlciBvZiAyLgorICAgICAqIENP
TlMgYW5kIFBST0QgYXJlIGluY3JlbWVudGVkIG1vZHVsbyAoMipYKToKKyAgICAgKiAgICAgMCA8
PSBjb25zIDwgMipYCisgICAgICogICAgIDAgPD0gcHJvZCA8IDIqWAorICAgICAqIFRoaXMgaXMg
ZG9uZSBiZWNhdXNlIGFkZGl0aW9uIG1vZHVsbyBYIGJyZWFrcyBhdCAyXjMyIHdoZW4gWCBpcyBu
b3QgYQorICAgICAqIHBvd2VyIG9mIDI6CisgICAgICogICAgICgoKDJeMzIgLSAxKSAlIFgpICsg
MSkgJSBYICE9ICgyXjMyKSAlIFgKKyAgICAgKi8KKyAgICB1aW50MzJfdCBjb25zOyAgIC8qIE9m
ZnNldCBvZiBuZXh0IGl0ZW0gdG8gYmUgY29uc3VtZWQgYnkgY29udHJvbCB0b29scy4gKi8KKyAg
ICB1aW50MzJfdCBwcm9kOyAgIC8qIE9mZnNldCBvZiBuZXh0IGl0ZW0gdG8gYmUgcHJvZHVjZWQg
YnkgWGVuLiAgICAgICAgICAgKi8KKyAgICAvKiAgUmVjb3JkcyBmb2xsb3cgaW1tZWRpYXRlbHkg
YWZ0ZXIgdGhlIG1ldGEtZGF0YSBoZWFkZXIuICAgICovCit9OworCisvKiBTdHJ1Y3R1cmUgdXNl
ZCB0byBwYXNzIE1GTnMgdG8gdGhlIHRyYWNlIGJ1ZmZlcnMgYmFjayB0byB0cmFjZSBjb25zdW1l
cnMuCisgKiBPZmZzZXQgaXMgYW4gb2Zmc2V0IGludG8gdGhlIG1hcHBlZCBzdHJ1Y3R1cmUgd2hl
cmUgdGhlIG1mbiBsaXN0IHdpbGwgYmUgaGVsZC4KKyAqIE1GTnMgd2lsbCBiZSBhdCAoKFVMT05H
X1BUUiAqKSh0X2luZm8pKSsodF9pbmZvLT5jcHVfb2Zmc2V0W2NwdV0pLgorICovCitzdHJ1Y3Qg
dF9pbmZvIHsKKyAgICB1aW50MTZfdCB0YnVmX3NpemU7IC8qIFNpemUgaW4gcGFnZXMgb2YgZWFj
aCB0cmFjZSBidWZmZXIgKi8KKyAgICB1aW50MTZfdCBtZm5fb2Zmc2V0W107ICAvKiBPZmZzZXQg
d2l0aGluIHRfaW5mbyBzdHJ1Y3R1cmUgb2YgdGhlIHBhZ2UgbGlzdCBwZXIgY3B1ICovCisgICAg
LyogTUZOIGxpc3RzIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBoZWFkZXIgKi8KK307CisKKyNlbmRp
ZiAvKiBfX1hFTl9QVUJMSUNfVFJBQ0VfSF9fICovCisKKy8qCisgKiBMb2NhbCB2YXJpYWJsZXM6
CisgKiBtb2RlOiBDCisgKiBjLWZpbGUtc3R5bGU6ICJCU0QiCisgKiBjLWJhc2ljLW9mZnNldDog
NAorICogdGFiLXdpZHRoOiA0CisgKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKKyAqIEVuZDoKKyAq
LwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vcHVibGljL3hlbi1jb21wYXQuaCBiL2luY2x1ZGUv
eGVuL3B1YmxpYy94ZW4tY29tcGF0LmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAw
MC4uMmVlYTBlMgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUveGVuL3B1YmxpYy94ZW4tY29t
cGF0LmgKQEAgLTAsMCArMSw0NCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogeGVuLWNv
bXBhdC5oCisgKgorICogR3Vlc3QgT1MgaW50ZXJmYWNlIHRvIFhlbi4gIENvbXBhdGliaWxpdHkg
bGF5ZXIuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFy
Z2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQorICogb2YgdGhpcyBzb2Z0d2FyZSBh
bmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvCisg
KiBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0
aG91dCBsaW1pdGF0aW9uIHRoZQorICogcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn
ZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yCisgKiBzZWxsIGNvcGll
cyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0
d2FyZSBpcworICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw
ZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBz
dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJF
IElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJF
U1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBBVVRI
T1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VT
IE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNU
LCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5F
Q1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgorICogREVBTElOR1Mg
SU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwNiwgQ2hyaXN0aWFuIExp
bXBhY2gKKyAqLworCisjaWZuZGVmIF9fWEVOX1BVQkxJQ19YRU5fQ09NUEFUX0hfXworI2RlZmlu
ZSBfX1hFTl9QVUJMSUNfWEVOX0NPTVBBVF9IX18KKworI2RlZmluZSBfX1hFTl9MQVRFU1RfSU5U
RVJGQUNFX1ZFUlNJT05fXyAweDAwMDQwNzAwCisKKyNpZiBkZWZpbmVkKF9fWEVOX18pIHx8IGRl
ZmluZWQoX19YRU5fVE9PTFNfXykKKy8qIFhlbiBpcyBidWlsdCB3aXRoIG1hdGNoaW5nIGhlYWRl
cnMgYW5kIGltcGxlbWVudHMgdGhlIGxhdGVzdCBpbnRlcmZhY2UuICovCisjZGVmaW5lIF9fWEVO
X0lOVEVSRkFDRV9WRVJTSU9OX18gX19YRU5fTEFURVNUX0lOVEVSRkFDRV9WRVJTSU9OX18KKyNl
bGlmICFkZWZpbmVkKF9fWEVOX0lOVEVSRkFDRV9WRVJTSU9OX18pCisvKiBHdWVzdHMgd2hpY2gg
ZG8gbm90IHNwZWNpZnkgYSB2ZXJzaW9uIGdldCB0aGUgbGVnYWN5IGludGVyZmFjZS4gKi8KKyNk
ZWZpbmUgX19YRU5fSU5URVJGQUNFX1ZFUlNJT05fXyAweDAwMDAwMDAwCisjZW5kaWYKKworI2lm
IF9fWEVOX0lOVEVSRkFDRV9WRVJTSU9OX18gPiBfX1hFTl9MQVRFU1RfSU5URVJGQUNFX1ZFUlNJ
T05fXworI2Vycm9yICJUaGVzZSBoZWFkZXIgZmlsZXMgZG8gbm90IHN1cHBvcnQgdGhlIHJlcXVl
c3RlZCBpbnRlcmZhY2UgdmVyc2lvbi4iCisjZW5kaWYKKworI2VuZGlmIC8qIF9fWEVOX1BVQkxJ
Q19YRU5fQ09NUEFUX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vcHVibGljL3hlbi5o
IGIvaW5jbHVkZS94ZW4vcHVibGljL3hlbi5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAw
MDAwMDAuLjIwNTdiNTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3hlbi9wdWJsaWMveGVu
LmgKQEAgLTAsMCArMSw5OTUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHhlbi5oCisg
KgorICogR3Vlc3QgT1MgaW50ZXJmYWNlIHRvIFhlbi4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBj
b3B5CisgKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls
ZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8KKyAqIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQg
cmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlCisgKiByaWdodHMg
dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNl
bnNlLCBhbmQvb3IKKyAqIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1p
dCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisgKiBmdXJuaXNoZWQgdG8gZG8gc28s
IHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1
ZGVkIGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0
d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX
QVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJV
VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUKKyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB
QkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisg
KiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUg
VVNFIE9SIE9USEVSCisgKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogQ29weXJp
Z2h0IChjKSAyMDA0LCBLIEEgRnJhc2VyCisgKi8KKworI2lmbmRlZiBfX1hFTl9QVUJMSUNfWEVO
X0hfXworI2RlZmluZSBfX1hFTl9QVUJMSUNfWEVOX0hfXworCisjaW5jbHVkZSAieGVuLWNvbXBh
dC5oIgorCisjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQorI2lu
Y2x1ZGUgImFyY2gteDg2L3hlbi5oIgorI2VsaWYgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVk
IChfX2FhcmNoNjRfXykKKyNpbmNsdWRlICJhcmNoLWFybS5oIgorI2Vsc2UKKyNlcnJvciAiVW5z
dXBwb3J0ZWQgYXJjaGl0ZWN0dXJlIgorI2VuZGlmCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCisv
KiBHdWVzdCBoYW5kbGVzIGZvciBwcmltaXRpdmUgQyB0eXBlcy4gKi8KK0RFRklORV9YRU5fR1VF
U1RfSEFORExFKGNoYXIpOworX19ERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh1Y2hhciwgdW5zaWdu
ZWQgY2hhcik7CitERUZJTkVfWEVOX0dVRVNUX0hBTkRMRShpbnQpOworX19ERUZJTkVfWEVOX0dV
RVNUX0hBTkRMRSh1aW50LCAgdW5zaWduZWQgaW50KTsKKyNpZiBfX1hFTl9JTlRFUkZBQ0VfVkVS
U0lPTl9fIDwgMHgwMDA0MDMwMAorREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoTE9OR19QVFIpOwor
X19ERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh1bG9uZywgVUxPTkdfUFRSKTsKKyNlbmRpZgorREVG
SU5FX1hFTl9HVUVTVF9IQU5ETEUodm9pZCk7CisKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKHVp
bnQ2NF90KTsKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKHhlbl9wZm5fdCk7CitERUZJTkVfWEVO
X0dVRVNUX0hBTkRMRSh4ZW5fdWxvbmdfdCk7CisKKy8qIFR1cm4gYSBwbGFpbiBudW1iZXIgaW50
byBhIEMgdW5zaWduZWQgKExPTkdfUFRSKSBjb25zdGFudC4gKi8KKyNkZWZpbmUgX194ZW5fbWtf
dWludCh4KSAgeCAjIyBVCisjZGVmaW5lIF9feGVuX21rX3Vsb25nKHgpIHggIyMgVUwKKyNkZWZp
bmUgeGVuX21rX3VpbnQoeCkgICAgX194ZW5fbWtfdWludCh4KQorI2RlZmluZSB4ZW5fbWtfdWxv
bmcoeCkgICBfX3hlbl9ta191bG9uZyh4KQorCisjZWxzZQorCisvKiBJbiBhc3NlbWJseSBjb2Rl
IHdlIGNhbm5vdCB1c2UgQyBudW1lcmljIGNvbnN0YW50IHN1ZmZpeGVzLiAqLworI2RlZmluZSB4
ZW5fbWtfdWludCh4KSAgeAorI2RlZmluZSB4ZW5fbWtfdWxvbmcoeCkgeAorCisjZW5kaWYKKwor
LyoKKyAqIEhZUEVSQ0FMTFMKKyAqLworCisvKiBgaW5jb250ZW50cyAxMDAgaGNhbGxzIExpc3Qg
b2YgaHlwZXJjYWxscworICogYCBlbnVtIGh5cGVyY2FsbF9udW0geyAvLyBfX0hZUEVSVklTT1Jf
KiA9PiBIWVBFUlZJU09SXyooKQorICovCisKKyNkZWZpbmUgX19IWVBFUlZJU09SX3NldF90cmFw
X3RhYmxlICAgICAgICAwCisjZGVmaW5lIF9fSFlQRVJWSVNPUl9tbXVfdXBkYXRlICAgICAgICAg
ICAgMQorI2RlZmluZSBfX0hZUEVSVklTT1Jfc2V0X2dkdCAgICAgICAgICAgICAgIDIKKyNkZWZp
bmUgX19IWVBFUlZJU09SX3N0YWNrX3N3aXRjaCAgICAgICAgICAzCisjZGVmaW5lIF9fSFlQRVJW
SVNPUl9zZXRfY2FsbGJhY2tzICAgICAgICAgNAorI2RlZmluZSBfX0hZUEVSVklTT1JfZnB1X3Rh
c2tzd2l0Y2ggICAgICAgIDUKKyNkZWZpbmUgX19IWVBFUlZJU09SX3NjaGVkX29wX2NvbXBhdCAg
ICAgICA2IC8qIGNvbXBhdCBzaW5jZSAweDAwMDMwMTAxICovCisjZGVmaW5lIF9fSFlQRVJWSVNP
Ul9wbGF0Zm9ybV9vcCAgICAgICAgICAgNworI2RlZmluZSBfX0hZUEVSVklTT1Jfc2V0X2RlYnVn
cmVnICAgICAgICAgIDgKKyNkZWZpbmUgX19IWVBFUlZJU09SX2dldF9kZWJ1Z3JlZyAgICAgICAg
ICA5CisjZGVmaW5lIF9fSFlQRVJWSVNPUl91cGRhdGVfZGVzY3JpcHRvciAgICAxMAorI2RlZmlu
ZSBfX0hZUEVSVklTT1JfbWVtb3J5X29wICAgICAgICAgICAgMTIKKyNkZWZpbmUgX19IWVBFUlZJ
U09SX211bHRpY2FsbCAgICAgICAgICAgIDEzCisjZGVmaW5lIF9fSFlQRVJWSVNPUl91cGRhdGVf
dmFfbWFwcGluZyAgICAxNAorI2RlZmluZSBfX0hZUEVSVklTT1Jfc2V0X3RpbWVyX29wICAgICAg
ICAgMTUKKyNkZWZpbmUgX19IWVBFUlZJU09SX2V2ZW50X2NoYW5uZWxfb3BfY29tcGF0IDE2IC8q
IGNvbXBhdCBzaW5jZSAweDAwMDMwMjAyICovCisjZGVmaW5lIF9fSFlQRVJWSVNPUl94ZW5fdmVy
c2lvbiAgICAgICAgICAxNworI2RlZmluZSBfX0hZUEVSVklTT1JfY29uc29sZV9pbyAgICAgICAg
ICAgMTgKKyNkZWZpbmUgX19IWVBFUlZJU09SX3BoeXNkZXZfb3BfY29tcGF0ICAgIDE5IC8qIGNv
bXBhdCBzaW5jZSAweDAwMDMwMjAyICovCisjZGVmaW5lIF9fSFlQRVJWSVNPUl9ncmFudF90YWJs
ZV9vcCAgICAgICAyMAorI2RlZmluZSBfX0hZUEVSVklTT1Jfdm1fYXNzaXN0ICAgICAgICAgICAg
MjEKKyNkZWZpbmUgX19IWVBFUlZJU09SX3VwZGF0ZV92YV9tYXBwaW5nX290aGVyZG9tYWluIDIy
CisjZGVmaW5lIF9fSFlQRVJWSVNPUl9pcmV0ICAgICAgICAgICAgICAgICAyMyAvKiB4ODYgb25s
eSAqLworI2RlZmluZSBfX0hZUEVSVklTT1JfdmNwdV9vcCAgICAgICAgICAgICAgMjQKKyNkZWZp
bmUgX19IWVBFUlZJU09SX3NldF9zZWdtZW50X2Jhc2UgICAgIDI1IC8qIHg4Ni82NCBvbmx5ICov
CisjZGVmaW5lIF9fSFlQRVJWSVNPUl9tbXVleHRfb3AgICAgICAgICAgICAyNgorI2RlZmluZSBf
X0hZUEVSVklTT1JfeHNtX29wICAgICAgICAgICAgICAgMjcKKyNkZWZpbmUgX19IWVBFUlZJU09S
X25taV9vcCAgICAgICAgICAgICAgIDI4CisjZGVmaW5lIF9fSFlQRVJWSVNPUl9zY2hlZF9vcCAg
ICAgICAgICAgICAyOQorI2RlZmluZSBfX0hZUEVSVklTT1JfY2FsbGJhY2tfb3AgICAgICAgICAg
MzAKKyNkZWZpbmUgX19IWVBFUlZJU09SX3hlbm9wcm9mX29wICAgICAgICAgIDMxCisjZGVmaW5l
IF9fSFlQRVJWSVNPUl9ldmVudF9jaGFubmVsX29wICAgICAzMgorI2RlZmluZSBfX0hZUEVSVklT
T1JfcGh5c2Rldl9vcCAgICAgICAgICAgMzMKKyNkZWZpbmUgX19IWVBFUlZJU09SX2h2bV9vcCAg
ICAgICAgICAgICAgIDM0CisjZGVmaW5lIF9fSFlQRVJWSVNPUl9zeXNjdGwgICAgICAgICAgICAg
ICAzNQorI2RlZmluZSBfX0hZUEVSVklTT1JfZG9tY3RsICAgICAgICAgICAgICAgMzYKKyNkZWZp
bmUgX19IWVBFUlZJU09SX2tleGVjX29wICAgICAgICAgICAgIDM3CisjZGVmaW5lIF9fSFlQRVJW
SVNPUl90bWVtX29wICAgICAgICAgICAgICAzOAorI2RlZmluZSBfX0hZUEVSVklTT1JfeGNfcmVz
ZXJ2ZWRfb3AgICAgICAgMzkgLyogcmVzZXJ2ZWQgZm9yIFhlbkNsaWVudCAqLworI2RlZmluZSBf
X0hZUEVSVklTT1JfeGVucG11X29wICAgICAgICAgICAgNDAKKworLyogQXJjaGl0ZWN0dXJlLXNw
ZWNpZmljIGh5cGVyY2FsbCBkZWZpbml0aW9ucy4gKi8KKyNkZWZpbmUgX19IWVBFUlZJU09SX2Fy
Y2hfMCAgICAgICAgICAgICAgIDQ4CisjZGVmaW5lIF9fSFlQRVJWSVNPUl9hcmNoXzEgICAgICAg
ICAgICAgICA0OQorI2RlZmluZSBfX0hZUEVSVklTT1JfYXJjaF8yICAgICAgICAgICAgICAgNTAK
KyNkZWZpbmUgX19IWVBFUlZJU09SX2FyY2hfMyAgICAgICAgICAgICAgIDUxCisjZGVmaW5lIF9f
SFlQRVJWSVNPUl9hcmNoXzQgICAgICAgICAgICAgICA1MgorI2RlZmluZSBfX0hZUEVSVklTT1Jf
YXJjaF81ICAgICAgICAgICAgICAgNTMKKyNkZWZpbmUgX19IWVBFUlZJU09SX2FyY2hfNiAgICAg
ICAgICAgICAgIDU0CisjZGVmaW5lIF9fSFlQRVJWSVNPUl9hcmNoXzcgICAgICAgICAgICAgICA1
NQorCisvKiBgIH0gKi8KKworLyoKKyAqIEhZUEVSQ0FMTCBDT01QQVRJQklMSVRZLgorICovCisK
Ky8qIE5ldyBzY2hlZF9vcCBoeXBlcmNhbGwgaW50cm9kdWNlZCBpbiAweDAwMDMwMTAxLiAqLwor
I2lmIF9fWEVOX0lOVEVSRkFDRV9WRVJTSU9OX18gPCAweDAwMDMwMTAxCisjdW5kZWYgX19IWVBF
UlZJU09SX3NjaGVkX29wCisjZGVmaW5lIF9fSFlQRVJWSVNPUl9zY2hlZF9vcCBfX0hZUEVSVklT
T1Jfc2NoZWRfb3BfY29tcGF0CisjZW5kaWYKKworLyogTmV3IGV2ZW50LWNoYW5uZWwgYW5kIHBo
eXNkZXYgaHlwZXJjYWxscyBpbnRyb2R1Y2VkIGluIDB4MDAwMzAyMDIuICovCisjaWYgX19YRU5f
SU5URVJGQUNFX1ZFUlNJT05fXyA8IDB4MDAwMzAyMDIKKyN1bmRlZiBfX0hZUEVSVklTT1JfZXZl
bnRfY2hhbm5lbF9vcAorI2RlZmluZSBfX0hZUEVSVklTT1JfZXZlbnRfY2hhbm5lbF9vcCBfX0hZ
UEVSVklTT1JfZXZlbnRfY2hhbm5lbF9vcF9jb21wYXQKKyN1bmRlZiBfX0hZUEVSVklTT1JfcGh5
c2Rldl9vcAorI2RlZmluZSBfX0hZUEVSVklTT1JfcGh5c2Rldl9vcCBfX0hZUEVSVklTT1JfcGh5
c2Rldl9vcF9jb21wYXQKKyNlbmRpZgorCisvKiBOZXcgcGxhdGZvcm1fb3AgaHlwZXJjYWxsIGlu
dHJvZHVjZWQgaW4gMHgwMDAzMDIwNC4gKi8KKyNpZiBfX1hFTl9JTlRFUkZBQ0VfVkVSU0lPTl9f
IDwgMHgwMDAzMDIwNAorI2RlZmluZSBfX0hZUEVSVklTT1JfZG9tMF9vcCBfX0hZUEVSVklTT1Jf
cGxhdGZvcm1fb3AKKyNlbmRpZgorCisvKgorICogVklSVFVBTCBJTlRFUlJVUFRTCisgKgorICog
VmlydHVhbCBpbnRlcnJ1cHRzIHRoYXQgYSBndWVzdCBPUyBtYXkgcmVjZWl2ZSBmcm9tIFhlbi4K
KyAqCisgKiBJbiB0aGUgc2lkZSBjb21tZW50cywgJ1YuJyBkZW5vdGVzIGEgcGVyLVZDUFUgVklS
USB3aGlsZSAnRy4nIGRlbm90ZXMgYQorICogZ2xvYmFsIFZJUlEuIFRoZSBmb3JtZXIgY2FuIGJl
IGJvdW5kIG9uY2UgcGVyIFZDUFUgYW5kIGNhbm5vdCBiZSByZS1ib3VuZC4KKyAqIFRoZSBsYXR0
ZXIgY2FuIGJlIGFsbG9jYXRlZCBvbmx5IG9uY2UgcGVyIGd1ZXN0OiB0aGV5IG11c3QgaW5pdGlh
bGx5IGJlCisgKiBhbGxvY2F0ZWQgdG8gVkNQVTAgYnV0IGNhbiBzdWJzZXF1ZW50bHkgYmUgcmUt
Ym91bmQuCisgKi8KKy8qIGAgZW51bSB2aXJxIHsgKi8KKyNkZWZpbmUgVklSUV9USU1FUiAgICAg
IDAgIC8qIFYuIFRpbWViYXNlIHVwZGF0ZSwgYW5kL29yIHJlcXVlc3RlZCB0aW1lb3V0LiAgKi8K
KyNkZWZpbmUgVklSUV9ERUJVRyAgICAgIDEgIC8qIFYuIFJlcXVlc3QgZ3Vlc3QgdG8gZHVtcCBk
ZWJ1ZyBpbmZvLiAgICAgICAgICAgKi8KKyNkZWZpbmUgVklSUV9DT05TT0xFICAgIDIgIC8qIEcu
IChET00wKSBCeXRlcyByZWNlaXZlZCBvbiBlbWVyZ2VuY3kgY29uc29sZS4gKi8KKyNkZWZpbmUg
VklSUV9ET01fRVhDICAgIDMgIC8qIEcuIChET00wKSBFeGNlcHRpb25hbCBldmVudCBmb3Igc29t
ZSBkb21haW4uICAgKi8KKyNkZWZpbmUgVklSUV9UQlVGICAgICAgIDQgIC8qIEcuIChET00wKSBU
cmFjZSBidWZmZXIgaGFzIHJlY29yZHMgYXZhaWxhYmxlLiAgKi8KKyNkZWZpbmUgVklSUV9ERUJV
R0dFUiAgIDYgIC8qIEcuIChET00wKSBBIGRvbWFpbiBoYXMgcGF1c2VkIGZvciBkZWJ1Z2dpbmcu
ICAgKi8KKyNkZWZpbmUgVklSUV9YRU5PUFJPRiAgIDcgIC8qIFYuIFhlbk9wcm9maWxlIGludGVy
cnVwdDogbmV3IHNhbXBsZSBhdmFpbGFibGUgKi8KKyNkZWZpbmUgVklSUV9DT05fUklORyAgIDgg
IC8qIEcuIChET00wKSBCeXRlcyByZWNlaXZlZCBvbiBjb25zb2xlICAgICAgICAgICAgKi8KKyNk
ZWZpbmUgVklSUV9QQ1BVX1NUQVRFIDkgIC8qIEcuIChET00wKSBQQ1BVIHN0YXRlIGNoYW5nZWQg
ICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgVklSUV9NRU1fRVZFTlQgIDEwIC8qIEcuIChE
T00wKSBBIG1lbW9yeSBldmVudCBoYXMgb2NjdXJlZCAgICAgICAgICAgKi8KKyNkZWZpbmUgVklS
UV9YQ19SRVNFUlZFRCAxMSAvKiBHLiBSZXNlcnZlZCBmb3IgWGVuQ2xpZW50ICAgICAgICAgICAg
ICAgICAgICAgKi8KKyNkZWZpbmUgVklSUV9FTk9NRU0gICAgIDEyIC8qIEcuIChET00wKSBMb3cg
b24gaGVhcCBtZW1vcnkgICAgICAgKi8KKyNkZWZpbmUgVklSUV9YRU5QTVUgICAgIDEzIC8qIFYu
ICBQTUMgaW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKworLyogQXJj
aGl0ZWN0dXJlLXNwZWNpZmljIFZJUlEgZGVmaW5pdGlvbnMuICovCisjZGVmaW5lIFZJUlFfQVJD
SF8wICAgIDE2CisjZGVmaW5lIFZJUlFfQVJDSF8xICAgIDE3CisjZGVmaW5lIFZJUlFfQVJDSF8y
ICAgIDE4CisjZGVmaW5lIFZJUlFfQVJDSF8zICAgIDE5CisjZGVmaW5lIFZJUlFfQVJDSF80ICAg
IDIwCisjZGVmaW5lIFZJUlFfQVJDSF81ICAgIDIxCisjZGVmaW5lIFZJUlFfQVJDSF82ICAgIDIy
CisjZGVmaW5lIFZJUlFfQVJDSF83ICAgIDIzCisvKiBgIH0gKi8KKworI2RlZmluZSBOUl9WSVJR
UyAgICAgICAyNAorCisvKgorICogYCBlbnVtIG5lZ19lcnJub3ZhbAorICogYCBIWVBFUlZJU09S
X21tdV91cGRhdGUoY29uc3Qgc3RydWN0IG1tdV91cGRhdGUgcmVxc1tdLAorICogYCAgICAgICAg
ICAgICAgICAgICAgICAgdW5zaWduZWQgY291bnQsIHVuc2lnbmVkICpkb25lX291dCwKKyAqIGAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGZvcmVpZ25kb20pCisgKiBgCisgKiBAcmVx
cyBpcyBhbiBhcnJheSBvZiBtbXVfdXBkYXRlX3Qgc3RydWN0dXJlcyAoKHB0ciwgdmFsKSBwYWly
cykuCisgKiBAY291bnQgaXMgdGhlIGxlbmd0aCBvZiB0aGUgYWJvdmUgYXJyYXkuCisgKiBAcGRv
bmUgaXMgYW4gb3V0cHV0IHBhcmFtZXRlciBpbmRpY2F0aW5nIG51bWJlciBvZiBjb21wbGV0ZWQg
b3BlcmF0aW9ucworICogQGZvcmVpZ25kb21bMTU6MF06IEZELCB0aGUgZXhwZWN0ZWQgb3duZXIg
b2YgZGF0YSBwYWdlcyByZWZlcmVuY2VkIGluIHRoaXMKKyAqICAgICAgICAgICAgICAgICAgICBo
eXBlcmNhbGwgaW52b2NhdGlvbi4gQ2FuIGJlIERPTUlEX1NFTEYuCisgKiBAZm9yZWlnbmRvbVsz
MToxNl06IFBGRCwgdGhlIGV4cGVjdGVkIG93bmVyIG9mIHBhZ2V0YWJsZSBwYWdlcyByZWZlcmVu
Y2VkCisgKiAgICAgICAgICAgICAgICAgICAgIGluIHRoaXMgaHlwZXJjYWxsIGludm9jYXRpb24u
IFRoZSB2YWx1ZSBvZiB0aGlzIGZpZWxkCisgKiAgICAgICAgICAgICAgICAgICAgICh4KSBlbmNv
ZGVzIHRoZSBQRkQgYXMgZm9sbG93czoKKyAqICAgICAgICAgICAgICAgICAgICAgeCA9PSAwID0+
IFBGRCA9PSBET01JRF9TRUxGCisgKiAgICAgICAgICAgICAgICAgICAgIHggIT0gMCA9PiBQRkQg
PT0geCAtIDEKKyAqCisgKiBTdWItY29tbWFuZHM6IHB0clsxOjBdIHNwZWNpZmllcyB0aGUgYXBw
cm9wcmlhdGUgTU1VXyogY29tbWFuZC4KKyAqIC0tLS0tLS0tLS0tLS0KKyAqIHB0clsxOjBdID09
IE1NVV9OT1JNQUxfUFRfVVBEQVRFOgorICogVXBkYXRlcyBhbiBlbnRyeSBpbiBhIHBhZ2UgdGFi
bGUgYmVsb25naW5nIHRvIFBGRC4gSWYgdXBkYXRpbmcgYW4gTDEgdGFibGUsCisgKiBhbmQgdGhl
IG5ldyB0YWJsZSBlbnRyeSBpcyB2YWxpZC9wcmVzZW50LCB0aGUgbWFwcGVkIGZyYW1lIG11c3Qg
YmVsb25nIHRvCisgKiBGRC4gSWYgYXR0ZW1wdGluZyB0byBtYXAgYW4gSS9PIHBhZ2UgdGhlbiB0
aGUgY2FsbGVyIGFzc3VtZXMgdGhlIHByaXZpbGVnZQorICogb2YgdGhlIEZELgorICogRkQgPT0g
RE9NSURfSU86IFBlcm1pdCAvb25seS8gSS9PIG1hcHBpbmdzLCBhdCB0aGUgcHJpdiBsZXZlbCBv
ZiB0aGUgY2FsbGVyLgorICogRkQgPT0gRE9NSURfWEVOOiBNYXAgcmVzdHJpY3RlZCBhcmVhcyBv
ZiBYZW4ncyBoZWFwIHNwYWNlLgorICogcHRyWzoyXSAgLS0gTWFjaGluZSBhZGRyZXNzIG9mIHRo
ZSBwYWdlLXRhYmxlIGVudHJ5IHRvIG1vZGlmeS4KKyAqIHZhbCAgICAgIC0tIFZhbHVlIHRvIHdy
aXRlLgorICoKKyAqIFRoZXJlIGFsc28gY2VydGFpbiBpbXBsaWNpdCByZXF1aXJlbWVudHMgd2hl
biB1c2luZyB0aGlzIGh5cGVyY2FsbC4gVGhlCisgKiBwYWdlcyB0aGF0IG1ha2UgdXAgYSBwYWdl
dGFibGUgbXVzdCBiZSBtYXBwZWQgcmVhZC1vbmx5IGluIHRoZSBndWVzdC4KKyAqIFRoaXMgcHJl
dmVudHMgdW5jb250cm9sbGVkIGd1ZXN0IHVwZGF0ZXMgdG8gdGhlIHBhZ2V0YWJsZS4gWGVuIHN0
cmljdGx5CisgKiBlbmZvcmNlcyB0aGlzLCBhbmQgd2lsbCBkaXNhbGxvdyBhbnkgcGFnZXRhYmxl
IHVwZGF0ZSB3aGljaCB3aWxsIGVuZCB1cAorICogbWFwcGluZyBwYWdldGFibGUgcGFnZSBSVywg
YW5kIHdpbGwgZGlzYWxsb3cgdXNpbmcgYW55IHdyaXRhYmxlIHBhZ2UgYXMgYQorICogcGFnZXRh
YmxlLiBJbiBwcmFjdGljZSBpdCBtZWFucyB0aGF0IHdoZW4gY29uc3RydWN0aW5nIGEgcGFnZSB0
YWJsZSBmb3IgYQorICogcHJvY2VzcywgdGhyZWFkLCBldGMsIHdlIE1VU1QgYmUgdmVyeSBkaWxs
aWdpZW50IGluIGZvbGxvd2luZyB0aGVzZSBydWxlczoKKyAqICAxKS4gU3RhcnQgd2l0aCB0b3At
bGV2ZWwgcGFnZSAoUEdEIG9yIGluIFhlbiBsYW5ndWFnZTogTDQpLiBGaWxsIG91dAorICogICAg
ICB0aGUgZW50cmllcy4KKyAqICAyKS4gS2VlcCBvbiBnb2luZywgZmlsbGluZyBvdXQgdGhlIHVw
cGVyIChQVUQgb3IgTDMpLCBhbmQgbWlkZGxlIChQTUQKKyAqICAgICAgb3IgTDIpLgorICogIDMp
LiBTdGFydCBmaWxsaW5nIG91dCB0aGUgUFRFIHRhYmxlIChMMSkgd2l0aCB0aGUgUFRFIGVudHJp
ZXMuIE9uY2UKKyAqICAJZG9uZSwgbWFrZSBzdXJlIHRvIHNldCBlYWNoIG9mIHRob3NlIGVudHJp
ZXMgdG8gUk8gKHNvIHdyaXRlYWJsZSBiaXQKKyAqICAJaXMgdW5zZXQpLiBPbmNlIHRoYXQgaGFz
IGJlZW4gY29tcGxldGVkLCBzZXQgdGhlIFBNRCAoTDIpIGZvciB0aGlzCisgKiAgCVBURSB0YWJs
ZSBhcyBSTy4KKyAqICA0KS4gV2hlbiBjb21wbGV0ZWQgd2l0aCBhbGwgb2YgdGhlIFBNRCAoTDIp
IGVudHJpZXMsIGFuZCBhbGwgb2YgdGhlbSBoYXZlCisgKiAgCWJlZW4gc2V0IHRvIFJPLCBtYWtl
IHN1cmUgdG8gc2V0IFJPIHRoZSBQVUQgKEwzKS4gRG8gdGhlIHNhbWUKKyAqICAJb3BlcmF0aW9u
IG9uIFBHRCAoTDQpIHBhZ2V0YWJsZSBlbnRyaWVzIHRoYXQgaGF2ZSBhIFBVRCAoTDMpIGVudHJ5
LgorICogIDUpLiBOb3cgYmVmb3JlIHlvdSBjYW4gdXNlIHRob3NlIHBhZ2VzIChzbyBzZXR0aW5n
IHRoZSBjcjMpLCB5b3UgTVVTVCBhbHNvCisgKiAgICAgIHBpbiB0aGVtIHNvIHRoYXQgdGhlIGh5
cGVydmlzb3IgY2FuIHZlcmlmeSB0aGUgZW50cmllcy4gVGhpcyBpcyBkb25lCisgKiAgICAgIHZp
YSB0aGUgSFlQRVJWSVNPUl9tbXVleHRfb3AoTU1VRVhUX1BJTl9MNF9UQUJMRSwgZ3Vlc3QgcGh5
c2ljYWwgZnJhbWUKKyAqICAgICAgbnVtYmVyIG9mIHRoZSBQR0QgKEw0KSkuIEFuZCB0aGlzIHBv
aW50IHRoZSBIWVBFUlZJU09SX21tdWV4dF9vcCgKKyAqICAgICAgTU1VRVhUX05FV19CQVNFUFRS
LCBndWVzdCBwaHlzaWNhbCBmcmFtZSBudW1iZXIgb2YgdGhlIFBHRCAoTDQpKSBjYW4gYmUKKyAq
ICAgICAgaXNzdWVkLgorICogRm9yIDMyLWJpdCBndWVzdHMsIHRoZSBMNCBpcyBub3QgdXNlZCAo
YXMgdGhlcmUgaXMgbGVzcyBwYWdldGFibGVzKSwgc28KKyAqIGluc3RlYWQgdXNlIEwzLgorICog
QXQgdGhpcyBwb2ludCB0aGUgcGFnZXRhYmxlcyBjYW4gYmUgbW9kaWZpZWQgdXNpbmcgdGhlIE1N
VV9OT1JNQUxfUFRfVVBEQVRFCisgKiBoeXBlcmNhbGwuIEFsc28gaWYgc28gZGVzaXJlZCB0aGUg
T1MgY2FuIGFsc28gdHJ5IHRvIHdyaXRlIHRvIHRoZSBQVEUKKyAqIGFuZCBiZSB0cmFwcGVkIGJ5
IHRoZSBoeXBlcnZpc29yIChhcyB0aGUgUFRFIGVudHJ5IGlzIFJPKS4KKyAqCisgKiBUbyBkZWFs
bG9jYXRlIHRoZSBwYWdlcywgdGhlIG9wZXJhdGlvbnMgYXJlIHRoZSByZXZlcnNlIG9mIHRoZSBz
dGVwcworICogbWVudGlvbmVkIGFib3ZlLiBUaGUgYXJndW1lbnQgaXMgTU1VRVhUX1VOUElOX1RB
QkxFIGZvciBhbGwgbGV2ZWxzIGFuZCB0aGUKKyAqIHBhZ2V0YWJsZSBNVVNUIG5vdCBiZSBpbiB1
c2UgKG1lYW5pbmcgdGhhdCB0aGUgY3IzIGlzIG5vdCBzZXQgdG8gaXQpLgorICoKKyAqIHB0clsx
OjBdID09IE1NVV9NQUNIUEhZU19VUERBVEU6CisgKiBVcGRhdGVzIGFuIGVudHJ5IGluIHRoZSBt
YWNoaW5lLT5wc2V1ZG8tcGh5c2ljYWwgbWFwcGluZyB0YWJsZS4KKyAqIHB0cls6Ml0gIC0tIE1h
Y2hpbmUgYWRkcmVzcyB3aXRoaW4gdGhlIGZyYW1lIHdob3NlIG1hcHBpbmcgdG8gbW9kaWZ5Lgor
ICogICAgICAgICAgICAgVGhlIGZyYW1lIG11c3QgYmVsb25nIHRvIHRoZSBGRCwgaWYgb25lIGlz
IHNwZWNpZmllZC4KKyAqIHZhbCAgICAgIC0tIFZhbHVlIHRvIHdyaXRlIGludG8gdGhlIG1hcHBp
bmcgZW50cnkuCisgKgorICogcHRyWzE6MF0gPT0gTU1VX1BUX1VQREFURV9QUkVTRVJWRV9BRDoK
KyAqIEFzIE1NVV9OT1JNQUxfUFRfVVBEQVRFIGFib3ZlLCBidXQgQS9EIGJpdHMgY3VycmVudGx5
IGluIHRoZSBQVEUgYXJlIE9SZWQKKyAqIHdpdGggdGhvc2UgaW4gQHZhbC4KKyAqCisgKiBAdmFs
IGlzIHVzdWFsbHkgdGhlIG1hY2hpbmUgZnJhbWUgbnVtYmVyIGFsb25nIHdpdGggc29tZSBhdHRy
aWJ1dGVzLgorICogVGhlIGF0dHJpYnV0ZXMgYnkgZGVmYXVsdCBmb2xsb3cgdGhlIGFyY2hpdGVj
dHVyZSBkZWZpbmVkIGJpdHMuIE1lYW5pbmcgdGhhdAorICogaWYgdGhpcyBpcyBhIFg4Nl82NCBt
YWNoaW5lIGFuZCBmb3VyIHBhZ2UgdGFibGUgbGF5b3V0IGlzIHVzZWQsIHRoZSBsYXlvdXQKKyAq
IG9mIHZhbCBpczoKKyAqICAtIDYzIGlmIHNldCBtZWFucyBObyBleGVjdXRlIChOWCkKKyAqICAt
IDQ2LTEzIHRoZSBtYWNoaW5lIGZyYW1lIG51bWJlcgorICogIC0gMTIgYXZhaWxhYmxlIGZvciBn
dWVzdAorICogIC0gMTEgYXZhaWxhYmxlIGZvciBndWVzdAorICogIC0gMTAgYXZhaWxhYmxlIGZv
ciBndWVzdAorICogIC0gOSBhdmFpbGFibGUgZm9yIGd1ZXN0CisgKiAgLSA4IGdsb2JhbAorICog
IC0gNyBQQVQgKFBTRSBpcyBkaXNhYmxlZCwgbXVzdCB1c2UgaHlwZXJjYWxsIHRvIG1ha2UgNE1C
IG9yIDJNQiBwYWdlcykKKyAqICAtIDYgZGlydHkKKyAqICAtIDUgYWNjZXNzZWQKKyAqICAtIDQg
cGFnZSBjYWNoZWQgZGlzYWJsZWQKKyAqICAtIDMgcGFnZSB3cml0ZSB0aHJvdWdoCisgKiAgLSAy
IHVzZXJzcGFjZSBhY2Nlc3NpYmxlCisgKiAgLSAxIHdyaXRlYWJsZQorICogIC0gMCBwcmVzZW50
CisgKgorICogIFRoZSBvbmUgYml0cyB0aGF0IGRvZXMgbm90IGZpdCB3aXRoIHRoZSBkZWZhdWx0
IGxheW91dCBpcyB0aGUgUEFHRV9QU0UKKyAqICBhbHNvIGNhbGxlZCBQQUdFX1BBVCkuIFRoZSBN
TVVFWFRfW1VOXU1BUktfU1VQRVIgYXJndW1lbnRzIHRvIHRoZQorICogIEhZUEVSVklTT1JfbW11
ZXh0X29wIHNlcnZlIGFzIG1lY2hhbmlzbSB0byBzZXQgYSBwYWdldGFibGUgdG8gYmUgNE1CCisg
KiAgKG9yIDJNQikgaW5zdGVhZCBvZiB1c2luZyB0aGUgUEFHRV9QU0UgYml0LgorICoKKyAqICBU
aGUgcmVhc29uIHRoYXQgdGhlIFBBR0VfUFNFIChiaXQgNykgaXMgbm90IGJlaW5nIHV0aWxpemVk
IGlzIGR1ZSB0byBYZW4KKyAqICB1c2luZyBpdCBhcyB0aGUgUGFnZSBBdHRyaWJ1dGUgVGFibGUg
KFBBVCkgYml0IC0gZm9yIGRldGFpbHMgb24gaXQgcGxlYXNlCisgKiAgcmVmZXIgdG8gSW50ZWwg
U0RNIDEwLjEyLiBUaGUgUEFUIGFsbG93cyB0byBzZXQgdGhlIGNhY2hpbmcgYXR0cmlidXRlcyBv
ZgorICogIHBhZ2VzIGluc3RlYWQgb2YgdXNpbmcgTVRSUnMuCisgKgorICogIFRoZSBQQVQgTVNS
IGlzIGFzIGZvbGxvd3MgKGl0IGlzIGEgNjQtYml0IHZhbHVlLCBlYWNoIGVudHJ5IGlzIDggYml0
cyk6CisgKiAgICAgICAgICAgICAgICAgICAgUEFUNCAgICAgICAgICAgICAgICAgUEFUMAorICog
ICstLS0tLSstLS0tLSstLS0tKy0tLS0rLS0tLSstLS0tLSstLS0tKy0tLS0rCisgKiAgfCBVQyAg
fCBVQy0gfCBXQyB8IFdCIHwgVUMgfCBVQy0gfCBXQyB8IFdCIHwgIDw9IExpbnV4CisgKiAgKy0t
LS0tKy0tLS0tKy0tLS0rLS0tLSstLS0tKy0tLS0tKy0tLS0rLS0tLSsKKyAqICB8IFVDICB8IFVD
LSB8IFdUIHwgV0IgfCBVQyB8IFVDLSB8IFdUIHwgV0IgfCAgPD0gQklPUyAoZGVmYXVsdCB3aGVu
IG1hY2hpbmUgYm9vdHMpCisgKiAgKy0tLS0tKy0tLS0tKy0tLS0rLS0tLSstLS0tKy0tLS0tKy0t
LS0rLS0tLSsKKyAqICB8IHJzdiB8IHJzdiB8IFdQIHwgV0MgfCBVQyB8IFVDLSB8IFdUIHwgV0Ig
fCAgPD0gWGVuCisgKiAgKy0tLS0tKy0tLS0tKy0tLS0rLS0tLSstLS0tKy0tLS0tKy0tLS0rLS0t
LSsKKyAqCisgKiAgVGhlIGxvb2t1cCBvZiB0aGlzIGluZGV4IHRhYmxlIHRyYW5zbGF0ZXMgdG8g
bG9va2luZyB1cAorICogIEJpdCA3LCBCaXQgNCwgYW5kIEJpdCAzIG9mIHZhbCBlbnRyeToKKyAq
CisgKiAgUEFUL1BTRSAoYml0IDcpIC4uLiBQQ0QgKGJpdCA0KSAuLiBQV1QgKGJpdCAzKS4KKyAq
CisgKiAgSWYgYWxsIGJpdHMgYXJlIG9mZiwgdGhlbiB3ZSBhcmUgdXNpbmcgUEFUMC4gSWYgYml0
IDMgdHVybmVkIG9uLAorICogIHRoZW4gd2UgYXJlIHVzaW5nIFBBVDEsIGlmIGJpdCAzIGFuZCBi
aXQgNCwgdGhlbiBQQVQyLi4KKyAqCisgKiAgQXMgeW91IGNhbiBzZWUsIHRoZSBMaW51eCBQQVQx
IHRyYW5zbGF0ZXMgdG8gUEFUNCB1bmRlciBYZW4uIFdoaWNoIG1lYW5zCisgKiAgdGhhdCBpZiBh
IGd1ZXN0IHRoYXQgZm9sbG93cyBMaW51eCdzIFBBVCBzZXR1cCBhbmQgd291bGQgbGlrZSB0byBz
ZXQgV3JpdGUKKyAqICBDb21iaW5lZCBvbiBwYWdlcyBpdCBNVVNUIHVzZSBQQVQ0IGVudHJ5LiBN
ZWFuaW5nIHRoYXQgQml0IDcgKFBBR0VfUEFUKSBpcworICogIHNldC4gRm9yIGV4YW1wbGUsIHVu
ZGVyIExpbnV4IGl0IG9ubHkgdXNlcyBQQVQwLCBQQVQxLCBhbmQgUEFUMiBmb3IgdGhlCisgKiAg
Y2FjaGluZyBhczoKKyAqCisgKiAgIFdCID0gbm9uZSAoc28gUEFUMCkKKyAqICAgV0MgPSBQV1Qg
KGJpdCAzIG9uKQorICogICBVQyA9IFBXVCB8IFBDRCAoYml0IDMgYW5kIDQgYXJlIG9uKS4KKyAq
CisgKiBUbyBtYWtlIGl0IHdvcmsgd2l0aCBYZW4sIGl0IG5lZWRzIHRvIHRyYW5zbGF0ZSB0aGUg
V0MgYml0IGFzIHNvOgorICoKKyAqICBQV1QgKHNvIGJpdCAzIG9uKSAtLT4gUEFUIChzbyBiaXQg
NyBpcyBvbikgYW5kIGNsZWFyIGJpdCAzCisgKgorICogQW5kIHRvIHRyYW5zbGF0ZSBiYWNrIGl0
IHdvdWxkOgorICoKKyAqIFBBVCAoYml0IDcgb24pIC0tPiBQV1QgKGJpdCAzIG9uKSBhbmQgY2xl
YXIgYml0IDcuCisgKi8KKyNkZWZpbmUgTU1VX05PUk1BTF9QVF9VUERBVEUgICAgICAwIC8qIGNo
ZWNrZWQgJypwdHIgPSB2YWwnLiBwdHIgaXMgTUEuICAgICAgKi8KKyNkZWZpbmUgTU1VX01BQ0hQ
SFlTX1VQREFURSAgICAgICAxIC8qIHB0ciA9IE1BIG9mIGZyYW1lIHRvIG1vZGlmeSBlbnRyeSBm
b3IgKi8KKyNkZWZpbmUgTU1VX1BUX1VQREFURV9QUkVTRVJWRV9BRCAyIC8qIGF0b21pY2FsbHk6
ICpwdHIgPSB2YWwgfCAoKnB0ciYoQXxEKSkgKi8KKworLyoKKyAqIE1NVSBFWFRFTkRFRCBPUEVS
QVRJT05TCisgKgorICogYCBlbnVtIG5lZ19lcnJub3ZhbAorICogYCBIWVBFUlZJU09SX21tdWV4
dF9vcChtbXVleHRfb3BfdCB1b3BzW10sCisgKiBgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGludCBjb3VudCwKKyAqIGAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICpw
ZG9uZSwKKyAqIGAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZvcmVpZ25kb20p
CisgKi8KKy8qIEhZUEVSVklTT1JfbW11ZXh0X29wKCkgYWNjZXB0cyBhIGxpc3Qgb2YgbW11ZXh0
X29wIHN0cnVjdHVyZXMuCisgKiBBIGZvcmVpZ25kb20gKEZEKSBjYW4gYmUgc3BlY2lmaWVkIChv
ciBET01JRF9TRUxGIGZvciBub25lKS4KKyAqIFdoZXJlIHRoZSBGRCBoYXMgc29tZSBlZmZlY3Qs
IGl0IGlzIGRlc2NyaWJlZCBiZWxvdy4KKyAqCisgKiBjbWQ6IE1NVUVYVF8oVU4pUElOXypfVEFC
TEUKKyAqIG1mbjogTWFjaGluZSBmcmFtZSBudW1iZXIgdG8gYmUgKHVuKXBpbm5lZCBhcyBhIHAu
dC4gcGFnZS4KKyAqICAgICAgVGhlIGZyYW1lIG11c3QgYmVsb25nIHRvIHRoZSBGRCwgaWYgb25l
IGlzIHNwZWNpZmllZC4KKyAqCisgKiBjbWQ6IE1NVUVYVF9ORVdfQkFTRVBUUgorICogbWZuOiBN
YWNoaW5lIGZyYW1lIG51bWJlciBvZiBuZXcgcGFnZS10YWJsZSBiYXNlIHRvIGluc3RhbGwgaW4g
TU1VLgorICoKKyAqIGNtZDogTU1VRVhUX05FV19VU0VSX0JBU0VQVFIgW3g4Ni82NCBvbmx5XQor
ICogbWZuOiBNYWNoaW5lIGZyYW1lIG51bWJlciBvZiBuZXcgcGFnZS10YWJsZSBiYXNlIHRvIGlu
c3RhbGwgaW4gTU1VCisgKiAgICAgIHdoZW4gaW4gdXNlciBzcGFjZS4KKyAqCisgKiBjbWQ6IE1N
VUVYVF9UTEJfRkxVU0hfTE9DQUwKKyAqIE5vIGFkZGl0aW9uYWwgYXJndW1lbnRzLiBGbHVzaGVz
IGxvY2FsIFRMQi4KKyAqCisgKiBjbWQ6IE1NVUVYVF9JTlZMUEdfTE9DQUwKKyAqIGxpbmVhcl9h
ZGRyOiBMaW5lYXIgYWRkcmVzcyB0byBiZSBmbHVzaGVkIGZyb20gdGhlIGxvY2FsIFRMQi4KKyAq
CisgKiBjbWQ6IE1NVUVYVF9UTEJfRkxVU0hfTVVMVEkKKyAqIHZjcHVtYXNrOiBQb2ludGVyIHRv
IGJpdG1hcCBvZiBWQ1BVcyB0byBiZSBmbHVzaGVkLgorICoKKyAqIGNtZDogTU1VRVhUX0lOVkxQ
R19NVUxUSQorICogbGluZWFyX2FkZHI6IExpbmVhciBhZGRyZXNzIHRvIGJlIGZsdXNoZWQuCisg
KiB2Y3B1bWFzazogUG9pbnRlciB0byBiaXRtYXAgb2YgVkNQVXMgdG8gYmUgZmx1c2hlZC4KKyAq
CisgKiBjbWQ6IE1NVUVYVF9UTEJfRkxVU0hfQUxMCisgKiBObyBhZGRpdGlvbmFsIGFyZ3VtZW50
cy4gRmx1c2hlcyBhbGwgVkNQVXMnIFRMQnMuCisgKgorICogY21kOiBNTVVFWFRfSU5WTFBHX0FM
TAorICogbGluZWFyX2FkZHI6IExpbmVhciBhZGRyZXNzIHRvIGJlIGZsdXNoZWQgZnJvbSBhbGwg
VkNQVXMnIFRMQnMuCisgKgorICogY21kOiBNTVVFWFRfRkxVU0hfQ0FDSEUKKyAqIE5vIGFkZGl0
aW9uYWwgYXJndW1lbnRzLiBXcml0ZXMgYmFjayBhbmQgZmx1c2hlcyBjYWNoZSBjb250ZW50cy4K
KyAqCisgKiBjbWQ6IE1NVUVYVF9GTFVTSF9DQUNIRV9HTE9CQUwKKyAqIE5vIGFkZGl0aW9uYWwg
YXJndW1lbnRzLiBXcml0ZXMgYmFjayBhbmQgZmx1c2hlcyBjYWNoZSBjb250ZW50cworICogb24g
YWxsIENQVXMgaW4gdGhlIHN5c3RlbS4KKyAqCisgKiBjbWQ6IE1NVUVYVF9TRVRfTERUCisgKiBs
aW5lYXJfYWRkcjogTGluZWFyIGFkZHJlc3Mgb2YgTERUIGJhc2UgKE5CLiBtdXN0IGJlIHBhZ2Ut
YWxpZ25lZCkuCisgKiBucl9lbnRzOiBOdW1iZXIgb2YgZW50cmllcyBpbiBMRFQuCisgKgorICog
Y21kOiBNTVVFWFRfQ0xFQVJfUEFHRQorICogbWZuOiBNYWNoaW5lIGZyYW1lIG51bWJlciB0byBi
ZSBjbGVhcmVkLgorICoKKyAqIGNtZDogTU1VRVhUX0NPUFlfUEFHRQorICogbWZuOiBNYWNoaW5l
IGZyYW1lIG51bWJlciBvZiB0aGUgZGVzdGluYXRpb24gcGFnZS4KKyAqIHNyY19tZm46IE1hY2hp
bmUgZnJhbWUgbnVtYmVyIG9mIHRoZSBzb3VyY2UgcGFnZS4KKyAqCisgKiBjbWQ6IE1NVUVYVF9b
VU5dTUFSS19TVVBFUgorICogbWZuOiBNYWNoaW5lIGZyYW1lIG51bWJlciBvZiBoZWFkIG9mIHN1
cGVycGFnZSB0byBiZSBbdW5dbWFya2VkLgorICovCisvKiBgIGVudW0gbW11ZXh0X2NtZCB7ICov
CisjZGVmaW5lIE1NVUVYVF9QSU5fTDFfVEFCTEUgICAgICAwCisjZGVmaW5lIE1NVUVYVF9QSU5f
TDJfVEFCTEUgICAgICAxCisjZGVmaW5lIE1NVUVYVF9QSU5fTDNfVEFCTEUgICAgICAyCisjZGVm
aW5lIE1NVUVYVF9QSU5fTDRfVEFCTEUgICAgICAzCisjZGVmaW5lIE1NVUVYVF9VTlBJTl9UQUJM
RSAgICAgICA0CisjZGVmaW5lIE1NVUVYVF9ORVdfQkFTRVBUUiAgICAgICA1CisjZGVmaW5lIE1N
VUVYVF9UTEJfRkxVU0hfTE9DQUwgICA2CisjZGVmaW5lIE1NVUVYVF9JTlZMUEdfTE9DQUwgICAg
ICA3CisjZGVmaW5lIE1NVUVYVF9UTEJfRkxVU0hfTVVMVEkgICA4CisjZGVmaW5lIE1NVUVYVF9J
TlZMUEdfTVVMVEkgICAgICA5CisjZGVmaW5lIE1NVUVYVF9UTEJfRkxVU0hfQUxMICAgIDEwCisj
ZGVmaW5lIE1NVUVYVF9JTlZMUEdfQUxMICAgICAgIDExCisjZGVmaW5lIE1NVUVYVF9GTFVTSF9D
QUNIRSAgICAgIDEyCisjZGVmaW5lIE1NVUVYVF9TRVRfTERUICAgICAgICAgIDEzCisjZGVmaW5l
IE1NVUVYVF9ORVdfVVNFUl9CQVNFUFRSIDE1CisjZGVmaW5lIE1NVUVYVF9DTEVBUl9QQUdFICAg
ICAgIDE2CisjZGVmaW5lIE1NVUVYVF9DT1BZX1BBR0UgICAgICAgIDE3CisjZGVmaW5lIE1NVUVY
VF9GTFVTSF9DQUNIRV9HTE9CQUwgMTgKKyNkZWZpbmUgTU1VRVhUX01BUktfU1VQRVIgICAgICAg
MTkKKyNkZWZpbmUgTU1VRVhUX1VOTUFSS19TVVBFUiAgICAgMjAKKy8qIGAgfSAqLworCisjaWZu
ZGVmIF9fQVNTRU1CTFlfXworc3RydWN0IG1tdWV4dF9vcCB7CisgICAgdW5zaWduZWQgaW50IGNt
ZDsgLyogPT4gZW51bSBtbXVleHRfY21kICovCisgICAgdW5pb24geworICAgICAgICAvKiBbVU5d
UElOX1RBQkxFLCBORVdfQkFTRVBUUiwgTkVXX1VTRVJfQkFTRVBUUgorICAgICAgICAgKiBDTEVB
Ul9QQUdFLCBDT1BZX1BBR0UsIFtVTl1NQVJLX1NVUEVSICovCisgICAgICAgIHhlbl9wZm5fdCAg
ICAgbWZuOworICAgICAgICAvKiBJTlZMUEdfTE9DQUwsIElOVkxQR19BTEwsIFNFVF9MRFQgKi8K
KyAgICAgICAgVUxPTkdfUFRSIGxpbmVhcl9hZGRyOworICAgIH0gYXJnMTsKKyAgICB1bmlvbiB7
CisgICAgICAgIC8qIFNFVF9MRFQgKi8KKyAgICAgICAgdW5zaWduZWQgaW50IG5yX2VudHM7Cisg
ICAgICAgIC8qIFRMQl9GTFVTSF9NVUxUSSwgSU5WTFBHX01VTFRJICovCisjaWYgX19YRU5fSU5U
RVJGQUNFX1ZFUlNJT05fXyA+PSAweDAwMDMwMjA1CisgICAgICAgIFhFTl9HVUVTVF9IQU5ETEUo
Y29uc3Rfdm9pZCkgdmNwdW1hc2s7CisjZWxzZQorICAgICAgICBjb25zdCB2b2lkICp2Y3B1bWFz
azsKKyNlbmRpZgorICAgICAgICAvKiBDT1BZX1BBR0UgKi8KKyAgICAgICAgeGVuX3Bmbl90IHNy
Y19tZm47CisgICAgfSBhcmcyOworfTsKK3R5cGVkZWYgc3RydWN0IG1tdWV4dF9vcCBtbXVleHRf
b3BfdDsKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKG1tdWV4dF9vcF90KTsKKyNlbmRpZgorCisv
KgorICogYCBlbnVtIG5lZ19lcnJub3ZhbAorICogYCBIWVBFUlZJU09SX3VwZGF0ZV92YV9tYXBw
aW5nKFVMT05HX1BUUiB2YSwgdTY0IHZhbCwKKyAqIGAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlbnVtIHV2bV9mbGFncyBmbGFncykKKyAqIGAKKyAqIGAgZW51bSBuZWdfZXJybm92YWwK
KyAqIGAgSFlQRVJWSVNPUl91cGRhdGVfdmFfbWFwcGluZ19vdGhlcmRvbWFpbihVTE9OR19QVFIg
dmEsIHU2NCB2YWwsCisgKiBgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZW51bSB1dm1fZmxhZ3MgZmxhZ3MsCisgKiBgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZG9taWRfdCBkb21pZCkKKyAqIGAKKyAqIGAgQHZhOiBUaGUgdmlydHVh
bCBhZGRyZXNzIHdob3NlIG1hcHBpbmcgd2Ugd2FudCB0byBjaGFuZ2UKKyAqIGAgQHZhbDogVGhl
IG5ldyBwYWdlIHRhYmxlIGVudHJ5LCBtdXN0IGNvbnRhaW4gYSBtYWNoaW5lIGFkZHJlc3MKKyAq
IGAgQGZsYWdzOiBDb250cm9sIFRMQiBmbHVzaGVzCisgKi8KKy8qIFRoZXNlIGFyZSBwYXNzZWQg
YXMgJ2ZsYWdzJyB0byB1cGRhdGVfdmFfbWFwcGluZy4gVGhleSBjYW4gYmUgT1JlZC4gKi8KKy8q
IFdoZW4gc3BlY2lmeWluZyBVVk1GX01VTFRJLCBhbHNvIE9SIGluIGEgcG9pbnRlciB0byBhIENQ
VSBiaXRtYXAuICAgKi8KKy8qIFVWTUZfTE9DQUwgaXMgbWVyZWx5IFVWTUZfTVVMVEkgd2l0aCBh
IE5VTEwgYml0bWFwIHBvaW50ZXIuICAgICAgICAgKi8KKy8qIGAgZW51bSB1dm1fZmxhZ3MgeyAq
LworI2RlZmluZSBVVk1GX05PTkUgICAgICAgICAgICh4ZW5fbWtfdWxvbmcoMCk8PDApIC8qIE5v
IGZsdXNoaW5nIGF0IGFsbC4gICAqLworI2RlZmluZSBVVk1GX1RMQl9GTFVTSCAgICAgICh4ZW5f
bWtfdWxvbmcoMSk8PDApIC8qIEZsdXNoIGVudGlyZSBUTEIocykuICAqLworI2RlZmluZSBVVk1G
X0lOVkxQRyAgICAgICAgICh4ZW5fbWtfdWxvbmcoMik8PDApIC8qIEZsdXNoIG9ubHkgb25lIGVu
dHJ5LiAqLworI2RlZmluZSBVVk1GX0ZMVVNIVFlQRV9NQVNLICh4ZW5fbWtfdWxvbmcoMyk8PDAp
CisjZGVmaW5lIFVWTUZfTVVMVEkgICAgICAgICAgKHhlbl9ta191bG9uZygwKTw8MikgLyogRmx1
c2ggc3Vic2V0IG9mIFRMQnMuICovCisjZGVmaW5lIFVWTUZfTE9DQUwgICAgICAgICAgKHhlbl9t
a191bG9uZygwKTw8MikgLyogRmx1c2ggbG9jYWwgVExCLiAgICAgICovCisjZGVmaW5lIFVWTUZf
QUxMICAgICAgICAgICAgKHhlbl9ta191bG9uZygxKTw8MikgLyogRmx1c2ggYWxsIFRMQnMuICAg
ICAgICovCisvKiBgIH0gKi8KKworLyoKKyAqIENvbW1hbmRzIHRvIEhZUEVSVklTT1JfY29uc29s
ZV9pbygpLgorICovCisjZGVmaW5lIENPTlNPTEVJT193cml0ZSAgICAgICAgIDAKKyNkZWZpbmUg
Q09OU09MRUlPX3JlYWQgICAgICAgICAgMQorCisvKgorICogQ29tbWFuZHMgdG8gSFlQRVJWSVNP
Ul92bV9hc3Npc3QoKS4KKyAqLworI2RlZmluZSBWTUFTU1RfQ01EX2VuYWJsZSAgICAgICAgICAg
ICAgICAwCisjZGVmaW5lIFZNQVNTVF9DTURfZGlzYWJsZSAgICAgICAgICAgICAgIDEKKworLyog
eDg2LzMyIGd1ZXN0czogc2ltdWxhdGUgZnVsbCA0R0Igc2VnbWVudCBsaW1pdHMuICovCisjZGVm
aW5lIFZNQVNTVF9UWVBFXzRnYl9zZWdtZW50cyAgICAgICAgIDAKKworLyogeDg2LzMyIGd1ZXN0
czogdHJhcCAodmVjdG9yIDE1KSB3aGVuZXZlciBhYm92ZSB2bWFzc2lzdCBpcyB1c2VkLiAqLwor
I2RlZmluZSBWTUFTU1RfVFlQRV80Z2Jfc2VnbWVudHNfbm90aWZ5ICAxCisKKy8qCisgKiB4ODYg
Z3Vlc3RzOiBzdXBwb3J0IHdyaXRlcyB0byBib3R0b20tbGV2ZWwgUFRFcy4KKyAqIE5CMS4gUGFn
ZS1kaXJlY3RvcnkgZW50cmllcyBjYW5ub3QgYmUgd3JpdHRlbi4KKyAqIE5CMi4gR3Vlc3QgbXVz
dCBjb250aW51ZSB0byByZW1vdmUgYWxsIHdyaXRhYmxlIG1hcHBpbmdzIG9mIFBURXMuCisgKi8K
KyNkZWZpbmUgVk1BU1NUX1RZUEVfd3JpdGFibGVfcGFnZXRhYmxlcyAgMgorCisvKiB4ODYvUEFF
IGd1ZXN0czogc3VwcG9ydCBQRFBUcyBhYm92ZSA0R0IuICovCisjZGVmaW5lIFZNQVNTVF9UWVBF
X3BhZV9leHRlbmRlZF9jcjMgICAgIDMKKworLyoKKyAqIHg4NiBndWVzdHM6IFNhbmUgYmVoYXZp
b3VyIGZvciB2aXJ0dWFsIGlvcGwKKyAqICAtIHZpcnR1YWwgaW9wbCB1cGRhdGVkIGZyb20gZG9f
aXJldCgpIGh5cGVyY2FsbHMuCisgKiAgLSB2aXJ0dWFsIGlvcGwgcmVwb3J0ZWQgaW4gYm91bmNl
IGZyYW1lcy4KKyAqICAtIGd1ZXN0IGtlcm5lbHMgYXNzdW1lZCB0byBiZSBsZXZlbCAwIGZvciB0
aGUgcHVycG9zZSBvZiBpb3BsIGNoZWNrcy4KKyAqLworI2RlZmluZSBWTUFTU1RfVFlQRV9hcmNo
aXRlY3R1cmFsX2lvcGwgICA0CisKKy8qCisgKiB4ODYvNjQgZ3Vlc3RzOiBzdHJpY3RseSBoaWRl
IE0yUCBmcm9tIHVzZXIgbW9kZS4KKyAqIFRoaXMgYWxsb3dzIHRoZSBndWVzdCB0byBjb250cm9s
IHJlc3BlY3RpdmUgaHlwZXJ2aXNvciBiZWhhdmlvcjoKKyAqIC0gd2hlbiBub3Qgc2V0LCBMNCB0
YWJsZXMgZ2V0IGNyZWF0ZWQgd2l0aCB0aGUgcmVzcGVjdGl2ZSBzbG90IGJsYW5rLAorICogICBh
bmQgd2hlbmV2ZXIgdGhlIEw0IHRhYmxlIGdldHMgdXNlZCBhcyBhIGtlcm5lbCBvbmUgdGhlIG1p
c3NpbmcKKyAqICAgbWFwcGluZyBnZXRzIGluc2VydGVkLAorICogLSB3aGVuIHNldCwgTDQgdGFi
bGVzIGdldCBjcmVhdGVkIHdpdGggdGhlIHJlc3BlY3RpdmUgc2xvdCBpbml0aWFsaXplZAorICog
ICBhcyBiZWZvcmUsIGFuZCB3aGVuZXZlciB0aGUgTDQgdGFibGUgZ2V0cyB1c2VkIGFzIGEgdXNl
ciBvbmUgdGhlCisgKiAgIG1hcHBpbmcgZ2V0cyB6YXBwZWQuCisgKi8KKyNkZWZpbmUgVk1BU1NU
X1RZUEVfbTJwX3N0cmljdCAgICAgICAgICAgMzIKKworI2lmIF9fWEVOX0lOVEVSRkFDRV9WRVJT
SU9OX18gPCAweDAwMDQwNjAwCisjZGVmaW5lIE1BWF9WTUFTU1RfVFlQRSAgICAgICAgICAgICAg
ICAgIDMKKyNlbmRpZgorCisvKiBEb21haW4gaWRzID49IERPTUlEX0ZJUlNUX1JFU0VSVkVEIGNh
bm5vdCBiZSB1c2VkIGZvciBvcmRpbmFyeSBkb21haW5zLiAqLworI2RlZmluZSBET01JRF9GSVJT
VF9SRVNFUlZFRCB4ZW5fbWtfdWludCgweDdGRjApCisKKy8qIERPTUlEX1NFTEYgaXMgdXNlZCBp
biBjZXJ0YWluIGNvbnRleHRzIHRvIHJlZmVyIHRvIG9uZXNlbGYuICovCisjZGVmaW5lIERPTUlE
X1NFTEYgICAgICAgICAgIHhlbl9ta191aW50KDB4N0ZGMCkKKworLyoKKyAqIERPTUlEX0lPIGlz
IHVzZWQgdG8gcmVzdHJpY3QgcGFnZS10YWJsZSB1cGRhdGVzIHRvIG1hcHBpbmcgSS9PIG1lbW9y
eS4KKyAqIEFsdGhvdWdoIG5vIEZvcmVpZ24gRG9tYWluIG5lZWQgYmUgc3BlY2lmaWVkIHRvIG1h
cCBJL08gcGFnZXMsIERPTUlEX0lPCisgKiBpcyB1c2VmdWwgdG8gZW5zdXJlIHRoYXQgbm8gbWFw
cGluZ3MgdG8gdGhlIE9TJ3Mgb3duIGhlYXAgYXJlIGFjY2lkZW50YWxseQorICogaW5zdGFsbGVk
LiAoZS5nLiwgaW4gTGludXggdGhpcyBjb3VsZCBjYXVzZSBoYXZvYyBhcyByZWZlcmVuY2UgY291
bnRzCisgKiBhcmVuJ3QgYWRqdXN0ZWQgb24gdGhlIEkvTy1tYXBwaW5nIGNvZGUgcGF0aCkuCisg
KiBUaGlzIG9ubHkgbWFrZXMgc2Vuc2UgaW4gTU1VRVhUX1NFVF9GT1JFSUdORE9NLCBidXQgaW4g
dGhhdCBjb250ZXh0IGNhbgorICogYmUgc3BlY2lmaWVkIGJ5IGFueSBjYWxsaW5nIGRvbWFpbi4K
KyAqLworI2RlZmluZSBET01JRF9JTyAgICAgICAgICAgICB4ZW5fbWtfdWludCgweDdGRjEpCisK
Ky8qCisgKiBET01JRF9YRU4gaXMgdXNlZCB0byBhbGxvdyBwcml2aWxlZ2VkIGRvbWFpbnMgdG8g
bWFwIHJlc3RyaWN0ZWQgcGFydHMgb2YKKyAqIFhlbidzIGhlYXAgc3BhY2UgKGUuZy4sIHRoZSBt
YWNoaW5lX3RvX3BoeXMgdGFibGUpLgorICogVGhpcyBvbmx5IG1ha2VzIHNlbnNlIGluIE1NVUVY
VF9TRVRfRk9SRUlHTkRPTSwgYW5kIGlzIG9ubHkgcGVybWl0dGVkIGlmCisgKiB0aGUgY2FsbGVy
IGlzIHByaXZpbGVnZWQuCisgKi8KKyNkZWZpbmUgRE9NSURfWEVOICAgICAgICAgICAgeGVuX21r
X3VpbnQoMHg3RkYyKQorCisvKgorICogRE9NSURfQ09XIGlzIHVzZWQgYXMgdGhlIG93bmVyIG9m
IHNoYXJhYmxlIHBhZ2VzICovCisjZGVmaW5lIERPTUlEX0NPVyAgICAgICAgICAgIHhlbl9ta191
aW50KDB4N0ZGMykKKworLyogRE9NSURfSU5WQUxJRCBpcyB1c2VkIHRvIGlkZW50aWZ5IHBhZ2Vz
IHdpdGggdW5rbm93biBvd25lci4gKi8KKyNkZWZpbmUgRE9NSURfSU5WQUxJRCAgICAgICAgeGVu
X21rX3VpbnQoMHg3RkY0KQorCisvKiBJZGxlIGRvbWFpbi4gKi8KKyNkZWZpbmUgRE9NSURfSURM
RSAgICAgICAgICAgeGVuX21rX3VpbnQoMHg3RkZGKQorCisjaWZuZGVmIF9fQVNTRU1CTFlfXwor
Cit0eXBlZGVmIHVpbnQxNl90IGRvbWlkX3Q7CisKKy8qCisgKiBTZW5kIGFuIGFycmF5IG9mIHRo
ZXNlIHRvIEhZUEVSVklTT1JfbW11X3VwZGF0ZSgpLgorICogTkIuIFRoZSBmaWVsZHMgYXJlIG5h
dHVyYWwgcG9pbnRlci9hZGRyZXNzIHNpemUgZm9yIHRoaXMgYXJjaGl0ZWN0dXJlLgorICovCitz
dHJ1Y3QgbW11X3VwZGF0ZSB7CisgICAgdWludDY0X3QgcHRyOyAgICAgICAvKiBNYWNoaW5lIGFk
ZHJlc3Mgb2YgUFRFLiAqLworICAgIHVpbnQ2NF90IHZhbDsgICAgICAgLyogTmV3IGNvbnRlbnRz
IG9mIFBURS4gICAgKi8KK307Cit0eXBlZGVmIHN0cnVjdCBtbXVfdXBkYXRlIG1tdV91cGRhdGVf
dDsKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKG1tdV91cGRhdGVfdCk7CisKKy8qCisgKiBgIGVu
dW0gbmVnX2Vycm5vdmFsCisgKiBgIEhZUEVSVklTT1JfbXVsdGljYWxsKG11bHRpY2FsbF9lbnRy
eV90IGNhbGxfbGlzdFtdLAorICogYCAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBucl9j
YWxscyk7CisgKgorICogTkIuIFRoZSBmaWVsZHMgYXJlIGxvZ2ljYWxseSB0aGUgbmF0dXJhbCBy
ZWdpc3RlciBzaXplIGZvciB0aGlzCisgKiBhcmNoaXRlY3R1cmUuIEluIGNhc2VzIHdoZXJlIHhl
bl91bG9uZ190IGlzIGxhcmdlciB0aGFuIHRoaXMgdGhlbgorICogYW55IHVudXNlZCBiaXRzIGlu
IHRoZSB1cHBlciBwb3J0aW9uIG11c3QgYmUgemVyby4KKyAqLworc3RydWN0IG11bHRpY2FsbF9l
bnRyeSB7CisgICAgeGVuX3Vsb25nX3Qgb3AsIHJlc3VsdDsKKyAgICB4ZW5fdWxvbmdfdCBhcmdz
WzZdOworfTsKK3R5cGVkZWYgc3RydWN0IG11bHRpY2FsbF9lbnRyeSBtdWx0aWNhbGxfZW50cnlf
dDsKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKG11bHRpY2FsbF9lbnRyeV90KTsKKworI2lmIF9f
WEVOX0lOVEVSRkFDRV9WRVJTSU9OX18gPCAweDAwMDQwNDAwCisvKgorICogRXZlbnQgY2hhbm5l
bCBlbmRwb2ludHMgcGVyIGRvbWFpbiAod2hlbiB1c2luZyB0aGUgMi1sZXZlbCBBQkkpOgorICog
IDEwMjQgaWYgYSBMT05HX1BUUiBpcyAzMiBiaXRzOyA0MDk2IGlmIGEgTE9OR19QVFIgaXMgNjQg
Yml0cy4KKyAqLworI2RlZmluZSBOUl9FVkVOVF9DSEFOTkVMUyBFVlRDSE5fMkxfTlJfQ0hBTk5F
TFMKKyNlbmRpZgorCitzdHJ1Y3QgdmNwdV90aW1lX2luZm8geworICAgIC8qCisgICAgICogVXBk
YXRlcyB0byB0aGUgZm9sbG93aW5nIHZhbHVlcyBhcmUgcHJlY2VkZWQgYW5kIGZvbGxvd2VkIGJ5
IGFuCisgICAgICogaW5jcmVtZW50IG9mICd2ZXJzaW9uJy4gVGhlIGd1ZXN0IGNhbiB0aGVyZWZv
cmUgZGV0ZWN0IHVwZGF0ZXMgYnkKKyAgICAgKiBsb29raW5nIGZvciBjaGFuZ2VzIHRvICd2ZXJz
aW9uJy4gSWYgdGhlIGxlYXN0LXNpZ25pZmljYW50IGJpdCBvZgorICAgICAqIHRoZSB2ZXJzaW9u
IG51bWJlciBpcyBzZXQgdGhlbiBhbiB1cGRhdGUgaXMgaW4gcHJvZ3Jlc3MgYW5kIHRoZSBndWVz
dAorICAgICAqIG11c3Qgd2FpdCB0byByZWFkIGEgY29uc2lzdGVudCBzZXQgb2YgdmFsdWVzLgor
ICAgICAqIFRoZSBjb3JyZWN0IHdheSB0byBpbnRlcmFjdCB3aXRoIHRoZSB2ZXJzaW9uIG51bWJl
ciBpcyBzaW1pbGFyIHRvCisgICAgICogTGludXgncyBzZXFsb2NrOiBzZWUgdGhlIGltcGxlbWVu
dGF0aW9ucyBvZiByZWFkX3NlcWJlZ2luL3JlYWRfc2VxcmV0cnkuCisgICAgICovCisgICAgdWlu
dDMyX3QgdmVyc2lvbjsKKyAgICB1aW50MzJfdCBwYWQwOworICAgIHVpbnQ2NF90IHRzY190aW1l
c3RhbXA7ICAgLyogVFNDIGF0IGxhc3QgdXBkYXRlIG9mIHRpbWUgdmFscy4gICovCisgICAgdWlu
dDY0X3Qgc3lzdGVtX3RpbWU7ICAgICAvKiBUaW1lLCBpbiBuYW5vc2Vjcywgc2luY2UgYm9vdC4g
ICAgKi8KKyAgICAvKgorICAgICAqIEN1cnJlbnQgc3lzdGVtIHRpbWU6CisgICAgICogICBzeXN0
ZW1fdGltZSArCisgICAgICogICAoKCgodHNjIC0gdHNjX3RpbWVzdGFtcCkgPDwgdHNjX3NoaWZ0
KSAqIHRzY190b19zeXN0ZW1fbXVsKSA+PiAzMikKKyAgICAgKiBDUFUgZnJlcXVlbmN5IChIeik6
CisgICAgICogICAoKDEwXjkgPDwgMzIpIC8gdHNjX3RvX3N5c3RlbV9tdWwpID4+IHRzY19zaGlm
dAorICAgICAqLworICAgIHVpbnQzMl90IHRzY190b19zeXN0ZW1fbXVsOworICAgIGludDhfdCAg
IHRzY19zaGlmdDsKKyNpZiBfX1hFTl9JTlRFUkZBQ0VfVkVSU0lPTl9fID4gMHgwNDA2MDAKKyAg
ICB1aW50OF90ICBmbGFnczsKKyAgICB1aW50OF90ICBwYWQxWzJdOworI2Vsc2UKKyAgICBpbnQ4
X3QgICBwYWQxWzNdOworI2VuZGlmCit9OyAvKiAzMiBieXRlcyAqLwordHlwZWRlZiBzdHJ1Y3Qg
dmNwdV90aW1lX2luZm8gdmNwdV90aW1lX2luZm9fdDsKKworI2RlZmluZSBYRU5fUFZDTE9DS19U
U0NfU1RBQkxFX0JJVCAgICAgKDEgPDwgMCkKKyNkZWZpbmUgWEVOX1BWQ0xPQ0tfR1VFU1RfU1RP
UFBFRCAgICAgICgxIDw8IDEpCisKK3N0cnVjdCB2Y3B1X2luZm8geworICAgIC8qCisgICAgICog
J2V2dGNobl91cGNhbGxfcGVuZGluZycgaXMgd3JpdHRlbiBub24temVybyBieSBYZW4gdG8gaW5k
aWNhdGUKKyAgICAgKiBhIHBlbmRpbmcgbm90aWZpY2F0aW9uIGZvciBhIHBhcnRpY3VsYXIgVkNQ
VS4gSXQgaXMgdGhlbiBjbGVhcmVkCisgICAgICogYnkgdGhlIGd1ZXN0IE9TIC9iZWZvcmUvIGNo
ZWNraW5nIGZvciBwZW5kaW5nIHdvcmssIHRodXMgYXZvaWRpbmcKKyAgICAgKiBhIHNldC1hbmQt
Y2hlY2sgcmFjZS4gTm90ZSB0aGF0IHRoZSBtYXNrIGlzIG9ubHkgYWNjZXNzZWQgYnkgWGVuCisg
ICAgICogb24gdGhlIENQVSB0aGF0IGlzIGN1cnJlbnRseSBob3N0aW5nIHRoZSBWQ1BVLiBUaGlz
IG1lYW5zIHRoYXQgdGhlCisgICAgICogcGVuZGluZyBhbmQgbWFzayBmbGFncyBjYW4gYmUgdXBk
YXRlZCBieSB0aGUgZ3Vlc3Qgd2l0aG91dCBzcGVjaWFsCisgICAgICogc3luY2hyb25pc2F0aW9u
IChpLmUuLCBubyBuZWVkIGZvciB0aGUgeDg2IExPQ0sgcHJlZml4KS4KKyAgICAgKiBUaGlzIG1h
eSBzZWVtIHN1Ym9wdGltYWwgYmVjYXVzZSBpZiB0aGUgcGVuZGluZyBmbGFnIGlzIHNldCBieQor
ICAgICAqIGEgZGlmZmVyZW50IENQVSB0aGVuIGFuIElQSSBtYXkgYmUgc2NoZWR1bGVkIGV2ZW4g
d2hlbiB0aGUgbWFzaworICAgICAqIGlzIHNldC4gSG93ZXZlciwgbm90ZToKKyAgICAgKiAgMS4g
VGhlIHRhc2sgb2YgJ2ludGVycnVwdCBob2xkb2ZmJyBpcyBjb3ZlcmVkIGJ5IHRoZSBwZXItZXZl
bnQtCisgICAgICogICAgIGNoYW5uZWwgbWFzayBiaXRzLiBBICdub2lzeScgZXZlbnQgdGhhdCBp
cyBjb250aW51YWxseSBiZWluZworICAgICAqICAgICB0cmlnZ2VyZWQgY2FuIGJlIG1hc2tlZCBh
dCBzb3VyY2UgYXQgdGhpcyB2ZXJ5IHByZWNpc2UKKyAgICAgKiAgICAgZ3JhbnVsYXJpdHkuCisg
ICAgICogIDIuIFRoZSBtYWluIHB1cnBvc2Ugb2YgdGhlIHBlci1WQ1BVIG1hc2sgaXMgdGhlcmVm
b3JlIHRvIHJlc3RyaWN0CisgICAgICogICAgIHJlZW50cmFudCBleGVjdXRpb246IHdoZXRoZXIg
Zm9yIGNvbmN1cnJlbmN5IGNvbnRyb2wsIG9yIHRvCisgICAgICogICAgIHByZXZlbnQgdW5ib3Vu
ZGVkIHN0YWNrIHVzYWdlLiBXaGF0ZXZlciB0aGUgcHVycG9zZSwgd2UgZXhwZWN0CisgICAgICog
ICAgIHRoYXQgdGhlIG1hc2sgd2lsbCBiZSBhc3NlcnRlZCBvbmx5IGZvciBzaG9ydCBwZXJpb2Rz
IGF0IGEgdGltZSwKKyAgICAgKiAgICAgYW5kIHNvIHRoZSBsaWtlbGlob29kIG9mIGEgJ3NwdXJp
b3VzJyBJUEkgaXMgc3VpdGFibHkgc21hbGwuCisgICAgICogVGhlIG1hc2sgaXMgcmVhZCBiZWZv
cmUgbWFraW5nIGFuIGV2ZW50IHVwY2FsbCB0byB0aGUgZ3Vlc3Q6IGEKKyAgICAgKiBub24temVy
byBtYXNrIHRoZXJlZm9yZSBndWFyYW50ZWVzIHRoYXQgdGhlIFZDUFUgd2lsbCBub3QgcmVjZWl2
ZQorICAgICAqIGFuIHVwY2FsbCBhY3RpdmF0aW9uLiBUaGUgbWFzayBpcyBjbGVhcmVkIHdoZW4g
dGhlIFZDUFUgcmVxdWVzdHMKKyAgICAgKiB0byBibG9jazogdGhpcyBhdm9pZHMgd2FrZXVwLXdh
aXRpbmcgcmFjZXMuCisgICAgICovCisgICAgdWludDhfdCBldnRjaG5fdXBjYWxsX3BlbmRpbmc7
CisjaWZkZWYgWEVOX0hBVkVfUFZfVVBDQUxMX01BU0sKKyAgICB1aW50OF90IGV2dGNobl91cGNh
bGxfbWFzazsKKyNlbHNlIC8qIFhFTl9IQVZFX1BWX1VQQ0FMTF9NQVNLICovCisgICAgdWludDhf
dCBwYWQwOworI2VuZGlmIC8qIFhFTl9IQVZFX1BWX1VQQ0FMTF9NQVNLICovCisgICAgeGVuX3Vs
b25nX3QgZXZ0Y2huX3BlbmRpbmdfc2VsOworICAgIHN0cnVjdCBhcmNoX3ZjcHVfaW5mbyBhcmNo
OworICAgIHN0cnVjdCB2Y3B1X3RpbWVfaW5mbyB0aW1lOworfTsgLyogNjQgYnl0ZXMgKHg4Nikg
Ki8KKyNpZm5kZWYgX19YRU5fXwordHlwZWRlZiBzdHJ1Y3QgdmNwdV9pbmZvIHZjcHVfaW5mb190
OworI2VuZGlmCisKKy8qCisgKiBgaW5jb250ZW50cyAyMDAgc3RhcnRvZmRheV9zaGFyZWQgU3Rh
cnQtb2YtZGF5IHNoYXJlZCBkYXRhIHN0cnVjdHVyZQorICogWGVuL2tlcm5lbCBzaGFyZWQgZGF0
YSAtLSBwb2ludGVyIHByb3ZpZGVkIGluIHN0YXJ0X2luZm8uCisgKgorICogVGhpcyBzdHJ1Y3R1
cmUgaXMgZGVmaW5lZCB0byBiZSBib3RoIHNtYWxsZXIgdGhhbiBhIHBhZ2UsIGFuZCB0aGUKKyAq
IG9ubHkgZGF0YSBvbiB0aGUgc2hhcmVkIHBhZ2UsIGJ1dCBtYXkgdmFyeSBpbiBhY3R1YWwgc2l6
ZSBldmVuIHdpdGhpbgorICogY29tcGF0aWJsZSBYZW4gdmVyc2lvbnM7IGd1ZXN0cyBzaG91bGQg
bm90IHJlbHkgb24gdGhlIHNpemUKKyAqIG9mIHRoaXMgc3RydWN0dXJlIHJlbWFpbmluZyBjb25z
dGFudC4KKyAqLworc3RydWN0IHNoYXJlZF9pbmZvIHsKKyAgICBzdHJ1Y3QgdmNwdV9pbmZvIHZj
cHVfaW5mb1tYRU5fTEVHQUNZX01BWF9WQ1BVU107CisKKyAgICAvKgorICAgICAqIEEgZG9tYWlu
IGNhbiBjcmVhdGUgImV2ZW50IGNoYW5uZWxzIiBvbiB3aGljaCBpdCBjYW4gc2VuZCBhbmQgcmVj
ZWl2ZQorICAgICAqIGFzeW5jaHJvbm91cyBldmVudCBub3RpZmljYXRpb25zLiBUaGVyZSBhcmUg
dGhyZWUgY2xhc3NlcyBvZiBldmVudCB0aGF0CisgICAgICogYXJlIGRlbGl2ZXJlZCBieSB0aGlz
IG1lY2hhbmlzbToKKyAgICAgKiAgMS4gQmktZGlyZWN0aW9uYWwgaW50ZXItIGFuZCBpbnRyYS1k
b21haW4gY29ubmVjdGlvbnMuIERvbWFpbnMgbXVzdAorICAgICAqICAgICBhcnJhbmdlIG91dC1v
Zi1iYW5kIHRvIHNldCB1cCBhIGNvbm5lY3Rpb24gKHVzdWFsbHkgYnkgYWxsb2NhdGluZworICAg
ICAqICAgICBhbiB1bmJvdW5kICdsaXN0ZW5lcicgcG9ydCBhbmQgYXZlcnRpc2luZyB0aGF0IHZp
YSBhIHN0b3JhZ2Ugc2VydmljZQorICAgICAqICAgICBzdWNoIGFzIHhlbnN0b3JlKS4KKyAgICAg
KiAgMi4gUGh5c2ljYWwgaW50ZXJydXB0cy4gQSBkb21haW4gd2l0aCBzdWl0YWJsZSBoYXJkd2Fy
ZS1hY2Nlc3MKKyAgICAgKiAgICAgcHJpdmlsZWdlcyBjYW4gYmluZCBhbiBldmVudC1jaGFubmVs
IHBvcnQgdG8gYSBwaHlzaWNhbCBpbnRlcnJ1cHQKKyAgICAgKiAgICAgc291cmNlLgorICAgICAq
ICAzLiBWaXJ0dWFsIGludGVycnVwdHMgKCdldmVudHMnKS4gQSBkb21haW4gY2FuIGJpbmQgYW4g
ZXZlbnQtY2hhbm5lbAorICAgICAqICAgICBwb3J0IHRvIGEgdmlydHVhbCBpbnRlcnJ1cHQgc291
cmNlLCBzdWNoIGFzIHRoZSB2aXJ0dWFsLXRpbWVyCisgICAgICogICAgIGRldmljZSBvciB0aGUg
ZW1lcmdlbmN5IGNvbnNvbGUuCisgICAgICoKKyAgICAgKiBFdmVudCBjaGFubmVscyBhcmUgYWRk
cmVzc2VkIGJ5IGEgInBvcnQgaW5kZXgiLiBFYWNoIGNoYW5uZWwgaXMKKyAgICAgKiBhc3NvY2lh
dGVkIHdpdGggdHdvIGJpdHMgb2YgaW5mb3JtYXRpb246CisgICAgICogIDEuIFBFTkRJTkcgLS0g
bm90aWZpZXMgdGhlIGRvbWFpbiB0aGF0IHRoZXJlIGlzIGEgcGVuZGluZyBub3RpZmljYXRpb24K
KyAgICAgKiAgICAgdG8gYmUgcHJvY2Vzc2VkLiBUaGlzIGJpdCBpcyBjbGVhcmVkIGJ5IHRoZSBn
dWVzdC4KKyAgICAgKiAgMi4gTUFTSyAtLSBpZiB0aGlzIGJpdCBpcyBjbGVhciB0aGVuIGEgMC0+
MSB0cmFuc2l0aW9uIG9mIFBFTkRJTkcKKyAgICAgKiAgICAgd2lsbCBjYXVzZSBhbiBhc3luY2hy
b25vdXMgdXBjYWxsIHRvIGJlIHNjaGVkdWxlZC4gVGhpcyBiaXQgaXMgb25seQorICAgICAqICAg
ICB1cGRhdGVkIGJ5IHRoZSBndWVzdC4gSXQgaXMgcmVhZC1vbmx5IHdpdGhpbiBYZW4uIElmIGEg
Y2hhbm5lbAorICAgICAqICAgICBiZWNvbWVzIHBlbmRpbmcgd2hpbGUgdGhlIGNoYW5uZWwgaXMg
bWFza2VkIHRoZW4gdGhlICdlZGdlJyBpcyBsb3N0CisgICAgICogICAgIChpLmUuLCB3aGVuIHRo
ZSBjaGFubmVsIGlzIHVubWFza2VkLCB0aGUgZ3Vlc3QgbXVzdCBtYW51YWxseSBoYW5kbGUKKyAg
ICAgKiAgICAgcGVuZGluZyBub3RpZmljYXRpb25zIGFzIG5vIHVwY2FsbCB3aWxsIGJlIHNjaGVk
dWxlZCBieSBYZW4pLgorICAgICAqCisgICAgICogVG8gZXhwZWRpdGUgc2Nhbm5pbmcgb2YgcGVu
ZGluZyBub3RpZmljYXRpb25zLCBhbnkgMC0+MSBwZW5kaW5nCisgICAgICogdHJhbnNpdGlvbiBv
biBhbiB1bm1hc2tlZCBjaGFubmVsIGNhdXNlcyBhIGNvcnJlc3BvbmRpbmcgYml0IGluIGEKKyAg
ICAgKiBwZXItdmNwdSBzZWxlY3RvciB3b3JkIHRvIGJlIHNldC4gRWFjaCBiaXQgaW4gdGhlIHNl
bGVjdG9yIGNvdmVycyBhCisgICAgICogJ0MgTE9OR19QVFInIGluIHRoZSBQRU5ESU5HIGJpdGZp
ZWxkIGFycmF5LgorICAgICAqLworICAgIHhlbl91bG9uZ190IGV2dGNobl9wZW5kaW5nW3NpemVv
Zih4ZW5fdWxvbmdfdCkgKiA4XTsKKyAgICB4ZW5fdWxvbmdfdCBldnRjaG5fbWFza1tzaXplb2Yo
eGVuX3Vsb25nX3QpICogOF07CisKKyAgICAvKgorICAgICAqIFdhbGxjbG9jayB0aW1lOiB1cGRh
dGVkIG9ubHkgYnkgY29udHJvbCBzb2Z0d2FyZS4gR3Vlc3RzIHNob3VsZCBiYXNlCisgICAgICog
dGhlaXIgZ2V0dGltZW9mZGF5KCkgc3lzY2FsbCBvbiB0aGlzIHdhbGxjbG9jay1iYXNlIHZhbHVl
LgorICAgICAqLworICAgIHVpbnQzMl90IHdjX3ZlcnNpb247ICAgICAgLyogVmVyc2lvbiBjb3Vu
dGVyOiBzZWUgdmNwdV90aW1lX2luZm9fdC4gKi8KKyAgICB1aW50MzJfdCB3Y19zZWM7ICAgICAg
ICAgIC8qIFNlY3MgIDAwOjAwOjAwIFVUQywgSmFuIDEsIDE5NzAuICAqLworICAgIHVpbnQzMl90
IHdjX25zZWM7ICAgICAgICAgLyogTnNlY3MgMDA6MDA6MDAgVVRDLCBKYW4gMSwgMTk3MC4gICov
CisjaWYgIWRlZmluZWQoX19pMzg2X18pCisgICAgdWludDMyX3Qgd2Nfc2VjX2hpOworIyBkZWZp
bmUgeGVuX3djX3NlY19oaSB3Y19zZWNfaGkKKyNlbGlmICFkZWZpbmVkKF9fWEVOX18pICYmICFk
ZWZpbmVkKF9fWEVOX1RPT0xTX18pCisjIGRlZmluZSB4ZW5fd2Nfc2VjX2hpIGFyY2gud2Nfc2Vj
X2hpCisjZW5kaWYKKworICAgIHN0cnVjdCBhcmNoX3NoYXJlZF9pbmZvIGFyY2g7CisKK307Cisj
aWZuZGVmIF9fWEVOX18KK3R5cGVkZWYgc3RydWN0IHNoYXJlZF9pbmZvIHNoYXJlZF9pbmZvX3Q7
CisjZW5kaWYKKworLyoKKyAqIGBpbmNvbnRlbnRzIDIwMCBzdGFydG9mZGF5IFN0YXJ0LW9mLWRh
eSBtZW1vcnkgbGF5b3V0CisgKgorICogIDEuIFRoZSBkb21haW4gaXMgc3RhcnRlZCB3aXRoaW4g
Y29udGlndW91cyB2aXJ0dWFsLW1lbW9yeSByZWdpb24uCisgKiAgMi4gVGhlIGNvbnRpZ3VvdXMg
cmVnaW9uIGVuZHMgb24gYW4gYWxpZ25lZCA0TUIgYm91bmRhcnkuCisgKiAgMy4gVGhpcyB0aGUg
b3JkZXIgb2YgYm9vdHN0cmFwIGVsZW1lbnRzIGluIHRoZSBpbml0aWFsIHZpcnR1YWwgcmVnaW9u
OgorICogICAgICBhLiByZWxvY2F0ZWQga2VybmVsIGltYWdlCisgKiAgICAgIGIuIGluaXRpYWwg
cmFtIGRpc2sgICAgICAgICAgICAgIFttb2Rfc3RhcnQsIG1vZF9sZW5dCisgKiAgICAgICAgICht
YXkgYmUgb21pdHRlZCkKKyAqICAgICAgYy4gbGlzdCBvZiBhbGxvY2F0ZWQgcGFnZSBmcmFtZXMg
W21mbl9saXN0LCBucl9wYWdlc10KKyAqICAgICAgICAgKHVubGVzcyByZWxvY2F0ZWQgZHVlIHRv
IFhFTl9FTEZOT1RFX0lOSVRfUDJNKQorICogICAgICBkLiBzdGFydF9pbmZvX3Qgc3RydWN0dXJl
ICAgICAgICBbcmVnaXN0ZXIgRVNJICh4ODYpXQorICogICAgICAgICBpbiBjYXNlIG9mIGRvbTAg
dGhpcyBwYWdlIGNvbnRhaW5zIHRoZSBjb25zb2xlIGluZm8sIHRvbworICogICAgICBlLiB1bmxl
c3MgZG9tMDogeGVuc3RvcmUgcmluZyBwYWdlCisgKiAgICAgIGYuIHVubGVzcyBkb20wOiBjb25z
b2xlIHJpbmcgcGFnZQorICogICAgICBnLiBib290c3RyYXAgcGFnZSB0YWJsZXMgICAgICAgICBb
cHRfYmFzZSBhbmQgQ1IzICh4ODYpXQorICogICAgICBoLiBib290c3RyYXAgc3RhY2sgICAgICAg
ICAgICAgICBbcmVnaXN0ZXIgRVNQICh4ODYpXQorICogIDQuIEJvb3RzdHJhcCBlbGVtZW50cyBh
cmUgcGFja2VkIHRvZ2V0aGVyLCBidXQgZWFjaCBpcyA0a0ItYWxpZ25lZC4KKyAqICA1LiBUaGUg
bGlzdCBvZiBwYWdlIGZyYW1lcyBmb3JtcyBhIGNvbnRpZ3VvdXMgJ3BzZXVkby1waHlzaWNhbCcg
bWVtb3J5CisgKiAgICAgbGF5b3V0IGZvciB0aGUgZG9tYWluLiBJbiBwYXJ0aWN1bGFyLCB0aGUg
Ym9vdHN0cmFwIHZpcnR1YWwtbWVtb3J5CisgKiAgICAgcmVnaW9uIGlzIGEgMToxIG1hcHBpbmcg
dG8gdGhlIGZpcnN0IHNlY3Rpb24gb2YgdGhlIHBzZXVkby1waHlzaWNhbCBtYXAuCisgKiAgNi4g
QWxsIGJvb3RzdHJhcCBlbGVtZW50cyBhcmUgbWFwcGVkIHJlYWQtd3JpdGFibGUgZm9yIHRoZSBn
dWVzdCBPUy4gVGhlCisgKiAgICAgb25seSBleGNlcHRpb24gaXMgdGhlIGJvb3RzdHJhcCBwYWdl
IHRhYmxlLCB3aGljaCBpcyBtYXBwZWQgcmVhZC1vbmx5LgorICogIDcuIFRoZXJlIGlzIGd1YXJh
bnRlZWQgdG8gYmUgYXQgbGVhc3QgNTEya0IgcGFkZGluZyBhZnRlciB0aGUgZmluYWwKKyAqICAg
ICBib290c3RyYXAgZWxlbWVudC4gSWYgbmVjZXNzYXJ5LCB0aGUgYm9vdHN0cmFwIHZpcnR1YWwg
cmVnaW9uIGlzCisgKiAgICAgZXh0ZW5kZWQgYnkgYW4gZXh0cmEgNE1CIHRvIGVuc3VyZSB0aGlz
LgorICoKKyAqIE5vdGU6IFByaW9yIHRvIDI1ODMzOmJiODViYmNjYjFjOS4gKCJ4ODYvMzItb24t
NjQgYWRqdXN0IERvbTAgaW5pdGlhbCBwYWdlCisgKiB0YWJsZSBsYXlvdXQiKSBhIGJ1ZyBjYXVz
ZWQgdGhlIHB0X2Jhc2UgKDMuZyBhYm92ZSkgYW5kIGNyMyB0byBub3QgcG9pbnQKKyAqIHRvIHRo
ZSBzdGFydCBvZiB0aGUgZ3Vlc3QgcGFnZSB0YWJsZXMgKGl0IHdhcyBvZmZzZXQgYnkgdHdvIHBh
Z2VzKS4KKyAqIFRoaXMgb25seSBtYW5pZmVzdGVkIGl0c2VsZiBvbiAzMi1vbi02NCBkb20wIGtl
cm5lbHMgYW5kIG5vdCAzMi1vbi02NCBkb21VCisgKiBvciA2NC1iaXQga2VybmVscyBvZiBhbnkg
Y29sb3VyLiBUaGUgcGFnZSB0YWJsZXMgZm9yIGEgMzItb24tNjQgZG9tMCBnb3QKKyAqIGFsbG9j
YXRlZCBpbiB0aGUgb3JkZXI6ICdmaXJzdCBMMScsJ2ZpcnN0IEwyJywgJ2ZpcnN0IEwzJywgc28g
dGhlIG9mZnNldAorICogdG8gdGhlIHBhZ2UgdGFibGUgYmFzZSBpcyBieSB0d28gcGFnZXMgYmFj
ay4gVGhlIGluaXRpYWwgZG9tYWluIGlmIGl0IGlzCisgKiAzMi1iaXQgYW5kIHJ1bnMgdW5kZXIg
YSA2NC1iaXQgaHlwZXJ2aXNvciBzaG91bGQgX05PVF8gdXNlIHR3byBvZiB0aGUKKyAqIHBhZ2Vz
IHByZWNlZGluZyBwdF9iYXNlIGFuZCBtYXJrIHRoZW0gYXMgcmVzZXJ2ZWQvdW51c2VkLgorICov
CisjaWZkZWYgWEVOX0hBVkVfUFZfR1VFU1RfRU5UUlkKK3N0cnVjdCBzdGFydF9pbmZvIHsKKyAg
ICAvKiBUSEUgRk9MTE9XSU5HIEFSRSBGSUxMRUQgSU4gQk9USCBPTiBJTklUSUFMIEJPT1QgQU5E
IE9OIFJFU1VNRS4gICAgKi8KKyAgICBjaGFyIG1hZ2ljWzMyXTsgICAgICAgICAgICAgLyogInhl
bi08dmVyc2lvbj4tPHBsYXRmb3JtPiIuICAgICAgICAgICAgKi8KKyAgICBVTE9OR19QVFIgbnJf
cGFnZXM7ICAgICAvKiBUb3RhbCBwYWdlcyBhbGxvY2F0ZWQgdG8gdGhpcyBkb21haW4uICAqLwor
ICAgIFVMT05HX1BUUiBzaGFyZWRfaW5mbzsgIC8qIE1BQ0hJTkUgYWRkcmVzcyBvZiBzaGFyZWQg
aW5mbyBzdHJ1Y3QuICovCisgICAgdWludDMyX3QgZmxhZ3M7ICAgICAgICAgICAgIC8qIFNJRl94
eHggZmxhZ3MuICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgeGVuX3Bmbl90IHN0b3Jl
X21mbjsgICAgICAgIC8qIE1BQ0hJTkUgcGFnZSBudW1iZXIgb2Ygc2hhcmVkIHBhZ2UuICAgICov
CisgICAgdWludDMyX3Qgc3RvcmVfZXZ0Y2huOyAgICAgIC8qIEV2ZW50IGNoYW5uZWwgZm9yIHN0
b3JlIGNvbW11bmljYXRpb24uICovCisgICAgdW5pb24geworICAgICAgICBzdHJ1Y3QgeworICAg
ICAgICAgICAgeGVuX3Bmbl90IG1mbjsgICAgICAvKiBNQUNISU5FIHBhZ2UgbnVtYmVyIG9mIGNv
bnNvbGUgcGFnZS4gICAqLworICAgICAgICAgICAgdWludDMyX3QgIGV2dGNobjsgICAvKiBFdmVu
dCBjaGFubmVsIGZvciBjb25zb2xlIHBhZ2UuICAgICAgICAqLworICAgICAgICB9IGRvbVU7Cisg
ICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICB1aW50MzJfdCBpbmZvX29mZjsgIC8qIE9mZnNl
dCBvZiBjb25zb2xlX2luZm8gc3RydWN0LiAgICAgICAgICovCisgICAgICAgICAgICB1aW50MzJf
dCBpbmZvX3NpemU7IC8qIFNpemUgb2YgY29uc29sZV9pbmZvIHN0cnVjdCBmcm9tIHN0YXJ0Liov
CisgICAgICAgIH0gZG9tMDsKKyAgICB9IGNvbnNvbGU7CisgICAgLyogVEhFIEZPTExPV0lORyBB
UkUgT05MWSBGSUxMRUQgSU4gT04gSU5JVElBTCBCT09UIChOT1QgUkVTVU1FKS4gICAgICovCisg
ICAgVUxPTkdfUFRSIHB0X2Jhc2U7ICAgICAgLyogVklSVFVBTCBhZGRyZXNzIG9mIHBhZ2UgZGly
ZWN0b3J5LiAgICAgKi8KKyAgICBVTE9OR19QVFIgbnJfcHRfZnJhbWVzOyAvKiBOdW1iZXIgb2Yg
Ym9vdHN0cmFwIHAudC4gZnJhbWVzLiAgICAgICAqLworICAgIFVMT05HX1BUUiBtZm5fbGlzdDsg
ICAgIC8qIFZJUlRVQUwgYWRkcmVzcyBvZiBwYWdlLWZyYW1lIGxpc3QuICAgICovCisgICAgVUxP
TkdfUFRSIG1vZF9zdGFydDsgICAgLyogVklSVFVBTCBhZGRyZXNzIG9mIHByZS1sb2FkZWQgbW9k
dWxlICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogKFBGTiBvZiBwcmUt
bG9hZGVkIG1vZHVsZSBpZiAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLyogIFNJRl9NT0RfU1RBUlRfUEZOIHNldCBpbiBmbGFncykuICAgICAgKi8KKyAgICBV
TE9OR19QVFIgbW9kX2xlbjsgICAgICAvKiBTaXplIChieXRlcykgb2YgcHJlLWxvYWRlZCBtb2R1
bGUuICAgICAqLworI2RlZmluZSBNQVhfR1VFU1RfQ01ETElORSAxMDI0CisgICAgaW50OF90IGNt
ZF9saW5lW01BWF9HVUVTVF9DTURMSU5FXTsKKyAgICAvKiBUaGUgcGZuIHJhbmdlIGhlcmUgY292
ZXJzIGJvdGggcGFnZSB0YWJsZSBhbmQgcC0+bSB0YWJsZSBmcmFtZXMuICAgKi8KKyAgICBVTE9O
R19QVFIgZmlyc3RfcDJtX3BmbjsvKiAxc3QgcGZuIGZvcm1pbmcgaW5pdGlhbCBQLT5NIHRhYmxl
LiAgICAqLworICAgIFVMT05HX1BUUiBucl9wMm1fZnJhbWVzOy8qICMgb2YgcGZucyBmb3JtaW5n
IGluaXRpYWwgUC0+TSB0YWJsZS4gICovCit9OwordHlwZWRlZiBzdHJ1Y3Qgc3RhcnRfaW5mbyBz
dGFydF9pbmZvX3Q7CisKKy8qCisgKiBTdGFydCBvZiBkYXkgc3RydWN0dXJlIHBhc3NlZCB0byBQ
VkggZ3Vlc3RzIGluICVlYnguCisgKgorICogTk9URTogbm90aGluZyB3aWxsIGJlIGxvYWRlZCBh
dCBwaHlzaWNhbCBhZGRyZXNzIDAsIHNvIGEgMCB2YWx1ZSBpbiBhbnkKKyAqIG9mIHRoZSBhZGRy
ZXNzIGZpZWxkcyBzaG91bGQgYmUgdHJlYXRlZCBhcyBub3QgcHJlc2VudC4KKyAqCisgKiAgMCAr
LS0tLS0tLS0tLS0tLS0tLSsKKyAqICAgIHwgbWFnaWMgICAgICAgICAgfCBDb250YWlucyB0aGUg
bWFnaWMgdmFsdWUgWEVOX0hWTV9TVEFSVF9NQUdJQ19WQUxVRQorICogICAgfCAgICAgICAgICAg
ICAgICB8ICgieEVuMyIgd2l0aCB0aGUgMHg4MCBiaXQgb2YgdGhlICJFIiBzZXQpLgorICogIDQg
Ky0tLS0tLS0tLS0tLS0tLS0rCisgKiAgICB8IHZlcnNpb24gICAgICAgIHwgVmVyc2lvbiBvZiB0
aGlzIHN0cnVjdHVyZS4gQ3VycmVudCB2ZXJzaW9uIGlzIDAuIE5ldworICogICAgfCAgICAgICAg
ICAgICAgICB8IHZlcnNpb25zIGFyZSBndWFyYW50ZWVkIHRvIGJlIGJhY2t3YXJkcy1jb21wYXRp
YmxlLgorICogIDggKy0tLS0tLS0tLS0tLS0tLS0rCisgKiAgICB8IGZsYWdzICAgICAgICAgIHwg
U0lGX3h4eCBmbGFncy4KKyAqIDEyICstLS0tLS0tLS0tLS0tLS0tKworICogICAgfCBucl9tb2R1
bGVzICAgICB8IE51bWJlciBvZiBtb2R1bGVzIHBhc3NlZCB0byB0aGUga2VybmVsLgorICogMTYg
Ky0tLS0tLS0tLS0tLS0tLS0rCisgKiAgICB8IG1vZGxpc3RfcGFkZHIgIHwgUGh5c2ljYWwgYWRk
cmVzcyBvZiBhbiBhcnJheSBvZiBtb2R1bGVzCisgKiAgICB8ICAgICAgICAgICAgICAgIHwgKGxh
eW91dCBvZiB0aGUgc3RydWN0dXJlIGJlbG93KS4KKyAqIDI0ICstLS0tLS0tLS0tLS0tLS0tKwor
ICogICAgfCBjbWRsaW5lX3BhZGRyICB8IFBoeXNpY2FsIGFkZHJlc3Mgb2YgdGhlIGNvbW1hbmQg
bGluZSwKKyAqICAgIHwgICAgICAgICAgICAgICAgfCBhIHplcm8tdGVybWluYXRlZCBBU0NJSSBz
dHJpbmcuCisgKiAzMiArLS0tLS0tLS0tLS0tLS0tLSsKKyAqICAgIHwgcnNkcF9wYWRkciAgICAg
fCBQaHlzaWNhbCBhZGRyZXNzIG9mIHRoZSBSU0RQIEFDUEkgZGF0YSBzdHJ1Y3R1cmUuCisgKiA0
MCArLS0tLS0tLS0tLS0tLS0tLSsKKyAqCisgKiBUaGUgbGF5b3V0IG9mIGVhY2ggZW50cnkgaW4g
dGhlIG1vZHVsZSBzdHJ1Y3R1cmUgaXMgdGhlIGZvbGxvd2luZzoKKyAqCisgKiAgMCArLS0tLS0t
LS0tLS0tLS0tLSsKKyAqICAgIHwgcGFkZHIgICAgICAgICAgfCBQaHlzaWNhbCBhZGRyZXNzIG9m
IHRoZSBtb2R1bGUuCisgKiAgOCArLS0tLS0tLS0tLS0tLS0tLSsKKyAqICAgIHwgc2l6ZSAgICAg
ICAgICAgfCBTaXplIG9mIHRoZSBtb2R1bGUgaW4gYnl0ZXMuCisgKiAxNiArLS0tLS0tLS0tLS0t
LS0tLSsKKyAqICAgIHwgY21kbGluZV9wYWRkciAgfCBQaHlzaWNhbCBhZGRyZXNzIG9mIHRoZSBj
b21tYW5kIGxpbmUsCisgKiAgICB8ICAgICAgICAgICAgICAgIHwgYSB6ZXJvLXRlcm1pbmF0ZWQg
QVNDSUkgc3RyaW5nLgorICogMjQgKy0tLS0tLS0tLS0tLS0tLS0rCisgKiAgICB8IHJlc2VydmVk
ICAgICAgIHwKKyAqIDMyICstLS0tLS0tLS0tLS0tLS0tKworICoKKyAqIFRoZSBhZGRyZXNzIGFu
ZCBzaXplcyBhcmUgYWx3YXlzIGEgNjRiaXQgbGl0dGxlIGVuZGlhbiB1bnNpZ25lZCBpbnRlZ2Vy
LgorICoKKyAqIE5COiBYZW4gb24geDg2IHdpbGwgYWx3YXlzIHRyeSB0byBwbGFjZSBhbGwgdGhl
IGRhdGEgYmVsb3cgdGhlIDRHaUIKKyAqIGJvdW5kYXJ5LgorICovCisjZGVmaW5lIFhFTl9IVk1f
U1RBUlRfTUFHSUNfVkFMVUUgMHgzMzZlYzU3OAorCisvKiBOZXcgY29uc29sZSB1bmlvbiBmb3Ig
ZG9tMCBpbnRyb2R1Y2VkIGluIDB4MDAwMzAyMDMuICovCisjaWYgX19YRU5fSU5URVJGQUNFX1ZF
UlNJT05fXyA8IDB4MDAwMzAyMDMKKyNkZWZpbmUgY29uc29sZV9tZm4gICAgY29uc29sZS5kb21V
Lm1mbgorI2RlZmluZSBjb25zb2xlX2V2dGNobiBjb25zb2xlLmRvbVUuZXZ0Y2huCisjZW5kaWYK
KyNlbmRpZiAvKiBYRU5fSEFWRV9QVl9HVUVTVF9FTlRSWSAqLworCisvKiBUaGVzZSBmbGFncyBh
cmUgcGFzc2VkIGluIHRoZSAnZmxhZ3MnIGZpZWxkIG9mIHN0YXJ0X2luZm9fdC4gKi8KKyNkZWZp
bmUgU0lGX1BSSVZJTEVHRUQgICAgKDE8PDApICAvKiBJcyB0aGUgZG9tYWluIHByaXZpbGVnZWQ/
ICovCisjZGVmaW5lIFNJRl9JTklURE9NQUlOICAgICgxPDwxKSAgLyogSXMgdGhpcyB0aGUgaW5p
dGlhbCBjb250cm9sIGRvbWFpbj8gKi8KKyNkZWZpbmUgU0lGX01VTFRJQk9PVF9NT0QgKDE8PDIp
ICAvKiBJcyBtb2Rfc3RhcnQgYSBtdWx0aWJvb3QgbW9kdWxlPyAqLworI2RlZmluZSBTSUZfTU9E
X1NUQVJUX1BGTiAoMTw8MykgIC8qIElzIG1vZF9zdGFydCBhIFBGTj8gKi8KKyNkZWZpbmUgU0lG
X1ZJUlRfUDJNXzRUT09MUyAoMTw8NCkgLyogRG8gWGVuIHRvb2xzIHVuZGVyc3RhbmQgYSB2aXJ0
LiBtYXBwZWQgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUC0+TSBt
YWtpbmcgdGhlIDMgbGV2ZWwgdHJlZSBvYnNvbGV0ZT8gKi8KKyNkZWZpbmUgU0lGX1BNX01BU0sg
ICAgICAgKDB4RkY8PDgpIC8qIHJlc2VydmUgMSBieXRlIGZvciB4ZW4tcG0gb3B0aW9ucyAqLwor
CisvKgorICogQSBtdWx0aWJvb3QgbW9kdWxlIGlzIGEgcGFja2FnZSBjb250YWluaW5nIG1vZHVs
ZXMgdmVyeSBzaW1pbGFyIHRvIGEKKyAqIG11bHRpYm9vdCBtb2R1bGUgYXJyYXkuIFRoZSBvbmx5
IGRpZmZlcmVuY2VzIGFyZToKKyAqIC0gdGhlIGFycmF5IG9mIG1vZHVsZSBkZXNjcmlwdG9ycyBp
cyBieSBjb252ZW50aW9uIHNpbXBseSBhdCB0aGUgYmVnaW5uaW5nCisgKiAgIG9mIHRoZSBtdWx0
aWJvb3QgbW9kdWxlLAorICogLSBhZGRyZXNzZXMgaW4gdGhlIG1vZHVsZSBkZXNjcmlwdG9ycyBh
cmUgYmFzZWQgb24gdGhlIGJlZ2lubmluZyBvZiB0aGUKKyAqICAgbXVsdGlib290IG1vZHVsZSwK
KyAqIC0gdGhlIG51bWJlciBvZiBtb2R1bGVzIGlzIGRldGVybWluZWQgYnkgYSB0ZXJtaW5hdGlv
biBkZXNjcmlwdG9yIHRoYXQgaGFzCisgKiAgIG1vZF9zdGFydCA9PSAwLgorICoKKyAqIFRoaXMg
cGVybWl0cyB0byBib3RoIGJ1aWxkIGl0IHN0YXRpY2FsbHkgYW5kIHJlZmVyZW5jZSBpdCBpbiBh
IGNvbmZpZ3VyYXRpb24KKyAqIGZpbGUsIGFuZCBsZXQgdGhlIFBWIGd1ZXN0IGVhc2lseSByZWJh
c2UgdGhlIGFkZHJlc3NlcyB0byB2aXJ0dWFsIGFkZHJlc3NlcworICogYW5kIGF0IHRoZSBzYW1l
IHRpbWUgY291bnQgdGhlIG51bWJlciBvZiBtb2R1bGVzLgorICovCitzdHJ1Y3QgeGVuX211bHRp
Ym9vdF9tb2RfbGlzdAoreworICAgIC8qIEFkZHJlc3Mgb2YgZmlyc3QgYnl0ZSBvZiB0aGUgbW9k
dWxlICovCisgICAgdWludDMyX3QgbW9kX3N0YXJ0OworICAgIC8qIEFkZHJlc3Mgb2YgbGFzdCBi
eXRlIG9mIHRoZSBtb2R1bGUgKGluY2x1c2l2ZSkgKi8KKyAgICB1aW50MzJfdCBtb2RfZW5kOwor
ICAgIC8qIEFkZHJlc3Mgb2YgemVyby10ZXJtaW5hdGVkIGNvbW1hbmQgbGluZSAqLworICAgIHVp
bnQzMl90IGNtZGxpbmU7CisgICAgLyogVW51c2VkLCBtdXN0IGJlIHplcm8gKi8KKyAgICB1aW50
MzJfdCBwYWQ7Cit9OworLyoKKyAqIGBpbmNvbnRlbnRzIDIwMCBzdGFydG9mZGF5X2RvbTBfY29u
c29sZSBEb20wX2NvbnNvbGUKKyAqCisgKiBUaGUgY29uc29sZSBzdHJ1Y3R1cmUgaW4gc3RhcnRf
aW5mby5jb25zb2xlLmRvbTAKKyAqCisgKiBUaGlzIHN0cnVjdHVyZSBpbmNsdWRlcyBhIHZhcmll
dHkgb2YgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8KKyAqIGhhdmUgYSB3b3JraW5nIFZHQS9WRVNB
IGNvbnNvbGUuCisgKi8KK3R5cGVkZWYgc3RydWN0IGRvbTBfdmdhX2NvbnNvbGVfaW5mbyB7Cisg
ICAgdWludDhfdCB2aWRlb190eXBlOyAvKiBET00wX1ZHQV9DT05TT0xFXz8/PyAqLworI2RlZmlu
ZSBYRU5fVkdBVFlQRV9URVhUX01PREVfMyAweDAzCisjZGVmaW5lIFhFTl9WR0FUWVBFX1ZFU0Ff
TEZCICAgIDB4MjMKKyNkZWZpbmUgWEVOX1ZHQVRZUEVfRUZJX0xGQiAgICAgMHg3MAorCisgICAg
dW5pb24geworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgLyogRm9udCBoZWlnaHQsIGlu
IHBpeGVscy4gKi8KKyAgICAgICAgICAgIHVpbnQxNl90IGZvbnRfaGVpZ2h0OworICAgICAgICAg
ICAgLyogQ3Vyc29yIGxvY2F0aW9uIChjb2x1bW4sIHJvdykuICovCisgICAgICAgICAgICB1aW50
MTZfdCBjdXJzb3JfeCwgY3Vyc29yX3k7CisgICAgICAgICAgICAvKiBOdW1iZXIgb2Ygcm93cyBh
bmQgY29sdW1ucyAoZGltZW5zaW9ucyBpbiBjaGFyYWN0ZXJzKS4gKi8KKyAgICAgICAgICAgIHVp
bnQxNl90IHJvd3MsIGNvbHVtbnM7CisgICAgICAgIH0gdGV4dF9tb2RlXzM7CisKKyAgICAgICAg
c3RydWN0IHsKKyAgICAgICAgICAgIC8qIFdpZHRoIGFuZCBoZWlnaHQsIGluIHBpeGVscy4gKi8K
KyAgICAgICAgICAgIHVpbnQxNl90IHdpZHRoLCBoZWlnaHQ7CisgICAgICAgICAgICAvKiBCeXRl
cyBwZXIgc2NhbiBsaW5lLiAqLworICAgICAgICAgICAgdWludDE2X3QgYnl0ZXNfcGVyX2xpbmU7
CisgICAgICAgICAgICAvKiBCaXRzIHBlciBwaXhlbC4gKi8KKyAgICAgICAgICAgIHVpbnQxNl90
IGJpdHNfcGVyX3BpeGVsOworICAgICAgICAgICAgLyogTEZCIHBoeXNpY2FsIGFkZHJlc3MsIGFu
ZCBzaXplIChpbiB1bml0cyBvZiA2NGtCKS4gKi8KKyAgICAgICAgICAgIHVpbnQzMl90IGxmYl9i
YXNlOworICAgICAgICAgICAgdWludDMyX3QgbGZiX3NpemU7CisgICAgICAgICAgICAvKiBSR0Ig
bWFzayBvZmZzZXRzIGFuZCBzaXplcywgYXMgZGVmaW5lZCBieSBWQkUgMS4yKyAqLworICAgICAg
ICAgICAgdWludDhfdCAgcmVkX3BvcywgcmVkX3NpemU7CisgICAgICAgICAgICB1aW50OF90ICBn
cmVlbl9wb3MsIGdyZWVuX3NpemU7CisgICAgICAgICAgICB1aW50OF90ICBibHVlX3BvcywgYmx1
ZV9zaXplOworICAgICAgICAgICAgdWludDhfdCAgcnN2ZF9wb3MsIHJzdmRfc2l6ZTsKKyNpZiBf
X1hFTl9JTlRFUkZBQ0VfVkVSU0lPTl9fID49IDB4MDAwMzAyMDYKKyAgICAgICAgICAgIC8qIFZF
U0EgY2FwYWJpbGl0aWVzIChvZmZzZXQgMHhhLCBWRVNBIGNvbW1hbmQgMHg0ZjAwKS4gKi8KKyAg
ICAgICAgICAgIHVpbnQzMl90IGdibF9jYXBzOworICAgICAgICAgICAgLyogTW9kZSBhdHRyaWJ1
dGVzIChvZmZzZXQgMHgwLCBWRVNBIGNvbW1hbmQgMHg0ZjAxKS4gKi8KKyAgICAgICAgICAgIHVp
bnQxNl90IG1vZGVfYXR0cnM7CisjZW5kaWYKKyAgICAgICAgfSB2ZXNhX2xmYjsKKyAgICB9IHU7
Cit9IGRvbTBfdmdhX2NvbnNvbGVfaW5mb190OworI2RlZmluZSB4ZW5fdmdhX2NvbnNvbGVfaW5m
byBkb20wX3ZnYV9jb25zb2xlX2luZm8KKyNkZWZpbmUgeGVuX3ZnYV9jb25zb2xlX2luZm9fdCBk
b20wX3ZnYV9jb25zb2xlX2luZm9fdAorCit0eXBlZGVmIHVpbnQ4X3QgeGVuX2RvbWFpbl9oYW5k
bGVfdFsxNl07CisKK19fREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUodWludDgsICB1aW50OF90KTsK
K19fREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUodWludDE2LCB1aW50MTZfdCk7CitfX0RFRklORV9Y
RU5fR1VFU1RfSEFORExFKHVpbnQzMiwgdWludDMyX3QpOworX19ERUZJTkVfWEVOX0dVRVNUX0hB
TkRMRSh1aW50NjQsIHVpbnQ2NF90KTsKKworI2VuZGlmIC8qICFfX0FTU0VNQkxZX18gKi8KKwor
LyogRGVmYXVsdCBkZWZpbml0aW9ucyBmb3IgbWFjcm9zIHVzZWQgYnkgZG9tY3RsL3N5c2N0bC4g
Ki8KKyNpZiBkZWZpbmVkKF9fWEVOX18pIHx8IGRlZmluZWQoX19YRU5fVE9PTFNfXykKKworI2lm
bmRlZiBpbnQ2NF9hbGlnbmVkX3QKKyNkZWZpbmUgaW50NjRfYWxpZ25lZF90IGludDY0X3QKKyNl
bmRpZgorI2lmbmRlZiB1aW50NjRfYWxpZ25lZF90CisjZGVmaW5lIHVpbnQ2NF9hbGlnbmVkX3Qg
dWludDY0X3QKKyNlbmRpZgorI2lmbmRlZiBYRU5fR1VFU1RfSEFORExFXzY0CisjZGVmaW5lIFhF
Tl9HVUVTVF9IQU5ETEVfNjQobmFtZSkgWEVOX0dVRVNUX0hBTkRMRShuYW1lKQorI2VuZGlmCisK
KyNpZm5kZWYgX19BU1NFTUJMWV9fCitzdHJ1Y3QgeGVuY3RsX2JpdG1hcCB7CisgICAgWEVOX0dV
RVNUX0hBTkRMRV82NCh1aW50OCkgYml0bWFwOworICAgIHVpbnQzMl90IG5yX2JpdHM7Cit9Owor
I2VuZGlmCisKKyNlbmRpZiAvKiBkZWZpbmVkKF9fWEVOX18pIHx8IGRlZmluZWQoX19YRU5fVE9P
TFNfXykgKi8KKworI2VuZGlmIC8qIF9fWEVOX1BVQkxJQ19YRU5fSF9fICovCisKKy8qCisgKiBM
b2NhbCB2YXJpYWJsZXM6CisgKiBtb2RlOiBDCisgKiBjLWZpbGUtc3R5bGU6ICJCU0QiCisgKiBj
LWJhc2ljLW9mZnNldDogNAorICogdGFiLXdpZHRoOiA0CisgKiBpbmRlbnQtdGFicy1tb2RlOiBu
aWwKKyAqIEVuZDoKKyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4veGVuL2Vycm5vLmggYi9p
bmNsdWRlL3hlbi94ZW4vZXJybm8uaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAw
Li42OWIyOGRkCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS94ZW4veGVuL2Vycm5vLmgKQEAg
LTAsMCArMSwxOCBAQAorI2lmbmRlZiBfX1hFTl9FUlJOT19IX18KKyNkZWZpbmUgX19YRU5fRVJS
Tk9fSF9fCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCisKKyNkZWZpbmUgWEVOX0VSUk5PKG5hbWUs
IHZhbHVlKSBuYW1lID0gdmFsdWUsCitlbnVtIHsKKyNpbmNsdWRlIDxwdWJsaWMvZXJybm8uaD4K
K307CisKKyNlbHNlIC8qICFfX0FTU0VNQkxZX18gKi8KKworI2RlZmluZSBYRU5fRVJSTk8obmFt
ZSwgdmFsdWUpIC5lcXUgbmFtZSwgdmFsdWUKKyNpbmNsdWRlIDxwdWJsaWMvZXJybm8uaD4KKwor
I2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLworCisjZW5kaWYgLyogIF9fWEVOX0VSUk5PX0hfXyAq
LwpkaWZmIC0tZ2l0IGEvc3JjL3hlbmNvbnMvZnJvbnRlbmQuYyBiL3NyYy94ZW5jb25zL2Zyb250
ZW5kLmMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2NiNGYwNwotLS0gL2Rl
di9udWxsCisrKyBiL3NyYy94ZW5jb25zL2Zyb250ZW5kLmMKQEAgLTAsMCArMSwxMjg1IEBACisv
KiAgIENvcHlyaWdodCAoYykgQ2l0cml4IFN5c3RlbXMgSW5jLgorKiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLAorKiB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkCisqIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisqCisqICogICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisqICAg
ICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlCisqICAg
ICBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogKiAgIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyogICAgIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUKKyogICAgIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlcgorKiAgICAgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5ECisqIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsCisqIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisqIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SCisqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorKiBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyog
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwKKyogV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HCisqIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRgorKiBTVUNIIERBTUFHRS4KKyovCisKKyNpbmNsdWRlIDxudGRkay5oPgor
I2luY2x1ZGUgPG50c3Ryc2FmZS5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHhl
bi5oPgorCisjaW5jbHVkZSA8ZGVidWdfaW50ZXJmYWNlLmg+CisjaW5jbHVkZSA8c3RvcmVfaW50
ZXJmYWNlLmg+CisjaW5jbHVkZSA8c3VzcGVuZF9pbnRlcmZhY2UuaD4KKworI2luY2x1ZGUgImRy
aXZlci5oIgorI2luY2x1ZGUgImZyb250ZW5kLmgiCisjaW5jbHVkZSAidGhyZWFkLmgiCisjaW5j
bHVkZSAiZGJnX3ByaW50LmgiCisjaW5jbHVkZSAiYXNzZXJ0LmgiCisjaW5jbHVkZSAidXRpbC5o
IgorCisjZGVmaW5lIEZST05URU5EX1BPT0wgICAnVE5SRicKKyNkZWZpbmUgRE9NSURfSU5WQUxJ
RCAgICgweDdGRkZVKQorCitzdHJ1Y3QgX1hFTkNPTlNfRlJPTlRFTkQgeworICAgIFBYRU5DT05T
X1BETyAgICAgICAgICAgICAgICBQZG87CisgICAgUENIQVIgICAgICAgICAgICAgICAgICAgICAg
IFBhdGg7CisgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgIE9ubGluZTsKKyAgICBGUk9O
VEVORF9TVEFURSAgICAgICAgICAgICAgU3RhdGU7CisgICAgS1NQSU5fTE9DSyAgICAgICAgICAg
ICAgICAgIExvY2s7CisgICAgUFhFTkNPTlNfVEhSRUFEICAgICAgICAgICAgIEVqZWN0VGhyZWFk
OworICAgIEtFVkVOVCAgICAgICAgICAgICAgICAgICAgICBFamVjdEV2ZW50OworCisgICAgUENI
QVIgICAgICAgICAgICAgICAgICAgICAgIEJhY2tlbmRQYXRoOworICAgIFVTSE9SVCAgICAgICAg
ICAgICAgICAgICAgICBCYWNrZW5kRG9tYWluOworCisgICAgUENIQVIgICAgICAgICAgICAgICAg
ICAgICAgIE5hbWU7CisgICAgUENIQVIgICAgICAgICAgICAgICAgICAgICAgIFByb3RvY29sOwor
CisgICAgWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSAgICAgIERlYnVnSW50ZXJmYWNlOworICAgIFhF
TkJVU19TVVNQRU5EX0lOVEVSRkFDRSAgICBTdXNwZW5kSW50ZXJmYWNlOworICAgIFhFTkJVU19T
VE9SRV9JTlRFUkZBQ0UgICAgICBTdG9yZUludGVyZmFjZTsKKworICAgIFBYRU5CVVNfU1VTUEVO
RF9DQUxMQkFDSyAgICBTdXNwZW5kQ2FsbGJhY2s7CisgICAgUFhFTkJVU19ERUJVR19DQUxMQkFD
SyAgICAgIERlYnVnQ2FsbGJhY2s7CisgICAgUFhFTkJVU19TVE9SRV9XQVRDSCAgICAgICAgIFdh
dGNoOworfTsKKworc3RhdGljIEZPUkNFSU5MSU5FIFBWT0lECitfX0Zyb250ZW5kQWxsb2NhdGUo
CisgICAgSU4gIFVMT05HICAgTGVuZ3RoCisgICAgKQoreworICAgIHJldHVybiBfX0FsbG9jYXRl
UG9vbFdpdGhUYWcoTm9uUGFnZWRQb29sLCBMZW5ndGgsIEZST05URU5EX1BPT0wpOworfQorCitz
dGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAorX19Gcm9udGVuZEZyZWUoCisgICAgSU4gIFBWT0lEICAg
QnVmZmVyCisgICAgKQoreworICAgIGlmIChCdWZmZXIpCisgICAgICAgIF9fRnJlZVBvb2xXaXRo
VGFnKEJ1ZmZlciwgRlJPTlRFTkRfUE9PTCk7Cit9CisKK3N0YXRpYyBGT1JDRUlOTElORSBjb25z
dCBQQ0hBUgorWGVuYnVzU3RhdGVOYW1lKAorICAgIElOICBYZW5idXNTdGF0ZSAgIFN0YXRlCisg
ICAgKQoreworI2RlZmluZSBfU1RBVEVfTkFNRShfU3RhdGUpICAgICBcCisgICAgY2FzZSAgWGVu
YnVzU3RhdGUgIyMgX1N0YXRlOiAgXAorICAgICAgICByZXR1cm4gI19TdGF0ZTsKKworICAgIHN3
aXRjaCAoU3RhdGUpIHsKKyAgICAgICAgX1NUQVRFX05BTUUoVW5rbm93bik7CisgICAgICAgIF9T
VEFURV9OQU1FKEluaXRpYWxpc2luZyk7CisgICAgICAgIF9TVEFURV9OQU1FKEluaXRXYWl0KTsK
KyAgICAgICAgX1NUQVRFX05BTUUoSW5pdGlhbGlzZWQpOworICAgICAgICBfU1RBVEVfTkFNRShD
b25uZWN0ZWQpOworICAgICAgICBfU1RBVEVfTkFNRShDbG9zaW5nKTsKKyAgICAgICAgX1NUQVRF
X05BTUUoQ2xvc2VkKTsKKyAgICAgICAgX1NUQVRFX05BTUUoUmVjb25maWd1cmluZyk7CisgICAg
ICAgIF9TVEFURV9OQU1FKFJlY29uZmlndXJlZCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJl
YWs7CisgICAgfQorCisgICAgcmV0dXJuICJJTlZBTElEIjsKKworI3VuZGVmICBfU1RBVEVfTkFN
RQorfQorCitzdGF0aWMgY29uc3QgUENIQVIKK0Zyb250ZW5kU3RhdGVOYW1lKAorICAgIElOICBG
Uk9OVEVORF9TVEFURSAgU3RhdGUKKyAgICApCit7CisjZGVmaW5lIF9TVEFURV9OQU1FKF9TdGF0
ZSkgICAgIFwKKyAgICBjYXNlICBGUk9OVEVORF8gIyMgX1N0YXRlOiAgXAorICAgICAgICByZXR1
cm4gI19TdGF0ZTsKKworICAgIHN3aXRjaCAoU3RhdGUpIHsKKyAgICAgICAgX1NUQVRFX05BTUUo
VU5LTk9XTik7CisgICAgICAgIF9TVEFURV9OQU1FKENMT1NFRCk7CisgICAgICAgIF9TVEFURV9O
QU1FKFBSRVBBUkVEKTsKKyAgICAgICAgX1NUQVRFX05BTUUoQ09OTkVDVEVEKTsKKyAgICAgICAg
X1NUQVRFX05BTUUoRU5BQkxFRCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAg
fQorCisgICAgcmV0dXJuICJJTlZBTElEIjsKKworI3VuZGVmICBfU1RBVEVfTkFNRQorfQorCitz
dGF0aWMgRk9SQ0VJTkxJTkUgUFhFTkNPTlNfUERPCitfX0Zyb250ZW5kR2V0UGRvKAorICAgIElO
ICBQWEVOQ09OU19GUk9OVEVORCAgIEZyb250ZW5kCisgICAgKQoreworICAgIHJldHVybiBGcm9u
dGVuZC0+UGRvOworfQorCitQWEVOQ09OU19QRE8KK0Zyb250ZW5kR2V0UGRvKAorICAgIElOICBQ
WEVOQ09OU19GUk9OVEVORCAgIEZyb250ZW5kCisgICAgKQoreworICAgIHJldHVybiBfX0Zyb250
ZW5kR2V0UGRvKEZyb250ZW5kKTsKK30KKworc3RhdGljIEZPUkNFSU5MSU5FIFBDSEFSCitfX0Zy
b250ZW5kR2V0UGF0aCgKKyAgICBJTiAgUFhFTkNPTlNfRlJPTlRFTkQgICBGcm9udGVuZAorICAg
ICkKK3sKKyAgICByZXR1cm4gRnJvbnRlbmQtPlBhdGg7Cit9CisKK1BDSEFSCitGcm9udGVuZEdl
dFBhdGgoCisgICAgSU4gIFBYRU5DT05TX0ZST05URU5EICAgRnJvbnRlbmQKKyAgICApCit7Cisg
ICAgcmV0dXJuIF9fRnJvbnRlbmRHZXRQYXRoKEZyb250ZW5kKTsKK30KKworc3RhdGljIEZPUkNF
SU5MSU5FIFBDSEFSCitfX0Zyb250ZW5kR2V0QmFja2VuZFBhdGgoCisgICAgSU4gIFBYRU5DT05T
X0ZST05URU5EICAgRnJvbnRlbmQKKyAgICApCit7CisgICAgcmV0dXJuIEZyb250ZW5kLT5CYWNr
ZW5kUGF0aDsKK30KKworUENIQVIKK0Zyb250ZW5kR2V0QmFja2VuZFBhdGgoCisgICAgSU4gIFBY
RU5DT05TX0ZST05URU5EICAgRnJvbnRlbmQKKyAgICApCit7CisgICAgcmV0dXJuIF9fRnJvbnRl
bmRHZXRCYWNrZW5kUGF0aChGcm9udGVuZCk7Cit9CisKK3N0YXRpYyBGT1JDRUlOTElORSBVU0hP
UlQKK19fRnJvbnRlbmRHZXRCYWNrZW5kRG9tYWluKAorICAgIElOICBQWEVOQ09OU19GUk9OVEVO
RCAgIEZyb250ZW5kCisgICAgKQoreworICAgIHJldHVybiBGcm9udGVuZC0+QmFja2VuZERvbWFp
bjsKK30KKworVVNIT1JUCitGcm9udGVuZEdldEJhY2tlbmREb21haW4oCisgICAgSU4gIFBYRU5D
T05TX0ZST05URU5EICAgRnJvbnRlbmQKKyAgICApCit7CisgICAgcmV0dXJuIF9fRnJvbnRlbmRH
ZXRCYWNrZW5kRG9tYWluKEZyb250ZW5kKTsKK30KKworUENIQVIKK0Zyb250ZW5kR2V0TmFtZSgK
KyAgICBJTiAgUFhFTkNPTlNfRlJPTlRFTkQgICBGcm9udGVuZAorICAgICkKK3sKKyAgICByZXR1
cm4gRnJvbnRlbmQtPk5hbWU7Cit9CisKK1BDSEFSCitGcm9udGVuZEdldFByb3RvY29sKAorICAg
IElOICBQWEVOQ09OU19GUk9OVEVORCAgIEZyb250ZW5kCisgICAgKQoreworICAgIHJldHVybiBG
cm9udGVuZC0+UHJvdG9jb2w7Cit9CisKK05UU1RBVFVTCitGcm9udGVuZERpc3BhdGNoQ3JlYXRl
KAorICAgIElOICBQWEVOQ09OU19GUk9OVEVORCAgIEZyb250ZW5kLAorICAgIElOICBQRklMRV9P
QkpFQ1QgICAgICAgIEZpbGVPYmplY3QKKyAgICApCit7CisgICAgVU5SRUZFUkVOQ0VEX1BBUkFN
RVRFUihGcm9udGVuZCk7CisgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihGaWxlT2JqZWN0KTsK
KyAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7Cit9CisKK05UU1RBVFVTCitGcm9udGVuZERpc3Bh
dGNoQ2xlYW51cCgKKyAgICBJTiAgUFhFTkNPTlNfRlJPTlRFTkQgICBGcm9udGVuZCwKKyAgICBJ
TiAgUEZJTEVfT0JKRUNUICAgICAgICBGaWxlT2JqZWN0CisgICAgKQoreworICAgIFVOUkVGRVJF
TkNFRF9QQVJBTUVURVIoRnJvbnRlbmQpOworICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoRmls
ZU9iamVjdCk7CisgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOworfQorCitOVFNUQVRVUworRnJv
bnRlbmREaXNwYXRjaFJlYWRXcml0ZSgKKyAgICBJTiAgUFhFTkNPTlNfRlJPTlRFTkQgICBGcm9u
dGVuZCwKKyAgICBJTiAgUElSUCAgICAgICAgICAgICAgICBJcnAKKyAgICApCit7CisgICAgVU5S
RUZFUkVOQ0VEX1BBUkFNRVRFUihGcm9udGVuZCk7CisgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRF
UihJcnApOworICAgIHJldHVybiBTVEFUVVNfREVWSUNFX05PVF9SRUFEWTsKK30KKworc3RhdGlj
IFZPSUQKK0Zyb250ZW5kRGVidWdDYWxsYmFjaygKKyAgICBJTiAgUFZPSUQgICAgICAgICAgICAg
ICBBcmd1bWVudCwKKyAgICBJTiAgQk9PTEVBTiAgICAgICAgICAgICBDcmFzaGluZworICAgICkK
K3sKKyAgICBQWEVOQ09OU19GUk9OVEVORCAgICAgICBGcm9udGVuZCA9IEFyZ3VtZW50OworICAg
IAorICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoQ3Jhc2hpbmcpOworCisgICAgWEVOQlVTX0RF
QlVHKFByaW50ZiwKKyAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5EZWJ1Z0ludGVyZmFjZSwK
KyAgICAgICAgICAgICAgICAgIlBBVEg6ICVzXG4iLAorICAgICAgICAgICAgICAgICBfX0Zyb250
ZW5kR2V0UGF0aChGcm9udGVuZCkpOworICAgIFhFTkJVU19ERUJVRyhQcmludGYsCisgICAgICAg
ICAgICAgICAgICZGcm9udGVuZC0+RGVidWdJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICJO
QU1FOiAlc1xuIiwKKyAgICAgICAgICAgICAgICAgRnJvbnRlbmRHZXROYW1lKEZyb250ZW5kKSk7
CisgICAgWEVOQlVTX0RFQlVHKFByaW50ZiwKKyAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5E
ZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIlBST1RPQ09MOiAlc1xuIiwKKyAgICAg
ICAgICAgICAgICAgRnJvbnRlbmRHZXRQcm90b2NvbChGcm9udGVuZCkpOworfQorCitzdGF0aWMg
Vk9JRAorRnJvbnRlbmRTZXRPbmxpbmUoCisgICAgSU4gIFBYRU5DT05TX0ZST05URU5EICAgRnJv
bnRlbmQKKyAgICApCit7CisgICAgVHJhY2UoIj09PT0+XG4iKTsKKworICAgIEZyb250ZW5kLT5P
bmxpbmUgPSBUUlVFOworCisgICAgVHJhY2UoIjw9PT09XG4iKTsKK30KKworc3RhdGljIFZPSUQK
K0Zyb250ZW5kU2V0T2ZmbGluZSgKKyAgICBJTiAgUFhFTkNPTlNfRlJPTlRFTkQgICBGcm9udGVu
ZAorICAgICkKK3sKKyAgICBUcmFjZSgiPT09PT5cbiIpOworCisgICAgRnJvbnRlbmQtPk9ubGlu
ZSA9IEZBTFNFOworICAgIFBkb1JlcXVlc3RFamVjdChfX0Zyb250ZW5kR2V0UGRvKEZyb250ZW5k
KSk7CisKKyAgICBUcmFjZSgiPD09PT1cbiIpOworfQorCitzdGF0aWMgQk9PTEVBTgorRnJvbnRl
bmRJc09ubGluZSgKKyAgICBJTiAgUFhFTkNPTlNfRlJPTlRFTkQgICBGcm9udGVuZAorICAgICkK
K3sKKyAgICByZXR1cm4gRnJvbnRlbmQtPk9ubGluZTsKK30KKworc3RhdGljIEJPT0xFQU4KK0Zy
b250ZW5kSXNCYWNrZW5kT25saW5lKAorICAgIElOICBQWEVOQ09OU19GUk9OVEVORCAgIEZyb250
ZW5kCisgICAgKQoreworICAgIFBDSEFSICAgICAgICAgICAgICAgICAgIEJ1ZmZlcjsKKyAgICBC
T09MRUFOICAgICAgICAgICAgICAgICBPbmxpbmU7CisgICAgTlRTVEFUVVMgICAgICAgICAgICAg
ICAgc3RhdHVzOworCisgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFJlYWQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgIF9fRnJvbnRlbmRH
ZXRCYWNrZW5kUGF0aChGcm9udGVuZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICJvbmxp
bmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmQnVmZmVyKTsKKyAgICBpZiAoIU5UX1NV
Q0NFU1Moc3RhdHVzKSkgeworICAgICAgICBPbmxpbmUgPSBGQUxTRTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBPbmxpbmUgPSAoQk9PTEVBTilzdHJ0b2woQnVmZmVyLCBOVUxMLCAyKTsKKworICAg
ICAgICBYRU5CVVNfU1RPUkUoRnJlZSwKKyAgICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+
U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICBCdWZmZXIpOworICAgIH0KKwor
ICAgIHJldHVybiBPbmxpbmU7Cit9CisKK3N0YXRpYyBOVFNUQVRVUworRnJvbnRlbmRBY3F1aXJl
QmFja2VuZCgKKyAgICBJTiAgUFhFTkNPTlNfRlJPTlRFTkQgICBGcm9udGVuZAorICAgICkKK3sK
KyAgICBQQ0hBUiAgICAgICAgICAgICAgICAgICBCdWZmZXI7CisgICAgTlRTVEFUVVMgICAgICAg
ICAgICAgICAgc3RhdHVzOworCisgICAgVHJhY2UoIj09PT09PlxuIik7CisKKyAgICBzdGF0dXMg
PSBYRU5CVVNfU1RPUkUoUmVhZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5k
LT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgX19Gcm9udGVuZEdldFBhdGgoRnJvbnRlbmQpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAiYmFja2VuZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICZCdWZmZXIpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZh
aWwxOworCisgICAgRnJvbnRlbmQtPkJhY2tlbmRQYXRoID0gQnVmZmVyOworCisgICAgc3RhdHVz
ID0gWEVOQlVTX1NUT1JFKFJlYWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZGcm9udGVu
ZC0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIF9fRnJvbnRlbmRHZXRQYXRoKEZyb250ZW5kKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgImJhY2tlbmQtaWQiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAmQnVmZmVyKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkgeworICAgICAgICBG
cm9udGVuZC0+QmFja2VuZERvbWFpbiA9IDA7CisgICAgfSBlbHNlIHsKKyAgICAgICAgRnJvbnRl
bmQtPkJhY2tlbmREb21haW4gPSAoVVNIT1JUKXN0cnRvbChCdWZmZXIsIE5VTEwsIDEwKTsKKwor
ICAgICAgICBYRU5CVVNfU1RPUkUoRnJlZSwKKyAgICAgICAgICAgICAgICAgICAgICZGcm9udGVu
ZC0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICBCdWZmZXIpOworICAgIH0K
KworICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKKworZmFpbDE6CisgICAgRXJyb3IoImZhaWwx
ICglMDh4KVxuIiwgc3RhdHVzKTsKKworICAgIFRyYWNlKCI8PT09PVxuIik7CisgICAgcmV0dXJu
IHN0YXR1czsKK30KKworc3RhdGljIFZPSUQKK0Zyb250ZW5kUmVsZWFzZUJhY2tlbmQoCisgICAg
SU4gIFBYRU5DT05TX0ZST05URU5EICAgRnJvbnRlbmQKKyAgICApCit7CisgICAgVHJhY2UoIj09
PT09PlxuIik7CisKKyAgICBBU1NFUlQoRnJvbnRlbmQtPkJhY2tlbmREb21haW4gIT0gRE9NSURf
SU5WQUxJRCk7CisgICAgQVNTRVJUKEZyb250ZW5kLT5CYWNrZW5kUGF0aCAhPSBOVUxMKTsKKwor
ICAgIEZyb250ZW5kLT5CYWNrZW5kRG9tYWluID0gRE9NSURfSU5WQUxJRDsKKworICAgIFhFTkJV
U19TVE9SRShGcmVlLAorICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNl
LAorICAgICAgICAgICAgICAgICBGcm9udGVuZC0+QmFja2VuZFBhdGgpOworICAgIEZyb250ZW5k
LT5CYWNrZW5kUGF0aCA9IE5VTEw7CisKKyAgICBUcmFjZSgiPD09PT09XG4iKTsKK30KKworc3Rh
dGljIEZPUkNFSU5MSU5FIE5UU1RBVFVTCitfX0Zyb250ZW5kUmVhZFBhcmFtZXRlcigKKyAgICBJ
TiAgUFhFTkNPTlNfRlJPTlRFTkQgICBGcm9udGVuZCwKKyAgICBJTiAgUENIQVIgICAgICAgICAg
ICAgICBOYW1lLAorICAgIE9VVCBQQ0hBUiAgICAgICAgICAgICAgICpSZXN1bHQKKyAgICApCit7
CisgICAgUENIQVIgICAgICAgICAgICAgICAgICAgQnVmZmVyOworICAgIFVMT05HICAgICAgICAg
ICAgICAgICAgIExlbmd0aDsKKyAgICBOVFNUQVRVUyAgICAgICAgICAgICAgICBzdGF0dXM7CisK
KyAgICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUoUmVhZCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
TlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgX19Gcm9udGVuZEdldEJhY2tlbmRQYXRo
KEZyb250ZW5kKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgJkJ1ZmZlcik7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisg
ICAgICAgIGdvdG8gZmFpbDE7CisKKyAgICBMZW5ndGggPSAoVUxPTkcpc3RybGVuKEJ1ZmZlcik7
CisKKyAgICBpZiAoKlJlc3VsdCkKKyAgICAgICAgX19Gcm9udGVuZEZyZWUoKlJlc3VsdCk7CisK
KyAgICAqUmVzdWx0ID0gX19Gcm9udGVuZEFsbG9jYXRlKExlbmd0aCArIDEpOworICAgIGlmICgq
UmVzdWx0ID09IE5VTEwpCisgICAgICAgIGdvdG8gZmFpbDI7CisKKyAgICBSdGxDb3B5TWVtb3J5
KCpSZXN1bHQsIEJ1ZmZlciwgTGVuZ3RoKTsKKworICAgIFhFTkJVU19TVE9SRShGcmVlLAorICAg
ICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAg
ICBCdWZmZXIpOworCisgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOworCitmYWlsMjoKKyAgICBF
cnJvcigiZmFpbDJcbiIpOworCisgICAgKlJlc3VsdCA9IE5VTEw7CisKKyAgICBYRU5CVVNfU1RP
UkUoRnJlZSwKKyAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKKyAg
ICAgICAgICAgICAgICAgQnVmZmVyKTsKKworZmFpbDE6CisgICAgRXJyb3IoImZhaWwxICglMDh4
KVxuIiwgc3RhdHVzKTsKKworICAgIHJldHVybiBzdGF0dXM7Cit9CisKK3N0YXRpYyBGT1JDRUlO
TElORSBWT0lECitfX0Zyb250ZW5kU2V0U3RhdGUoCisgICAgSU4gIFBYRU5DT05TX0ZST05URU5E
ICAgRnJvbnRlbmQsCisgICAgSU4gIFhlbmJ1c1N0YXRlICAgICAgICAgU3RhdGUKKyAgICApCit7
CisgICAgKFZPSUQpWEVOQlVTX1NUT1JFKFByaW50ZiwKKyAgICAgICAgICAgICAgICAgICAgICAg
JkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwK
KyAgICAgICAgICAgICAgICAgICAgICAgX19Gcm9udGVuZEdldFBhdGgoRnJvbnRlbmQpLAorICAg
ICAgICAgICAgICAgICAgICAgICAic3RhdGUiLAorICAgICAgICAgICAgICAgICAgICAgICAiJXUi
LAorICAgICAgICAgICAgICAgICAgICAgICBTdGF0ZSk7Cit9CisKK3N0YXRpYyBGT1JDRUlOTElO
RSBYZW5idXNTdGF0ZQorX19Gcm9udGVuZFdhaXRTdGF0ZSgKKyAgICBJTiAgUFhFTkNPTlNfRlJP
TlRFTkQgICBGcm9udGVuZCwKKyAgICBJTiAgWGVuYnVzU3RhdGUgICAgICAgICBPbGRTdGF0ZQor
ICAgICkKK3sKKyAgICBLRVZFTlQgICAgICAgICAgICAgICAgICAgICAgRXZlbnQ7CisgICAgUFhF
TkJVU19TVE9SRV9XQVRDSCAgICAgICAgIFdhdGNoOworICAgIExBUkdFX0lOVEVHRVIgICAgICAg
ICAgICAgICBTdGFydDsKKyAgICBVTE9OR0xPTkcgICAgICAgICAgICAgICAgICAgVGltZURlbHRh
OworICAgIExBUkdFX0lOVEVHRVIgICAgICAgICAgICAgICBUaW1lb3V0OworICAgIFhlbmJ1c1N0
YXRlICAgICAgICAgICAgICAgICBTdGF0ZSA9IE9sZFN0YXRlOworICAgIE5UU1RBVFVTICAgICAg
ICAgICAgICAgICAgICBzdGF0dXM7CisKKyAgICBUcmFjZSgiJXM6ID09PT0+ICVzXG4iLAorICAg
ICAgICAgIF9fRnJvbnRlbmRHZXRCYWNrZW5kUGF0aChGcm9udGVuZCksCisgICAgICAgICAgWGVu
YnVzU3RhdGVOYW1lKFN0YXRlKSk7CisKKyAgICBBU1NFUlQoRnJvbnRlbmRJc09ubGluZShGcm9u
dGVuZCkpOworCisgICAgS2VJbml0aWFsaXplRXZlbnQoJkV2ZW50LCBOb3RpZmljYXRpb25FdmVu
dCwgRkFMU0UpOworCisgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFdhdGNoQWRkLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBfX0Zyb250ZW5kR2V0QmFja2VuZFBhdGgoRnJvbnRlbmQpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAic3RhdGUiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAmRXZlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZXYXRjaCk7CisgICAgaWYgKCFO
VF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIFdhdGNoID0gTlVMTDsKKworICAgIEtlUXVlcnlT
eXN0ZW1UaW1lKCZTdGFydCk7CisgICAgVGltZURlbHRhID0gMDsKKworICAgIFRpbWVvdXQuUXVh
ZFBhcnQgPSAwOworCisgICAgd2hpbGUgKFN0YXRlID09IE9sZFN0YXRlICYmIFRpbWVEZWx0YSA8
IDEyMDAwMCkgeworICAgICAgICBQQ0hBUiAgICAgICAgICAgQnVmZmVyOworICAgICAgICBMQVJH
RV9JTlRFR0VSICAgTm93OworCisgICAgICAgIGlmIChXYXRjaCAhPSBOVUxMKSB7CisgICAgICAg
ICAgICBVTE9ORyAgIEF0dGVtcHQgPSAwOworCisgICAgICAgICAgICB3aGlsZSAoKytBdHRlbXB0
IDwgMTAwMCkgeworICAgICAgICAgICAgICAgIHN0YXR1cyA9IEtlV2FpdEZvclNpbmdsZU9iamVj
dCgmRXZlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEV4ZWN1dGl2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgS2VybmVsTW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgRkFMU0UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZUaW1lb3V0KTsKKyAgICAgICAgICAgICAgICBpZiAoc3RhdHVzICE9IFNUQVRVU19USU1F
T1VUKQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIC8vIFdl
IGFyZSB3YWl0aW5nIGZvciBhIHdhdGNoIGV2ZW50IGF0IERJU1BBVENIX0xFVkVMIHNvCisgICAg
ICAgICAgICAgICAgLy8gaXQgaXMgb3VyIHJlc3BvbnNpYmlsaXR5IHRvIHBvbGwgdGhlIHN0b3Jl
IHJpbmcuCisgICAgICAgICAgICAgICAgWEVOQlVTX1NUT1JFKFBvbGwsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UpOworCisgICAgICAgICAg
ICAgICAgS2VTdGFsbEV4ZWN1dGlvblByb2Nlc3NvcigxMDAwKTsgICAvLyAxbXMKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgS2VDbGVhckV2ZW50KCZFdmVudCk7CisgICAgICAgIH0KKwor
ICAgICAgICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUoUmVhZCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19Gcm9udGVu
ZEdldEJhY2tlbmRQYXRoKEZyb250ZW5kKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJzdGF0ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmQnVmZmVyKTsKKyAgICAg
ICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpIHsKKyAgICAgICAgICAgIFN0YXRlID0gWGVuYnVz
U3RhdGVVbmtub3duOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgU3RhdGUgPSAoWGVu
YnVzU3RhdGUpc3RydG9sKEJ1ZmZlciwgTlVMTCwgMTApOworCisgICAgICAgICAgICBYRU5CVVNf
U1RPUkUoRnJlZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50
ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcik7CisgICAgICAgIH0KKwor
ICAgICAgICBLZVF1ZXJ5U3lzdGVtVGltZSgmTm93KTsKKworICAgICAgICBUaW1lRGVsdGEgPSAo
Tm93LlF1YWRQYXJ0IC0gU3RhcnQuUXVhZFBhcnQpIC8gMTAwMDB1bGw7CisgICAgfQorCisgICAg
aWYgKFdhdGNoICE9IE5VTEwpCisgICAgICAgIChWT0lEKSBYRU5CVVNfU1RPUkUoV2F0Y2hSZW1v
dmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFj
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBXYXRjaCk7CisKKyAgICBUcmFjZSgiJXM6
IDw9PT09ICglcylcbiIsCisgICAgICAgICAgX19Gcm9udGVuZEdldEJhY2tlbmRQYXRoKEZyb250
ZW5kKSwKKyAgICAgICAgICBYZW5idXNTdGF0ZU5hbWUoU3RhdGUpKTsKKworICAgIHJldHVybiBT
dGF0ZTsKK30KKworc3RhdGljIFZPSUQKK0Zyb250ZW5kQ2xvc2UoCisgICAgSU4gIFBYRU5DT05T
X0ZST05URU5EICAgRnJvbnRlbmQKKyAgICApCit7CisgICAgWGVuYnVzU3RhdGUgICAgICAgICAg
ICAgU3RhdGU7CisKKyAgICBUcmFjZSgiPT09PT5cbiIpOworCisgICAgX19Gcm9udGVuZFNldFN0
YXRlKEZyb250ZW5kLCBYZW5idXNTdGF0ZUNsb3NpbmcpOworCisgICAgU3RhdGUgPSBYZW5idXNT
dGF0ZVVua25vd247CisgICAgd2hpbGUgKFN0YXRlICE9IFhlbmJ1c1N0YXRlQ2xvc2VkKSB7Cisg
ICAgICAgIFN0YXRlID0gX19Gcm9udGVuZFdhaXRTdGF0ZShGcm9udGVuZCwgU3RhdGUpOworICAg
ICAgICBzd2l0Y2ggKFN0YXRlKSB7CisgICAgICAgIGNhc2UgWGVuYnVzU3RhdGVDbG9zaW5nOgor
ICAgICAgICAgICAgX19Gcm9udGVuZFNldFN0YXRlKEZyb250ZW5kLCBYZW5idXNTdGF0ZUNsb3Nl
ZCk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFhlbmJ1c1N0YXRlQ2xvc2Vk
OgorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIF9f
RnJvbnRlbmRTZXRTdGF0ZShGcm9udGVuZCwgWGVuYnVzU3RhdGVDbG9zaW5nKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgRnJvbnRlbmRSZWxlYXNlQmFja2Vu
ZChGcm9udGVuZCk7CisKKyAgICBUcmFjZSgiPD09PT1cbiIpOworfQorCitzdGF0aWMgTlRTVEFU
VVMKK0Zyb250ZW5kUHJlcGFyZSgKKyAgICBJTiAgUFhFTkNPTlNfRlJPTlRFTkQgICBGcm9udGVu
ZAorICAgICkKK3sKKyAgICBYZW5idXNTdGF0ZSAgICAgICAgICAgICBTdGF0ZTsKKyAgICBOVFNU
QVRVUyAgICAgICAgICAgICAgICBzdGF0dXM7CisKKyAgICBUcmFjZSgiPT09PT5cbiIpOworCisg
ICAgc3RhdHVzID0gRnJvbnRlbmRBY3F1aXJlQmFja2VuZChGcm9udGVuZCk7CisgICAgaWYgKCFO
VF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDE7CisKKyAgICBGcm9udGVuZFNl
dE9ubGluZShGcm9udGVuZCk7CisKKyAgICBfX0Zyb250ZW5kU2V0U3RhdGUoRnJvbnRlbmQsIFhl
bmJ1c1N0YXRlSW5pdGlhbGlzaW5nKTsKKworICAgIFN0YXRlID0gWGVuYnVzU3RhdGVVbmtub3du
OworICAgIHdoaWxlIChTdGF0ZSAhPSBYZW5idXNTdGF0ZUluaXRXYWl0KSB7CisgICAgICAgIFN0
YXRlID0gX19Gcm9udGVuZFdhaXRTdGF0ZShGcm9udGVuZCwgU3RhdGUpOworICAgICAgICBzd2l0
Y2ggKFN0YXRlKSB7CisgICAgICAgIGNhc2UgWGVuYnVzU3RhdGVJbml0V2FpdDoKKyAgICAgICAg
ICAgIGJyZWFrOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgfQorICAgIH0KKworICAgIFRyYWNlKCI8PT09PVxuIik7CisgICAgcmV0dXJuIFNUQVRVU19T
VUNDRVNTOworCitmYWlsMToKKyAgICBFcnJvcigiZmFpbDEgKCUwOHgpXG4iLCBzdGF0dXMpOwor
CisgICAgcmV0dXJuIHN0YXR1czsKK30KKworc3RhdGljIE5UU1RBVFVTCitGcm9udGVuZENvbm5l
Y3QoCisgICAgSU4gIFBYRU5DT05TX0ZST05URU5EICAgRnJvbnRlbmQKKyAgICApCit7CisgICAg
WGVuYnVzU3RhdGUgICAgICAgICAgICAgU3RhdGU7CisgICAgVUxPTkcgICAgICAgICAgICAgICAg
ICAgQXR0ZW1wdDsKKyAgICBOVFNUQVRVUyAgICAgICAgICAgICAgICBzdGF0dXM7CisKKyAgICBU
cmFjZSgiPT09PT5cbiIpOworCisgICAgc3RhdHVzID0gWEVOQlVTX0RFQlVHKEFjcXVpcmUsICZG
cm9udGVuZC0+RGVidWdJbnRlcmZhY2UpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQor
ICAgICAgICBnb3RvIGZhaWwxOworCisgICAgc3RhdHVzID0gWEVOQlVTX0RFQlVHKFJlZ2lzdGVy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPkRlYnVnSW50ZXJmYWNlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBfX01PRFVMRV9fICJ8RlJPTlRFTkQiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBGcm9udGVuZERlYnVnQ2FsbGJhY2ssCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIEZyb250ZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRl
bmQtPkRlYnVnQ2FsbGJhY2spOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAg
ICBnb3RvIGZhaWwyOworCisgICAgLy9zdGF0dXMgPSBSaW5nQ29ubmVjdChGcm9udGVuZC0+Umlu
Zyk7CisgICAgLy9pZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAvLyAgICBnb3RvIGZhaWwz
OworCisgICAgQXR0ZW1wdCA9IDA7CisgICAgZG8geworICAgICAgICBQWEVOQlVTX1NUT1JFX1RS
QU5TQUNUSU9OICAgVHJhbnNhY3Rpb247CisKKyAgICAgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JF
KFRyYW5zYWN0aW9uU3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRl
bmQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlRyYW5z
YWN0aW9uKTsKKyAgICAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgICAgICBi
cmVhazsKKworICAgICAgICAvL3N0YXR1cyA9IFJpbmdTdG9yZVdyaXRlKEZyb250ZW5kLT5SaW5n
LCBUcmFuc2FjdGlvbik7CisgICAgICAgIC8vaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAg
ICAgIC8vICAgIGdvdG8gYWJvcnQ7CisKKyAgICAgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFRy
YW5zYWN0aW9uRW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5T
dG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zYWN0aW9u
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSk7CisgICAgICAgIGlmIChzdGF0
dXMgIT0gU1RBVFVTX1JFVFJZIHx8ICsrQXR0ZW1wdCA+IDEwKQorICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgY29udGludWU7CisKKyAgICAvL2Fib3J0OgorICAgIC8vICAgIChWT0lEKVhF
TkJVU19TVE9SRShUcmFuc2FjdGlvbkVuZCwKKyAgICAvLyAgICAgICAgICAgICAgICAgICAgICAg
JkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKKyAgICAvLyAgICAgICAgICAgICAgICAgICAgICAg
VHJhbnNhY3Rpb24sCisgICAgLy8gICAgICAgICAgICAgICAgICAgICAgIEZBTFNFKTsKKyAgICAv
LyAgICBicmVhazsKKyAgICB9IHdoaWxlIChzdGF0dXMgPT0gU1RBVFVTX1JFVFJZKTsKKworICAg
IGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWw0OworCisgICAgc3Rh
dHVzID0gX19Gcm9udGVuZFJlYWRQYXJhbWV0ZXIoRnJvbnRlbmQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm5hbWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZGcm9udGVuZC0+TmFtZSk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykp
CisgICAgICAgIGdvdG8gZmFpbDU7CisKKyAgICAoVk9JRClfX0Zyb250ZW5kUmVhZFBhcmFtZXRl
cihGcm9udGVuZCwgInByb3RvY29sIiwgJkZyb250ZW5kLT5Qcm90b2NvbCk7CisKKyAgICBfX0Zy
b250ZW5kU2V0U3RhdGUoRnJvbnRlbmQsIFhlbmJ1c1N0YXRlQ29ubmVjdGVkKTsKKworICAgIFN0
YXRlID0gWGVuYnVzU3RhdGVVbmtub3duOworICAgIHdoaWxlIChTdGF0ZSAhPSBYZW5idXNTdGF0
ZUNvbm5lY3RlZCkgeworICAgICAgICBTdGF0ZSA9IF9fRnJvbnRlbmRXYWl0U3RhdGUoRnJvbnRl
bmQsIFN0YXRlKTsKKyAgICAgICAgc3dpdGNoIChTdGF0ZSkgeworICAgICAgICBjYXNlIFhlbmJ1
c1N0YXRlQ29ubmVjdGVkOgorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBYZW5i
dXNTdGF0ZUNsb3NlZDoKKyAgICAgICAgY2FzZSBYZW5idXNTdGF0ZVVua25vd246CisgICAgICAg
ICAgICBzdGF0dXMgPSBTVEFUVVNfVU5TVUNDRVNTRlVMOworICAgICAgICAgICAgZ290byBmYWls
NjsKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAg
ICB9CisKKyAgICBUcmFjZSgiPD09PT1cbiIpOworICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsK
KworZmFpbDY6CisgICAgRXJyb3IoImZhaWw2XG4iKTsKKworICAgIF9fRnJvbnRlbmRGcmVlKEZy
b250ZW5kLT5Qcm90b2NvbCk7CisgICAgRnJvbnRlbmQtPlByb3RvY29sID0gTlVMTDsKKworICAg
IF9fRnJvbnRlbmRGcmVlKEZyb250ZW5kLT5OYW1lKTsKKyAgICBGcm9udGVuZC0+TmFtZSA9IE5V
TEw7CisKK2ZhaWw1OgorICAgIEVycm9yKCJmYWlsNVxuIik7CisKK2ZhaWw0OgorICAgIEVycm9y
KCJmYWlsNFxuIik7CisKKy8vZmFpbDM6CisvLyAgICBFcnJvcigiZmFpbDNcbiIpOworCisgICAg
WEVOQlVTX0RFQlVHKERlcmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+RGVi
dWdJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5EZWJ1Z0NhbGxiYWNrKTsK
KyAgICBGcm9udGVuZC0+RGVidWdDYWxsYmFjayA9IE5VTEw7CisKK2ZhaWwyOgorICAgIEVycm9y
KCJmYWlsMlxuIik7CisKKyAgICBYRU5CVVNfREVCVUcoUmVsZWFzZSwgJkZyb250ZW5kLT5EZWJ1
Z0ludGVyZmFjZSk7CisKK2ZhaWwxOgorICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1
cyk7CisKKyAgICBUcmFjZSgiPD09PT1cbiIpOworICAgIHJldHVybiBzdGF0dXM7Cit9CisKK3N0
YXRpYyBWT0lECitGcm9udGVuZERpc2Nvbm5lY3QoCisgICAgSU4gIFBYRU5DT05TX0ZST05URU5E
ICAgRnJvbnRlbmQKKyAgICApCit7CisgICAgVHJhY2UoIj09PT0+XG4iKTsKKworICAgIF9fRnJv
bnRlbmRGcmVlKEZyb250ZW5kLT5Qcm90b2NvbCk7CisgICAgRnJvbnRlbmQtPlByb3RvY29sID0g
TlVMTDsKKworICAgIF9fRnJvbnRlbmRGcmVlKEZyb250ZW5kLT5OYW1lKTsKKyAgICBGcm9udGVu
ZC0+TmFtZSA9IE5VTEw7CisKKyAgICAvL1JpbmdEaXNjb25uZWN0KEZyb250ZW5kLT5SaW5nKTsK
KworICAgIFhFTkJVU19ERUJVRyhEZXJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAmRnJvbnRl
bmQtPkRlYnVnSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICBGcm9udGVuZC0+RGVidWdDYWxs
YmFjayk7CisgICAgRnJvbnRlbmQtPkRlYnVnQ2FsbGJhY2sgPSBOVUxMOworCisgICAgWEVOQlVT
X0RFQlVHKFJlbGVhc2UsICZGcm9udGVuZC0+RGVidWdJbnRlcmZhY2UpOworCisgICAgVHJhY2Uo
Ijw9PT09XG4iKTsKK30KKworc3RhdGljIE5UU1RBVFVTCitGcm9udGVuZEVuYWJsZSgKKyAgICBJ
TiAgUFhFTkNPTlNfRlJPTlRFTkQgICBGcm9udGVuZAorICAgICkKK3sKKyAgICBUcmFjZSgiPT09
PT5cbiIpOworCisgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihGcm9udGVuZCk7CisgICAgLy9S
aW5nRW5hYmxlKEZyb250ZW5kLT5SaW5nKTsKKworICAgIFRyYWNlKCI8PT09PVxuIik7CisgICAg
cmV0dXJuIFNUQVRVU19TVUNDRVNTOworfQorCitzdGF0aWMgVk9JRAorRnJvbnRlbmREaXNhYmxl
KAorICAgIElOICBQWEVOQ09OU19GUk9OVEVORCAgIEZyb250ZW5kCisgICAgKQoreworICAgIFRy
YWNlKCI9PT09PlxuIik7CisKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKEZyb250ZW5kKTsK
KyAgICAvL1JpbmdEaXNhYmxlKEZyb250ZW5kLT5SaW5nKTsKKworICAgIFRyYWNlKCI8PT09PVxu
Iik7Cit9CisKK05UU1RBVFVTCitGcm9udGVuZFNldFN0YXRlKAorICAgIElOICBQWEVOQ09OU19G
Uk9OVEVORCAgIEZyb250ZW5kLAorICAgIElOICBGUk9OVEVORF9TVEFURSAgICAgIFN0YXRlCisg
ICAgKQoreworICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICBGYWlsZWQ7CisgICAgS0lS
UUwgICAgICAgICAgICAgICAgICAgICAgIElycWw7CisKKyAgICBLZUFjcXVpcmVTcGluTG9jaygm
RnJvbnRlbmQtPkxvY2ssICZJcnFsKTsKKworICAgIEluZm8oIiVzOiA9PT09PiAnJXMnIC0+ICcl
cydcbiIsCisgICAgICAgICBfX0Zyb250ZW5kR2V0UGF0aChGcm9udGVuZCksCisgICAgICAgICBG
cm9udGVuZFN0YXRlTmFtZShGcm9udGVuZC0+U3RhdGUpLAorICAgICAgICAgRnJvbnRlbmRTdGF0
ZU5hbWUoU3RhdGUpKTsKKworICAgIEZhaWxlZCA9IEZBTFNFOworICAgIHdoaWxlIChGcm9udGVu
ZC0+U3RhdGUgIT0gU3RhdGUgJiYgIUZhaWxlZCkgeworICAgICAgICBOVFNUQVRVUyAgICBzdGF0
dXM7CisKKyAgICAgICAgc3dpdGNoIChGcm9udGVuZC0+U3RhdGUpIHsKKyAgICAgICAgY2FzZSBG
Uk9OVEVORF9VTktOT1dOOgorICAgICAgICAgICAgc3dpdGNoIChTdGF0ZSkgeworICAgICAgICAg
ICAgY2FzZSBGUk9OVEVORF9DTE9TRUQ6CisgICAgICAgICAgICBjYXNlIEZST05URU5EX1BSRVBB
UkVEOgorICAgICAgICAgICAgY2FzZSBGUk9OVEVORF9DT05ORUNURUQ6CisgICAgICAgICAgICBj
YXNlIEZST05URU5EX0VOQUJMRUQ6CisgICAgICAgICAgICAgICAgc3RhdHVzID0gRnJvbnRlbmRQ
cmVwYXJlKEZyb250ZW5kKTsKKyAgICAgICAgICAgICAgICBpZiAoTlRfU1VDQ0VTUyhzdGF0dXMp
KSB7CisgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5TdGF0ZSA9IEZST05URU5EX1BSRVBB
UkVEOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIEZhaWxl
ZCA9IFRSVUU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworCisg
ICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIEFTU0VSVChGQUxTRSk7CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKwor
ICAgICAgICBjYXNlIEZST05URU5EX0NMT1NFRDoKKyAgICAgICAgICAgIHN3aXRjaCAoU3RhdGUp
IHsKKyAgICAgICAgICAgIGNhc2UgRlJPTlRFTkRfUFJFUEFSRUQ6CisgICAgICAgICAgICBjYXNl
IEZST05URU5EX0NPTk5FQ1RFRDoKKyAgICAgICAgICAgIGNhc2UgRlJPTlRFTkRfRU5BQkxFRDoK
KyAgICAgICAgICAgICAgICBzdGF0dXMgPSBGcm9udGVuZFByZXBhcmUoRnJvbnRlbmQpOworICAg
ICAgICAgICAgICAgIGlmIChOVF9TVUNDRVNTKHN0YXR1cykpIHsKKyAgICAgICAgICAgICAgICAg
ICAgRnJvbnRlbmQtPlN0YXRlID0gRlJPTlRFTkRfUFJFUEFSRUQ7CisgICAgICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgRmFpbGVkID0gVFJVRTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgRlJPTlRF
TkRfVU5LTk9XTjoKKyAgICAgICAgICAgICAgICBGcm9udGVuZC0+U3RhdGUgPSBGUk9OVEVORF9V
TktOT1dOOworICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgICAgIEFTU0VSVChGQUxTRSk7CisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIEZST05URU5E
X1BSRVBBUkVEOgorICAgICAgICAgICAgc3dpdGNoIChTdGF0ZSkgeworICAgICAgICAgICAgY2Fz
ZSBGUk9OVEVORF9DT05ORUNURUQ6CisgICAgICAgICAgICBjYXNlIEZST05URU5EX0VOQUJMRUQ6
CisgICAgICAgICAgICAgICAgc3RhdHVzID0gRnJvbnRlbmRDb25uZWN0KEZyb250ZW5kKTsKKyAg
ICAgICAgICAgICAgICBpZiAoTlRfU1VDQ0VTUyhzdGF0dXMpKSB7CisgICAgICAgICAgICAgICAg
ICAgIEZyb250ZW5kLT5TdGF0ZSA9IEZST05URU5EX0NPTk5FQ1RFRDsKKyAgICAgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBGcm9udGVuZENsb3NlKEZyb250ZW5kKTsK
KyAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPlN0YXRlID0gRlJPTlRFTkRfQ0xPU0VEOwor
CisgICAgICAgICAgICAgICAgICAgIEZhaWxlZCA9IFRSVUU7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIEZST05URU5EX0NMT1NF
RDoKKyAgICAgICAgICAgIGNhc2UgRlJPTlRFTkRfVU5LTk9XTjoKKyAgICAgICAgICAgICAgICBG
cm9udGVuZENsb3NlKEZyb250ZW5kKTsKKyAgICAgICAgICAgICAgICBGcm9udGVuZC0+U3RhdGUg
PSBGUk9OVEVORF9DTE9TRUQ7CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAg
IGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgQVNTRVJUKEZBTFNFKTsKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNh
c2UgRlJPTlRFTkRfQ09OTkVDVEVEOgorICAgICAgICAgICAgc3dpdGNoIChTdGF0ZSkgeworICAg
ICAgICAgICAgY2FzZSBGUk9OVEVORF9FTkFCTEVEOgorICAgICAgICAgICAgICAgIHN0YXR1cyA9
IEZyb250ZW5kRW5hYmxlKEZyb250ZW5kKTsKKyAgICAgICAgICAgICAgICBpZiAoTlRfU1VDQ0VT
UyhzdGF0dXMpKSB7CisgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5TdGF0ZSA9IEZST05U
RU5EX0VOQUJMRUQ7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAg
ICAgRnJvbnRlbmRDbG9zZShGcm9udGVuZCk7CisgICAgICAgICAgICAgICAgICAgIEZyb250ZW5k
LT5TdGF0ZSA9IEZST05URU5EX0NMT1NFRDsKKworICAgICAgICAgICAgICAgICAgICBGcm9udGVu
ZERpc2Nvbm5lY3QoRnJvbnRlbmQpOworICAgICAgICAgICAgICAgICAgICBGYWlsZWQgPSBUUlVF
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAg
ICAgY2FzZSBGUk9OVEVORF9QUkVQQVJFRDoKKyAgICAgICAgICAgIGNhc2UgRlJPTlRFTkRfQ0xP
U0VEOgorICAgICAgICAgICAgY2FzZSBGUk9OVEVORF9VTktOT1dOOgorICAgICAgICAgICAgICAg
IEZyb250ZW5kQ2xvc2UoRnJvbnRlbmQpOworICAgICAgICAgICAgICAgIEZyb250ZW5kLT5TdGF0
ZSA9IEZST05URU5EX0NMT1NFRDsKKworICAgICAgICAgICAgICAgIEZyb250ZW5kRGlzY29ubmVj
dChGcm9udGVuZCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGRlZmF1
bHQ6CisgICAgICAgICAgICAgICAgQVNTRVJUKEZBTFNFKTsKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgRlJP
TlRFTkRfRU5BQkxFRDoKKyAgICAgICAgICAgIHN3aXRjaCAoU3RhdGUpIHsKKyAgICAgICAgICAg
IGNhc2UgRlJPTlRFTkRfQ09OTkVDVEVEOgorICAgICAgICAgICAgY2FzZSBGUk9OVEVORF9QUkVQ
QVJFRDoKKyAgICAgICAgICAgIGNhc2UgRlJPTlRFTkRfQ0xPU0VEOgorICAgICAgICAgICAgY2Fz
ZSBGUk9OVEVORF9VTktOT1dOOgorICAgICAgICAgICAgICAgIEZyb250ZW5kRGlzYWJsZShGcm9u
dGVuZCk7CisgICAgICAgICAgICAgICAgRnJvbnRlbmQtPlN0YXRlID0gRlJPTlRFTkRfQ09OTkVD
VEVEOworICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgICAgIEFTU0VSVChGQUxTRSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBkZWZhdWx0OgorICAgICAg
ICAgICAgQVNTRVJUKEZBTFNFKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAg
ICAgICAgSW5mbygiJXMgaW4gc3RhdGUgJyVzJ1xuIiwKKyAgICAgICAgICAgICBfX0Zyb250ZW5k
R2V0UGF0aChGcm9udGVuZCksCisgICAgICAgICAgICAgRnJvbnRlbmRTdGF0ZU5hbWUoRnJvbnRl
bmQtPlN0YXRlKSk7CisgICAgfQorCisgICAgS2VSZWxlYXNlU3BpbkxvY2soJkZyb250ZW5kLT5M
b2NrLCBJcnFsKTsKKworICAgIEluZm8oIiVzOiA8PT09PT1cbiIsIF9fRnJvbnRlbmRHZXRQYXRo
KEZyb250ZW5kKSk7CisKKyAgICByZXR1cm4gKCFGYWlsZWQpID8gU1RBVFVTX1NVQ0NFU1MgOiBT
VEFUVVNfVU5TVUNDRVNTRlVMOworfQorCitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFU
VVMKK0Zyb250ZW5kRWplY3QoCisgICAgSU4gIFBYRU5DT05TX1RIUkVBRCBTZWxmLAorICAgIElO
ICBQVk9JRCAgICAgICAgICAgQ29udGV4dAorICAgICkKK3sKKyAgICBQWEVOQ09OU19GUk9OVEVO
RCAgIEZyb250ZW5kID0gQ29udGV4dDsKKyAgICBQS0VWRU5UICAgICAgICAgICAgIEV2ZW50Owor
CisgICAgVHJhY2UoIiVzOiA9PT09PlxuIiwgX19Gcm9udGVuZEdldFBhdGgoRnJvbnRlbmQpKTsK
KworICAgIEV2ZW50ID0gVGhyZWFkR2V0RXZlbnQoU2VsZik7CisKKyAgICBmb3IgKDs7KSB7Cisg
ICAgICAgIEtJUlFMICAgICAgIElycWw7CisKKyAgICAgICAgS2VXYWl0Rm9yU2luZ2xlT2JqZWN0
KEV2ZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXhlY3V0aXZlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgS2VybmVsTW9kZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7Cisg
ICAgICAgIEtlQ2xlYXJFdmVudChFdmVudCk7CisKKyAgICAgICAgaWYgKFRocmVhZElzQWxlcnRl
ZChTZWxmKSkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIEtlQWNxdWlyZVNwaW5Mb2Nr
KCZGcm9udGVuZC0+TG9jaywgJklycWwpOworCisgICAgICAgIC8vIEl0IGlzIG5vdCBzYWZlIHRv
IHVzZSBpbnRlcmZhY2VzIGJlZm9yZSB0aGlzIHBvaW50CisgICAgICAgIGlmIChGcm9udGVuZC0+
U3RhdGUgPT0gRlJPTlRFTkRfVU5LTk9XTiB8fAorICAgICAgICAgICAgRnJvbnRlbmQtPlN0YXRl
ID09IEZST05URU5EX0NMT1NFRCkKKyAgICAgICAgICAgIGdvdG8gbG9vcDsKKworICAgICAgICBp
ZiAoIUZyb250ZW5kSXNPbmxpbmUoRnJvbnRlbmQpKQorICAgICAgICAgICAgZ290byBsb29wOwor
CisgICAgICAgIGlmICghRnJvbnRlbmRJc0JhY2tlbmRPbmxpbmUoRnJvbnRlbmQpKQorICAgICAg
ICAgICAgUGRvUmVxdWVzdEVqZWN0KF9fRnJvbnRlbmRHZXRQZG8oRnJvbnRlbmQpKTsKKworICAg
IGxvb3A6CisgICAgICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZGcm9udGVuZC0+TG9jaywgSXJxbCk7
CisKKyAgICAgICAgS2VTZXRFdmVudCgmRnJvbnRlbmQtPkVqZWN0RXZlbnQsIElPX05PX0lOQ1JF
TUVOVCwgRkFMU0UpOworICAgIH0KKworICAgIEtlU2V0RXZlbnQoJkZyb250ZW5kLT5FamVjdEV2
ZW50LCBJT19OT19JTkNSRU1FTlQsIEZBTFNFKTsKKworICAgIFRyYWNlKCIlczogPD09PT1cbiIs
IF9fRnJvbnRlbmRHZXRQYXRoKEZyb250ZW5kKSk7CisKKyAgICByZXR1cm4gU1RBVFVTX1NVQ0NF
U1M7Cit9CisKK3N0YXRpYyBGT1JDRUlOTElORSBWT0lECitfX0Zyb250ZW5kUmVzdW1lKAorICAg
IElOICBQWEVOQ09OU19GUk9OVEVORCAgIEZyb250ZW5kCisgICAgKQoreworICAgIEFTU0VSVDNV
KEtlR2V0Q3VycmVudElycWwoKSwgPT0gLCBESVNQQVRDSF9MRVZFTCk7CisKKyAgICBBU1NFUlQz
VShGcm9udGVuZC0+U3RhdGUsID09ICwgRlJPTlRFTkRfVU5LTk9XTik7CisgICAgLy8gYmFja2Vu
ZHMgY2FuIGJlIHByb2JsZW1hdGljIGlmIGNsb3NlZAorICAgIC8vKFZPSUQpRnJvbnRlbmRTZXRT
dGF0ZShGcm9udGVuZCwgRlJPTlRFTkRfQ0xPU0VEKTsKK30KKworc3RhdGljIEZPUkNFSU5MSU5F
IFZPSUQKK19fRnJvbnRlbmRTdXNwZW5kKAorICAgIElOICBQWEVOQ09OU19GUk9OVEVORCAgIEZy
b250ZW5kCisgICAgKQoreworICAgIEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwoKSwgPT0gLCBE
SVNQQVRDSF9MRVZFTCk7CisKKyAgICAoVk9JRClGcm9udGVuZFNldFN0YXRlKEZyb250ZW5kLCBG
Uk9OVEVORF9VTktOT1dOKTsKK30KKworc3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIFZPSUQKK0Zy
b250ZW5kU3VzcGVuZENhbGxiYWNrKAorICAgIElOICBQVk9JRCAgICAgICAgICAgQXJndW1lbnQK
KyAgICApCit7CisgICAgUFhFTkNPTlNfRlJPTlRFTkQgICBGcm9udGVuZCA9IEFyZ3VtZW50Owor
CisgICAgX19Gcm9udGVuZFN1c3BlbmQoRnJvbnRlbmQpOworICAgIF9fRnJvbnRlbmRSZXN1bWUo
RnJvbnRlbmQpOworfQorCitOVFNUQVRVUworRnJvbnRlbmRSZXN1bWUoCisgICAgSU4gIFBYRU5D
T05TX0ZST05URU5EICAgRnJvbnRlbmQKKyAgICApCit7CisgICAgS0lSUUwgICAgICAgICAgICAg
ICAgICAgSXJxbDsKKyAgICBOVFNUQVRVUyAgICAgICAgICAgICAgICBzdGF0dXM7CisKKyAgICBU
cmFjZSgiPT09PT5cbiIpOworCisgICAgS2VSYWlzZUlycWwoRElTUEFUQ0hfTEVWRUwsICZJcnFs
KTsKKworICAgIHN0YXR1cyA9IFhFTkJVU19TVVNQRU5EKEFjcXVpcmUsICZGcm9udGVuZC0+U3Vz
cGVuZEludGVyZmFjZSk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdv
dG8gZmFpbDE7CisKKyAgICBfX0Zyb250ZW5kUmVzdW1lKEZyb250ZW5kKTsKKworICAgIHN0YXR1
cyA9IFhFTkJVU19TVVNQRU5EKFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZGcm9udGVuZC0+U3VzcGVuZEludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTVVNQRU5EX0NBTExCQUNLX0xBVEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJv
bnRlbmRTdXNwZW5kQ2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRl
bmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdXNwZW5kQ2FsbGJh
Y2spOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwyOwor
CisgICAgS2VMb3dlcklycWwoSXJxbCk7CisKKyAgICBLZUNsZWFyRXZlbnQoJkZyb250ZW5kLT5F
amVjdEV2ZW50KTsKKyAgICBUaHJlYWRXYWtlKEZyb250ZW5kLT5FamVjdFRocmVhZCk7CisKKyAg
ICBUcmFjZSgid2FpdGluZyBmb3IgZWplY3QgdGhyZWFkXG4iKTsKKworICAgIChWT0lEKUtlV2Fp
dEZvclNpbmdsZU9iamVjdCgmRnJvbnRlbmQtPkVqZWN0RXZlbnQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEV4ZWN1dGl2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgS2VybmVsTW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworCisgICAgVHJhY2UoIjw9PT09
XG4iKTsKKworICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKKworZmFpbDI6CisgICAgRXJyb3Io
ImZhaWwyXG4iKTsKKworICAgIF9fRnJvbnRlbmRTdXNwZW5kKEZyb250ZW5kKTsKKworICAgIFhF
TkJVU19TVVNQRU5EKFJlbGVhc2UsICZGcm9udGVuZC0+U3VzcGVuZEludGVyZmFjZSk7CisKK2Zh
aWwxOgorICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7CisKKyAgICBLZUxvd2Vy
SXJxbChJcnFsKTsKKworICAgIHJldHVybiBzdGF0dXM7Cit9CisKK1ZPSUQKK0Zyb250ZW5kU3Vz
cGVuZCgKKyAgICBJTiAgUFhFTkNPTlNfRlJPTlRFTkQgICBGcm9udGVuZAorICAgICkKK3sKKyAg
ICBLSVJRTCAgICAgICAgICAgICAgICAgICBJcnFsOworCisgICAgVHJhY2UoIj09PT0+XG4iKTsK
KworICAgIEtlUmFpc2VJcnFsKERJU1BBVENIX0xFVkVMLCAmSXJxbCk7CisKKyAgICBYRU5CVVNf
U1VTUEVORChEZXJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3VzcGVu
ZEludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+U3VzcGVuZENhbGxiYWNr
KTsKKyAgICBGcm9udGVuZC0+U3VzcGVuZENhbGxiYWNrID0gTlVMTDsKKworICAgIF9fRnJvbnRl
bmRTdXNwZW5kKEZyb250ZW5kKTsKKworICAgIFhFTkJVU19TVVNQRU5EKFJlbGVhc2UsICZGcm9u
dGVuZC0+U3VzcGVuZEludGVyZmFjZSk7CisKKyAgICBLZUxvd2VySXJxbChJcnFsKTsKKworICAg
IEtlQ2xlYXJFdmVudCgmRnJvbnRlbmQtPkVqZWN0RXZlbnQpOworICAgIFRocmVhZFdha2UoRnJv
bnRlbmQtPkVqZWN0VGhyZWFkKTsKKworICAgIFRyYWNlKCJ3YWl0aW5nIGZvciBlamVjdCB0aHJl
YWRcbiIpOworCisgICAgKFZPSUQpS2VXYWl0Rm9yU2luZ2xlT2JqZWN0KCZGcm9udGVuZC0+RWpl
Y3RFdmVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXhlY3V0aXZlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLZXJuZWxNb2RlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TlVMTCk7CisKKyAgICBUcmFjZSgiPD09PT1cbiIpOworfQorCitOVFNUQVRVUworRnJvbnRlbmRD
cmVhdGUoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICAgICAgUGRvLAorICAgIE9VVCBQWEVOQ09O
U19GUk9OVEVORCAgICpGcm9udGVuZAorICAgICkKK3sKKyAgICBQQ0hBUiAgICAgICAgICAgICAg
ICAgICBOYW1lOworICAgIFVMT05HICAgICAgICAgICAgICAgICAgIExlbmd0aDsKKyAgICBQQ0hB
UiAgICAgICAgICAgICAgICAgICBQYXRoOworICAgIE5UU1RBVFVTICAgICAgICAgICAgICAgIHN0
YXR1czsKKworICAgIE5hbWUgPSBQZG9HZXROYW1lKFBkbyk7CisKKyAgICBMZW5ndGggPSBzaXpl
b2YoImRldmljZXMvY29uc29sZS8iKSArIChVTE9ORylzdHJsZW4oTmFtZSk7CisgICAgUGF0aCA9
IF9fRnJvbnRlbmRBbGxvY2F0ZShMZW5ndGgpOworCisgICAgc3RhdHVzID0gU1RBVFVTX05PX01F
TU9SWTsKKyAgICBpZiAoUGF0aCA9PSBOVUxMKQorICAgICAgICBnb3RvIGZhaWwxOworCisgICAg
c3RhdHVzID0gUnRsU3RyaW5nQ2JQcmludGZBKFBhdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIExlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRldmlj
ZS9jb25zb2xlLyVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSk7Cisg
ICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDI7CisKKyAgICAq
RnJvbnRlbmQgPSBfX0Zyb250ZW5kQWxsb2NhdGUoc2l6ZW9mKFhFTkNPTlNfRlJPTlRFTkQpKTsK
KworICAgIHN0YXR1cyA9IFNUQVRVU19OT19NRU1PUlk7CisgICAgaWYgKCpGcm9udGVuZCA9PSBO
VUxMKQorICAgICAgICBnb3RvIGZhaWwzOworCisgICAgKCpGcm9udGVuZCktPlBkbyA9IFBkbzsK
KyAgICAoKkZyb250ZW5kKS0+UGF0aCA9IFBhdGg7CisgICAgKCpGcm9udGVuZCktPkJhY2tlbmRE
b21haW4gPSBET01JRF9JTlZBTElEOworCisgICAgS2VJbml0aWFsaXplU3BpbkxvY2soJigqRnJv
bnRlbmQpLT5Mb2NrKTsKKworICAgICgqRnJvbnRlbmQpLT5PbmxpbmUgPSBUUlVFOworCisgICAg
RmRvR2V0RGVidWdJbnRlcmZhY2UoUGRvR2V0RmRvKFBkbyksICYoKkZyb250ZW5kKS0+RGVidWdJ
bnRlcmZhY2UpOworICAgIEZkb0dldFN1c3BlbmRJbnRlcmZhY2UoUGRvR2V0RmRvKFBkbyksICYo
KkZyb250ZW5kKS0+U3VzcGVuZEludGVyZmFjZSk7CisgICAgRmRvR2V0U3RvcmVJbnRlcmZhY2Uo
UGRvR2V0RmRvKFBkbyksICYoKkZyb250ZW5kKS0+U3RvcmVJbnRlcmZhY2UpOworCisgICAgS2VJ
bml0aWFsaXplRXZlbnQoJigqRnJvbnRlbmQpLT5FamVjdEV2ZW50LCBOb3RpZmljYXRpb25FdmVu
dCwgRkFMU0UpOworCisgICAgc3RhdHVzID0gVGhyZWFkQ3JlYXRlKEZyb250ZW5kRWplY3QsICpG
cm9udGVuZCwgJigqRnJvbnRlbmQpLT5FamVjdFRocmVhZCk7CisgICAgaWYgKCFOVF9TVUNDRVNT
KHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDQ7CisKKyAgICByZXR1cm4gU1RBVFVTX1NVQ0NF
U1M7CisKK2ZhaWw0OgorICAgIEVycm9yKCJmYWlsNFxuIik7CisKKyAgICBSdGxaZXJvTWVtb3J5
KCYoKkZyb250ZW5kKS0+RWplY3RFdmVudCwgc2l6ZW9mKEtFVkVOVCkpOworCisgICAgUnRsWmVy
b01lbW9yeSgmKCpGcm9udGVuZCktPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAg
c2l6ZW9mKFhFTkJVU19TVE9SRV9JTlRFUkZBQ0UpKTsKKworICAgIFJ0bFplcm9NZW1vcnkoJigq
RnJvbnRlbmQpLT5TdXNwZW5kSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgc2l6ZW9mKFhF
TkJVU19TVVNQRU5EX0lOVEVSRkFDRSkpOworCisgICAgUnRsWmVyb01lbW9yeSgmKCpGcm9udGVu
ZCktPkRlYnVnSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgc2l6ZW9mKFhFTkJVU19ERUJV
R19JTlRFUkZBQ0UpKTsKKworICAgICgqRnJvbnRlbmQpLT5PbmxpbmUgPSBGQUxTRTsKKworICAg
IFJ0bFplcm9NZW1vcnkoJigqRnJvbnRlbmQpLT5Mb2NrLCBzaXplb2YoS1NQSU5fTE9DSykpOwor
CisgICAgKCpGcm9udGVuZCktPkJhY2tlbmREb21haW4gPSAwOworICAgICgqRnJvbnRlbmQpLT5Q
YXRoID0gTlVMTDsKKyAgICAoKkZyb250ZW5kKS0+UGRvID0gTlVMTDsKKworICAgIEFTU0VSVChJ
c1plcm9NZW1vcnkoKkZyb250ZW5kLCBzaXplb2YoWEVOQ09OU19GUk9OVEVORCkpKTsKKworICAg
IF9fRnJvbnRlbmRGcmVlKCpGcm9udGVuZCk7CisgICAgKkZyb250ZW5kID0gTlVMTDsKKworZmFp
bDM6CisgICAgRXJyb3IoImZhaWwzXG4iKTsKKworZmFpbDI6CisgICAgRXJyb3IoImZhaWwyXG4i
KTsKKworICAgIF9fRnJvbnRlbmRGcmVlKFBhdGgpOworCitmYWlsMToKKyAgICBFcnJvcigiZmFp
bDEgKCUwOHgpXG4iLCBzdGF0dXMpOworCisgICAgcmV0dXJuIHN0YXR1czsKK30KKworVk9JRAor
RnJvbnRlbmREZXN0cm95KAorICAgIElOICBQWEVOQ09OU19GUk9OVEVORCAgIEZyb250ZW5kCisg
ICAgKQoreworICAgIEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwoKSwgPT0gLCBQQVNTSVZFX0xF
VkVMKTsKKworICAgIEFTU0VSVChGcm9udGVuZC0+U3RhdGUgPT0gRlJPTlRFTkRfVU5LTk9XTik7
CisKKyAgICBUaHJlYWRBbGVydChGcm9udGVuZC0+RWplY3RUaHJlYWQpOworICAgIFRocmVhZEpv
aW4oRnJvbnRlbmQtPkVqZWN0VGhyZWFkKTsKKyAgICBGcm9udGVuZC0+RWplY3RUaHJlYWQgPSBO
VUxMOworCisgICAgUnRsWmVyb01lbW9yeSgmRnJvbnRlbmQtPkVqZWN0RXZlbnQsIHNpemVvZihL
RVZFTlQpKTsKKworICAgIFJ0bFplcm9NZW1vcnkoJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwK
KyAgICAgICAgICAgICAgICAgIHNpemVvZihYRU5CVVNfU1RPUkVfSU5URVJGQUNFKSk7CisKKyAg
ICBSdGxaZXJvTWVtb3J5KCZGcm9udGVuZC0+U3VzcGVuZEludGVyZmFjZSwKKyAgICAgICAgICAg
ICAgICAgIHNpemVvZihYRU5CVVNfU1VTUEVORF9JTlRFUkZBQ0UpKTsKKworICAgIFJ0bFplcm9N
ZW1vcnkoJkZyb250ZW5kLT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIHNpemVv
ZihYRU5CVVNfREVCVUdfSU5URVJGQUNFKSk7CisKKyAgICBSdGxaZXJvTWVtb3J5KCZGcm9udGVu
ZC0+TG9jaywgc2l6ZW9mKEtTUElOX0xPQ0spKTsKKworICAgIEZyb250ZW5kLT5CYWNrZW5kRG9t
YWluID0gMDsKKworICAgIF9fRnJvbnRlbmRGcmVlKEZyb250ZW5kLT5QYXRoKTsKKyAgICBGcm9u
dGVuZC0+UGF0aCA9IE5VTEw7CisKKyAgICBGcm9udGVuZC0+UGRvID0gTlVMTDsKKworICAgIEFT
U0VSVChJc1plcm9NZW1vcnkoRnJvbnRlbmQsIHNpemVvZihYRU5DT05TX0ZST05URU5EKSkpOwor
ICAgIF9fRnJvbnRlbmRGcmVlKEZyb250ZW5kKTsKK30KZGlmZiAtLWdpdCBhL3NyYy94ZW5jb25z
L2Zyb250ZW5kLmggYi9zcmMveGVuY29ucy9mcm9udGVuZC5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1
CmluZGV4IDAwMDAwMDAuLjVlZmYwNjcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMveGVuY29ucy9m
cm9udGVuZC5oCkBAIC0wLDAgKzEsMTI0IEBACisvKiAgIENvcHlyaWdodCAoYykgQ2l0cml4IFN5
c3RlbXMgSW5jLgorKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLAorKiB3aXRoIG9yIHdpdGhvdXQgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisqIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6CisqCisqICogICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisqICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlCisqICAgICBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyog
KiAgIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUKKyogICAgIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlcgorKiAgICAgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5ECisqIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsCisqIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GCisqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgSE9MREVSIE9SCisqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwKKyogV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCisqIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorKiBTVUNIIERBTUFH
RS4KKyovCisKKyNpZm5kZWYgX1hFTkNPTlNfRlJPTlRFTkRfSAorI2RlZmluZSBfWEVOQ09OU19G
Uk9OVEVORF9ICisKKyNpbmNsdWRlIDxudGRkay5oPgorCisjaW5jbHVkZSAiZHJpdmVyLmgiCisK
K3R5cGVkZWYgc3RydWN0IF9YRU5DT05TX0ZST05URU5EIFhFTkNPTlNfRlJPTlRFTkQsICpQWEVO
Q09OU19GUk9OVEVORDsKKwordHlwZWRlZiBlbnVtIF9GUk9OVEVORF9TVEFURSB7CisgICAgRlJP
TlRFTkRfVU5LTk9XTiwKKyAgICBGUk9OVEVORF9DTE9TRUQsCisgICAgRlJPTlRFTkRfUFJFUEFS
RUQsCisgICAgRlJPTlRFTkRfQ09OTkVDVEVELAorICAgIEZST05URU5EX0VOQUJMRUQKK30gRlJP
TlRFTkRfU1RBVEUsICpQRlJPTlRFTkRfU1RBVEU7CisKK2V4dGVybiBOVFNUQVRVUworRnJvbnRl
bmRDcmVhdGUoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICAgICAgUGRvLAorICAgIE9VVCBQWEVO
Q09OU19GUk9OVEVORCAgICpGcm9udGVuZAorICAgICk7CisKK2V4dGVybiBWT0lECitGcm9udGVu
ZERlc3Ryb3koCisgICAgSU4gIFBYRU5DT05TX0ZST05URU5EICAgRnJvbnRlbmQKKyAgICApOwor
CitleHRlcm4gTlRTVEFUVVMKK0Zyb250ZW5kUmVzdW1lKAorICAgIElOICBQWEVOQ09OU19GUk9O
VEVORCAgIEZyb250ZW5kCisgICAgKTsKKworZXh0ZXJuIFZPSUQKK0Zyb250ZW5kU3VzcGVuZCgK
KyAgICBJTiAgUFhFTkNPTlNfRlJPTlRFTkQgICBGcm9udGVuZAorICAgICk7CisKK2V4dGVybiBO
VFNUQVRVUworRnJvbnRlbmRTZXRTdGF0ZSgKKyAgICBJTiAgUFhFTkNPTlNfRlJPTlRFTkQgICBG
cm9udGVuZCwKKyAgICBJTiAgRlJPTlRFTkRfU1RBVEUgICAgICBTdGF0ZQorICAgICk7CisKK2V4
dGVybiBQWEVOQ09OU19QRE8KK0Zyb250ZW5kR2V0UGRvKAorICAgIElOICBQWEVOQ09OU19GUk9O
VEVORCAgIEZyb250ZW5kCisgICAgKTsKKworZXh0ZXJuIFBDSEFSCitGcm9udGVuZEdldFBhdGgo
CisgICAgSU4gIFBYRU5DT05TX0ZST05URU5EICAgRnJvbnRlbmQKKyAgICApOworCitleHRlcm4g
UENIQVIKK0Zyb250ZW5kR2V0QmFja2VuZFBhdGgoCisgICAgSU4gIFBYRU5DT05TX0ZST05URU5E
ICAgRnJvbnRlbmQKKyAgICApOworCitleHRlcm4gVVNIT1JUCitGcm9udGVuZEdldEJhY2tlbmRE
b21haW4oCisgICAgSU4gIFBYRU5DT05TX0ZST05URU5EICAgRnJvbnRlbmQKKyAgICApOworCitl
eHRlcm4gUENIQVIKK0Zyb250ZW5kR2V0TmFtZSgKKyAgICBJTiAgUFhFTkNPTlNfRlJPTlRFTkQg
ICBGcm9udGVuZAorICAgICk7CisKK2V4dGVybiBQQ0hBUgorRnJvbnRlbmRHZXRQcm90b2NvbCgK
KyAgICBJTiAgUFhFTkNPTlNfRlJPTlRFTkQgICBGcm9udGVuZAorICAgICk7CisKK2V4dGVybiBO
VFNUQVRVUworRnJvbnRlbmREaXNwYXRjaENyZWF0ZSgKKyAgICBJTiAgUFhFTkNPTlNfRlJPTlRF
TkQgICBGcm9udGVuZCwKKyAgICBJTiAgUEZJTEVfT0JKRUNUICAgICAgICBGaWxlT2JqZWN0Cisg
ICAgKTsKKworZXh0ZXJuIE5UU1RBVFVTCitGcm9udGVuZERpc3BhdGNoQ2xlYW51cCgKKyAgICBJ
TiAgUFhFTkNPTlNfRlJPTlRFTkQgICBGcm9udGVuZCwKKyAgICBJTiAgUEZJTEVfT0JKRUNUICAg
ICAgICBGaWxlT2JqZWN0CisgICAgKTsKKworZXh0ZXJuIE5UU1RBVFVTCitGcm9udGVuZERpc3Bh
dGNoUmVhZFdyaXRlKAorICAgIElOICBQWEVOQ09OU19GUk9OVEVORCAgIEZyb250ZW5kLAorICAg
IElOICBQSVJQICAgICAgICAgICAgICAgIElycAorICAgICk7CisKKyNlbmRpZiAgLy8gX1hFTkNP
TlNfRlJPTlRFTkRfSApkaWZmIC0tZ2l0IGEvc3JjL3hlbmNvbnMvcGRvLmMgYi9zcmMveGVuY29u
cy9wZG8uYwppbmRleCBjYzBkYzRlLi41MjhkMzZlIDEwMDc1NQotLS0gYS9zcmMveGVuY29ucy9w
ZG8uYworKysgYi9zcmMveGVuY29ucy9wZG8uYwpAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUg
InBkby5oIgogI2luY2x1ZGUgImRyaXZlci5oIgogI2luY2x1ZGUgInJlZ2lzdHJ5LmgiCisjaW5j
bHVkZSAiZnJvbnRlbmQuaCIKICNpbmNsdWRlICJ0aHJlYWQuaCIKICNpbmNsdWRlICJkYmdfcHJp
bnQuaCIKICNpbmNsdWRlICJhc3NlcnQuaCIKQEAgLTY2LDYgKzY3LDggQEAgc3RydWN0IF9YRU5D
T05TX1BETyB7CiAgICAgY29uc3QgQ0hBUiAgICAgICAgICAgICAgICAgICpSZWFzb247CiAgICAg
TE9ORyAgICAgICAgICAgICAgICAgICAgICAgIEVqZWN0OwogCisgICAgUFhFTkNPTlNfRlJPTlRF
TkQgICAgICAgICAgIEZyb250ZW5kOworCiAgICAgWEVOQlVTX1NVU1BFTkRfSU5URVJGQUNFICAg
IFN1c3BlbmRJbnRlcmZhY2U7CiAgICAgUFhFTkJVU19TVVNQRU5EX0NBTExCQUNLICAgIFN1c3Bl
bmRDYWxsYmFja0xhdGU7CiB9OwpAQCAtMzUyLDcgKzM1NSw4IEBAIF9fUGRvRDNUb0QwKAogICAg
ICkKIHsKICAgICBQT1dFUl9TVEFURSAgICAgICAgIFBvd2VyU3RhdGU7Ci0gICAgCisgICAgTlRT
VEFUVVMgICAgICAgICAgICBzdGF0dXM7CisKICAgICBUcmFjZSgiKCVzKSA9PT09PlxuIiwgX19Q
ZG9HZXROYW1lKFBkbykpOwogCiAgICAgQVNTRVJUM1UoS2VHZXRDdXJyZW50SXJxbCgpLCA9PSAs
IERJU1BBVENIX0xFVkVMKTsKQEAgLTM2MCw2ICszNjQsMTAgQEAgX19QZG9EM1RvRDAoCiAKICAg
ICBfX1Bkb1NldERldmljZVBvd2VyU3RhdGUoUGRvLCBQb3dlckRldmljZUQwKTsKIAorICAgIHN0
YXR1cyA9IEZyb250ZW5kU2V0U3RhdGUoUGRvLT5Gcm9udGVuZCwgRlJPTlRFTkRfRU5BQkxFRCk7
CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDE7CisKICAg
ICBQb3dlclN0YXRlLkRldmljZVN0YXRlID0gUG93ZXJEZXZpY2VEMDsKICAgICBQb1NldFBvd2Vy
U3RhdGUoX19QZG9HZXREZXZpY2VPYmplY3QoUGRvKSwKICAgICAgICAgICAgICAgICAgICAgRGV2
aWNlUG93ZXJTdGF0ZSwKQEAgLTM2OCw2ICszNzYsMTMgQEAgX19QZG9EM1RvRDAoCiAgICAgVHJh
Y2UoIiglcykgPD09PT1cbiIsIF9fUGRvR2V0TmFtZShQZG8pKTsKIAogICAgIHJldHVybiBTVEFU
VVNfU1VDQ0VTUzsKKworZmFpbDE6CisgICAgRXJyb3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVz
KTsKKworICAgIF9fUGRvU2V0RGV2aWNlUG93ZXJTdGF0ZShQZG8sIFBvd2VyRGV2aWNlRDMpOwor
CisgICAgcmV0dXJuIHN0YXR1czsKIH0KIAogc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKQEAgLTM4
Nyw2ICs0MDIsOCBAQCBfX1Bkb0QwVG9EMygKICAgICAgICAgICAgICAgICAgICAgRGV2aWNlUG93
ZXJTdGF0ZSwKICAgICAgICAgICAgICAgICAgICAgUG93ZXJTdGF0ZSk7CiAKKyAgICBGcm9udGVu
ZFNldFN0YXRlKFBkby0+RnJvbnRlbmQsIEZST05URU5EX0NMT1NFRCk7CisKICAgICBfX1Bkb1Nl
dERldmljZVBvd2VyU3RhdGUoUGRvLCBQb3dlckRldmljZUQzKTsKIAogICAgIFRyYWNlKCIoJXMp
IDw9PT09XG4iLCBfX1Bkb0dldE5hbWUoUGRvKSk7CkBAIC0xNTg3LDExICsxNjA0LDEzIEBAIFBk
b0Rpc3BhdGNoQ3JlYXRlKAogICAgIElOICBQSVJQICAgICAgICAgICAgSXJwCiAgICAgKQogewor
ICAgIFBJT19TVEFDS19MT0NBVElPTiAgU3RhY2tMb2NhdGlvbjsKICAgICBOVFNUQVRVUyAgICAg
ICAgICAgIHN0YXR1czsKIAotICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoUGRvKTsKKyAgICBT
dGFja0xvY2F0aW9uID0gSW9HZXRDdXJyZW50SXJwU3RhY2tMb2NhdGlvbihJcnApOwogCi0gICAg
c3RhdHVzID0gU1RBVFVTX1NVQ0NFU1M7CisgICAgc3RhdHVzID0gRnJvbnRlbmREaXNwYXRjaENy
ZWF0ZShQZG8tPkZyb250ZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
U3RhY2tMb2NhdGlvbi0+RmlsZU9iamVjdCk7CiAKICAgICBJcnAtPklvU3RhdHVzLlN0YXR1cyA9
IHN0YXR1czsKICAgICBJb0NvbXBsZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7CkBA
IC0xNjA1LDExICsxNjI0LDEzIEBAIFBkb0Rpc3BhdGNoQ2xlYW51cCgKICAgICBJTiAgUElSUCAg
ICAgICAgICAgIElycAogICAgICkKIHsKKyAgICBQSU9fU1RBQ0tfTE9DQVRJT04gIFN0YWNrTG9j
YXRpb247CiAgICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7CiAKLSAgICBVTlJFRkVSRU5D
RURfUEFSQU1FVEVSKFBkbyk7CisgICAgU3RhY2tMb2NhdGlvbiA9IElvR2V0Q3VycmVudElycFN0
YWNrTG9jYXRpb24oSXJwKTsKIAotICAgIHN0YXR1cyA9IFNUQVRVU19TVUNDRVNTOworICAgIHN0
YXR1cyA9IEZyb250ZW5kRGlzcGF0Y2hDbGVhbnVwKFBkby0+RnJvbnRlbmQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhY2tMb2NhdGlvbi0+RmlsZU9iamVjdCk7CiAK
ICAgICBJcnAtPklvU3RhdHVzLlN0YXR1cyA9IHN0YXR1czsKICAgICBJb0NvbXBsZXRlUmVxdWVz
dChJcnAsIElPX05PX0lOQ1JFTUVOVCk7CkBAIC0xNjQ1LDcgKzE2NjYsNyBAQCBQZG9EaXNwYXRj
aFJlYWRXcml0ZSgKIAogICAgIElvTWFya0lycFBlbmRpbmcoSXJwKTsKIAotICAgIHN0YXR1cyA9
IFNUQVRVU19ERVZJQ0VfTk9UX1JFQURZOworICAgIHN0YXR1cyA9IEZyb250ZW5kRGlzcGF0Y2hS
ZWFkV3JpdGUoUGRvLT5Gcm9udGVuZCwgSXJwKTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVz
KSkKICAgICAgICAgZ290byBmYWlsMTsKIApAQCAtMTY4OCwyMCArMTcwOSwyNSBAQCBQZG9EaXNw
YXRjaENvbnRyb2woCiAgICAgICAgIFZhbHVlID0gX19QZG9HZXROYW1lKFBkbyk7CiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgSU9DVExfWEVOQ09OU19HRVRfTkFNRToKLSAgICAgICAgVmFsdWUg
PSAibm9uLWRlZmF1bHQiOyAvLyB1c2UgeGVuc3RvcmUgdmFsdWUKKyAgICAgICAgVmFsdWUgPSBG
cm9udGVuZEdldE5hbWUoUGRvLT5Gcm9udGVuZCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
SU9DVExfWEVOQ09OU19HRVRfUFJPVE9DT0w6Ci0gICAgICAgIFZhbHVlID0gInZ0MTAwIjsgLy8g
dXNlIHhlbnN0b3JlIHZhbHVlCisgICAgICAgIFZhbHVlID0gRnJvbnRlbmRHZXRQcm90b2NvbChQ
ZG8tPkZyb250ZW5kKTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgc3Rh
dHVzID0gU1RBVFVTX05PVF9TVVBQT1JURUQ7CiAgICAgICAgIGdvdG8gZmFpbDE7CiAgICAgfQor
CisgICAgc3RhdHVzID0gU1RBVFVTX0lOVkFMSURfUEFSQU1FVEVSOworICAgIGlmIChWYWx1ZSA9
PSBOVUxMKQorICAgICAgICBnb3RvIGZhaWwyOworCiAgICAgTGVuZ3RoID0gKFVMT05HKXN0cmxl
bihWYWx1ZSk7CiAKICAgICBzdGF0dXMgPSBTVEFUVVNfSU5WQUxJRF9QQVJBTUVURVI7CiAgICAg
aWYgKElucHV0QnVmZmVyTGVuZ3RoICE9IDApCi0gICAgICAgIGdvdG8gZmFpbDI7CisgICAgICAg
IGdvdG8gZmFpbDM7CiAKICAgICBJcnAtPklvU3RhdHVzLkluZm9ybWF0aW9uID0gTGVuZ3RoOwog
CkBAIC0xNzEyLDcgKzE3MzgsNyBAQCBQZG9EaXNwYXRjaENvbnRyb2woCiAgICAgUnRsWmVyb01l
bW9yeShCdWZmZXIsIE91dHB1dEJ1ZmZlckxlbmd0aCk7CiAKICAgICBpZiAoT3V0cHV0QnVmZmVy
TGVuZ3RoIDwgTGVuZ3RoKQotICAgICAgICBnb3RvIGZhaWwzOworICAgICAgICBnb3RvIGZhaWw0
OwogCiAgICAgUnRsQ29weU1lbW9yeShCdWZmZXIsIFZhbHVlLCBMZW5ndGgpOwogICAgIHN0YXR1
cyA9IFNUQVRVU19TVUNDRVNTOwpAQCAtMTcyMyw2ICsxNzQ5LDkgQEAgZG9uZToKIAogICAgIHJl
dHVybiBzdGF0dXM7CiAKK2ZhaWw0OgorICAgIEVycm9yKCJmYWlsNFxuIik7CisKIGZhaWwzOgog
ICAgIEVycm9yKCJmYWlsM1xuIik7CiAKQEAgLTE4MDgsOCArMTgzNyw3IEBAIFBkb1Jlc3VtZSgK
ICAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbwogICAgICkKIHsKLSAgICBVTlJFRkVSRU5DRURf
UEFSQU1FVEVSKFBkbyk7Ci0gICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOworICAgIHJldHVybiBG
cm9udGVuZFJlc3VtZShQZG8tPkZyb250ZW5kKTsKIH0KIAogVk9JRApAQCAtMTgxNyw3ICsxODQ1
LDcgQEAgUGRvU3VzcGVuZCgKICAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbwogICAgICkKIHsK
LSAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKFBkbyk7CisgICAgRnJvbnRlbmRTdXNwZW5kKFBk
by0+RnJvbnRlbmQpOwogfQogCiBOVFNUQVRVUwpAQCAtMTg3MiwxNSArMTkwMCwxOSBAQCBQZG9D
cmVhdGUoCiAKICAgICBGZG9HZXRTdXNwZW5kSW50ZXJmYWNlKEZkbywgJlBkby0+U3VzcGVuZElu
dGVyZmFjZSk7CiAKKyAgICBzdGF0dXMgPSBGcm9udGVuZENyZWF0ZShQZG8sICZQZG8tPkZyb250
ZW5kKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBmYWlsNTsK
KwogICAgIER4LT5QZG8gPSBQZG87CiAKICAgICBzdGF0dXMgPSBGZG9BZGRQaHlzaWNhbERldmlj
ZU9iamVjdChGZG8sIFBkbyk7CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAg
IGdvdG8gZmFpbDU7CisgICAgICAgIGdvdG8gZmFpbDY7CiAKICAgICBzdGF0dXMgPSBTVEFUVVNf
VU5TVUNDRVNTRlVMOwogICAgIGlmIChfX1Bkb0lzRWplY3RSZXF1ZXN0ZWQoUGRvKSkKLSAgICAg
ICAgZ290byBmYWlsNjsKKyAgICAgICAgZ290byBmYWlsNzsKIAogICAgIEluZm8oIiVwICglcylc
biIsCiAgICAgICAgICBQaHlzaWNhbERldmljZU9iamVjdCwKQEAgLTE4OTAsMTggKzE5MjIsMjQg
QEAgUGRvQ3JlYXRlKAogICAgIFBoeXNpY2FsRGV2aWNlT2JqZWN0LT5GbGFncyAmPSB+RE9fREVW
SUNFX0lOSVRJQUxJWklORzsKICAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CiAKLWZhaWw2Ogot
ICAgIEVycm9yKCJmYWlsNlxuIik7CitmYWlsNzoKKyAgICBFcnJvcigiZmFpbDdcbiIpOwogCiAg
ICAgRmRvUmVtb3ZlUGh5c2ljYWxEZXZpY2VPYmplY3QoRmRvLCBQZG8pOwogCi1mYWlsNToKLSAg
ICBFcnJvcigiZmFpbDVcbiIpOworZmFpbDY6CisgICAgRXJyb3IoImZhaWw2XG4iKTsKIAogICAg
IChWT0lEKV9fUGRvQ2xlYXJFamVjdFJlcXVlc3RlZChQZG8pOwogCiAgICAgRHgtPlBkbyA9IE5V
TEw7CiAKKyAgICBGcm9udGVuZERlc3Ryb3koUGRvLT5Gcm9udGVuZCk7CisgICAgUGRvLT5Gcm9u
dGVuZCA9IE5VTEw7CisKK2ZhaWw1OgorICAgIEVycm9yKCJmYWlsNVxuIik7CisKICAgICBSdGxa
ZXJvTWVtb3J5KCZQZG8tPlN1c3BlbmRJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICBzaXpl
b2YoWEVOQlVTX1NVU1BFTkRfSU5URVJGQUNFKSk7CiAKQEAgLTE5NjQsNiArMjAwMiw5IEBAIFBk
b0Rlc3Ryb3koCiAgICAgUnRsRnJlZVVuaWNvZGVTdHJpbmcoJkR4LT5MaW5rKTsKICAgICBEeC0+
UGRvID0gTlVMTDsKIAorICAgIEZyb250ZW5kRGVzdHJveShQZG8tPkZyb250ZW5kKTsKKyAgICBQ
ZG8tPkZyb250ZW5kID0gTlVMTDsKKwogICAgIFJ0bFplcm9NZW1vcnkoJlBkby0+U3VzcGVuZElu
dGVyZmFjZSwKICAgICAgICAgICAgICAgICAgIHNpemVvZihYRU5CVVNfU1VTUEVORF9JTlRFUkZB
Q0UpKTsKIApkaWZmIC0tZ2l0IGEvdnMyMDE1L3hlbmNvbnMveGVuY29ucy52Y3hwcm9qIGIvdnMy
MDE1L3hlbmNvbnMveGVuY29ucy52Y3hwcm9qCmluZGV4IDJlOWQyMDguLjNhMWI5MzQgMTAwNjQ0
Ci0tLSBhL3ZzMjAxNS94ZW5jb25zL3hlbmNvbnMudmN4cHJvagorKysgYi92czIwMTUveGVuY29u
cy94ZW5jb25zLnZjeHByb2oKQEAgLTY3LDYgKzY3LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uLy4uL3NyYy94ZW5jb25zL2RyaXZlci5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi4vLi4vc3JjL3hlbmNvbnMvZmRvLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
Li8uLi9zcmMveGVuY29ucy9wZG8uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4u
L3NyYy94ZW5jb25zL2Zyb250ZW5kLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8u
Li9zcmMveGVuY29ucy9yZWdpc3RyeS5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4v
Li4vc3JjL3hlbmNvbnMvY29uc29sZS5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4v
Li4vc3JjL3hlbmNvbnMvc3RyZWFtLmMiIC8+Ci0tIAoyLjguMwoKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QK
d2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj
dC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 14:07:12 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 14:07:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeLho-0006gQ-8L; Wed, 24 Jan 2018 14:07:12 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cbgo=et=citrix.com=prvs=555590473=owen.smith@srs-us1.protection.inumbo.net>)
 id 1eeLhm-0006gD-Ui
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 14:07:11 +0000
X-Inumbo-ID: be35d064-010f-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id be35d064-010f-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 14:06:16 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,407,1511827200"; d="scan'208";a="459468936"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 24 Jan 2018 14:05:07 +0000
Message-ID: <20180124140515.12284-7-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20180124140515.12284-1-owen.smith@citrix.com>
References: <20180124140515.12284-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 06/14] Enumerate ~/device/console for
	non-default consoles
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKU2lnbmVkLW9mZi1ieTog
T3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW5jb25zL2RyaXZl
ci5jICAgICAgICAgICB8ICAgIDYgKwogc3JjL3hlbmNvbnMvZHJpdmVyLmggICAgICAgICAgIHwg
ICAxMiArLQogc3JjL3hlbmNvbnMvZmRvLmMgICAgICAgICAgICAgIHwgIDcyMSArKysrKysrKysr
KysrKystCiBzcmMveGVuY29ucy9mZG8uaCAgICAgICAgICAgICAgfCAgIDQzICsKIHNyYy94ZW5j
b25zL211dGV4LmggICAgICAgICAgICB8ICAgODIgKysKIHNyYy94ZW5jb25zL3Bkby5jICAgICAg
ICAgICAgICB8IDE3ODYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog
c3JjL3hlbmNvbnMvcGRvLmggICAgICAgICAgICAgIHwgIDExNCArKysKIHZzMjAxNS94ZW5jb25z
L3hlbmNvbnMudmN4cHJvaiB8ICAgIDEgKwogOCBmaWxlcyBjaGFuZ2VkLCAyNzU1IGluc2VydGlv
bnMoKyksIDEwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW5jb25zL211
dGV4LmgKIGNyZWF0ZSBtb2RlIDEwMDc1NSBzcmMveGVuY29ucy9wZG8uYwogY3JlYXRlIG1vZGUg
MTAwNzU1IHNyYy94ZW5jb25zL3Bkby5oCgpkaWZmIC0tZ2l0IGEvc3JjL3hlbmNvbnMvZHJpdmVy
LmMgYi9zcmMveGVuY29ucy9kcml2ZXIuYwppbmRleCAzMTIxYjk5Li5iZWFjMDMwIDEwMDY0NAot
LS0gYS9zcmMveGVuY29ucy9kcml2ZXIuYworKysgYi9zcmMveGVuY29ucy9kcml2ZXIuYwpAQCAt
MjAyLDYgKzIwMiwxMiBAQCBEaXNwYXRjaCgKIAogICAgIHN0YXR1cyA9IFNUQVRVU19OT1RfU1VQ
UE9SVEVEOwogICAgIHN3aXRjaCAoRHgtPlR5cGUpIHsKKyAgICBjYXNlIFBIWVNJQ0FMX0RFVklD
RV9PQkpFQ1Q6IHsKKyAgICAgICAgUFhFTkNPTlNfUERPIFBkbyA9IER4LT5QZG87CisKKyAgICAg
ICAgc3RhdHVzID0gUGRvRGlzcGF0Y2goUGRvLCBJcnApOworICAgICAgICBicmVhazsKKyAgICB9
CiAgICAgY2FzZSBGVU5DVElPTl9ERVZJQ0VfT0JKRUNUOiB7CiAgICAgICAgIFBYRU5DT05TX0ZE
TyBGZG8gPSBEeC0+RmRvOwogCmRpZmYgLS1naXQgYS9zcmMveGVuY29ucy9kcml2ZXIuaCBiL3Ny
Yy94ZW5jb25zL2RyaXZlci5oCmluZGV4IDRhMmViNjEuLmZiNWVjZTAgMTAwNjQ0Ci0tLSBhL3Ny
Yy94ZW5jb25zL2RyaXZlci5oCisrKyBiL3NyYy94ZW5jb25zL2RyaXZlci5oCkBAIC01MCwxMiAr
NTAsMTcgQEAgRHJpdmVyR2V0UGFyYW1ldGVyc0tleSgKICAgICApOwogCiB0eXBlZGVmIHN0cnVj
dCBfWEVOQ09OU19GRE8gWEVOQ09OU19GRE8sICpQWEVOQ09OU19GRE87Cit0eXBlZGVmIHN0cnVj
dCBfWEVOQ09OU19QRE8gWEVOQ09OU19QRE8sICpQWEVOQ09OU19QRE87CiAKICNpbmNsdWRlICJm
ZG8uaCIKKyNpbmNsdWRlICJwZG8uaCIKIAogI2RlZmluZSBNQVhfREVWSUNFX0lEX0xFTiAgIDIw
MAogI2RlZmluZSBNQVhfR1VJRF9TVFJJTkdfTEVOIDM5CiAKKyNwcmFnbWEgd2FybmluZyhwdXNo
KQorI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6NDIwMSkgLy8gbm9uc3RhbmRhcmQgZXh0ZW5zaW9u
IHVzZWQgOiBuYW1lbGVzcyBzdHJ1Y3QvdW5pb24KKwogdHlwZWRlZiBzdHJ1Y3QgX1hFTkNPTlNf
RFggewogICAgIFBERVZJQ0VfT0JKRUNUICAgICAgRGV2aWNlT2JqZWN0OwogICAgIERFVklDRV9P
QkpFQ1RfVFlQRSAgVHlwZTsKQEAgLTcyLDcgKzc3LDEyIEBAIHR5cGVkZWYgc3RydWN0IF9YRU5D
T05TX0RYIHsKIAogICAgIExJU1RfRU5UUlkgICAgICAgICAgTGlzdEVudHJ5OwogCi0gICAgUFhF
TkNPTlNfRkRPICAgICAgICBGZG87CisgICAgdW5pb24geworICAgICAgICBQWEVOQ09OU19GRE8g
ICAgRmRvOworICAgICAgICBQWEVOQ09OU19QRE8gICAgUGRvOworICAgIH07CiB9IFhFTkNPTlNf
RFgsICpQWEVOQ09OU19EWDsKIAorI3ByYWdtYSB3YXJuaW5nKHBvcCkKKwogI2VuZGlmICAvLyBf
WEVOQ09OU19EUklWRVJfSApkaWZmIC0tZ2l0IGEvc3JjL3hlbmNvbnMvZmRvLmMgYi9zcmMveGVu
Y29ucy9mZG8uYwppbmRleCA4ZTcyZGM2Li41Mjk2YzdmIDEwMDY0NAotLS0gYS9zcmMveGVuY29u
cy9mZG8uYworKysgYi9zcmMveGVuY29ucy9mZG8uYwpAQCAtNDksNiArNDksNyBAQAogI2luY2x1
ZGUgImZkby5oIgogI2luY2x1ZGUgImNvbnNvbGUuaCIKICNpbmNsdWRlICJ0aHJlYWQuaCIKKyNp
bmNsdWRlICJtdXRleC5oIgogI2luY2x1ZGUgIm5hbWVzLmgiCiAjaW5jbHVkZSAiZGJnX3ByaW50
LmgiCiAjaW5jbHVkZSAiYXNzZXJ0LmgiCkBAIC04NSw2ICs4NiwxMiBAQCBzdHJ1Y3QgX1hFTkNP
TlNfRkRPIHsKIAogICAgIENIQVIgICAgICAgICAgICAgICAgICAgICAgICBWZW5kb3JOYW1lW01B
WE5BTUVMRU5dOwogCisgICAgUFhFTkNPTlNfVEhSRUFEICAgICAgICAgICAgIFNjYW5UaHJlYWQ7
CisgICAgS0VWRU5UICAgICAgICAgICAgICAgICAgICAgIFNjYW5FdmVudDsKKyAgICBQWEVOQlVT
X1NUT1JFX1dBVENIICAgICAgICAgU2NhbldhdGNoOworICAgIE1VVEVYICAgICAgICAgICAgICAg
ICAgICAgICBNdXRleDsKKyAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgUmVmZXJlbmNl
czsKKwogICAgIEZET19SRVNPVVJDRSAgICAgICAgICAgICAgICBSZXNvdXJjZVtSRVNPVVJDRV9D
T1VOVF07CiAKICAgICBQWEVOQ09OU19DT05TT0xFICAgICAgICAgICAgQ29uc29sZTsKQEAgLTIx
MCw2ICsyMTcsMTQgQEAgX19GZG9HZXRQaHlzaWNhbERldmljZU9iamVjdCgKICAgICByZXR1cm4g
RmRvLT5QaHlzaWNhbERldmljZU9iamVjdDsKIH0KIAorUERFVklDRV9PQkpFQ1QKK0Zkb0dldFBo
eXNpY2FsRGV2aWNlT2JqZWN0KAorICAgIElOICBQWEVOQ09OU19GRE8gICAgRmRvCisgICAgKQor
eworICAgIHJldHVybiBfX0Zkb0dldFBoeXNpY2FsRGV2aWNlT2JqZWN0KEZkbyk7Cit9CisKIF9f
ZHJ2X3JlcXVpcmVzSVJRTChQQVNTSVZFX0xFVkVMKQogc3RhdGljIEZPUkNFSU5MSU5FIE5UU1RB
VFVTCiBfX0Zkb0FjcXVpcmVMb3dlckJ1c0ludGVyZmFjZSgKQEAgLTM1OCw2ICszNzMsMTQgQEAg
X19GZG9HZXRWZW5kb3JOYW1lKAogICAgIHJldHVybiBGZG8tPlZlbmRvck5hbWU7CiB9CiAKK1BD
SEFSCitGZG9HZXRWZW5kb3JOYW1lKAorICAgIElOICBQWEVOQ09OU19GRE8gICAgRmRvCisgICAg
KQoreworICAgIHJldHVybiBfX0Zkb0dldFZlbmRvck5hbWUoRmRvKTsKK30KKwogc3RhdGljIEZP
UkNFSU5MSU5FIFZPSUQKIF9fRmRvU2V0TmFtZSgKICAgICBJTiAgUFhFTkNPTlNfRkRPICAgIEZk
bwpAQCAtMzgzLDYgKzQwNiw5OSBAQCBfX0Zkb0dldE5hbWUoCiAgICAgcmV0dXJuIER4LT5OYW1l
OwogfQogCitQQ0hBUgorRmRvR2V0TmFtZSgKKyAgICBJTiAgUFhFTkNPTlNfRkRPICAgIEZkbwor
ICAgICkKK3sKKyAgICByZXR1cm4gX19GZG9HZXROYW1lKEZkbyk7Cit9CisKK19fZHJ2X2Z1bmN0
aW9uQ2xhc3MoSU9fQ09NUExFVElPTl9ST1VUSU5FKQorX19kcnZfc2FtZUlSUUwKK3N0YXRpYyBO
VFNUQVRVUworX19GZG9EZWxlZ2F0ZUlycCgKKyAgICBJTiAgUERFVklDRV9PQkpFQ1QgIERldmlj
ZU9iamVjdCwKKyAgICBJTiAgUElSUCAgICAgICAgICAgIElycCwKKyAgICBJTiAgUFZPSUQgICAg
ICAgICAgIENvbnRleHQKKyAgICApCit7CisgICAgUEtFVkVOVCAgICAgICAgICAgICBFdmVudCA9
IENvbnRleHQ7CisKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKERldmljZU9iamVjdCk7Cisg
ICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihJcnApOworCisgICAgS2VTZXRFdmVudChFdmVudCwg
SU9fTk9fSU5DUkVNRU5ULCBGQUxTRSk7CisKKyAgICByZXR1cm4gU1RBVFVTX01PUkVfUFJPQ0VT
U0lOR19SRVFVSVJFRDsKK30KKworTlRTVEFUVVMKK0Zkb0RlbGVnYXRlSXJwKAorICAgIElOICBQ
WEVOQ09OU19GRE8gICAgRmRvLAorICAgIElOICBQSVJQICAgICAgICAgICAgSXJwCisgICAgKQor
eworICAgIFBERVZJQ0VfT0JKRUNUICAgICAgRGV2aWNlT2JqZWN0OworICAgIFBJT19TVEFDS19M
T0NBVElPTiAgU3RhY2tMb2NhdGlvbjsKKyAgICBQSVJQICAgICAgICAgICAgICAgIFN1YklycDsK
KyAgICBLRVZFTlQgICAgICAgICAgICAgIEV2ZW50OworICAgIFBJT19TVEFDS19MT0NBVElPTiAg
U3ViU3RhY2tMb2NhdGlvbjsKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsKKworICAg
IEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwoKSwgPT0gLCBQQVNTSVZFX0xFVkVMKTsKKworICAg
IFN0YWNrTG9jYXRpb24gPSBJb0dldEN1cnJlbnRJcnBTdGFja0xvY2F0aW9uKElycCk7CisKKyAg
ICAvLyBGaW5kIHRoZSB0b3Agb2YgdGhlIEZETyBzdGFjayBhbmQgaG9sZCBhIHJlZmVyZW5jZQor
ICAgIERldmljZU9iamVjdCA9IElvR2V0QXR0YWNoZWREZXZpY2VSZWZlcmVuY2UoRmRvLT5EeC0+
RGV2aWNlT2JqZWN0KTsKKworICAgIC8vIEdldCBhIG5ldyBJUlAgZm9yIHRoZSBGRE8gc3RhY2sK
KyAgICBTdWJJcnAgPSBJb0FsbG9jYXRlSXJwKERldmljZU9iamVjdC0+U3RhY2tTaXplLCBGQUxT
RSk7CisKKyAgICBzdGF0dXMgPSBTVEFUVVNfTk9fTUVNT1JZOworICAgIGlmIChTdWJJcnAgPT0g
TlVMTCkKKyAgICAgICAgZ290byBkb25lOworCisgICAgLy8gQ29weSBpbiB0aGUgaW5mb3JtYXRp
b24gZnJvbSB0aGUgb3JpZ2luYWwgSVJQCisgICAgU3ViU3RhY2tMb2NhdGlvbiA9IElvR2V0TmV4
dElycFN0YWNrTG9jYXRpb24oU3ViSXJwKTsKKworICAgIEtlSW5pdGlhbGl6ZUV2ZW50KCZFdmVu
dCwgTm90aWZpY2F0aW9uRXZlbnQsIEZBTFNFKTsKKworICAgIFJ0bENvcHlNZW1vcnkoU3ViU3Rh
Y2tMb2NhdGlvbiwgU3RhY2tMb2NhdGlvbiwKKyAgICAgICAgICAgICAgICAgIEZJRUxEX09GRlNF
VChJT19TVEFDS19MT0NBVElPTiwgQ29tcGxldGlvblJvdXRpbmUpKTsKKyAgICBTdWJTdGFja0xv
Y2F0aW9uLT5Db250cm9sID0gMDsKKworICAgIElvU2V0Q29tcGxldGlvblJvdXRpbmUoU3ViSXJw
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgX19GZG9EZWxlZ2F0ZUlycCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZFdmVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFRS
VUUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVFJVRSk7CisKKyAgICAvLyBEZWZhdWx0IGNvbXBsZXRpb24gc3RhdHVzCisgICAg
U3ViSXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBJcnAtPklvU3RhdHVzLlN0YXR1czsKKworICAgIHN0
YXR1cyA9IElvQ2FsbERyaXZlcihEZXZpY2VPYmplY3QsIFN1YklycCk7CisgICAgaWYgKHN0YXR1
cyA9PSBTVEFUVVNfUEVORElORykgeworICAgICAgICAoVk9JRClLZVdhaXRGb3JTaW5nbGVPYmpl
Y3QoJkV2ZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXhlY3V0aXZl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2VybmVsTW9kZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgIHN0YXR1cyA9IFN1YklycC0+SW9TdGF0
dXMuU3RhdHVzOworICAgIH0gZWxzZSB7CisgICAgICAgIEFTU0VSVDNVKHN0YXR1cywgPT0gLCBT
dWJJcnAtPklvU3RhdHVzLlN0YXR1cyk7CisgICAgfQorCisgICAgSW9GcmVlSXJwKFN1YklycCk7
CisKK2RvbmU6CisgICAgT2JEZXJlZmVyZW5jZU9iamVjdChEZXZpY2VPYmplY3QpOworCisgICAg
cmV0dXJuIHN0YXR1czsKK30KKwogX19kcnZfZnVuY3Rpb25DbGFzcyhJT19DT01QTEVUSU9OX1JP
VVRJTkUpCiBfX2Rydl9zYW1lSVJRTAogc3RhdGljIE5UU1RBVFVTCkBAIC00ODcsNiArNjAzLDIw
NCBAQCBGZG9QYXJzZVJlc291cmNlcygKICAgICB9CiB9CiAKKworTlRTVEFUVVMKK0Zkb0FkZFBo
eXNpY2FsRGV2aWNlT2JqZWN0KAorICAgIElOICBQWEVOQ09OU19GRE8gICAgRmRvLAorICAgIElO
ICBQWEVOQ09OU19QRE8gICAgUGRvCisgICAgKQoreworICAgIFBERVZJQ0VfT0JKRUNUICAgICAg
RGV2aWNlT2JqZWN0OworICAgIFBYRU5DT05TX0RYICAgICAgICAgIER4OworICAgIE5UU1RBVFVT
ICAgICAgICAgICAgc3RhdHVzOworCisgICAgRGV2aWNlT2JqZWN0ID0gUGRvR2V0RGV2aWNlT2Jq
ZWN0KFBkbyk7CisgICAgRHggPSAoUFhFTkNPTlNfRFgpRGV2aWNlT2JqZWN0LT5EZXZpY2VFeHRl
bnNpb247CisgICAgQVNTRVJUM1UoRHgtPlR5cGUsID09ICwgUEhZU0lDQUxfREVWSUNFX09CSkVD
VCk7CisKKyAgICBpZiAoX19GZG9HZXREZXZpY2VQb3dlclN0YXRlKEZkbykgPT0gUG93ZXJEZXZp
Y2VEMykKKyAgICAgICAgZ290byBkb25lOworCisgICAgc3RhdHVzID0gUGRvUmVzdW1lKFBkbyk7
CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDE7CisKK2Rv
bmU6CisgICAgSW5zZXJ0VGFpbExpc3QoJkZkby0+RHgtPkxpc3RFbnRyeSwgJkR4LT5MaXN0RW50
cnkpOworICAgIEFTU0VSVDNVKEZkby0+UmVmZXJlbmNlcywgIT0gLCAwKTsKKyAgICBGZG8tPlJl
ZmVyZW5jZXMrKzsKKworICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKKworZmFpbDE6CisgICAg
RXJyb3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVzKTsKKworICAgIHJldHVybiBzdGF0dXM7Cit9
CisKK1ZPSUQKK0Zkb1JlbW92ZVBoeXNpY2FsRGV2aWNlT2JqZWN0KAorICAgIElOICBQWEVOQ09O
U19GRE8gICAgRmRvLAorICAgIElOICBQWEVOQ09OU19QRE8gICAgUGRvCisgICAgKQoreworICAg
IFBERVZJQ0VfT0JKRUNUICAgICAgRGV2aWNlT2JqZWN0OworICAgIFBYRU5DT05TX0RYICAgICAg
ICAgRHg7CisKKyAgICBEZXZpY2VPYmplY3QgPSBQZG9HZXREZXZpY2VPYmplY3QoUGRvKTsKKyAg
ICBEeCA9IChQWEVOQ09OU19EWClEZXZpY2VPYmplY3QtPkRldmljZUV4dGVuc2lvbjsKKyAgICBB
U1NFUlQzVShEeC0+VHlwZSwgPT0gLCBQSFlTSUNBTF9ERVZJQ0VfT0JKRUNUKTsKKworICAgIGlm
IChfX0Zkb0dldERldmljZVBvd2VyU3RhdGUoRmRvKSA9PSBQb3dlckRldmljZUQzKQorICAgICAg
ICBnb3RvIGRvbmU7CisKKyAgICBQZG9TdXNwZW5kKFBkbyk7CisKK2RvbmU6CisgICAgUmVtb3Zl
RW50cnlMaXN0KCZEeC0+TGlzdEVudHJ5KTsKKyAgICBBU1NFUlQzVShGZG8tPlJlZmVyZW5jZXMs
ICE9ICwgMCk7CisgICAgLS1GZG8tPlJlZmVyZW5jZXM7CisKKyAgICBpZiAoRmRvLT5TY2FuVGhy
ZWFkKQorICAgICAgICBUaHJlYWRXYWtlKEZkby0+U2NhblRocmVhZCk7Cit9CisKK3N0YXRpYyBG
T1JDRUlOTElORSBWT0lECitfX0Zkb0FjcXVpcmVNdXRleCgKKyAgICBJTiAgUFhFTkNPTlNfRkRP
ICAgIEZkbworICAgICkKK3sKKyAgICBBY3F1aXJlTXV0ZXgoJkZkby0+TXV0ZXgpOworfQorCitW
T0lECitGZG9BY3F1aXJlTXV0ZXgoCisgICAgSU4gIFBYRU5DT05TX0ZETyAgICBGZG8KKyAgICAp
Cit7CisgICAgX19GZG9BY3F1aXJlTXV0ZXgoRmRvKTsKK30KKworc3RhdGljIEZPUkNFSU5MSU5F
IFZPSUQKK19fRmRvUmVsZWFzZU11dGV4KAorICAgIElOICBQWEVOQ09OU19GRE8gICAgRmRvCisg
ICAgKQoreworICAgIFJlbGVhc2VNdXRleCgmRmRvLT5NdXRleCk7Cit9CisKK1ZPSUQKK0Zkb1Jl
bGVhc2VNdXRleCgKKyAgICBJTiAgUFhFTkNPTlNfRkRPICAgIEZkbworICAgICkKK3sKKyAgICBf
X0Zkb1JlbGVhc2VNdXRleChGZG8pOworCisgICAgaWYgKEZkby0+UmVmZXJlbmNlcyA9PSAwKQor
ICAgICAgICBGZG9EZXN0cm95KEZkbyk7Cit9CisKK3N0YXRpYyBGT1JDRUlOTElORSBCT09MRUFO
CitfX0Zkb0VudW1lcmF0ZSgKKyAgICBJTiAgUFhFTkNPTlNfRkRPICAgIEZkbywKKyAgICBJTiAg
UEFOU0lfU1RSSU5HICAgIERldmljZXMKKyAgICApCit7CisgICAgQk9PTEVBTiAgICAgICAgICAg
ICBOZWVkSW52YWxpZGF0ZTsKKyAgICBIQU5ETEUgICAgICAgICAgICAgIFBhcmFtZXRlcnNLZXk7
CisgICAgVUxPTkcgICAgICAgICAgICAgICBFbnVtZXJhdGU7CisgICAgUExJU1RfRU5UUlkgICAg
ICAgICBMaXN0RW50cnk7CisgICAgVUxPTkcgICAgICAgICAgICAgICBJbmRleDsKKyAgICBOVFNU
QVRVUyAgICAgICAgICAgIHN0YXR1czsKKworICAgIFRyYWNlKCI9PT09PlxuIik7CisKKyAgICBO
ZWVkSW52YWxpZGF0ZSA9IEZBTFNFOworCisgICAgUGFyYW1ldGVyc0tleSA9IERyaXZlckdldFBh
cmFtZXRlcnNLZXkoKTsKKworICAgIHN0YXR1cyA9IFJlZ2lzdHJ5UXVlcnlEd29yZFZhbHVlKFBh
cmFtZXRlcnNLZXksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVudW1l
cmF0ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkVudW1lcmF0ZSk7
CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIEVudW1lcmF0ZSA9IDE7CisK
KyAgICBpZiAoRW51bWVyYXRlID09IDApCisgICAgICAgIGdvdG8gZG9uZTsKKworICAgIF9fRmRv
QWNxdWlyZU11dGV4KEZkbyk7CisKKyAgICBMaXN0RW50cnkgPSBGZG8tPkR4LT5MaXN0RW50cnku
Rmxpbms7CisgICAgd2hpbGUgKExpc3RFbnRyeSAhPSAmRmRvLT5EeC0+TGlzdEVudHJ5KSB7Cisg
ICAgICAgIFBMSVNUX0VOVFJZICAgICBOZXh0ID0gTGlzdEVudHJ5LT5GbGluazsKKyAgICAgICAg
UFhFTkNPTlNfRFggICAgIER4ID0gQ09OVEFJTklOR19SRUNPUkQoTGlzdEVudHJ5LCBYRU5DT05T
X0RYLCBMaXN0RW50cnkpOworICAgICAgICBQWEVOQ09OU19QRE8gICAgUGRvID0gRHgtPlBkbzsK
KworICAgICAgICBpZiAoUGRvR2V0RGV2aWNlUG5wU3RhdGUoUGRvKSAhPSBEZWxldGVkKSB7Cisg
ICAgICAgICAgICBQQ0hBUiAgICAgICAgICAgTmFtZTsKKyAgICAgICAgICAgIEJPT0xFQU4gICAg
ICAgICBNaXNzaW5nOworCisgICAgICAgICAgICBOYW1lID0gUGRvR2V0TmFtZShQZG8pOworICAg
ICAgICAgICAgTWlzc2luZyA9IFRSVUU7CisKKyAgICAgICAgICAgIC8vIElmIHRoZSBQRE8gYWxy
ZWFkeSBleGlzdHMgYW5kIGl0cyBuYW1lIGlzIGluIHRoZSBkZXZpY2UgbGlzdAorICAgICAgICAg
ICAgLy8gdGhlbiB3ZSBkb24ndCB3YW50IHRvIHJlbW92ZSBpdC4KKyAgICAgICAgICAgIGZvciAo
SW5kZXggPSAwOyBEZXZpY2VzW0luZGV4XS5CdWZmZXIgIT0gTlVMTDsgSW5kZXgrKykgeworICAg
ICAgICAgICAgICAgIFBBTlNJX1NUUklORyBEZXZpY2UgPSAmRGV2aWNlc1tJbmRleF07CisKKyAg
ICAgICAgICAgICAgICBpZiAoRGV2aWNlLT5MZW5ndGggPT0gMCkKKyAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICBpZiAoc3RyY21wKE5hbWUsIERldmljZS0+
QnVmZmVyKSA9PSAwKSB7CisgICAgICAgICAgICAgICAgICAgIE1pc3NpbmcgPSBGQUxTRTsKKyAg
ICAgICAgICAgICAgICAgICAgRGV2aWNlLT5MZW5ndGggPSAwOyAgLy8gYXZvaWQgZHVwbGljYXRp
b24KKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBpZiAoIVBkb0lzTWlzc2luZyhQZG8pKSB7CisgICAgICAg
ICAgICAgICAgaWYgKFBkb0lzRWplY3RSZXF1ZXN0ZWQoUGRvKSkgeworICAgICAgICAgICAgICAg
ICAgICBJb1JlcXVlc3REZXZpY2VFamVjdChQZG9HZXREZXZpY2VPYmplY3QoUGRvKSk7CisgICAg
ICAgICAgICAgICAgfSBlbHNlIGlmIChNaXNzaW5nKSB7CisgICAgICAgICAgICAgICAgICAgIFBk
b1NldE1pc3NpbmcoUGRvLCAiZGV2aWNlIGRpc2FwcGVhcmVkIik7CisKKyAgICAgICAgICAgICAg
ICAgICAgLy8gSWYgdGhlIFBETyBoYXMgbm90IHlldCBiZWVuIGVudW1lcmF0ZWQgdGhlbiB3ZSBj
YW4KKyAgICAgICAgICAgICAgICAgICAgLy8gZ28gYWhlYWQgYW5kIG1hcmsgaXQgYXMgZGVsZXRl
ZCwgb3RoZXJ3aXNlIHdlIG5lZWQKKyAgICAgICAgICAgICAgICAgICAgLy8gdG8gbm90aWZ5IFBu
UCBtYW5hZ2VyIGFuZCB3YWl0IGZvciB0aGUgUkVNT1ZFX0RFVklDRQorICAgICAgICAgICAgICAg
ICAgICAvLyBJUlAuCisgICAgICAgICAgICAgICAgICAgIGlmIChQZG9HZXREZXZpY2VQbnBTdGF0
ZShQZG8pID09IFByZXNlbnQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFBkb1NldERldmlj
ZVBucFN0YXRlKFBkbywgRGVsZXRlZCk7CisgICAgICAgICAgICAgICAgICAgICAgICBQZG9EZXN0
cm95KFBkbyk7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBOZWVkSW52YWxpZGF0ZSA9IFRSVUU7CisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBMaXN0
RW50cnkgPSBOZXh0OworICAgIH0KKworICAgIC8vIFdhbGsgdGhlIGNsYXNzIGxpc3QgYW5kIGNy
ZWF0ZSBQRE9zIGZvciBhbnkgbmV3IGRldmljZQorICAgIGZvciAoSW5kZXggPSAwOyBEZXZpY2Vz
W0luZGV4XS5CdWZmZXIgIT0gTlVMTDsgSW5kZXgrKykgeworICAgICAgICBQQU5TSV9TVFJJTkcg
RGV2aWNlID0gJkRldmljZXNbSW5kZXhdOworCisgICAgICAgIGlmIChEZXZpY2UtPkxlbmd0aCA9
PSAwKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgc3RhdHVzID0gUGRvQ3JlYXRl
KEZkbywgRGV2aWNlKTsKKyAgICAgICAgaWYgKE5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAg
ICAgIE5lZWRJbnZhbGlkYXRlID0gVFJVRTsKKyAgICB9CisKKyAgICBfX0Zkb1JlbGVhc2VNdXRl
eChGZG8pOworCitkb25lOgorICAgIFRyYWNlKCI8PT09PVxuIik7CisKKyAgICByZXR1cm4gTmVl
ZEludmFsaWRhdGU7Cit9CisKIHN0YXRpYyBGT1JDRUlOTElORSBQQU5TSV9TVFJJTkcKIF9fRmRv
TXVsdGlTelRvVXBjYXNlQW5zaSgKICAgICBJTiAgUENIQVIgICAgICAgQnVmZmVyCkBAIC01NjUs
NiArODc5LDEyNiBAQCBfX0Zkb0ZyZWVBbnNpKAogICAgIF9fRmRvRnJlZShBbnNpKTsKIH0KIAor
CitzdGF0aWMgTlRTVEFUVVMKK0Zkb1NjYW4oCisgICAgUFhFTkNPTlNfVEhSRUFEICAgICBTZWxm
LAorICAgIFBWT0lEICAgICAgICAgICAgICAgQ29udGV4dAorICAgICkKK3sKKyAgICBQWEVOQ09O
U19GRE8gICAgICAgIEZkbyA9IENvbnRleHQ7CisgICAgUEtFVkVOVCAgICAgICAgICAgICBFdmVu
dDsKKyAgICBIQU5ETEUgICAgICAgICAgICAgIFBhcmFtZXRlcnNLZXk7CisgICAgTlRTVEFUVVMg
ICAgICAgICAgICBzdGF0dXM7CisKKyAgICBUcmFjZSgiPT09PT5cbiIpOworCisgICAgRXZlbnQg
PSBUaHJlYWRHZXRFdmVudChTZWxmKTsKKworICAgIFBhcmFtZXRlcnNLZXkgPSBEcml2ZXJHZXRQ
YXJhbWV0ZXJzS2V5KCk7CisKKyAgICBmb3IgKDs7KSB7CisgICAgICAgIFBDSEFSICAgICAgICAg
ICBCdWZmZXI7CisgICAgICAgIFBBTlNJX1NUUklORyAgICBEZXZpY2VzOworICAgICAgICBQQU5T
SV9TVFJJTkcgICAgVW5zdXBwb3J0ZWREZXZpY2VzOworICAgICAgICBVTE9ORyAgICAgICAgICAg
SW5kZXg7CisgICAgICAgIEJPT0xFQU4gICAgICAgICBOZWVkSW52YWxpZGF0ZTsKKworICAgICAg
ICBUcmFjZSgid2FpdGluZy4uLlxuIik7CisKKyAgICAgICAgKFZPSUQpS2VXYWl0Rm9yU2luZ2xl
T2JqZWN0KEV2ZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXhlY3V0
aXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2VybmVsTW9kZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgIEtlQ2xlYXJFdmVudChFdmVudCk7
CisKKyAgICAgICAgaWYgKFRocmVhZElzQWxlcnRlZChTZWxmKSkKKyAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgIC8vIEl0IGlzIG5vdCBzYWZlIHRvIHVzZSBpbnRlcmZhY2VzIGJlZm9yZSB0
aGlzIHBvaW50CisgICAgICAgIGlmIChfX0Zkb0dldERldmljZVBucFN0YXRlKEZkbykgIT0gU3Rh
cnRlZCkgeworICAgICAgICAgICAgS2VTZXRFdmVudCgmRmRvLT5TY2FuRXZlbnQsIElPX05PX0lO
Q1JFTUVOVCwgRkFMU0UpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAg
ICAgICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUoRGlyZWN0b3J5LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJkZkby0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRldmljZSIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uc29sZSIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmQnVmZmVyKTsKKyAgICAgICAgaWYgKE5UX1NVQ0NFU1Moc3RhdHVzKSkg
eworICAgICAgICAgICAgRGV2aWNlcyA9IF9fRmRvTXVsdGlTelRvVXBjYXNlQW5zaShCdWZmZXIp
OworCisgICAgICAgICAgICBYRU5CVVNfU1RPUkUoRnJlZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAmRmRvLT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBCdWZm
ZXIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgRGV2aWNlcyA9IE5VTEw7CisgICAg
ICAgIH0KKworICAgICAgICBpZiAoRGV2aWNlcyA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBs
b29wOworCisgICAgICAgIGlmIChQYXJhbWV0ZXJzS2V5ICE9IE5VTEwpIHsKKyAgICAgICAgICAg
IHN0YXR1cyA9IFJlZ2lzdHJ5UXVlcnlTelZhbHVlKFBhcmFtZXRlcnNLZXksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5zdXBwb3J0ZWREZXZpY2VzIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmVW5zdXBwb3J0ZWREZXZpY2VzKTsKKyAg
ICAgICAgICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICAgICAgICAgIFVuc3Vw
cG9ydGVkRGV2aWNlcyA9IE5VTEw7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBVbnN1
cHBvcnRlZERldmljZXMgPSBOVUxMOworICAgICAgICB9CisKKyAgICAgICAgLy8gTlVMTCBvdXQg
YW55dGhpbmcgaW4gdGhlIERldmljZXMgbGlzdCB0aGF0IGlzIGluIHRoZQorICAgICAgICAvLyBV
bnN1cHBvcnRlZERldmljZXMgbGlzdCAgICAKKyAgICAgICAgZm9yIChJbmRleCA9IDA7IERldmlj
ZXNbSW5kZXhdLkJ1ZmZlciAhPSBOVUxMOyBJbmRleCsrKSB7CisgICAgICAgICAgICBQQU5TSV9T
VFJJTkcgICAgRGV2aWNlID0gJkRldmljZXNbSW5kZXhdOworICAgICAgICAgICAgVUxPTkcgICAg
ICAgICAgIEVudHJ5OworICAgICAgICAgICAgQk9PTEVBTiAgICAgICAgIFN1cHBvcnRlZDsKKwor
ICAgICAgICAgICAgU3VwcG9ydGVkID0gVFJVRTsKKworICAgICAgICAgICAgZm9yIChFbnRyeSA9
IDA7CisgICAgICAgICAgICAgICAgIFVuc3VwcG9ydGVkRGV2aWNlcyAhPSBOVUxMICYmIFVuc3Vw
cG9ydGVkRGV2aWNlc1tFbnRyeV0uQnVmZmVyICE9IE5VTEw7CisgICAgICAgICAgICAgICAgIEVu
dHJ5KyspIHsKKyAgICAgICAgICAgICAgICBpZiAoc3RybmNtcChEZXZpY2UtPkJ1ZmZlciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBVbnN1cHBvcnRlZERldmljZXNbRW50cnldLkJ1ZmZl
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2UtPkxlbmd0aCkgPT0gMCkgewor
ICAgICAgICAgICAgICAgICAgICBTdXBwb3J0ZWQgPSBGQUxTRTsKKyAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBpZiAoIVN1cHBvcnRlZCkKKyAgICAgICAgICAgICAgICBEZXZpY2UtPkxlbmd0aCA9IDA7Cisg
ICAgICAgIH0KKworICAgICAgICBpZiAoVW5zdXBwb3J0ZWREZXZpY2VzICE9IE5VTEwpCisgICAg
ICAgICAgICBSZWdpc3RyeUZyZWVTelZhbHVlKFVuc3VwcG9ydGVkRGV2aWNlcyk7CisKKyAgICAg
ICAgTmVlZEludmFsaWRhdGUgPSBfX0Zkb0VudW1lcmF0ZShGZG8sIERldmljZXMpOworCisgICAg
ICAgIF9fRmRvRnJlZUFuc2koRGV2aWNlcyk7CisKKyAgICAgICAgaWYgKE5lZWRJbnZhbGlkYXRl
KSB7CisgICAgICAgICAgICBOZWVkSW52YWxpZGF0ZSA9IEZBTFNFOworICAgICAgICAgICAgSW9J
bnZhbGlkYXRlRGV2aWNlUmVsYXRpb25zKF9fRmRvR2V0UGh5c2ljYWxEZXZpY2VPYmplY3QoRmRv
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdXNSZWxhdGlvbnMp
OworICAgICAgICB9CisKKyAgICBsb29wOgorICAgICAgICBLZVNldEV2ZW50KCZGZG8tPlNjYW5F
dmVudCwgSU9fTk9fSU5DUkVNRU5ULCBGQUxTRSk7CisgICAgfQorCisgICAgS2VTZXRFdmVudCgm
RmRvLT5TY2FuRXZlbnQsIElPX05PX0lOQ1JFTUVOVCwgRkFMU0UpOworCisgICAgVHJhY2UoIjw9
PT09XG4iKTsKKyAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7Cit9CisKIHN0YXRpYyBGT1JDRUlO
TElORSBCT09MRUFOCiBfX0Zkb01hdGNoRGlzdHJpYnV0aW9uKAogICAgIElOICBQWEVOQ09OU19G
RE8gICAgRmRvLApAQCAtNzk2LDEyICsxMjMwLDM0IEBAIF9fRmRvRDNUb0QwKAogICAgIGlmICgh
TlRfU1VDQ0VTUyhzdGF0dXMpKQogICAgICAgICBnb3RvIGZhaWwxOwogCisgICAgc3RhdHVzID0g
WEVOQlVTX1NUT1JFKFdhdGNoQWRkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmRmRvLT5T
dG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgImRldmljZSIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICJjb25zb2xlIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgVGhyZWFkR2V0RXZlbnQoRmRvLT5TY2FuVGhyZWFkKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgJkZkby0+U2NhbldhdGNoKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAg
ICAgICAgZ290byBmYWlsMjsKKworICAgIChWT0lEKVhFTkJVU19TVE9SRShQcmludGYsCisgICAg
ICAgICAgICAgICAgICAgICAgICZGZG8tPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAg
ICAgICAgICBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAiZmVhdHVyZS9ob3RwbHVnIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgImNvbnNvbGUiLAorICAgICAgICAgICAgICAgICAgICAg
ICAiJXUiLAorICAgICAgICAgICAgICAgICAgICAgICBUUlVFKTsKKwogICAgIChWT0lEKSBGZG9T
ZXREaXN0cmlidXRpb24oRmRvKTsKIAogICAgIFRyYWNlKCI8PT09PVxuIik7CiAKICAgICByZXR1
cm4gU1RBVFVTX1NVQ0NFU1M7CiAKK2ZhaWwyOgorICAgIEVycm9yKCJmYWlsMlxuIik7CisKKyAg
ICBDb25zb2xlRGlzYWJsZShGZG8tPkNvbnNvbGUpOworCiBmYWlsMToKICAgICBFcnJvcigiZmFp
bDEgKCUwOHgpXG4iLCBzdGF0dXMpOwogCkBAIC04MTksNiArMTI3NSwxNyBAQCBfX0Zkb0QwVG9E
MygKIAogICAgIEZkb0NsZWFyRGlzdHJpYnV0aW9uKEZkbyk7CiAKKyAgICAoVk9JRClYRU5CVVNf
U1RPUkUoUmVtb3ZlLAorICAgICAgICAgICAgICAgICAgICAgICAmRmRvLT5TdG9yZUludGVyZmFj
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ImZlYXR1cmUvaG90cGx1ZyIsCisgICAgICAgICAgICAgICAgICAgICAgICJjb25zb2xlIik7CisK
KyAgICAoVk9JRClYRU5CVVNfU1RPUkUoV2F0Y2hSZW1vdmUsCisgICAgICAgICAgICAgICAgICAg
ICAgICZGZG8tPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICBGZG8tPlNj
YW5XYXRjaCk7CisgICAgRmRvLT5TY2FuV2F0Y2ggPSBOVUxMOworCiAgICAgQ29uc29sZURpc2Fi
bGUoRmRvLT5Db25zb2xlKTsKIAogICAgIFRyYWNlKCI8PT09PVxuIik7CkBAIC04NDQsOSArMTMx
MSw5IEBAIEZkb0QzVG9EMCgKICAgICBJTiAgUFhFTkNPTlNfRkRPICAgIEZkbwogICAgICkKIHsK
LSAgICBQWEVOQ09OU19EWCAgICAgICAgIER4ID0gRmRvLT5EeDsKICAgICBQT1dFUl9TVEFURSAg
ICAgICAgIFBvd2VyU3RhdGU7CiAgICAgS0lSUUwgICAgICAgICAgICAgICBJcnFsOworICAgIFBM
SVNUX0VOVFJZICAgICAgICAgTGlzdEVudHJ5OwogICAgIE5UU1RBVFVTICAgICAgICAgICAgc3Rh
dHVzOwogCiAgICAgQVNTRVJUM1UoS2VHZXRDdXJyZW50SXJxbCgpLCA9PSwgUEFTU0lWRV9MRVZF
TCk7CkBAIC04ODYsOCArMTM1MywyNCBAQCBGZG9EM1RvRDAoCiAgICAgICAgICAgICAgICAgICAg
IERldmljZVBvd2VyU3RhdGUsCiAgICAgICAgICAgICAgICAgICAgIFBvd2VyU3RhdGUpOwogCisg
ICAgX19GZG9BY3F1aXJlTXV0ZXgoRmRvKTsKKworICAgIGZvciAoTGlzdEVudHJ5ID0gRmRvLT5E
eC0+TGlzdEVudHJ5LkZsaW5rOworICAgICAgICAgTGlzdEVudHJ5ICE9ICZGZG8tPkR4LT5MaXN0
RW50cnk7CisgICAgICAgICBMaXN0RW50cnkgPSBMaXN0RW50cnktPkZsaW5rKSB7CisgICAgICAg
IFBYRU5DT05TX0RYICBEeCA9IENPTlRBSU5JTkdfUkVDT1JEKExpc3RFbnRyeSwgWEVOQ09OU19E
WCwgTGlzdEVudHJ5KTsKKyAgICAgICAgUFhFTkNPTlNfUERPIFBkbyA9IER4LT5QZG87CisKKyAg
ICAgICAgQVNTRVJUM1UoRHgtPlR5cGUsID09ICwgUEhZU0lDQUxfREVWSUNFX09CSkVDVCk7CisK
KyAgICAgICAgc3RhdHVzID0gUGRvUmVzdW1lKFBkbyk7CisgICAgICAgIEFTU0VSVChOVF9TVUND
RVNTKHN0YXR1cykpOworICAgIH0KKworICAgIF9fRmRvUmVsZWFzZU11dGV4KEZkbyk7CisKICNw
cmFnbWEgcHJlZmFzdChzdXBwcmVzczoyODEyMykKLSAgICAoVk9JRCkgSW9TZXREZXZpY2VJbnRl
cmZhY2VTdGF0ZSgmRHgtPkxpbmssIFRSVUUpOworICAgIChWT0lEKSBJb1NldERldmljZUludGVy
ZmFjZVN0YXRlKCZGZG8tPkR4LT5MaW5rLCBUUlVFKTsKIAogICAgIFRyYWNlKCI8PT09PVxuIik7
CiAKQEAgLTkyNCw4ICsxNDA3LDggQEAgRmRvRDBUb0QzKAogICAgIElOICBQWEVOQ09OU19GRE8g
ICAgRmRvCiAgICAgKQogewotICAgIFBYRU5DT05TX0RYICAgICAgICAgRHggPSBGZG8tPkR4Owog
ICAgIFBPV0VSX1NUQVRFICAgICAgICAgUG93ZXJTdGF0ZTsKKyAgICBQTElTVF9FTlRSWSAgICAg
ICAgIExpc3RFbnRyeTsKICAgICBLSVJRTCAgICAgICAgICAgICAgIElycWw7CiAKICAgICBBU1NF
UlQzVShLZUdldEN1cnJlbnRJcnFsKCksID09LCBQQVNTSVZFX0xFVkVMKTsKQEAgLTkzNCw3ICsx
NDE3LDI2IEBAIEZkb0QwVG9EMygKICAgICBUcmFjZSgiPT09PT5cbiIpOwogCiAjcHJhZ21hIHBy
ZWZhc3Qoc3VwcHJlc3M6MjgxMjMpCi0gICAgKFZPSUQpIElvU2V0RGV2aWNlSW50ZXJmYWNlU3Rh
dGUoJkR4LT5MaW5rLCBGQUxTRSk7CisgICAgKFZPSUQpIElvU2V0RGV2aWNlSW50ZXJmYWNlU3Rh
dGUoJkZkby0+RHgtPkxpbmssIEZBTFNFKTsKKworICAgIF9fRmRvQWNxdWlyZU11dGV4KEZkbyk7
CisKKyAgICBmb3IgKExpc3RFbnRyeSA9IEZkby0+RHgtPkxpc3RFbnRyeS5GbGluazsKKyAgICAg
ICAgIExpc3RFbnRyeSAhPSAmRmRvLT5EeC0+TGlzdEVudHJ5OworICAgICAgICAgTGlzdEVudHJ5
ID0gTGlzdEVudHJ5LT5GbGluaykgeworICAgICAgICBQWEVOQ09OU19EWCAgRHggPSBDT05UQUlO
SU5HX1JFQ09SRChMaXN0RW50cnksIFhFTkNPTlNfRFgsIExpc3RFbnRyeSk7CisgICAgICAgIFBY
RU5DT05TX1BETyBQZG8gPSBEeC0+UGRvOworCisgICAgICAgIEFTU0VSVDNVKER4LT5UeXBlLCA9
PSAsIFBIWVNJQ0FMX0RFVklDRV9PQkpFQ1QpOworCisgICAgICAgIGlmIChQZG9HZXREZXZpY2VQ
bnBTdGF0ZShQZG8pID09IERlbGV0ZWQgfHwKKyAgICAgICAgICAgIFBkb0lzTWlzc2luZyhQZG8p
KQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgUGRvU3VzcGVuZChQZG8pOworICAg
IH0KKworICAgIF9fRmRvUmVsZWFzZU11dGV4KEZkbyk7CiAKICAgICBQb3dlclN0YXRlLkRldmlj
ZVN0YXRlID0gUG93ZXJEZXZpY2VEMzsKICAgICBQb1NldFBvd2VyU3RhdGUoRmRvLT5EeC0+RGV2
aWNlT2JqZWN0LApAQCAtMTAwNCwyMCArMTUwNiwzNiBAQCBGZG9TdGFydERldmljZSgKICAgICAg
ICAgICAgICAgICAgICAgICBTdGFja0xvY2F0aW9uLT5QYXJhbWV0ZXJzLlN0YXJ0RGV2aWNlLkFs
bG9jYXRlZFJlc291cmNlcywKICAgICAgICAgICAgICAgICAgICAgICBTdGFja0xvY2F0aW9uLT5Q
YXJhbWV0ZXJzLlN0YXJ0RGV2aWNlLkFsbG9jYXRlZFJlc291cmNlc1RyYW5zbGF0ZWQpOwogCi0g
ICAgc3RhdHVzID0gRmRvRDNUb0QwKEZkbyk7CisgICAgS2VJbml0aWFsaXplRXZlbnQoJkZkby0+
U2NhbkV2ZW50LCBOb3RpZmljYXRpb25FdmVudCwgRkFMU0UpOworCisgICAgc3RhdHVzID0gVGhy
ZWFkQ3JlYXRlKEZkb1NjYW4sIEZkbywgJkZkby0+U2NhblRocmVhZCk7CiAgICAgaWYgKCFOVF9T
VUNDRVNTKHN0YXR1cykpCiAgICAgICAgIGdvdG8gZmFpbDI7CiAKKyAgICBzdGF0dXMgPSBGZG9E
M1RvRDAoRmRvKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBm
YWlsMzsKKwogICAgIF9fRmRvU2V0RGV2aWNlUG5wU3RhdGUoRmRvLCBTdGFydGVkKTsKKyAgICBU
aHJlYWRXYWtlKEZkby0+U2NhblRocmVhZCk7CiAKICAgICBzdGF0dXMgPSBJcnAtPklvU3RhdHVz
LlN0YXR1czsKICAgICBJb0NvbXBsZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7CiAK
ICAgICByZXR1cm4gc3RhdHVzOwogCitmYWlsMzoKKyAgICBFcnJvcigiZmFpbDNcbiIpOworCisg
ICAgVGhyZWFkQWxlcnQoRmRvLT5TY2FuVGhyZWFkKTsKKyAgICBUaHJlYWRKb2luKEZkby0+U2Nh
blRocmVhZCk7CisgICAgRmRvLT5TY2FuVGhyZWFkID0gTlVMTDsKKwogZmFpbDI6CiAgICAgRXJy
b3IoImZhaWwyXG4iKTsKIAorICAgIFJ0bFplcm9NZW1vcnkoJkZkby0+U2NhbkV2ZW50LCBzaXpl
b2YoS0VWRU5UKSk7CisKICAgICBSdGxaZXJvTWVtb3J5KCZGZG8tPlJlc291cmNlLCBzaXplb2Yg
KEZET19SRVNPVVJDRSkgKiBSRVNPVVJDRV9DT1VOVCk7CiAKIGZhaWwxOgpAQCAtMTA3NSw2ICsx
NTkzLDEyIEBAIEZkb1N0b3BEZXZpY2UoCiAgICAgaWYgKF9fRmRvR2V0RGV2aWNlUG93ZXJTdGF0
ZShGZG8pID09IFBvd2VyRGV2aWNlRDApCiAgICAgICAgIEZkb0QwVG9EMyhGZG8pOwogCisgICAg
VGhyZWFkQWxlcnQoRmRvLT5TY2FuVGhyZWFkKTsKKyAgICBUaHJlYWRKb2luKEZkby0+U2NhblRo
cmVhZCk7CisgICAgRmRvLT5TY2FuVGhyZWFkID0gTlVMTDsKKworICAgIFJ0bFplcm9NZW1vcnko
JkZkby0+U2NhbkV2ZW50LCBzaXplb2YoS0VWRU5UKSk7CisKICAgICBSdGxaZXJvTWVtb3J5KCZG
ZG8tPlJlc291cmNlLCBzaXplb2YgKEZET19SRVNPVVJDRSkgKiBSRVNPVVJDRV9DT1VOVCk7CiAK
ICAgICBfX0Zkb1NldERldmljZVBucFN0YXRlKEZkbywgU3RvcHBlZCk7CkBAIC0xMTI3LDEwICsx
NjUxLDI3IEBAIEZkb1N1cnByaXNlUmVtb3ZhbCgKICAgICBJTiAgUElSUCAgICAgICAgICAgIEly
cAogICAgICkKIHsKKyAgICBQTElTVF9FTlRSWSAgICAgICAgIExpc3RFbnRyeTsKICAgICBOVFNU
QVRVUyAgICAgICAgICAgIHN0YXR1czsKIAogICAgIF9fRmRvU2V0RGV2aWNlUG5wU3RhdGUoRmRv
LCBTdXJwcmlzZVJlbW92ZVBlbmRpbmcpOwogCisgICAgX19GZG9BY3F1aXJlTXV0ZXgoRmRvKTsK
KworICAgIGZvciAoTGlzdEVudHJ5ID0gRmRvLT5EeC0+TGlzdEVudHJ5LkZsaW5rOworICAgICAg
ICAgTGlzdEVudHJ5ICE9ICZGZG8tPkR4LT5MaXN0RW50cnk7CisgICAgICAgICBMaXN0RW50cnkg
PSBMaXN0RW50cnktPkZsaW5rKSB7CisgICAgICAgIFBYRU5DT05TX0RYICBEeCA9IENPTlRBSU5J
TkdfUkVDT1JEKExpc3RFbnRyeSwgWEVOQ09OU19EWCwgTGlzdEVudHJ5KTsKKyAgICAgICAgUFhF
TkNPTlNfUERPIFBkbyA9IER4LT5QZG87CisKKyAgICAgICAgQVNTRVJUM1UoRHgtPlR5cGUsID09
ICwgUEhZU0lDQUxfREVWSUNFX09CSkVDVCk7CisKKyAgICAgICAgaWYgKCFQZG9Jc01pc3Npbmco
UGRvKSkKKyAgICAgICAgICAgIFBkb1NldE1pc3NpbmcoUGRvLCAiRkRPIHN1cnByaXNlIHJlbW92
ZWQiKTsKKyAgICB9CisKKyAgICBfX0Zkb1JlbGVhc2VNdXRleChGZG8pOworCiAgICAgSXJwLT5J
b1N0YXR1cy5TdGF0dXMgPSBTVEFUVVNfU1VDQ0VTUzsKIAogICAgIElvU2tpcEN1cnJlbnRJcnBT
dGFja0xvY2F0aW9uKElycCk7CkBAIC0xMTQ1LDYgKzE2ODYsNyBAQCBGZG9SZW1vdmVEZXZpY2Uo
CiAgICAgSU4gIFBJUlAgICAgICAgICAgICBJcnAKICAgICApCiB7CisgICAgUExJU1RfRU5UUlkg
ICAgICAgICBMaXN0RW50cnk7CiAgICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7CiAKICAg
ICBBU1NFUlQzVShLZUdldEN1cnJlbnRJcnFsKCksID09LCBQQVNTSVZFX0xFVkVMKTsKQEAgLTEx
NTIsOSArMTY5NCw1MCBAQCBGZG9SZW1vdmVEZXZpY2UoCiAgICAgaWYgKF9fRmRvR2V0UHJldmlv
dXNEZXZpY2VQbnBTdGF0ZShGZG8pICE9IFN0YXJ0ZWQpCiAgICAgICAgIGdvdG8gZG9uZTsKIAor
ICAgIEtlQ2xlYXJFdmVudCgmRmRvLT5TY2FuRXZlbnQpOworICAgIFRocmVhZFdha2UoRmRvLT5T
Y2FuVGhyZWFkKTsKKworICAgIFRyYWNlKCJ3YWl0aW5nIGZvciBzY2FuIHRocmVhZFxuIik7CisK
KyAgICAoVk9JRClLZVdhaXRGb3JTaW5nbGVPYmplY3QoJkZkby0+U2NhbkV2ZW50LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBFeGVjdXRpdmUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEtlcm5lbE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEZBTFNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKworICAgIF9f
RmRvQWNxdWlyZU11dGV4KEZkbyk7CisKKyAgICBMaXN0RW50cnkgPSBGZG8tPkR4LT5MaXN0RW50
cnkuRmxpbms7CisgICAgd2hpbGUgKExpc3RFbnRyeSAhPSAmRmRvLT5EeC0+TGlzdEVudHJ5KSB7
CisgICAgICAgIFBMSVNUX0VOVFJZIEZsaW5rID0gTGlzdEVudHJ5LT5GbGluazsKKyAgICAgICAg
UFhFTkNPTlNfRFggIER4ID0gQ09OVEFJTklOR19SRUNPUkQoTGlzdEVudHJ5LCBYRU5DT05TX0RY
LCBMaXN0RW50cnkpOworICAgICAgICBQWEVOQ09OU19QRE8gUGRvID0gRHgtPlBkbzsKKworICAg
ICAgICBBU1NFUlQzVShEeC0+VHlwZSwgPT0gLCBQSFlTSUNBTF9ERVZJQ0VfT0JKRUNUKTsKKwor
ICAgICAgICBpZiAoIVBkb0lzTWlzc2luZyhQZG8pKQorICAgICAgICAgICAgUGRvU2V0TWlzc2lu
ZyhQZG8sICJGRE8gcmVtb3ZlZCIpOworCisgICAgICAgIGlmIChQZG9HZXREZXZpY2VQbnBTdGF0
ZShQZG8pICE9IFN1cnByaXNlUmVtb3ZlUGVuZGluZykKKyAgICAgICAgICAgIFBkb1NldERldmlj
ZVBucFN0YXRlKFBkbywgRGVsZXRlZCk7CisKKyAgICAgICAgaWYgKFBkb0dldERldmljZVBucFN0
YXRlKFBkbykgPT0gRGVsZXRlZCkKKyAgICAgICAgICAgIFBkb0Rlc3Ryb3koUGRvKTsKKworICAg
ICAgICBMaXN0RW50cnkgPSBGbGluazsKKyAgICB9CisKKyAgICBfX0Zkb1JlbGVhc2VNdXRleChG
ZG8pOworCiAgICAgaWYgKF9fRmRvR2V0RGV2aWNlUG93ZXJTdGF0ZShGZG8pID09IFBvd2VyRGV2
aWNlRDApCiAgICAgICAgIEZkb0QwVG9EMyhGZG8pOwogCisgICAgVGhyZWFkQWxlcnQoRmRvLT5T
Y2FuVGhyZWFkKTsKKyAgICBUaHJlYWRKb2luKEZkby0+U2NhblRocmVhZCk7CisgICAgRmRvLT5T
Y2FuVGhyZWFkID0gTlVMTDsKKworICAgIFJ0bFplcm9NZW1vcnkoJkZkby0+U2NhbkV2ZW50LCBz
aXplb2YoS0VWRU5UKSk7CisKICAgICBSdGxaZXJvTWVtb3J5KCZGZG8tPlJlc291cmNlLCBzaXpl
b2YgKEZET19SRVNPVVJDRSkgKiBSRVNPVVJDRV9DT1VOVCk7CiAKIGRvbmU6CkBAIC0xMTY3LDcg
KzE3NTAsMTMgQEAgZG9uZToKICAgICBJb1NraXBDdXJyZW50SXJwU3RhY2tMb2NhdGlvbihJcnAp
OwogICAgIHN0YXR1cyA9IElvQ2FsbERyaXZlcihGZG8tPkxvd2VyRGV2aWNlT2JqZWN0LCBJcnAp
OwogCi0gICAgRmRvRGVzdHJveShGZG8pOworICAgIF9fRmRvQWNxdWlyZU11dGV4KEZkbyk7Cisg
ICAgQVNTRVJUM1UoRmRvLT5SZWZlcmVuY2VzLCAhPSAsIDApOworICAgIC0tRmRvLT5SZWZlcmVu
Y2VzOworICAgIF9fRmRvUmVsZWFzZU11dGV4KEZkbyk7CisKKyAgICBpZiAoRmRvLT5SZWZlcmVu
Y2VzID09IDApCisgICAgICAgIEZkb0Rlc3Ryb3koRmRvKTsKIAogICAgIHJldHVybiBzdGF0dXM7
CiB9CkBAIC0xMTc5LDE2ICsxNzY4LDEyMSBAQCBGZG9RdWVyeURldmljZVJlbGF0aW9ucygKICAg
ICApCiB7CiAgICAgUElPX1NUQUNLX0xPQ0FUSU9OICBTdGFja0xvY2F0aW9uOworICAgIFVMT05H
ICAgICAgICAgICAgICAgU2l6ZTsKKyAgICBQREVWSUNFX1JFTEFUSU9OUyAgIFJlbGF0aW9uczsK
KyAgICBVTE9ORyAgICAgICAgICAgICAgIENvdW50OworICAgIFBMSVNUX0VOVFJZICAgICAgICAg
TGlzdEVudHJ5OwogICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVzOwogCi0gICAgQVNTRVJU
M1UoS2VHZXRDdXJyZW50SXJxbCgpLCA9PSwgUEFTU0lWRV9MRVZFTCk7CisgICAgQVNTRVJUM1Uo
S2VHZXRDdXJyZW50SXJxbCgpLCA9PSAsIFBBU1NJVkVfTEVWRUwpOwogCiAgICAgU3RhY2tMb2Nh
dGlvbiA9IElvR2V0Q3VycmVudElycFN0YWNrTG9jYXRpb24oSXJwKTsKIAogICAgIHN0YXR1cyA9
IElycC0+SW9TdGF0dXMuU3RhdHVzOwogCi0gICAgSW9Ta2lwQ3VycmVudElycFN0YWNrTG9jYXRp
b24oSXJwKTsKLSAgICBzdGF0dXMgPSBJb0NhbGxEcml2ZXIoRmRvLT5Mb3dlckRldmljZU9iamVj
dCwgSXJwKTsKKyAgICBpZiAoU3RhY2tMb2NhdGlvbi0+UGFyYW1ldGVycy5RdWVyeURldmljZVJl
bGF0aW9ucy5UeXBlICE9IEJ1c1JlbGF0aW9ucykgeworICAgICAgICBJb1NraXBDdXJyZW50SXJw
U3RhY2tMb2NhdGlvbihJcnApOworICAgICAgICBzdGF0dXMgPSBJb0NhbGxEcml2ZXIoRmRvLT5M
b3dlckRldmljZU9iamVjdCwgSXJwKTsKKworICAgICAgICBnb3RvIGRvbmU7CisgICAgfQorCisg
ICAgS2VDbGVhckV2ZW50KCZGZG8tPlNjYW5FdmVudCk7CisgICAgVGhyZWFkV2FrZShGZG8tPlNj
YW5UaHJlYWQpOworCisgICAgVHJhY2UoIndhaXRpbmcgZm9yIHNjYW4gdGhyZWFkXG4iKTsKKwor
ICAgIChWT0lEKUtlV2FpdEZvclNpbmdsZU9iamVjdCgmRmRvLT5TY2FuRXZlbnQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEV4ZWN1dGl2ZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgS2VybmVsTW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RkFMU0UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworCisgICAgX19G
ZG9BY3F1aXJlTXV0ZXgoRmRvKTsKKworICAgIENvdW50ID0gMDsKKyAgICBmb3IgKExpc3RFbnRy
eSA9IEZkby0+RHgtPkxpc3RFbnRyeS5GbGluazsKKyAgICAgICAgIExpc3RFbnRyeSAhPSAmRmRv
LT5EeC0+TGlzdEVudHJ5OworICAgICAgICAgTGlzdEVudHJ5ID0gTGlzdEVudHJ5LT5GbGluaykK
KyAgICAgICAgQ291bnQrKzsKKworICAgIFNpemUgPSBGSUVMRF9PRkZTRVQoREVWSUNFX1JFTEFU
SU9OUywgT2JqZWN0cykgKyAoc2l6ZW9mKFBERVZJQ0VfT0JKRUNUKSAqIF9fbWF4KENvdW50LCAx
KSk7CisKKyAgICBSZWxhdGlvbnMgPSBFeEFsbG9jYXRlUG9vbFdpdGhUYWcoUGFnZWRQb29sLCBT
aXplLCBGRE9fUE9PTCk7CisKKyAgICBzdGF0dXMgPSBTVEFUVVNfTk9fTUVNT1JZOworICAgIGlm
IChSZWxhdGlvbnMgPT0gTlVMTCkKKyAgICAgICAgZ290byBmYWlsMTsKKworICAgIFJ0bFplcm9N
ZW1vcnkoUmVsYXRpb25zLCBTaXplKTsKKworICAgIGZvciAoTGlzdEVudHJ5ID0gRmRvLT5EeC0+
TGlzdEVudHJ5LkZsaW5rOworICAgICAgICAgTGlzdEVudHJ5ICE9ICZGZG8tPkR4LT5MaXN0RW50
cnk7CisgICAgICAgICBMaXN0RW50cnkgPSBMaXN0RW50cnktPkZsaW5rKSB7CisgICAgICAgIFBY
RU5DT05TX0RYICBEeCA9IENPTlRBSU5JTkdfUkVDT1JEKExpc3RFbnRyeSwgWEVOQ09OU19EWCwg
TGlzdEVudHJ5KTsKKyAgICAgICAgUFhFTkNPTlNfUERPIFBkbyA9IER4LT5QZG87CisKKyAgICAg
ICAgQVNTRVJUM1UoRHgtPlR5cGUsID09ICwgUEhZU0lDQUxfREVWSUNFX09CSkVDVCk7CisKKyAg
ICAgICAgaWYgKFBkb0lzTWlzc2luZyhQZG8pKQorICAgICAgICAgICAgY29udGludWU7CisKKyAg
ICAgICAgaWYgKFBkb0dldERldmljZVBucFN0YXRlKFBkbykgPT0gUHJlc2VudCkKKyAgICAgICAg
ICAgIFBkb1NldERldmljZVBucFN0YXRlKFBkbywgRW51bWVyYXRlZCk7CisKKyAgICAgICAgT2JS
ZWZlcmVuY2VPYmplY3QoRHgtPkRldmljZU9iamVjdCk7CisgICAgICAgIFJlbGF0aW9ucy0+T2Jq
ZWN0c1tSZWxhdGlvbnMtPkNvdW50KytdID0gRHgtPkRldmljZU9iamVjdDsKKyAgICB9CisKKyAg
ICBBU1NFUlQzVShSZWxhdGlvbnMtPkNvdW50LCA8PSAsIENvdW50KTsKKworICAgIFRyYWNlKCIl
ZCBQRE8ocylcbiIsIFJlbGF0aW9ucy0+Q291bnQpOworCisgICAgX19GZG9SZWxlYXNlTXV0ZXgo
RmRvKTsKKworICAgIElycC0+SW9TdGF0dXMuSW5mb3JtYXRpb24gPSAoVUxPTkdfUFRSKVJlbGF0
aW9uczsKKyAgICBJcnAtPklvU3RhdHVzLlN0YXR1cyA9IFNUQVRVU19TVUNDRVNTOworCisgICAg
c3RhdHVzID0gRmRvRm9yd2FyZElycFN5bmNocm9ub3VzbHkoRmRvLCBJcnApOworICAgIGlmICgh
TlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwyOworCisgICAgSW9Db21wbGV0
ZVJlcXVlc3QoSXJwLCBJT19OT19JTkNSRU1FTlQpOworCisgICAgX19GZG9BY3F1aXJlTXV0ZXgo
RmRvKTsKKworICAgIExpc3RFbnRyeSA9IEZkby0+RHgtPkxpc3RFbnRyeS5GbGluazsKKyAgICB3
aGlsZSAoTGlzdEVudHJ5ICE9ICZGZG8tPkR4LT5MaXN0RW50cnkpIHsKKyAgICAgICAgUFhFTkNP
TlNfRFggIER4ID0gQ09OVEFJTklOR19SRUNPUkQoTGlzdEVudHJ5LCBYRU5DT05TX0RYLCBMaXN0
RW50cnkpOworICAgICAgICBQWEVOQ09OU19QRE8gUGRvID0gRHgtPlBkbzsKKyAgICAgICAgUExJ
U1RfRU5UUlkgTmV4dCA9IExpc3RFbnRyeS0+Rmxpbms7CisKKyAgICAgICAgQVNTRVJUM1UoRHgt
PlR5cGUsID09ICwgUEhZU0lDQUxfREVWSUNFX09CSkVDVCk7CisKKyAgICAgICAgaWYgKFBkb0dl
dERldmljZVBucFN0YXRlKFBkbykgPT0gRGVsZXRlZCAmJgorICAgICAgICAgICAgUGRvSXNNaXNz
aW5nKFBkbykpCisgICAgICAgICAgICBQZG9EZXN0cm95KFBkbyk7CisKKyAgICAgICAgTGlzdEVu
dHJ5ID0gTmV4dDsKKyAgICB9CisKKyAgICBfX0Zkb1JlbGVhc2VNdXRleChGZG8pOworCitkb25l
OgorICAgIHJldHVybiBzdGF0dXM7CisKK2ZhaWwyOgorICAgIEVycm9yKCJmYWlsMlxuIik7CisK
KyAgICBfX0Zkb0FjcXVpcmVNdXRleChGZG8pOworCitmYWlsMToKKyAgICBFcnJvcigiZmFpbDEg
KCUwOHgpXG4iLCBzdGF0dXMpOworCisgICAgX19GZG9SZWxlYXNlTXV0ZXgoRmRvKTsKKworICAg
IElycC0+SW9TdGF0dXMuU3RhdHVzID0gc3RhdHVzOworICAgIElvQ29tcGxldGVSZXF1ZXN0KEly
cCwgSU9fTk9fSU5DUkVNRU5UKTsKIAogICAgIHJldHVybiBzdGF0dXM7CiB9CkBAIC0yNTY2LDYg
KzMyNjAsMTEgQEAgRmRvQ3JlYXRlKAogCiAgICAgRHgtPkZkbyA9IEZkbzsKIAorICAgIEluaXRp
YWxpemVNdXRleCgmRmRvLT5NdXRleCk7CisgICAgSW5pdGlhbGl6ZUxpc3RIZWFkKCZEeC0+TGlz
dEVudHJ5KTsKKworICAgIEZkby0+UmVmZXJlbmNlcyA9IDE7CisKICAgICBJbmZvKCIlcCAoJXMp
XG4iLAogICAgICAgICAgRnVuY3Rpb25EZXZpY2VPYmplY3QsCiAgICAgICAgICBfX0Zkb0dldE5h
bWUoRmRvKSk7CkBAIC0yNjU4LDYgKzMzNTcsOCBAQCBGZG9EZXN0cm95KAogICAgIFBYRU5DT05T
X0RYICAgICAgICAgRHggPSBGZG8tPkR4OwogICAgIFBERVZJQ0VfT0JKRUNUICAgICAgRnVuY3Rp
b25EZXZpY2VPYmplY3QgPSBEeC0+RGV2aWNlT2JqZWN0OwogCisgICAgQVNTRVJUKElzTGlzdEVt
cHR5KCZEeC0+TGlzdEVudHJ5KSk7CisgICAgQVNTRVJUM1UoRmRvLT5SZWZlcmVuY2VzLCA9PSAs
IDApOwogICAgIEFTU0VSVDNVKF9fRmRvR2V0RGV2aWNlUG5wU3RhdGUoRmRvKSwgPT0sIERlbGV0
ZWQpOwogCiAgICAgRmRvLT5Ob3REaXNhYmxlYWJsZSA9IEZBTFNFOwpAQCAtMjY2Niw2ICszMzY3
LDggQEAgRmRvRGVzdHJveSgKICAgICAgICAgIEZ1bmN0aW9uRGV2aWNlT2JqZWN0LAogICAgICAg
ICAgX19GZG9HZXROYW1lKEZkbykpOwogCisgICAgUnRsWmVyb01lbW9yeSgmRmRvLT5NdXRleCwg
c2l6ZW9mKE1VVEVYKSk7CisKICAgICBEeC0+RmRvID0gTlVMTDsKIAogICAgIENvbnNvbGVEZXN0
cm95KEZkby0+Q29uc29sZSk7CmRpZmYgLS1naXQgYS9zcmMveGVuY29ucy9mZG8uaCBiL3NyYy94
ZW5jb25zL2Zkby5oCmluZGV4IDE5ZWFhNDIuLjE4OWM3MGYgMTAwNjQ0Ci0tLSBhL3NyYy94ZW5j
b25zL2Zkby5oCisrKyBiL3NyYy94ZW5jb25zL2Zkby5oCkBAIC00MCw2ICs0MCw0OSBAQAogCiAj
aW5jbHVkZSAiZHJpdmVyLmgiCiAKK2V4dGVybiBQQ0hBUgorRmRvR2V0VmVuZG9yTmFtZSgKKyAg
ICBJTiAgUFhFTkNPTlNfRkRPICAgIEZkbworICAgICk7CisKK2V4dGVybiBQQ0hBUgorRmRvR2V0
TmFtZSgKKyAgICBJTiAgUFhFTkNPTlNfRkRPICAgIEZkbworICAgICk7CisKK2V4dGVybiBOVFNU
QVRVUworRmRvQWRkUGh5c2ljYWxEZXZpY2VPYmplY3QoCisgICAgSU4gIFBYRU5DT05TX0ZETyAg
ICBGZG8sCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8KKyAgICApOworCitleHRlcm4gVk9J
RAorRmRvUmVtb3ZlUGh5c2ljYWxEZXZpY2VPYmplY3QoCisgICAgSU4gIFBYRU5DT05TX0ZETyAg
ICBGZG8sCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8KKyAgICApOworCitleHRlcm4gVk9J
RAorRmRvQWNxdWlyZU11dGV4KAorICAgIElOICBQWEVOQ09OU19GRE8gICAgRmRvCisgICAgKTsK
KworZXh0ZXJuIFZPSUQKK0Zkb1JlbGVhc2VNdXRleCgKKyAgICBJTiAgUFhFTkNPTlNfRkRPICAg
IEZkbworICAgICk7CisKK2V4dGVybiBQREVWSUNFX09CSkVDVAorRmRvR2V0UGh5c2ljYWxEZXZp
Y2VPYmplY3QoCisgICAgSU4gIFBYRU5DT05TX0ZETyAgICBGZG8KKyAgICApOworCitleHRlcm4g
TlRTVEFUVVMKK0Zkb0RlbGVnYXRlSXJwKAorICAgIElOICBQWEVOQ09OU19GRE8gICAgRmRvLAor
ICAgIElOICBQSVJQICAgICAgICAgICAgSXJwCisgICAgKTsKKwogZXh0ZXJuIE5UU1RBVFVTCiBG
ZG9EaXNwYXRjaCgKICAgICBJTiAgUFhFTkNPTlNfRkRPICAgIEZkbywKZGlmZiAtLWdpdCBhL3Ny
Yy94ZW5jb25zL211dGV4LmggYi9zcmMveGVuY29ucy9tdXRleC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmZhZjFhOTgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMveGVuY29u
cy9tdXRleC5oCkBAIC0wLDAgKzEsODIgQEAKKy8qIENvcHlyaWdodCAoYykgQ2l0cml4IFN5c3Rl
bXMgSW5jLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIAorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3JtcywgCisgKiB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIAorICogdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqIAorICogKiAgIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgCisgKiAgICAgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSAKKyAqICAgICBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICogICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIAorICogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgCisgKiAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIAorICogICAgIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKiAKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCAKKyAqIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIAorICogSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgCisgKiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSAKKyAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIAorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgCisgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIAorICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIAorICogV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIAorICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgCisgKiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIF9YRU5DT05TX01VVEVYX0gKKyNkZWZpbmUgX1hFTkNPTlNfTVVURVhfSAorCisj
aW5jbHVkZSA8bnRkZGsuaD4KKworI2luY2x1ZGUgImFzc2VydC5oIgorCit0eXBlZGVmIHN0cnVj
dCBfTVVURVggeworICAgIFBLVEhSRUFEICAgIE93bmVyOworICAgIEtFVkVOVCAgICAgIEV2ZW50
OworfSBNVVRFWCwgKlBNVVRFWDsKKworc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKK0luaXRpYWxp
emVNdXRleCgKKyAgICBJTiAgUE1VVEVYICBNdXRleAorICAgICkKK3sKKyAgICBSdGxaZXJvTWVt
b3J5KE11dGV4LCBzaXplb2YgKE1VVEVYKSk7CisKKyAgICBLZUluaXRpYWxpemVFdmVudCgmTXV0
ZXgtPkV2ZW50LCBTeW5jaHJvbml6YXRpb25FdmVudCwgVFJVRSk7Cit9CisKK3N0YXRpYyBGT1JD
RUlOTElORSBWT0lECitfX2Rydl9tYXhJUlFMKFBBU1NJVkVfTEVWRUwpCitBY3F1aXJlTXV0ZXgo
CisgICAgSU4gIFBNVVRFWCAgTXV0ZXgKKyAgICApCit7CisgICAgKFZPSUQpIEtlV2FpdEZvclNp
bmdsZU9iamVjdCgmTXV0ZXgtPkV2ZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRXhlY3V0aXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2VybmVsTW9k
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisKKyAgICBBU1NFUlQzUChNdXRleC0+T3duZXIs
ID09LCBOVUxMKTsKKyAgICBNdXRleC0+T3duZXIgPSBLZUdldEN1cnJlbnRUaHJlYWQoKTsKK30K
Kworc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKK19fZHJ2X21heElSUUwoUEFTU0lWRV9MRVZFTCkK
K1JlbGVhc2VNdXRleCgKKyAgICBJTiAgUE1VVEVYICBNdXRleAorICAgICkKK3sKKyAgICBBU1NF
UlQzUChNdXRleC0+T3duZXIsID09LCBLZUdldEN1cnJlbnRUaHJlYWQoKSk7CisgICAgTXV0ZXgt
Pk93bmVyID0gTlVMTDsKKworICAgIEtlU2V0RXZlbnQoJk11dGV4LT5FdmVudCwgSU9fTk9fSU5D
UkVNRU5ULCBGQUxTRSk7Cit9CisKKyNlbmRpZiAgLy8gX1hFTkNPTlNfTVVURVhfSApkaWZmIC0t
Z2l0IGEvc3JjL3hlbmNvbnMvcGRvLmMgYi9zcmMveGVuY29ucy9wZG8uYwpuZXcgZmlsZSBtb2Rl
IDEwMDc1NQppbmRleCAwMDAwMDAwLi43YTljMWU2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3hl
bmNvbnMvcGRvLmMKQEAgLTAsMCArMSwxNzg2IEBACisvKiBDb3B5cmlnaHQgKGMpIENpdHJpeCBT
eXN0ZW1zIEluYy4KKyogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3JtcywKKyogd2l0aCBvciB3aXRob3V0IG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAorKiB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OgorKgorKiAqICAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorKiAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZQorKiAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIuCisq
ICogICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisqICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlCisqICAgICBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIKKyogICAgIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORAorKiBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLAorKiBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRgorKiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIEhPTERFUiBPUgorKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKyogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCisqIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORworKiBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyogU1VDSCBEQU1B
R0UuCisqLworCisjZGVmaW5lIElOSVRHVUlEIDEKKworI2luY2x1ZGUgPG50ZGRrLmg+CisjaW5j
bHVkZSA8d2RtZ3VpZC5oPgorI2luY2x1ZGUgPG50c3Ryc2FmZS5oPgorI2luY2x1ZGUgPHN0ZGxp
Yi5oPgorCisjaW5jbHVkZSAibmFtZXMuaCIKKyNpbmNsdWRlICJmZG8uaCIKKyNpbmNsdWRlICJw
ZG8uaCIKKyNpbmNsdWRlICJkcml2ZXIuaCIKKyNpbmNsdWRlICJyZWdpc3RyeS5oIgorI2luY2x1
ZGUgInRocmVhZC5oIgorI2luY2x1ZGUgImRiZ19wcmludC5oIgorI2luY2x1ZGUgImFzc2VydC5o
IgorI2luY2x1ZGUgInV0aWwuaCIKKyNpbmNsdWRlICJ2ZXJzaW9uLmgiCisKKyNkZWZpbmUgUERP
X1BPT0wgJ09EUCcKKworI2RlZmluZSBNQVhOQU1FTEVOICAxMjgKKworc3RydWN0IF9YRU5DT05T
X1BETyB7CisgICAgUFhFTkNPTlNfRFggICAgICAgICAgICAgICAgIER4OworCisgICAgUFhFTkNP
TlNfVEhSRUFEICAgICAgICAgICAgIFN5c3RlbVBvd2VyVGhyZWFkOworICAgIFBJUlAgICAgICAg
ICAgICAgICAgICAgICAgICBTeXN0ZW1Qb3dlcklycDsKKyAgICBQWEVOQ09OU19USFJFQUQgICAg
ICAgICAgICAgRGV2aWNlUG93ZXJUaHJlYWQ7CisgICAgUElSUCAgICAgICAgICAgICAgICAgICAg
ICAgIERldmljZVBvd2VySXJwOworCisgICAgUFhFTkNPTlNfRkRPICAgICAgICAgICAgICAgIEZk
bzsKKyAgICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgTWlzc2luZzsKKyAgICBjb25zdCBD
SEFSICAgICAgICAgICAgICAgICAgKlJlYXNvbjsKKyAgICBMT05HICAgICAgICAgICAgICAgICAg
ICAgICAgRWplY3Q7CisKKyAgICBYRU5CVVNfU1VTUEVORF9JTlRFUkZBQ0UgICAgU3VzcGVuZElu
dGVyZmFjZTsKKyAgICBQWEVOQlVTX1NVU1BFTkRfQ0FMTEJBQ0sgICAgU3VzcGVuZENhbGxiYWNr
TGF0ZTsKK307CisKK3N0YXRpYyBGT1JDRUlOTElORSBQVk9JRAorX19QZG9BbGxvY2F0ZSgKKyAg
ICBJTiAgVUxPTkcgICBMZW5ndGgKKyAgICApCit7CisgICAgcmV0dXJuIF9fQWxsb2NhdGVQb29s
V2l0aFRhZyhOb25QYWdlZFBvb2wsIExlbmd0aCwgUERPX1BPT0wpOworfQorCitzdGF0aWMgRk9S
Q0VJTkxJTkUgVk9JRAorX19QZG9GcmVlKAorICAgIElOICBQVk9JRCAgIEJ1ZmZlcgorICAgICkK
K3sKKyAgICBfX0ZyZWVQb29sV2l0aFRhZyhCdWZmZXIsIFBET19QT09MKTsKK30KKworc3RhdGlj
IEZPUkNFSU5MSU5FIFZPSUQKK19fUGRvU2V0RGV2aWNlUG5wU3RhdGUoCisgICAgSU4gIFBYRU5D
T05TX1BETyAgICAgICAgUGRvLAorICAgIElOICBERVZJQ0VfUE5QX1NUQVRFICAgIFN0YXRlCisg
ICAgKQoreworICAgIFBYRU5DT05TX0RYICAgICAgICAgICAgIER4ID0gUGRvLT5EeDsKKworICAg
IC8vIFdlIGNhbiBuZXZlciB0cmFuc2l0aW9uIG91dCBvZiB0aGUgZGVsZXRlZCBzdGF0ZQorICAg
IEFTU0VSVChEeC0+RGV2aWNlUG5wU3RhdGUgIT0gRGVsZXRlZCB8fCBTdGF0ZSA9PSBEZWxldGVk
KTsKKworICAgIER4LT5QcmV2aW91c0RldmljZVBucFN0YXRlID0gRHgtPkRldmljZVBucFN0YXRl
OworICAgIER4LT5EZXZpY2VQbnBTdGF0ZSA9IFN0YXRlOworfQorCitWT0lECitQZG9TZXREZXZp
Y2VQbnBTdGF0ZSgKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgICAgICBQZG8sCisgICAgSU4gIERF
VklDRV9QTlBfU1RBVEUgICAgU3RhdGUKKyAgICApCit7CisgICAgX19QZG9TZXREZXZpY2VQbnBT
dGF0ZShQZG8sIFN0YXRlKTsKK30KKworc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKK19fUGRvUmVz
dG9yZURldmljZVBucFN0YXRlKAorICAgIElOICBQWEVOQ09OU19QRE8gICAgICAgIFBkbywKKyAg
ICBJTiAgREVWSUNFX1BOUF9TVEFURSAgICBTdGF0ZQorICAgICkKK3sKKyAgICBQWEVOQ09OU19E
WCAgICAgICAgICAgICBEeCA9IFBkby0+RHg7CisKKyAgICBpZiAoRHgtPkRldmljZVBucFN0YXRl
ID09IFN0YXRlKQorICAgICAgICBEeC0+RGV2aWNlUG5wU3RhdGUgPSBEeC0+UHJldmlvdXNEZXZp
Y2VQbnBTdGF0ZTsKK30KKworc3RhdGljIEZPUkNFSU5MSU5FIERFVklDRV9QTlBfU1RBVEUKK19f
UGRvR2V0RGV2aWNlUG5wU3RhdGUoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8KKyAgICAp
Cit7CisgICAgUFhFTkNPTlNfRFggICAgICAgICBEeCA9IFBkby0+RHg7CisKKyAgICByZXR1cm4g
RHgtPkRldmljZVBucFN0YXRlOworfQorCitERVZJQ0VfUE5QX1NUQVRFCitQZG9HZXREZXZpY2VQ
bnBTdGF0ZSgKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbworICAgICkKK3sKKyAgICByZXR1
cm4gX19QZG9HZXREZXZpY2VQbnBTdGF0ZShQZG8pOworfQorCitzdGF0aWMgRk9SQ0VJTkxJTkUg
Vk9JRAorX19QZG9TZXRTeXN0ZW1Qb3dlclN0YXRlKAorICAgIElOICBQWEVOQ09OU19QRE8gICAg
ICAgIFBkbywKKyAgICBJTiAgU1lTVEVNX1BPV0VSX1NUQVRFICBTdGF0ZQorICAgICkKK3sKKyAg
ICBQWEVOQ09OU19EWCAgICAgICAgICAgICBEeCA9IFBkby0+RHg7CisKKyAgICBEeC0+U3lzdGVt
UG93ZXJTdGF0ZSA9IFN0YXRlOworfQorCitzdGF0aWMgRk9SQ0VJTkxJTkUgU1lTVEVNX1BPV0VS
X1NUQVRFCitfX1Bkb0dldFN5c3RlbVBvd2VyU3RhdGUoCisgICAgSU4gIFBYRU5DT05TX1BETyAg
ICBQZG8KKyAgICApCit7CisgICAgUFhFTkNPTlNfRFggICAgICAgICBEeCA9IFBkby0+RHg7CisK
KyAgICByZXR1cm4gRHgtPlN5c3RlbVBvd2VyU3RhdGU7Cit9CisKK3N0YXRpYyBGT1JDRUlOTElO
RSBWT0lECitfX1Bkb1NldERldmljZVBvd2VyU3RhdGUoCisgICAgSU4gIFBYRU5DT05TX1BETyAg
ICAgICAgUGRvLAorICAgIElOICBERVZJQ0VfUE9XRVJfU1RBVEUgIFN0YXRlCisgICAgKQorewor
ICAgIFBYRU5DT05TX0RYICAgICAgICAgICAgIER4ID0gUGRvLT5EeDsKKworICAgIER4LT5EZXZp
Y2VQb3dlclN0YXRlID0gU3RhdGU7Cit9CisKK3N0YXRpYyBGT1JDRUlOTElORSBERVZJQ0VfUE9X
RVJfU1RBVEUKK19fUGRvR2V0RGV2aWNlUG93ZXJTdGF0ZSgKKyAgICBJTiAgUFhFTkNPTlNfUERP
ICAgIFBkbworICAgICkKK3sKKyAgICBQWEVOQ09OU19EWCAgICAgICAgIER4ID0gUGRvLT5EeDsK
KworICAgIHJldHVybiBEeC0+RGV2aWNlUG93ZXJTdGF0ZTsKK30KKworc3RhdGljIEZPUkNFSU5M
SU5FIFZPSUQKK19fUGRvU2V0TWlzc2luZygKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbywK
KyAgICBJTiAgY29uc3QgQ0hBUiAgICAgICpSZWFzb24KKyAgICApCit7CisgICAgUGRvLT5SZWFz
b24gPSBSZWFzb247CisgICAgUGRvLT5NaXNzaW5nID0gVFJVRTsKK30KKworVk9JRAorUGRvU2V0
TWlzc2luZygKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbywKKyAgICBJTiAgY29uc3QgQ0hB
UiAgICAgICpSZWFzb24KKyAgICApCit7CisgICAgX19QZG9TZXRNaXNzaW5nKFBkbywgUmVhc29u
KTsKK30KKworc3RhdGljIEZPUkNFSU5MSU5FIEJPT0xFQU4KK19fUGRvSXNNaXNzaW5nKAorICAg
IElOICBQWEVOQ09OU19QRE8gICAgUGRvCisgICAgKQoreworICAgIHJldHVybiBQZG8tPk1pc3Np
bmc7Cit9CisKK0JPT0xFQU4KK1Bkb0lzTWlzc2luZygKKyAgICBJTiAgUFhFTkNPTlNfUERPICAg
IFBkbworICAgICkKK3sKKyAgICByZXR1cm4gX19QZG9Jc01pc3NpbmcoUGRvKTsKK30KKworc3Rh
dGljIEZPUkNFSU5MSU5FIFBYRU5DT05TX0ZETworX19QZG9HZXRGZG8oCisgICAgSU4gIFBYRU5D
T05TX1BETyAgICBQZG8KKyAgICApCit7CisgICAgcmV0dXJuIFBkby0+RmRvOworfQorCitQWEVO
Q09OU19GRE8KK1Bkb0dldEZkbygKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbworICAgICkK
K3sKKyAgICByZXR1cm4gX19QZG9HZXRGZG8oUGRvKTsKK30KKworc3RhdGljIEZPUkNFSU5MSU5F
IFZPSUQKK19fUGRvU2V0TmFtZSgKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbywKKyAgICBJ
TiAgUEFOU0lfU1RSSU5HICAgIE5hbWUKKyAgICApCit7CisgICAgUFhFTkNPTlNfRFggICAgICAg
ICBEeCA9IFBkby0+RHg7CisgICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7CisKKyAgICBz
dGF0dXMgPSBSdGxTdHJpbmdDYlByaW50ZkEoRHgtPk5hbWUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIE1BWF9ERVZJQ0VfSURfTEVOLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiJVoiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lKTsKKyAg
ICBBU1NFUlQoTlRfU1VDQ0VTUyhzdGF0dXMpKTsKK30KKworc3RhdGljIEZPUkNFSU5MSU5FIFBD
SEFSCitfX1Bkb0dldE5hbWUoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8KKyAgICApCit7
CisgICAgUFhFTkNPTlNfRFggICAgICAgICBEeCA9IFBkby0+RHg7CisKKyAgICByZXR1cm4gRHgt
Pk5hbWU7Cit9CisKK1BDSEFSCitQZG9HZXROYW1lKAorICAgIElOICBQWEVOQ09OU19QRE8gICAg
UGRvCisgICAgKQoreworICAgIHJldHVybiBfX1Bkb0dldE5hbWUoUGRvKTsKK30KKworc3RhdGlj
IEZPUkNFSU5MSU5FIEJPT0xFQU4KK19fUGRvU2V0RWplY3RSZXF1ZXN0ZWQoCisgICAgSU4gIFBY
RU5DT05TX1BETyAgICBQZG8KKyAgICApCit7CisgICAgcmV0dXJuIChJbnRlcmxvY2tlZEJpdFRl
c3RBbmRTZXQoJlBkby0+RWplY3QsIDApID09IDApID8gVFJVRSA6IEZBTFNFOworfQorCitWT0lE
CitQZG9SZXF1ZXN0RWplY3QoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8KKyAgICApCit7
CisgICAgUFhFTkNPTlNfRFggICAgICAgICBEeCA9IFBkby0+RHg7CisgICAgUERFVklDRV9PQkpF
Q1QgICAgICBQaHlzaWNhbERldmljZU9iamVjdCA9IER4LT5EZXZpY2VPYmplY3Q7CisgICAgUFhF
TkNPTlNfRkRPICAgICAgICBGZG8gPSBfX1Bkb0dldEZkbyhQZG8pOworCisgICAgaWYgKCFfX1Bk
b1NldEVqZWN0UmVxdWVzdGVkKFBkbykpCisgICAgICAgIHJldHVybjsKKworICAgIEluZm8oIiVw
ICglcylcbiIsCisgICAgICAgICBQaHlzaWNhbERldmljZU9iamVjdCwKKyAgICAgICAgIF9fUGRv
R2V0TmFtZShQZG8pKTsKKworICAgIElvSW52YWxpZGF0ZURldmljZVJlbGF0aW9ucyhGZG9HZXRQ
aHlzaWNhbERldmljZU9iamVjdChGZG8pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBCdXNSZWxhdGlvbnMpOworfQorCitzdGF0aWMgRk9SQ0VJTkxJTkUgQk9PTEVBTgorX19QZG9D
bGVhckVqZWN0UmVxdWVzdGVkKAorICAgIElOICBQWEVOQ09OU19QRE8gICAgUGRvCisgICAgKQor
eworICAgIHJldHVybiAoSW50ZXJsb2NrZWRCaXRUZXN0QW5kUmVzZXQoJlBkby0+RWplY3QsIDAp
ICE9IDApID8gVFJVRSA6IEZBTFNFOworfQorCitzdGF0aWMgRk9SQ0VJTkxJTkUgQk9PTEVBTgor
X19QZG9Jc0VqZWN0UmVxdWVzdGVkKAorICAgIElOICBQWEVOQ09OU19QRE8gICAgUGRvCisgICAg
KQoreworICAgIEtlTWVtb3J5QmFycmllcigpOworICAgIHJldHVybiAoUGRvLT5FamVjdCAmIDEp
ID8gVFJVRSA6IEZBTFNFOworfQorCitCT09MRUFOCitQZG9Jc0VqZWN0UmVxdWVzdGVkKAorICAg
IElOICBQWEVOQ09OU19QRE8gICAgUGRvCisgICAgKQoreworICAgIHJldHVybiBfX1Bkb0lzRWpl
Y3RSZXF1ZXN0ZWQoUGRvKTsKK30KKworc3RhdGljIEZPUkNFSU5MSU5FIFBERVZJQ0VfT0JKRUNU
CitfX1Bkb0dldERldmljZU9iamVjdCgKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbworICAg
ICkKK3sKKyAgICBQWEVOQ09OU19EWCAgICAgICAgIER4ID0gUGRvLT5EeDsKKworICAgIHJldHVy
biAoRHgtPkRldmljZU9iamVjdCk7Cit9CisKK1BERVZJQ0VfT0JKRUNUCitQZG9HZXREZXZpY2VP
YmplY3QoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8KKyAgICApCit7CisgICAgcmV0dXJu
IF9fUGRvR2V0RGV2aWNlT2JqZWN0KFBkbyk7Cit9CisKK3N0YXRpYyBGT1JDRUlOTElORSBQQ0hB
UgorX19QZG9HZXRWZW5kb3JOYW1lKAorICAgIElOICBQWEVOQ09OU19QRE8gICAgUGRvCisgICAg
KQoreworICAgIHJldHVybiBGZG9HZXRWZW5kb3JOYW1lKF9fUGRvR2V0RmRvKFBkbykpOworfQor
CitzdGF0aWMgRk9SQ0VJTkxJTkUgTlRTVEFUVVMKK19fUGRvRDNUb0QwKAorICAgIElOICBQWEVO
Q09OU19QRE8gICAgUGRvCisgICAgKQoreworICAgIFBPV0VSX1NUQVRFICAgICAgICAgUG93ZXJT
dGF0ZTsKKyAgICAKKyAgICBUcmFjZSgiKCVzKSA9PT09PlxuIiwgX19QZG9HZXROYW1lKFBkbykp
OworCisgICAgQVNTRVJUM1UoS2VHZXRDdXJyZW50SXJxbCgpLCA9PSAsIERJU1BBVENIX0xFVkVM
KTsKKyAgICBBU1NFUlQzVShfX1Bkb0dldERldmljZVBvd2VyU3RhdGUoUGRvKSwgPT0gLCBQb3dl
ckRldmljZUQzKTsKKworICAgIF9fUGRvU2V0RGV2aWNlUG93ZXJTdGF0ZShQZG8sIFBvd2VyRGV2
aWNlRDApOworCisgICAgUG93ZXJTdGF0ZS5EZXZpY2VTdGF0ZSA9IFBvd2VyRGV2aWNlRDA7Cisg
ICAgUG9TZXRQb3dlclN0YXRlKF9fUGRvR2V0RGV2aWNlT2JqZWN0KFBkbyksCisgICAgICAgICAg
ICAgICAgICAgIERldmljZVBvd2VyU3RhdGUsCisgICAgICAgICAgICAgICAgICAgIFBvd2VyU3Rh
dGUpOworCisgICAgVHJhY2UoIiglcykgPD09PT1cbiIsIF9fUGRvR2V0TmFtZShQZG8pKTsKKwor
ICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKK30KKworc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQK
K19fUGRvRDBUb0QzKAorICAgIElOICBQWEVOQ09OU19QRE8gICAgUGRvCisgICAgKQoreworICAg
IFBPV0VSX1NUQVRFICAgICAgICAgUG93ZXJTdGF0ZTsKKworICAgIFRyYWNlKCIoJXMpID09PT0+
XG4iLCBfX1Bkb0dldE5hbWUoUGRvKSk7CisKKyAgICBBU1NFUlQzVShLZUdldEN1cnJlbnRJcnFs
KCksID09ICwgRElTUEFUQ0hfTEVWRUwpOworICAgIEFTU0VSVDNVKF9fUGRvR2V0RGV2aWNlUG93
ZXJTdGF0ZShQZG8pLCA9PSAsIFBvd2VyRGV2aWNlRDApOworCisgICAgUG93ZXJTdGF0ZS5EZXZp
Y2VTdGF0ZSA9IFBvd2VyRGV2aWNlRDM7CisgICAgUG9TZXRQb3dlclN0YXRlKF9fUGRvR2V0RGV2
aWNlT2JqZWN0KFBkbyksCisgICAgICAgICAgICAgICAgICAgIERldmljZVBvd2VyU3RhdGUsCisg
ICAgICAgICAgICAgICAgICAgIFBvd2VyU3RhdGUpOworCisgICAgX19QZG9TZXREZXZpY2VQb3dl
clN0YXRlKFBkbywgUG93ZXJEZXZpY2VEMyk7CisKKyAgICBUcmFjZSgiKCVzKSA8PT09PVxuIiwg
X19QZG9HZXROYW1lKFBkbykpOworfQorCitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgVk9JRAor
UGRvU3VzcGVuZENhbGxiYWNrTGF0ZSgKKyAgICBJTiAgUFZPSUQgICAgICAgICAgICAgICBBcmd1
bWVudAorICAgICkKK3sKKyAgICBQWEVOQ09OU19QRE8gICAgICAgICAgICBQZG8gPSBBcmd1bWVu
dDsKKyAgICBOVFNUQVRVUyAgICAgICAgICAgICAgICBzdGF0dXM7CisKKyAgICBfX1Bkb0QwVG9E
MyhQZG8pOworCisgICAgc3RhdHVzID0gX19QZG9EM1RvRDAoUGRvKTsKKyAgICBBU1NFUlQoTlRf
U1VDQ0VTUyhzdGF0dXMpKTsKK30KKworLy8gVGhpcyBmdW5jdGlvbiBtdXN0IG5vdCB0b3VjaCBw
YWdlYWJsZSBjb2RlIG9yIGRhdGEKK3N0YXRpYyBERUNMU1BFQ19OT0lOTElORSBOVFNUQVRVUwor
UGRvRDNUb0QwKAorICAgIElOICBQWEVOQ09OU19QRE8gICAgUGRvCisgICAgKQoreworICAgIEtJ
UlFMICAgICAgICAgICAgICAgSXJxbDsKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsK
KworICAgIEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwoKSwgPT0gLCBQQVNTSVZFX0xFVkVMKTsK
KworICAgIEtlUmFpc2VJcnFsKERJU1BBVENIX0xFVkVMLCAmSXJxbCk7CisKKyAgICBzdGF0dXMg
PSBYRU5CVVNfU1VTUEVORChBY3F1aXJlLCAmUGRvLT5TdXNwZW5kSW50ZXJmYWNlKTsKKyAgICBp
ZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBmYWlsMTsKKworICAgIHN0YXR1
cyA9IF9fUGRvRDNUb0QwKFBkbyk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAg
ICAgIGdvdG8gZmFpbDI7CisKKyAgICBzdGF0dXMgPSBYRU5CVVNfU1VTUEVORChSZWdpc3RlciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUGRvLT5TdXNwZW5kSW50ZXJmYWNlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFNVU1BFTkRfQ0FMTEJBQ0tfTEFURSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBQZG9TdXNwZW5kQ2FsbGJhY2tMYXRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFBkbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUGRvLT5T
dXNwZW5kQ2FsbGJhY2tMYXRlKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAg
ICAgZ290byBmYWlsMzsKKworICAgIEtlTG93ZXJJcnFsKElycWwpOworCisgICAgcmV0dXJuIFNU
QVRVU19TVUNDRVNTOworCitmYWlsMzoKKyAgICBFcnJvcigiZmFpbDNcbiIpOworCisgICAgX19Q
ZG9EMFRvRDMoUGRvKTsKKworZmFpbDI6CisgICAgRXJyb3IoImZhaWwyXG4iKTsKKworICAgIFhF
TkJVU19TVVNQRU5EKFJlbGVhc2UsICZQZG8tPlN1c3BlbmRJbnRlcmZhY2UpOworCitmYWlsMToK
KyAgICBFcnJvcigiZmFpbDEgKCUwOHgpXG4iLCBzdGF0dXMpOworCisgICAgS2VMb3dlcklycWwo
SXJxbCk7CisKKyAgICByZXR1cm4gc3RhdHVzOworfQorCisvLyBUaGlzIGZ1bmN0aW9uIG11c3Qg
bm90IHRvdWNoIHBhZ2VhYmxlIGNvZGUgb3IgZGF0YQorc3RhdGljIERFQ0xTUEVDX05PSU5MSU5F
IFZPSUQKK1Bkb0QwVG9EMygKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbworICAgICkKK3sK
KyAgICBLSVJRTCAgICAgICAgICAgICAgIElycWw7CisKKyAgICBBU1NFUlQzVShLZUdldEN1cnJl
bnRJcnFsKCksID09ICwgUEFTU0lWRV9MRVZFTCk7CisKKyAgICBLZVJhaXNlSXJxbChESVNQQVRD
SF9MRVZFTCwgJklycWwpOworCisgICAgWEVOQlVTX1NVU1BFTkQoRGVyZWdpc3RlciwKKyAgICAg
ICAgICAgICAgICAgICAmUGRvLT5TdXNwZW5kSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAg
IFBkby0+U3VzcGVuZENhbGxiYWNrTGF0ZSk7CisgICAgUGRvLT5TdXNwZW5kQ2FsbGJhY2tMYXRl
ID0gTlVMTDsKKworICAgIF9fUGRvRDBUb0QzKFBkbyk7CisKKyAgICBYRU5CVVNfU1VTUEVORChS
ZWxlYXNlLCAmUGRvLT5TdXNwZW5kSW50ZXJmYWNlKTsKKworICAgIEtlTG93ZXJJcnFsKElycWwp
OworfQorCisvLyBUaGlzIGZ1bmN0aW9uIG11c3Qgbm90IHRvdWNoIHBhZ2VhYmxlIGNvZGUgb3Ig
ZGF0YQorc3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIFZPSUQKK1Bkb1M0VG9TMygKKyAgICBJTiAg
UFhFTkNPTlNfUERPICAgIFBkbworICAgICkKK3sKKyAgICBUcmFjZSgiKCVzKSA9PT09PlxuIiwg
X19QZG9HZXROYW1lKFBkbykpOworCisgICAgQVNTRVJUM1UoS2VHZXRDdXJyZW50SXJxbCgpLCA9
PSAsIFBBU1NJVkVfTEVWRUwpOworICAgIEFTU0VSVDNVKF9fUGRvR2V0U3lzdGVtUG93ZXJTdGF0
ZShQZG8pLCA9PSAsIFBvd2VyU3lzdGVtSGliZXJuYXRlKTsKKworICAgIF9fUGRvU2V0U3lzdGVt
UG93ZXJTdGF0ZShQZG8sIFBvd2VyU3lzdGVtU2xlZXBpbmczKTsKKworICAgIFRyYWNlKCIoJXMp
IDw9PT09XG4iLCBfX1Bkb0dldE5hbWUoUGRvKSk7Cit9CisKKy8vIFRoaXMgZnVuY3Rpb24gbXVz
dCBub3QgdG91Y2ggcGFnZWFibGUgY29kZSBvciBkYXRhCitzdGF0aWMgREVDTFNQRUNfTk9JTkxJ
TkUgVk9JRAorUGRvUzNUb1M0KAorICAgIElOICBQWEVOQ09OU19QRE8gICAgUGRvCisgICAgKQor
eworICAgIFRyYWNlKCIoJXMpID09PT0+XG4iLCBfX1Bkb0dldE5hbWUoUGRvKSk7CisKKyAgICBB
U1NFUlQzVShLZUdldEN1cnJlbnRJcnFsKCksID09ICwgUEFTU0lWRV9MRVZFTCk7CisgICAgQVNT
RVJUM1UoX19QZG9HZXRTeXN0ZW1Qb3dlclN0YXRlKFBkbyksID09ICwgUG93ZXJTeXN0ZW1TbGVl
cGluZzMpOworCisgICAgX19QZG9TZXRTeXN0ZW1Qb3dlclN0YXRlKFBkbywgUG93ZXJTeXN0ZW1I
aWJlcm5hdGUpOworCisgICAgVHJhY2UoIiglcykgPD09PT1cbiIsIF9fUGRvR2V0TmFtZShQZG8p
KTsKK30KKworc3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIE5UU1RBVFVTCitQZG9TdGFydERldmlj
ZSgKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbywKKyAgICBJTiAgUElSUCAgICAgICAgICAg
IElycAorICAgICkKK3sKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsKKworICAgIHN0
YXR1cyA9IFBkb0QzVG9EMChQZG8pOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAg
ICAgICBnb3RvIGZhaWwxOworCisgICAgX19QZG9TZXREZXZpY2VQbnBTdGF0ZShQZG8sIFN0YXJ0
ZWQpOworCisgICAgSXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBTVEFUVVNfU1VDQ0VTUzsKKyAgICBJ
b0NvbXBsZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7CisKKyAgICByZXR1cm4gU1RB
VFVTX1NVQ0NFU1M7CisKK2ZhaWwxOgorICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1
cyk7CisKKyAgICBJcnAtPklvU3RhdHVzLlN0YXR1cyA9IHN0YXR1czsKKyAgICBJb0NvbXBsZXRl
UmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7CisKKyAgICByZXR1cm4gc3RhdHVzOworfQor
CitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFUVVMKK1Bkb1F1ZXJ5U3RvcERldmljZSgK
KyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbywKKyAgICBJTiAgUElSUCAgICAgICAgICAgIEly
cAorICAgICkKK3sKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsKKworICAgIF9fUGRv
U2V0RGV2aWNlUG5wU3RhdGUoUGRvLCBTdG9wUGVuZGluZyk7CisgICAgc3RhdHVzID0gU1RBVFVT
X1NVQ0NFU1M7CisKKyAgICBJcnAtPklvU3RhdHVzLlN0YXR1cyA9IHN0YXR1czsKKyAgICBJb0Nv
bXBsZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7CisKKyAgICByZXR1cm4gc3RhdHVz
OworfQorCitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFUVVMKK1Bkb0NhbmNlbFN0b3BE
ZXZpY2UoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8sCisgICAgSU4gIFBJUlAgICAgICAg
ICAgICBJcnAKKyAgICApCit7CisgICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7CisKKyAg
ICBfX1Bkb1Jlc3RvcmVEZXZpY2VQbnBTdGF0ZShQZG8sIFN0b3BQZW5kaW5nKTsKKyAgICBzdGF0
dXMgPSBTVEFUVVNfU1VDQ0VTUzsKKworICAgIElycC0+SW9TdGF0dXMuU3RhdHVzID0gc3RhdHVz
OworICAgIElvQ29tcGxldGVSZXF1ZXN0KElycCwgSU9fTk9fSU5DUkVNRU5UKTsKKworICAgIHJl
dHVybiBzdGF0dXM7Cit9CisKK3N0YXRpYyBERUNMU1BFQ19OT0lOTElORSBOVFNUQVRVUworUGRv
U3RvcERldmljZSgKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbywKKyAgICBJTiAgUElSUCAg
ICAgICAgICAgIElycAorICAgICkKK3sKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsK
KworICAgIGlmIChfX1Bkb0dldERldmljZVBvd2VyU3RhdGUoUGRvKSAhPSBQb3dlckRldmljZUQw
KQorICAgICAgICBnb3RvIGRvbmU7CisKKyAgICBQZG9EMFRvRDMoUGRvKTsKKworZG9uZToKKyAg
ICBfX1Bkb1NldERldmljZVBucFN0YXRlKFBkbywgU3RvcHBlZCk7CisgICAgc3RhdHVzID0gU1RB
VFVTX1NVQ0NFU1M7CisKKyAgICBJcnAtPklvU3RhdHVzLlN0YXR1cyA9IHN0YXR1czsKKyAgICBJ
b0NvbXBsZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7CisKKyAgICByZXR1cm4gc3Rh
dHVzOworfQorCitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFUVVMKK1Bkb1F1ZXJ5UmVt
b3ZlRGV2aWNlKAorICAgIElOICBQWEVOQ09OU19QRE8gICAgUGRvLAorICAgIElOICBQSVJQICAg
ICAgICAgICAgSXJwCisgICAgKQoreworICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVzOwor
CisgICAgX19QZG9TZXREZXZpY2VQbnBTdGF0ZShQZG8sIFJlbW92ZVBlbmRpbmcpOworICAgIHN0
YXR1cyA9IFNUQVRVU19TVUNDRVNTOworCisgICAgSXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBzdGF0
dXM7CisgICAgSW9Db21wbGV0ZVJlcXVlc3QoSXJwLCBJT19OT19JTkNSRU1FTlQpOworCisgICAg
cmV0dXJuIHN0YXR1czsKK30KKworc3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIE5UU1RBVFVTCitQ
ZG9DYW5jZWxSZW1vdmVEZXZpY2UoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8sCisgICAg
SU4gIFBJUlAgICAgICAgICAgICBJcnAKKyAgICApCit7CisgICAgTlRTVEFUVVMgICAgICAgICAg
ICBzdGF0dXM7CisKKyAgICAvL2lmIChfX1Bkb0NsZWFyRWplY3RSZXF1ZXN0ZWQoUGRvKSkKKyAg
ICAvLyAgICBGcm9udGVuZEVqZWN0RmFpbGVkKF9fUGRvR2V0RnJvbnRlbmQoUGRvKSk7CisKKyAg
ICBfX1Bkb1Jlc3RvcmVEZXZpY2VQbnBTdGF0ZShQZG8sIFJlbW92ZVBlbmRpbmcpOworICAgIHN0
YXR1cyA9IFNUQVRVU19TVUNDRVNTOworCisgICAgSXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBzdGF0
dXM7CisgICAgSW9Db21wbGV0ZVJlcXVlc3QoSXJwLCBJT19OT19JTkNSRU1FTlQpOworCisgICAg
cmV0dXJuIHN0YXR1czsKK30KKworc3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIE5UU1RBVFVTCitQ
ZG9TdXJwcmlzZVJlbW92YWwoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8sCisgICAgSU4g
IFBJUlAgICAgICAgICAgICBJcnAKKyAgICApCit7CisgICAgTlRTVEFUVVMgICAgICAgICAgICBz
dGF0dXM7CisKKyAgICBXYXJuaW5nKCIlc1xuIiwgX19QZG9HZXROYW1lKFBkbykpOworCisgICAg
X19QZG9TZXREZXZpY2VQbnBTdGF0ZShQZG8sIFN1cnByaXNlUmVtb3ZlUGVuZGluZyk7CisgICAg
c3RhdHVzID0gU1RBVFVTX1NVQ0NFU1M7CisKKyAgICBJcnAtPklvU3RhdHVzLlN0YXR1cyA9IHN0
YXR1czsKKyAgICBJb0NvbXBsZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7CisKKyAg
ICByZXR1cm4gc3RhdHVzOworfQorCitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFUVVMK
K1Bkb1JlbW92ZURldmljZSgKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbywKKyAgICBJTiAg
UElSUCAgICAgICAgICAgIElycAorICAgICkKK3sKKyAgICBQWEVOQ09OU19GRE8gICAgICAgIEZk
byA9IF9fUGRvR2V0RmRvKFBkbyk7CisgICAgQk9PTEVBTiAgICAgICAgICAgICBOZWVkSW52YWxp
ZGF0ZTsKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsKKworICAgIGlmIChfX1Bkb0dl
dERldmljZVBvd2VyU3RhdGUoUGRvKSAhPSBQb3dlckRldmljZUQwKQorICAgICAgICBnb3RvIGRv
bmU7CisKKyAgICBQZG9EMFRvRDMoUGRvKTsKKworZG9uZToKKyAgICBOZWVkSW52YWxpZGF0ZSA9
IEZBTFNFOworCisgICAgRmRvQWNxdWlyZU11dGV4KEZkbyk7CisKKyAgICBpZiAoX19QZG9Jc01p
c3NpbmcoUGRvKSkgeworICAgICAgICBERVZJQ0VfUE5QX1NUQVRFICAgIFN0YXRlID0gX19QZG9H
ZXREZXZpY2VQbnBTdGF0ZShQZG8pOworCisgICAgICAgIF9fUGRvU2V0RGV2aWNlUG5wU3RhdGUo
UGRvLCBEZWxldGVkKTsKKworICAgICAgICBpZiAoU3RhdGUgPT0gU3VycHJpc2VSZW1vdmVQZW5k
aW5nKQorICAgICAgICAgICAgUGRvRGVzdHJveShQZG8pOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBOZWVkSW52YWxpZGF0ZSA9IFRSVUU7CisgICAgfSBlbHNlIHsKKyAgICAgICAgX19QZG9T
ZXREZXZpY2VQbnBTdGF0ZShQZG8sIEVudW1lcmF0ZWQpOworICAgIH0KKworICAgIEZkb1JlbGVh
c2VNdXRleChGZG8pOworCisgICAgaWYgKE5lZWRJbnZhbGlkYXRlKQorICAgICAgICBJb0ludmFs
aWRhdGVEZXZpY2VSZWxhdGlvbnMoRmRvR2V0UGh5c2ljYWxEZXZpY2VPYmplY3QoRmRvKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1c1JlbGF0aW9ucyk7CisKKyAgICBz
dGF0dXMgPSBTVEFUVVNfU1VDQ0VTUzsKKworICAgIElycC0+SW9TdGF0dXMuU3RhdHVzID0gc3Rh
dHVzOworICAgIElvQ29tcGxldGVSZXF1ZXN0KElycCwgSU9fTk9fSU5DUkVNRU5UKTsKKworICAg
IHJldHVybiBzdGF0dXM7Cit9CisKK3N0YXRpYyBERUNMU1BFQ19OT0lOTElORSBOVFNUQVRVUwor
UGRvUXVlcnlEZXZpY2VSZWxhdGlvbnMoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8sCisg
ICAgSU4gIFBJUlAgICAgICAgICAgICBJcnAKKyAgICApCit7CisgICAgUElPX1NUQUNLX0xPQ0FU
SU9OICBTdGFja0xvY2F0aW9uOworICAgIFBERVZJQ0VfUkVMQVRJT05TICAgUmVsYXRpb25zOwor
ICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVzOworCisgICAgU3RhY2tMb2NhdGlvbiA9IElv
R2V0Q3VycmVudElycFN0YWNrTG9jYXRpb24oSXJwKTsKKworICAgIHN0YXR1cyA9IElycC0+SW9T
dGF0dXMuU3RhdHVzOworCisgICAgaWYgKFN0YWNrTG9jYXRpb24tPlBhcmFtZXRlcnMuUXVlcnlE
ZXZpY2VSZWxhdGlvbnMuVHlwZSAhPSBUYXJnZXREZXZpY2VSZWxhdGlvbikKKyAgICAgICAgZ290
byBkb25lOworCisgICAgUmVsYXRpb25zID0gRXhBbGxvY2F0ZVBvb2xXaXRoVGFnKFBhZ2VkUG9v
bCwgc2l6ZW9mKERFVklDRV9SRUxBVElPTlMpLCBQRE9fUE9PTCk7CisKKyAgICBzdGF0dXMgPSBT
VEFUVVNfTk9fTUVNT1JZOworICAgIGlmIChSZWxhdGlvbnMgPT0gTlVMTCkKKyAgICAgICAgZ290
byBkb25lOworCisgICAgUnRsWmVyb01lbW9yeShSZWxhdGlvbnMsIHNpemVvZihERVZJQ0VfUkVM
QVRJT05TKSk7CisKKyAgICBSZWxhdGlvbnMtPkNvdW50ID0gMTsKKyAgICBPYlJlZmVyZW5jZU9i
amVjdChfX1Bkb0dldERldmljZU9iamVjdChQZG8pKTsKKyAgICBSZWxhdGlvbnMtPk9iamVjdHNb
MF0gPSBfX1Bkb0dldERldmljZU9iamVjdChQZG8pOworCisgICAgSXJwLT5Jb1N0YXR1cy5JbmZv
cm1hdGlvbiA9IChVTE9OR19QVFIpUmVsYXRpb25zOworICAgIHN0YXR1cyA9IFNUQVRVU19TVUND
RVNTOworCitkb25lOgorICAgIElycC0+SW9TdGF0dXMuU3RhdHVzID0gc3RhdHVzOworICAgIElv
Q29tcGxldGVSZXF1ZXN0KElycCwgSU9fTk9fSU5DUkVNRU5UKTsKKworICAgIHJldHVybiBzdGF0
dXM7Cit9CisKK3N0YXRpYyBERUNMU1BFQ19OT0lOTElORSBOVFNUQVRVUworUGRvUXVlcnlDYXBh
YmlsaXRpZXMoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICAgICAgUGRvLAorICAgIElOICBQSVJQ
ICAgICAgICAgICAgICAgIElycAorICAgICkKK3sKKyAgICBQSU9fU1RBQ0tfTE9DQVRJT04gICAg
ICBTdGFja0xvY2F0aW9uOworICAgIFBERVZJQ0VfQ0FQQUJJTElUSUVTICAgIENhcGFiaWxpdGll
czsKKyAgICBTWVNURU1fUE9XRVJfU1RBVEUgICAgICBTeXN0ZW1Qb3dlclN0YXRlOworICAgIE5U
U1RBVFVTICAgICAgICAgICAgICAgIHN0YXR1czsKKworICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVU
RVIoUGRvKTsKKworICAgIFN0YWNrTG9jYXRpb24gPSBJb0dldEN1cnJlbnRJcnBTdGFja0xvY2F0
aW9uKElycCk7CisgICAgQ2FwYWJpbGl0aWVzID0gU3RhY2tMb2NhdGlvbi0+UGFyYW1ldGVycy5E
ZXZpY2VDYXBhYmlsaXRpZXMuQ2FwYWJpbGl0aWVzOworCisgICAgc3RhdHVzID0gU1RBVFVTX0lO
VkFMSURfUEFSQU1FVEVSOworICAgIGlmIChDYXBhYmlsaXRpZXMtPlZlcnNpb24gIT0gMSkKKyAg
ICAgICAgZ290byBkb25lOworCisgICAgQ2FwYWJpbGl0aWVzLT5EZXZpY2VEMSA9IDA7CisgICAg
Q2FwYWJpbGl0aWVzLT5EZXZpY2VEMiA9IDA7CisgICAgQ2FwYWJpbGl0aWVzLT5Mb2NrU3VwcG9y
dGVkID0gMDsKKyAgICBDYXBhYmlsaXRpZXMtPkVqZWN0U3VwcG9ydGVkID0gMTsKKyAgICBDYXBh
YmlsaXRpZXMtPlJlbW92YWJsZSA9IDE7CisgICAgQ2FwYWJpbGl0aWVzLT5Eb2NrRGV2aWNlID0g
MDsKKyAgICBDYXBhYmlsaXRpZXMtPlVuaXF1ZUlEID0gMTsKKyAgICBDYXBhYmlsaXRpZXMtPlNp
bGVudEluc3RhbGwgPSAxOworICAgIENhcGFiaWxpdGllcy0+UmF3RGV2aWNlT0sgPSAxOworICAg
IENhcGFiaWxpdGllcy0+U3VycHJpc2VSZW1vdmFsT0sgPSAxOworICAgIENhcGFiaWxpdGllcy0+
SGFyZHdhcmVEaXNhYmxlZCA9IDA7CisgICAgQ2FwYWJpbGl0aWVzLT5Ob0Rpc3BsYXlJblVJID0g
MDsKKworICAgIENhcGFiaWxpdGllcy0+QWRkcmVzcyA9IDB4ZmZmZmZmZmY7CisgICAgQ2FwYWJp
bGl0aWVzLT5VSU51bWJlciA9IDB4ZmZmZmZmZmY7CisKKyAgICBmb3IgKFN5c3RlbVBvd2VyU3Rh
dGUgPSAwOyBTeXN0ZW1Qb3dlclN0YXRlIDwgUG93ZXJTeXN0ZW1NYXhpbXVtOyBTeXN0ZW1Qb3dl
clN0YXRlKyspIHsKKyAgICAgICAgc3dpdGNoIChTeXN0ZW1Qb3dlclN0YXRlKSB7CisgICAgICAg
IGNhc2UgUG93ZXJTeXN0ZW1VbnNwZWNpZmllZDoKKyAgICAgICAgY2FzZSBQb3dlclN5c3RlbVNs
ZWVwaW5nMToKKyAgICAgICAgY2FzZSBQb3dlclN5c3RlbVNsZWVwaW5nMjoKKyAgICAgICAgICAg
IGJyZWFrOworCisgICAgICAgIGNhc2UgUG93ZXJTeXN0ZW1Xb3JraW5nOgorICAgICAgICAgICAg
Q2FwYWJpbGl0aWVzLT5EZXZpY2VTdGF0ZVtTeXN0ZW1Qb3dlclN0YXRlXSA9IFBvd2VyRGV2aWNl
RDA7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAg
Q2FwYWJpbGl0aWVzLT5EZXZpY2VTdGF0ZVtTeXN0ZW1Qb3dlclN0YXRlXSA9IFBvd2VyRGV2aWNl
RDM7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIENhcGFiaWxp
dGllcy0+U3lzdGVtV2FrZSA9IFBvd2VyU3lzdGVtVW5zcGVjaWZpZWQ7CisgICAgQ2FwYWJpbGl0
aWVzLT5EZXZpY2VXYWtlID0gUG93ZXJEZXZpY2VVbnNwZWNpZmllZDsKKyAgICBDYXBhYmlsaXRp
ZXMtPkQxTGF0ZW5jeSA9IDA7CisgICAgQ2FwYWJpbGl0aWVzLT5EMkxhdGVuY3kgPSAwOworICAg
IENhcGFiaWxpdGllcy0+RDNMYXRlbmN5ID0gMDsKKworICAgIHN0YXR1cyA9IFNUQVRVU19TVUND
RVNTOworCitkb25lOgorICAgIElycC0+SW9TdGF0dXMuU3RhdHVzID0gc3RhdHVzOworICAgIElv
Q29tcGxldGVSZXF1ZXN0KElycCwgSU9fTk9fSU5DUkVNRU5UKTsKKworICAgIHJldHVybiBzdGF0
dXM7Cit9CisKKyNkZWZpbmUgIE1BWFRFWFRMRU4gICAgIDEwMjQKKworc3RhdGljIERFQ0xTUEVD
X05PSU5MSU5FIE5UU1RBVFVTCitQZG9RdWVyeURldmljZVRleHQoCisgICAgSU4gIFBYRU5DT05T
X1BETyAgICBQZG8sCisgICAgSU4gIFBJUlAgICAgICAgICAgICBJcnAKKyAgICApCit7CisgICAg
UElPX1NUQUNLX0xPQ0FUSU9OICBTdGFja0xvY2F0aW9uOworICAgIFBXQ0hBUiAgICAgICAgICAg
ICAgQnVmZmVyOworICAgIFVOSUNPREVfU1RSSU5HICAgICAgVGV4dDsKKyAgICBOVFNUQVRVUyAg
ICAgICAgICAgIHN0YXR1czsKKworICAgIFN0YWNrTG9jYXRpb24gPSBJb0dldEN1cnJlbnRJcnBT
dGFja0xvY2F0aW9uKElycCk7CisKKyAgICBzd2l0Y2ggKFN0YWNrTG9jYXRpb24tPlBhcmFtZXRl
cnMuUXVlcnlEZXZpY2VUZXh0LkRldmljZVRleHRUeXBlKSB7CisgICAgY2FzZSBEZXZpY2VUZXh0
RGVzY3JpcHRpb246CisgICAgICAgIFRyYWNlKCJEZXZpY2VUZXh0RGVzY3JpcHRpb25cbiIpOwor
ICAgICAgICBicmVhazsKKworICAgIGNhc2UgRGV2aWNlVGV4dExvY2F0aW9uSW5mb3JtYXRpb246
CisgICAgICAgIFRyYWNlKCJEZXZpY2VUZXh0TG9jYXRpb25JbmZvcm1hdGlvblxuIik7CisgICAg
ICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgSXJwLT5Jb1N0YXR1cy5JbmZvcm1h
dGlvbiA9IDA7CisgICAgICAgIHN0YXR1cyA9IFNUQVRVU19OT1RfU1VQUE9SVEVEOworICAgICAg
ICBnb3RvIGRvbmU7CisgICAgfQorCisgICAgQnVmZmVyID0gRXhBbGxvY2F0ZVBvb2xXaXRoVGFn
KFBhZ2VkUG9vbCwgTUFYVEVYVExFTiwgUERPX1BPT0wpOworCisgICAgc3RhdHVzID0gU1RBVFVT
X05PX01FTU9SWTsKKyAgICBpZiAoQnVmZmVyID09IE5VTEwpCisgICAgICAgIGdvdG8gZG9uZTsK
KworICAgIFJ0bFplcm9NZW1vcnkoQnVmZmVyLCBNQVhURVhUTEVOKTsKKworICAgIFRleHQuQnVm
ZmVyID0gQnVmZmVyOworICAgIFRleHQuTWF4aW11bUxlbmd0aCA9IE1BWFRFWFRMRU47CisgICAg
VGV4dC5MZW5ndGggPSAwOworCisgICAgc3dpdGNoIChTdGFja0xvY2F0aW9uLT5QYXJhbWV0ZXJz
LlF1ZXJ5RGV2aWNlVGV4dC5EZXZpY2VUZXh0VHlwZSkgeworICAgIGNhc2UgRGV2aWNlVGV4dERl
c2NyaXB0aW9uOgorICAgICAgICBzdGF0dXMgPSBSdGxTdHJpbmdDYlByaW50ZlcoQnVmZmVyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFYVEVYVExFTiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEwiJWhzIFBWIENvbnNvbGUgIyVocyIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGZG9HZXROYW1lKF9fUGRvR2V0RmRvKFBk
bykpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19QZG9HZXROYW1lKFBk
bykpOworICAgICAgICBBU1NFUlQoTlRfU1VDQ0VTUyhzdGF0dXMpKTsKKworICAgICAgICBCdWZm
ZXIgKz0gd2NzbGVuKEJ1ZmZlcik7CisKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIERldmlj
ZVRleHRMb2NhdGlvbkluZm9ybWF0aW9uOgorICAgICAgICBzdGF0dXMgPSBSdGxTdHJpbmdDYlBy
aW50ZlcoQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFYVEVY
VExFTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEwiJWhzIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fUGRvR2V0TmFtZShQZG8pKTsKKyAgICAg
ICAgQVNTRVJUKE5UX1NVQ0NFU1Moc3RhdHVzKSk7CisKKyAgICAgICAgQnVmZmVyICs9IHdjc2xl
bihCdWZmZXIpOworCisgICAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNT
RVJUKEZBTFNFKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgVGV4dC5MZW5ndGggPSAo
VVNIT1JUKSgoVUxPTkdfUFRSKUJ1ZmZlciAtIChVTE9OR19QVFIpVGV4dC5CdWZmZXIpOworCisg
ICAgQVNTRVJUM1UoS2VHZXRDdXJyZW50SXJxbCgpLCA9PSAsIFBBU1NJVkVfTEVWRUwpOworCisg
ICAgVHJhY2UoIiVzOiAld1pcbiIsIF9fUGRvR2V0TmFtZShQZG8pLCAmVGV4dCk7CisKKyAgICBJ
cnAtPklvU3RhdHVzLkluZm9ybWF0aW9uID0gKFVMT05HX1BUUilUZXh0LkJ1ZmZlcjsKKyAgICBz
dGF0dXMgPSBTVEFUVVNfU1VDQ0VTUzsKKworZG9uZToKKyAgICBJcnAtPklvU3RhdHVzLlN0YXR1
cyA9IHN0YXR1czsKKyAgICBJb0NvbXBsZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7
CisKKyAgICByZXR1cm4gc3RhdHVzOworfQorCitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRT
VEFUVVMKK1Bkb1JlYWRDb25maWcoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8sCisgICAg
SU4gIFBJUlAgICAgICAgICAgICBJcnAKKyAgICApCit7CisgICAgVU5SRUZFUkVOQ0VEX1BBUkFN
RVRFUihQZG8pOworCisgICAgSXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBTVEFUVVNfTk9UX1NVUFBP
UlRFRDsKKyAgICBJb0NvbXBsZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7CisKKyAg
ICByZXR1cm4gU1RBVFVTX05PVF9TVVBQT1JURUQ7Cit9CisKK3N0YXRpYyBERUNMU1BFQ19OT0lO
TElORSBOVFNUQVRVUworUGRvV3JpdGVDb25maWcoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQ
ZG8sCisgICAgSU4gIFBJUlAgICAgICAgICAgICBJcnAKKyAgICApCit7CisgICAgVU5SRUZFUkVO
Q0VEX1BBUkFNRVRFUihQZG8pOworCisgICAgSXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBTVEFUVVNf
Tk9UX1NVUFBPUlRFRDsKKyAgICBJb0NvbXBsZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVO
VCk7CisKKyAgICByZXR1cm4gU1RBVFVTX05PVF9TVVBQT1JURUQ7Cit9CisKKyNkZWZpbmUgUkVH
U1RSX1ZBTF9NQVhfSENJRF9MRU4gMTAyNAorCitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRT
VEFUVVMKK1Bkb1F1ZXJ5SWQoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8sCisgICAgSU4g
IFBJUlAgICAgICAgICAgICBJcnAKKyAgICApCit7CisgICAgUElPX1NUQUNLX0xPQ0FUSU9OICBT
dGFja0xvY2F0aW9uOworICAgIFBXQ0hBUiAgICAgICAgICAgICAgQnVmZmVyOworICAgIFVOSUNP
REVfU1RSSU5HICAgICAgSWQ7CisgICAgVUxPTkcgICAgICAgICAgICAgICBUeXBlOworICAgIE5U
U1RBVFVTICAgICAgICAgICAgc3RhdHVzOworCisgICAgU3RhY2tMb2NhdGlvbiA9IElvR2V0Q3Vy
cmVudElycFN0YWNrTG9jYXRpb24oSXJwKTsKKworICAgIHN3aXRjaCAoU3RhY2tMb2NhdGlvbi0+
UGFyYW1ldGVycy5RdWVyeUlkLklkVHlwZSkgeworICAgIGNhc2UgQnVzUXVlcnlJbnN0YW5jZUlE
OgorICAgICAgICBUcmFjZSgiQnVzUXVlcnlJbnN0YW5jZUlEXG4iKTsKKyAgICAgICAgSWQuTWF4
aW11bUxlbmd0aCA9IChVU0hPUlQpKHN0cmxlbihfX1Bkb0dldE5hbWUoUGRvKSkgKyAxKSAqIHNp
emVvZihXQ0hBUik7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBCdXNRdWVyeURldmljZUlE
OgorICAgICAgICBUcmFjZSgiQnVzUXVlcnlEZXZpY2VJRFxuIik7CisgICAgICAgIElkLk1heGlt
dW1MZW5ndGggPSAoTUFYX0RFVklDRV9JRF9MRU4gLSAyKSAqIHNpemVvZihXQ0hBUik7CisgICAg
ICAgIGJyZWFrOworCisgICAgY2FzZSBCdXNRdWVyeUhhcmR3YXJlSURzOgorICAgICAgICBUcmFj
ZSgiQnVzUXVlcnlIYXJkd2FyZUlEc1xuIik7CisgICAgICAgIElkLk1heGltdW1MZW5ndGggPSAo
VVNIT1JUKShNQVhfREVWSUNFX0lEX0xFTiAqIHNpemVvZihXQ0hBUikpOworICAgICAgICBicmVh
azsKKworICAgIGNhc2UgQnVzUXVlcnlDb21wYXRpYmxlSURzOgorICAgICAgICBUcmFjZSgiQnVz
UXVlcnlDb21wYXRpYmxlSURzXG4iKTsKKyAgICAgICAgSWQuTWF4aW11bUxlbmd0aCA9IChVU0hP
UlQpKE1BWF9ERVZJQ0VfSURfTEVOICogc2l6ZW9mKFdDSEFSKSk7CisgICAgICAgIGJyZWFrOwor
CisgICAgZGVmYXVsdDoKKyAgICAgICAgSXJwLT5Jb1N0YXR1cy5JbmZvcm1hdGlvbiA9IDA7Cisg
ICAgICAgIHN0YXR1cyA9IFNUQVRVU19OT1RfU1VQUE9SVEVEOworICAgICAgICBnb3RvIGRvbmU7
CisgICAgfQorCisgICAgQnVmZmVyID0gRXhBbGxvY2F0ZVBvb2xXaXRoVGFnKFBhZ2VkUG9vbCwg
SWQuTWF4aW11bUxlbmd0aCwgUERPX1BPT0wpOworCisgICAgc3RhdHVzID0gU1RBVFVTX05PX01F
TU9SWTsKKyAgICBpZiAoQnVmZmVyID09IE5VTEwpCisgICAgICAgIGdvdG8gZG9uZTsKKworICAg
IFJ0bFplcm9NZW1vcnkoQnVmZmVyLCBJZC5NYXhpbXVtTGVuZ3RoKTsKKworICAgIElkLkJ1ZmZl
ciA9IEJ1ZmZlcjsKKyAgICBJZC5MZW5ndGggPSAwOworCisgICAgc3dpdGNoIChTdGFja0xvY2F0
aW9uLT5QYXJhbWV0ZXJzLlF1ZXJ5SWQuSWRUeXBlKSB7CisgICAgY2FzZSBCdXNRdWVyeUluc3Rh
bmNlSUQ6CisgICAgICAgIFR5cGUgPSBSRUdfU1o7CisKKyAgICAgICAgc3RhdHVzID0gUnRsU3Ry
aW5nQ2JQcmludGZXKEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IElkLk1heGltdW1MZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBM
IiVocyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX1Bkb0dldE5hbWUo
UGRvKSk7CisgICAgICAgIEFTU0VSVChOVF9TVUNDRVNTKHN0YXR1cykpOworCisgICAgICAgIEJ1
ZmZlciArPSB3Y3NsZW4oQnVmZmVyKTsKKworICAgICAgICBicmVhazsKKworICAgIGNhc2UgQnVz
UXVlcnlEZXZpY2VJRDoKKyAgICAgICAgVHlwZSA9IFJFR19TWjsKKworICAgICAgICBzdGF0dXMg
PSBSdGxTdHJpbmdDYlByaW50ZlcoQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgSWQuTWF4aW11bUxlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEwiWEVOQ09OU1xcVkVOXyVocyZERVZfQ09OUyIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBfX1Bkb0dldFZlbmRvck5hbWUoUGRvKSk7CisgICAgICAgIEFTU0VS
VChOVF9TVUNDRVNTKHN0YXR1cykpOworCisgICAgICAgIEJ1ZmZlciArPSB3Y3NsZW4oQnVmZmVy
KTsKKworICAgICAgICBicmVhazsKKworICAgIGNhc2UgQnVzUXVlcnlIYXJkd2FyZUlEczoKKyAg
ICBjYXNlIEJ1c1F1ZXJ5Q29tcGF0aWJsZUlEczoKKyAgICB7CisgICAgICAgIFVMT05HICAgTGVu
Z3RoOworCisgICAgICAgIFR5cGUgPSBSRUdfTVVMVElfU1o7CisKKyAgICAgICAgTGVuZ3RoID0g
SWQuTWF4aW11bUxlbmd0aDsKKworICAgICAgICBzdGF0dXMgPSBSdGxTdHJpbmdDYlByaW50Zlco
QnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGVuZ3RoLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTCJYRU5DT05TXFxWRU5fJWhzJkRFVl9D
T05TIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fUGRvR2V0VmVuZG9y
TmFtZShQZG8pKTsKKyAgICAgICAgQVNTRVJUKE5UX1NVQ0NFU1Moc3RhdHVzKSk7CisKKyAgICAg
ICAgQnVmZmVyICs9IHdjc2xlbihCdWZmZXIpOworICAgICAgICBMZW5ndGggLT0gKFVMT05HKSh3
Y3NsZW4oQnVmZmVyKSAqIHNpemVvZihXQ0hBUikpOworCisgICAgICAgIEJ1ZmZlcisrOworICAg
ICAgICBMZW5ndGggLT0gc2l6ZW9mKFdDSEFSKTsKKworICAgICAgICBzdGF0dXMgPSBSdGxTdHJp
bmdDYlByaW50ZlcoQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TGVuZ3RoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTCJYRU5ERVZJQ0Ui
KTsKKyAgICAgICAgQVNTRVJUKE5UX1NVQ0NFU1Moc3RhdHVzKSk7CisKKyAgICAgICAgQnVmZmVy
ICs9IHdjc2xlbihCdWZmZXIpOworICAgICAgICBCdWZmZXIrKzsKKworICAgICAgICBBU1NFUlQz
VSgoVUxPTkdfUFRSKUJ1ZmZlciAtIChVTE9OR19QVFIpSWQuQnVmZmVyLCA8LAorICAgICAgICAg
ICAgICAgICBSRUdTVFJfVkFMX01BWF9IQ0lEX0xFTik7CisgICAgICAgIGJyZWFrOworICAgIH0K
KyAgICBkZWZhdWx0OgorICAgICAgICBUeXBlID0gUkVHX05PTkU7CisKKyAgICAgICAgQVNTRVJU
KEZBTFNFKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgQVNTRVJUM1UoS2VHZXRDdXJy
ZW50SXJxbCgpLCA9PSAsIFBBU1NJVkVfTEVWRUwpOworCisgICAgSWQuTGVuZ3RoID0gKFVTSE9S
VCkoKFVMT05HX1BUUilCdWZmZXIgLSAoVUxPTkdfUFRSKUlkLkJ1ZmZlcik7CisgICAgQnVmZmVy
ID0gSWQuQnVmZmVyOworCisgICAgc3dpdGNoIChUeXBlKSB7CisgICAgY2FzZSBSRUdfU1o6Cisg
ICAgICAgIFRyYWNlKCItICV3c1xuIiwgQnVmZmVyKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBj
YXNlIFJFR19NVUxUSV9TWjoKKyAgICAgICAgZG8geworICAgICAgICAgICAgVHJhY2UoIi0gJXdz
XG4iLCBCdWZmZXIpOworICAgICAgICAgICAgQnVmZmVyICs9IHdjc2xlbihCdWZmZXIpOworICAg
ICAgICAgICAgQnVmZmVyKys7CisgICAgICAgIH0gd2hpbGUgKCpCdWZmZXIgIT0gTCdcMCcpOwor
ICAgICAgICBicmVhazsKKworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVChGQUxTRSk7Cisg
ICAgICAgIGJyZWFrOworICAgIH0KKworICAgIElycC0+SW9TdGF0dXMuSW5mb3JtYXRpb24gPSAo
VUxPTkdfUFRSKUlkLkJ1ZmZlcjsKKyAgICBzdGF0dXMgPSBTVEFUVVNfU1VDQ0VTUzsKKworZG9u
ZToKKyAgICBJcnAtPklvU3RhdHVzLlN0YXR1cyA9IHN0YXR1czsKKyAgICBJb0NvbXBsZXRlUmVx
dWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7CisKKyAgICByZXR1cm4gc3RhdHVzOworfQorCitz
dGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFUVVMKK1Bkb1F1ZXJ5QnVzSW5mb3JtYXRpb24o
CisgICAgSU4gIFBYRU5DT05TX1BETyAgICAgICAgUGRvLAorICAgIElOICBQSVJQICAgICAgICAg
ICAgICAgIElycAorICAgICkKK3sKKyAgICBQUE5QX0JVU19JTkZPUk1BVElPTiAgICBJbmZvOwor
ICAgIE5UU1RBVFVTICAgICAgICAgICAgICAgIHN0YXR1czsKKworICAgIFVOUkVGRVJFTkNFRF9Q
QVJBTUVURVIoUGRvKTsKKworICAgIEluZm8gPSBFeEFsbG9jYXRlUG9vbFdpdGhUYWcoUGFnZWRQ
b29sLCBzaXplb2YoUE5QX0JVU19JTkZPUk1BVElPTiksIFBET19QT09MKTsKKworICAgIHN0YXR1
cyA9IFNUQVRVU19OT19NRU1PUlk7CisgICAgaWYgKEluZm8gPT0gTlVMTCkKKyAgICAgICAgZ290
byBkb25lOworCisgICAgUnRsWmVyb01lbW9yeShJbmZvLCBzaXplb2YoUE5QX0JVU19JTkZPUk1B
VElPTikpOworCisgICAgSW5mby0+QnVzVHlwZUd1aWQgPSBHVUlEX0JVU19UWVBFX0lOVEVSTkFM
OworICAgIEluZm8tPkxlZ2FjeUJ1c1R5cGUgPSBQTlBCdXM7CisgICAgSW5mby0+QnVzTnVtYmVy
ID0gMDsKKworICAgIElycC0+SW9TdGF0dXMuSW5mb3JtYXRpb24gPSAoVUxPTkdfUFRSKUluZm87
CisgICAgc3RhdHVzID0gU1RBVFVTX1NVQ0NFU1M7CisKK2RvbmU6CisgICAgSXJwLT5Jb1N0YXR1
cy5TdGF0dXMgPSBzdGF0dXM7CisgICAgSW9Db21wbGV0ZVJlcXVlc3QoSXJwLCBJT19OT19JTkNS
RU1FTlQpOworCisgICAgcmV0dXJuIHN0YXR1czsKK30KKworCitzdGF0aWMgTlRTVEFUVVMKK1Bk
b0RlbGVnYXRlSXJwKAorICAgIElOICBQWEVOQ09OU19QRE8gICAgUGRvLAorICAgIElOICBQSVJQ
ICAgICAgICAgICAgSXJwCisgICAgKQoreworICAgIHJldHVybiBGZG9EZWxlZ2F0ZUlycChQZG8t
PkZkbywgSXJwKTsKK30KKworc3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIE5UU1RBVFVTCitQZG9E
ZXZpY2VVc2FnZU5vdGlmaWNhdGlvbigKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbywKKyAg
ICBJTiAgUElSUCAgICAgICAgICAgIElycAorICAgICkKK3sKKyAgICBOVFNUQVRVUyAgICAgICAg
ICAgIHN0YXR1czsKKworICAgIHN0YXR1cyA9IFBkb0RlbGVnYXRlSXJwKFBkbywgSXJwKTsKKwor
ICAgIElycC0+SW9TdGF0dXMuU3RhdHVzID0gc3RhdHVzOworICAgIElvQ29tcGxldGVSZXF1ZXN0
KElycCwgSU9fTk9fSU5DUkVNRU5UKTsKKworICAgIHJldHVybiBzdGF0dXM7Cit9CisKK3N0YXRp
YyBERUNMU1BFQ19OT0lOTElORSBOVFNUQVRVUworUGRvRWplY3QoCisgICAgSU4gIFBYRU5DT05T
X1BETyAgICBQZG8sCisgICAgSU4gIFBJUlAgICAgICAgICAgICBJcnAKKyAgICApCit7CisgICAg
UFhFTkNPTlNfRkRPICAgICAgICBGZG8gPSBfX1Bkb0dldEZkbyhQZG8pOworICAgIE5UU1RBVFVT
ICAgICAgICAgICAgc3RhdHVzOworCisgICAgVHJhY2UoIiVzXG4iLCBfX1Bkb0dldE5hbWUoUGRv
KSk7CisKKyAgICBGZG9BY3F1aXJlTXV0ZXgoRmRvKTsKKworICAgIF9fUGRvU2V0RGV2aWNlUG5w
U3RhdGUoUGRvLCBEZWxldGVkKTsKKyAgICBfX1Bkb1NldE1pc3NpbmcoUGRvLCAiZGV2aWNlIGVq
ZWN0ZWQiKTsKKworICAgIEZkb1JlbGVhc2VNdXRleChGZG8pOworCisgICAgSW9JbnZhbGlkYXRl
RGV2aWNlUmVsYXRpb25zKEZkb0dldFBoeXNpY2FsRGV2aWNlT2JqZWN0KEZkbyksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEJ1c1JlbGF0aW9ucyk7CisKKyAgICBzdGF0dXMgPSBT
VEFUVVNfU1VDQ0VTUzsKKworICAgIElycC0+SW9TdGF0dXMuU3RhdHVzID0gc3RhdHVzOworICAg
IElvQ29tcGxldGVSZXF1ZXN0KElycCwgSU9fTk9fSU5DUkVNRU5UKTsKKworICAgIHJldHVybiBz
dGF0dXM7Cit9CisKK3N0YXRpYyBERUNMU1BFQ19OT0lOTElORSBOVFNUQVRVUworUGRvRGlzcGF0
Y2hQbnAoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8sCisgICAgSU4gIFBJUlAgICAgICAg
ICAgICBJcnAKKyAgICApCit7CisgICAgUElPX1NUQUNLX0xPQ0FUSU9OICBTdGFja0xvY2F0aW9u
OworICAgIFVDSEFSICAgICAgICAgICAgICAgTWlub3JGdW5jdGlvbjsKKyAgICBOVFNUQVRVUyAg
ICAgICAgICAgIHN0YXR1czsKKworICAgIFN0YWNrTG9jYXRpb24gPSBJb0dldEN1cnJlbnRJcnBT
dGFja0xvY2F0aW9uKElycCk7CisgICAgTWlub3JGdW5jdGlvbiA9IFN0YWNrTG9jYXRpb24tPk1p
bm9yRnVuY3Rpb247CisKKyAgICBUcmFjZSgiPT09PT4gKCVzKSAoJTAyeDolcylcbiIsCisgICAg
ICAgICAgX19QZG9HZXROYW1lKFBkbyksCisgICAgICAgICAgTWlub3JGdW5jdGlvbiwKKyAgICAg
ICAgICBQbnBNaW5vckZ1bmN0aW9uTmFtZShNaW5vckZ1bmN0aW9uKSk7CisKKyAgICBzd2l0Y2gg
KFN0YWNrTG9jYXRpb24tPk1pbm9yRnVuY3Rpb24pIHsKKyAgICBjYXNlIElSUF9NTl9TVEFSVF9E
RVZJQ0U6CisgICAgICAgIHN0YXR1cyA9IFBkb1N0YXJ0RGV2aWNlKFBkbywgSXJwKTsKKyAgICAg
ICAgYnJlYWs7CisKKyAgICBjYXNlIElSUF9NTl9RVUVSWV9TVE9QX0RFVklDRToKKyAgICAgICAg
c3RhdHVzID0gUGRvUXVlcnlTdG9wRGV2aWNlKFBkbywgSXJwKTsKKyAgICAgICAgYnJlYWs7CisK
KyAgICBjYXNlIElSUF9NTl9DQU5DRUxfU1RPUF9ERVZJQ0U6CisgICAgICAgIHN0YXR1cyA9IFBk
b0NhbmNlbFN0b3BEZXZpY2UoUGRvLCBJcnApOworICAgICAgICBicmVhazsKKworICAgIGNhc2Ug
SVJQX01OX1NUT1BfREVWSUNFOgorICAgICAgICBzdGF0dXMgPSBQZG9TdG9wRGV2aWNlKFBkbywg
SXJwKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIElSUF9NTl9RVUVSWV9SRU1PVkVfREVW
SUNFOgorICAgICAgICBzdGF0dXMgPSBQZG9RdWVyeVJlbW92ZURldmljZShQZG8sIElycCk7Cisg
ICAgICAgIGJyZWFrOworCisgICAgY2FzZSBJUlBfTU5fQ0FOQ0VMX1JFTU9WRV9ERVZJQ0U6Cisg
ICAgICAgIHN0YXR1cyA9IFBkb0NhbmNlbFJlbW92ZURldmljZShQZG8sIElycCk7CisgICAgICAg
IGJyZWFrOworCisgICAgY2FzZSBJUlBfTU5fU1VSUFJJU0VfUkVNT1ZBTDoKKyAgICAgICAgc3Rh
dHVzID0gUGRvU3VycHJpc2VSZW1vdmFsKFBkbywgSXJwKTsKKyAgICAgICAgYnJlYWs7CisKKyAg
ICBjYXNlIElSUF9NTl9SRU1PVkVfREVWSUNFOgorICAgICAgICBzdGF0dXMgPSBQZG9SZW1vdmVE
ZXZpY2UoUGRvLCBJcnApOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgSVJQX01OX1FVRVJZ
X0RFVklDRV9SRUxBVElPTlM6CisgICAgICAgIHN0YXR1cyA9IFBkb1F1ZXJ5RGV2aWNlUmVsYXRp
b25zKFBkbywgSXJwKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIElSUF9NTl9RVUVSWV9D
QVBBQklMSVRJRVM6CisgICAgICAgIHN0YXR1cyA9IFBkb1F1ZXJ5Q2FwYWJpbGl0aWVzKFBkbywg
SXJwKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIElSUF9NTl9RVUVSWV9ERVZJQ0VfVEVY
VDoKKyAgICAgICAgc3RhdHVzID0gUGRvUXVlcnlEZXZpY2VUZXh0KFBkbywgSXJwKTsKKyAgICAg
ICAgYnJlYWs7CisKKyAgICBjYXNlIElSUF9NTl9SRUFEX0NPTkZJRzoKKyAgICAgICAgc3RhdHVz
ID0gUGRvUmVhZENvbmZpZyhQZG8sIElycCk7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBJ
UlBfTU5fV1JJVEVfQ09ORklHOgorICAgICAgICBzdGF0dXMgPSBQZG9Xcml0ZUNvbmZpZyhQZG8s
IElycCk7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBJUlBfTU5fUVVFUllfSUQ6CisgICAg
ICAgIHN0YXR1cyA9IFBkb1F1ZXJ5SWQoUGRvLCBJcnApOworICAgICAgICBicmVhazsKKworICAg
IGNhc2UgSVJQX01OX1FVRVJZX0JVU19JTkZPUk1BVElPTjoKKyAgICAgICAgc3RhdHVzID0gUGRv
UXVlcnlCdXNJbmZvcm1hdGlvbihQZG8sIElycCk7CisgICAgICAgIGJyZWFrOworCisgICAgY2Fz
ZSBJUlBfTU5fREVWSUNFX1VTQUdFX05PVElGSUNBVElPTjoKKyAgICAgICAgc3RhdHVzID0gUGRv
RGV2aWNlVXNhZ2VOb3RpZmljYXRpb24oUGRvLCBJcnApOworICAgICAgICBicmVhazsKKworICAg
IGNhc2UgSVJQX01OX0VKRUNUOgorICAgICAgICBzdGF0dXMgPSBQZG9FamVjdChQZG8sIElycCk7
CisgICAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgc3RhdHVzID0gSXJwLT5J
b1N0YXR1cy5TdGF0dXM7CisgICAgICAgIElvQ29tcGxldGVSZXF1ZXN0KElycCwgSU9fTk9fSU5D
UkVNRU5UKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgVHJhY2UoIjw9PT09ICglMDJ4
OiVzKSglMDh4KVxuIiwKKyAgICAgICAgICBNaW5vckZ1bmN0aW9uLAorICAgICAgICAgIFBucE1p
bm9yRnVuY3Rpb25OYW1lKE1pbm9yRnVuY3Rpb24pLAorICAgICAgICAgIHN0YXR1cyk7CisKKyAg
ICByZXR1cm4gc3RhdHVzOworfQorCitzdGF0aWMgRk9SQ0VJTkxJTkUgTlRTVEFUVVMKK19fUGRv
U2V0RGV2aWNlUG93ZXIoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8sCisgICAgSU4gIFBJ
UlAgICAgICAgICAgICBJcnAKKyAgICApCit7CisgICAgUElPX1NUQUNLX0xPQ0FUSU9OICBTdGFj
a0xvY2F0aW9uOworICAgIERFVklDRV9QT1dFUl9TVEFURSAgRGV2aWNlU3RhdGU7CisgICAgUE9X
RVJfQUNUSU9OICAgICAgICBQb3dlckFjdGlvbjsKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0
YXR1czsKKworICAgIFN0YWNrTG9jYXRpb24gPSBJb0dldEN1cnJlbnRJcnBTdGFja0xvY2F0aW9u
KElycCk7CisgICAgRGV2aWNlU3RhdGUgPSBTdGFja0xvY2F0aW9uLT5QYXJhbWV0ZXJzLlBvd2Vy
LlN0YXRlLkRldmljZVN0YXRlOworICAgIFBvd2VyQWN0aW9uID0gU3RhY2tMb2NhdGlvbi0+UGFy
YW1ldGVycy5Qb3dlci5TaHV0ZG93blR5cGU7CisKKyAgICBUcmFjZSgiPT09PT4gKCVzKSAoJXM6
JXMpXG4iLAorICAgICAgICAgIF9fUGRvR2V0TmFtZShQZG8pLAorICAgICAgICAgIFBvd2VyRGV2
aWNlU3RhdGVOYW1lKERldmljZVN0YXRlKSwKKyAgICAgICAgICBQb3dlckFjdGlvbk5hbWUoUG93
ZXJBY3Rpb24pKTsKKworICAgIEFTU0VSVDNVKFBvd2VyQWN0aW9uLCA8LCBQb3dlckFjdGlvblNo
dXRkb3duKTsKKworICAgIGlmIChfX1Bkb0dldERldmljZVBvd2VyU3RhdGUoUGRvKSA+IERldmlj
ZVN0YXRlKSB7CisgICAgICAgIFRyYWNlKCIlczogUE9XRVJJTkcgVVA6ICVzIC0+ICVzXG4iLAor
ICAgICAgICAgICAgICBfX1Bkb0dldE5hbWUoUGRvKSwKKyAgICAgICAgICAgICAgUG93ZXJEZXZp
Y2VTdGF0ZU5hbWUoX19QZG9HZXREZXZpY2VQb3dlclN0YXRlKFBkbykpLAorICAgICAgICAgICAg
ICBQb3dlckRldmljZVN0YXRlTmFtZShEZXZpY2VTdGF0ZSkpOworCisgICAgICAgIEFTU0VSVDNV
KERldmljZVN0YXRlLCA9PSAsIFBvd2VyRGV2aWNlRDApOworICAgICAgICBzdGF0dXMgPSBQZG9E
M1RvRDAoUGRvKTsKKyAgICAgICAgQVNTRVJUKE5UX1NVQ0NFU1Moc3RhdHVzKSk7CisgICAgfSBl
bHNlIGlmIChfX1Bkb0dldERldmljZVBvd2VyU3RhdGUoUGRvKSA8IERldmljZVN0YXRlKSB7Cisg
ICAgICAgIFRyYWNlKCIlczogUE9XRVJJTkcgRE9XTjogJXMgLT4gJXNcbiIsCisgICAgICAgICAg
ICAgIF9fUGRvR2V0TmFtZShQZG8pLAorICAgICAgICAgICAgICBQb3dlckRldmljZVN0YXRlTmFt
ZShfX1Bkb0dldERldmljZVBvd2VyU3RhdGUoUGRvKSksCisgICAgICAgICAgICAgIFBvd2VyRGV2
aWNlU3RhdGVOYW1lKERldmljZVN0YXRlKSk7CisKKyAgICAgICAgQVNTRVJUM1UoRGV2aWNlU3Rh
dGUsID09ICwgUG93ZXJEZXZpY2VEMyk7CisgICAgICAgIFBkb0QwVG9EMyhQZG8pOworICAgIH0K
KworICAgIElycC0+SW9TdGF0dXMuU3RhdHVzID0gU1RBVFVTX1NVQ0NFU1M7CisgICAgSW9Db21w
bGV0ZVJlcXVlc3QoSXJwLCBJT19OT19JTkNSRU1FTlQpOworCisgICAgVHJhY2UoIjw9PT09ICgl
czolcylcbiIsCisgICAgICAgICAgUG93ZXJEZXZpY2VTdGF0ZU5hbWUoRGV2aWNlU3RhdGUpLAor
ICAgICAgICAgIFBvd2VyQWN0aW9uTmFtZShQb3dlckFjdGlvbikpOworCisgICAgcmV0dXJuIFNU
QVRVU19TVUNDRVNTOworfQorCitzdGF0aWMgTlRTVEFUVVMKK1Bkb0RldmljZVBvd2VyKAorICAg
IElOICBQWEVOQ09OU19USFJFQUQgU2VsZiwKKyAgICBJTiAgUFZPSUQgICAgICAgICAgIENvbnRl
eHQKKyAgICApCit7CisgICAgUFhFTkNPTlNfUERPICAgICAgICBQZG8gPSBDb250ZXh0OworICAg
IFBLRVZFTlQgICAgICAgICAgICAgRXZlbnQ7CisKKyAgICBFdmVudCA9IFRocmVhZEdldEV2ZW50
KFNlbGYpOworCisgICAgZm9yICg7OykgeworICAgICAgICBQSVJQICAgIElycDsKKworICAgICAg
ICBpZiAoUGRvLT5EZXZpY2VQb3dlcklycCA9PSBOVUxMKSB7CisgICAgICAgICAgICAoVk9JRClL
ZVdhaXRGb3JTaW5nbGVPYmplY3QoRXZlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgRXhlY3V0aXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEtlcm5lbE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRkFMU0UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7
CisgICAgICAgICAgICBLZUNsZWFyRXZlbnQoRXZlbnQpOworICAgICAgICB9CisKKyAgICAgICAg
aWYgKFRocmVhZElzQWxlcnRlZChTZWxmKSkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAg
IElycCA9IFBkby0+RGV2aWNlUG93ZXJJcnA7CisKKyAgICAgICAgaWYgKElycCA9PSBOVUxMKQor
ICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgUGRvLT5EZXZpY2VQb3dlcklycCA9IE5V
TEw7CisgICAgICAgIEtlTWVtb3J5QmFycmllcigpOworCisgICAgICAgIChWT0lEKV9fUGRvU2V0
RGV2aWNlUG93ZXIoUGRvLCBJcnApOworICAgIH0KKworICAgIHJldHVybiBTVEFUVVNfU1VDQ0VT
UzsKK30KKworc3RhdGljIEZPUkNFSU5MSU5FIE5UU1RBVFVTCitfX1Bkb1NldFN5c3RlbVBvd2Vy
KAorICAgIElOICBQWEVOQ09OU19QRE8gICAgICAgIFBkbywKKyAgICBJTiAgUElSUCAgICAgICAg
ICAgICAgICBJcnAKKyAgICApCit7CisgICAgUElPX1NUQUNLX0xPQ0FUSU9OICAgICAgU3RhY2tM
b2NhdGlvbjsKKyAgICBTWVNURU1fUE9XRVJfU1RBVEUgICAgICBTeXN0ZW1TdGF0ZTsKKyAgICBQ
T1dFUl9BQ1RJT04gICAgICAgICAgICBQb3dlckFjdGlvbjsKKworICAgIFN0YWNrTG9jYXRpb24g
PSBJb0dldEN1cnJlbnRJcnBTdGFja0xvY2F0aW9uKElycCk7CisgICAgU3lzdGVtU3RhdGUgPSBT
dGFja0xvY2F0aW9uLT5QYXJhbWV0ZXJzLlBvd2VyLlN0YXRlLlN5c3RlbVN0YXRlOworICAgIFBv
d2VyQWN0aW9uID0gU3RhY2tMb2NhdGlvbi0+UGFyYW1ldGVycy5Qb3dlci5TaHV0ZG93blR5cGU7
CisKKyAgICBUcmFjZSgiPT09PT4gKCVzKSAoJXM6JXMpXG4iLAorICAgICAgICAgIF9fUGRvR2V0
TmFtZShQZG8pLAorICAgICAgICAgIFBvd2VyU3lzdGVtU3RhdGVOYW1lKFN5c3RlbVN0YXRlKSwK
KyAgICAgICAgICBQb3dlckFjdGlvbk5hbWUoUG93ZXJBY3Rpb24pKTsKKworICAgIEFTU0VSVDNV
KFBvd2VyQWN0aW9uLCA8LCBQb3dlckFjdGlvblNodXRkb3duKTsKKworICAgIGlmIChfX1Bkb0dl
dFN5c3RlbVBvd2VyU3RhdGUoUGRvKSA+IFN5c3RlbVN0YXRlKSB7CisgICAgICAgIGlmIChTeXN0
ZW1TdGF0ZSA8IFBvd2VyU3lzdGVtSGliZXJuYXRlICYmCisgICAgICAgICAgICBfX1Bkb0dldFN5
c3RlbVBvd2VyU3RhdGUoUGRvKSA+PSBQb3dlclN5c3RlbUhpYmVybmF0ZSkgeworICAgICAgICAg
ICAgX19QZG9TZXRTeXN0ZW1Qb3dlclN0YXRlKFBkbywgUG93ZXJTeXN0ZW1IaWJlcm5hdGUpOwor
ICAgICAgICAgICAgUGRvUzRUb1MzKFBkbyk7CisgICAgICAgIH0KKworICAgICAgICBUcmFjZSgi
JXM6IFBPV0VSSU5HIFVQOiAlcyAtPiAlc1xuIiwKKyAgICAgICAgICAgICAgX19QZG9HZXROYW1l
KFBkbyksCisgICAgICAgICAgICAgIFBvd2VyU3lzdGVtU3RhdGVOYW1lKF9fUGRvR2V0U3lzdGVt
UG93ZXJTdGF0ZShQZG8pKSwKKyAgICAgICAgICAgICAgUG93ZXJTeXN0ZW1TdGF0ZU5hbWUoU3lz
dGVtU3RhdGUpKTsKKyAgICB9IGVsc2UgaWYgKF9fUGRvR2V0U3lzdGVtUG93ZXJTdGF0ZShQZG8p
IDwgU3lzdGVtU3RhdGUpIHsKKyAgICAgICAgVHJhY2UoIiVzOiBQT1dFUklORyBET1dOOiAlcyAt
PiAlc1xuIiwKKyAgICAgICAgICAgICAgX19QZG9HZXROYW1lKFBkbyksCisgICAgICAgICAgICAg
IFBvd2VyU3lzdGVtU3RhdGVOYW1lKF9fUGRvR2V0U3lzdGVtUG93ZXJTdGF0ZShQZG8pKSwKKyAg
ICAgICAgICAgICAgUG93ZXJTeXN0ZW1TdGF0ZU5hbWUoU3lzdGVtU3RhdGUpKTsKKworICAgICAg
ICBpZiAoU3lzdGVtU3RhdGUgPj0gUG93ZXJTeXN0ZW1IaWJlcm5hdGUgJiYKKyAgICAgICAgICAg
IF9fUGRvR2V0U3lzdGVtUG93ZXJTdGF0ZShQZG8pIDwgUG93ZXJTeXN0ZW1IaWJlcm5hdGUpIHsK
KyAgICAgICAgICAgIF9fUGRvU2V0U3lzdGVtUG93ZXJTdGF0ZShQZG8sIFBvd2VyU3lzdGVtU2xl
ZXBpbmczKTsKKyAgICAgICAgICAgIFBkb1MzVG9TNChQZG8pOworICAgICAgICB9CisgICAgfQor
CisgICAgX19QZG9TZXRTeXN0ZW1Qb3dlclN0YXRlKFBkbywgU3lzdGVtU3RhdGUpOworCisgICAg
SXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBTVEFUVVNfU1VDQ0VTUzsKKyAgICBJb0NvbXBsZXRlUmVx
dWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7CisKKyAgICBUcmFjZSgiPD09PT0gKCVzOiVzKVxu
IiwKKyAgICAgICAgICBQb3dlclN5c3RlbVN0YXRlTmFtZShTeXN0ZW1TdGF0ZSksCisgICAgICAg
ICAgUG93ZXJBY3Rpb25OYW1lKFBvd2VyQWN0aW9uKSk7CisKKyAgICByZXR1cm4gU1RBVFVTX1NV
Q0NFU1M7Cit9CisKK3N0YXRpYyBOVFNUQVRVUworUGRvU3lzdGVtUG93ZXIoCisgICAgSU4gIFBY
RU5DT05TX1RIUkVBRCBTZWxmLAorICAgIElOICBQVk9JRCAgICAgICAgICAgQ29udGV4dAorICAg
ICkKK3sKKyAgICBQWEVOQ09OU19QRE8gICAgICAgIFBkbyA9IENvbnRleHQ7CisgICAgUEtFVkVO
VCAgICAgICAgICAgICBFdmVudDsKKworICAgIEV2ZW50ID0gVGhyZWFkR2V0RXZlbnQoU2VsZik7
CisKKyAgICBmb3IgKDs7KSB7CisgICAgICAgIFBJUlAgICAgSXJwOworCisgICAgICAgIGlmIChQ
ZG8tPlN5c3RlbVBvd2VySXJwID09IE5VTEwpIHsKKyAgICAgICAgICAgIChWT0lEKUtlV2FpdEZv
clNpbmdsZU9iamVjdChFdmVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBFeGVjdXRpdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
S2VybmVsTW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxT
RSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAg
ICAgICAgIEtlQ2xlYXJFdmVudChFdmVudCk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoVGhy
ZWFkSXNBbGVydGVkKFNlbGYpKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgSXJwID0g
UGRvLT5TeXN0ZW1Qb3dlcklycDsKKworICAgICAgICBpZiAoSXJwID09IE5VTEwpCisgICAgICAg
ICAgICBjb250aW51ZTsKKworICAgICAgICBQZG8tPlN5c3RlbVBvd2VySXJwID0gTlVMTDsKKyAg
ICAgICAgS2VNZW1vcnlCYXJyaWVyKCk7CisKKyAgICAgICAgKFZPSUQpX19QZG9TZXRTeXN0ZW1Q
b3dlcihQZG8sIElycCk7CisgICAgfQorCisgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOworfQor
CitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFUVVMKK1Bkb1NldFBvd2VyKAorICAgIElO
ICBQWEVOQ09OU19QRE8gICAgUGRvLAorICAgIElOICBQSVJQICAgICAgICAgICAgSXJwCisgICAg
KQoreworICAgIFBJT19TVEFDS19MT0NBVElPTiAgU3RhY2tMb2NhdGlvbjsKKyAgICBQT1dFUl9T
VEFURV9UWVBFICAgIFBvd2VyVHlwZTsKKyAgICBQT1dFUl9BQ1RJT04gICAgICAgIFBvd2VyQWN0
aW9uOworICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVzOworCisgICAgU3RhY2tMb2NhdGlv
biA9IElvR2V0Q3VycmVudElycFN0YWNrTG9jYXRpb24oSXJwKTsKKyAgICBQb3dlclR5cGUgPSBT
dGFja0xvY2F0aW9uLT5QYXJhbWV0ZXJzLlBvd2VyLlR5cGU7CisgICAgUG93ZXJBY3Rpb24gPSBT
dGFja0xvY2F0aW9uLT5QYXJhbWV0ZXJzLlBvd2VyLlNodXRkb3duVHlwZTsKKworICAgIGlmIChQ
b3dlckFjdGlvbiA+PSBQb3dlckFjdGlvblNodXRkb3duKSB7CisgICAgICAgIElycC0+SW9TdGF0
dXMuU3RhdHVzID0gU1RBVFVTX1NVQ0NFU1M7CisKKyAgICAgICAgc3RhdHVzID0gSXJwLT5Jb1N0
YXR1cy5TdGF0dXM7CisgICAgICAgIElvQ29tcGxldGVSZXF1ZXN0KElycCwgSU9fTk9fSU5DUkVN
RU5UKTsKKworICAgICAgICBnb3RvIGRvbmU7CisgICAgfQorCisgICAgc3dpdGNoIChQb3dlclR5
cGUpIHsKKyAgICBjYXNlIERldmljZVBvd2VyU3RhdGU6CisgICAgICAgIElvTWFya0lycFBlbmRp
bmcoSXJwKTsKKworICAgICAgICBBU1NFUlQzUChQZG8tPkRldmljZVBvd2VySXJwLCA9PSAsIE5V
TEwpOworICAgICAgICBQZG8tPkRldmljZVBvd2VySXJwID0gSXJwOworICAgICAgICBLZU1lbW9y
eUJhcnJpZXIoKTsKKworICAgICAgICBUaHJlYWRXYWtlKFBkby0+RGV2aWNlUG93ZXJUaHJlYWQp
OworCisgICAgICAgIHN0YXR1cyA9IFNUQVRVU19QRU5ESU5HOworICAgICAgICBicmVhazsKKwor
ICAgIGNhc2UgU3lzdGVtUG93ZXJTdGF0ZToKKyAgICAgICAgSW9NYXJrSXJwUGVuZGluZyhJcnAp
OworCisgICAgICAgIEFTU0VSVDNQKFBkby0+U3lzdGVtUG93ZXJJcnAsID09ICwgTlVMTCk7Cisg
ICAgICAgIFBkby0+U3lzdGVtUG93ZXJJcnAgPSBJcnA7CisgICAgICAgIEtlTWVtb3J5QmFycmll
cigpOworCisgICAgICAgIFRocmVhZFdha2UoUGRvLT5TeXN0ZW1Qb3dlclRocmVhZCk7CisKKyAg
ICAgICAgc3RhdHVzID0gU1RBVFVTX1BFTkRJTkc7CisgICAgICAgIGJyZWFrOworCisgICAgZGVm
YXVsdDoKKyAgICAgICAgc3RhdHVzID0gSXJwLT5Jb1N0YXR1cy5TdGF0dXM7CisgICAgICAgIElv
Q29tcGxldGVSZXF1ZXN0KElycCwgSU9fTk9fSU5DUkVNRU5UKTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgfQorCitkb25lOgorICAgIHJldHVybiBzdGF0dXM7Cit9CisKK3N0YXRpYyBERUNMU1BFQ19O
T0lOTElORSBOVFNUQVRVUworUGRvUXVlcnlQb3dlcigKKyAgICBJTiAgUFhFTkNPTlNfUERPICAg
IFBkbywKKyAgICBJTiAgUElSUCAgICAgICAgICAgIElycAorICAgICkKK3sKKyAgICBOVFNUQVRV
UyAgICAgICAgICAgIHN0YXR1czsKKworICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoUGRvKTsK
KworICAgIElycC0+SW9TdGF0dXMuU3RhdHVzID0gU1RBVFVTX1NVQ0NFU1M7CisKKyAgICBzdGF0
dXMgPSBJcnAtPklvU3RhdHVzLlN0YXR1czsKKyAgICBJb0NvbXBsZXRlUmVxdWVzdChJcnAsIElP
X05PX0lOQ1JFTUVOVCk7CisKKyAgICByZXR1cm4gc3RhdHVzOworfQorCitzdGF0aWMgREVDTFNQ
RUNfTk9JTkxJTkUgTlRTVEFUVVMKK1Bkb0Rpc3BhdGNoUG93ZXIoCisgICAgSU4gIFBYRU5DT05T
X1BETyAgICBQZG8sCisgICAgSU4gIFBJUlAgICAgICAgICAgICBJcnAKKyAgICApCit7CisgICAg
UElPX1NUQUNLX0xPQ0FUSU9OICBTdGFja0xvY2F0aW9uOworICAgIFVDSEFSICAgICAgICAgICAg
ICAgTWlub3JGdW5jdGlvbjsKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsKKworICAg
IFN0YWNrTG9jYXRpb24gPSBJb0dldEN1cnJlbnRJcnBTdGFja0xvY2F0aW9uKElycCk7CisgICAg
TWlub3JGdW5jdGlvbiA9IFN0YWNrTG9jYXRpb24tPk1pbm9yRnVuY3Rpb247CisKKyAgICBzd2l0
Y2ggKFN0YWNrTG9jYXRpb24tPk1pbm9yRnVuY3Rpb24pIHsKKyAgICBjYXNlIElSUF9NTl9TRVRf
UE9XRVI6CisgICAgICAgIHN0YXR1cyA9IFBkb1NldFBvd2VyKFBkbywgSXJwKTsKKyAgICAgICAg
YnJlYWs7CisKKyAgICBjYXNlIElSUF9NTl9RVUVSWV9QT1dFUjoKKyAgICAgICAgc3RhdHVzID0g
UGRvUXVlcnlQb3dlcihQZG8sIElycCk7CisgICAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoK
KyAgICAgICAgc3RhdHVzID0gSXJwLT5Jb1N0YXR1cy5TdGF0dXM7CisgICAgICAgIElvQ29tcGxl
dGVSZXF1ZXN0KElycCwgSU9fTk9fSU5DUkVNRU5UKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQor
CisgICAgcmV0dXJuIHN0YXR1czsKK30KKworc3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIE5UU1RB
VFVTCitQZG9EaXNwYXRjaERlZmF1bHQoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8sCisg
ICAgSU4gIFBJUlAgICAgICAgICAgICBJcnAKKyAgICApCit7CisgICAgTlRTVEFUVVMgICAgICAg
IHN0YXR1czsKKworICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoUGRvKTsKKworICAgIHN0YXR1
cyA9IElycC0+SW9TdGF0dXMuU3RhdHVzOworICAgIElvQ29tcGxldGVSZXF1ZXN0KElycCwgSU9f
Tk9fSU5DUkVNRU5UKTsKKworICAgIHJldHVybiBzdGF0dXM7Cit9CisKK05UU1RBVFVTCitQZG9E
aXNwYXRjaCgKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbywKKyAgICBJTiAgUElSUCAgICAg
ICAgICAgIElycAorICAgICkKK3sKKyAgICBQSU9fU1RBQ0tfTE9DQVRJT04gIFN0YWNrTG9jYXRp
b247CisgICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7CisKKyAgICBTdGFja0xvY2F0aW9u
ID0gSW9HZXRDdXJyZW50SXJwU3RhY2tMb2NhdGlvbihJcnApOworCisgICAgc3dpdGNoIChTdGFj
a0xvY2F0aW9uLT5NYWpvckZ1bmN0aW9uKSB7CisgICAgY2FzZSBJUlBfTUpfUE5QOgorICAgICAg
ICBzdGF0dXMgPSBQZG9EaXNwYXRjaFBucChQZG8sIElycCk7CisgICAgICAgIGJyZWFrOworCisg
ICAgY2FzZSBJUlBfTUpfUE9XRVI6CisgICAgICAgIHN0YXR1cyA9IFBkb0Rpc3BhdGNoUG93ZXIo
UGRvLCBJcnApOworICAgICAgICBicmVhazsKKworICAgIGRlZmF1bHQ6CisgICAgICAgIHN0YXR1
cyA9IFBkb0Rpc3BhdGNoRGVmYXVsdChQZG8sIElycCk7CisgICAgICAgIGJyZWFrOworICAgIH0K
KworICAgIHJldHVybiBzdGF0dXM7Cit9CisKK05UU1RBVFVTCitQZG9SZXN1bWUoCisgICAgSU4g
IFBYRU5DT05TX1BETyAgICBQZG8KKyAgICApCit7CisgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRF
UihQZG8pOworICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKK30KKworVk9JRAorUGRvU3VzcGVu
ZCgKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbworICAgICkKK3sKKyAgICBVTlJFRkVSRU5D
RURfUEFSQU1FVEVSKFBkbyk7Cit9CisKK05UU1RBVFVTCitQZG9DcmVhdGUoCisgICAgSU4gIFBY
RU5DT05TX0ZETyAgICBGZG8sCisgICAgSU4gIFBBTlNJX1NUUklORyAgICBOYW1lCisgICAgKQor
eworICAgIFBERVZJQ0VfT0JKRUNUICAgICAgUGh5c2ljYWxEZXZpY2VPYmplY3Q7CisgICAgUFhF
TkNPTlNfRFggICAgICAgICBEeDsKKyAgICBQWEVOQ09OU19QRE8gICAgICAgIFBkbzsKKyAgICBO
VFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsKKworI3ByYWdtYSBwcmVmYXN0KHN1cHByZXNzOjI4
MTk3KSAvLyBQb3NzaWJseSBsZWFraW5nIG1lbW9yeSAnUGh5c2ljYWxEZXZpY2VPYmplY3QnCisg
ICAgc3RhdHVzID0gSW9DcmVhdGVEZXZpY2UoRHJpdmVyR2V0RHJpdmVyT2JqZWN0KCksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFhFTkNPTlNfRFgpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRV9E
RVZJQ0VfVU5LTk9XTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFX0RFVklDRV9T
RUNVUkVfT1BFTiB8IEZJTEVfQVVUT0dFTkVSQVRFRF9ERVZJQ0VfTkFNRSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUGh5
c2ljYWxEZXZpY2VPYmplY3QpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAg
ICBnb3RvIGZhaWwxOworCisgICAgRHggPSAoUFhFTkNPTlNfRFgpUGh5c2ljYWxEZXZpY2VPYmpl
Y3QtPkRldmljZUV4dGVuc2lvbjsKKyAgICBSdGxaZXJvTWVtb3J5KER4LCBzaXplb2YoWEVOQ09O
U19EWCkpOworCisgICAgRHgtPlR5cGUgPSBQSFlTSUNBTF9ERVZJQ0VfT0JKRUNUOworICAgIER4
LT5EZXZpY2VPYmplY3QgPSBQaHlzaWNhbERldmljZU9iamVjdDsKKyAgICBEeC0+RGV2aWNlUG5w
U3RhdGUgPSBQcmVzZW50OworICAgIER4LT5TeXN0ZW1Qb3dlclN0YXRlID0gUG93ZXJTeXN0ZW1X
b3JraW5nOworICAgIER4LT5EZXZpY2VQb3dlclN0YXRlID0gUG93ZXJEZXZpY2VEMzsKKworICAg
IFBkbyA9IF9fUGRvQWxsb2NhdGUoc2l6ZW9mKFhFTkNPTlNfUERPKSk7CisKKyAgICBzdGF0dXMg
PSBTVEFUVVNfTk9fTUVNT1JZOworICAgIGlmIChQZG8gPT0gTlVMTCkKKyAgICAgICAgZ290byBm
YWlsMjsKKworICAgIFBkby0+RHggPSBEeDsKKyAgICBQZG8tPkZkbyA9IEZkbzsKKworICAgIHN0
YXR1cyA9IFRocmVhZENyZWF0ZShQZG9TeXN0ZW1Qb3dlciwgUGRvLCAmUGRvLT5TeXN0ZW1Qb3dl
clRocmVhZCk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFp
bDM7CisKKyAgICBzdGF0dXMgPSBUaHJlYWRDcmVhdGUoUGRvRGV2aWNlUG93ZXIsIFBkbywgJlBk
by0+RGV2aWNlUG93ZXJUaHJlYWQpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAg
ICAgICBnb3RvIGZhaWw0OworCisgICAgX19QZG9TZXROYW1lKFBkbywgTmFtZSk7CisKKyAgICBG
ZG9HZXRTdXNwZW5kSW50ZXJmYWNlKEZkbywgJlBkby0+U3VzcGVuZEludGVyZmFjZSk7CisKKyAg
ICBEeC0+UGRvID0gUGRvOworCisgICAgc3RhdHVzID0gRmRvQWRkUGh5c2ljYWxEZXZpY2VPYmpl
Y3QoRmRvLCBQZG8pOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3Rv
IGZhaWw1OworCisgICAgc3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZVTDsKKyAgICBpZiAoX19Q
ZG9Jc0VqZWN0UmVxdWVzdGVkKFBkbykpCisgICAgICAgIGdvdG8gZmFpbDY7CisKKyAgICBJbmZv
KCIlcCAoJXMpXG4iLAorICAgICAgICAgUGh5c2ljYWxEZXZpY2VPYmplY3QsCisgICAgICAgICBf
X1Bkb0dldE5hbWUoUGRvKSk7CisKKyAgICBQaHlzaWNhbERldmljZU9iamVjdC0+RmxhZ3MgfD0g
RE9fQlVGRkVSRURfSU87CisgICAgUGh5c2ljYWxEZXZpY2VPYmplY3QtPkZsYWdzICY9IH5ET19E
RVZJQ0VfSU5JVElBTElaSU5HOworICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKKworZmFpbDY6
CisgICAgRXJyb3IoImZhaWw2XG4iKTsKKworICAgIEZkb1JlbW92ZVBoeXNpY2FsRGV2aWNlT2Jq
ZWN0KEZkbywgUGRvKTsKKworZmFpbDU6CisgICAgRXJyb3IoImZhaWw1XG4iKTsKKworICAgIChW
T0lEKV9fUGRvQ2xlYXJFamVjdFJlcXVlc3RlZChQZG8pOworCisgICAgRHgtPlBkbyA9IE5VTEw7
CisKKyAgICBSdGxaZXJvTWVtb3J5KCZQZG8tPlN1c3BlbmRJbnRlcmZhY2UsCisgICAgICAgICAg
ICAgICAgICBzaXplb2YoWEVOQlVTX1NVU1BFTkRfSU5URVJGQUNFKSk7CisKKyAgICBUaHJlYWRB
bGVydChQZG8tPkRldmljZVBvd2VyVGhyZWFkKTsKKyAgICBUaHJlYWRKb2luKFBkby0+RGV2aWNl
UG93ZXJUaHJlYWQpOworICAgIFBkby0+RGV2aWNlUG93ZXJUaHJlYWQgPSBOVUxMOworCitmYWls
NDoKKyAgICBFcnJvcigiZmFpbDRcbiIpOworCisgICAgVGhyZWFkQWxlcnQoUGRvLT5TeXN0ZW1Q
b3dlclRocmVhZCk7CisgICAgVGhyZWFkSm9pbihQZG8tPlN5c3RlbVBvd2VyVGhyZWFkKTsKKyAg
ICBQZG8tPlN5c3RlbVBvd2VyVGhyZWFkID0gTlVMTDsKKworZmFpbDM6CisgICAgRXJyb3IoImZh
aWwzXG4iKTsKKworICAgIFBkby0+RmRvID0gTlVMTDsKKyAgICBQZG8tPkR4ID0gTlVMTDsKKwor
ICAgIEFTU0VSVChJc1plcm9NZW1vcnkoUGRvLCBzaXplb2YoWEVOQ09OU19QRE8pKSk7CisgICAg
X19QZG9GcmVlKFBkbyk7CisKK2ZhaWwyOgorICAgIEVycm9yKCJmYWlsMlxuIik7CisKKyAgICBJ
b0RlbGV0ZURldmljZShQaHlzaWNhbERldmljZU9iamVjdCk7CisKK2ZhaWwxOgorICAgIEVycm9y
KCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7CisKKyAgICByZXR1cm4gc3RhdHVzOworfQorCitW
T0lECitQZG9EZXN0cm95KAorICAgIElOICBQWEVOQ09OU19QRE8gICAgUGRvCisgICAgKQorewor
ICAgIFBYRU5DT05TX0RYICAgICBEeCA9IFBkby0+RHg7CisgICAgUERFVklDRV9PQkpFQ1QgIFBo
eXNpY2FsRGV2aWNlT2JqZWN0ID0gRHgtPkRldmljZU9iamVjdDsKKyAgICBQWEVOQ09OU19GRE8g
ICAgRmRvID0gX19QZG9HZXRGZG8oUGRvKTsKKworICAgIEFTU0VSVDNVKF9fUGRvR2V0RGV2aWNl
UG5wU3RhdGUoUGRvKSwgPT0gLCBEZWxldGVkKTsKKworICAgIEFTU0VSVChfX1Bkb0lzTWlzc2lu
ZyhQZG8pKTsKKyAgICBQZG8tPk1pc3NpbmcgPSBGQUxTRTsKKworICAgIEluZm8oIiVwICglcykg
KCVzKVxuIiwKKyAgICAgICAgIFBoeXNpY2FsRGV2aWNlT2JqZWN0LAorICAgICAgICAgX19QZG9H
ZXROYW1lKFBkbyksCisgICAgICAgICBQZG8tPlJlYXNvbik7CisKKyAgICBQZG8tPlJlYXNvbiA9
IE5VTEw7CisKKyAgICBGZG9SZW1vdmVQaHlzaWNhbERldmljZU9iamVjdChGZG8sIFBkbyk7CisK
KyAgICAoVk9JRClfX1Bkb0NsZWFyRWplY3RSZXF1ZXN0ZWQoUGRvKTsKKworICAgIER4LT5QZG8g
PSBOVUxMOworCisgICAgUnRsWmVyb01lbW9yeSgmUGRvLT5TdXNwZW5kSW50ZXJmYWNlLAorICAg
ICAgICAgICAgICAgICAgc2l6ZW9mKFhFTkJVU19TVVNQRU5EX0lOVEVSRkFDRSkpOworCisgICAg
VGhyZWFkQWxlcnQoUGRvLT5EZXZpY2VQb3dlclRocmVhZCk7CisgICAgVGhyZWFkSm9pbihQZG8t
PkRldmljZVBvd2VyVGhyZWFkKTsKKyAgICBQZG8tPkRldmljZVBvd2VyVGhyZWFkID0gTlVMTDsK
KworICAgIFRocmVhZEFsZXJ0KFBkby0+U3lzdGVtUG93ZXJUaHJlYWQpOworICAgIFRocmVhZEpv
aW4oUGRvLT5TeXN0ZW1Qb3dlclRocmVhZCk7CisgICAgUGRvLT5TeXN0ZW1Qb3dlclRocmVhZCA9
IE5VTEw7CisKKyAgICBQZG8tPkZkbyA9IE5VTEw7CisgICAgUGRvLT5EeCA9IE5VTEw7CisKKyAg
ICBBU1NFUlQoSXNaZXJvTWVtb3J5KFBkbywgc2l6ZW9mKFhFTkNPTlNfUERPKSkpOworICAgIF9f
UGRvRnJlZShQZG8pOworCisgICAgSW9EZWxldGVEZXZpY2UoUGh5c2ljYWxEZXZpY2VPYmplY3Qp
OworfQpkaWZmIC0tZ2l0IGEvc3JjL3hlbmNvbnMvcGRvLmggYi9zcmMveGVuY29ucy9wZG8uaApu
ZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMTY0NTQyCi0tLSAvZGV2L251bGwK
KysrIGIvc3JjL3hlbmNvbnMvcGRvLmgKQEAgLTAsMCArMSwxMTQgQEAKKy8qIENvcHlyaWdodCAo
YykgQ2l0cml4IFN5c3RlbXMgSW5jLgorKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLAorKiB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisqIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisqCisqICogICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisqICAgICBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlCisqICAgICBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyogKiAgIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUKKyogICAgIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlcgorKiAgICAgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5ECisqIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsCisqIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SCisqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorKiBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyogU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwKKyogV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCisqIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgor
KiBTVUNIIERBTUFHRS4KKyovCisKKyNpZm5kZWYgX1hFTkNPTlNfUERPX0gKKyNkZWZpbmUgX1hF
TkNPTlNfUERPX0gKKworI2luY2x1ZGUgPG50ZGRrLmg+CisKKyNpbmNsdWRlICJkcml2ZXIuaCIK
KyNpbmNsdWRlICJ0eXBlcy5oIgorCitleHRlcm4gVk9JRAorUGRvU2V0RGV2aWNlUG5wU3RhdGUo
CisgICAgSU4gIFBYRU5DT05TX1BETyAgICAgICAgUGRvLAorICAgIElOICBERVZJQ0VfUE5QX1NU
QVRFICAgIFN0YXRlCisgICAgKTsKKworZXh0ZXJuIERFVklDRV9QTlBfU1RBVEUKK1Bkb0dldERl
dmljZVBucFN0YXRlKAorICAgIElOICBQWEVOQ09OU19QRE8gICAgUGRvCisgICAgKTsKKworZXh0
ZXJuIFZPSUQKK1Bkb1NldE1pc3NpbmcoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8sCisg
ICAgSU4gIGNvbnN0IENIQVIgICAgICAqUmVhc29uCisgICAgKTsKKworZXh0ZXJuIEJPT0xFQU4K
K1Bkb0lzTWlzc2luZygKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbworICAgICk7CisKK2V4
dGVybiBWT0lECitQZG9SZXF1ZXN0RWplY3QoCisgICAgSU4gIFBYRU5DT05TX1BETyAgICBQZG8K
KyAgICApOworCitleHRlcm4gQk9PTEVBTgorUGRvSXNFamVjdFJlcXVlc3RlZCgKKyAgICBJTiAg
UFhFTkNPTlNfUERPICAgIFBkbworICAgICk7CisKK2V4dGVybiBQQ0hBUgorUGRvR2V0TmFtZSgK
KyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbworICAgICk7CisKK2V4dGVybiBQWEVOQ09OU19G
RE8KK1Bkb0dldEZkbygKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbworICAgICk7CisKK2V4
dGVybiBQREVWSUNFX09CSkVDVAorUGRvR2V0RGV2aWNlT2JqZWN0KAorICAgIElOICBQWEVOQ09O
U19QRE8gICAgUGRvCisgICAgKTsKKworZXh0ZXJuIE5UU1RBVFVTCitQZG9DcmVhdGUoCisgICAg
SU4gIFBYRU5DT05TX0ZETyAgICBGZG8sCisgICAgSU4gIFBBTlNJX1NUUklORyAgICBOYW1lCisg
ICAgKTsKKworZXh0ZXJuIE5UU1RBVFVTCitQZG9SZXN1bWUoCisgICAgSU4gIFBYRU5DT05TX1BE
TyAgICBQZG8KKyAgICApOworCitleHRlcm4gVk9JRAorUGRvU3VzcGVuZCgKKyAgICBJTiAgUFhF
TkNPTlNfUERPICAgIFBkbworICAgICk7CisKK2V4dGVybiBWT0lECitQZG9EZXN0cm95KAorICAg
IElOICBQWEVOQ09OU19QRE8gICAgUGRvCisgICAgKTsKKworZXh0ZXJuIE5UU1RBVFVTCitQZG9E
aXNwYXRjaCgKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbywKKyAgICBJTiAgUElSUCAgICAg
ICAgICAgIElycAorICAgICk7CisKKyNlbmRpZiAgLy8gX1hFTkNPTlNfUERPX0gKZGlmZiAtLWdp
dCBhL3ZzMjAxNS94ZW5jb25zL3hlbmNvbnMudmN4cHJvaiBiL3ZzMjAxNS94ZW5jb25zL3hlbmNv
bnMudmN4cHJvagppbmRleCAxMmY1YjcwLi4yZTlkMjA4IDEwMDY0NAotLS0gYS92czIwMTUveGVu
Y29ucy94ZW5jb25zLnZjeHByb2oKKysrIGIvdnMyMDE1L3hlbmNvbnMveGVuY29ucy52Y3hwcm9q
CkBAIC02Niw2ICs2Niw3IEBACiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLi8uLi9zcmMveGVuY29ucy9kcml2ZXIuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uLy4uL3NyYy94ZW5jb25zL2Zkby5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4v
Li4vc3JjL3hlbmNvbnMvcGRvLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9z
cmMveGVuY29ucy9yZWdpc3RyeS5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4v
c3JjL3hlbmNvbnMvY29uc29sZS5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4v
c3JjL3hlbmNvbnMvc3RyZWFtLmMiIC8+Ci0tIAoyLjguMwoKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2lu
LXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v
cmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 14:07:58 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 14:07:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeLiY-0006ie-FA; Wed, 24 Jan 2018 14:07:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cbgo=et=citrix.com=prvs=555590473=owen.smith@srs-us1.protection.inumbo.net>)
 id 1eeLiW-0006iW-AW
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 14:07:56 +0000
X-Inumbo-ID: bdaa9bea-010f-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id bdaa9bea-010f-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 14:06:15 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,407,1511827200"; d="scan'208";a="459468933"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 24 Jan 2018 14:05:05 +0000
Message-ID: <20180124140515.12284-5-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20180124140515.12284-1-owen.smith@citrix.com>
References: <20180124140515.12284-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 04/14] Make the monitor service multi-console
	aware
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKKiBDcmVhdGUgYSBsaXN0
IG9mIGluc3RhbmNlcywgMSBwZXIgaW50ZXJmYWNlIGZvdW5kLgoqIE1vdmVzIEFkZCAvIFJlbW92
ZSBpbmxpbmUgKHJlbW92ZSBldmVudHMpCiogRW51bWVyYXRlcyBhbGwgaW50ZXJmYWNlcyBwcmVz
ZW50CiogVXNlcyBJT0NUTCB0byBxdWVyeSBjb25zb2xlIG5hbWUKKiBDcmVhdGVzIG5hbWVkIHBp
cGUgYmFzZWQgb24gdGhlIGNvbnNvbGUgbmFtZSAoXFwuXHBpcGVceGVuY29uc1w8bmFtZT4pCiog
TW92ZXMgRXhlY3V0YWJsZSByZWdpc3RyeSBrZXkgdG8gc3Via2V5LCBiYXNlZCBvbiBjb25zb2xl
IG5hbWUKKiBDaGFuZ2VzIHR0eSBwcm9jZXNzIHRvIHVzZSBcXC5ccGlwZVx4ZW5jb25zXGRlZmF1
bHQKKiBDaGFuZ2UgSU5GIGZpbGUgdG8gd3JpdGUgdHR5IHRvIHN1YmtleQoqIGRlZmluZSBVTklD
T0RFCiAgICBTZXR1cEFwaSByZXR1cm5zIGFzY2lpL3VuaWNvZGUsIGRldmljZSBldmVudHMgYXJl
IGFsd2F5cyB1bmljb2RlCiogcmVvcmRlciB0aHJlYWQgc3RhcnQgdG8gZW5zdXJlIGRldmljZSBh
bmQgcGlwZSBzZXJ2ZXIgYXJlIHJ1bm5pbmcKICAgIGJlZm9yZSBtb25pdG9yIHRocmVhZAoKU2ln
bmVkLW9mZi1ieTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy9t
b25pdG9yL21vbml0b3IuYyB8IDEyMzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogc3JjL3R0eS90dHkuYyAgICAgICAgIHwgICAgMiArLQogc3JjL3hl
bmNvbnMuaW5mICAgICAgIHwgICAgMiArLQogMyBmaWxlcyBjaGFuZ2VkLCA2NzcgaW5zZXJ0aW9u
cygrKSwgNTY2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9tb25pdG9yL21vbml0b3Iu
YyBiL3NyYy9tb25pdG9yL21vbml0b3IuYwppbmRleCAwOGFlMGYyLi42OWE4MTk0IDEwMDY0NAot
LS0gYS9zcmMvbW9uaXRvci9tb25pdG9yLmMKKysrIGIvc3JjL21vbml0b3IvbW9uaXRvci5jCkBA
IC0zMCw2ICszMCw3IEBACiAgKi8KIAogI2RlZmluZSBJTklUR1VJRCAxCisjZGVmaW5lIFVOSUNP
REUKIAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNpbmNsdWRlIDx0Y2hhci5oPgpAQCAtNDEsNiAr
NDIsNyBAQAogI2luY2x1ZGUgPHNldHVwYXBpLmg+CiAjaW5jbHVkZSA8bWFsbG9jLmg+CiAjaW5j
bHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8d2luaW9jdGwuaD4KIAogI2luY2x1ZGUgPHhlbmNv
bnNfZGV2aWNlLmg+CiAjaW5jbHVkZSA8dmVyc2lvbi5oPgpAQCAtNTAsNyArNTIsMjYgQEAKICNk
ZWZpbmUgTU9OSVRPUl9OQU1FICAgICAgICBfX01PRFVMRV9fCiAjZGVmaW5lIE1PTklUT1JfRElT
UExBWU5BTUUgTU9OSVRPUl9OQU1FCiAKK3R5cGVkZWYgc3RydWN0IF9NT05JVE9SX0hBTkRMRSB7
CisgICAgUFRDSEFSICAgICAgICAgICAgICAgICAgRGV2aWNlUGF0aDsKKyAgICBQVENIQVIgICAg
ICAgICAgICAgICAgICBFeGVjdXRhYmxlOworICAgIFBDSEFSICAgICAgICAgICAgICAgICAgIE5h
bWU7CisgICAgSERFVk5PVElGWSAgICAgICAgICAgICAgRGV2aWNlTm90aWZpY2F0aW9uOworICAg
IEhBTkRMRSAgICAgICAgICAgICAgICAgIERldmljZTsKKyAgICBIQU5ETEUgICAgICAgICAgICAg
ICAgICBNb25pdG9yRXZlbnQ7CisgICAgSEFORExFICAgICAgICAgICAgICAgICAgTW9uaXRvclRo
cmVhZDsKKyAgICBIQU5ETEUgICAgICAgICAgICAgICAgICBEZXZpY2VFdmVudDsKKyAgICBIQU5E
TEUgICAgICAgICAgICAgICAgICBEZXZpY2VUaHJlYWQ7CisgICAgSEFORExFICAgICAgICAgICAg
ICAgICAgU2VydmVyRXZlbnQ7CisgICAgSEFORExFICAgICAgICAgICAgICAgICAgU2VydmVyVGhy
ZWFkOworICAgIENSSVRJQ0FMX1NFQ1RJT04gICAgICAgIENyaXRpY2FsU2VjdGlvbjsKKyAgICBM
SVNUX0VOVFJZICAgICAgICAgICAgICBMaXN0SGVhZDsKKyAgICBEV09SRCAgICAgICAgICAgICAg
ICAgICBMaXN0Q291bnQ7CisgICAgTElTVF9FTlRSWSAgICAgICAgICAgICAgTGlzdEVudHJ5Owor
fSBNT05JVE9SX0hBTkRMRSwgKlBNT05JVE9SX0hBTkRMRTsKKwogdHlwZWRlZiBzdHJ1Y3QgX01P
TklUT1JfUElQRSB7CisgICAgUE1PTklUT1JfSEFORExFICAgICAgICAgSGFuZGxlOwogICAgIEhB
TkRMRSAgICAgICAgICAgICAgICAgIFBpcGU7CiAgICAgSEFORExFICAgICAgICAgICAgICAgICAg
RXZlbnQ7CiAgICAgSEFORExFICAgICAgICAgICAgICAgICAgVGhyZWFkOwpAQCAtNjMsMTkgKzg0
LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX01PTklUT1JfQ09OVEVYVCB7CiAgICAgSEtFWSAgICAgICAg
ICAgICAgICAgICAgUGFyYW1ldGVyc0tleTsKICAgICBIQU5ETEUgICAgICAgICAgICAgICAgICBF
dmVudExvZzsKICAgICBIQU5ETEUgICAgICAgICAgICAgICAgICBTdG9wRXZlbnQ7Ci0gICAgSEFO
RExFICAgICAgICAgICAgICAgICAgQWRkRXZlbnQ7Ci0gICAgSEFORExFICAgICAgICAgICAgICAg
ICAgUmVtb3ZlRXZlbnQ7Ci0gICAgUFRDSEFSICAgICAgICAgICAgICAgICAgRXhlY3V0YWJsZTsK
ICAgICBIREVWTk9USUZZICAgICAgICAgICAgICBJbnRlcmZhY2VOb3RpZmljYXRpb247Ci0gICAg
UFRDSEFSICAgICAgICAgICAgICAgICAgRGV2aWNlUGF0aDsKLSAgICBIREVWTk9USUZZICAgICAg
ICAgICAgICBEZXZpY2VOb3RpZmljYXRpb247Ci0gICAgSEFORExFICAgICAgICAgICAgICAgICAg
RGV2aWNlOwotICAgIEhBTkRMRSAgICAgICAgICAgICAgICAgIE1vbml0b3JFdmVudDsKLSAgICBI
QU5ETEUgICAgICAgICAgICAgICAgICBNb25pdG9yVGhyZWFkOwotICAgIEhBTkRMRSAgICAgICAg
ICAgICAgICAgIERldmljZUV2ZW50OwotICAgIEhBTkRMRSAgICAgICAgICAgICAgICAgIERldmlj
ZVRocmVhZDsKLSAgICBIQU5ETEUgICAgICAgICAgICAgICAgICBTZXJ2ZXJFdmVudDsKLSAgICBI
QU5ETEUgICAgICAgICAgICAgICAgICBTZXJ2ZXJUaHJlYWQ7CiAgICAgQ1JJVElDQUxfU0VDVElP
TiAgICAgICAgQ3JpdGljYWxTZWN0aW9uOwogICAgIExJU1RfRU5UUlkgICAgICAgICAgICAgIExp
c3RIZWFkOwogICAgIERXT1JEICAgICAgICAgICAgICAgICAgIExpc3RDb3VudDsKQEAgLTk4LDcg
KzEwNyw3IEBAIE1PTklUT1JfQ09OVEVYVCBNb25pdG9yQ29udGV4dDsKIHN0YXRpYyBWT0lECiAj
cHJhZ21hIHByZWZhc3Qoc3VwcHJlc3M6NjI2MikgLy8gRnVuY3Rpb24gdXNlcyAnMTAzNicgYnl0
ZXMgb2Ygc3RhY2s6IGV4Y2VlZHMgL2FuYWx5emU6c3RhY2tzaXplJzEwMjQnCiBfX0xvZygKLSAg
ICBJTiAgY29uc3QgQ0hBUiAgICAgICpGb3JtYXQsCisgICAgSU4gIGNvbnN0IFRDSEFSICAgICAg
KkZvcm1hdCwKICAgICBJTiAgLi4uCiAgICAgKQogewpAQCAtMjE3LDcgKzIyNiw3IEBAIFJlcG9y
dFN0YXR1cygKICAgICBCT09MICAgICAgICAgICAgICAgIFN1Y2Nlc3M7CiAgICAgSFJFU1VMVCAg
ICAgICAgICAgICBFcnJvcjsKIAotICAgIExvZygiPT09PT4gKCVzKSIsIFNlcnZpY2VTdGF0ZU5h
bWUoQ3VycmVudFN0YXRlKSk7CisgICAgTG9nKCI9PT09PiAoJWhzKSIsIFNlcnZpY2VTdGF0ZU5h
bWUoQ3VycmVudFN0YXRlKSk7CiAKICAgICBDb250ZXh0LT5TdGF0dXMuZHdDdXJyZW50U3RhdGUg
PSBDdXJyZW50U3RhdGU7CiAgICAgQ29udGV4dC0+U3RhdHVzLmR3V2luMzJFeGl0Q29kZSA9IFdp
bjMyRXhpdENvZGU7CkBAIC0yNTYsMTExICsyNjUsNiBAQCBmYWlsMToKICAgICB9CiB9CiAKLXN0
YXRpYyBCT09MCi1Nb25pdG9yR2V0UGF0aCgKLSAgICBJTiAgY29uc3QgR1VJRCAgKkd1aWQsCi0g
ICAgT1VUIFBUQ0hBUiAgICAgICpQYXRoCi0gICAgKQotewotICAgIEhERVZJTkZPICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIERldmljZUluZm9TZXQ7Ci0gICAgU1BfREVWSUNFX0lOVEVSRkFD
RV9EQVRBICAgICAgICAgICAgRGV2aWNlSW50ZXJmYWNlRGF0YTsKLSAgICBQU1BfREVWSUNFX0lO
VEVSRkFDRV9ERVRBSUxfREFUQSAgICBEZXZpY2VJbnRlcmZhY2VEZXRhaWw7Ci0gICAgRFdPUkQg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2l6ZTsKLSAgICBIUkVTVUxUICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBFcnJvcjsKLSAgICBCT09MICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBTdWNjZXNzOwotCi0gICAgTG9nKCI9PT09PiIpOwotCi0gICAgRGV2aWNlSW5m
b1NldCA9IFNldHVwRGlHZXRDbGFzc0RldnMoR3VpZCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRElH
Q0ZfUFJFU0VOVCB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRElH
Q0ZfREVWSUNFSU5URVJGQUNFKTsKLSAgICBpZiAoRGV2aWNlSW5mb1NldCA9PSBJTlZBTElEX0hB
TkRMRV9WQUxVRSkKLSAgICAgICAgZ290byBmYWlsMTsKLQotICAgIERldmljZUludGVyZmFjZURh
dGEuY2JTaXplID0gc2l6ZW9mIChTUF9ERVZJQ0VfSU5URVJGQUNFX0RBVEEpOwotCi0gICAgU3Vj
Y2VzcyA9IFNldHVwRGlFbnVtRGV2aWNlSW50ZXJmYWNlcyhEZXZpY2VJbmZvU2V0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1aWQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJkRldmljZUludGVyZmFjZURhdGEpOwotICAgIGlmICghU3VjY2VzcykKLSAgICAg
ICAgZ290byBmYWlsMjsKLQotICAgIFN1Y2Nlc3MgPSBTZXR1cERpR2V0RGV2aWNlSW50ZXJmYWNl
RGV0YWlsKERldmljZUluZm9TZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJkRldmljZUludGVyZmFjZURhdGEsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZTaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE5VTEwpOwotICAgIGlmICghU3VjY2VzcyAmJiBHZXRMYXN0RXJyb3IoKSAhPSBF
UlJPUl9JTlNVRkZJQ0lFTlRfQlVGRkVSKQotICAgICAgICBnb3RvIGZhaWwzOwotCi0gICAgRGV2
aWNlSW50ZXJmYWNlRGV0YWlsID0gY2FsbG9jKDEsIFNpemUpOwotICAgIGlmIChEZXZpY2VJbnRl
cmZhY2VEZXRhaWwgPT0gTlVMTCkKLSAgICAgICAgZ290byBmYWlsNDsKLQotICAgIERldmljZUlu
dGVyZmFjZURldGFpbC0+Y2JTaXplID0KLSAgICAgICAgc2l6ZW9mIChTUF9ERVZJQ0VfSU5URVJG
QUNFX0RFVEFJTF9EQVRBKTsKLQotICAgIFN1Y2Nlc3MgPSBTZXR1cERpR2V0RGV2aWNlSW50ZXJm
YWNlRGV0YWlsKERldmljZUluZm9TZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJkRldmljZUludGVyZmFjZURhdGEsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlSW50ZXJmYWNlRGV0YWlsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpemUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKLSAgICBpZiAoIVN1Y2Nlc3Mp
Ci0gICAgICAgIGdvdG8gZmFpbDU7Ci0KLSAgICAqUGF0aCA9IF90Y3NkdXAoRGV2aWNlSW50ZXJm
YWNlRGV0YWlsLT5EZXZpY2VQYXRoKTsKLQotICAgIGlmICgqUGF0aCA9PSBOVUxMKQotICAgICAg
ICBnb3RvIGZhaWw2OwotCi0gICAgTG9nKCIlcyIsICpQYXRoKTsKLQotICAgIGZyZWUoRGV2aWNl
SW50ZXJmYWNlRGV0YWlsKTsKLQotICAgIFNldHVwRGlEZXN0cm95RGV2aWNlSW5mb0xpc3QoRGV2
aWNlSW5mb1NldCk7Ci0KLSAgICBMb2coIjw9PT09Iik7Ci0KLSAgICByZXR1cm4gVFJVRTsKLQot
ZmFpbDY6Ci0gICAgTG9nKCJmYWlsNiIpOwotCi1mYWlsNToKLSAgICBMb2coImZhaWw1Iik7Ci0K
LSAgICBmcmVlKERldmljZUludGVyZmFjZURldGFpbCk7Ci0KLWZhaWw0OgotICAgIExvZygiZmFp
bDQiKTsKLQotZmFpbDM6Ci0gICAgTG9nKCJmYWlsMyIpOwotCi1mYWlsMjoKLSAgICBMb2coImZh
aWwyIik7Ci0KLSAgICBTZXR1cERpRGVzdHJveURldmljZUluZm9MaXN0KERldmljZUluZm9TZXQp
OwotCi1mYWlsMToKLSAgICBFcnJvciA9IEdldExhc3RFcnJvcigpOwotCi0gICAgewotICAgICAg
ICBQVENIQVIgIE1lc3NhZ2U7Ci0gICAgICAgIE1lc3NhZ2UgPSBHZXRFcnJvck1lc3NhZ2UoRXJy
b3IpOwotICAgICAgICBMb2coImZhaWwxICglcykiLCBNZXNzYWdlKTsKLSAgICAgICAgTG9jYWxG
cmVlKE1lc3NhZ2UpOwotICAgIH0KLQotICAgIHJldHVybiBGQUxTRTsKLX0KLQogc3RhdGljIEZP
UkNFSU5MSU5FIFZPSUQKIF9fSW5pdGlhbGl6ZUxpc3RIZWFkKAogICAgIElOICBQTElTVF9FTlRS
WSBMaXN0RW50cnkKQEAgLTQzMCwxNiArMzM0LDE2IEBAIFBpcGVUaHJlYWQoCiAgICAgSU4gIExQ
Vk9JRCAgICAgICAgICBBcmd1bWVudAogICAgICkKIHsKLSAgICBQTU9OSVRPUl9DT05URVhUICAg
IENvbnRleHQgPSAmTW9uaXRvckNvbnRleHQ7CiAgICAgUE1PTklUT1JfUElQRSAgICAgICBQaXBl
ID0gKFBNT05JVE9SX1BJUEUpQXJndW1lbnQ7CisgICAgUE1PTklUT1JfSEFORExFICAgICBIYW5k
bGUgPSBQaXBlLT5IYW5kbGU7CiAgICAgVUNIQVIgICAgICAgICAgICAgICBCdWZmZXJbTUFYSU1V
TV9CVUZGRVJfU0laRV07CiAgICAgT1ZFUkxBUFBFRCAgICAgICAgICBPdmVybGFwcGVkOwotICAg
IEhBTkRMRSAgICAgICAgICAgICAgSGFuZGxlWzJdOworICAgIEhBTkRMRSAgICAgICAgICAgICAg
SGFuZGxlc1syXTsKICAgICBEV09SRCAgICAgICAgICAgICAgIExlbmd0aDsKICAgICBEV09SRCAg
ICAgICAgICAgICAgIE9iamVjdDsKICAgICBIUkVTVUxUICAgICAgICAgICAgIEVycm9yOwogCi0g
ICAgTG9nKCI9PT09PiIpOworICAgIExvZygiPT09PT4gJWhzIiwgSGFuZGxlLT5OYW1lKTsKIAog
ICAgIFplcm9NZW1vcnkoJk92ZXJsYXBwZWQsIHNpemVvZihPVkVSTEFQUEVEKSk7CiAgICAgT3Zl
cmxhcHBlZC5oRXZlbnQgPSBDcmVhdGVFdmVudChOVUxMLApAQCAtNDQ5LDEzICszNTMsMTMgQEAg
UGlwZVRocmVhZCgKICAgICBpZiAoT3ZlcmxhcHBlZC5oRXZlbnQgPT0gTlVMTCkKICAgICAgICAg
Z290byBmYWlsMTsKIAotICAgIEhhbmRsZVswXSA9IFBpcGUtPkV2ZW50OwotICAgIEhhbmRsZVsx
XSA9IE92ZXJsYXBwZWQuaEV2ZW50OworICAgIEhhbmRsZXNbMF0gPSBQaXBlLT5FdmVudDsKKyAg
ICBIYW5kbGVzWzFdID0gT3ZlcmxhcHBlZC5oRXZlbnQ7CiAKLSAgICBFbnRlckNyaXRpY2FsU2Vj
dGlvbigmQ29udGV4dC0+Q3JpdGljYWxTZWN0aW9uKTsKLSAgICBfX0luc2VydFRhaWxMaXN0KCZD
b250ZXh0LT5MaXN0SGVhZCwgJlBpcGUtPkxpc3RFbnRyeSk7Ci0gICAgKytDb250ZXh0LT5MaXN0
Q291bnQ7Ci0gICAgTGVhdmVDcml0aWNhbFNlY3Rpb24oJkNvbnRleHQtPkNyaXRpY2FsU2VjdGlv
bik7CisgICAgRW50ZXJDcml0aWNhbFNlY3Rpb24oJkhhbmRsZS0+Q3JpdGljYWxTZWN0aW9uKTsK
KyAgICBfX0luc2VydFRhaWxMaXN0KCZIYW5kbGUtPkxpc3RIZWFkLCAmUGlwZS0+TGlzdEVudHJ5
KTsKKyAgICArK0hhbmRsZS0+TGlzdENvdW50OworICAgIExlYXZlQ3JpdGljYWxTZWN0aW9uKCZI
YW5kbGUtPkNyaXRpY2FsU2VjdGlvbik7CiAKICAgICBmb3IgKDs7KSB7CiAgICAgICAgIChWT0lE
KSBSZWFkRmlsZShQaXBlLT5QaXBlLApAQCAtNDY0LDggKzM2OCw4IEBAIFBpcGVUaHJlYWQoCiAg
ICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgJk92
ZXJsYXBwZWQpOwogCi0gICAgICAgIE9iamVjdCA9IFdhaXRGb3JNdWx0aXBsZU9iamVjdHMoQVJS
QVlTSVpFKEhhbmRsZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
SGFuZGxlLAorICAgICAgICBPYmplY3QgPSBXYWl0Rm9yTXVsdGlwbGVPYmplY3RzKEFSUkFZU0la
RShIYW5kbGVzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYW5k
bGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElORklOSVRFKTsKICAgICAgICAg
aWYgKE9iamVjdCA9PSBXQUlUX09CSkVDVF8wKQpAQCAtNDc5LDE1ICszODMsMTUgQEAgUGlwZVRo
cmVhZCgKIAogICAgICAgICBSZXNldEV2ZW50KE92ZXJsYXBwZWQuaEV2ZW50KTsKIAotICAgICAg
ICBQdXRTdHJpbmcoQ29udGV4dC0+RGV2aWNlLAorICAgICAgICBQdXRTdHJpbmcoSGFuZGxlLT5E
ZXZpY2UsCiAgICAgICAgICAgICAgICAgICBCdWZmZXIsCiAgICAgICAgICAgICAgICAgICBMZW5n
dGgpOwogICAgIH0KIAotICAgIEVudGVyQ3JpdGljYWxTZWN0aW9uKCZDb250ZXh0LT5Dcml0aWNh
bFNlY3Rpb24pOworICAgIEVudGVyQ3JpdGljYWxTZWN0aW9uKCZIYW5kbGUtPkNyaXRpY2FsU2Vj
dGlvbik7CiAgICAgX19SZW1vdmVFbnRyeUxpc3QoJlBpcGUtPkxpc3RFbnRyeSk7Ci0gICAgLS1D
b250ZXh0LT5MaXN0Q291bnQ7Ci0gICAgTGVhdmVDcml0aWNhbFNlY3Rpb24oJkNvbnRleHQtPkNy
aXRpY2FsU2VjdGlvbik7CisgICAgLS1IYW5kbGUtPkxpc3RDb3VudDsKKyAgICBMZWF2ZUNyaXRp
Y2FsU2VjdGlvbigmSGFuZGxlLT5Dcml0aWNhbFNlY3Rpb24pOwogCiAgICAgQ2xvc2VIYW5kbGUo
T3ZlcmxhcHBlZC5oRXZlbnQpOwogCkBAIC00OTcsNyArNDAxLDcgQEAgUGlwZVRocmVhZCgKICAg
ICBDbG9zZUhhbmRsZShQaXBlLT5UaHJlYWQpOwogICAgIGZyZWUoUGlwZSk7CiAKLSAgICBMb2co
Ijw9PT09Iik7CisgICAgTG9nKCI8PT09PSAlaHMiLCBIYW5kbGUtPk5hbWUpOwogCiAgICAgcmV0
dXJuIDA7CiAKQEAgLTUxOSwxNyArNDIzLDE2IEBAIFNlcnZlclRocmVhZCgKICAgICBJTiAgTFBW
T0lEICAgICAgICAgIEFyZ3VtZW50CiAgICAgKQogewotICAgIFBNT05JVE9SX0NPTlRFWFQgICAg
Q29udGV4dCA9ICZNb25pdG9yQ29udGV4dDsKKyAgICBQTU9OSVRPUl9IQU5ETEUgICAgIEhhbmRs
ZSA9IChQTU9OSVRPUl9IQU5ETEUpQXJndW1lbnQ7CiAgICAgT1ZFUkxBUFBFRCAgICAgICAgICBP
dmVybGFwcGVkOwotICAgIEhBTkRMRSAgICAgICAgICAgICAgSGFuZGxlWzJdOworICAgIEhBTkRM
RSAgICAgICAgICAgICAgSGFuZGxlc1syXTsKICAgICBIQU5ETEUgICAgICAgICAgICAgIFBpcGU7
CiAgICAgRFdPUkQgICAgICAgICAgICAgICBPYmplY3Q7CisgICAgVENIQVIgICAgICAgICAgICAg
ICBQaXBlTmFtZVtNQVhfUEFUSF07CiAgICAgUE1PTklUT1JfUElQRSAgICAgICBJbnN0YW5jZTsK
ICAgICBIUkVTVUxUICAgICAgICAgICAgIEVycm9yOwogCi0gICAgVU5SRUZFUkVOQ0VEX1BBUkFN
RVRFUihBcmd1bWVudCk7Ci0KLSAgICBMb2coIj09PT0+Iik7CisgICAgTG9nKCI9PT09PiAlaHMi
LCBIYW5kbGUtPk5hbWUpOwogCiAgICAgWmVyb01lbW9yeSgmT3ZlcmxhcHBlZCwgc2l6ZW9mKE9W
RVJMQVBQRUQpKTsKICAgICBPdmVybGFwcGVkLmhFdmVudCA9IENyZWF0ZUV2ZW50KE5VTEwsCkBA
IC01MzksMTEgKzQ0MiwyMiBAQCBTZXJ2ZXJUaHJlYWQoCiAgICAgaWYgKE92ZXJsYXBwZWQuaEV2
ZW50ID09IE5VTEwpCiAgICAgICAgIGdvdG8gZmFpbDE7CiAKLSAgICBIYW5kbGVbMF0gPSBDb250
ZXh0LT5TZXJ2ZXJFdmVudDsKLSAgICBIYW5kbGVbMV0gPSBPdmVybGFwcGVkLmhFdmVudDsKKyAg
ICBIYW5kbGVzWzBdID0gSGFuZGxlLT5TZXJ2ZXJFdmVudDsKKyAgICBIYW5kbGVzWzFdID0gT3Zl
cmxhcHBlZC5oRXZlbnQ7CisKKyAgICBFcnJvciA9IFN0cmluZ0NiUHJpbnRmKFBpcGVOYW1lLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFBpcGVOYW1lKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFRFWFQoIiVzXFwlaHMiKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFBJUEVfTkFNRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhbmRsZS0+TmFtZSk7
CisKKyAgICBpZiAoRXJyb3IgIT0gU19PSyAmJiBFcnJvciAhPSBTVFJTQUZFX0VfSU5TVUZGSUNJ
RU5UX0JVRkZFUikKKyAgICAgICAgZ290byBmYWlsMjsKKworICAgIExvZygiUGlwZU5hbWUgPSAl
cyIsIFBpcGVOYW1lKTsKIAogICAgIGZvciAoOzspIHsKLSAgICAgICAgUGlwZSA9IENyZWF0ZU5h
bWVkUGlwZShQSVBFX05BTUUsCisgICAgICAgIFBpcGUgPSBDcmVhdGVOYW1lZFBpcGUoUGlwZU5h
bWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUElQRV9BQ0NFU1NfRFVQTEVYIHwg
RklMRV9GTEFHX09WRVJMQVBQRUQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUElQ
RV9UWVBFX01FU1NBR0UgfCBQSVBFX1JFQURNT0RFX01FU1NBR0UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgUElQRV9VTkxJTUlURURfSU5TVEFOQ0VTLApAQCAtNTUyLDEzICs0NjYs
MTMgQEAgU2VydmVyVGhyZWFkKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CiAgICAgICAgIGlmIChQaXBlID09
IElOVkFMSURfSEFORExFX1ZBTFVFKQotICAgICAgICAgICAgZ290byBmYWlsMjsKKyAgICAgICAg
ICAgIGdvdG8gZmFpbDM7CiAKLSAgICAgICAgKFZPSUQpIENvbm5lY3ROYW1lZFBpcGUoUGlwZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJk92ZXJsYXBwZWQpOworICAgICAgICAo
Vk9JRClDb25uZWN0TmFtZWRQaXBlKFBpcGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJk92ZXJsYXBwZWQpOwogCi0gICAgICAgIE9iamVjdCA9IFdhaXRGb3JNdWx0aXBsZU9iamVj
dHMoQVJSQVlTSVpFKEhhbmRsZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgSGFuZGxlLAorICAgICAgICBPYmplY3QgPSBXYWl0Rm9yTXVsdGlwbGVPYmplY3RzKEFS
UkFZU0laRShIYW5kbGVzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBIYW5kbGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNF
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElORklOSVRFKTsKICAg
ICAgICAgaWYgKE9iamVjdCA9PSBXQUlUX09CSkVDVF8wKSB7CkBAIC01NzAsMTEgKzQ4NCwxMiBA
QCBTZXJ2ZXJUaHJlYWQoCiAKICAgICAgICAgSW5zdGFuY2UgPSAoUE1PTklUT1JfUElQRSltYWxs
b2Moc2l6ZW9mKE1PTklUT1JfUElQRSkpOwogICAgICAgICBpZiAoSW5zdGFuY2UgPT0gTlVMTCkK
LSAgICAgICAgICAgIGdvdG8gZmFpbDM7CisgICAgICAgICAgICBnb3RvIGZhaWw0OwogCiAgICAg
ICAgIF9fSW5pdGlhbGl6ZUxpc3RIZWFkKCZJbnN0YW5jZS0+TGlzdEVudHJ5KTsKKyAgICAgICAg
SW5zdGFuY2UtPkhhbmRsZSA9IEhhbmRsZTsKICAgICAgICAgSW5zdGFuY2UtPlBpcGUgPSBQaXBl
OwotICAgICAgICBJbnN0YW5jZS0+RXZlbnQgPSBDb250ZXh0LT5TZXJ2ZXJFdmVudDsKKyAgICAg
ICAgSW5zdGFuY2UtPkV2ZW50ID0gSGFuZGxlLT5TZXJ2ZXJFdmVudDsKICAgICAgICAgSW5zdGFu
Y2UtPlRocmVhZCA9IENyZWF0ZVRocmVhZChOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgUGlwZVRocmVhZCwKQEAgLTU4MiwyOCArNDk3LDMzIEBAIFNlcnZlclRocmVhZCgKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwogICAgICAgICBpZiAoSW5zdGFuY2UtPlRocmVh
ZCA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkKLSAgICAgICAgICAgIGdvdG8gZmFpbDQ7CisgICAg
ICAgICAgICBnb3RvIGZhaWw1OwogICAgIH0KIAogICAgIENsb3NlSGFuZGxlKE92ZXJsYXBwZWQu
aEV2ZW50KTsKIAotICAgIExvZygiPD09PT0iKTsKKyAgICBMb2coIjw9PT09ICVocyIsIEhhbmRs
ZS0+TmFtZSk7CiAKICAgICByZXR1cm4gMDsKIAorZmFpbDU6CisgICAgTG9nKCJmYWlsNSIpOwor
CisgICAgZnJlZShJbnN0YW5jZSk7CisKIGZhaWw0OgogICAgIExvZygiZmFpbDQiKTsKIAotICAg
IGZyZWUoSW5zdGFuY2UpOworICAgIENsb3NlSGFuZGxlKFBpcGUpOwogCiBmYWlsMzoKICAgICBM
b2coImZhaWwzIik7CiAKLSAgICBDbG9zZUhhbmRsZShQaXBlKTsKLQogZmFpbDI6CiAgICAgTG9n
KCJmYWlsMiIpOwogCisgICAgQ2xvc2VIYW5kbGUoT3ZlcmxhcHBlZC5oRXZlbnQpOworCiBmYWls
MToKICAgICBFcnJvciA9IEdldExhc3RFcnJvcigpOwogCkBAIC02MjIsMjAgKzU0MiwxOCBAQCBN
b25pdG9yVGhyZWFkKAogICAgIElOICBMUFZPSUQgICAgICAgICAgQXJndW1lbnQKICAgICApCiB7
Ci0gICAgUE1PTklUT1JfQ09OVEVYVCAgICBDb250ZXh0ID0gJk1vbml0b3JDb250ZXh0OworICAg
IFBNT05JVE9SX0hBTkRMRSAgICAgSGFuZGxlID0gKFBNT05JVE9SX0hBTkRMRSlBcmd1bWVudDsK
ICAgICBQUk9DRVNTX0lORk9STUFUSU9OIFByb2Nlc3NJbmZvOwogICAgIFNUQVJUVVBJTkZPICAg
ICAgICAgU3RhcnR1cEluZm87CiAgICAgQk9PTCAgICAgICAgICAgICAgICBTdWNjZXNzOwotICAg
IEhBTkRMRSAgICAgICAgICAgICAgSGFuZGxlWzJdOworICAgIEhBTkRMRSAgICAgICAgICAgICAg
SGFuZGxlc1syXTsKICAgICBEV09SRCAgICAgICAgICAgICAgIE9iamVjdDsKICAgICBIUkVTVUxU
ICAgICAgICAgICAgIEVycm9yOwogCi0gICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihBcmd1bWVu
dCk7Ci0KLSAgICBMb2coIj09PT0+Iik7CisgICAgTG9nKCI9PT09PiAlaHMiLCBIYW5kbGUtPk5h
bWUpOwogCiAgICAgLy8gSWYgdGhlcmUgaXMgbm8gZXhlY3V0YWJsZSwgdGhpcyB0aHJlYWQgY2Fu
IGZpbmlzaCBub3cuCi0gICAgaWYgKENvbnRleHQtPkV4ZWN1dGFibGUgPT0gTlVMTCkKKyAgICBp
ZiAoSGFuZGxlLT5FeGVjdXRhYmxlID09IE5VTEwpCiAgICAgICAgIGdvdG8gZG9uZTsKIAogYWdh
aW46CkBAIC02NDMsMTEgKzU2MSwxMSBAQCBhZ2FpbjoKICAgICBaZXJvTWVtb3J5KCZTdGFydHVw
SW5mbywgc2l6ZW9mIChTdGFydHVwSW5mbykpOwogICAgIFN0YXJ0dXBJbmZvLmNiID0gc2l6ZW9m
IChTdGFydHVwSW5mbyk7CiAKLSAgICBMb2coIkV4ZWN1dGluZzogJXMiLCBDb250ZXh0LT5FeGVj
dXRhYmxlKTsKKyAgICBMb2coIkV4ZWN1dGluZzogJXMiLCBIYW5kbGUtPkV4ZWN1dGFibGUpOwog
CiAjcHJhZ21hIHdhcm5pbmcoc3VwcHJlc3M6NjA1MykgLy8gQ29tbWFuZExpbmUgbWlnaHQgbm90
IGJlIE5VTC10ZXJtaW5hdGVkCiAgICAgU3VjY2VzcyA9IENyZWF0ZVByb2Nlc3MoTlVMTCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBDb250ZXh0LT5FeGVjdXRhYmxlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEhhbmRsZS0+RXhlY3V0YWJsZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCkBAIC02NjAsMTEgKzU3OCwxMSBAQCBhZ2Fp
bjoKICAgICBpZiAoIVN1Y2Nlc3MpCiAgICAgICAgIGdvdG8gZmFpbDE7CiAKLSAgICBIYW5kbGVb
MF0gPSBDb250ZXh0LT5Nb25pdG9yRXZlbnQ7Ci0gICAgSGFuZGxlWzFdID0gUHJvY2Vzc0luZm8u
aFByb2Nlc3M7CisgICAgSGFuZGxlc1swXSA9IEhhbmRsZS0+TW9uaXRvckV2ZW50OworICAgIEhh
bmRsZXNbMV0gPSBQcm9jZXNzSW5mby5oUHJvY2VzczsKIAotICAgIE9iamVjdCA9IFdhaXRGb3JN
dWx0aXBsZU9iamVjdHMoQVJSQVlTSVpFKEhhbmRsZSksCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEhhbmRsZSwKKyAgICBPYmplY3QgPSBXYWl0Rm9yTXVsdGlwbGVPYmplY3Rz
KEFSUkFZU0laRShIYW5kbGVzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
SGFuZGxlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElORklOSVRFKTsKIApAQCAtNjcyLDcgKzU5
MCw3IEBAIGFnYWluOgogCiAgICAgc3dpdGNoIChPYmplY3QpIHsKICAgICBjYXNlIFdBSVRfT0JK
RUNUXzA6Ci0gICAgICAgIFJlc2V0RXZlbnQoQ29udGV4dC0+TW9uaXRvckV2ZW50KTsKKyAgICAg
ICAgUmVzZXRFdmVudChIYW5kbGUtPk1vbml0b3JFdmVudCk7CiAKICAgICAgICAgVGVybWluYXRl
UHJvY2VzcyhQcm9jZXNzSW5mby5oUHJvY2VzcywgMSk7CiAgICAgICAgIENsb3NlSGFuZGxlKFBy
b2Nlc3NJbmZvLmhQcm9jZXNzKTsKQEAgLTY5MSw3ICs2MDksNyBAQCBhZ2FpbjoKIC8vI3VuZGVm
IFdBSVRfT0JKRUNUXzEKIAogZG9uZToKLSAgICBMb2coIjw9PT09Iik7CisgICAgTG9nKCI8PT09
PSAlaHMiLCBIYW5kbGUtPk5hbWUpOwogCiAgICAgcmV0dXJuIDA7CiAKQEAgLTcxMyw3ICs2MzEs
NyBAQCBEZXZpY2VUaHJlYWQoCiAgICAgSU4gIExQVk9JRCAgICAgICAgICBBcmd1bWVudAogICAg
ICkKIHsKLSAgICBQTU9OSVRPUl9DT05URVhUICAgIENvbnRleHQgPSAmTW9uaXRvckNvbnRleHQ7
CisgICAgUE1PTklUT1JfSEFORExFICAgICBIYW5kbGUgPSAoUE1PTklUT1JfSEFORExFKUFyZ3Vt
ZW50OwogICAgIE9WRVJMQVBQRUQgICAgICAgICAgT3ZlcmxhcHBlZDsKICAgICBIQU5ETEUgICAg
ICAgICAgICAgIERldmljZTsKICAgICBVQ0hBUiAgICAgICAgICAgICAgIEJ1ZmZlcltNQVhJTVVN
X0JVRkZFUl9TSVpFXTsKQEAgLTcyMiw5ICs2NDAsNyBAQCBEZXZpY2VUaHJlYWQoCiAgICAgSEFO
RExFICAgICAgICAgICAgICBIYW5kbGVzWzJdOwogICAgIERXT1JEICAgICAgICAgICAgICAgRXJy
b3I7CiAKLSAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKEFyZ3VtZW50KTsKLQotICAgIExvZygi
PT09PT4iKTsKKyAgICBMb2coIj09PT0+ICVocyIsIEhhbmRsZS0+TmFtZSk7CiAKICAgICBaZXJv
TWVtb3J5KCZPdmVybGFwcGVkLCBzaXplb2YoT1ZFUkxBUFBFRCkpOwogICAgIE92ZXJsYXBwZWQu
aEV2ZW50ID0gQ3JlYXRlRXZlbnQoTlVMTCwKQEAgLTczNCwxMCArNjUwLDEwIEBAIERldmljZVRo
cmVhZCgKICAgICBpZiAoT3ZlcmxhcHBlZC5oRXZlbnQgPT0gTlVMTCkKICAgICAgICAgZ290byBm
YWlsMTsKIAotICAgIEhhbmRsZXNbMF0gPSBDb250ZXh0LT5EZXZpY2VFdmVudDsKKyAgICBIYW5k
bGVzWzBdID0gSGFuZGxlLT5EZXZpY2VFdmVudDsKICAgICBIYW5kbGVzWzFdID0gT3ZlcmxhcHBl
ZC5oRXZlbnQ7CiAKLSAgICBEZXZpY2UgPSBDcmVhdGVGaWxlKENvbnRleHQtPkRldmljZVBhdGgs
CisgICAgRGV2aWNlID0gQ3JlYXRlRmlsZShIYW5kbGUtPkRldmljZVBhdGgsCiAgICAgICAgICAg
ICAgICAgICAgICAgICBHRU5FUklDX1JFQUQsCiAgICAgICAgICAgICAgICAgICAgICAgICBGSUxF
X1NIQVJFX1JFQUQgfCBGSUxFX1NIQVJFX1dSSVRFLAogICAgICAgICAgICAgICAgICAgICAgICAg
TlVMTCwKQEAgLTc3MSwxMCArNjg3LDEwIEBAIERldmljZVRocmVhZCgKIAogICAgICAgICBSZXNl
dEV2ZW50KE92ZXJsYXBwZWQuaEV2ZW50KTsKIAotICAgICAgICBFbnRlckNyaXRpY2FsU2VjdGlv
bigmQ29udGV4dC0+Q3JpdGljYWxTZWN0aW9uKTsKKyAgICAgICAgRW50ZXJDcml0aWNhbFNlY3Rp
b24oJkhhbmRsZS0+Q3JpdGljYWxTZWN0aW9uKTsKIAotICAgICAgICBmb3IgKExpc3RFbnRyeSA9
IENvbnRleHQtPkxpc3RIZWFkLkZsaW5rOwotICAgICAgICAgICAgIExpc3RFbnRyeSAhPSAmQ29u
dGV4dC0+TGlzdEhlYWQ7CisgICAgICAgIGZvciAoTGlzdEVudHJ5ID0gSGFuZGxlLT5MaXN0SGVh
ZC5GbGluazsKKyAgICAgICAgICAgICBMaXN0RW50cnkgIT0gJkhhbmRsZS0+TGlzdEhlYWQ7CiAg
ICAgICAgICAgICAgTGlzdEVudHJ5ID0gTGlzdEVudHJ5LT5GbGluaykgewogICAgICAgICAgICAg
UE1PTklUT1JfUElQRSAgIEluc3RhbmNlOwogCkBAIC03ODQsMTQgKzcwMCwxNCBAQCBEZXZpY2VU
aHJlYWQoCiAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyLAogICAgICAgICAgICAgICAgICAg
ICAgIExlbmd0aCk7CiAgICAgICAgIH0KLSAgICAgICAgTGVhdmVDcml0aWNhbFNlY3Rpb24oJkNv
bnRleHQtPkNyaXRpY2FsU2VjdGlvbik7CisgICAgICAgIExlYXZlQ3JpdGljYWxTZWN0aW9uKCZI
YW5kbGUtPkNyaXRpY2FsU2VjdGlvbik7CiAgICAgfQogCiAgICAgQ2xvc2VIYW5kbGUoRGV2aWNl
KTsKIAogICAgIENsb3NlSGFuZGxlKE92ZXJsYXBwZWQuaEV2ZW50KTsKIAotICAgIExvZygiPD09
PT0iKTsKKyAgICBMb2coIjw9PT09ICVocyIsIEhhbmRsZS0+TmFtZSk7CiAKICAgICByZXR1cm4g
MDsKIApAQCAtODE3LDIwNSArNzMzLDM0IEBAIGZhaWwxOgogICAgIFB1dFN0cmluZygoX0hhbmRs
ZSksIChQVUNIQVIpVEVYVChfQnVmZmVyKSwgKERXT1JEKV90Y3NsZW4oKF9CdWZmZXIpKSAqIHNp
emVvZihUQ0hBUikpCiAKIHN0YXRpYyBWT0lECi1Nb25pdG9yQWRkKAotICAgIFZPSUQKLSAgICAp
Ci17Ci0gICAgUE1PTklUT1JfQ09OVEVYVCAgICAgICAgQ29udGV4dCA9ICZNb25pdG9yQ29udGV4
dDsKLSAgICBQVENIQVIgICAgICAgICAgICAgICAgICBQYXRoOwotICAgIERFVl9CUk9BRENBU1Rf
SEFORExFICAgIEhhbmRsZTsKLSAgICBIUkVTVUxUICAgICAgICAgICAgICAgICBFcnJvcjsKLSAg
ICBCT09MICAgICAgICAgICAgICAgICAgICBTdWNjZXNzOwotCi0gICAgaWYgKENvbnRleHQtPkRl
dmljZSAhPSBJTlZBTElEX0hBTkRMRV9WQUxVRSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgTG9n
KCI9PT09PiIpOwotCi0gICAgU3VjY2VzcyA9IE1vbml0b3JHZXRQYXRoKCZHVUlEX1hFTkNPTlNf
REVWSUNFLCAmUGF0aCk7Ci0KLSAgICBpZiAoIVN1Y2Nlc3MpCi0gICAgICAgIGdvdG8gZmFpbDE7
Ci0KLSAgICBDb250ZXh0LT5EZXZpY2UgPSBDcmVhdGVGaWxlKFBhdGgsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBHRU5FUklDX1dSSVRFLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgRklMRV9TSEFSRV9SRUFEIHwgRklMRV9TSEFSRV9XUklURSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBPUEVOX0VYSVNUSU5HLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RklMRV9BVFRSSUJVVEVfTk9STUFMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TlVMTCk7Ci0KLSAgICBpZiAoQ29udGV4dC0+RGV2aWNlID09IElOVkFMSURfSEFORExFX1ZBTFVF
KQotICAgICAgICBnb3RvIGZhaWwyOwotCi0gICAgRUNITyhDb250ZXh0LT5EZXZpY2UsICJcclxu
W0FUVEFDSEVEXVxyXG4iKTsKLQotICAgIFplcm9NZW1vcnkoJkhhbmRsZSwgc2l6ZW9mIChIYW5k
bGUpKTsKLSAgICBIYW5kbGUuZGJjaF9zaXplID0gc2l6ZW9mIChIYW5kbGUpOwotICAgIEhhbmRs
ZS5kYmNoX2RldmljZXR5cGUgPSBEQlRfREVWVFlQX0hBTkRMRTsKLSAgICBIYW5kbGUuZGJjaF9o
YW5kbGUgPSBDb250ZXh0LT5EZXZpY2U7Ci0KLSAgICBDb250ZXh0LT5EZXZpY2VOb3RpZmljYXRp
b24gPQotICAgICAgICBSZWdpc3RlckRldmljZU5vdGlmaWNhdGlvbihDb250ZXh0LT5TZXJ2aWNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmSGFuZGxlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBERVZJQ0VfTk9USUZZX1NFUlZJQ0VfSEFORExFKTsK
LSAgICBpZiAoQ29udGV4dC0+RGV2aWNlTm90aWZpY2F0aW9uID09IE5VTEwpCi0gICAgICAgIGdv
dG8gZmFpbDM7Ci0KLSAgICBDb250ZXh0LT5EZXZpY2VQYXRoID0gUGF0aDsKLSAgICBfX0luaXRp
YWxpemVMaXN0SGVhZCgmQ29udGV4dC0+TGlzdEhlYWQpOwotICAgIEluaXRpYWxpemVDcml0aWNh
bFNlY3Rpb24oJkNvbnRleHQtPkNyaXRpY2FsU2VjdGlvbik7Ci0KLSAgICBDb250ZXh0LT5Nb25p
dG9yRXZlbnQgPSBDcmVhdGVFdmVudChOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFRSVUUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRkFMU0UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7
Ci0KLSAgICBpZiAoQ29udGV4dC0+TW9uaXRvckV2ZW50ID09IE5VTEwpCi0gICAgICAgIGdvdG8g
ZmFpbDQ7Ci0KLSAgICBDb250ZXh0LT5Nb25pdG9yVGhyZWFkID0gQ3JlYXRlVGhyZWFkKE5VTEws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uaXRvclRocmVhZCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgTlVMTCk7Ci0KLSAgICBpZiAoQ29udGV4dC0+TW9uaXRvclRocmVhZCA9
PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkKLSAgICAgICAgZ290byBmYWlsNTsKLQotICAgIENvbnRl
eHQtPkRldmljZUV2ZW50ID0gQ3JlYXRlRXZlbnQoTlVMTCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFRSVUUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBGQUxTRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5V
TEwpOwotCi0gICAgaWYgKENvbnRleHQtPkRldmljZUV2ZW50ID09IE5VTEwpCi0gICAgICAgIGdv
dG8gZmFpbDY7Ci0KLSAgICBDb250ZXh0LT5EZXZpY2VUaHJlYWQgPSBDcmVhdGVUaHJlYWQoTlVM
TCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlVGhyZWFkLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBOVUxMKTsKLQotICAgIGlmIChDb250ZXh0LT5EZXZpY2VUaHJlYWQgPT0gSU5W
QUxJRF9IQU5ETEVfVkFMVUUpCi0gICAgICAgIGdvdG8gZmFpbDc7Ci0KLSAgICBDb250ZXh0LT5T
ZXJ2ZXJFdmVudCA9IENyZWF0ZUV2ZW50KE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBUUlVFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRkFMU0UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsK
LSAgICBpZiAoQ29udGV4dC0+U2VydmVyRXZlbnQgPT0gTlVMTCkKLSAgICAgICAgZ290byBmYWls
ODsKLQotICAgIENvbnRleHQtPlNlcnZlclRocmVhZCA9IENyZWF0ZVRocmVhZChOVUxMLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTZXJ2ZXJUaHJlYWQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE5VTEwpOwotICAgIGlmIChDb250ZXh0LT5TZXJ2ZXJUaHJlYWQgPT0gSU5WQUxJRF9IQU5E
TEVfVkFMVUUpCi0gICAgICAgIGdvdG8gZmFpbDk7Ci0KLSAgICBMb2coIjw9PT09Iik7Ci0KLSAg
ICByZXR1cm47Ci0KLWZhaWw5OgotICAgIExvZygiZmFpbDkiKTsKLQotICAgIENsb3NlSGFuZGxl
KENvbnRleHQtPlNlcnZlckV2ZW50KTsKLSAgICBDb250ZXh0LT5TZXJ2ZXJFdmVudCA9IE5VTEw7
Ci0KLWZhaWw4OgotICAgIExvZygiZmFpbDgiKTsKLQotICAgIFNldEV2ZW50KENvbnRleHQtPkRl
dmljZUV2ZW50KTsKLSAgICBXYWl0Rm9yU2luZ2xlT2JqZWN0KENvbnRleHQtPkRldmljZVRocmVh
ZCwgSU5GSU5JVEUpOwotCi1mYWlsNzoKLSAgICBMb2coImZhaWw3XG4iKTsKLQotICAgIENsb3Nl
SGFuZGxlKENvbnRleHQtPkRldmljZUV2ZW50KTsKLSAgICBDb250ZXh0LT5EZXZpY2VFdmVudCA9
IE5VTEw7Ci0KLWZhaWw2OgotICAgIExvZygiZmFpbDZcbiIpOwotCi0gICAgU2V0RXZlbnQoQ29u
dGV4dC0+TW9uaXRvclRocmVhZCk7Ci0gICAgV2FpdEZvclNpbmdsZU9iamVjdChDb250ZXh0LT5N
b25pdG9yVGhyZWFkLCBJTkZJTklURSk7Ci0KLWZhaWw1OgotICAgIExvZygiZmFpbDUiKTsKLQot
ICAgIENsb3NlSGFuZGxlKENvbnRleHQtPk1vbml0b3JFdmVudCk7Ci0gICAgQ29udGV4dC0+TW9u
aXRvckV2ZW50ID0gTlVMTDsKLQotZmFpbDQ6Ci0gICAgTG9nKCJmYWlsNCIpOwotCi0gICAgRGVs
ZXRlQ3JpdGljYWxTZWN0aW9uKCZDb250ZXh0LT5Dcml0aWNhbFNlY3Rpb24pOwotICAgIFplcm9N
ZW1vcnkoJkNvbnRleHQtPkxpc3RIZWFkLCBzaXplb2YoTElTVF9FTlRSWSkpOwotCi0gICAgZnJl
ZShDb250ZXh0LT5EZXZpY2VQYXRoKTsKLSAgICBDb250ZXh0LT5EZXZpY2VQYXRoID0gTlVMTDsK
LQotICAgIFVucmVnaXN0ZXJEZXZpY2VOb3RpZmljYXRpb24oQ29udGV4dC0+RGV2aWNlTm90aWZp
Y2F0aW9uKTsKLSAgICBDb250ZXh0LT5EZXZpY2VOb3RpZmljYXRpb24gPSBOVUxMOwotCi1mYWls
MzoKLSAgICBMb2coImZhaWwzIik7Ci0KLSAgICBDbG9zZUhhbmRsZShDb250ZXh0LT5EZXZpY2Up
OwotICAgIENvbnRleHQtPkRldmljZSA9IElOVkFMSURfSEFORExFX1ZBTFVFOwotCi1mYWlsMjoK
LSAgICBMb2coImZhaWwyIik7Ci0KLSAgICBmcmVlKFBhdGgpOwotCi1mYWlsMToKLSAgICBFcnJv
ciA9IEdldExhc3RFcnJvcigpOwotCi0gICAgewotICAgICAgICBQVENIQVIgIE1lc3NhZ2U7Ci0g
ICAgICAgIE1lc3NhZ2UgPSBHZXRFcnJvck1lc3NhZ2UoRXJyb3IpOwotICAgICAgICBMb2coImZh
aWwxICglcykiLCBNZXNzYWdlKTsKLSAgICAgICAgTG9jYWxGcmVlKE1lc3NhZ2UpOwotICAgIH0K
LX0KLQotc3RhdGljIFZPSUQKIE1vbml0b3JXYWl0Rm9yUGlwZVRocmVhZHMoCi0gICAgVk9JRAor
ICAgIElOICBQTU9OSVRPUl9IQU5ETEUgSGFuZGxlCiAgICAgKQogewotICAgIFBNT05JVE9SX0NP
TlRFWFQgICAgQ29udGV4dCA9ICZNb25pdG9yQ29udGV4dDsKICAgICBIQU5ETEUgICAgICAgICAg
ICAgICpIYW5kbGVzOwogICAgIERXT1JEICAgICAgICAgICAgICAgSW5kZXg7CiAgICAgUExJU1Rf
RU5UUlkgICAgICAgICBMaXN0RW50cnk7CiAKLSAgICBFbnRlckNyaXRpY2FsU2VjdGlvbigmQ29u
dGV4dC0+Q3JpdGljYWxTZWN0aW9uKTsKKyAgICBFbnRlckNyaXRpY2FsU2VjdGlvbigmSGFuZGxl
LT5Dcml0aWNhbFNlY3Rpb24pOwogCi0gICAgaWYgKENvbnRleHQtPkxpc3RDb3VudCA9PSAwKQor
ICAgIGlmIChIYW5kbGUtPkxpc3RDb3VudCA9PSAwKQogICAgICAgICBnb3RvIGZhaWwxOwogCi0g
ICAgSGFuZGxlcyA9IChIQU5ETEUqKW1hbGxvYyhzaXplb2YoSEFORExFKSAqIENvbnRleHQtPkxp
c3RDb3VudCk7CisgICAgSGFuZGxlcyA9IChIQU5ETEUqKW1hbGxvYyhzaXplb2YoSEFORExFKSAq
IEhhbmRsZS0+TGlzdENvdW50KTsKICAgICBpZiAoSGFuZGxlcyA9PSBOVUxMKQogICAgICAgICBn
b3RvIGZhaWwyOwogCiAgICAgSW5kZXggPSAwOwotICAgIGZvciAoTGlzdEVudHJ5ID0gQ29udGV4
dC0+TGlzdEhlYWQuRmxpbms7Ci0gICAgICAgICBMaXN0RW50cnkgIT0gJkNvbnRleHQtPkxpc3RI
ZWFkICYmIEluZGV4IDwgQ29udGV4dC0+TGlzdENvdW50OworICAgIGZvciAoTGlzdEVudHJ5ID0g
SGFuZGxlLT5MaXN0SGVhZC5GbGluazsKKyAgICAgICAgIExpc3RFbnRyeSAhPSAmSGFuZGxlLT5M
aXN0SGVhZCAmJiBJbmRleCA8IEhhbmRsZS0+TGlzdENvdW50OwogICAgICAgICAgTGlzdEVudHJ5
ID0gTGlzdEVudHJ5LT5GbGluaykgewogICAgICAgICBQTU9OSVRPUl9QSVBFIFBpcGUgPSBDT05U
QUlOSU5HX1JFQ09SRChMaXN0RW50cnksIE1PTklUT1JfUElQRSwgTGlzdEVudHJ5KTsKICAgICAg
ICAgSGFuZGxlc1tJbmRleCsrXSA9IFBpcGUtPlRocmVhZDsKICAgICB9CiAKLSAgICBDb250ZXh0
LT5MaXN0Q291bnQgPSAwOworICAgIEhhbmRsZS0+TGlzdENvdW50ID0gMDsKIAotICAgIExlYXZl
Q3JpdGljYWxTZWN0aW9uKCZDb250ZXh0LT5Dcml0aWNhbFNlY3Rpb24pOworICAgIExlYXZlQ3Jp
dGljYWxTZWN0aW9uKCZIYW5kbGUtPkNyaXRpY2FsU2VjdGlvbik7CiAKICNwcmFnbWEgd2Fybmlu
ZyhzdXBwcmVzczo2Mzg1KSAvLyBSZWFkaW5nIGludmFsaWQgZGF0YSBmcm9tICdIYW5kbGVzJy4u
LgogICAgIFdhaXRGb3JNdWx0aXBsZU9iamVjdHMoSW5kZXgsCkBAIC0xMDMxLDU1ICs3NzYsNTY3
IEBAIGZhaWwyOgogZmFpbDE6CiAgICAgTG9nKCJmYWlsMSIpOwogCi0gICAgTGVhdmVDcml0aWNh
bFNlY3Rpb24oJkNvbnRleHQtPkNyaXRpY2FsU2VjdGlvbik7CisgICAgTGVhdmVDcml0aWNhbFNl
Y3Rpb24oJkhhbmRsZS0+Q3JpdGljYWxTZWN0aW9uKTsKIAogICAgIHJldHVybjsKIH0KIAotc3Rh
dGljIFZPSUQKLU1vbml0b3JSZW1vdmUoCi0gICAgVk9JRAotICAgICkKK3N0YXRpYyBCT09MCitH
ZXRFeGVjdXRhYmxlKAorICAgIElOICBQQ0hBUiAgICAgICAgICAgTmFtZSwKKyAgICBPVVQgUFRD
SEFSICAgICAgICAgICpFeGVjdXRhYmxlCisgICAgKQogewogICAgIFBNT05JVE9SX0NPTlRFWFQg
ICAgQ29udGV4dCA9ICZNb25pdG9yQ29udGV4dDsKKyAgICBEV09SRCAgICAgICAgICAgICAgIE1h
eFZhbHVlTGVuZ3RoOworICAgIERXT1JEICAgICAgICAgICAgICAgRXhlY3V0YWJsZUxlbmd0aDsK
KyAgICBIS0VZICAgICAgICAgICAgICAgIEtleTsKKyAgICBEV09SRCAgICAgICAgICAgICAgIFR5
cGU7CisgICAgSFJFU1VMVCAgICAgICAgICAgICBFcnJvcjsKKworCisgICAgRXJyb3IgPSBSZWdP
cGVuS2V5RXhBKENvbnRleHQtPlBhcmFtZXRlcnNLZXksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAg
ICAgICAgIEtFWV9SRUFELAorICAgICAgICAgICAgICAgICAgICAgICAgICZLZXkpOworICAgIGlm
IChFcnJvciAhPSBFUlJPUl9TVUNDRVNTKSB7CisgICAgICAgIFNldExhc3RFcnJvcihFcnJvcik7
CisgICAgICAgIGdvdG8gZmFpbDE7CisgICAgfQorCisgICAgRXJyb3IgPSBSZWdRdWVyeUluZm9L
ZXkoS2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM
TCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmTWF4VmFsdWVMZW5ndGgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBO
VUxMKTsKKyAgICBpZiAoRXJyb3IgIT0gRVJST1JfU1VDQ0VTUykgeworICAgICAgICBTZXRMYXN0
RXJyb3IoRXJyb3IpOworICAgICAgICBnb3RvIGZhaWwyOworICAgIH0KKworICAgIEV4ZWN1dGFi
bGVMZW5ndGggPSBNYXhWYWx1ZUxlbmd0aCArIHNpemVvZiAoVENIQVIpOworCisgICAgKkV4ZWN1
dGFibGUgPSBjYWxsb2MoMSwgRXhlY3V0YWJsZUxlbmd0aCk7CisgICAgaWYgKEV4ZWN1dGFibGUg
PT0gTlVMTCkKKyAgICAgICAgZ290byBmYWlsMzsKKworICAgIEVycm9yID0gUmVnUXVlcnlWYWx1
ZUV4KEtleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBURVhUKCJFeGVjdXRhYmxlIiks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoTFBCWVRFKSgqRXhl
Y3V0YWJsZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkV4ZWN1dGFibGVMZW5ndGgp
OworICAgIGlmIChFcnJvciAhPSBFUlJPUl9TVUNDRVNTKSB7CisgICAgICAgIFNldExhc3RFcnJv
cihFcnJvcik7CisgICAgICAgIGdvdG8gZmFpbDQ7CisgICAgfQorCisgICAgaWYgKFR5cGUgIT0g
UkVHX1NaKSB7CisgICAgICAgIFNldExhc3RFcnJvcihFUlJPUl9CQURfRk9STUFUKTsKKyAgICAg
ICAgZ290byBmYWlsNTsKKyAgICB9CisKKyAgICBSZWdDbG9zZUtleShLZXkpOworCisgICAgcmV0
dXJuIFRSVUU7CisKK2ZhaWw1OgorICAgIExvZygiZmFpbDUiKTsKIAotICAgIGlmIChDb250ZXh0
LT5EZXZpY2UgPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpCitmYWlsNDoKKyAgICBMb2coImZhaWw0
Iik7CisKKyAgICBmcmVlKCpFeGVjdXRhYmxlKTsKKworZmFpbDM6CisgICAgTG9nKCJmYWlsMyIp
OworCitmYWlsMjoKKyAgICBMb2coImZhaWwyIik7CisKKyAgICBSZWdDbG9zZUtleShLZXkpOwor
CitmYWlsMToKKyAgICBFcnJvciA9IEdldExhc3RFcnJvcigpOworCisgICAgeworICAgICAgICBQ
VENIQVIgIE1lc3NhZ2U7CisgICAgICAgIE1lc3NhZ2UgPSBHZXRFcnJvck1lc3NhZ2UoRXJyb3Ip
OworICAgICAgICBMb2coImZhaWwxICglcykiLCBNZXNzYWdlKTsKKyAgICAgICAgTG9jYWxGcmVl
KE1lc3NhZ2UpOworICAgIH0KKworICAgIHJldHVybiBGQUxTRTsKK30KKworc3RhdGljIEJPT0wK
K01vbml0b3JDcmVhdGVIYW5kbGUoCisgICAgSU4gIFBUQ0hBUiAgICAgICAgICAgICAgRGV2aWNl
UGF0aCwKKyAgICBPVVQgUE1PTklUT1JfSEFORExFICAgICAqSGFuZGxlCisgICAgKQoreworICAg
IFBNT05JVE9SX0NPTlRFWFQgICAgICAgIENvbnRleHQgPSAmTW9uaXRvckNvbnRleHQ7CisgICAg
REVWX0JST0FEQ0FTVF9IQU5ETEUgICAgTm90aWZpY2F0aW9uOworICAgIENIQVIgICAgICAgICAg
ICAgICAgICAgIE5hbWVbTUFYX1BBVEhdOworICAgIERXT1JEICAgICAgICAgICAgICAgICAgIEJ5
dGVzOworICAgIEhSRVNVTFQgICAgICAgICAgICAgICAgIEVycm9yOworICAgIEJPT0wgICAgICAg
ICAgICAgICAgICAgIFN1Y2Nlc3M7CisKKyAgICBMb2coIj09PT0+ICVzIiwgRGV2aWNlUGF0aCk7
CisKKyAgICAqSGFuZGxlID0gbWFsbG9jKHNpemVvZihNT05JVE9SX0hBTkRMRSkpOworICAgIGlm
ICgqSGFuZGxlID09IE5VTEwpCisgICAgICAgIGdvdG8gZmFpbDE7CisKKyAgICAoKkhhbmRsZSkt
PkRldmljZVBhdGggPSBfd2NzZHVwKERldmljZVBhdGgpOworICAgIGlmICgoKkhhbmRsZSktPkRl
dmljZVBhdGggPT0gTlVMTCkKKyAgICAgICAgZ290byBmYWlsMjsKKworICAgICgqSGFuZGxlKS0+
RGV2aWNlID0gQ3JlYXRlRmlsZShEZXZpY2VQYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBHRU5FUklDX1JFQUQgfCBHRU5FUklDX1dSSVRFLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBGSUxFX1NIQVJFX1JFQUQgfCBGSUxFX1NIQVJFX1dSSVRFLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBPUEVOX0VYSVNUSU5HLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG
SUxFX0FUVFJJQlVURV9OT1JNQUwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5V
TEwpOworCisgICAgaWYgKCgqSGFuZGxlKS0+RGV2aWNlID09IElOVkFMSURfSEFORExFX1ZBTFVF
KQorICAgICAgICBnb3RvIGZhaWwzOworCisgICAgRUNITygoKkhhbmRsZSktPkRldmljZSwgIlxy
XG5bQVRUQUNIRURdXHJcbiIpOworCisgICAgWmVyb01lbW9yeSgmTm90aWZpY2F0aW9uLCBzaXpl
b2YoTm90aWZpY2F0aW9uKSk7CisgICAgTm90aWZpY2F0aW9uLmRiY2hfc2l6ZSA9IHNpemVvZihO
b3RpZmljYXRpb24pOworICAgIE5vdGlmaWNhdGlvbi5kYmNoX2RldmljZXR5cGUgPSBEQlRfREVW
VFlQX0hBTkRMRTsKKyAgICBOb3RpZmljYXRpb24uZGJjaF9oYW5kbGUgPSAoKkhhbmRsZSktPkRl
dmljZTsKKworICAgICgqSGFuZGxlKS0+RGV2aWNlTm90aWZpY2F0aW9uID0KKyAgICAgICAgUmVn
aXN0ZXJEZXZpY2VOb3RpZmljYXRpb24oQ29udGV4dC0+U2VydmljZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJk5vdGlmaWNhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgREVWSUNFX05PVElGWV9TRVJWSUNFX0hBTkRMRSk7CisgICAgaWYgKCgq
SGFuZGxlKS0+RGV2aWNlTm90aWZpY2F0aW9uID09IE5VTEwpCisgICAgICAgIGdvdG8gZmFpbDQ7
CisKKyAgICBtZW1zZXQoTmFtZSwgMCwgc2l6ZW9mKE5hbWUpKTsKKyAgICBTdWNjZXNzID0gRGV2
aWNlSW9Db250cm9sKCgqSGFuZGxlKS0+RGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgSU9DVExfWEVOQ09OU19HRVRfTkFNRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNp
emVvZihOYW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZCeXRlcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgIGlmICghU3VjY2VzcykKKyAgICAg
ICAgZ290byBmYWlsNTsKKworICAgIExvZygiTmFtZSA9ICVocyIsIE5hbWUpOworCisgICAgKCpI
YW5kbGUpLT5OYW1lID0gX3N0cmR1cChOYW1lKTsKKyAgICBpZiAoKCpIYW5kbGUpLT5OYW1lID09
IE5VTEwpCisgICAgICAgIGdvdG8gZmFpbDY7CisKKyAgICBTdWNjZXNzID0gR2V0RXhlY3V0YWJs
ZSgoKkhhbmRsZSktPk5hbWUsICYoKkhhbmRsZSktPkV4ZWN1dGFibGUpOworICAgIGlmICghU3Vj
Y2VzcykKKyAgICAgICAgKCpIYW5kbGUpLT5FeGVjdXRhYmxlID0gTlVMTDsKKworICAgIExvZygi
RXhlY3V0YWJsZSA9ICVzIiwgKCpIYW5kbGUpLT5FeGVjdXRhYmxlKTsKKworICAgIF9fSW5pdGlh
bGl6ZUxpc3RIZWFkKCYoKkhhbmRsZSktPkxpc3RIZWFkKTsKKyAgICBJbml0aWFsaXplQ3JpdGlj
YWxTZWN0aW9uKCYoKkhhbmRsZSktPkNyaXRpY2FsU2VjdGlvbik7CisKKyAgICAoKkhhbmRsZSkt
PkRldmljZUV2ZW50ID0gQ3JlYXRlRXZlbnQoTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgVFJVRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRkFMU0UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwor
CisgICAgaWYgKCgqSGFuZGxlKS0+RGV2aWNlRXZlbnQgPT0gTlVMTCkKKyAgICAgICAgZ290byBm
YWlsNzsKKworICAgICgqSGFuZGxlKS0+RGV2aWNlVGhyZWFkID0gQ3JlYXRlVGhyZWFkKE5VTEws
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2VUaHJlYWQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKkhhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE5VTEwpOworCisgICAgaWYgKCgqSGFuZGxlKS0+RGV2aWNlVGhyZWFkID09IE5VTEwp
CisgICAgICAgIGdvdG8gZmFpbDg7CisKKyAgICAoKkhhbmRsZSktPlNlcnZlckV2ZW50ID0gQ3Jl
YXRlRXZlbnQoTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJV
RSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgIGlmICgoKkhhbmRsZSkt
PlNlcnZlckV2ZW50ID09IE5VTEwpCisgICAgICAgIGdvdG8gZmFpbDk7CisKKyAgICAoKkhhbmRs
ZSktPlNlcnZlclRocmVhZCA9IENyZWF0ZVRocmVhZChOVUxMLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU2VydmVyVGhyZWFkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICpIYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICBp
ZiAoKCpIYW5kbGUpLT5TZXJ2ZXJUaHJlYWQgPT0gTlVMTCkKKyAgICAgICAgZ290byBmYWlsMTA7
CisKKyAgICAoKkhhbmRsZSktPk1vbml0b3JFdmVudCA9IENyZWF0ZUV2ZW50KE5VTEwsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKworICAgIGlmICgoKkhhbmRsZSktPk1vbml0
b3JFdmVudCA9PSBOVUxMKQorICAgICAgICBnb3RvIGZhaWwxMTsKKworICAgICgqSGFuZGxlKS0+
TW9uaXRvclRocmVhZCA9IENyZWF0ZVRocmVhZChOVUxMLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBNb25pdG9yVGhyZWFkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAqSGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBOVUxMKTsKKworICAgIGlmICgoKkhhbmRsZSktPk1vbml0b3JUaHJlYWQgPT0gTlVMTCkK
KyAgICAgICAgZ290byBmYWlsMTI7CisKKyAgICBMb2coIjw9PT09IDB4JXAiLCAoUFZPSUQpKCpI
YW5kbGUpLT5EZXZpY2UpOworCisgICAgcmV0dXJuIFRSVUU7CisKK2ZhaWwxMjoKKyAgICBMb2co
ImZhaWwxMiIpOworCisgICAgQ2xvc2VIYW5kbGUoKCpIYW5kbGUpLT5Nb25pdG9yRXZlbnQpOwor
ICAgICgqSGFuZGxlKS0+TW9uaXRvckV2ZW50ID0gTlVMTDsKKworZmFpbDExOgorICAgIExvZygi
ZmFpbDExIik7CisKKyAgICBTZXRFdmVudCgoKkhhbmRsZSktPlNlcnZlckV2ZW50KTsKKyAgICBX
YWl0Rm9yU2luZ2xlT2JqZWN0KCgqSGFuZGxlKS0+U2VydmVyVGhyZWFkLCBJTkZJTklURSk7CisK
K2ZhaWwxMDoKKyAgICBMb2coImZhaWwxMCIpOworCisgICAgQ2xvc2VIYW5kbGUoKCpIYW5kbGUp
LT5TZXJ2ZXJFdmVudCk7CisgICAgKCpIYW5kbGUpLT5TZXJ2ZXJFdmVudCA9IE5VTEw7CisKK2Zh
aWw5OgorICAgIExvZygiZmFpbDkiKTsKKworICAgIFNldEV2ZW50KCgqSGFuZGxlKS0+RGV2aWNl
RXZlbnQpOworICAgIFdhaXRGb3JTaW5nbGVPYmplY3QoKCpIYW5kbGUpLT5EZXZpY2VUaHJlYWQs
IElORklOSVRFKTsKKworZmFpbDg6CisgICAgTG9nKCJmYWlsOFxuIik7CisKKyAgICBDbG9zZUhh
bmRsZSgoKkhhbmRsZSktPkRldmljZUV2ZW50KTsKKyAgICAoKkhhbmRsZSktPkRldmljZUV2ZW50
ID0gTlVMTDsKKworZmFpbDc6CisgICAgTG9nKCJmYWlsNyIpOworCisgICAgRGVsZXRlQ3JpdGlj
YWxTZWN0aW9uKCYoKkhhbmRsZSktPkNyaXRpY2FsU2VjdGlvbik7CisgICAgWmVyb01lbW9yeSgm
KCpIYW5kbGUpLT5MaXN0SGVhZCwgc2l6ZW9mKExJU1RfRU5UUlkpKTsKKworICAgIGZyZWUoKCpI
YW5kbGUpLT5FeGVjdXRhYmxlKTsKKyAgICAoKkhhbmRsZSktPkV4ZWN1dGFibGUgPSBOVUxMOwor
CisgICAgZnJlZSgoKkhhbmRsZSktPk5hbWUpOworICAgICgqSGFuZGxlKS0+TmFtZSA9IE5VTEw7
CisKK2ZhaWw2OgorICAgIExvZygiZmFpbDYiKTsKKworZmFpbDU6CisgICAgTG9nKCJmYWlsNSIp
OworCisgICAgVW5yZWdpc3RlckRldmljZU5vdGlmaWNhdGlvbigoKkhhbmRsZSktPkRldmljZU5v
dGlmaWNhdGlvbik7CisgICAgKCpIYW5kbGUpLT5EZXZpY2VOb3RpZmljYXRpb24gPSBOVUxMOwor
CisgICAgRUNITygoKkhhbmRsZSktPkRldmljZSwgIlxyXG5bREVUQUNIRURdXHJcbiIpOworCitm
YWlsNDoKKyAgICBMb2coImZhaWw0Iik7CisKKyAgICBDbG9zZUhhbmRsZSgoKkhhbmRsZSktPkRl
dmljZSk7CisgICAgKCpIYW5kbGUpLT5EZXZpY2UgPSBJTlZBTElEX0hBTkRMRV9WQUxVRTsKKwor
ZmFpbDM6CisgICAgTG9nKCJmYWlsMyIpOworCisgICAgZnJlZSgoKkhhbmRsZSktPkRldmljZVBh
dGgpOworICAgICgqSGFuZGxlKS0+RGV2aWNlUGF0aCA9IE5VTEw7CisKK2ZhaWwyOgorICAgIExv
ZygiZmFpbDIiKTsKKworICAgIGZyZWUoKkhhbmRsZSk7CisgICAgKkhhbmRsZSA9IE5VTEw7CisK
K2ZhaWwxOgorICAgIEVycm9yID0gR2V0TGFzdEVycm9yKCk7CisKKyAgICB7CisgICAgICAgIFBU
Q0hBUiAgTWVzc2FnZTsKKyAgICAgICAgTWVzc2FnZSA9IEdldEVycm9yTWVzc2FnZShFcnJvcik7
CisgICAgICAgIExvZygiZmFpbDEgKCVzKSIsIE1lc3NhZ2UpOworICAgICAgICBMb2NhbEZyZWUo
TWVzc2FnZSk7CisgICAgfQorCisgICAgcmV0dXJuIEZBTFNFOworfQorCitzdGF0aWMgVk9JRAor
TW9uaXRvckRlbGV0ZUhhbmRsZSgKKyAgICBJTiAgUE1PTklUT1JfSEFORExFIEhhbmRsZQorICAg
ICkKK3sKKyAgICBMb2coIj09PT0+ICVzIiwgSGFuZGxlLT5EZXZpY2VQYXRoKTsKKworICAgIFNl
dEV2ZW50KEhhbmRsZS0+TW9uaXRvckV2ZW50KTsKKyAgICBXYWl0Rm9yU2luZ2xlT2JqZWN0KEhh
bmRsZS0+TW9uaXRvclRocmVhZCwgSU5GSU5JVEUpOworCisgICAgQ2xvc2VIYW5kbGUoSGFuZGxl
LT5Nb25pdG9yRXZlbnQpOworICAgIEhhbmRsZS0+TW9uaXRvckV2ZW50ID0gTlVMTDsKKworICAg
IFNldEV2ZW50KEhhbmRsZS0+U2VydmVyRXZlbnQpOworICAgIE1vbml0b3JXYWl0Rm9yUGlwZVRo
cmVhZHMoSGFuZGxlKTsKKyAgICBXYWl0Rm9yU2luZ2xlT2JqZWN0KEhhbmRsZS0+U2VydmVyVGhy
ZWFkLCBJTkZJTklURSk7CisKKyAgICBDbG9zZUhhbmRsZShIYW5kbGUtPlNlcnZlckV2ZW50KTsK
KyAgICBIYW5kbGUtPlNlcnZlckV2ZW50ID0gTlVMTDsKKworICAgIFNldEV2ZW50KEhhbmRsZS0+
RGV2aWNlRXZlbnQpOworICAgIFdhaXRGb3JTaW5nbGVPYmplY3QoSGFuZGxlLT5EZXZpY2VUaHJl
YWQsIElORklOSVRFKTsKKworICAgIENsb3NlSGFuZGxlKEhhbmRsZS0+RGV2aWNlRXZlbnQpOwor
ICAgIEhhbmRsZS0+RGV2aWNlRXZlbnQgPSBOVUxMOworCisgICAgRGVsZXRlQ3JpdGljYWxTZWN0
aW9uKCZIYW5kbGUtPkNyaXRpY2FsU2VjdGlvbik7CisgICAgWmVyb01lbW9yeSgmSGFuZGxlLT5M
aXN0SGVhZCwgc2l6ZW9mKExJU1RfRU5UUlkpKTsKKworICAgIGZyZWUoSGFuZGxlLT5FeGVjdXRh
YmxlKTsKKyAgICBIYW5kbGUtPkV4ZWN1dGFibGUgPSBOVUxMOworCisgICAgZnJlZShIYW5kbGUt
Pk5hbWUpOworICAgIEhhbmRsZS0+TmFtZSA9IE5VTEw7CisKKyAgICBmcmVlKEhhbmRsZS0+RGV2
aWNlUGF0aCk7CisgICAgSGFuZGxlLT5EZXZpY2VQYXRoID0gTlVMTDsKKworICAgIFVucmVnaXN0
ZXJEZXZpY2VOb3RpZmljYXRpb24oSGFuZGxlLT5EZXZpY2VOb3RpZmljYXRpb24pOworICAgIEhh
bmRsZS0+RGV2aWNlTm90aWZpY2F0aW9uID0gTlVMTDsKKworICAgIEVDSE8oSGFuZGxlLT5EZXZp
Y2UsICJcclxuW0RFVEFDSEVEXVxyXG4iKTsKKworICAgIENsb3NlSGFuZGxlKEhhbmRsZS0+RGV2
aWNlKTsKKyAgICBIYW5kbGUtPkRldmljZSA9IElOVkFMSURfSEFORExFX1ZBTFVFOworCisgICAg
ZnJlZShIYW5kbGUpOworCisgICAgTG9nKCI8PT09PSIpOworfQorCitzdGF0aWMgVk9JRAorTW9u
aXRvckFkZCgKKyAgICBJTiAgUFRDSEFSICAgICAgICAgICAgICBEZXZpY2VQYXRoCisgICAgKQor
eworICAgIFBNT05JVE9SX0NPTlRFWFQgICAgQ29udGV4dCA9ICZNb25pdG9yQ29udGV4dDsKKyAg
ICBQTU9OSVRPUl9IQU5ETEUgICAgIEhhbmRsZTsKKyAgICBCT09MICAgICAgICAgICAgICAgIFN1
Y2Nlc3M7CisKKyAgICBMb2coIj09PT0+ICVzIiwgRGV2aWNlUGF0aCk7CisKKyAgICBTdWNjZXNz
ID0gTW9uaXRvckNyZWF0ZUhhbmRsZShEZXZpY2VQYXRoLCAmSGFuZGxlKTsKKyAgICBpZiAoIVN1
Y2Nlc3MpCisgICAgICAgIGdvdG8gZmFpbDE7CisKKyAgICBFbnRlckNyaXRpY2FsU2VjdGlvbigm
Q29udGV4dC0+Q3JpdGljYWxTZWN0aW9uKTsKKyAgICBfX0luc2VydFRhaWxMaXN0KCZDb250ZXh0
LT5MaXN0SGVhZCwgJkhhbmRsZS0+TGlzdEVudHJ5KTsKKyAgICArK0NvbnRleHQtPkxpc3RDb3Vu
dDsKKyAgICBMZWF2ZUNyaXRpY2FsU2VjdGlvbigmQ29udGV4dC0+Q3JpdGljYWxTZWN0aW9uKTsK
KworICAgIExvZygiPD09PT0iKTsKKworICAgIHJldHVybjsKKworZmFpbDE6CisgICAgTG9nKCJm
YWlsMSIpOworCisgICAgcmV0dXJuOworfQorCitzdGF0aWMgVk9JRAorTW9uaXRvclJlbW92ZSgK
KyAgICBJTiAgSEFORExFICAgICAgICAgIERldmljZQorICAgICkKK3sKKyAgICBQTU9OSVRPUl9D
T05URVhUICAgIENvbnRleHQgPSAmTW9uaXRvckNvbnRleHQ7CisgICAgUE1PTklUT1JfSEFORExF
ICAgICBIYW5kbGU7CisgICAgUExJU1RfRU5UUlkgICAgICAgICBMaXN0RW50cnk7CisKKyAgICBM
b2coIj09PT0+IDB4JXAiLCAoUFZPSUQpRGV2aWNlKTsKKworICAgIEVudGVyQ3JpdGljYWxTZWN0
aW9uKCZDb250ZXh0LT5Dcml0aWNhbFNlY3Rpb24pOworICAgIGZvciAoTGlzdEVudHJ5ID0gQ29u
dGV4dC0+TGlzdEhlYWQuRmxpbms7CisgICAgICAgICBMaXN0RW50cnkgIT0gJkNvbnRleHQtPkxp
c3RIZWFkOworICAgICAgICAgTGlzdEVudHJ5ID0gTGlzdEVudHJ5LT5GbGluaykgeworICAgICAg
ICBIYW5kbGUgPSBDT05UQUlOSU5HX1JFQ09SRChMaXN0RW50cnksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIE1PTklUT1JfSEFORExFLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBMaXN0RW50cnkpOworCisgICAgICAgIGlmIChIYW5kbGUtPkRldmljZSAh
PSBEZXZpY2UpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBMZWF2ZUNyaXRpY2Fs
U2VjdGlvbigmQ29udGV4dC0+Q3JpdGljYWxTZWN0aW9uKTsKKworICAgICAgICBNb25pdG9yRGVs
ZXRlSGFuZGxlKEhhbmRsZSk7CisKKyAgICAgICAgTG9nKCI8PT09PSIpOwogICAgICAgICByZXR1
cm47CisgICAgfQorICAgIExlYXZlQ3JpdGljYWxTZWN0aW9uKCZDb250ZXh0LT5Dcml0aWNhbFNl
Y3Rpb24pOworCisgICAgTG9nKCI8PT09PSIpOworfQorCitzdGF0aWMgQk9PTAorTW9uaXRvckVu
dW1lcmF0ZSgKKyAgICBWT0lECisgICAgKQoreworICAgIEhERVZJTkZPICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIERldmljZUluZm9TZXQ7CisgICAgU1BfREVWSUNFX0lOVEVSRkFDRV9EQVRB
ICAgICAgICAgICAgRGV2aWNlSW50ZXJmYWNlRGF0YTsKKyAgICBQU1BfREVWSUNFX0lOVEVSRkFD
RV9ERVRBSUxfREFUQSAgICBEZXZpY2VJbnRlcmZhY2VEZXRhaWw7CisgICAgRFdPUkQgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgU2l6ZTsKKyAgICBEV09SRCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBJbmRleDsKKyAgICBIUkVTVUxUICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBFcnJvcjsKKyAgICBCT09MICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdWNj
ZXNzOwogCiAgICAgTG9nKCI9PT09PiIpOwogCi0gICAgU2V0RXZlbnQoQ29udGV4dC0+U2VydmVy
RXZlbnQpOwotICAgIE1vbml0b3JXYWl0Rm9yUGlwZVRocmVhZHMoKTsKLSAgICBXYWl0Rm9yU2lu
Z2xlT2JqZWN0KENvbnRleHQtPlNlcnZlclRocmVhZCwgSU5GSU5JVEUpOworICAgIERldmljZUlu
Zm9TZXQgPSBTZXR1cERpR2V0Q2xhc3NEZXZzKCZHVUlEX1hFTkNPTlNfREVWSUNFLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBESUdDRl9QUkVTRU5UIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBESUdDRl9ERVZJQ0VJTlRFUkZBQ0UpOworICAgIGlmIChEZXZpY2VJbmZv
U2V0ID09IElOVkFMSURfSEFORExFX1ZBTFVFKQorICAgICAgICBnb3RvIGZhaWwxOwogCi0gICAg
Q2xvc2VIYW5kbGUoQ29udGV4dC0+U2VydmVyRXZlbnQpOwotICAgIENvbnRleHQtPlNlcnZlckV2
ZW50ID0gTlVMTDsKKyAgICBmb3IgKEluZGV4ID0gMDsgVFJVRTsgKytJbmRleCkgeworICAgICAg
ICBEZXZpY2VJbnRlcmZhY2VEYXRhLmNiU2l6ZSA9IHNpemVvZihTUF9ERVZJQ0VfSU5URVJGQUNF
X0RBVEEpOwogCi0gICAgU2V0RXZlbnQoQ29udGV4dC0+RGV2aWNlRXZlbnQpOwotICAgIFdhaXRG
b3JTaW5nbGVPYmplY3QoQ29udGV4dC0+RGV2aWNlVGhyZWFkLCBJTkZJTklURSk7CisgICAgICAg
IFN1Y2Nlc3MgPSBTZXR1cERpRW51bURldmljZUludGVyZmFjZXMoRGV2aWNlSW5mb1NldCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZHVUlEX1hFTkNPTlNfREVW
SUNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZEZXZpY2VJ
bnRlcmZhY2VEYXRhKTsKKyAgICAgICAgaWYgKCFTdWNjZXNzKQorICAgICAgICAgICAgYnJlYWs7
CiAKLSAgICBDbG9zZUhhbmRsZShDb250ZXh0LT5EZXZpY2VFdmVudCk7Ci0gICAgQ29udGV4dC0+
RGV2aWNlRXZlbnQgPSBOVUxMOworICAgICAgICBTdWNjZXNzID0gU2V0dXBEaUdldERldmljZUlu
dGVyZmFjZURldGFpbChEZXZpY2VJbmZvU2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmRGV2aWNlSW50ZXJmYWNlRGF0YSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlNpemUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICBpZiAo
IVN1Y2Nlc3MgJiYgR2V0TGFzdEVycm9yKCkgIT0gRVJST1JfSU5TVUZGSUNJRU5UX0JVRkZFUikK
KyAgICAgICAgICAgIGdvdG8gZmFpbDI7CiAKLSAgICBTZXRFdmVudChDb250ZXh0LT5Nb25pdG9y
RXZlbnQpOwotICAgIFdhaXRGb3JTaW5nbGVPYmplY3QoQ29udGV4dC0+TW9uaXRvclRocmVhZCwg
SU5GSU5JVEUpOworICAgICAgICBEZXZpY2VJbnRlcmZhY2VEZXRhaWwgPSBjYWxsb2MoMSwgU2l6
ZSk7CisgICAgICAgIGlmIChEZXZpY2VJbnRlcmZhY2VEZXRhaWwgPT0gTlVMTCkKKyAgICAgICAg
ICAgIGdvdG8gZmFpbDM7CiAKLSAgICBDbG9zZUhhbmRsZShDb250ZXh0LT5Nb25pdG9yRXZlbnQp
OwotICAgIENvbnRleHQtPk1vbml0b3JFdmVudCA9IE5VTEw7CisgICAgICAgIERldmljZUludGVy
ZmFjZURldGFpbC0+Y2JTaXplID0KKyAgICAgICAgICAgIHNpemVvZihTUF9ERVZJQ0VfSU5URVJG
QUNFX0RFVEFJTF9EQVRBKTsKIAotICAgIERlbGV0ZUNyaXRpY2FsU2VjdGlvbigmQ29udGV4dC0+
Q3JpdGljYWxTZWN0aW9uKTsKLSAgICBaZXJvTWVtb3J5KCZDb250ZXh0LT5MaXN0SGVhZCwgc2l6
ZW9mKExJU1RfRU5UUlkpKTsKKyAgICAgICAgU3VjY2VzcyA9IFNldHVwRGlHZXREZXZpY2VJbnRl
cmZhY2VEZXRhaWwoRGV2aWNlSW5mb1NldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJkRldmljZUludGVyZmFjZURhdGEsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmljZUludGVyZmFjZURldGFp
bCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2l6
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM
TCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM
TCk7CisgICAgICAgIGlmICghU3VjY2VzcykKKyAgICAgICAgICAgIGdvdG8gZmFpbDQ7CiAKLSAg
ICBmcmVlKENvbnRleHQtPkRldmljZVBhdGgpOwotICAgIENvbnRleHQtPkRldmljZVBhdGggPSBO
VUxMOworICAgICAgICBNb25pdG9yQWRkKERldmljZUludGVyZmFjZURldGFpbC0+RGV2aWNlUGF0
aCk7CiAKLSAgICBVbnJlZ2lzdGVyRGV2aWNlTm90aWZpY2F0aW9uKENvbnRleHQtPkRldmljZU5v
dGlmaWNhdGlvbik7Ci0gICAgQ29udGV4dC0+RGV2aWNlTm90aWZpY2F0aW9uID0gTlVMTDsKKyAg
ICAgICAgZnJlZShEZXZpY2VJbnRlcmZhY2VEZXRhaWwpOworICAgICAgICBjb250aW51ZTsKIAot
ICAgIEVDSE8oQ29udGV4dC0+RGV2aWNlLCAiXHJcbltERVRBQ0hFRF1cclxuIik7CitmYWlsNDoK
KyAgICAgICAgTG9nKCJmYWlsNCIpOwogCi0gICAgQ2xvc2VIYW5kbGUoQ29udGV4dC0+RGV2aWNl
KTsKLSAgICBDb250ZXh0LT5EZXZpY2UgPSBJTlZBTElEX0hBTkRMRV9WQUxVRTsKKyAgICAgICAg
ZnJlZShEZXZpY2VJbnRlcmZhY2VEZXRhaWwpOworCitmYWlsMzoKKyAgICAgICAgTG9nKCJmYWls
MyIpOworCitmYWlsMjoKKyAgICAgICAgTG9nKCJmYWlsMiIpOworCisgICAgICAgIFNldHVwRGlE
ZXN0cm95RGV2aWNlSW5mb0xpc3QoRGV2aWNlSW5mb1NldCk7CisKKyAgICAgICAgZ290byBmYWls
MTsKKyAgICB9CisKKyAgICBTZXR1cERpRGVzdHJveURldmljZUluZm9MaXN0KERldmljZUluZm9T
ZXQpOworCisgICAgTG9nKCI8PT09PSIpOworCisgICAgcmV0dXJuIFRSVUU7CisKK2ZhaWwxOgor
ICAgIEVycm9yID0gR2V0TGFzdEVycm9yKCk7CisKKyAgICB7CisgICAgICAgIFBUQ0hBUiAgTWVz
c2FnZTsKKyAgICAgICAgTWVzc2FnZSA9IEdldEVycm9yTWVzc2FnZShFcnJvcik7CisgICAgICAg
IExvZygiZmFpbDEgKCVzKSIsIE1lc3NhZ2UpOworICAgICAgICBMb2NhbEZyZWUoTWVzc2FnZSk7
CisgICAgfQorCisgICAgcmV0dXJuIEZBTFNFOworfQorCitzdGF0aWMgVk9JRAorTW9uaXRvclJl
bW92ZUFsbCgKKyAgICBWT0lECisgICAgKQoreworICAgIFBNT05JVE9SX0NPTlRFWFQgICAgQ29u
dGV4dCA9ICZNb25pdG9yQ29udGV4dDsKKyAgICBQTU9OSVRPUl9IQU5ETEUgICAgIEhhbmRsZTsK
KyAgICBQTElTVF9FTlRSWSAgICAgICAgIExpc3RFbnRyeTsKKworICAgIExvZygiPT09PT4iKTsK
KworICAgIEVudGVyQ3JpdGljYWxTZWN0aW9uKCZDb250ZXh0LT5Dcml0aWNhbFNlY3Rpb24pOwor
ICAgIGZvciAoOzspIHsKKyAgICAgICAgTGlzdEVudHJ5ID0gQ29udGV4dC0+TGlzdEhlYWQuRmxp
bms7CisgICAgICAgIGlmIChMaXN0RW50cnkgPT0gJkNvbnRleHQtPkxpc3RIZWFkKQorICAgICAg
ICAgICAgYnJlYWs7CisKKyAgICAgICAgX19SZW1vdmVFbnRyeUxpc3QoTGlzdEVudHJ5KTsKKwor
ICAgICAgICBMZWF2ZUNyaXRpY2FsU2VjdGlvbigmQ29udGV4dC0+Q3JpdGljYWxTZWN0aW9uKTsK
KworICAgICAgICBIYW5kbGUgPSBDT05UQUlOSU5HX1JFQ09SRChMaXN0RW50cnksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1PTklUT1JfSEFORExFLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBMaXN0RW50cnkpOworCisKKyAgICAgICAgTW9uaXRvckRl
bGV0ZUhhbmRsZShIYW5kbGUpOworCisgICAgICAgIEVudGVyQ3JpdGljYWxTZWN0aW9uKCZDb250
ZXh0LT5Dcml0aWNhbFNlY3Rpb24pOworICAgIH0KKyAgICBMZWF2ZUNyaXRpY2FsU2VjdGlvbigm
Q29udGV4dC0+Q3JpdGljYWxTZWN0aW9uKTsKIAogICAgIExvZygiPD09PT0iKTsKIH0KQEAgLTEx
MTYsOCArMTM3Myw4IEBAIE1vbml0b3JDdHJsSGFuZGxlckV4KAogICAgICAgICAgICAgICAgIFBE
RVZfQlJPQURDQVNUX0RFVklDRUlOVEVSRkFDRSAgSW50ZXJmYWNlID0gRXZlbnREYXRhOwogCiAg
ICAgICAgICAgICAgICAgaWYgKElzRXF1YWxHVUlEKCZJbnRlcmZhY2UtPmRiY2NfY2xhc3NndWlk
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZHVUlEX1hFTkNPTlNfREVWSUNFKSkK
LSAgICAgICAgICAgICAgICAgICAgU2V0RXZlbnQoQ29udGV4dC0+QWRkRXZlbnQpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmR1VJRF9YRU5DT05TX0RFVklDRSkpCisgICAgICAg
ICAgICAgICAgICAgIE1vbml0b3JBZGQoSW50ZXJmYWNlLT5kYmNjX25hbWUpOwogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTExMjcsOCArMTM4NCw3IEBAIE1vbml0b3JD
dHJsSGFuZGxlckV4KAogICAgICAgICAgICAgaWYgKEhlYWRlci0+ZGJjaF9kZXZpY2V0eXBlID09
IERCVF9ERVZUWVBfSEFORExFKSB7CiAgICAgICAgICAgICAgICAgUERFVl9CUk9BRENBU1RfSEFO
RExFIERldmljZSA9IEV2ZW50RGF0YTsKIAotICAgICAgICAgICAgICAgIGlmIChEZXZpY2UtPmRi
Y2hfaGFuZGxlID09IENvbnRleHQtPkRldmljZSkKLSAgICAgICAgICAgICAgICAgICAgU2V0RXZl
bnQoQ29udGV4dC0+UmVtb3ZlRXZlbnQpOworICAgICAgICAgICAgICAgIE1vbml0b3JSZW1vdmUo
RGV2aWNlLT5kYmNoX2hhbmRsZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQpAQCAtMTE0Myw4NCArMTM5OSw2IEBAIE1vbml0b3JDdHJsSGFuZGxlckV4KAog
ICAgIHJldHVybiBFUlJPUl9DQUxMX05PVF9JTVBMRU1FTlRFRDsKIH0KIAotc3RhdGljIEJPT0wK
LUdldEV4ZWN1dGFibGUoCi0gICAgT1VUIFBUQ0hBUiAgICAgICAgICAqRXhlY3V0YWJsZQotICAg
ICkKLXsKLSAgICBQTU9OSVRPUl9DT05URVhUICAgIENvbnRleHQgPSAmTW9uaXRvckNvbnRleHQ7
Ci0gICAgRFdPUkQgICAgICAgICAgICAgICBNYXhWYWx1ZUxlbmd0aDsKLSAgICBEV09SRCAgICAg
ICAgICAgICAgIEV4ZWN1dGFibGVMZW5ndGg7Ci0gICAgRFdPUkQgICAgICAgICAgICAgICBUeXBl
OwotICAgIEhSRVNVTFQgICAgICAgICAgICAgRXJyb3I7Ci0KLSAgICBFcnJvciA9IFJlZ1F1ZXJ5
SW5mb0tleShDb250ZXh0LT5QYXJhbWV0ZXJzS2V5LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
TWF4VmFsdWVMZW5ndGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKLSAgICBpZiAoRXJyb3IgIT0gRVJST1JfU1VD
Q0VTUykgewotICAgICAgICBTZXRMYXN0RXJyb3IoRXJyb3IpOwotICAgICAgICBnb3RvIGZhaWwx
OwotICAgIH0KLQotICAgIEV4ZWN1dGFibGVMZW5ndGggPSBNYXhWYWx1ZUxlbmd0aCArIHNpemVv
ZiAoVENIQVIpOwotCi0gICAgKkV4ZWN1dGFibGUgPSBjYWxsb2MoMSwgRXhlY3V0YWJsZUxlbmd0
aCk7Ci0gICAgaWYgKEV4ZWN1dGFibGUgPT0gTlVMTCkKLSAgICAgICAgZ290byBmYWlsMjsKLQot
ICAgIEVycm9yID0gUmVnUXVlcnlWYWx1ZUV4KENvbnRleHQtPlBhcmFtZXRlcnNLZXksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIkV4ZWN1dGFibGUiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJlR5cGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKExQQllURSkoKkV4ZWN1dGFibGUpLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZFeGVjdXRhYmxlTGVuZ3RoKTsKLSAgICBpZiAoRXJyb3IgIT0g
RVJST1JfU1VDQ0VTUykgewotICAgICAgICBTZXRMYXN0RXJyb3IoRXJyb3IpOwotICAgICAgICBn
b3RvIGZhaWwzOwotICAgIH0KLQotICAgIGlmIChUeXBlICE9IFJFR19TWikgewotICAgICAgICBT
ZXRMYXN0RXJyb3IoRVJST1JfQkFEX0ZPUk1BVCk7Ci0gICAgICAgIGdvdG8gZmFpbDQ7Ci0gICAg
fQotCi0gICAgTG9nKCIlcyIsICpFeGVjdXRhYmxlKTsKLQotICAgIHJldHVybiBUUlVFOwotCi1m
YWlsNDoKLSAgICBMb2coImZhaWw0Iik7Ci0KLWZhaWwzOgotICAgIExvZygiZmFpbDMiKTsKLQot
ICAgIGZyZWUoKkV4ZWN1dGFibGUpOwotCi1mYWlsMjoKLSAgICBMb2coImZhaWwyIik7Ci0KLWZh
aWwxOgotICAgIEVycm9yID0gR2V0TGFzdEVycm9yKCk7Ci0KLSAgICB7Ci0gICAgICAgIFBUQ0hB
UiAgTWVzc2FnZTsKLSAgICAgICAgTWVzc2FnZSA9IEdldEVycm9yTWVzc2FnZShFcnJvcik7Ci0g
ICAgICAgIExvZygiZmFpbDEgKCVzKSIsIE1lc3NhZ2UpOwotICAgICAgICBMb2NhbEZyZWUoTWVz
c2FnZSk7Ci0gICAgfQotCi0gICAgcmV0dXJuIEZBTFNFOwotfQotCiBWT0lEIFdJTkFQSQogTW9u
aXRvck1haW4oCiAgICAgX0luXyAgICBEV09SRCAgICAgICAgICAgICAgICAgICBhcmdjLApAQCAt
MTIzMCwyOSArMTQwOCwzMSBAQCBNb25pdG9yTWFpbigKICAgICBQTU9OSVRPUl9DT05URVhUICAg
ICAgICAgICAgICAgIENvbnRleHQgPSAmTW9uaXRvckNvbnRleHQ7CiAgICAgREVWX0JST0FEQ0FT
VF9ERVZJQ0VJTlRFUkZBQ0UgICBJbnRlcmZhY2U7CiAgICAgSFJFU1VMVCAgICAgICAgICAgICAg
ICAgICAgICAgICBFcnJvcjsKLSAgICBCT09MICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1
Y2Nlc3M7CiAKICAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKGFyZ2MpOwogICAgIFVOUkVGRVJF
TkNFRF9QQVJBTUVURVIoYXJndik7CiAKICAgICBMb2coIj09PT0+Iik7CiAKKyAgICBfX0luaXRp
YWxpemVMaXN0SGVhZCgmQ29udGV4dC0+TGlzdEhlYWQpOworICAgIEluaXRpYWxpemVDcml0aWNh
bFNlY3Rpb24oJkNvbnRleHQtPkNyaXRpY2FsU2VjdGlvbik7CisKICAgICBFcnJvciA9IFJlZ09w
ZW5LZXlFeChIS0VZX0xPQ0FMX01BQ0hJTkUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgUEFS
QU1FVEVSU19LRVkoX19NT0RVTEVfXyksCisgICAgICAgICAgICAgICAgICAgICAgICAgVEVYVChQ
QVJBTUVURVJTX0tFWShfX01PRFVMRV9fKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgMCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICBLRVlfUkVBRCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAmQ29udGV4dC0+UGFyYW1ldGVyc0tleSk7CiAgICAgaWYgKEVycm9yICE9IEVSUk9SX1NV
Q0NFU1MpCiAgICAgICAgIGdvdG8gZmFpbDE7CiAKLSAgICBDb250ZXh0LT5TZXJ2aWNlID0gUmVn
aXN0ZXJTZXJ2aWNlQ3RybEhhbmRsZXJFeChNT05JVE9SX05BTUUsCisgICAgQ29udGV4dC0+U2Vy
dmljZSA9IFJlZ2lzdGVyU2VydmljZUN0cmxIYW5kbGVyRXgoVEVYVChNT05JVE9SX05BTUUpLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1vbml0
b3JDdHJsSGFuZGxlckV4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIE5VTEwpOwogICAgIGlmIChDb250ZXh0LT5TZXJ2aWNlID09IE5VTEwpCiAg
ICAgICAgIGdvdG8gZmFpbDI7CiAKICAgICBDb250ZXh0LT5FdmVudExvZyA9IFJlZ2lzdGVyRXZl
bnRTb3VyY2UoTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTU9OSVRPUl9OQU1FKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgVEVYVChNT05JVE9SX05BTUUpKTsKICAgICBpZiAoQ29udGV4dC0+RXZlbnRMb2cgPT0g
TlVMTCkKICAgICAgICAgZ290byBmYWlsMzsKIApAQCAtMTI2OSwyOCArMTQ0OSw2IEBAIE1vbml0
b3JNYWluKAogICAgIGlmIChDb250ZXh0LT5TdG9wRXZlbnQgPT0gTlVMTCkKICAgICAgICAgZ290
byBmYWlsNDsKIAotICAgIENvbnRleHQtPkFkZEV2ZW50ID0gQ3JlYXRlRXZlbnQoTlVMTCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBGQUxTRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE5VTEwpOwotCi0gICAgaWYgKENvbnRleHQtPkFkZEV2ZW50ID09IE5VTEwpCi0gICAg
ICAgIGdvdG8gZmFpbDU7Ci0KLSAgICBDb250ZXh0LT5SZW1vdmVFdmVudCA9IENyZWF0ZUV2ZW50
KE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKLQotICAgIGlmIChDb250ZXh0LT5SZW1v
dmVFdmVudCA9PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWw2OwotCi0gICAgU3VjY2VzcyA9IEdl
dEV4ZWN1dGFibGUoJkNvbnRleHQtPkV4ZWN1dGFibGUpOwotICAgIGlmICghU3VjY2VzcykKLSAg
ICAgICAgQ29udGV4dC0+RXhlY3V0YWJsZSA9IE5VTEw7Ci0KLSAgICBDb250ZXh0LT5EZXZpY2Ug
PSBJTlZBTElEX0hBTkRMRV9WQUxVRTsKLQogICAgIFplcm9NZW1vcnkoJkludGVyZmFjZSwgc2l6
ZW9mIChJbnRlcmZhY2UpKTsKICAgICBJbnRlcmZhY2UuZGJjY19zaXplID0gc2l6ZW9mIChJbnRl
cmZhY2UpOwogICAgIEludGVyZmFjZS5kYmNjX2RldmljZXR5cGUgPSBEQlRfREVWVFlQX0RFVklD
RUlOVEVSRkFDRTsKQEAgLTEzMDEsNjQgKzE0NTksMjEgQEAgTW9uaXRvck1haW4oCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIERFVklDRV9OT1RJRllfU0VSVklDRV9IQU5ETEUpOwogICAgIGlm
IChDb250ZXh0LT5JbnRlcmZhY2VOb3RpZmljYXRpb24gPT0gTlVMTCkKLSAgICAgICAgZ290byBm
YWlsNzsKKyAgICAgICAgZ290byBmYWlsNTsKIAogICAgIC8vIFRoZSBkZXZpY2UgbWF5IGFscmVh
ZHkgYnkgcHJlc2VudAotICAgIFNldEV2ZW50KENvbnRleHQtPkFkZEV2ZW50KTsKKyAgICBNb25p
dG9yRW51bWVyYXRlKCk7CiAKICAgICBSZXBvcnRTdGF0dXMoU0VSVklDRV9SVU5OSU5HLCBOT19F
UlJPUiwgMCk7CiAKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIEhBTkRMRSAgRXZlbnRzWzNdOwot
ICAgICAgICBEV09SRCAgIE9iamVjdDsKLQotICAgICAgICBFdmVudHNbMF0gPSBDb250ZXh0LT5T
dG9wRXZlbnQ7Ci0gICAgICAgIEV2ZW50c1sxXSA9IENvbnRleHQtPkFkZEV2ZW50OwotICAgICAg
ICBFdmVudHNbMl0gPSBDb250ZXh0LT5SZW1vdmVFdmVudDsKKyAgICAvLyB3YWl0IHVudGlsIHNl
cnZpY2UgaXMgc2h1dCBkb3duCisgICAgV2FpdEZvclNpbmdsZU9iamVjdChDb250ZXh0LT5TdG9w
RXZlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICBJTkZJTklURSk7CiAKLSAgICAgICAgTG9n
KCJ3YWl0aW5nICgldSkuLi4iLCBBUlJBWVNJWkUoRXZlbnRzKSk7Ci0gICAgICAgIE9iamVjdCA9
IFdhaXRGb3JNdWx0aXBsZU9iamVjdHMoQVJSQVlTSVpFKEV2ZW50cyksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRXZlbnRzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEZBTFNFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIElORklOSVRFKTsKLSAgICAgICAgTG9nKCJhd2FrZSIpOwotCi0jZGVmaW5lIFdB
SVRfT0JKRUNUXzEgKFdBSVRfT0JKRUNUXzAgKyAxKQotI2RlZmluZSBXQUlUX09CSkVDVF8yIChX
QUlUX09CSkVDVF8wICsgMikKLQotICAgICAgICBzd2l0Y2ggKE9iamVjdCkgewotICAgICAgICBj
YXNlIFdBSVRfT0JKRUNUXzA6Ci0gICAgICAgICAgICBSZXNldEV2ZW50KENvbnRleHQtPlN0b3BF
dmVudCk7Ci0gICAgICAgICAgICBnb3RvIGRvbmU7Ci0KLSAgICAgICAgY2FzZSBXQUlUX09CSkVD
VF8xOgotICAgICAgICAgICAgUmVzZXRFdmVudChDb250ZXh0LT5BZGRFdmVudCk7Ci0gICAgICAg
ICAgICBNb25pdG9yQWRkKCk7Ci0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICBjYXNlIFdB
SVRfT0JKRUNUXzI6Ci0gICAgICAgICAgICBSZXNldEV2ZW50KENvbnRleHQtPlJlbW92ZUV2ZW50
KTsKLSAgICAgICAgICAgIE1vbml0b3JSZW1vdmUoKTsKLQotICAgICAgICBkZWZhdWx0OgotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQotI3VuZGVmIFdBSVRfT0JKRUNUXzEKLSN1bmRl
ZiBXQUlUX09CSkVDVF8yCi0gICAgfQotCi1kb25lOgotICAgIE1vbml0b3JSZW1vdmUoKTsKKyAg
ICBNb25pdG9yUmVtb3ZlQWxsKCk7CiAKICAgICBVbnJlZ2lzdGVyRGV2aWNlTm90aWZpY2F0aW9u
KENvbnRleHQtPkludGVyZmFjZU5vdGlmaWNhdGlvbik7CiAKLSAgICBmcmVlKENvbnRleHQtPkV4
ZWN1dGFibGUpOwotCi0gICAgQ2xvc2VIYW5kbGUoQ29udGV4dC0+UmVtb3ZlRXZlbnQpOwotCi0g
ICAgQ2xvc2VIYW5kbGUoQ29udGV4dC0+QWRkRXZlbnQpOwotCiAgICAgQ2xvc2VIYW5kbGUoQ29u
dGV4dC0+U3RvcEV2ZW50KTsKIAogICAgIFJlcG9ydFN0YXR1cyhTRVJWSUNFX1NUT1BQRUQsIE5P
X0VSUk9SLCAwKTsKQEAgLTEzNjcsMjAgKzE0ODIsMTMgQEAgZG9uZToKIAogICAgIENsb3NlSGFu
ZGxlKENvbnRleHQtPlBhcmFtZXRlcnNLZXkpOwogCisgICAgRGVsZXRlQ3JpdGljYWxTZWN0aW9u
KCZDb250ZXh0LT5Dcml0aWNhbFNlY3Rpb24pOworICAgIFplcm9NZW1vcnkoJkNvbnRleHQtPkxp
c3RIZWFkLCBzaXplb2YoTElTVF9FTlRSWSkpOworCiAgICAgTG9nKCI8PT09PSIpOwogCiAgICAg
cmV0dXJuOwogCi1mYWlsNzoKLSAgICBMb2coImZhaWw3Iik7Ci0KLSAgICBDbG9zZUhhbmRsZShD
b250ZXh0LT5SZW1vdmVFdmVudCk7Ci0KLWZhaWw2OgotICAgIExvZygiZmFpbDYiKTsKLQotICAg
IENsb3NlSGFuZGxlKENvbnRleHQtPkFkZEV2ZW50KTsKLQogZmFpbDU6CiAgICAgTG9nKCJmYWls
NSIpOwogCkBAIC0xNDA0LDYgKzE1MTIsOSBAQCBmYWlsMjoKIGZhaWwxOgogICAgIEVycm9yID0g
R2V0TGFzdEVycm9yKCk7CiAKKyAgICBEZWxldGVDcml0aWNhbFNlY3Rpb24oJkNvbnRleHQtPkNy
aXRpY2FsU2VjdGlvbik7CisgICAgWmVyb01lbW9yeSgmQ29udGV4dC0+TGlzdEhlYWQsIHNpemVv
ZihMSVNUX0VOVFJZKSk7CisKICAgICB7CiAgICAgICAgIFBUQ0hBUiAgTWVzc2FnZTsKICAgICAg
ICAgTWVzc2FnZSA9IEdldEVycm9yTWVzc2FnZShFcnJvcik7CkBAIC0xNDM1LDggKzE1NDYsOCBA
QCBNb25pdG9yQ3JlYXRlKAogICAgICAgICBnb3RvIGZhaWwyOwogCiAgICAgU2VydmljZSA9IENy
ZWF0ZVNlcnZpY2UoU0NNYW5hZ2VyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1PTklU
T1JfTkFNRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBNT05JVE9SX0RJU1BMQVlOQU1F
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRFWFQoTU9OSVRPUl9OQU1FKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBURVhUKE1PTklUT1JfRElTUExBWU5BTUUpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFNFUlZJQ0VfQUxMX0FDQ0VTUywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTRVJWSUNFX1dJTjMyX09XTl9QUk9DRVNTLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFNFUlZJQ0VfQVVUT19TVEFSVCwKQEAgLTE1MDAsNyArMTYxMSw3IEBAIE1v
bml0b3JEZWxldGUoCiAgICAgICAgIGdvdG8gZmFpbDE7CiAKICAgICBTZXJ2aWNlID0gT3BlblNl
cnZpY2UoU0NNYW5hZ2VyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBNT05JVE9SX05BTUUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgIFRFWFQoTU9OSVRPUl9OQU1FKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU0VSVklDRV9BTExfQUNDRVNTKTsKIAogICAgIGlmIChTZXJ2aWNl
ID09IE5VTEwpCkBAIC0xNTU3LDIxICsxNjY4LDIxIEBAIE1vbml0b3JFbnRyeSgKICAgICApCiB7
CiAgICAgU0VSVklDRV9UQUJMRV9FTlRSWSBUYWJsZVtdID0gewotICAgICAgICB7IE1PTklUT1Jf
TkFNRSwgTW9uaXRvck1haW4gfSwKKyAgICAgICAgeyBURVhUKE1PTklUT1JfTkFNRSksIE1vbml0
b3JNYWluIH0sCiAgICAgICAgIHsgTlVMTCwgTlVMTCB9CiAgICAgfTsKICAgICBIUkVTVUxUICAg
ICAgICAgICAgIEVycm9yOwogCiAgICAgTG9nKCIlcyAoJXMpID09PT0+IiwKLSAgICAgICAgTUFK
T1JfVkVSU0lPTl9TVFIgIi4iIE1JTk9SX1ZFUlNJT05fU1RSICIuIiBNSUNST19WRVJTSU9OX1NU
UiAiLiIgQlVJTERfTlVNQkVSX1NUUiwKLSAgICAgICAgREFZX1NUUiAiLyIgTU9OVEhfU1RSICIv
IiBZRUFSX1NUUik7CisgICAgICAgIFRFWFQoTUFKT1JfVkVSU0lPTl9TVFIgIi4iIE1JTk9SX1ZF
UlNJT05fU1RSICIuIiBNSUNST19WRVJTSU9OX1NUUiAiLiIgQlVJTERfTlVNQkVSX1NUUiksCisg
ICAgICAgIFRFWFQoREFZX1NUUiAiLyIgTU9OVEhfU1RSICIvIiBZRUFSX1NUUikpOwogCiAgICAg
aWYgKCFTdGFydFNlcnZpY2VDdHJsRGlzcGF0Y2hlcihUYWJsZSkpCiAgICAgICAgIGdvdG8gZmFp
bDE7CiAKICAgICBMb2coIiVzICglcykgPD09PT0iLAotICAgICAgICBNQUpPUl9WRVJTSU9OX1NU
UiAiLiIgTUlOT1JfVkVSU0lPTl9TVFIgIi4iIE1JQ1JPX1ZFUlNJT05fU1RSICIuIiBCVUlMRF9O
VU1CRVJfU1RSLAotICAgICAgICBEQVlfU1RSICIvIiBNT05USF9TVFIgIi8iIFlFQVJfU1RSKTsK
KyAgICAgICAgVEVYVChNQUpPUl9WRVJTSU9OX1NUUiAiLiIgTUlOT1JfVkVSU0lPTl9TVFIgIi4i
IE1JQ1JPX1ZFUlNJT05fU1RSICIuIiBCVUlMRF9OVU1CRVJfU1RSKSwKKyAgICAgICAgVEVYVChE
QVlfU1RSICIvIiBNT05USF9TVFIgIi8iIFlFQVJfU1RSKSk7CiAKICAgICByZXR1cm4gVFJVRTsK
IApAQCAtMTYwMyw5ICsxNzE0LDkgQEAgX3RXaW5NYWluKAogICAgIFVOUkVGRVJFTkNFRF9QQVJB
TUVURVIoQ21kU2hvdyk7CiAKICAgICBpZiAoX3Rjc2xlbihDbWRMaW5lKSAhPSAwKSB7Ci0gICAg
ICAgICBpZiAoX3Rjc2ljbXAoQ21kTGluZSwgVEVYVCgiY3JlYXRlIikpID09IDApCisgICAgICAg
ICBpZiAoX3N0cmljbXAoQ21kTGluZSwgImNyZWF0ZSIpID09IDApCiAgICAgICAgICAgICAgU3Vj
Y2VzcyA9IE1vbml0b3JDcmVhdGUoKTsKLSAgICAgICAgIGVsc2UgaWYgKF90Y3NpY21wKENtZExp
bmUsIFRFWFQoImRlbGV0ZSIpKSA9PSAwKQorICAgICAgICAgZWxzZSBpZiAoX3N0cmljbXAoQ21k
TGluZSwgImRlbGV0ZSIpID09IDApCiAgICAgICAgICAgICAgU3VjY2VzcyA9IE1vbml0b3JEZWxl
dGUoKTsKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICBTdWNjZXNzID0gRkFMU0U7CmRpZmYg
LS1naXQgYS9zcmMvdHR5L3R0eS5jIGIvc3JjL3R0eS90dHkuYwppbmRleCA5NGQ0ZjY1Li4wZWQ1
OTllIDEwMDY0NAotLS0gYS9zcmMvdHR5L3R0eS5jCisrKyBiL3NyYy90dHkvdHR5LmMKQEAgLTM5
LDcgKzM5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX1RUWV9TVFJFQU0gewogICAgIEhBTkRMRSAgV3Jp
dGU7CiB9IFRUWV9TVFJFQU0sICpQVFRZX1NUUkVBTTsKIAotI2RlZmluZSBQSVBFX05BTUUgVEVY
VCgiXFxcXC5cXHBpcGVcXHhlbmNvbnMiKQorI2RlZmluZSBQSVBFX05BTUUgVEVYVCgiXFxcXC5c
XHBpcGVcXHhlbmNvbnNcXGRlZmF1bHQiKQogI2RlZmluZSBNQVhJTVVNX0JVRkZFUl9TSVpFIDEw
MjQKIAogdHlwZWRlZiBzdHJ1Y3QgX1RUWV9DT05URVhUIHsKZGlmZiAtLWdpdCBhL3NyYy94ZW5j
b25zLmluZiBiL3NyYy94ZW5jb25zLmluZgppbmRleCAzY2JkZDk2Li4zN2JjNjI4IDEwMDY0NAot
LS0gYS9zcmMveGVuY29ucy5pbmYKKysrIGIvc3JjL3hlbmNvbnMuaW5mCkBAIC0xMTMsNyArMTEz
LDcgQEAgQWRkUmVnID0gTW9uaXRvcl9QYXJhbWV0ZXJzCiAKIFtNb25pdG9yX1BhcmFtZXRlcnNd
CiBIS1IsIlBhcmFtZXRlcnMiLCwweDAwMDAwMDEwCi1IS1IsIlBhcmFtZXRlcnMiLCJFeGVjdXRh
YmxlIiwweDAwMDAwMDAwLCJ4ZW5jb25zX3R0eV9ATUFKT1JfVkVSU0lPTkBfQE1JTk9SX1ZFUlNJ
T05AX0BNSUNST19WRVJTSU9OQF9AQlVJTERfTlVNQkVSQC5leGUiCitIS1IsIlBhcmFtZXRlcnNc
ZGVmYXVsdCIsIkV4ZWN1dGFibGUiLDB4MDAwMDAwMDAsInhlbmNvbnNfdHR5X0BNQUpPUl9WRVJT
SU9OQF9ATUlOT1JfVkVSU0lPTkBfQE1JQ1JPX1ZFUlNJT05AX0BCVUlMRF9OVU1CRVJALmV4ZSIK
IAogW01vbml0b3JfRXZlbnRMb2ddCiBBZGRSZWc9TW9uaXRvcl9FdmVudExvZ19BZGRSZWcKLS0g
CjIuOC4zCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
d2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1k
ZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 14:08:00 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 14:08:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeLia-0006jT-He; Wed, 24 Jan 2018 14:08:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cbgo=et=citrix.com=prvs=555590473=owen.smith@srs-us1.protection.inumbo.net>)
 id 1eeLiZ-0006iY-NW
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 14:07:59 +0000
X-Inumbo-ID: bd34696c-010f-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id bd34696c-010f-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 14:06:14 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,407,1511827200"; d="scan'208";a="459468926"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 24 Jan 2018 14:05:01 +0000
Message-ID: <20180124140515.12284-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 00/14] Add support for secondary consoles
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKQWRkaXRpb25hbCBQViBj
b25zb2xlcyBjYW4gYmUgZGVmaW5lZC4gVGhpcyBzZXJpZXMgd2lsbCBhbGxvdyB0aGUgeGVuY29u
cwpkcml2ZXIgdG8gZW51bWVyYXRlIGFuZCBleHBvc2UgYWRkaXRpb25hbCBjb25zb2xlcy4gVGhl
IHByaW1hcnkgY29uc29sZSBpcwp1c2VkIGFzIGEgY29uc29sZSBzaGVsbCBieSB0aGUgeGVuY29u
c190dHkgcHJvY2VzcywgYW5kIGNhbiBhY2Nlc3MgYSBjb21tYW5kCmxpbmUgaW5zaWRlIHRoZSBn
dWVzdCAoc3ViamVjdCB0byBndWVzdCB1c2VyIGF1dGhlbnRpY2F0aW9uKS4gQWRkaXRpb25hbApj
b25zb2xlcyBjYW4gYmUgdXNlZCBmb3Igb3RoZXIgZnVuY3Rpb25hbGxpdHkgdGhhdCByZXF1aXJl
cyBhIGNoYXJhY3RlcgpzdHJlYW0gaW50by9vdXQgb2YgdGhlIGd1ZXN0LgpDdXJyZW50bHkgdGhl
cmUgYXJlIG5vIGRlZmluZWQgdXNlcyBmb3IgYWRkaXRpb25hbCBjb25zb2xlcywgYnV0IGl0IGNv
dWxkIApiZSB1c2VkIGZvciBzZXJ2aWNlcyBzdWNoIGFzIGNsaXBib2FyZCBzaGFyaW5nLCBvciBh
ZGRpdGlvbmFsIGRpYWdub3N0aWNzLgoKT3dlbiBTbWl0aCAoMTQpOgogIGNobW9kIDc3NyBtc2J1
aWxkLmJhdAogIFJlZmFjdG9yOiBNb3ZlIGNvbnNvbGUgaGFuZGxlciB0byBjb25zb2xlLmgvLmMK
ICBBZGQgSU9DVExzIHRvIGdldCBJbnN0YW5jZSwgTmFtZSBhbmQgUHJvdG9jb2wKICBNYWtlIHRo
ZSBtb25pdG9yIHNlcnZpY2UgbXVsdGktY29uc29sZSBhd2FyZQogIEFkZCBhIHNob3J0IFNsZWVw
IGJldHdlZW4gQ3JlYXRlRmlsZSBjYWxscwogIEVudW1lcmF0ZSB+L2RldmljZS9jb25zb2xlIGZv
ciBub24tZGVmYXVsdCBjb25zb2xlcwogIEV4cG9zZSBjb25zb2xlIGludGVyZmFjZSBmcm9tIFBk
bwogIEFkZCBib2lsZXJwbGF0ZSBmcm9udGVuZAogIGFkZCBib2lsZXJwbGF0ZSByaW5nCiAgSW1w
bGVtZW50IHJpbmcgcHJvdG9jb2wKICBDb25zb2xlRGlzYWJsZSBjYW5ub3QgYmUgY2FsbGVkIGF0
IERJU1BBVENICiAgUmVwb3J0IGEgYmV0dGVyIGRldmljZSBuYW1lCiAgRml4IEJVRyBvbiBoaWJl
cm5hdGUvc2h1dGRvd24KICBJb0NzcUluc2VydElycEV4IGFscmVhZHkgY2FsbHMgSW9NYXJrSXJw
UGVuZGluZwoKIGluY2x1ZGUvY2FjaGVfaW50ZXJmYWNlLmggICAgICAgICAgICAgICAgfCAgMjMz
ICsrKysKIGluY2x1ZGUvZXZ0Y2huX2ludGVyZmFjZS5oICAgICAgICAgICAgICAgfCAgMzU3ICsr
KysrKwogaW5jbHVkZS9nbnR0YWJfaW50ZXJmYWNlLmggICAgICAgICAgICAgICB8ICAyODcgKysr
KysKIGluY2x1ZGUveGVuLXR5cGVzLmggICAgICAgICAgICAgICAgICAgICAgfCAgIDU1ICsKIGlu
Y2x1ZGUveGVuLXZlcnNpb24uaCAgICAgICAgICAgICAgICAgICAgfCAgIDM3ICsKIGluY2x1ZGUv
eGVuLXdhcm5pbmdzLmggICAgICAgICAgICAgICAgICAgfCAgIDQyICsKIGluY2x1ZGUveGVuLmgg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQ1ICsKIGluY2x1ZGUveGVuL3B1YmxpYy9h
cmNoLXg4Ni94ZW4teDg2XzMyLmggfCAgMTY5ICsrKwogaW5jbHVkZS94ZW4vcHVibGljL2FyY2gt
eDg2L3hlbi14ODZfNjQuaCB8ICAyMDIgKysrCiBpbmNsdWRlL3hlbi9wdWJsaWMvYXJjaC14ODYv
eGVuLmggICAgICAgIHwgIDMzOCArKysrKwogaW5jbHVkZS94ZW4vcHVibGljL2Vycm5vLmggICAg
ICAgICAgICAgICB8ICAxMjQgKysKIGluY2x1ZGUveGVuL3B1YmxpYy9ncmFudF90YWJsZS5oICAg
ICAgICAgfCAgNjg0ICsrKysrKysrKysKIGluY2x1ZGUveGVuL3B1YmxpYy9pby9jb25zb2xlLmgg
ICAgICAgICAgfCAgIDUxICsKIGluY2x1ZGUveGVuL3B1YmxpYy9pby9yaW5nLmggICAgICAgICAg
ICAgfCAgMzI2ICsrKysrCiBpbmNsdWRlL3hlbi9wdWJsaWMvaW8veGVuYnVzLmggICAgICAgICAg
IHwgICA4MCArKwogaW5jbHVkZS94ZW4vcHVibGljL3RyYWNlLmggICAgICAgICAgICAgICB8ICAz
MzcgKysrKysKIGluY2x1ZGUveGVuL3B1YmxpYy94ZW4tY29tcGF0LmggICAgICAgICAgfCAgIDQ0
ICsKIGluY2x1ZGUveGVuL3B1YmxpYy94ZW4uaCAgICAgICAgICAgICAgICAgfCAgOTk1ICsrKysr
KysrKysrKysrKwogaW5jbHVkZS94ZW4veGVuL2Vycm5vLmggICAgICAgICAgICAgICAgICB8ICAg
MTggKwogaW5jbHVkZS94ZW5jb25zX2RldmljZS5oICAgICAgICAgICAgICAgICB8ICAgMTcgKwog
bXNidWlsZC5iYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDAKIHNyYy9tb25p
dG9yL21vbml0b3IuYyAgICAgICAgICAgICAgICAgICAgfCAxMjM5ICsrKysrKysrKystLS0tLS0t
LQogc3JjL3R0eS90dHkuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDcgKy0KIHNy
Yy94ZW5jb25zLmluZiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICstCiBzcmMveGVu
Y29ucy9jb25zb2xlLmMgICAgICAgICAgICAgICAgICAgIHwgIDMyNCArKysrKwogc3JjL3hlbmNv
bnMvY29uc29sZS5oICAgICAgICAgICAgICAgICAgICB8ICAgODAgKysKIHNyYy94ZW5jb25zL2Ry
aXZlci5jICAgICAgICAgICAgICAgICAgICAgfCAgICA2ICsKIHNyYy94ZW5jb25zL2RyaXZlci5o
ICAgICAgICAgICAgICAgICAgICAgfCAgIDEyICstCiBzcmMveGVuY29ucy9mZG8uYyAgICAgICAg
ICAgICAgICAgICAgICAgIHwgMTA5MyArKysrKysrKysrKystLS0tCiBzcmMveGVuY29ucy9mZG8u
aCAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0NyArCiBzcmMveGVuY29ucy9mcm9udGVuZC5j
ICAgICAgICAgICAgICAgICAgIHwgMTI5MSArKysrKysrKysrKysrKysrKysrCiBzcmMveGVuY29u
cy9mcm9udGVuZC5oICAgICAgICAgICAgICAgICAgIHwgIDExMyArKwogc3JjL3hlbmNvbnMvbXV0
ZXguaCAgICAgICAgICAgICAgICAgICAgICB8ICAgODIgKysKIHNyYy94ZW5jb25zL3Bkby5jICAg
ICAgICAgICAgICAgICAgICAgICAgfCAyMDQ3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr
Kwogc3JjL3hlbmNvbnMvcGRvLmggICAgICAgICAgICAgICAgICAgICAgICB8ICAxMTQgKysKIHNy
Yy94ZW5jb25zL3JpbmcuYyAgICAgICAgICAgICAgICAgICAgICAgfCAxMTAzICsrKysrKysrKysr
KysrKysKIHNyYy94ZW5jb25zL3JpbmcuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgIDk2ICsr
CiB2czIwMTUveGVuY29ucy94ZW5jb25zLnZjeHByb2ogICAgICAgICAgIHwgICAgNCArCiAzOCBm
aWxlcyBjaGFuZ2VkLCAxMTMxOSBpbnNlcnRpb25zKCspLCA3ODIgZGVsZXRpb25zKC0pCiBjcmVh
dGUgbW9kZSAxMDA3NTUgaW5jbHVkZS9jYWNoZV9pbnRlcmZhY2UuaAogY3JlYXRlIG1vZGUgMTAw
NzU1IGluY2x1ZGUvZXZ0Y2huX2ludGVyZmFjZS5oCiBjcmVhdGUgbW9kZSAxMDA3NTUgaW5jbHVk
ZS9nbnR0YWJfaW50ZXJmYWNlLmgKIGNyZWF0ZSBtb2RlIDEwMDc1NSBpbmNsdWRlL3hlbi10eXBl
cy5oCiBjcmVhdGUgbW9kZSAxMDA3NTUgaW5jbHVkZS94ZW4tdmVyc2lvbi5oCiBjcmVhdGUgbW9k
ZSAxMDA3NTUgaW5jbHVkZS94ZW4td2FybmluZ3MuaAogY3JlYXRlIG1vZGUgMTAwNzU1IGluY2x1
ZGUveGVuLmgKIGNyZWF0ZSBtb2RlIDEwMDc1NSBpbmNsdWRlL3hlbi9wdWJsaWMvYXJjaC14ODYv
eGVuLXg4Nl8zMi5oCiBjcmVhdGUgbW9kZSAxMDA3NTUgaW5jbHVkZS94ZW4vcHVibGljL2FyY2gt
eDg2L3hlbi14ODZfNjQuaAogY3JlYXRlIG1vZGUgMTAwNzU1IGluY2x1ZGUveGVuL3B1YmxpYy9h
cmNoLXg4Ni94ZW4uaAogY3JlYXRlIG1vZGUgMTAwNzU1IGluY2x1ZGUveGVuL3B1YmxpYy9lcnJu
by5oCiBjcmVhdGUgbW9kZSAxMDA3NTUgaW5jbHVkZS94ZW4vcHVibGljL2dyYW50X3RhYmxlLmgK
IGNyZWF0ZSBtb2RlIDEwMDc1NSBpbmNsdWRlL3hlbi9wdWJsaWMvaW8vY29uc29sZS5oCiBjcmVh
dGUgbW9kZSAxMDA3NTUgaW5jbHVkZS94ZW4vcHVibGljL2lvL3JpbmcuaAogY3JlYXRlIG1vZGUg
MTAwNzU1IGluY2x1ZGUveGVuL3B1YmxpYy9pby94ZW5idXMuaAogY3JlYXRlIG1vZGUgMTAwNzU1
IGluY2x1ZGUveGVuL3B1YmxpYy90cmFjZS5oCiBjcmVhdGUgbW9kZSAxMDA3NTUgaW5jbHVkZS94
ZW4vcHVibGljL3hlbi1jb21wYXQuaAogY3JlYXRlIG1vZGUgMTAwNzU1IGluY2x1ZGUveGVuL3B1
YmxpYy94ZW4uaAogY3JlYXRlIG1vZGUgMTAwNzU1IGluY2x1ZGUveGVuL3hlbi9lcnJuby5oCiBt
b2RlIGNoYW5nZSAxMDA2NDQgPT4gMTAwNzU1IG1zYnVpbGQuYmF0CiBjcmVhdGUgbW9kZSAxMDA3
NTUgc3JjL3hlbmNvbnMvY29uc29sZS5jCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjL3hlbmNvbnMv
Y29uc29sZS5oCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjL3hlbmNvbnMvZnJvbnRlbmQuYwogY3Jl
YXRlIG1vZGUgMTAwNzU1IHNyYy94ZW5jb25zL2Zyb250ZW5kLmgKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBzcmMveGVuY29ucy9tdXRleC5oCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjL3hlbmNvbnMvcGRv
LmMKIGNyZWF0ZSBtb2RlIDEwMDc1NSBzcmMveGVuY29ucy9wZG8uaAogY3JlYXRlIG1vZGUgMTAw
NzU1IHNyYy94ZW5jb25zL3JpbmcuYwogY3JlYXRlIG1vZGUgMTAwNzU1IHNyYy94ZW5jb25zL3Jp
bmcuaAoKLS0gCjIuOC4zCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVu
cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv
L3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 14:09:08 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 14:09:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeLjg-0006mZ-Mw; Wed, 24 Jan 2018 14:09:08 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cbgo=et=citrix.com=prvs=555590473=owen.smith@srs-us1.protection.inumbo.net>)
 id 1eeLjf-0006mR-Uk
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 14:09:08 +0000
X-Inumbo-ID: bf20607f-010f-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id bf20607f-010f-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 14:06:17 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,407,1511827200"; d="scan'208";a="459468938"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 24 Jan 2018 14:05:10 +0000
Message-ID: <20180124140515.12284-10-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20180124140515.12284-1-owen.smith@citrix.com>
References: <20180124140515.12284-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 09/14] add boilerplate ring
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKQWxzbyBxdWVyaWVzIGZv
ciBnbnR0YWIgYW5kIGV2dGNobiBpbnRlcmZhY2UgYW5kIGFkZHMgdGhvc2UgaGVhZGVycwoKU2ln
bmVkLW9mZi1ieTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIGluY2x1
ZGUvY2FjaGVfaW50ZXJmYWNlLmggICAgICB8IDIzMyArKysrKysrKysrKysrKysrKwogaW5jbHVk
ZS9ldnRjaG5faW50ZXJmYWNlLmggICAgIHwgMzU3ICsrKysrKysrKysrKysrKysrKysrKysrKysK
IGluY2x1ZGUvZ250dGFiX2ludGVyZmFjZS5oICAgICB8IDI4NyArKysrKysrKysrKysrKysrKysr
Kwogc3JjL3hlbmNvbnMvZmRvLmMgICAgICAgICAgICAgIHwgIDQyICsrLQogc3JjL3hlbmNvbnMv
ZmRvLmggICAgICAgICAgICAgIHwgICA0ICsKIHNyYy94ZW5jb25zL2Zyb250ZW5kLmMgICAgICAg
ICB8ICA2MSArKystLQogc3JjL3hlbmNvbnMvcmluZy5jICAgICAgICAgICAgIHwgNTc4ICsrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMveGVuY29ucy9yaW5nLmgg
ICAgICAgICAgICAgfCAgNzggKysrKysrCiB2czIwMTUveGVuY29ucy94ZW5jb25zLnZjeHByb2og
fCAgIDEgKwogOSBmaWxlcyBjaGFuZ2VkLCAxNjIxIGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9u
cygtKQogY3JlYXRlIG1vZGUgMTAwNzU1IGluY2x1ZGUvY2FjaGVfaW50ZXJmYWNlLmgKIGNyZWF0
ZSBtb2RlIDEwMDc1NSBpbmNsdWRlL2V2dGNobl9pbnRlcmZhY2UuaAogY3JlYXRlIG1vZGUgMTAw
NzU1IGluY2x1ZGUvZ250dGFiX2ludGVyZmFjZS5oCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjL3hl
bmNvbnMvcmluZy5jCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjL3hlbmNvbnMvcmluZy5oCgpkaWZm
IC0tZ2l0IGEvaW5jbHVkZS9jYWNoZV9pbnRlcmZhY2UuaCBiL2luY2x1ZGUvY2FjaGVfaW50ZXJm
YWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGFlM2FjNgotLS0gL2Rl
di9udWxsCisrKyBiL2luY2x1ZGUvY2FjaGVfaW50ZXJmYWNlLmgKQEAgLTAsMCArMSwyMzMgQEAK
Ky8qIENvcHlyaWdodCAoYykgQ2l0cml4IFN5c3RlbXMgSW5jLgorICogQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIAorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3JtcywgCisgKiB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIAorICogdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAq
IAorICogKiAgIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgCisgKiAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSAKKyAqICAgICBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICogICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIAorICogICAgIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgCisgKiAgICAg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIAor
ICogICAgIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCAK
KyAqIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIAorICogSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgCisgKiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSAKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgSE9MREVSIE9SIAorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgCisgKiBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgCisgKiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIAorICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIAorICogV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIAorICog
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisvKiEgXGZpbGUgY2FjaGVfaW50ZXJmYWNl
LmgKKyAgICBcYnJpZWYgWEVOQlVTIENBQ0hFIEludGVyZmFjZQorCisgICAgVGhpcyBpbnRlcmZh
Y2UgcHJvdmlkZXMgYWNjZXNzIHRvIFhFTkJVUydzIG9iamVjdCBjYWNoZQorICAgIGltcGxlbWVu
dGF0aW9uLgorKi8KKworI2lmbmRlZiBfWEVOQlVTX0NBQ0hFX0lOVEVSRkFDRV9ICisjZGVmaW5l
IF9YRU5CVVNfQ0FDSEVfSU5URVJGQUNFX0gKKworI2lmbmRlZiBfV0lORExMCisKKy8qISBcdHlw
ZWRlZiBYRU5CVVNfQ0FDSEUKKyAgICBcYnJpZWYgQ2FjaGUgaGFuZGxlCisqLwordHlwZWRlZiBz
dHJ1Y3QgX1hFTkJVU19DQUNIRSAgICBYRU5CVVNfQ0FDSEUsICpQWEVOQlVTX0NBQ0hFOworCisv
KiEgXHR5cGVkZWYgWEVOQlVTX0NBQ0hFX0FDUVVJUkUKKyAgICBcYnJpZWYgQWNxdWlyZSBhIHJl
ZmVyZW5jZSB0byB0aGUgQ0FDSEUgaW50ZXJmYWNlCisKKyAgICBccGFyYW0gSW50ZXJmYWNlIFRo
ZSBpbnRlcmZhY2UgaGVhZGVyCisqLyAgCit0eXBlZGVmIE5UU1RBVFVTCisoKlhFTkJVU19DQUNI
RV9BQ1FVSVJFKSgKKyAgICBJTiAgUElOVEVSRkFDRSAgSW50ZXJmYWNlCisgICAgKTsKKworLyoh
IFx0eXBlZGVmIFhFTkJVU19DQUNIRV9SRUxFQVNFCisgICAgXGJyaWVmIFJlbGVhc2UgYSByZWZl
cmVuY2UgdG8gdGhlIENBQ0hFIGludGVyZmFjZQorCisgICAgXHBhcmFtIEludGVyZmFjZSBUaGUg
aW50ZXJmYWNlIGhlYWRlcgorKi8gIAordHlwZWRlZiBWT0lECisoKlhFTkJVU19DQUNIRV9SRUxF
QVNFKSgKKyAgICBJTiAgUElOVEVSRkFDRSAgSW50ZXJmYWNlCisgICAgKTsKKworLyohIFx0eXBl
ZGVmIFhFTkJVU19DQUNIRV9DVE9SCisgICAgXGJyaWVmIE9iamVjdCBjcmVhdG9yIGNhbGxiYWNr
CisKKyAgICBccGFyYW0gQXJndW1lbnQgQ29udGV4dCBcYSBBcmd1bWVudCBzdXBwbGllZCB0byBc
YSBYRU5CVVNfQ0FDSEVfQ1JFQVRFCisgICAgXHBhcmFtIE9iamVjdCBOZXdseSBhbGxvY2F0ZWQg
b2JqZWN0CisKKyAgICBUaGlzIGNhbGxiYWNrIGlzIGludm9rZWQganVzdCBhZnRlciBhIG5ldyBv
YmplY3QgaXMgYWxsb2NhdGVkIGFuZCBtYXkKKyAgICBiZSB1c2VkIHRvIGluaXRpYWxpemUgYW55
IG9iamVjdCBkYXRhIHByaW9yIHRvIGl0cyBpbnNlcnRpb24gaW50byB0aGUKKyAgICBjYWNoZS4K
KyovCit0eXBlZGVmIE5UU1RBVFVTCisoKlhFTkJVU19DQUNIRV9DVE9SKSgKKyAgICBJTiAgUFZP
SUQgICBBcmd1bWVudCwKKyAgICBJTiAgUFZPSUQgICBPYmplY3QKKyAgICApOworCisvKiEgXHR5
cGVkZWYgWEVOQlVTX0NBQ0hFX0RUT1IKKyAgICBcYnJpZWYgT2JqZWN0IGRlc3RydWN0b3IgY2Fs
bGJhY2sKKworICAgIFxwYXJhbSBBcmd1bWVudCBDb250ZXh0IFxhIEFyZ3VtZW50IHN1cHBsaWVk
IHRvIFxhIFhFTkJVU19DQUNIRV9DUkVBVEUKKyAgICBccGFyYW0gT2JqZWN0IE9iamVjdCBhYm91
dCB0byBiZSBmcmVlZAorCisgICAgVGhpcyBjYWxsYmFjayBpcyBpbnZva2VkIGp1c3QgYWZ0ZXIg
YW4gb2JqZWN0IGlzIHJlbW92ZWQgZnJvbSB0aGUKKyAgICBjYWNoZSBhbmQgYmVmb3JlIGl0IGlz
IGZyZWVkIGFuZCBtYXkgYmUgdXNlZCB0byB0ZWFyIGRvd24gYW55IG9iamVjdCBkYXRhLgorKi8K
K3R5cGVkZWYgVk9JRAorKCpYRU5CVVNfQ0FDSEVfRFRPUikoCisgICAgSU4gIFBWT0lEICAgQXJn
dW1lbnQsCisgICAgSU4gIFBWT0lEICAgT2JqZWN0CisgICAgKTsKKworLyohIFx0eXBlZGVmIFhF
TkJVU19DQUNIRV9BQ1FVSVJFX0xPQ0sKKyAgICBcYnJpZWYgQ2FjaGUgbG9jayBjYWxsYmFjawor
CisgICAgXHBhcmFtIEFyZ3VtZW50IENvbnRleHQgXGEgQXJndW1lbnQgc3VwcGxpZWQgdG8gXGEg
WEVOQlVTX0NBQ0hFX0NSRUFURQorCisgICAgVGhpcyBjYWxsYmFjayBpcyBpbnZva2VkIGlmIHRo
ZSBjYWNoZSBpbXBsZW1lbnRhdGlvbiByZXF1aXJlcyBtdXR1YWwKKyAgICBleGNsdXNpb24uCisq
LwordHlwZWRlZiBWT0lECisoKlhFTkJVU19DQUNIRV9BQ1FVSVJFX0xPQ0spKAorICAgIElOICBQ
Vk9JRCAgIEFyZ3VtZW50CisgICAgKTsKKworLyohIFx0eXBlZGVmIFhFTkJVU19DQUNIRV9SRUxF
QVNFX0xPQ0sKKyAgICBcYnJpZWYgQ2FjaGUgdW5sb2NrIGNhbGxiYWNrCisKKyAgICBccGFyYW0g
QXJndW1lbnQgQ29udGV4dCBcYSBBcmd1bWVudCBzdXBwbGllZCB0byBcYSBYRU5CVVNfQ0FDSEVf
Q1JFQVRFCisKKyAgICBUaGlzIGNhbGxiYWNrIGlzIGludm9rZWQgdG8gcmVsZWFzZSB0aGUgbXV0
dWFsIGV4Y2x1c2lvbiBsb2NrIGFjcXVpcmVkCisgICAgYnkgYSBwcmV2aW91cyBpbnZvY2F0aW9u
IG9mIFxhIFhFTkJVU19DQUNIRV9BQ1FVSVJFX0xPQ0suCisqLwordHlwZWRlZiBWT0lECisoKlhF
TkJVU19DQUNIRV9SRUxFQVNFX0xPQ0spKAorICAgIElOICBQVk9JRCAgIEFyZ3VtZW50CisgICAg
KTsKKworLyohIFx0eXBlZGVmIFhFTkJVU19DQUNIRV9DUkVBVEUKKyAgICBcYnJpZWYgQ3JlYXRl
IGEgY2FjaGUgb2Ygb2JqZWN0cyBvZiB0aGUgZ2l2ZW4gXGEgU2l6ZQorCisgICAgXHBhcmFtIElu
dGVyZmFjZSBUaGUgaW50ZXJmYWNlIGhlYWRlcgorICAgIFxwYXJhbSBOYW1lIEEgbmFtZSBmb3Ig
dGhlIGNhY2hlIHdoaWNoIHdpbGwgYmUgdXNlZCBpbiBkZWJ1ZyBvdXRwdXQKKyAgICBccGFyYW0g
U2l6ZSBUaGUgc2l6ZSBvZiBlYWNoIG9iamVjdCBpbiBieXRlcworICAgIFxwYXJhbSBSZXNlcnZh
dGlvbiBUaGUgdGFyZ2V0IG1pbmltdW0gcG9wdWxhdGlvbiBvZiB0aGUgY2FjaGUKKyAgICBccGFy
YW0gQ3RvciBBIGNhbGxiYWNrIHdoaWNoIGlzIGludm9rZWQgd2hlbiBhIG5ldyBvYmplY3QgY3Jl
YXRlZAorICAgIFxwYXJhbSBEdG9yIEEgY2FsbGJhY2sgd2hpY2ggaXMgaW52b2tlZCB3aGVuIGFu
IG9iamVjdCBpcyBkZXN0cm95ZWQKKyAgICBccGFyYW0gQWNxdWlyZUxvY2sgQSBjYWxsYmFjayBp
bnZva2VkIHRvIGFjcXVpcmUgYSBzcGlubG9jaworICAgIFxwYXJhbSBSZWxlYXNlTG9jayBBIGNh
bGxiYWNrIGludm9rZWQgdG8gcmVsZWFzZSB0aGUgc3BpbmxvY2sKKyAgICBccGFyYW0gQXJndW1l
bnQgQW4gb3B0aW9uYWwgY29udGV4dCBhcmd1bWVudCBwYXNzZWQgdG8gdGhlIGNhbGxiYWNrcwor
ICAgIFxwYXJhbSBDYWNoZSBBIHBvaW50ZXIgdG8gYSBjYWNoZSBoYW5kbGUgdG8gYmUgaW5pdGlh
bGl6ZWQKKworICAgIElmIGEgbm9uLXplcm8gXGEgUmVzZXJ2YXRpb24gaXMgc3BlY2lmaWVkIHRo
ZW4gdGhpcyBtZXRob2Qgd2lsbCBmYWlsCisgICAgdW5sZXNzIHRoYXQgbnVtYmVyIG9mIG9iamVj
dHMgY2FuIGJlIGltbWVkaWF0ZWx5IGNyZWF0ZWQuCisqLyAgCit0eXBlZGVmIE5UU1RBVFVTCiso
KlhFTkJVU19DQUNIRV9DUkVBVEUpKAorICAgIElOICBQSU5URVJGQUNFICAgICAgICAgICAgICAg
ICAgSW50ZXJmYWNlLAorICAgIElOICBjb25zdCBDSEFSICAgICAgICAgICAgICAgICAgKk5hbWUs
CisgICAgSU4gIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBTaXplLAorICAgIElOICBVTE9O
RyAgICAgICAgICAgICAgICAgICAgICAgUmVzZXJ2YXRpb24sCisgICAgSU4gIFhFTkJVU19DQUNI
RV9DVE9SICAgICAgICAgICBDdG9yLAorICAgIElOICBYRU5CVVNfQ0FDSEVfRFRPUiAgICAgICAg
ICAgRHRvciwKKyAgICBJTiAgWEVOQlVTX0NBQ0hFX0FDUVVJUkVfTE9DSyAgIEFjcXVpcmVMb2Nr
LAorICAgIElOICBYRU5CVVNfQ0FDSEVfUkVMRUFTRV9MT0NLICAgUmVsZWFzZUxvY2ssCisgICAg
SU4gIFBWT0lEICAgICAgICAgICAgICAgICAgICAgICBBcmd1bWVudCBPUFRJT05BTCwKKyAgICBP
VVQgUFhFTkJVU19DQUNIRSAgICAgICAgICAgICAgICpDYWNoZQorICAgICk7CisKKy8qISBcdHlw
ZWRlZiBYRU5CVVNfQ0FDSEVfR0VUCisgICAgXGJyaWVmIEdldCBhbiBvYmplY3QgZnJvbSBhIFxh
IENhY2hlCisKKyAgICBccGFyYW0gSW50ZXJmYWNlIFRoZSBpbnRlcmZhY2UgaGVhZGVyCisgICAg
XHBhcmFtIENhY2hlIFRoZSBjYWNoZSBoYW5kbGUKKyAgICBccGFyYW0gTG9ja2VkIElmIG11dHVh
bGx5IGV4Y2x1c2l2ZSBhY2Nlc3MgdG8gdGhlIGNhY2hlIGlzIGFscmVhZHkKKyAgICBndWFyYW50
ZWVkIHRoZW4gc2V0IHRoaXMgdG8gVFJVRQorKi8KK3R5cGVkZWYgUFZPSUQKKygqWEVOQlVTX0NB
Q0hFX0dFVCkoCisgICAgSU4gIFBJTlRFUkZBQ0UgICAgICBJbnRlcmZhY2UsCisgICAgSU4gIFBY
RU5CVVNfQ0FDSEUgICBDYWNoZSwKKyAgICBJTiAgQk9PTEVBTiAgICAgICAgIExvY2tlZAorICAg
ICk7CisKKy8qISBcdHlwZWRlZiBYRU5CVVNfQ0FDSEVfUFVUCisgICAgXGJyaWVmIFJldHVybiBh
biBvYmplY3QgdG8gYSBcYSBDYWNoZQorCisgICAgXHBhcmFtIEludGVyZmFjZSBUaGUgaW50ZXJm
YWNlIGhlYWRlcgorICAgIFxwYXJhbSBDYWNoZSBUaGUgY2FjaGUgaGFuZGxlCisgICAgXHBhcmFt
IExvY2tlZCBJZiBtdXR1YWxseSBleGNsdXNpdmUgYWNjZXNzIHRvIHRoZSBjYWNoZSBpcyBhbHJl
YWR5CisgICAgZ3VhcmFudGVlZCB0aGVuIHNldCB0aGlzIHRvIFRSVUUKKyovCit0eXBlZGVmIFZP
SUQKKygqWEVOQlVTX0NBQ0hFX1BVVCkoCisgICAgSU4gIFBJTlRFUkZBQ0UgICAgICBJbnRlcmZh
Y2UsCisgICAgSU4gIFBYRU5CVVNfQ0FDSEUgICBDYWNoZSwKKyAgICBJTiAgUFZPSUQgICAgICAg
ICAgIE9iamVjdCwKKyAgICBJTiAgQk9PTEVBTiAgICAgICAgIExvY2tlZAorICAgICk7CisKKy8q
ISBcdHlwZWRlZiBYRU5CVVNfQ0FDSEVfREVTVFJPWQorICAgIFxicmllZiBEZXN0cm95IGEgXGEg
Q2FjaGUKKworICAgIFxwYXJhbSBJbnRlcmZhY2UgVGhlIGludGVyZmFjZSBoZWFkZXIKKyAgICBc
cGFyYW0gQ2FjaGUgVGhlIGNhY2hlIGhhbmRsZQorCisgICAgQWxsIG9iamVjdHMgbXVzdCBoYXZl
IGJlZW4gcmV0dXJuZWQgdG8gdGhlIGNhY2hlIHByaW9yIHRvIGRlc3RydWN0aW9uCisqLwordHlw
ZWRlZiBWT0lECisoKlhFTkJVU19DQUNIRV9ERVNUUk9ZKSgKKyAgICBJTiAgUElOVEVSRkFDRSAg
ICAgIEludGVyZmFjZSwKKyAgICBJTiAgUFhFTkJVU19DQUNIRSAgIENhY2hlCisgICAgKTsKKwor
Ly8ge0E5OERGRDc4LTQxNkEtNDk0OS05MkE1LUUwODRGMkY0QjQ0RX0KK0RFRklORV9HVUlEKEdV
SURfWEVOQlVTX0NBQ0hFX0lOVEVSRkFDRSwgCisweGE5OGRmZDc4LCAweDQxNmEsIDB4NDk0OSwg
MHg5MiwgMHhhNSwgMHhlMCwgMHg4NCwgMHhmMiwgMHhmNCwgMHhiNCwgMHg0ZSk7CisKKy8qISBc
c3RydWN0IF9YRU5CVVNfQ0FDSEVfSU5URVJGQUNFX1YxCisgICAgXGJyaWVmIENBQ0hFIGludGVy
ZmFjZSB2ZXJzaW9uIDEKKyAgICBcaW5ncm91cCBpbnRlcmZhY2VzCisqLworc3RydWN0IF9YRU5C
VVNfQ0FDSEVfSU5URVJGQUNFX1YxIHsKKyAgICBJTlRFUkZBQ0UgICAgICAgICAgICAgICBJbnRl
cmZhY2U7CisgICAgWEVOQlVTX0NBQ0hFX0FDUVVJUkUgICAgQ2FjaGVBY3F1aXJlOworICAgIFhF
TkJVU19DQUNIRV9SRUxFQVNFICAgIENhY2hlUmVsZWFzZTsKKyAgICBYRU5CVVNfQ0FDSEVfQ1JF
QVRFICAgICBDYWNoZUNyZWF0ZTsKKyAgICBYRU5CVVNfQ0FDSEVfR0VUICAgICAgICBDYWNoZUdl
dDsKKyAgICBYRU5CVVNfQ0FDSEVfUFVUICAgICAgICBDYWNoZVB1dDsKKyAgICBYRU5CVVNfQ0FD
SEVfREVTVFJPWSAgICBDYWNoZURlc3Ryb3k7Cit9OworCit0eXBlZGVmIHN0cnVjdCBfWEVOQlVT
X0NBQ0hFX0lOVEVSRkFDRV9WMSBYRU5CVVNfQ0FDSEVfSU5URVJGQUNFLCAqUFhFTkJVU19DQUNI
RV9JTlRFUkZBQ0U7CisKKy8qISBcZGVmIFhFTkJVU19DQUNIRQorICAgIFxicmllZiBNYWNybyBh
dCBhc3Npc3QgaW4gbWV0aG9kIGludm9jYXRpb24KKyovCisjZGVmaW5lIFhFTkJVU19DQUNIRShf
TWV0aG9kLCBfSW50ZXJmYWNlLCAuLi4pICAgIFwKKyAgICAoX0ludGVyZmFjZSktPkNhY2hlICMj
IF9NZXRob2QoKFBJTlRFUkZBQ0UpKF9JbnRlcmZhY2UpLCBfX1ZBX0FSR1NfXykKKworI2VuZGlm
ICAvLyBfV0lORExMCisKKyNkZWZpbmUgWEVOQlVTX0NBQ0hFX0lOVEVSRkFDRV9WRVJTSU9OX01J
TiAgMQorI2RlZmluZSBYRU5CVVNfQ0FDSEVfSU5URVJGQUNFX1ZFUlNJT05fTUFYICAxCisKKyNl
bmRpZiAgLy8gX1hFTkJVU19DQUNIRV9JTlRFUkZBQ0VfSApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9l
dnRjaG5faW50ZXJmYWNlLmggYi9pbmNsdWRlL2V2dGNobl9pbnRlcmZhY2UuaApuZXcgZmlsZSBt
b2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNjhhNjk3Ci0tLSAvZGV2L251bGwKKysrIGIvaW5j
bHVkZS9ldnRjaG5faW50ZXJmYWNlLmgKQEAgLTAsMCArMSwzNTcgQEAKKy8qIENvcHlyaWdodCAo
YykgQ2l0cml4IFN5c3RlbXMgSW5jLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIAorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3JtcywgCisgKiB3
aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIAorICog
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqIAorICogKiAgIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgCisgKiAgICAg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSAKKyAqICAg
ICBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICogICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIAorICogICAgIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgCisgKiAgICAgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIAorICogICAgIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCAKKyAqIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIAorICogSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgCisg
KiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSAKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVS
IE9SIAorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgCisgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIAorICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIAorICogV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIAorICogTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSAKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgCisgKiBTVUNI
IERBTUFHRS4KKyAqLworCisvKiEgXGZpbGUgZXZ0Y2huX2ludGVyZmFjZS5oCisgICAgXGJyaWVm
IFhFTkJVUyBFVlRDSE4gSW50ZXJmYWNlCisKKyAgICBUaGlzIGludGVyZmFjZSBwcm92aWRlcyBh
Y2Nlc3MgdG8gaHlwZXJ2aXNvciBldmVudCBjaGFubmVscworKi8KKworI2lmbmRlZiBfWEVOQlVT
X0VWVENITl9JTlRFUkZBQ0VfSAorI2RlZmluZSBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfSAor
CisjaWZuZGVmIF9XSU5ETEwKKworLyohIFxlbnVtIF9YRU5CVVNfRVZUQ0hOX1RZUEUKKyAgICBc
YnJpZWYgRXZlbnQgY2hhbm5lbCB0eXBlIHRvIGJlIG9wZW5lZAorKi8KK3R5cGVkZWYgZW51bSBf
WEVOQlVTX0VWVENITl9UWVBFIHsKKyAgICBYRU5CVVNfRVZUQ0hOX1RZUEVfSU5WQUxJRCA9IDAs
CisgICAgWEVOQlVTX0VWVENITl9UWVBFX0ZJWEVELCAgICAgICAgICAgLyohPCBGaXhlZCAqLwor
ICAgIFhFTkJVU19FVlRDSE5fVFlQRV9VTkJPVU5ELCAgICAgICAgIC8qITwgVW5ib3VuZCAqLwor
ICAgIFhFTkJVU19FVlRDSE5fVFlQRV9JTlRFUl9ET01BSU4sICAgIC8qITwgSW50ZXJkb21haW4g
Ki8KKyAgICBYRU5CVVNfRVZUQ0hOX1RZUEVfVklSUSAgICAgICAgICAgICAvKiE8IFZJUlEgKi8K
K30gWEVOQlVTX0VWVENITl9UWVBFLCAqUFhFTkJVU19FVlRDSE5fVFlQRTsKKworLyohIFx0eXBl
ZGVmIFhFTkJVU19FVlRDSE5fQ0hBTk5FTAorICAgIFxicmllZiBFdmVudCBjaGFubmVsIGhhbmRs
ZQorKi8gIAordHlwZWRlZiBzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fQ0hBTk5FTCBYRU5CVVNfRVZU
Q0hOX0NIQU5ORUwsICpQWEVOQlVTX0VWVENITl9DSEFOTkVMOworCisvKiEgXHR5cGVkZWYgWEVO
QlVTX0VWVENITl9BQ1FVSVJFCisgICAgXGJyaWVmIEFjcXVpcmUgYSByZWZlcmVuY2UgdG8gdGhl
IEVWVENITiBpbnRlcmZhY2UKKworICAgIFxwYXJhbSBJbnRlcmZhY2UgVGhlIGludGVyZmFjZSBo
ZWFkZXIKKyovICAKK3R5cGVkZWYgTlRTVEFUVVMKKygqWEVOQlVTX0VWVENITl9BQ1FVSVJFKSgK
KyAgICBJTiAgUElOVEVSRkFDRSAgSW50ZXJmYWNlCisgICAgKTsKKworLyohIFx0eXBlZGVmIFhF
TkJVU19FVlRDSE5fUkVMRUFTRQorICAgIFxicmllZiBSZWxlYXNlIGEgcmVmZXJlbmNlIHRvIHRo
ZSBFVlRDSE4gaW50ZXJmYWNlCisKKyAgICBccGFyYW0gSW50ZXJmYWNlIFRoZSBpbnRlcmZhY2Ug
aGVhZGVyCisqLyAgCit0eXBlZGVmIFZPSUQKKygqWEVOQlVTX0VWVENITl9SRUxFQVNFKSgKKyAg
ICBJTiAgUElOVEVSRkFDRSAgSW50ZXJmYWNlCisgICAgKTsKKworLyohIFx0eXBlZGVmIFhFTkJV
U19FVlRDSE5fT1BFTgorICAgIFxicmllZiBPcGVuIGFuIGV2ZW50IGNoYW5uZWwKKworICAgIFxw
YXJhbSBJbnRlcmZhY2UgVGhlIGludGVyZmFjZSBoZWFkZXIKKyAgICBccGFyYW0gVHlwZSBUaGUg
dHlwZSBvZiBldmVudCBjaGFubmVsIHRvIG9wZW4KKyAgICBccGFyYW0gRnVuY3Rpb24gVGhlIGNh
bGxiYWNrIGZ1bmN0aW9uCisgICAgXHBhcmFtIEFyZ3VtZW50IEFuIG9wdGlvbmFsIGNvbnRleHQg
YXJndW1lbnQgcGFzc2VkIHRvIHRoZSBjYWxsYmFjaworICAgIFxwYXJhbSAuLi4gQWRkaXRpb25h
bCBwYXJhbWV0ZXJzIHJlcXVpcmVkIGJ5IFxhIFR5cGUKKworICAgIFxiIEZpeGVkOgorICAgIFxw
YXJhbSBMb2NhbFBvcnQgVGhlIGxvY2FsIHBvcnQgbnVtYmVyIG9mIHRoZSAoYWxyZWFkeSBib3Vu
ZCkgY2hhbm5lbAorICAgIFxwYXJhbSBNYXNrIFNldCB0byBUUlVFIGlmIHRoZSBjaGFubmVsIHNo
b3VsZCBiZSBhdXRvbWF0aWNhbGx5IG1hc2tlZCBiZWZvcmUgaW52b2tpbmcgdGhlIGNhbGxiYWNr
CisKKyAgICBcYiBVbmJvdW5kOgorICAgIFxwYXJhbSBSZW1vdGVEb21haW4gVGhlIGRvbWlkIG9m
IHRoZSByZW1vdGUgZG9tYWluIHdoaWNoIHdpbGwgYmluZCB0aGUgY2hhbm5lbAorICAgIFxwYXJh
bSBNYXNrIFNldCB0byBUUlVFIGlmIHRoZSBjaGFubmVsIHNob3VsZCBiZSBhdXRvbWF0aWNhbGx5
IG1hc2tlZCBiZWZvcmUgaW52b2tpbmcgdGhlIGNhbGxiYWNrCisKKyAgICBcYiBJbnRlcmRvbWFp
bjoKKyAgICBccGFyYW0gUmVtb3RlRG9tYWluIFRoZSBkb21pZCBvZiB0aGUgcmVtb3RlIGRvbWFp
biB3aGljaCBoYXMgYWxyZWFkeSBib3VuZCB0aGUgY2hhbm5lbAorICAgIFxwYXJhbSBSZW1vdGVQ
b3J0IFRoZSBwb3J0IG51bWJlciBib3VuZCB0byB0aGUgY2hhbm5lbCBpbiB0aGUgcmVtb3RlIGRv
bWFpbgorICAgIFxwYXJhbSBNYXNrIFNldCB0byBUUlVFIGlmIHRoZSBjaGFubmVsIHNob3VsZCBi
ZSBhdXRvbWF0aWNhbGx5IG1hc2tlZCBiZWZvcmUgaW52b2tpbmcgdGhlIGNhbGxiYWNrCisKKyAg
ICBcYiBWSVJROgorICAgIFxwYXJhbSBJbmRleCBUaGUgaW5kZXggbnVtYmVyIG9mIHRoZSBWSVJR
CisKKyAgICBccmV0dXJuIEV2ZW50IGNoYW5uZWwgaGFuZGxlCisqLyAgCit0eXBlZGVmIFBYRU5C
VVNfRVZUQ0hOX0NIQU5ORUwKKygqWEVOQlVTX0VWVENITl9PUEVOKSgKKyAgICBJTiAgUElOVEVS
RkFDRSAgICAgICAgICBJbnRlcmZhY2UsCisgICAgSU4gIFhFTkJVU19FVlRDSE5fVFlQRSAgVHlw
ZSwKKyAgICBJTiAgUEtTRVJWSUNFX1JPVVRJTkUgICBGdW5jdGlvbiwKKyAgICBJTiAgUFZPSUQg
ICAgICAgICAgICAgICBBcmd1bWVudCBPUFRJT05BTCwKKyAgICAuLi4KKyAgICApOworCisvKiEg
XHR5cGVkZWYgWEVOQlVTX0VWVENITl9CSU5ECisgICAgXGJyaWVmIEJpbmQgYW4gZXZlbnQgY2hh
bm5lbCB0byBhIHNwZWNpZmljIENQVQorCisgICAgXHBhcmFtIEludGVyZmFjZSBUaGUgaW50ZXJm
YWNlIGhlYWRlcgorICAgIFxwYXJhbSBDaGFubmVsIFRoZSBjaGFubmVsIGhhbmRsZQorICAgIFxw
YXJhbSBHcm91cCBUaGUgZ3JvdXAgbnVtYmVyIG9mIHRoZSBDUFUgdGhhdCBzaG91bGQgaGFuZGxl
IGV2ZW50cworICAgIFxwYXJhbSBOdW1iZXIgVGhlIHJlbGF0aXZlIG51bWJlciBvZiB0aGUgQ1BV
IHRoYXQgc2hvdWxkIGhhbmRsZSBldmVudHMKKyovCit0eXBlZGVmIE5UU1RBVFVTCisoKlhFTkJV
U19FVlRDSE5fQklORCkoCisgICAgSU4gIFBJTlRFUkZBQ0UgICAgICAgICAgICAgIEludGVyZmFj
ZSwKKyAgICBJTiAgUFhFTkJVU19FVlRDSE5fQ0hBTk5FTCAgQ2hhbm5lbCwKKyAgICBJTiAgVVNI
T1JUICAgICAgICAgICAgICAgICAgR3JvdXAsCisgICAgSU4gIFVDSEFSICAgICAgICAgICAgICAg
ICAgIE51bWJlcgorICAgICk7CisKK3R5cGVkZWYgVk9JRAorKCpYRU5CVVNfRVZUQ0hOX1VOTUFT
S19WNCkoCisgICAgSU4gIFBJTlRFUkZBQ0UgICAgICAgICAgICAgIEludGVyZmFjZSwKKyAgICBJ
TiAgUFhFTkJVU19FVlRDSE5fQ0hBTk5FTCAgQ2hhbm5lbCwKKyAgICBJTiAgQk9PTEVBTiAgICAg
ICAgICAgICAgICAgSW5DYWxsYmFjaworICAgICk7CisKKy8qISBcdHlwZWRlZiBYRU5CVVNfRVZU
Q0hOX1VOTUFTSworICAgIFxicmllZiBVbm1hc2sgYW4gZXZlbnQgY2hhbm5lbAorCisgICAgXHBh
cmFtIEludGVyZmFjZSBUaGUgaW50ZXJmYWNlIGhlYWRlcgorICAgIFxwYXJhbSBDaGFubmVsIFRo
ZSBjaGFubmVsIGhhbmRsZQorICAgIFxwYXJhbSBJbkNhbGxiYWNrIFNldCB0byBUUlVFIGlmIHRo
aXMgbWV0aG9kIGlzIGludm9rZWQgaW4gY29udGV4dCBvZiB0aGUgY2hhbm5lbCBjYWxsYmFjawor
ICAgIFxwYXJhbSBGb3JjZSBTZXQgdG8gVFJVRSBpZiB0aGUgdW5tYXNrIG11c3Qgc3VjY2VlZCwg
b3RoZXJ3aXNlIHNldCB0byBGQUxTRSBhbmQgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIEZBTFNF
IGlmIHRoZSB1bm1hc2sgZGlkIG5vdCBjb21wbGV0ZS4KKyovCit0eXBlZGVmIEJPT0xFQU4KKygq
WEVOQlVTX0VWVENITl9VTk1BU0spKAorICAgIElOICBQSU5URVJGQUNFICAgICAgICAgICAgICBJ
bnRlcmZhY2UsCisgICAgSU4gIFBYRU5CVVNfRVZUQ0hOX0NIQU5ORUwgIENoYW5uZWwsCisgICAg
SU4gIEJPT0xFQU4gICAgICAgICAgICAgICAgIEluQ2FsbGJhY2ssCisgICAgSU4gIEJPT0xFQU4g
ICAgICAgICAgICAgICAgIEZvcmNlCisgICAgKTsKKwordHlwZWRlZiBWT0lECisoKlhFTkJVU19F
VlRDSE5fU0VORF9WMSkoCisgICAgSU4gIFBJTlRFUkZBQ0UgICAgICAgICAgICAgIEludGVyZmFj
ZSwKKyAgICBJTiAgUFhFTkJVU19FVlRDSE5fQ0hBTk5FTCAgQ2hhbm5lbAorICAgICk7CisKKy8q
ISBcdHlwZWRlZiBYRU5CVVNfRVZUQ0hOX1NFTkQKKyAgICBcYnJpZWYgU2VuZCBhbiBldmVudCB0
byB0aGUgcmVtb3RlIGVuZCBvZiB0aGUgY2hhbm5lbAorCisgICAgSXQgaXMgYXNzdW1lZCB0aGF0
IHRoZSBkb21haW4gY2Fubm90IHN1c3BlbmQgZHVyaW5nIHRoaXMgY2FsbCBzbworICAgIElSUUwg
bXVzdCBiZSA+PSBESVNQQVRDSF9MRVZFTC4KKworICAgIFxwYXJhbSBJbnRlcmZhY2UgVGhlIGlu
dGVyZmFjZSBoZWFkZXIKKyAgICBccGFyYW0gQ2hhbm5lbCBUaGUgY2hhbm5lbCBoYW5kbGUKKyov
ICAKK3R5cGVkZWYgVk9JRAorKCpYRU5CVVNfRVZUQ0hOX1NFTkQpKAorICAgIElOICBQSU5URVJG
QUNFICAgICAgICAgICAgICBJbnRlcmZhY2UsCisgICAgSU4gIFBYRU5CVVNfRVZUQ0hOX0NIQU5O
RUwgIENoYW5uZWwKKyAgICApOworCisvKiEgXHR5cGVkZWYgWEVOQlVTX0VWVENITl9UUklHR0VS
CisgICAgXGJyaWVmIFNlbmQgYW4gZXZlbnQgdG8gdGhlIGxvY2FsIGVuZCBvZiB0aGUgY2hhbm5l
bAorCisgICAgXHBhcmFtIEludGVyZmFjZSBUaGUgaW50ZXJmYWNlIGhlYWRlcgorICAgIFxwYXJh
bSBDaGFubmVsIFRoZSBjaGFubmVsIGhhbmRsZQorKi8gIAordHlwZWRlZiBWT0lECisoKlhFTkJV
U19FVlRDSE5fVFJJR0dFUikoCisgICAgSU4gIFBJTlRFUkZBQ0UgICAgICAgICAgICAgIEludGVy
ZmFjZSwKKyAgICBJTiAgUFhFTkJVU19FVlRDSE5fQ0hBTk5FTCAgQ2hhbm5lbAorICAgICk7CisK
Ky8qISBcdHlwZWRlZiBYRU5CVVNfRVZUQ0hOX0dFVF9DT1VOVAorICAgIFxicmllZiBHZXQgdGhl
IG51bWJlciBvZiBldmVudHMgcmVjZWl2ZWQgYnkgdGhlIGNoYW5uZWwgc2luY2UgaXQgd2FzIG9w
ZW5lZAorCisgICAgXHBhcmFtIEludGVyZmFjZSBUaGUgaW50ZXJmYWNlIGhlYWRlcgorICAgIFxw
YXJhbSBDaGFubmVsIFRoZSBjaGFubmVsIGhhbmRsZQorICAgIFxyZXR1cm4gVGhlIG51bWJlciBv
ZiBldmVudHMKKyovCit0eXBlZGVmIFVMT05HCisoKlhFTkJVU19FVlRDSE5fR0VUX0NPVU5UKSgK
KyAgICBJTiAgUElOVEVSRkFDRSAgICAgICAgICAgICAgSW50ZXJmYWNlLAorICAgIElOICBQWEVO
QlVTX0VWVENITl9DSEFOTkVMICBDaGFubmVsCisgICAgKTsKKwordHlwZWRlZiBOVFNUQVRVUwor
KCpYRU5CVVNfRVZUQ0hOX1dBSVRfVjUpKAorICAgIElOICBQSU5URVJGQUNFICAgICAgICAgICAg
ICBJbnRlcmZhY2UsCisgICAgSU4gIFBYRU5CVVNfRVZUQ0hOX0NIQU5ORUwgIENoYW5uZWwsCisg
ICAgSU4gIFBMQVJHRV9JTlRFR0VSICAgICAgICAgIFRpbWVvdXQgT1BUSU9OQUwKKyAgICApOwor
CisvKiEgXHR5cGVkZWYgWEVOQlVTX0VWVENITl9XQUlUCisgICAgXGJyaWVmIFdhaXQgZm9yIGV2
ZW50cyB0byB0aGUgbG9jYWwgZW5kIG9mIHRoZSBjaGFubmVsCisKKyAgICBccGFyYW0gSW50ZXJm
YWNlIFRoZSBpbnRlcmZhY2UgaGVhZGVyCisgICAgXHBhcmFtIENoYW5uZWwgVGhlIGNoYW5uZWwg
aGFuZGxlCisgICAgXHBhcmFtIENvdW50IFRoZSBldmVudCBjb3VudCB0byB3YWl0IGZvcgorICAg
IFxwYXJhbSBUaW1lb3V0IEFuIG9wdGlvbmFsIHRpbWVvdXQgdmFsdWUgKHNpbWlsYXIgdG8gS2VX
YWl0Rm9yU2luZ2xlT2JqZWN0KCksIGJ1dCBub24temVybyB2YWx1ZXMgYXJlIGFsbG93ZWQgYXQg
RElTUEFUQ0hfTEVWRUwpLgorKi8KK3R5cGVkZWYgTlRTVEFUVVMKKygqWEVOQlVTX0VWVENITl9X
QUlUKSgKKyAgICBJTiAgUElOVEVSRkFDRSAgICAgICAgICAgICAgSW50ZXJmYWNlLAorICAgIElO
ICBQWEVOQlVTX0VWVENITl9DSEFOTkVMICBDaGFubmVsLAorICAgIElOICBVTE9ORyAgICAgICAg
ICAgICAgICAgICBDb3VudCwKKyAgICBJTiAgUExBUkdFX0lOVEVHRVIgICAgICAgICAgVGltZW91
dCBPUFRJT05BTAorICAgICk7CisKKy8qISBcdHlwZWRlZiBYRU5CVVNfRVZUQ0hOX0dFVF9QT1JU
CisgICAgXGJyaWVmIEdldCB0aGUgbG9jYWwgcG9ydCBudW1iZXIgYm91bmQgdG8gdGhlIGNoYW5u
ZWwKKworICAgIFxwYXJhbSBJbnRlcmZhY2UgVGhlIGludGVyZmFjZSBoZWFkZXIKKyAgICBccGFy
YW0gQ2hhbm5lbCBUaGUgY2hhbm5lbCBoYW5kbGUKKyAgICBccmV0dXJuIFRoZSBwb3J0IG51bWJl
cgorKi8gIAordHlwZWRlZiBVTE9ORworKCpYRU5CVVNfRVZUQ0hOX0dFVF9QT1JUKSgKKyAgICBJ
TiAgUElOVEVSRkFDRSAgICAgICAgICAgICAgSW50ZXJmYWNlLAorICAgIElOICBQWEVOQlVTX0VW
VENITl9DSEFOTkVMICBDaGFubmVsCisgICAgKTsKKworLyohIFx0eXBlZGVmIFhFTkJVU19FVlRD
SE5fQ0xPU0UKKyAgICBcYnJpZWYgQ2xvc2UgYW4gZXZlbnQgY2hhbm5lbAorCisgICAgXHBhcmFt
IEludGVyZmFjZSBUaGUgaW50ZXJmYWNlIGhlYWRlcgorICAgIFxwYXJhbSBDaGFubmVsIFRoZSBj
aGFubmVsIGhhbmRsZQorKi8gIAordHlwZWRlZiBWT0lECisoKlhFTkJVU19FVlRDSE5fQ0xPU0Up
KAorICAgIElOICBQSU5URVJGQUNFICAgICAgICAgICAgICBJbnRlcmZhY2UsCisgICAgSU4gIFBY
RU5CVVNfRVZUQ0hOX0NIQU5ORUwgIENoYW5uZWwKKyAgICApOworCisvLyB7QkUyNDQwQUMtMTA5
OC00MTUwLUFGNEQtNDUyRkFEQ0VGOTIzfQorREVGSU5FX0dVSUQoR1VJRF9YRU5CVVNfRVZUQ0hO
X0lOVEVSRkFDRSwgCisweGJlMjQ0MGFjLCAweDEwOTgsIDB4NDE1MCwgMHhhZiwgMHg0ZCwgMHg0
NSwgMHgyZiwgMHhhZCwgMHhjZSwgMHhmOSwgMHgyMyk7CisKKy8qISBcc3RydWN0IF9YRU5CVVNf
RVZUQ0hOX0lOVEVSRkFDRV9WNAorICAgIFxicmllZiBFVlRDSE4gaW50ZXJmYWNlIHZlcnNpb24g
NAorICAgIFxpbmdyb3VwIGludGVyZmFjZXMKKyovCitzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5U
RVJGQUNFX1Y0IHsKKyAgICBJTlRFUkZBQ0UgICAgICAgICAgICAgICBJbnRlcmZhY2U7CisgICAg
WEVOQlVTX0VWVENITl9BQ1FVSVJFICAgRXZ0Y2huQWNxdWlyZTsKKyAgICBYRU5CVVNfRVZUQ0hO
X1JFTEVBU0UgICBFdnRjaG5SZWxlYXNlOworICAgIFhFTkJVU19FVlRDSE5fT1BFTiAgICAgIEV2
dGNobk9wZW47CisgICAgWEVOQlVTX0VWVENITl9CSU5EICAgICAgRXZ0Y2huQmluZDsKKyAgICBY
RU5CVVNfRVZUQ0hOX1VOTUFTS19WNCBFdnRjaG5Vbm1hc2tWZXJzaW9uNDsKKyAgICBYRU5CVVNf
RVZUQ0hOX1NFTkRfVjEgICBFdnRjaG5TZW5kVmVyc2lvbjE7CisgICAgWEVOQlVTX0VWVENITl9U
UklHR0VSICAgRXZ0Y2huVHJpZ2dlcjsKKyAgICBYRU5CVVNfRVZUQ0hOX0dFVF9QT1JUICBFdnRj
aG5HZXRQb3J0OworICAgIFhFTkJVU19FVlRDSE5fQ0xPU0UgICAgIEV2dGNobkNsb3NlOworfTsK
KworLyohIFxzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y1CisgICAgXGJyaWVmIEVW
VENITiBpbnRlcmZhY2UgdmVyc2lvbiA1CisgICAgXGluZ3JvdXAgaW50ZXJmYWNlcworKi8KK3N0
cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjUgeworICAgIElOVEVSRkFDRSAgICAgICAg
ICAgICAgIEludGVyZmFjZTsKKyAgICBYRU5CVVNfRVZUQ0hOX0FDUVVJUkUgICBFdnRjaG5BY3F1
aXJlOworICAgIFhFTkJVU19FVlRDSE5fUkVMRUFTRSAgIEV2dGNoblJlbGVhc2U7CisgICAgWEVO
QlVTX0VWVENITl9PUEVOICAgICAgRXZ0Y2huT3BlbjsKKyAgICBYRU5CVVNfRVZUQ0hOX0JJTkQg
ICAgICBFdnRjaG5CaW5kOworICAgIFhFTkJVU19FVlRDSE5fVU5NQVNLX1Y0IEV2dGNoblVubWFz
a1ZlcnNpb240OworICAgIFhFTkJVU19FVlRDSE5fU0VORF9WMSAgIEV2dGNoblNlbmRWZXJzaW9u
MTsKKyAgICBYRU5CVVNfRVZUQ0hOX1RSSUdHRVIgICBFdnRjaG5UcmlnZ2VyOworICAgIFhFTkJV
U19FVlRDSE5fV0FJVF9WNSAgIEV2dGNobldhaXRWZXJzaW9uNTsKKyAgICBYRU5CVVNfRVZUQ0hO
X0dFVF9QT1JUICBFdnRjaG5HZXRQb3J0OworICAgIFhFTkJVU19FVlRDSE5fQ0xPU0UgICAgIEV2
dGNobkNsb3NlOworfTsKKworLyohIFxzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y2
CisgICAgXGJyaWVmIEVWVENITiBpbnRlcmZhY2UgdmVyc2lvbiA2CisgICAgXGluZ3JvdXAgaW50
ZXJmYWNlcworKi8KK3N0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjYgeworICAgIElO
VEVSRkFDRSAgICAgICAgICAgICAgIEludGVyZmFjZTsKKyAgICBYRU5CVVNfRVZUQ0hOX0FDUVVJ
UkUgICBFdnRjaG5BY3F1aXJlOworICAgIFhFTkJVU19FVlRDSE5fUkVMRUFTRSAgIEV2dGNoblJl
bGVhc2U7CisgICAgWEVOQlVTX0VWVENITl9PUEVOICAgICAgRXZ0Y2huT3BlbjsKKyAgICBYRU5C
VVNfRVZUQ0hOX0JJTkQgICAgICBFdnRjaG5CaW5kOworICAgIFhFTkJVU19FVlRDSE5fVU5NQVNL
X1Y0IEV2dGNoblVubWFza1ZlcnNpb240OworICAgIFhFTkJVU19FVlRDSE5fU0VORCAgICAgIEV2
dGNoblNlbmQ7CisgICAgWEVOQlVTX0VWVENITl9UUklHR0VSICAgRXZ0Y2huVHJpZ2dlcjsKKyAg
ICBYRU5CVVNfRVZUQ0hOX1dBSVRfVjUgICBFdnRjaG5XYWl0VmVyc2lvbjU7CisgICAgWEVOQlVT
X0VWVENITl9HRVRfUE9SVCAgRXZ0Y2huR2V0UG9ydDsKKyAgICBYRU5CVVNfRVZUQ0hOX0NMT1NF
ICAgICBFdnRjaG5DbG9zZTsKK307CisKKy8qISBcc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVS
RkFDRV9WNworICAgIFxicmllZiBFVlRDSE4gaW50ZXJmYWNlIHZlcnNpb24gNworICAgIFxpbmdy
b3VwIGludGVyZmFjZXMKKyovCitzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y3IHsK
KyAgICBJTlRFUkZBQ0UgICAgICAgICAgICAgICBJbnRlcmZhY2U7CisgICAgWEVOQlVTX0VWVENI
Tl9BQ1FVSVJFICAgRXZ0Y2huQWNxdWlyZTsKKyAgICBYRU5CVVNfRVZUQ0hOX1JFTEVBU0UgICBF
dnRjaG5SZWxlYXNlOworICAgIFhFTkJVU19FVlRDSE5fT1BFTiAgICAgIEV2dGNobk9wZW47Cisg
ICAgWEVOQlVTX0VWVENITl9CSU5EICAgICAgRXZ0Y2huQmluZDsKKyAgICBYRU5CVVNfRVZUQ0hO
X1VOTUFTS19WNCBFdnRjaG5Vbm1hc2tWZXJzaW9uNDsKKyAgICBYRU5CVVNfRVZUQ0hOX1NFTkQg
ICAgICBFdnRjaG5TZW5kOworICAgIFhFTkJVU19FVlRDSE5fVFJJR0dFUiAgIEV2dGNoblRyaWdn
ZXI7CisgICAgWEVOQlVTX0VWVENITl9HRVRfQ09VTlQgRXZ0Y2huR2V0Q291bnQ7CisgICAgWEVO
QlVTX0VWVENITl9XQUlUICAgICAgRXZ0Y2huV2FpdDsKKyAgICBYRU5CVVNfRVZUQ0hOX0dFVF9Q
T1JUICBFdnRjaG5HZXRQb3J0OworICAgIFhFTkJVU19FVlRDSE5fQ0xPU0UgICAgIEV2dGNobkNs
b3NlOworfTsKKworLyohIFxzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y4CisgICAg
XGJyaWVmIEVWVENITiBpbnRlcmZhY2UgdmVyc2lvbiA4CisgICAgXGluZ3JvdXAgaW50ZXJmYWNl
cworKi8KK3N0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjggeworICAgIElOVEVSRkFD
RSAgICAgICAgICAgICAgIEludGVyZmFjZTsKKyAgICBYRU5CVVNfRVZUQ0hOX0FDUVVJUkUgICBF
dnRjaG5BY3F1aXJlOworICAgIFhFTkJVU19FVlRDSE5fUkVMRUFTRSAgIEV2dGNoblJlbGVhc2U7
CisgICAgWEVOQlVTX0VWVENITl9PUEVOICAgICAgRXZ0Y2huT3BlbjsKKyAgICBYRU5CVVNfRVZU
Q0hOX0JJTkQgICAgICBFdnRjaG5CaW5kOworICAgIFhFTkJVU19FVlRDSE5fVU5NQVNLICAgIEV2
dGNoblVubWFzazsKKyAgICBYRU5CVVNfRVZUQ0hOX1NFTkQgICAgICBFdnRjaG5TZW5kOworICAg
IFhFTkJVU19FVlRDSE5fVFJJR0dFUiAgIEV2dGNoblRyaWdnZXI7CisgICAgWEVOQlVTX0VWVENI
Tl9HRVRfQ09VTlQgRXZ0Y2huR2V0Q291bnQ7CisgICAgWEVOQlVTX0VWVENITl9XQUlUICAgICAg
RXZ0Y2huV2FpdDsKKyAgICBYRU5CVVNfRVZUQ0hOX0dFVF9QT1JUICBFdnRjaG5HZXRQb3J0Owor
ICAgIFhFTkJVU19FVlRDSE5fQ0xPU0UgICAgIEV2dGNobkNsb3NlOworfTsKKwordHlwZWRlZiBz
dHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y4IFhFTkJVU19FVlRDSE5fSU5URVJGQUNF
LCAqUFhFTkJVU19FVlRDSE5fSU5URVJGQUNFOworCisvKiEgXGRlZiBYRU5CVVNfRVZUQ0hOCisg
ICAgXGJyaWVmIE1hY3JvIGF0IGFzc2lzdCBpbiBtZXRob2QgaW52b2NhdGlvbgorKi8KKyNkZWZp
bmUgWEVOQlVTX0VWVENITihfTWV0aG9kLCBfSW50ZXJmYWNlLCAuLi4pICAgIFwKKyAgICAoX0lu
dGVyZmFjZSktPkV2dGNobiAjIyBfTWV0aG9kKChQSU5URVJGQUNFKShfSW50ZXJmYWNlKSwgX19W
QV9BUkdTX18pCisKKyNlbmRpZiAgLy8gX1dJTkRMTAorCisjZGVmaW5lIFhFTkJVU19FVlRDSE5f
SU5URVJGQUNFX1ZFUlNJT05fTUlOIDQKKyNkZWZpbmUgWEVOQlVTX0VWVENITl9JTlRFUkZBQ0Vf
VkVSU0lPTl9NQVggOAorCisjZW5kaWYgIC8vIF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9ICisK
ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZ250dGFiX2ludGVyZmFjZS5oIGIvaW5jbHVkZS9nbnR0YWJf
aW50ZXJmYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjEyNzJhYgot
LS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvZ250dGFiX2ludGVyZmFjZS5oCkBAIC0wLDAgKzEs
Mjg3IEBACisvKiBDb3B5cmlnaHQgKGMpIENpdHJpeCBTeXN0ZW1zIEluYy4KKyAqIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiAKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIAorICogd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCAKKyAqIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6CisgKiAKKyAqICogICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIAorICogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgCisgKiAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAqICAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSAKKyAq
ICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIAor
ICogICAgIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciAKKyAqICAgICBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICogCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgCisgKiBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCAKKyAqIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIAorICogTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiAKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCAKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIAorICogQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIAorICogU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyAKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCAKKyAq
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyAKKyAqIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIAorICogU1VDSCBEQU1BR0UuCisgKi8KKworLyohIFxmaWxlIGdudHRhYl9p
bnRlcmZhY2UuaAorICAgIFxicmllZiBYRU5CVVMgR05UVEFCIEludGVyZmFjZQorCisgICAgVGhp
cyBpbnRlcmZhY2UgcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBoeXBlcnZpc29yIGdyYW50IHRhYmxl
CisqLworCisjaWZuZGVmIF9YRU5CVVNfR05UVEFCX0lOVEVSRkFDRV9ICisjZGVmaW5lIF9YRU5C
VVNfR05UVEFCX0lOVEVSRkFDRV9ICisKKyNpbmNsdWRlIDxjYWNoZV9pbnRlcmZhY2UuaD4KKwor
I2lmbmRlZiBfV0lORExMCisKKy8qISBcdHlwZWRlZiBYRU5CVVNfR05UVEFCX0VOVFJZCisgICAg
XGJyaWVmIEdyYW50IHRhYmxlIGVudHJ5IGhhbmRsZQorKi8KK3R5cGVkZWYgc3RydWN0IF9YRU5C
VVNfR05UVEFCX0VOVFJZIFhFTkJVU19HTlRUQUJfRU5UUlksICpQWEVOQlVTX0dOVFRBQl9FTlRS
WTsKKworLyohIFx0eXBlZGVmIFhFTkJVU19HTlRUQUJfQ0FDSEUKKyAgICBcYnJpZWYgR3JhbnQg
dGFibGUgY2FjaGUgaGFuZGxlCisqLwordHlwZWRlZiBzdHJ1Y3QgX1hFTkJVU19HTlRUQUJfQ0FD
SEUgWEVOQlVTX0dOVFRBQl9DQUNIRSwgKlBYRU5CVVNfR05UVEFCX0NBQ0hFOworCisvKiEgXHR5
cGVkZWYgWEVOQlVTX0dOVFRBQl9BQ1FVSVJFCisgICAgXGJyaWVmIEFjcXVpcmUgYSByZWZlcmVu
Y2UgdG8gdGhlIEdOVFRBQiBpbnRlcmZhY2UKKworICAgIFxwYXJhbSBJbnRlcmZhY2UgVGhlIGlu
dGVyZmFjZSBoZWFkZXIKKyovICAKK3R5cGVkZWYgTlRTVEFUVVMKKygqWEVOQlVTX0dOVFRBQl9B
Q1FVSVJFKSgKKyAgICBJTiAgUElOVEVSRkFDRSAgSW50ZXJmYWNlCisgICAgKTsKKworLyohIFx0
eXBlZGVmIFhFTkJVU19HTlRUQUJfUkVMRUFTRQorICAgIFxicmllZiBSZWxlYXNlIGEgcmVmZXJl
bmNlIHRvIHRoZSBHTlRUQUIgaW50ZXJmYWNlCisKKyAgICBccGFyYW0gSW50ZXJmYWNlIFRoZSBp
bnRlcmZhY2UgaGVhZGVyCisqLyAgCit0eXBlZGVmIFZPSUQKKygqWEVOQlVTX0dOVFRBQl9SRUxF
QVNFKSgKKyAgICBJTiAgUElOVEVSRkFDRSAgSW50ZXJmYWNlCisgICAgKTsKKworLyohIFx0eXBl
ZGVmIFhFTkJVU19HTlRUQUJfQ1JFQVRFX0NBQ0hFCisgICAgXGJyaWVmIENyZWF0ZSBhIGNhY2hl
IG9mIGdyYW50IHRhYmxlIGVudHJpZXMKKworICAgIFxwYXJhbSBJbnRlcmZhY2UgVGhlIGludGVy
ZmFjZSBoZWFkZXIKKyAgICBccGFyYW0gTmFtZSBBIG5hbWUgZm9yIHRoZSBjYWNoZSB3aGljaCB3
aWxsIGJlIHVzZWQgaW4gZGVidWcgb3V0cHV0CisgICAgXHBhcmFtIFJlc2VydmF0aW9uIFRoZSB0
YXJnZXQgbWluaW11bSBwb3B1bGF0aW9uIG9mIHRoZSBjYWNoZQorICAgIFxwYXJhbSBBY3F1aXJl
TG9jayBBIGNhbGxiYWNrIGludm9rZWQgdG8gYWNxdWlyZSBhIHNwaW5sb2NrCisgICAgXHBhcmFt
IFJlbGVhc2VMb2NrIEEgY2FsbGJhY2sgaW52b2tlZCB0byByZWxlYXNlIHRoZSBzcGlubG9jawor
ICAgIFxwYXJhbSBBcmd1bWVudCBBbiBvcHRpb25hbCBjb250ZXh0IGFyZ3VtZW50IHBhc3NlZCB0
byB0aGUgY2FsbGJhY2tzCisgICAgXHBhcmFtIENhY2hlIEEgcG9pbnRlciB0byBhIGdyYW50IHRh
YmxlIGNhY2hlIGhhbmRsZSB0byBiZSBpbml0aWFsaXplZAorKi8gIAordHlwZWRlZiBOVFNUQVRV
UworKCpYRU5CVVNfR05UVEFCX0NSRUFURV9DQUNIRSkoCisgICAgSU4gIFBJTlRFUkZBQ0UgICAg
ICAgICAgICAgICAgICBJbnRlcmZhY2UsCisgICAgSU4gIGNvbnN0IENIQVIgICAgICAgICAgICAg
ICAgICAqTmFtZSwKKyAgICBJTiAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIFJlc2VydmF0
aW9uLAorICAgIElOICBYRU5CVVNfQ0FDSEVfQUNRVUlSRV9MT0NLICAgQWNxdWlyZUxvY2ssCisg
ICAgSU4gIFhFTkJVU19DQUNIRV9SRUxFQVNFX0xPQ0sgICBSZWxlYXNlTG9jaywKKyAgICBJTiAg
UFZPSUQgICAgICAgICAgICAgICAgICAgICAgIEFyZ3VtZW50IE9QVElPTkFMLAorICAgIE9VVCBQ
WEVOQlVTX0dOVFRBQl9DQUNIRSAgICAgICAgKkNhY2hlCisgICAgKTsKKworLyohIFx0eXBlZGVm
IFhFTkJVU19HTlRUQUJfUEVSTUlUX0ZPUkVJR05fQUNDRVNTCisgICAgXGJyaWVmIEdldCBhIHRh
YmxlIGVudHJ5IGZyb20gdGhlIFxhIENhY2hlIHBlcm1pdHRpbmcgYWNjZXNzIHRvIGEgZ2l2ZW4g
XGEgUGZuCisKKyAgICBccGFyYW0gSW50ZXJmYWNlIFRoZSBpbnRlcmZhY2UgaGVhZGVyCisgICAg
XHBhcmFtIENhY2hlIFRoZSBncmFudCB0YWJsZSBjYWNoZSBoYW5kbGUKKyAgICBccGFyYW0gTG9j
a2VkIElmIG11dHVhbGx5IGV4Y2x1c2l2ZSBhY2Nlc3MgdG8gdGhlIGNhY2hlIGlzIGFscmVhZHkK
KyAgICBndWFyYW50ZWVkIHRoZW4gc2V0IHRoaXMgdG8gVFJVRQorICAgIFxwYXJhbSBEb21haW4g
VGhlIGRvbWlkIG9mIHRoZSBkb21haW4gYmVpbmcgZ3JhbnRlZCBhY2Nlc3MKKyAgICBccGFyYW0g
UGZuIFRoZSBmcmFtZSBudW1iZXIgb2YgdGhlIHBhZ2UgdGhhdCB3ZSBhcmUgZ3JhbnRpbmcgYWNj
ZXNzIHRvCisgICAgXHBhcmFtIFJlYWRPbmx5IFNldCB0byBUUlVFIGlmIHRoZSBmb3JlaWduIGRv
bWFpbiBpcyBvbmx5IGJlaW5nIGdyYW50ZWQKKyAgICByZWFkIGFjY2VzcworICAgIFxwYXJhbSBF
bnRyeSBBIHBvaW50ZXIgdG8gYSBncmFudCB0YWJsZSBlbnRyeSBoYW5kbGUgdG8gYmUgaW5pdGlh
bGl6ZWQKKyovCit0eXBlZGVmIE5UU1RBVFVTCisoKlhFTkJVU19HTlRUQUJfUEVSTUlUX0ZPUkVJ
R05fQUNDRVNTKSgKKyAgICBJTiAgUElOVEVSRkFDRSAgICAgICAgICAgICAgICAgIEludGVyZmFj
ZSwKKyAgICBJTiAgUFhFTkJVU19HTlRUQUJfQ0FDSEUgICAgICAgIENhY2hlLAorICAgIElOICBC
T09MRUFOICAgICAgICAgICAgICAgICAgICAgTG9ja2VkLAorICAgIElOICBVU0hPUlQgICAgICAg
ICAgICAgICAgICAgICAgRG9tYWluLAorICAgIElOICBQRk5fTlVNQkVSICAgICAgICAgICAgICAg
ICAgUGZuLAorICAgIElOICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgUmVhZE9ubHksCisg
ICAgT1VUIFBYRU5CVVNfR05UVEFCX0VOVFJZICAgICAgICAqRW50cnkKKyAgICApOworCisvKiEg
XHR5cGVkZWYgWEVOQlVTX0dOVFRBQl9SRVZPS0VfRk9SRUlHTl9BQ0NFU1MKKyAgICBcYnJpZWYg
UmV2b2tlIGZvcmVpZ24gYWNjZXNzIGFuZCByZXR1cm4gdGhlIFxhIEVudHJ5IHRvIHRoZSBcYSBD
YWNoZQorCisgICAgXHBhcmFtIEludGVyZmFjZSBUaGUgaW50ZXJmYWNlIGhlYWRlcgorICAgIFxw
YXJhbSBDYWNoZSBUaGUgZ3JhbnQgdGFibGUgY2FjaGUgaGFuZGxlCisgICAgXHBhcmFtIExvY2tl
ZCBJZiBtdXR1YWxseSBleGNsdXNpdmUgYWNjZXNzIHRvIHRoZSBjYWNoZSBpcyBhbHJlYWR5Cisg
ICAgZ3VhcmFudGVlZCB0aGVuIHNldCB0aGlzIHRvIFRSVUUKKyAgICBccGFyYW0gRW50cnkgVGhl
IGdyYW50IHRhYmxlIGVudHJ5IGhhbmRsZQorKi8KK3R5cGVkZWYgTlRTVEFUVVMKKygqWEVOQlVT
X0dOVFRBQl9SRVZPS0VfRk9SRUlHTl9BQ0NFU1MpKAorICAgIElOICBQSU5URVJGQUNFICAgICAg
ICAgICAgICAgICAgSW50ZXJmYWNlLAorICAgIElOICBQWEVOQlVTX0dOVFRBQl9DQUNIRSAgICAg
ICAgQ2FjaGUsCisgICAgSU4gIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICBMb2NrZWQsCisg
ICAgSU4gIFBYRU5CVVNfR05UVEFCX0VOVFJZICAgICAgICBFbnRyeQorICAgICk7CisKKy8qISBc
dHlwZWRlZiBYRU5CVVNfR05UVEFCX0dFVF9SRUZFUkVOQ0UKKyAgICBcYnJpZWYgR2V0IHRoZSBy
ZWZlcmVuY2UgbnVtYmVyIG9mIHRoZSBlbnRyeQorCisgICAgXHBhcmFtIEludGVyZmFjZSBUaGUg
aW50ZXJmYWNlIGhlYWRlcgorICAgIFxwYXJhbSBFbnRyeSBUaGUgZ3JhbnQgdGFibGUgZW50cnkg
aGFuZGxlCisgICAgXHJldHVybiBUaGUgcmVmZXJlbmNlIG51bWJlcgorKi8gIAordHlwZWRlZiBV
TE9ORworKCpYRU5CVVNfR05UVEFCX0dFVF9SRUZFUkVOQ0UpKAorICAgIElOICBQSU5URVJGQUNF
ICAgICAgICAgICAgICAgICAgSW50ZXJmYWNlLAorICAgIElOICBQWEVOQlVTX0dOVFRBQl9FTlRS
WSAgICAgICAgRW50cnkKKyAgICApOworCisvKiEgXHR5cGVkZWYgWEVOQlVTX0dOVFRBQl9RVUVS
WV9SRUZFUkVOQ0UKKyAgICBcYnJpZWYgR2V0IHRoZSByZWZlcmVuY2UgbnVtYmVyIG9mIHRoZSBl
bnRyeQorCisgICAgXHBhcmFtIEludGVyZmFjZSBUaGUgaW50ZXJmYWNlIGhlYWRlcgorICAgIFxw
YXJhbSBSZWZlcmVuY2UgVGhlIHJlZmVyZW5jZSBudW1iZXIKKyAgICBccGFyYW0gUGZuIEFuIG9w
dGlvbmFsIHBvaW50ZXIgdG8gcmVjZWl2ZSB0aGUgdmFsdWUgb2YgdGhlIHJlZmVyZW5jZSBmcmFt
ZSBudW1iZXIKKyAgICBccGFyYW0gUmVhZE9ubHkgQW4gb3B0aW9uYWwgcG9pbnRlciB0byByZWNl
aXZlIHRoZSBib29sZWFuIHZhbHVlIG9mIHRoZSByZWFkLW9ubHkgZmxhZworKi8KK3R5cGVkZWYg
TlRTVEFUVVMKKygqWEVOQlVTX0dOVFRBQl9RVUVSWV9SRUZFUkVOQ0UpKAorICAgIElOICBQSU5U
RVJGQUNFICBJbnRlcmZhY2UsCisgICAgSU4gIFVMT05HICAgICAgIFJlZmVyZW5jZSwKKyAgICBP
VVQgUFBGTl9OVU1CRVIgUGZuIE9QVElPTkFMLAorICAgIE9VVCBQQk9PTEVBTiAgICBSZWFkT25s
eSBPUFRJT05BTAorICAgICk7CisKKyNkZWZpbmUgWEVOQlVTX0dOVFRBQl9DT05TT0xFX1JFRkVS
RU5DRSAwCisjZGVmaW5lIFhFTkJVU19HTlRUQUJfU1RPUkVfUkVGRVJFTkNFICAgMQorCisKKy8q
ISBcdHlwZWRlZiBYRU5CVVNfR05UVEFCX0RFU1RST1lfQ0FDSEUKKyAgICBcYnJpZWYgRGVzdHJv
eSBhIGNhY2hlIG9mIGdyYW50IHRhYmxlIGVudHJpZXMKKworICAgIFxwYXJhbSBJbnRlcmZhY2Ug
VGhlIGludGVyZmFjZSBoZWFkZXIKKyAgICBccGFyYW0gQ2FjaGUgVGhlIGdyYW50IHRhYmxlIGNh
Y2hlIGhhbmRsZQorCisgICAgQWxsIGdyYW50IHRhYmxlIGVudHJpZXMgbXVzdCBoYXZlIGJlZW4g
cmV2b2tlZCBwcmlvciB0byBkZXN0cnVjdGlvbgorICAgIG9mIHRoZSBjYWNoZSAKKyovICAKK3R5
cGVkZWYgVk9JRAorKCpYRU5CVVNfR05UVEFCX0RFU1RST1lfQ0FDSEUpKAorICAgIElOICBQSU5U
RVJGQUNFICAgICAgICAgICAgICBJbnRlcmZhY2UsCisgICAgSU4gIFBYRU5CVVNfR05UVEFCX0NB
Q0hFICAgIENhY2hlCisgICAgKTsKKworLyohIFx0eXBlZGVmIFhFTkJVU19HTlRUQUJfTUFQX0ZP
UkVJR05fUEFHRVMKKyAgICBcYnJpZWYgTWFwIGZvcmVpZ24gbWVtb3J5IHBhZ2VzIGludG8gdGhl
IHN5c3RlbSBhZGRyZXNzIHNwYWNlCisKKyAgICBccGFyYW0gSW50ZXJmYWNlIFRoZSBpbnRlcmZh
Y2UgaGVhZGVyCisgICAgXHBhcmFtIERvbWFpbiBUaGUgZG9taWQgb2YgdGhlIGZvcmVpZ24gZG9t
YWluIHRoYXQgZ3JhbnRlZCB0aGUgcGFnZXMKKyAgICBccGFyYW0gTnVtYmVyUGFnZXMgTnVtYmVy
IG9mIHBhZ2VzIHRvIG1hcAorICAgIFxwYXJhbSBSZWZlcmVuY2VzIEFycmF5IG9mIGdyYW50IHJl
ZmVyZW5jZSBudW1iZXJzIHNoYXJlZCBieSB0aGUgZm9yZWlnbiBkb21haW4KKyAgICBccGFyYW0g
UmVhZE9ubHkgSWYgVFJVRSwgcGFnZXMgYXJlIG1hcHBlZCB3aXRoIHJlYWQtb25seSBhY2Nlc3MK
KyAgICBccGFyYW0gQWRkcmVzcyBUaGUgcGh5c2ljYWwgYWRkcmVzcyB0aGF0IHRoZSBmb3JlaWdu
IHBhZ2VzIGFyZSBtYXBwZWQgdW5kZXIKKyovCisKK3R5cGVkZWYgTlRTVEFUVVMKKygqWEVOQlVT
X0dOVFRBQl9NQVBfRk9SRUlHTl9QQUdFUykoCisgICAgSU4gIFBJTlRFUkZBQ0UgICAgICAgICAg
ICAgIEludGVyZmFjZSwKKyAgICBJTiAgVVNIT1JUICAgICAgICAgICAgICAgICAgRG9tYWluLAor
ICAgIElOICBVTE9ORyAgICAgICAgICAgICAgICAgICBOdW1iZXJQYWdlcywKKyAgICBJTiAgUFVM
T05HICAgICAgICAgICAgICAgICAgUmVmZXJlbmNlcywKKyAgICBJTiAgQk9PTEVBTiAgICAgICAg
ICAgICAgICAgUmVhZE9ubHksCisgICAgT1VUIFBIWVNJQ0FMX0FERFJFU1MgICAgICAgICpBZGRy
ZXNzCisgICAgKTsKKworLyohIFx0eXBlZGVmIFhFTkJVU19HTlRUQUJfVU5NQVBfRk9SRUlHTl9Q
QUdFUworICAgIFxicmllZiBVbm1hcCBmb3JlaWduIG1lbW9yeSBwYWdlcyBmcm9tIHRoZSBzeXN0
ZW0gYWRkcmVzcyBzcGFjZQorCisgICAgXHBhcmFtIEludGVyZmFjZSBUaGUgaW50ZXJmYWNlIGhl
YWRlcgorICAgIFxwYXJhbSBBZGRyZXNzIFRoZSBwaHlzaWNhbCBhZGRyZXNzIHRoYXQgdGhlIGZv
cmVpZ24gcGFnZXMgYXJlIG1hcHBlZCB1bmRlcgorKi8KK3R5cGVkZWYgTlRTVEFUVVMKKygqWEVO
QlVTX0dOVFRBQl9VTk1BUF9GT1JFSUdOX1BBR0VTKSgKKyAgICBJTiAgUElOVEVSRkFDRSAgICAg
ICAgICAgICAgSW50ZXJmYWNlLAorICAgIElOICBQSFlTSUNBTF9BRERSRVNTICAgICAgICBBZGRy
ZXNzCisgICAgKTsKKworLy8gezc2MzY3OUM1LUU1QzItNEE2RC04Qjg4LTZCQjAyRUM0MkQ4RX0K
K0RFRklORV9HVUlEKEdVSURfWEVOQlVTX0dOVFRBQl9JTlRFUkZBQ0UsIAorMHg3NjM2NzljNSwg
MHhlNWMyLCAweDRhNmQsIDB4OGIsIDB4ODgsIDB4NmIsIDB4YjAsIDB4MmUsIDB4YzQsIDB4MmQs
IDB4OGUpOworCisvKiEgXHN0cnVjdCBfWEVOQlVTX0dOVFRBQl9JTlRFUkZBQ0VfVjEKKyAgICBc
YnJpZWYgR05UVEFCIGludGVyZmFjZSB2ZXJzaW9uIDEKKyAgICBcaW5ncm91cCBpbnRlcmZhY2Vz
CisqLworc3RydWN0IF9YRU5CVVNfR05UVEFCX0lOVEVSRkFDRV9WMSB7CisgICAgSU5URVJGQUNF
ICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJmYWNlOworICAgIFhFTkJVU19HTlRUQUJf
QUNRVUlSRSAgICAgICAgICAgICAgIEdudHRhYkFjcXVpcmU7CisgICAgWEVOQlVTX0dOVFRBQl9S
RUxFQVNFICAgICAgICAgICAgICAgR250dGFiUmVsZWFzZTsKKyAgICBYRU5CVVNfR05UVEFCX0NS
RUFURV9DQUNIRSAgICAgICAgICBHbnR0YWJDcmVhdGVDYWNoZTsKKyAgICBYRU5CVVNfR05UVEFC
X1BFUk1JVF9GT1JFSUdOX0FDQ0VTUyBHbnR0YWJQZXJtaXRGb3JlaWduQWNjZXNzOworICAgIFhF
TkJVU19HTlRUQUJfUkVWT0tFX0ZPUkVJR05fQUNDRVNTIEdudHRhYlJldm9rZUZvcmVpZ25BY2Nl
c3M7CisgICAgWEVOQlVTX0dOVFRBQl9HRVRfUkVGRVJFTkNFICAgICAgICAgR250dGFiR2V0UmVm
ZXJlbmNlOworICAgIFhFTkJVU19HTlRUQUJfREVTVFJPWV9DQUNIRSAgICAgICAgIEdudHRhYkRl
c3Ryb3lDYWNoZTsKK307CisKKy8qISBcc3RydWN0IF9YRU5CVVNfR05UVEFCX0lOVEVSRkFDRV9W
MgorICAgIFxicmllZiBHTlRUQUIgaW50ZXJmYWNlIHZlcnNpb24gMgorICAgIFxpbmdyb3VwIGlu
dGVyZmFjZXMKKyovCitzdHJ1Y3QgX1hFTkJVU19HTlRUQUJfSU5URVJGQUNFX1YyIHsKKyAgICBJ
TlRFUkZBQ0UgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcmZhY2U7CisgICAgWEVOQlVT
X0dOVFRBQl9BQ1FVSVJFICAgICAgICAgICAgICAgR250dGFiQWNxdWlyZTsKKyAgICBYRU5CVVNf
R05UVEFCX1JFTEVBU0UgICAgICAgICAgICAgICBHbnR0YWJSZWxlYXNlOworICAgIFhFTkJVU19H
TlRUQUJfQ1JFQVRFX0NBQ0hFICAgICAgICAgIEdudHRhYkNyZWF0ZUNhY2hlOworICAgIFhFTkJV
U19HTlRUQUJfUEVSTUlUX0ZPUkVJR05fQUNDRVNTIEdudHRhYlBlcm1pdEZvcmVpZ25BY2Nlc3M7
CisgICAgWEVOQlVTX0dOVFRBQl9SRVZPS0VfRk9SRUlHTl9BQ0NFU1MgR250dGFiUmV2b2tlRm9y
ZWlnbkFjY2VzczsKKyAgICBYRU5CVVNfR05UVEFCX0dFVF9SRUZFUkVOQ0UgICAgICAgICBHbnR0
YWJHZXRSZWZlcmVuY2U7CisgICAgWEVOQlVTX0dOVFRBQl9ERVNUUk9ZX0NBQ0hFICAgICAgICAg
R250dGFiRGVzdHJveUNhY2hlOworICAgIFhFTkJVU19HTlRUQUJfTUFQX0ZPUkVJR05fUEFHRVMg
ICAgIEdudHRhYk1hcEZvcmVpZ25QYWdlczsKKyAgICBYRU5CVVNfR05UVEFCX1VOTUFQX0ZPUkVJ
R05fUEFHRVMgICBHbnR0YWJVbm1hcEZvcmVpZ25QYWdlczsKK307CisKKy8qISBcc3RydWN0IF9Y
RU5CVVNfR05UVEFCX0lOVEVSRkFDRV9WMworICAgIFxicmllZiBHTlRUQUIgaW50ZXJmYWNlIHZl
cnNpb24gMworICAgIFxpbmdyb3VwIGludGVyZmFjZXMKKyovCitzdHJ1Y3QgX1hFTkJVU19HTlRU
QUJfSU5URVJGQUNFX1YzIHsKKyAgICBJTlRFUkZBQ0UgICAgICAgICAgICAgICAgICAgICAgICAg
ICBJbnRlcmZhY2U7CisgICAgWEVOQlVTX0dOVFRBQl9BQ1FVSVJFICAgICAgICAgICAgICAgR250
dGFiQWNxdWlyZTsKKyAgICBYRU5CVVNfR05UVEFCX1JFTEVBU0UgICAgICAgICAgICAgICBHbnR0
YWJSZWxlYXNlOworICAgIFhFTkJVU19HTlRUQUJfQ1JFQVRFX0NBQ0hFICAgICAgICAgIEdudHRh
YkNyZWF0ZUNhY2hlOworICAgIFhFTkJVU19HTlRUQUJfUEVSTUlUX0ZPUkVJR05fQUNDRVNTIEdu
dHRhYlBlcm1pdEZvcmVpZ25BY2Nlc3M7CisgICAgWEVOQlVTX0dOVFRBQl9SRVZPS0VfRk9SRUlH
Tl9BQ0NFU1MgR250dGFiUmV2b2tlRm9yZWlnbkFjY2VzczsKKyAgICBYRU5CVVNfR05UVEFCX0dF
VF9SRUZFUkVOQ0UgICAgICAgICBHbnR0YWJHZXRSZWZlcmVuY2U7CisgICAgWEVOQlVTX0dOVFRB
Ql9RVUVSWV9SRUZFUkVOQ0UgICAgICAgR250dGFiUXVlcnlSZWZlcmVuY2U7CisgICAgWEVOQlVT
X0dOVFRBQl9ERVNUUk9ZX0NBQ0hFICAgICAgICAgR250dGFiRGVzdHJveUNhY2hlOworICAgIFhF
TkJVU19HTlRUQUJfTUFQX0ZPUkVJR05fUEFHRVMgICAgIEdudHRhYk1hcEZvcmVpZ25QYWdlczsK
KyAgICBYRU5CVVNfR05UVEFCX1VOTUFQX0ZPUkVJR05fUEFHRVMgICBHbnR0YWJVbm1hcEZvcmVp
Z25QYWdlczsKK307CisKK3R5cGVkZWYgc3RydWN0IF9YRU5CVVNfR05UVEFCX0lOVEVSRkFDRV9W
MyBYRU5CVVNfR05UVEFCX0lOVEVSRkFDRSwgKlBYRU5CVVNfR05UVEFCX0lOVEVSRkFDRTsKKwor
LyohIFxkZWYgWEVOQlVTX0dOVFRBQgorICAgIFxicmllZiBNYWNybyBhdCBhc3Npc3QgaW4gbWV0
aG9kIGludm9jYXRpb24KKyovCisjZGVmaW5lIFhFTkJVU19HTlRUQUIoX01ldGhvZCwgX0ludGVy
ZmFjZSwgLi4uKSAgICBcCisgICAgKF9JbnRlcmZhY2UpLT5HbnR0YWIgIyMgX01ldGhvZCgoUElO
VEVSRkFDRSkoX0ludGVyZmFjZSksIF9fVkFfQVJHU19fKQorCisjZW5kaWYgIC8vIF9XSU5ETEwK
KworI2RlZmluZSBYRU5CVVNfR05UVEFCX0lOVEVSRkFDRV9WRVJTSU9OX01JTiAxCisjZGVmaW5l
IFhFTkJVU19HTlRUQUJfSU5URVJGQUNFX1ZFUlNJT05fTUFYIDMKKworI2VuZGlmICAvLyBfWEVO
QlVTX0dOVFRBQl9JTlRFUkZBQ0VfSAorCmRpZmYgLS1naXQgYS9zcmMveGVuY29ucy9mZG8uYyBi
L3NyYy94ZW5jb25zL2Zkby5jCmluZGV4IDUyOTZjN2YuLmVmMjY4NjkgMTAwNjQ0Ci0tLSBhL3Ny
Yy94ZW5jb25zL2Zkby5jCisrKyBiL3NyYy94ZW5jb25zL2Zkby5jCkBAIC0xMDAsNiArMTAwLDgg
QEAgc3RydWN0IF9YRU5DT05TX0ZETyB7CiAgICAgWEVOQlVTX1NVU1BFTkRfSU5URVJGQUNFICAg
IFN1c3BlbmRJbnRlcmZhY2U7CiAgICAgWEVOQlVTX1NUT1JFX0lOVEVSRkFDRSAgICAgIFN0b3Jl
SW50ZXJmYWNlOwogICAgIFhFTkJVU19DT05TT0xFX0lOVEVSRkFDRSAgICBDb25zb2xlSW50ZXJm
YWNlOworICAgIFhFTkJVU19FVlRDSE5fSU5URVJGQUNFICAgICBFdnRjaG5JbnRlcmZhY2U7Cisg
ICAgWEVOQlVTX0dOVFRBQl9JTlRFUkZBQ0UgICAgIEdudHRhYkludGVyZmFjZTsKIAogICAgIFBY
RU5CVVNfU1VTUEVORF9DQUxMQkFDSyAgICBTdXNwZW5kQ2FsbGJhY2tMYXRlOwogfTsKQEAgLTMx
NDAsNiArMzE0Miw4IEBAIERFRklORV9GRE9fR0VUX0lOVEVSRkFDRShEZWJ1ZywgUFhFTkJVU19E
RUJVR19JTlRFUkZBQ0UpCiBERUZJTkVfRkRPX0dFVF9JTlRFUkZBQ0UoU3VzcGVuZCwgUFhFTkJV
U19TVVNQRU5EX0lOVEVSRkFDRSkKIERFRklORV9GRE9fR0VUX0lOVEVSRkFDRShTdG9yZSwgUFhF
TkJVU19TVE9SRV9JTlRFUkZBQ0UpCiBERUZJTkVfRkRPX0dFVF9JTlRFUkZBQ0UoQ29uc29sZSwg
UFhFTkJVU19DT05TT0xFX0lOVEVSRkFDRSkKK0RFRklORV9GRE9fR0VUX0lOVEVSRkFDRShFdnRj
aG4sIFBYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRSkKK0RFRklORV9GRE9fR0VUX0lOVEVSRkFDRShH
bnR0YWIsIFBYRU5CVVNfR05UVEFCX0lOVEVSRkFDRSkKIAogI3ByYWdtYSB3YXJuaW5nKHB1c2gp
CiAjcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTo2MDE0KSAvLyBMZWFraW5nIG1lbW9yeSAnJkR4LT5M
aW5rJwpAQCAtMzI1MiwxMCArMzI1NiwyOCBAQCBGZG9DcmVhdGUoCiAgICAgaWYgKCFOVF9TVUND
RVNTKHN0YXR1cykpCiAgICAgICAgIGdvdG8gZmFpbDExOwogCi0gICAgc3RhdHVzID0gQ29uc29s
ZUNyZWF0ZShGZG8sICZGZG8tPkNvbnNvbGUpOworICAgIHN0YXR1cyA9IEZET19RVUVSWV9JTlRF
UkZBQ0UoRmRvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOQlVTLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVZUQ0hOLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKFBJTlRFUkZBQ0UpJkZkby0+RXZ0Y2huSW50ZXJmYWNlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKEZkby0+RXZ0Y2huSW50ZXJmYWNlKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFKTsKICAgICBpZiAoIU5UX1NV
Q0NFU1Moc3RhdHVzKSkKICAgICAgICAgZ290byBmYWlsMTI7CiAKKyAgICBzdGF0dXMgPSBGRE9f
UVVFUllfSU5URVJGQUNFKEZkbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhF
TkJVUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdOVFRBQiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIChQSU5URVJGQUNFKSZGZG8tPkdudHRhYkludGVyZmFj
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihGZG8tPkdudHRhYklu
dGVyZmFjZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSk7CisgICAg
aWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDEzOworCisgICAgc3Rh
dHVzID0gQ29uc29sZUNyZWF0ZShGZG8sICZGZG8tPkNvbnNvbGUpOworICAgIGlmICghTlRfU1VD
Q0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwxNDsKKwogICAgIEZ1bmN0aW9uRGV2aWNl
T2JqZWN0LT5GbGFncyB8PSBET19CVUZGRVJFRF9JTzsKIAogICAgIER4LT5GZG8gPSBGZG87CkBA
IC0zMjcyLDYgKzMyOTQsMTggQEAgRmRvQ3JlYXRlKAogICAgIEZ1bmN0aW9uRGV2aWNlT2JqZWN0
LT5GbGFncyAmPSB+RE9fREVWSUNFX0lOSVRJQUxJWklORzsKICAgICByZXR1cm4gU1RBVFVTX1NV
Q0NFU1M7CiAKK2ZhaWwxNDoKKyAgICBFcnJvcigiZmFpbDE0XG4iKTsKKworICAgIFJ0bFplcm9N
ZW1vcnkoJkZkby0+R250dGFiSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgc2l6ZW9mKFhF
TkJVU19HTlRUQUJfSU5URVJGQUNFKSk7CisKK2ZhaWwxMzoKKyAgICBFcnJvcigiZmFpbDEzXG4i
KTsKKworICAgIFJ0bFplcm9NZW1vcnkoJkZkby0+RXZ0Y2huSW50ZXJmYWNlLAorICAgICAgICAg
ICAgICAgICAgc2l6ZW9mKFhFTkJVU19FVlRDSE5fSU5URVJGQUNFKSk7CisKIGZhaWwxMjoKICAg
ICBFcnJvcigiZmFpbDEyXG4iKTsKIApAQCAtMzM3NCw2ICszNDA4LDEyIEBAIEZkb0Rlc3Ryb3ko
CiAgICAgQ29uc29sZURlc3Ryb3koRmRvLT5Db25zb2xlKTsKICAgICBGZG8tPkNvbnNvbGUgPSBO
VUxMOwogCisgICAgUnRsWmVyb01lbW9yeSgmRmRvLT5HbnR0YWJJbnRlcmZhY2UsCisgICAgICAg
ICAgICAgICAgICBzaXplb2YoWEVOQlVTX0dOVFRBQl9JTlRFUkZBQ0UpKTsKKworICAgIFJ0bFpl
cm9NZW1vcnkoJkZkby0+RXZ0Y2huSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgc2l6ZW9m
KFhFTkJVU19FVlRDSE5fSU5URVJGQUNFKSk7CisKICAgICBSdGxaZXJvTWVtb3J5KCZGZG8tPkNv
bnNvbGVJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkJVU19DT05TT0xF
X0lOVEVSRkFDRSkpOwogCmRpZmYgLS1naXQgYS9zcmMveGVuY29ucy9mZG8uaCBiL3NyYy94ZW5j
b25zL2Zkby5oCmluZGV4IDE4OWM3MGYuLmM2MWNjNTUgMTAwNjQ0Ci0tLSBhL3NyYy94ZW5jb25z
L2Zkby5oCisrKyBiL3NyYy94ZW5jb25zL2Zkby5oCkBAIC0zNyw2ICszNyw4IEBACiAjaW5jbHVk
ZSA8c3VzcGVuZF9pbnRlcmZhY2UuaD4KICNpbmNsdWRlIDxzdG9yZV9pbnRlcmZhY2UuaD4KICNp
bmNsdWRlIDxjb25zb2xlX2ludGVyZmFjZS5oPgorI2luY2x1ZGUgPGV2dGNobl9pbnRlcmZhY2Uu
aD4KKyNpbmNsdWRlIDxnbnR0YWJfaW50ZXJmYWNlLmg+CiAKICNpbmNsdWRlICJkcml2ZXIuaCIK
IApAQCAtMTAwLDYgKzEwMiw4IEBAIERFQ0xBUkVfRkRPX0dFVF9JTlRFUkZBQ0UoRGVidWcsIFBY
RU5CVVNfREVCVUdfSU5URVJGQUNFKQogREVDTEFSRV9GRE9fR0VUX0lOVEVSRkFDRShTdXNwZW5k
LCBQWEVOQlVTX1NVU1BFTkRfSU5URVJGQUNFKQogREVDTEFSRV9GRE9fR0VUX0lOVEVSRkFDRShT
dG9yZSwgUFhFTkJVU19TVE9SRV9JTlRFUkZBQ0UpCiBERUNMQVJFX0ZET19HRVRfSU5URVJGQUNF
KENvbnNvbGUsIFBYRU5CVVNfQ09OU09MRV9JTlRFUkZBQ0UpCitERUNMQVJFX0ZET19HRVRfSU5U
RVJGQUNFKEV2dGNobiwgUFhFTkJVU19FVlRDSE5fSU5URVJGQUNFKQorREVDTEFSRV9GRE9fR0VU
X0lOVEVSRkFDRShHbnR0YWIsIFBYRU5CVVNfR05UVEFCX0lOVEVSRkFDRSkKIAogZXh0ZXJuIE5U
U1RBVFVTCiBGZG9DcmVhdGUoCmRpZmYgLS1naXQgYS9zcmMveGVuY29ucy9mcm9udGVuZC5jIGIv
c3JjL3hlbmNvbnMvZnJvbnRlbmQuYwppbmRleCAzY2I0ZjA3Li5mYTc0NDNkIDEwMDc1NQotLS0g
YS9zcmMveGVuY29ucy9mcm9udGVuZC5jCisrKyBiL3NyYy94ZW5jb25zL2Zyb250ZW5kLmMKQEAg
LTQwLDYgKzQwLDcgQEAKIAogI2luY2x1ZGUgImRyaXZlci5oIgogI2luY2x1ZGUgImZyb250ZW5k
LmgiCisjaW5jbHVkZSAicmluZy5oIgogI2luY2x1ZGUgInRocmVhZC5oIgogI2luY2x1ZGUgImRi
Z19wcmludC5oIgogI2luY2x1ZGUgImFzc2VydC5oIgpAQCAtNjIsNiArNjMsNyBAQCBzdHJ1Y3Qg
X1hFTkNPTlNfRlJPTlRFTkQgewogCiAgICAgUENIQVIgICAgICAgICAgICAgICAgICAgICAgIE5h
bWU7CiAgICAgUENIQVIgICAgICAgICAgICAgICAgICAgICAgIFByb3RvY29sOworICAgIFBYRU5D
T05TX1JJTkcgICAgICAgICAgICAgICBSaW5nOwogCiAgICAgWEVOQlVTX0RFQlVHX0lOVEVSRkFD
RSAgICAgIERlYnVnSW50ZXJmYWNlOwogICAgIFhFTkJVU19TVVNQRU5EX0lOVEVSRkFDRSAgICBT
dXNwZW5kSW50ZXJmYWNlOwpAQCAtNjY0LDkgKzY2Niw5IEBAIEZyb250ZW5kQ29ubmVjdCgKICAg
ICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgZ290byBmYWlsMjsKIAotICAgIC8v
c3RhdHVzID0gUmluZ0Nvbm5lY3QoRnJvbnRlbmQtPlJpbmcpOwotICAgIC8vaWYgKCFOVF9TVUND
RVNTKHN0YXR1cykpCi0gICAgLy8gICAgZ290byBmYWlsMzsKKyAgICBzdGF0dXMgPSBSaW5nQ29u
bmVjdChGcm9udGVuZC0+UmluZyk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAg
ICAgIGdvdG8gZmFpbDM7CiAKICAgICBBdHRlbXB0ID0gMDsKICAgICBkbyB7CkBAIC02NzgsOSAr
NjgwLDkgQEAgRnJvbnRlbmRDb25uZWN0KAogICAgICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVz
KSkKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIC8vc3RhdHVzID0gUmluZ1N0b3JlV3Jp
dGUoRnJvbnRlbmQtPlJpbmcsIFRyYW5zYWN0aW9uKTsKLSAgICAgICAgLy9pZiAoIU5UX1NVQ0NF
U1Moc3RhdHVzKSkKLSAgICAgICAgLy8gICAgZ290byBhYm9ydDsKKyAgICAgICAgc3RhdHVzID0g
UmluZ1N0b3JlV3JpdGUoRnJvbnRlbmQtPlJpbmcsIFRyYW5zYWN0aW9uKTsKKyAgICAgICAgaWYg
KCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgICAgICBnb3RvIGFib3J0OwogCiAgICAgICAg
IHN0YXR1cyA9IFhFTkJVU19TVE9SRShUcmFuc2FjdGlvbkVuZCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UsCkBAIC02OTEsMTIgKzY5Mywx
MiBAQCBGcm9udGVuZENvbm5lY3QoCiAKICAgICAgICAgY29udGludWU7CiAKLSAgICAvL2Fib3J0
OgotICAgIC8vICAgIChWT0lEKVhFTkJVU19TVE9SRShUcmFuc2FjdGlvbkVuZCwKLSAgICAvLyAg
ICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKLSAgICAvLyAg
ICAgICAgICAgICAgICAgICAgICAgVHJhbnNhY3Rpb24sCi0gICAgLy8gICAgICAgICAgICAgICAg
ICAgICAgIEZBTFNFKTsKLSAgICAvLyAgICBicmVhazsKKyAgICBhYm9ydDoKKyAgICAgICAgKFZP
SUQpWEVOQlVTX1NUT1JFKFRyYW5zYWN0aW9uRW5kLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IFRyYW5zYWN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UpOworICAgICAg
ICBicmVhazsKICAgICB9IHdoaWxlIChzdGF0dXMgPT0gU1RBVFVTX1JFVFJZKTsKIAogICAgIGlm
ICghTlRfU1VDQ0VTUyhzdGF0dXMpKQpAQCAtNzQ3LDggKzc0OSw4IEBAIGZhaWw1OgogZmFpbDQ6
CiAgICAgRXJyb3IoImZhaWw0XG4iKTsKIAotLy9mYWlsMzoKLS8vICAgIEVycm9yKCJmYWlsM1xu
Iik7CitmYWlsMzoKKyAgICBFcnJvcigiZmFpbDNcbiIpOwogCiAgICAgWEVOQlVTX0RFQlVHKERl
cmVnaXN0ZXIsCiAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+RGVidWdJbnRlcmZhY2UsCkBA
IC03ODAsNyArNzgyLDcgQEAgRnJvbnRlbmREaXNjb25uZWN0KAogICAgIF9fRnJvbnRlbmRGcmVl
KEZyb250ZW5kLT5OYW1lKTsKICAgICBGcm9udGVuZC0+TmFtZSA9IE5VTEw7CiAKLSAgICAvL1Jp
bmdEaXNjb25uZWN0KEZyb250ZW5kLT5SaW5nKTsKKyAgICBSaW5nRGlzY29ubmVjdChGcm9udGVu
ZC0+UmluZyk7CiAKICAgICBYRU5CVVNfREVCVUcoRGVyZWdpc3RlciwKICAgICAgICAgICAgICAg
ICAgJkZyb250ZW5kLT5EZWJ1Z0ludGVyZmFjZSwKQEAgLTc5NywxMyArNzk5LDIxIEBAIEZyb250
ZW5kRW5hYmxlKAogICAgIElOICBQWEVOQ09OU19GUk9OVEVORCAgIEZyb250ZW5kCiAgICAgKQog
eworICAgIE5UU1RBVFVTICAgICAgICAgICAgICAgIHN0YXR1czsKKwogICAgIFRyYWNlKCI9PT09
PlxuIik7CiAKLSAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKEZyb250ZW5kKTsKLSAgICAvL1Jp
bmdFbmFibGUoRnJvbnRlbmQtPlJpbmcpOworICAgIHN0YXR1cyA9IFJpbmdFbmFibGUoRnJvbnRl
bmQtPlJpbmcpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZh
aWwxOwogCiAgICAgVHJhY2UoIjw9PT09XG4iKTsKICAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7
CisKK2ZhaWwxOgorICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7CisKKyAgICBy
ZXR1cm4gc3RhdHVzOwogfQogCiBzdGF0aWMgVk9JRApAQCAtODEzLDggKzgyMyw3IEBAIEZyb250
ZW5kRGlzYWJsZSgKIHsKICAgICBUcmFjZSgiPT09PT5cbiIpOwogCi0gICAgVU5SRUZFUkVOQ0VE
X1BBUkFNRVRFUihGcm9udGVuZCk7Ci0gICAgLy9SaW5nRGlzYWJsZShGcm9udGVuZC0+UmluZyk7
CisgICAgUmluZ0Rpc2FibGUoRnJvbnRlbmQtPlJpbmcpOwogCiAgICAgVHJhY2UoIjw9PT09XG4i
KTsKIH0KQEAgLTEyMDQsOCArMTIxMywxOSBAQCBGcm9udGVuZENyZWF0ZSgKICAgICBpZiAoIU5U
X1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgZ290byBmYWlsNDsKIAorICAgIHN0YXR1cyA9IFJp
bmdDcmVhdGUoKkZyb250ZW5kLCAmKCpGcm9udGVuZCktPlJpbmcpOworICAgIGlmICghTlRfU1VD
Q0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWw1OworCiAgICAgcmV0dXJuIFNUQVRVU19T
VUNDRVNTOwogCitmYWlsNToKKyAgICBFcnJvcigiZmFpbDVcbiIpOworCisgICAgVGhyZWFkQWxl
cnQoKCpGcm9udGVuZCktPkVqZWN0VGhyZWFkKTsKKyAgICBUaHJlYWRKb2luKCgqRnJvbnRlbmQp
LT5FamVjdFRocmVhZCk7CisgICAgKCpGcm9udGVuZCktPkVqZWN0VGhyZWFkID0gTlVMTDsKKwog
ZmFpbDQ6CiAgICAgRXJyb3IoImZhaWw0XG4iKTsKIApAQCAtMTI1Niw2ICsxMjc2LDkgQEAgRnJv
bnRlbmREZXN0cm95KAogCiAgICAgQVNTRVJUKEZyb250ZW5kLT5TdGF0ZSA9PSBGUk9OVEVORF9V
TktOT1dOKTsKIAorICAgIFJpbmdEZXN0cm95KEZyb250ZW5kLT5SaW5nKTsKKyAgICBGcm9udGVu
ZC0+UmluZyA9IE5VTEw7CisKICAgICBUaHJlYWRBbGVydChGcm9udGVuZC0+RWplY3RUaHJlYWQp
OwogICAgIFRocmVhZEpvaW4oRnJvbnRlbmQtPkVqZWN0VGhyZWFkKTsKICAgICBGcm9udGVuZC0+
RWplY3RUaHJlYWQgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvc3JjL3hlbmNvbnMvcmluZy5jIGIvc3Jj
L3hlbmNvbnMvcmluZy5jCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMyMWY0
ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMveGVuY29ucy9yaW5nLmMKQEAgLTAsMCArMSw1Nzgg
QEAKKy8qIENvcHlyaWdodCAoYykgQ2l0cml4IFN5c3RlbXMgSW5jLgorKiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLAorKiB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkCisqIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisqCisqICog
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisq
ICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlCisq
ICAgICBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogKiAgIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyogICAgIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUKKyogICAgIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlcgorKiAgICAgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5ECisqIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsCisqIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SCisqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAor
KiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IK
KyogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwKKyogV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HCisqIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRgorKiBTVUNIIERBTUFHRS4KKyovCisKKyNpbmNsdWRlIDxudGRkay5o
PgorI2luY2x1ZGUgPG50c3Ryc2FmZS5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUg
PHhlbi5oPgorCisjaW5jbHVkZSA8ZGVidWdfaW50ZXJmYWNlLmg+CisjaW5jbHVkZSA8c3RvcmVf
aW50ZXJmYWNlLmg+CisjaW5jbHVkZSA8ZXZ0Y2huX2ludGVyZmFjZS5oPgorI2luY2x1ZGUgPGdu
dHRhYl9pbnRlcmZhY2UuaD4KKworI2luY2x1ZGUgImZyb250ZW5kLmgiCisjaW5jbHVkZSAicmlu
Zy5oIgorI2luY2x1ZGUgImRiZ19wcmludC5oIgorI2luY2x1ZGUgImFzc2VydC5oIgorI2luY2x1
ZGUgInV0aWwuaCIKKworc3RydWN0IF9YRU5DT05TX1JJTkcgeworICAgIFBYRU5DT05TX0ZST05U
RU5EICAgICAgICAgICBGcm9udGVuZDsKKyAgICBLU1BJTl9MT0NLICAgICAgICAgICAgICAgICAg
TG9jazsKKyAgICBQTURMICAgICAgICAgICAgICAgICAgICAgICAgTWRsOworICAgIHN0cnVjdCB4
ZW5jb25zX2ludGVyZmFjZSAgICAqU2hhcmVkOworICAgIFBYRU5CVVNfR05UVEFCX0VOVFJZICAg
ICAgICBFbnRyeTsKKyAgICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgQ29ubmVjdGVkOwor
ICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICBFbmFibGVkOworICAgIEtEUEMgICAgICAg
ICAgICAgICAgICAgICAgICBEcGM7CisgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIERw
Y3M7CisgICAgUFhFTkJVU19FVlRDSE5fQ0hBTk5FTCAgICAgIENoYW5uZWw7CisgICAgVUxPTkcg
ICAgICAgICAgICAgICAgICAgICAgIEV2ZW50czsKKyAgICBYRU5CVVNfU1RPUkVfSU5URVJGQUNF
ICAgICAgU3RvcmVJbnRlcmZhY2U7CisgICAgWEVOQlVTX0dOVFRBQl9JTlRFUkZBQ0UgICAgIEdu
dHRhYkludGVyZmFjZTsKKyAgICBYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRSAgICAgRXZ0Y2huSW50
ZXJmYWNlOworICAgIFhFTkJVU19ERUJVR19JTlRFUkZBQ0UgICAgICBEZWJ1Z0ludGVyZmFjZTsK
KyAgICBQWEVOQlVTX0RFQlVHX0NBTExCQUNLICAgICAgRGVidWdDYWxsYmFjazsKKyAgICBQWEVO
QlVTX0dOVFRBQl9DQUNIRSAgICAgICAgR250dGFiQ2FjaGU7Cit9OworCisjZGVmaW5lIFJJTkdf
VEFHICAnR05JUicKKyNkZWZpbmUgTUFYTkFNRUxFTiAgMTI4CisKK3N0YXRpYyBGT1JDRUlOTElO
RSBQVk9JRAorX19SaW5nQWxsb2NhdGUoCisgICAgSU4gIFVMT05HICAgTGVuZ3RoCisgICAgKQor
eworICAgIHJldHVybiBfX0FsbG9jYXRlUG9vbFdpdGhUYWcoTm9uUGFnZWRQb29sLCBMZW5ndGgs
IFJJTkdfVEFHKTsKK30KKworc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKK19fUmluZ0ZyZWUoCisg
ICAgSU4gIFBWT0lEICAgQnVmZmVyCisgICAgKQoreworICAgIF9fRnJlZVBvb2xXaXRoVGFnKEJ1
ZmZlciwgUklOR19UQUcpOworfQorCitfX2Rydl9yZXF1aXJlc0lSUUwoRElTUEFUQ0hfTEVWRUwp
CitSaW5nQWNxdWlyZUxvY2soCisgICAgSU4gIFBYRU5DT05TX1JJTkcgICBSaW5nCisgICAgKQor
eworICAgIEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwoKSwgPT0gLCBESVNQQVRDSF9MRVZFTCk7
CisKKyAgICBLZUFjcXVpcmVTcGluTG9ja0F0RHBjTGV2ZWwoJlJpbmctPkxvY2spOworfQorCitf
X2Rydl9yZXF1aXJlc0lSUUwoRElTUEFUQ0hfTEVWRUwpCitSaW5nUmVsZWFzZUxvY2soCisgICAg
SU4gIFBYRU5DT05TX1JJTkcgICBSaW5nCisgICAgKQoreworICAgIEFTU0VSVDNVKEtlR2V0Q3Vy
cmVudElycWwoKSwgPT0gLCBESVNQQVRDSF9MRVZFTCk7CisKKyAgICBLZVJlbGVhc2VTcGluTG9j
a0Zyb21EcGNMZXZlbCgmUmluZy0+TG9jayk7Cit9CisKK3N0YXRpYyBCT09MRUFOCitSaW5nUG9s
bCgKKyAgICBJTiAgUFhFTkNPTlNfUklORyAgIFJpbmcKKyAgICApCit7CisgICAgVU5SRUZFUkVO
Q0VEX1BBUkFNRVRFUihSaW5nKTsKKyAgICByZXR1cm4gRkFMU0U7Cit9CisKK19fZHJ2X2Z1bmN0
aW9uQ2xhc3MoS0RFRkVSUkVEX1JPVVRJTkUpCitfX2Rydl9tYXhJUlFMKERJU1BBVENIX0xFVkVM
KQorX19kcnZfbWluSVJRTChESVNQQVRDSF9MRVZFTCkKK19fZHJ2X3JlcXVpcmVzSVJRTChESVNQ
QVRDSF9MRVZFTCkKK19fZHJ2X3NhbWVJUlFMCitzdGF0aWMgVk9JRAorUmluZ0RwYygKKyAgICBJ
TiAgUEtEUEMgICAgICAgRHBjLAorICAgIElOICBQVk9JRCAgICAgICBDb250ZXh0LAorICAgIElO
ICBQVk9JRCAgICAgICBBcmd1bWVudDEsCisgICAgSU4gIFBWT0lEICAgICAgIEFyZ3VtZW50Mgor
ICAgICkKK3sKKyAgICBQWEVOQ09OU19SSU5HICAgUmluZyA9IENvbnRleHQ7CisKKyAgICBVTlJF
RkVSRU5DRURfUEFSQU1FVEVSKERwYyk7CisgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihBcmd1
bWVudDEpOworICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoQXJndW1lbnQyKTsKKworICAgIEFT
U0VSVChSaW5nICE9IE5VTEwpOworCisgICAgZm9yICg7OykgeworICAgICAgICBpZiAoIVJpbmdQ
b2xsKFJpbmcpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgKFZPSUQpIFhFTkJV
U19FVlRDSE4oVW5tYXNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICZSaW5nLT5FdnRjaG5J
bnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgUmluZy0+Q2hhbm5lbCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBGQUxT
RSk7Cit9CisKK0tTRVJWSUNFX1JPVVRJTkUgICAgUmluZ0V2dGNobkNhbGxiYWNrOworCitCT09M
RUFOCitSaW5nRXZ0Y2huQ2FsbGJhY2soCisgICAgSU4gIFBLSU5URVJSVVBUIEludGVycnVwdE9i
amVjdCwKKyAgICBJTiAgUFZPSUQgICAgICAgQXJndW1lbnQKKyAgICApCit7CisgICAgUFhFTkNP
TlNfUklORyAgIFJpbmcgPSBBcmd1bWVudDsKKworICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIo
SW50ZXJydXB0T2JqZWN0KTsKKworICAgIEFTU0VSVChSaW5nICE9IE5VTEwpOworCisgICAgUmlu
Zy0+RXZlbnRzKys7CisKKyAgICBpZiAoS2VJbnNlcnRRdWV1ZURwYygmUmluZy0+RHBjLCBOVUxM
LCBOVUxMKSkKKyAgICAgICAgUmluZy0+RHBjcysrOworCisgICAgcmV0dXJuIFRSVUU7Cit9CisK
K3N0YXRpYyBWT0lECitSaW5nRGVidWdDYWxsYmFjaygKKyAgICBJTiAgUFZPSUQgICAgICAgQXJn
dW1lbnQsCisgICAgSU4gIEJPT0xFQU4gICAgIENyYXNoaW5nCisgICAgKQoreworICAgIFBYRU5D
T05TX1JJTkcgICBSaW5nID0gQXJndW1lbnQ7CisKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVS
KENyYXNoaW5nKTsKKworICAgIFhFTkJVU19ERUJVRyhQcmludGYsCisgICAgICAgICAgICAgICAg
ICZSaW5nLT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIjB4JXAgWyVzXVxuIiwK
KyAgICAgICAgICAgICAgICAgUmluZywKKyAgICAgICAgICAgICAgICAgIChSaW5nLT5FbmFibGVk
KSA/ICJFTkFCTEVEIiA6ICJESVNBQkxFRCIpOworCisgICAgWEVOQlVTX0RFQlVHKFByaW50ZiwK
KyAgICAgICAgICAgICAgICAgJlJpbmctPkRlYnVnSW50ZXJmYWNlLAorICAgICAgICAgICAgICAg
ICAiRXZlbnRzID0gJWx1LCBEcGNzID0gJWx1XG4iLAorICAgICAgICAgICAgICAgICBSaW5nLT5F
dmVudHMsCisgICAgICAgICAgICAgICAgIFJpbmctPkRwY3MpOworCisgICAgWEVOQlVTX0RFQlVH
KFByaW50ZiwKKyAgICAgICAgICAgICAgICAgJlJpbmctPkRlYnVnSW50ZXJmYWNlLAorICAgICAg
ICAgICAgICAgICAiU0hBUkVEOiBpbl9jb25zID0gJXUgaW5fcHJvZCA9ICV1IG91dF9jb25zID0g
JXUgb3V0X3Byb2QgPSAldVxuIiwKKyAgICAgICAgICAgICAgICAgUmluZy0+U2hhcmVkLT5pbl9j
b25zLAorICAgICAgICAgICAgICAgICBSaW5nLT5TaGFyZWQtPmluX3Byb2QsCisgICAgICAgICAg
ICAgICAgIFJpbmctPlNoYXJlZC0+b3V0X2NvbnMsCisgICAgICAgICAgICAgICAgIFJpbmctPlNo
YXJlZC0+b3V0X3Byb2QpOworCisgICAgLy8gUmF3IER1bXAgb2YgaW4vb3V0IGJ1ZmZlcnM/Cit9
CisKK05UU1RBVFVTCitSaW5nQ29ubmVjdCgKKyAgICBJTiAgUFhFTkNPTlNfUklORyAgIFJpbmcK
KyAgICApCit7CisgICAgQ0hBUiAgICAgICAgICAgICAgICBOYW1lW01BWE5BTUVMRU5dOworICAg
IFBGTl9OVU1CRVIgICAgICAgICAgUGZuOworICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVz
OworCisgICAgVHJhY2UoIj09PT09PlxuIik7CisKKyAgICBzdGF0dXMgPSBYRU5CVVNfREVCVUco
QWNxdWlyZSwgJlJpbmctPkRlYnVnSW50ZXJmYWNlKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3Rh
dHVzKSkKKyAgICAgICAgZ290byBmYWlsMTsKKworICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShB
Y3F1aXJlLCAmUmluZy0+U3RvcmVJbnRlcmZhY2UpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0
dXMpKQorICAgICAgICBnb3RvIGZhaWwyOworCisgICAgc3RhdHVzID0gWEVOQlVTX0VWVENITihB
Y3F1aXJlLCAmUmluZy0+RXZ0Y2huSW50ZXJmYWNlKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3Rh
dHVzKSkKKyAgICAgICAgZ290byBmYWlsMzsKKworICAgIHN0YXR1cyA9IFhFTkJVU19HTlRUQUIo
QWNxdWlyZSwgJlJpbmctPkdudHRhYkludGVyZmFjZSk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0
YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDQ7CisKKyAgICBzdGF0dXMgPSBSdGxTdHJpbmdDYlBy
aW50ZkEoTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihOYW1l
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4ZW5jb25zXyVzX2dudHRhYiIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQZG9HZXROYW1lKEZyb250ZW5kR2V0
UGRvKFJpbmctPkZyb250ZW5kKSkpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAg
ICAgICBnb3RvIGZhaWw1OworCisgICAgc3RhdHVzID0gWEVOQlVTX0dOVFRBQihDcmVhdGVDYWNo
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUmluZy0+R250dGFiSW50ZXJmYWNlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSaW5nQWNxdWlyZUxvY2ssCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmluZ1JlbGVhc2VMb2NrLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFJpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlJpbmct
PkdudHRhYkNhY2hlKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290
byBmYWlsNjsKKworICAgIFJpbmctPk1kbCA9IF9fQWxsb2NhdGVQYWdlKCk7CisKKyAgICBzdGF0
dXMgPSBTVEFUVVNfTk9fTUVNT1JZOworICAgIGlmIChSaW5nLT5NZGwgPT0gTlVMTCkKKyAgICAg
ICAgZ290byBmYWlsNzsKKworICAgIEFTU0VSVChSaW5nLT5NZGwtPk1kbEZsYWdzICYgTURMX01B
UFBFRF9UT19TWVNURU1fVkEpOworICAgIFJpbmctPlNoYXJlZCA9IFJpbmctPk1kbC0+TWFwcGVk
U3lzdGVtVmE7CisgICAgQVNTRVJUKFJpbmctPlNoYXJlZCAhPSBOVUxMKTsKKworICAgIFBmbiA9
IE1tR2V0TWRsUGZuQXJyYXkoUmluZy0+TWRsKVswXTsKKworICAgIHN0YXR1cyA9IFhFTkJVU19H
TlRUQUIoUGVybWl0Rm9yZWlnbkFjY2VzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZS
aW5nLT5HbnR0YWJJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBSaW5nLT5H
bnR0YWJDYWNoZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBGcm9udGVuZEdldEJhY2tlbmREb21haW4oUmluZy0+RnJvbnRlbmQp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgUGZuLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgRkFMU0UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAmUmluZy0+RW50cnkpOwor
ICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWw4OworCisgICAg
UmluZy0+Q2hhbm5lbCA9IFhFTkJVU19FVlRDSE4oT3BlbiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmUmluZy0+RXZ0Y2huSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFhFTkJVU19FVlRDSE5fVFlQRV9VTkJPVU5ELAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFJpbmdFdnRjaG5DYWxsYmFjaywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBSaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEZyb250ZW5kR2V0QmFja2VuZERvbWFpbihSaW5nLT5Gcm9udGVuZCksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSk7CisKKyAgICBzdGF0dXMgPSBTVEFUVVNfVU5T
VUNDRVNTRlVMOworICAgIGlmIChSaW5nLT5DaGFubmVsID09IE5VTEwpCisgICAgICAgIGdvdG8g
ZmFpbDk7CisKKyAgICAoVk9JRClYRU5CVVNfRVZUQ0hOKFVubWFzaywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICZSaW5nLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAg
ICBSaW5nLT5DaGFubmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCisgICAgICAg
ICAgICAgICAgICAgICAgICBUUlVFKTsKKworICAgIEFTU0VSVCghUmluZy0+Q29ubmVjdGVkKTsK
KyAgICBSaW5nLT5Db25uZWN0ZWQgPSBUUlVFOworCisgICAgc3RhdHVzID0gWEVOQlVTX0RFQlVH
KFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmUmluZy0+RGVidWdJbnRlcmZh
Y2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIF9fTU9EVUxFX18gInxSSU5HIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgUmluZ0RlYnVnQ2FsbGJhY2ssCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIFJpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZSaW5nLT5EZWJ1Z0Nh
bGxiYWNrKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBmYWls
MTA7CisKKyAgICBUcmFjZSgiPD09PT09XG4iKTsKKyAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7
CisKK2ZhaWwxMDoKKyAgICBFcnJvcigiZmFpbDEwXG4iKTsKKworICAgIFJpbmctPkNvbm5lY3Rl
ZCA9IEZBTFNFOworCisgICAgWEVOQlVTX0VWVENITihDbG9zZSwKKyAgICAgICAgICAgICAgICAg
ICZSaW5nLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICBSaW5nLT5DaGFubmVs
KTsKKyAgICBSaW5nLT5DaGFubmVsID0gTlVMTDsKKworZmFpbDk6CisgICAgRXJyb3IoImZhaWw5
XG4iKTsKKworICAgIChWT0lEKVhFTkJVU19HTlRUQUIoUmV2b2tlRm9yZWlnbkFjY2VzcywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICZSaW5nLT5HbnR0YWJJbnRlcmZhY2UsCisgICAgICAgICAg
ICAgICAgICAgICAgICBSaW5nLT5HbnR0YWJDYWNoZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
IFRSVUUsCisgICAgICAgICAgICAgICAgICAgICAgICBSaW5nLT5FbnRyeSk7CisgICAgUmluZy0+
RW50cnkgPSBOVUxMOworCitmYWlsODoKKyAgICBFcnJvcigiZmFpbDhcbiIpOworCisgICAgUnRs
WmVyb01lbW9yeShSaW5nLT5TaGFyZWQsIFBBR0VfU0laRSk7CisKKyAgICBSaW5nLT5TaGFyZWQg
PSBOVUxMOworICAgIF9fRnJlZVBhZ2UoUmluZy0+TWRsKTsKKyAgICBSaW5nLT5NZGwgPSBOVUxM
OworCisKK2ZhaWw3OgorICAgIEVycm9yKCJmYWlsN1xuIik7CisKKyAgICBYRU5CVVNfR05UVEFC
KERlc3Ryb3lDYWNoZSwKKyAgICAgICAgICAgICAgICAgICZSaW5nLT5HbnR0YWJJbnRlcmZhY2Us
CisgICAgICAgICAgICAgICAgICBSaW5nLT5HbnR0YWJDYWNoZSk7CisgICAgUmluZy0+R250dGFi
Q2FjaGUgPSBOVUxMOworCitmYWlsNjoKKyAgICBFcnJvcigiZmFpbDZcbiIpOworCitmYWlsNToK
KyAgICBFcnJvcigiZmFpbDVcbiIpOworCisgICAgWEVOQlVTX0dOVFRBQihSZWxlYXNlLCAmUmlu
Zy0+R250dGFiSW50ZXJmYWNlKTsKKworZmFpbDQ6CisgICAgRXJyb3IoImZhaWw0XG4iKTsKKwor
ICAgIFhFTkJVU19FVlRDSE4oUmVsZWFzZSwgJlJpbmctPkV2dGNobkludGVyZmFjZSk7CisKK2Zh
aWwzOgorICAgIEVycm9yKCJmYWlsM1xuIik7CisKKyAgICBYRU5CVVNfU1RPUkUoUmVsZWFzZSwg
JlJpbmctPlN0b3JlSW50ZXJmYWNlKTsKKworZmFpbDI6CisgICAgRXJyb3IoImZhaWwyXG4iKTsK
KworICAgIFhFTkJVU19ERUJVRyhSZWxlYXNlLCAmUmluZy0+RGVidWdJbnRlcmZhY2UpOworCitm
YWlsMToKKyAgICBFcnJvcigiZmFpbDEgKCUwOHgpXG4iLCBzdGF0dXMpOworCisgICAgcmV0dXJu
IHN0YXR1czsKK30KKworTlRTVEFUVVMKK1JpbmdTdG9yZVdyaXRlKAorICAgIElOICBQWEVOQ09O
U19SSU5HICAgUmluZywKKyAgICBJTiAgUFZPSUQgICAgICAgICAgIFRyYW5zYWN0aW9uCisgICAg
KQoreworICAgIFVMT05HICAgICAgICAgICAgICAgR3JhbnRSZWY7CisgICAgVUxPTkcgICAgICAg
ICAgICAgICBQb3J0OworICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVzOworCisgICAgUG9y
dCA9IFhFTkJVU19FVlRDSE4oR2V0UG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAmUmlu
Zy0+RXZ0Y2huSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgIFJpbmctPkNoYW5u
ZWwpOworCisgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFByaW50ZiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgJlJpbmctPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBUcmFuc2FjdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmRHZXRQ
YXRoKFJpbmctPkZyb250ZW5kKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgInBvcnQiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAiJXUiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBQb3J0KTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBmYWls
MTsKKworICAgIEdyYW50UmVmID0gWEVOQlVTX0dOVFRBQihHZXRSZWZlcmVuY2UsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZSaW5nLT5HbnR0YWJJbnRlcmZhY2UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFJpbmctPkVudHJ5KTsKKworICAgIHN0YXR1cyA9IFhFTkJVU19T
VE9SRShQcmludGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZSaW5nLT5TdG9yZUludGVy
ZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNhY3Rpb24sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIEZyb250ZW5kR2V0UGF0aChSaW5nLT5Gcm9udGVuZCksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICJyaW5nLXJlZiIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICIldSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIEdyYW50UmVmKTsKKyAgICBpZiAoIU5U
X1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBmYWlsMjsKKworICAgIHJldHVybiBTVEFU
VVNfU1VDQ0VTUzsKKworZmFpbDI6CisgICAgRXJyb3IoImZhaWwyXG4iKTsKKworZmFpbDE6Cisg
ICAgRXJyb3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVzKTsKKworICAgIHJldHVybiBzdGF0dXM7
Cit9CisKK05UU1RBVFVTCitSaW5nRW5hYmxlKAorICAgIElOICBQWEVOQ09OU19SSU5HICAgUmlu
ZworICAgICkKK3sKKyAgICBUcmFjZSgiPT09PT0+XG4iKTsKKworICAgIEFTU0VSVDNVKEtlR2V0
Q3VycmVudElycWwoKSwgPT0gLCBESVNQQVRDSF9MRVZFTCk7CisKKyAgICBLZUFjcXVpcmVTcGlu
TG9ja0F0RHBjTGV2ZWwoJlJpbmctPkxvY2spOworICAgIFJpbmctPkVuYWJsZWQgPSBUUlVFOwor
ICAgIEtlUmVsZWFzZVNwaW5Mb2NrRnJvbURwY0xldmVsKCZSaW5nLT5Mb2NrKTsKKworICAgIChW
T0lEKUtlSW5zZXJ0UXVldWVEcGMoJlJpbmctPkRwYywgTlVMTCwgTlVMTCk7CisKKyAgICBUcmFj
ZSgiPD09PT09XG4iKTsKKyAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7Cit9CisKK1ZPSUQKK1Jp
bmdEaXNhYmxlKAorICAgIElOICBQWEVOQ09OU19SSU5HICAgUmluZworICAgICkKK3sKKyAgICBU
cmFjZSgiPT09PT0+XG4iKTsKKworICAgIC8vIGVtcHR5IHF1ZXVlKHMpCisKKyAgICBBU1NFUlQz
VShLZUdldEN1cnJlbnRJcnFsKCksID09ICwgRElTUEFUQ0hfTEVWRUwpOworCisgICAgS2VBY3F1
aXJlU3BpbkxvY2tBdERwY0xldmVsKCZSaW5nLT5Mb2NrKTsKKyAgICBSaW5nLT5FbmFibGVkID0g
RkFMU0U7CisgICAgS2VSZWxlYXNlU3BpbkxvY2tGcm9tRHBjTGV2ZWwoJlJpbmctPkxvY2spOwor
CisgICAgVHJhY2UoIjw9PT09PVxuIik7Cit9CisKK1ZPSUQKK1JpbmdEaXNjb25uZWN0KAorICAg
IElOICBQWEVOQ09OU19SSU5HICAgUmluZworICAgICkKK3sKKyAgICBUcmFjZSgiPT09PT0+XG4i
KTsKKworICAgIFhFTkJVU19ERUJVRyhEZXJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAmUmlu
Zy0+RGVidWdJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgIFJpbmctPkRlYnVnQ2FsbGJhY2sp
OworICAgIFJpbmctPkRlYnVnQ2FsbGJhY2sgPSBOVUxMOworCisgICAgQVNTRVJUKFJpbmctPkNv
bm5lY3RlZCk7CisgICAgUmluZy0+Q29ubmVjdGVkID0gRkFMU0U7CisKKyAgICBBU1NFUlQzVShL
ZUdldEN1cnJlbnRJcnFsKCksID09ICwgRElTUEFUQ0hfTEVWRUwpOworCisgICAgUmluZy0+RHBj
cyA9IDA7CisKKyAgICBSaW5nLT5FdmVudHMgPSAwOworCisgICAgWEVOQlVTX0VWVENITihDbG9z
ZSwKKyAgICAgICAgICAgICAgICAgICZSaW5nLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAg
ICAgICAgICBSaW5nLT5DaGFubmVsKTsKKyAgICBSaW5nLT5DaGFubmVsID0gTlVMTDsKKworICAg
IChWT0lEKVhFTkJVU19HTlRUQUIoUmV2b2tlRm9yZWlnbkFjY2VzcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICZSaW5nLT5HbnR0YWJJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAg
ICBSaW5nLT5HbnR0YWJDYWNoZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCisgICAg
ICAgICAgICAgICAgICAgICAgICBSaW5nLT5FbnRyeSk7CisgICAgUmluZy0+RW50cnkgPSBOVUxM
OworCisgICAgUnRsWmVyb01lbW9yeShSaW5nLT5TaGFyZWQsIFBBR0VfU0laRSk7CisKKyAgICBS
aW5nLT5TaGFyZWQgPSBOVUxMOworICAgIF9fRnJlZVBhZ2UoUmluZy0+TWRsKTsKKyAgICBSaW5n
LT5NZGwgPSBOVUxMOworCisgICAgWEVOQlVTX0dOVFRBQihEZXN0cm95Q2FjaGUsCisgICAgICAg
ICAgICAgICAgICAmUmluZy0+R250dGFiSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgUmlu
Zy0+R250dGFiQ2FjaGUpOworICAgIFJpbmctPkdudHRhYkNhY2hlID0gTlVMTDsKKworICAgIFhF
TkJVU19HTlRUQUIoUmVsZWFzZSwgJlJpbmctPkdudHRhYkludGVyZmFjZSk7CisKKyAgICBYRU5C
VVNfRVZUQ0hOKFJlbGVhc2UsICZSaW5nLT5FdnRjaG5JbnRlcmZhY2UpOworCisgICAgWEVOQlVT
X1NUT1JFKFJlbGVhc2UsICZSaW5nLT5TdG9yZUludGVyZmFjZSk7CisKKyAgICBYRU5CVVNfREVC
VUcoUmVsZWFzZSwgJlJpbmctPkRlYnVnSW50ZXJmYWNlKTsKKworICAgIFRyYWNlKCI8PT09PT1c
biIpOworfQorCitOVFNUQVRVUworUmluZ0NyZWF0ZSgKKyAgICBJTiAgUFhFTkNPTlNfRlJPTlRF
TkQgICBGcm9udGVuZCwKKyAgICBPVVQgUFhFTkNPTlNfUklORyAgICAgICAqUmluZworICAgICkK
K3sKKyAgICBOVFNUQVRVUyAgICAgICAgICAgICAgICBzdGF0dXM7CisKKyAgICAqUmluZyA9IF9f
UmluZ0FsbG9jYXRlKHNpemVvZihYRU5DT05TX1JJTkcpKTsKKworICAgIHN0YXR1cyA9IFNUQVRV
U19OT19NRU1PUlk7CisgICAgaWYgKCpSaW5nID09IE5VTEwpCisgICAgICAgIGdvdG8gZmFpbDE7
CisKKyAgICAoKlJpbmcpLT5Gcm9udGVuZCA9IEZyb250ZW5kOworCisgICAgRmRvR2V0R250dGFi
SW50ZXJmYWNlKFBkb0dldEZkbyhGcm9udGVuZEdldFBkbyhGcm9udGVuZCkpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAmKCpSaW5nKS0+R250dGFiSW50ZXJmYWNlKTsKKworICAgIEZkb0dl
dEV2dGNobkludGVyZmFjZShQZG9HZXRGZG8oRnJvbnRlbmRHZXRQZG8oRnJvbnRlbmQpKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgJigqUmluZyktPkV2dGNobkludGVyZmFjZSk7CisKKyAg
ICBGZG9HZXRTdG9yZUludGVyZmFjZShQZG9HZXRGZG8oRnJvbnRlbmRHZXRQZG8oRnJvbnRlbmQp
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAmKCpSaW5nKS0+U3RvcmVJbnRlcmZhY2UpOwor
CisgICAgRmRvR2V0RGVidWdJbnRlcmZhY2UoUGRvR2V0RmRvKEZyb250ZW5kR2V0UGRvKEZyb250
ZW5kKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgJigqUmluZyktPkRlYnVnSW50ZXJmYWNl
KTsKKworICAgIEtlSW5pdGlhbGl6ZVNwaW5Mb2NrKCYoKlJpbmcpLT5Mb2NrKTsKKworICAgIEtl
SW5pdGlhbGl6ZURwYygmKCpSaW5nKS0+RHBjLCBSaW5nRHBjLCAqUmluZyk7CisKKyAgICByZXR1
cm4gU1RBVFVTX1NVQ0NFU1M7CisKK2ZhaWwxOgorICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIs
IHN0YXR1cyk7CisKKyAgICByZXR1cm4gc3RhdHVzOworfQorCitWT0lECitSaW5nRGVzdHJveSgK
KyAgICBJTiAgUFhFTkNPTlNfUklORyAgIFJpbmcKKyAgICApCit7CisgICAgUnRsWmVyb01lbW9y
eSgmUmluZy0+RHBjLCBzaXplb2YoS0RQQykpOworCisgICAgUnRsWmVyb01lbW9yeSgmUmluZy0+
TG9jaywgc2l6ZW9mKEtTUElOX0xPQ0spKTsKKworICAgIFJ0bFplcm9NZW1vcnkoJlJpbmctPkdu
dHRhYkludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIHNpemVvZihYRU5CVVNfR05UVEFCX0lO
VEVSRkFDRSkpOworCisgICAgUnRsWmVyb01lbW9yeSgmUmluZy0+RXZ0Y2huSW50ZXJmYWNlLAor
ICAgICAgICAgICAgICAgICAgc2l6ZW9mKFhFTkJVU19FVlRDSE5fSU5URVJGQUNFKSk7CisKKyAg
ICBSdGxaZXJvTWVtb3J5KCZSaW5nLT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAg
IHNpemVvZihYRU5CVVNfU1RPUkVfSU5URVJGQUNFKSk7CisKKyAgICBSdGxaZXJvTWVtb3J5KCZS
aW5nLT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIHNpemVvZihYRU5CVVNfREVC
VUdfSU5URVJGQUNFKSk7CisKKyAgICBSaW5nLT5Gcm9udGVuZCA9IE5VTEw7CisKKyAgICBBU1NF
UlQoSXNaZXJvTWVtb3J5KFJpbmcsIHNpemVvZihYRU5DT05TX1JJTkcpKSk7CisgICAgX19SaW5n
RnJlZShSaW5nKTsKK30KZGlmZiAtLWdpdCBhL3NyYy94ZW5jb25zL3JpbmcuaCBiL3NyYy94ZW5j
b25zL3JpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lOWY1NDlkCi0t
LSAvZGV2L251bGwKKysrIGIvc3JjL3hlbmNvbnMvcmluZy5oCkBAIC0wLDAgKzEsNzggQEAKKy8q
IENvcHlyaWdodCAoYykgQ2l0cml4IFN5c3RlbXMgSW5jLgorKiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LAorKiB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
CisqIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisqCisqICogICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisqICAgICBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlCisqICAgICBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyogKiAgIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUKKyogICAgIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlcgorKiAgICAgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5ECisqIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsCisqIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SCisqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorKiBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyogU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwK
KyogV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HCisqIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRgorKiBTVUNIIERBTUFHRS4KKyovCisKKyNpZm5kZWYgX1hFTkNPTlNfUklOR19I
CisjZGVmaW5lIF9YRU5DT05TX1JJTkdfSAorCisjaW5jbHVkZSA8bnRkZGsuaD4KKwordHlwZWRl
ZiBzdHJ1Y3QgX1hFTkNPTlNfUklORyBYRU5DT05TX1JJTkcsICpQWEVOQ09OU19SSU5HOworCisj
aW5jbHVkZSAiZnJvbnRlbmQuaCIKKworZXh0ZXJuIE5UU1RBVFVTCitSaW5nQ3JlYXRlKAorICAg
IElOICBQWEVOQ09OU19GUk9OVEVORCAgIEZyb250ZW5kLAorICAgIE9VVCBQWEVOQ09OU19SSU5H
ICAgICAgICpSaW5nCisgICAgKTsKKworZXh0ZXJuIFZPSUQKK1JpbmdEZXN0cm95KAorICAgIElO
ICBQWEVOQ09OU19SSU5HICAgUmluZworICAgICk7CisKK2V4dGVybiBOVFNUQVRVUworUmluZ0Nv
bm5lY3QoCisgICAgSU4gIFBYRU5DT05TX1JJTkcgICBSaW5nCisgICAgKTsKKworZXh0ZXJuIE5U
U1RBVFVTCitSaW5nU3RvcmVXcml0ZSgKKyAgICBJTiAgUFhFTkNPTlNfUklORyAgIFJpbmcsCisg
ICAgSU4gIFBWT0lEICAgICAgICAgICBUcmFuc2FjdGlvbgorICAgICk7CisKK2V4dGVybiBOVFNU
QVRVUworUmluZ0VuYWJsZSgKKyAgICBJTiAgUFhFTkNPTlNfUklORyAgIFJpbmcKKyAgICApOwor
CitleHRlcm4gVk9JRAorUmluZ0Rpc2FibGUoCisgICAgSU4gIFBYRU5DT05TX1JJTkcgICBSaW5n
CisgICAgKTsKKworZXh0ZXJuIFZPSUQKK1JpbmdEaXNjb25uZWN0KAorICAgIElOICBQWEVOQ09O
U19SSU5HICAgUmluZworICAgICk7CisKKyNlbmRpZiAvLyBfWEVOQ09OU19SSU5HX0gKZGlmZiAt
LWdpdCBhL3ZzMjAxNS94ZW5jb25zL3hlbmNvbnMudmN4cHJvaiBiL3ZzMjAxNS94ZW5jb25zL3hl
bmNvbnMudmN4cHJvagppbmRleCAzYTFiOTM0Li5hMmZlN2Q2IDEwMDY0NAotLS0gYS92czIwMTUv
eGVuY29ucy94ZW5jb25zLnZjeHByb2oKKysrIGIvdnMyMDE1L3hlbmNvbnMveGVuY29ucy52Y3hw
cm9qCkBAIC02OCw2ICs2OCw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMv
eGVuY29ucy9mZG8uYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5j
b25zL3Bkby5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbmNvbnMv
ZnJvbnRlbmQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5jb25z
L3JpbmcuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5jb25zL3Jl
Z2lzdHJ5LmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVuY29ucy9j
b25zb2xlLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVuY29ucy9z
dHJlYW0uYyIgLz4KLS0gCjIuOC4zCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlz
dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp
c3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 14:09:49 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 14:09:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeLkK-0006p2-SA; Wed, 24 Jan 2018 14:09:48 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cbgo=et=citrix.com=prvs=555590473=owen.smith@srs-us1.protection.inumbo.net>)
 id 1eeLkK-0006ou-5P
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 14:09:48 +0000
X-Inumbo-ID: bd39143f-010f-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id bd39143f-010f-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 14:06:15 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,407,1511827200"; d="scan'208";a="459468934"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 24 Jan 2018 14:05:08 +0000
Message-ID: <20180124140515.12284-8-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20180124140515.12284-1-owen.smith@citrix.com>
References: <20180124140515.12284-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 07/14] Expose console interface from Pdo
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKUGRvIHJlZ2lzdGVycyB0
aGUgeGVuY29ucyBpbnRlcmZhY2UgZ3VpZCBhbmQgaW1wbGVtZW50cwpib2lsZXJwbGF0ZSByZXNw
b25zZXMgdG8gSU9DVExzIGFuZCByZWFkL3dyaXRlIElSUHMKClNpZ25lZC1vZmYtYnk6IE93ZW4g
U21pdGggPG93ZW4uc21pdGhAY2l0cml4LmNvbT4KLS0tCiBzcmMveGVuY29ucy9wZG8uYyB8IDE5
OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK
IDEgZmlsZSBjaGFuZ2VkLCAxOTkgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3NyYy94ZW5j
b25zL3Bkby5jIGIvc3JjL3hlbmNvbnMvcGRvLmMKaW5kZXggN2E5YzFlNi4uY2MwZGM0ZSAxMDA3
NTUKLS0tIGEvc3JjL3hlbmNvbnMvcGRvLmMKKysrIGIvc3JjL3hlbmNvbnMvcGRvLmMKQEAgLTM2
LDYgKzM2LDggQEAKICNpbmNsdWRlIDxudHN0cnNhZmUuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4K
IAorI2luY2x1ZGUgPHhlbmNvbnNfZGV2aWNlLmg+CisKICNpbmNsdWRlICJuYW1lcy5oIgogI2lu
Y2x1ZGUgImZkby5oIgogI2luY2x1ZGUgInBkby5oIgpAQCAtNDM2LDYgKzQzOCw5IEBAIFBkb0Qz
VG9EMCgKIAogICAgIEtlTG93ZXJJcnFsKElycWwpOwogCisjcHJhZ21hIHByZWZhc3Qoc3VwcHJl
c3M6MjgxMjMpCisgICAgKFZPSUQpIElvU2V0RGV2aWNlSW50ZXJmYWNlU3RhdGUoJlBkby0+RHgt
PkxpbmssIFRSVUUpOworCiAgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwogCiBmYWlsMzoKQEAg
LTQ2Niw2ICs0NzEsOSBAQCBQZG9EMFRvRDMoCiAKICAgICBBU1NFUlQzVShLZUdldEN1cnJlbnRJ
cnFsKCksID09ICwgUEFTU0lWRV9MRVZFTCk7CiAKKyNwcmFnbWEgcHJlZmFzdChzdXBwcmVzczoy
ODEyMykKKyAgICAoVk9JRCkgSW9TZXREZXZpY2VJbnRlcmZhY2VTdGF0ZSgmUGRvLT5EeC0+TGlu
aywgRkFMU0UpOworCiAgICAgS2VSYWlzZUlycWwoRElTUEFUQ0hfTEVWRUwsICZJcnFsKTsKIAog
ICAgIFhFTkJVU19TVVNQRU5EKERlcmVnaXN0ZXIsCkBAIC01MTgsOCArNTI2LDIwIEBAIFBkb1N0
YXJ0RGV2aWNlKAogICAgIElOICBQSVJQICAgICAgICAgICAgSXJwCiAgICAgKQogeworICAgIFBY
RU5DT05TX0RYICAgICAgICAgRHggPSBQZG8tPkR4OwogICAgIE5UU1RBVFVTICAgICAgICAgICAg
c3RhdHVzOwogCisgICAgaWYgKER4LT5MaW5rLkxlbmd0aCAhPSAwKQorICAgICAgICBnb3RvIGRv
bmU7CisKKyAgICBzdGF0dXMgPSBJb1JlZ2lzdGVyRGV2aWNlSW50ZXJmYWNlKF9fUGRvR2V0RGV2
aWNlT2JqZWN0KFBkbyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
R1VJRF9YRU5DT05TX0RFVklDRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRHgtPkxp
bmspOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwxOwor
Citkb25lOgogICAgIHN0YXR1cyA9IFBkb0QzVG9EMChQZG8pOwogICAgIGlmICghTlRfU1VDQ0VT
UyhzdGF0dXMpKQogICAgICAgICBnb3RvIGZhaWwxOwpAQCAtMTU2Miw2ICsxNTgyLDE2MyBAQCBQ
ZG9EaXNwYXRjaFBvd2VyKAogfQogCiBzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFUVVMK
K1Bkb0Rpc3BhdGNoQ3JlYXRlKAorICAgIElOICBQWEVOQ09OU19QRE8gICAgUGRvLAorICAgIElO
ICBQSVJQICAgICAgICAgICAgSXJwCisgICAgKQoreworICAgIE5UU1RBVFVTICAgICAgICAgICAg
c3RhdHVzOworCisgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihQZG8pOworCisgICAgc3RhdHVz
ID0gU1RBVFVTX1NVQ0NFU1M7CisKKyAgICBJcnAtPklvU3RhdHVzLlN0YXR1cyA9IHN0YXR1czsK
KyAgICBJb0NvbXBsZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7CisKKyAgICByZXR1
cm4gc3RhdHVzOworfQorCitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFUVVMKK1Bkb0Rp
c3BhdGNoQ2xlYW51cCgKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbywKKyAgICBJTiAgUElS
UCAgICAgICAgICAgIElycAorICAgICkKK3sKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1
czsKKworICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoUGRvKTsKKworICAgIHN0YXR1cyA9IFNU
QVRVU19TVUNDRVNTOworCisgICAgSXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBzdGF0dXM7CisgICAg
SW9Db21wbGV0ZVJlcXVlc3QoSXJwLCBJT19OT19JTkNSRU1FTlQpOworCisgICAgcmV0dXJuIHN0
YXR1czsKK30KKworc3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIE5UU1RBVFVTCitQZG9EaXNwYXRj
aENsb3NlKAorICAgIElOICBQWEVOQ09OU19QRE8gICAgUGRvLAorICAgIElOICBQSVJQICAgICAg
ICAgICAgSXJwCisgICAgKQoreworICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVzOworCisg
ICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihQZG8pOworCisgICAgc3RhdHVzID0gU1RBVFVTX1NV
Q0NFU1M7CisKKyAgICBJcnAtPklvU3RhdHVzLlN0YXR1cyA9IHN0YXR1czsKKyAgICBJb0NvbXBs
ZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7CisKKyAgICByZXR1cm4gc3RhdHVzOwor
fQorCitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFUVVMKK1Bkb0Rpc3BhdGNoUmVhZFdy
aXRlKAorICAgIElOICBQWEVOQ09OU19QRE8gICAgUGRvLAorICAgIElOICBQSVJQICAgICAgICAg
ICAgSXJwCisgICAgKQoreworICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVzOworCisgICAg
SW9NYXJrSXJwUGVuZGluZyhJcnApOworCisgICAgc3RhdHVzID0gU1RBVFVTX0RFVklDRV9OT1Rf
UkVBRFk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDE7
CisKKyAgICByZXR1cm4gU1RBVFVTX1BFTkRJTkc7CisKK2ZhaWwxOgorICAgIEVycm9yKCJmYWls
MSAoJTA4eClcbiIsIHN0YXR1cyk7CisKKyAgICBJcnAtPklvU3RhdHVzLlN0YXR1cyA9IHN0YXR1
czsKKyAgICBJb0NvbXBsZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7CisKKyAgICBy
ZXR1cm4gc3RhdHVzOworfQorCitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFUVVMKK1Bk
b0Rpc3BhdGNoQ29udHJvbCgKKyAgICBJTiAgUFhFTkNPTlNfUERPICAgIFBkbywKKyAgICBJTiAg
UElSUCAgICAgICAgICAgIElycAorICAgICkKK3sKKyAgICBQSU9fU1RBQ0tfTE9DQVRJT04gIFN0
YWNrTG9jYXRpb247CisgICAgVUxPTkcgICAgICAgICAgICAgICBJb0NvbnRyb2xDb2RlOworICAg
IFVMT05HICAgICAgICAgICAgICAgSW5wdXRCdWZmZXJMZW5ndGg7CisgICAgVUxPTkcgICAgICAg
ICAgICAgICBPdXRwdXRCdWZmZXJMZW5ndGg7CisgICAgUFZPSUQgICAgICAgICAgICAgICBCdWZm
ZXI7CisgICAgUENIQVIgICAgICAgICAgICAgICBWYWx1ZTsKKyAgICBVTE9ORyAgICAgICAgICAg
ICAgIExlbmd0aDsKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsKKworICAgIFVOUkVG
RVJFTkNFRF9QQVJBTUVURVIoUGRvKTsKKworICAgIFN0YWNrTG9jYXRpb24gPSBJb0dldEN1cnJl
bnRJcnBTdGFja0xvY2F0aW9uKElycCk7CisgICAgSW9Db250cm9sQ29kZSA9IFN0YWNrTG9jYXRp
b24tPlBhcmFtZXRlcnMuRGV2aWNlSW9Db250cm9sLklvQ29udHJvbENvZGU7CisgICAgSW5wdXRC
dWZmZXJMZW5ndGggPSBTdGFja0xvY2F0aW9uLT5QYXJhbWV0ZXJzLkRldmljZUlvQ29udHJvbC5J
bnB1dEJ1ZmZlckxlbmd0aDsKKyAgICBPdXRwdXRCdWZmZXJMZW5ndGggPSBTdGFja0xvY2F0aW9u
LT5QYXJhbWV0ZXJzLkRldmljZUlvQ29udHJvbC5PdXRwdXRCdWZmZXJMZW5ndGg7CisgICAgQnVm
ZmVyID0gSXJwLT5Bc3NvY2lhdGVkSXJwLlN5c3RlbUJ1ZmZlcjsKKworICAgIHN3aXRjaCAoSW9D
b250cm9sQ29kZSkgeworICAgIGNhc2UgSU9DVExfWEVOQ09OU19HRVRfSU5TVEFOQ0U6CisgICAg
ICAgIFZhbHVlID0gX19QZG9HZXROYW1lKFBkbyk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
SU9DVExfWEVOQ09OU19HRVRfTkFNRToKKyAgICAgICAgVmFsdWUgPSAibm9uLWRlZmF1bHQiOyAv
LyB1c2UgeGVuc3RvcmUgdmFsdWUKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJT0NUTF9YRU5D
T05TX0dFVF9QUk9UT0NPTDoKKyAgICAgICAgVmFsdWUgPSAidnQxMDAiOyAvLyB1c2UgeGVuc3Rv
cmUgdmFsdWUKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgc3RhdHVzID0g
U1RBVFVTX05PVF9TVVBQT1JURUQ7CisgICAgICAgIGdvdG8gZmFpbDE7CisgICAgfQorICAgIExl
bmd0aCA9IChVTE9ORylzdHJsZW4oVmFsdWUpOworCisgICAgc3RhdHVzID0gU1RBVFVTX0lOVkFM
SURfUEFSQU1FVEVSOworICAgIGlmIChJbnB1dEJ1ZmZlckxlbmd0aCAhPSAwKQorICAgICAgICBn
b3RvIGZhaWwyOworCisgICAgSXJwLT5Jb1N0YXR1cy5JbmZvcm1hdGlvbiA9IExlbmd0aDsKKwor
ICAgIHN0YXR1cyA9IFNUQVRVU19JTlZBTElEX0JVRkZFUl9TSVpFOworICAgIGlmIChPdXRwdXRC
dWZmZXJMZW5ndGggPT0gMCkKKyAgICAgICAgZ290byBkb25lOworCisgICAgUnRsWmVyb01lbW9y
eShCdWZmZXIsIE91dHB1dEJ1ZmZlckxlbmd0aCk7CisKKyAgICBpZiAoT3V0cHV0QnVmZmVyTGVu
Z3RoIDwgTGVuZ3RoKQorICAgICAgICBnb3RvIGZhaWwzOworCisgICAgUnRsQ29weU1lbW9yeShC
dWZmZXIsIFZhbHVlLCBMZW5ndGgpOworICAgIHN0YXR1cyA9IFNUQVRVU19TVUNDRVNTOworCitk
b25lOgorICAgIElycC0+SW9TdGF0dXMuU3RhdHVzID0gc3RhdHVzOworICAgIElvQ29tcGxldGVS
ZXF1ZXN0KElycCwgSU9fTk9fSU5DUkVNRU5UKTsKKworICAgIHJldHVybiBzdGF0dXM7CisKK2Zh
aWwzOgorICAgIEVycm9yKCJmYWlsM1xuIik7CisKK2ZhaWwyOgorICAgIEVycm9yKCJmYWlsMlxu
Iik7CisKK2ZhaWwxOgorICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7CisKKyAg
ICBJcnAtPklvU3RhdHVzLlN0YXR1cyA9IHN0YXR1czsKKyAgICBJb0NvbXBsZXRlUmVxdWVzdChJ
cnAsIElPX05PX0lOQ1JFTUVOVCk7CisKKyAgICByZXR1cm4gc3RhdHVzOworfQorCitzdGF0aWMg
REVDTFNQRUNfTk9JTkxJTkUgTlRTVEFUVVMKIFBkb0Rpc3BhdGNoRGVmYXVsdCgKICAgICBJTiAg
UFhFTkNPTlNfUERPICAgIFBkbywKICAgICBJTiAgUElSUCAgICAgICAgICAgIElycApAQCAtMTU5
Nyw2ICsxNzc0LDI3IEBAIFBkb0Rpc3BhdGNoKAogICAgICAgICBzdGF0dXMgPSBQZG9EaXNwYXRj
aFBvd2VyKFBkbywgSXJwKTsKICAgICAgICAgYnJlYWs7CiAKKyAgICBjYXNlIElSUF9NSl9DUkVB
VEU6CisgICAgICAgIHN0YXR1cyA9IFBkb0Rpc3BhdGNoQ3JlYXRlKFBkbywgSXJwKTsKKyAgICAg
ICAgYnJlYWs7CisKKyAgICBjYXNlIElSUF9NSl9DTEVBTlVQOgorICAgICAgICBzdGF0dXMgPSBQ
ZG9EaXNwYXRjaENsZWFudXAoUGRvLCBJcnApOworICAgICAgICBicmVhazsKKworICAgIGNhc2Ug
SVJQX01KX0NMT1NFOgorICAgICAgICBzdGF0dXMgPSBQZG9EaXNwYXRjaENsb3NlKFBkbywgSXJw
KTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIElSUF9NSl9SRUFEOgorICAgIGNhc2UgSVJQ
X01KX1dSSVRFOgorICAgICAgICBzdGF0dXMgPSBQZG9EaXNwYXRjaFJlYWRXcml0ZShQZG8sIEly
cCk7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBJUlBfTUpfREVWSUNFX0NPTlRST0w6Cisg
ICAgICAgIHN0YXR1cyA9IFBkb0Rpc3BhdGNoQ29udHJvbChQZG8sIElycCk7CisgICAgICAgIGJy
ZWFrOworCiAgICAgZGVmYXVsdDoKICAgICAgICAgc3RhdHVzID0gUGRvRGlzcGF0Y2hEZWZhdWx0
KFBkbywgSXJwKTsKICAgICAgICAgYnJlYWs7CkBAIC0xNzYzLDYgKzE5NjEsNyBAQCBQZG9EZXN0
cm95KAogCiAgICAgKFZPSUQpX19QZG9DbGVhckVqZWN0UmVxdWVzdGVkKFBkbyk7CiAKKyAgICBS
dGxGcmVlVW5pY29kZVN0cmluZygmRHgtPkxpbmspOwogICAgIER4LT5QZG8gPSBOVUxMOwogCiAg
ICAgUnRsWmVyb01lbW9yeSgmUGRvLT5TdXNwZW5kSW50ZXJmYWNlLAotLSAKMi44LjMKCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwg
bWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp
c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 14:10:22 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 14:10:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeLkr-0007Jo-Ub; Wed, 24 Jan 2018 14:10:21 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cbgo=et=citrix.com=prvs=555590473=owen.smith@srs-us1.protection.inumbo.net>)
 id 1eeLkr-0007Je-8h
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 14:10:21 +0000
X-Inumbo-ID: bda004ac-010f-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id bda004ac-010f-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 14:06:15 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,407,1511827200"; d="scan'208";a="459468929"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 24 Jan 2018 14:05:03 +0000
Message-ID: <20180124140515.12284-3-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20180124140515.12284-1-owen.smith@citrix.com>
References: <20180124140515.12284-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 02/14] Refactor: Move console handler to
	console.h/.c
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKU3BsaXQgdGhlIGNvbnNv
bGUgc3BlY2lmaWMgY29kZSBmcm9tIHRoZSBnZW5lcmFsIGZkbyBjb2RlLgoKU2lnbmVkLW9mZi1i
eTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW5jb25zL2Nv
bnNvbGUuYyAgICAgICAgICB8IDMyMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKwogc3JjL3hlbmNvbnMvY29uc29sZS5oICAgICAgICAgIHwgIDgwICsrKysrKysrKysK
IHNyYy94ZW5jb25zL2Zkby5jICAgICAgICAgICAgICB8IDI2MCArKysrKysrLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIHZzMjAxNS94ZW5jb25zL3hlbmNvbnMudmN4cHJvaiB8ICAgMSArCiA0
IGZpbGVzIGNoYW5nZWQsIDQ1NCBpbnNlcnRpb25zKCspLCAyMTAgZGVsZXRpb25zKC0pCiBjcmVh
dGUgbW9kZSAxMDA3NTUgc3JjL3hlbmNvbnMvY29uc29sZS5jCiBjcmVhdGUgbW9kZSAxMDA3NTUg
c3JjL3hlbmNvbnMvY29uc29sZS5oCgpkaWZmIC0tZ2l0IGEvc3JjL3hlbmNvbnMvY29uc29sZS5j
IGIvc3JjL3hlbmNvbnMvY29uc29sZS5jCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAw
MDAuLmUyNmUxZGIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMveGVuY29ucy9jb25zb2xlLmMKQEAg
LTAsMCArMSwzMjMgQEAKKy8qIENvcHlyaWdodCAoYykgQ2l0cml4IFN5c3RlbXMgSW5jLgorKiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLAorKiB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkCisqIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBt
ZXQ6CisqCisqICogICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlCisqICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlCisqICAgICBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogKiAgIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyogICAgIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUKKyogICAgIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlcgorKiAgICAg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5ECisqIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsCisqIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisq
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9S
CisqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLAorKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IKKyogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwKKyogV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HCisqIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorKiBTVUNIIERBTUFHRS4KKyovCisKKyNpbmNs
dWRlIDxudGRkay5oPgorCisjaW5jbHVkZSAiZHJpdmVyLmgiCisjaW5jbHVkZSAiY29uc29sZS5o
IgorI2luY2x1ZGUgInN0cmVhbS5oIgorI2luY2x1ZGUgImRiZ19wcmludC5oIgorI2luY2x1ZGUg
ImFzc2VydC5oIgorI2luY2x1ZGUgInV0aWwuaCIKKworc3RydWN0IF9YRU5DT05TX0NPTlNPTEUg
eworICAgIFBYRU5DT05TX0ZETyAgICAgICAgRmRvOworICAgIExJU1RfRU5UUlkgICAgICAgICAg
TGlzdDsKKyAgICBLU1BJTl9MT0NLICAgICAgICAgIExvY2s7Cit9OworCit0eXBlZGVmIHN0cnVj
dCBfWEVOQ09OU19IQU5ETEUgeworICAgIExJU1RfRU5UUlkgICAgICBMaXN0RW50cnk7CisgICAg
UEZJTEVfT0JKRUNUICAgIEZpbGVPYmplY3Q7CisgICAgUFhFTkNPTlNfU1RSRUFNIFN0cmVhbTsK
K30gWEVOQ09OU19IQU5ETEUsICpQWEVOQ09OU19IQU5ETEU7CisKKyNkZWZpbmUgQ09OU09MRV9Q
T09MICdTTk9DJworCitzdGF0aWMgRk9SQ0VJTkxJTkUgUFZPSUQKK19fQ29uc29sZUFsbG9jYXRl
KAorICAgIElOICBVTE9ORyAgIExlbmd0aAorICAgICkKK3sKKyAgICByZXR1cm4gX19BbGxvY2F0
ZVBvb2xXaXRoVGFnKE5vblBhZ2VkUG9vbCwgTGVuZ3RoLCBDT05TT0xFX1BPT0wpOworfQorCitz
dGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAorX19Db25zb2xlRnJlZSgKKyAgICBJTiAgUFZPSUQgICBC
dWZmZXIKKyAgICApCit7CisgICAgX19GcmVlUG9vbFdpdGhUYWcoQnVmZmVyLCBDT05TT0xFX1BP
T0wpOworfQorCitzdGF0aWMgVk9JRAorX19Db25zb2xlRGVzdHJveUhhbmRsZSgKKyAgICBJTiAg
UFhFTkNPTlNfQ09OU09MRSAgICBDb25zb2xlLAorICAgIElOICBQWEVOQ09OU19IQU5ETEUgICAg
IEhhbmRsZQorICAgICkKK3sKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKENvbnNvbGUpOwor
CisgICAgVHJhY2UoIiVwXG4iLCBIYW5kbGUtPkZpbGVPYmplY3QpOworCisgICAgUnRsWmVyb01l
bW9yeSgmSGFuZGxlLT5MaXN0RW50cnksIHNpemVvZihMSVNUX0VOVFJZKSk7CisKKyAgICBTdHJl
YW1EZXN0cm95KEhhbmRsZS0+U3RyZWFtKTsKKyAgICBIYW5kbGUtPlN0cmVhbSA9IE5VTEw7CisK
KyAgICBIYW5kbGUtPkZpbGVPYmplY3QgPSBOVUxMOworCisgICAgQVNTRVJUKElzWmVyb01lbW9y
eShIYW5kbGUsIHNpemVvZihYRU5DT05TX0hBTkRMRSkpKTsKKyAgICBfX0NvbnNvbGVGcmVlKEhh
bmRsZSk7Cit9CisKK3N0YXRpYyBQWEVOQ09OU19IQU5ETEUKK19fQ29uc29sZUZpbmRIYW5kbGUo
CisgICAgSU4gIFBYRU5DT05TX0NPTlNPTEUgICAgQ29uc29sZSwKKyAgICBJTiAgUEZJTEVfT0JK
RUNUICAgICAgICBGaWxlT2JqZWN0CisgICAgKQoreworICAgIEtJUlFMICAgICAgICAgICAgICAg
ICAgIElycWw7CisgICAgUExJU1RfRU5UUlkgICAgICAgICAgICAgTGlzdEVudHJ5OworICAgIFBY
RU5DT05TX0hBTkRMRSAgICAgICAgIEhhbmRsZTsKKyAgICBOVFNUQVRVUyAgICAgICAgICAgICAg
ICBzdGF0dXM7CisKKyAgICBLZUFjcXVpcmVTcGluTG9jaygmQ29uc29sZS0+TG9jaywgJklycWwp
OworCisgICAgZm9yIChMaXN0RW50cnkgPSBDb25zb2xlLT5MaXN0LkZsaW5rOworICAgICAgICAg
TGlzdEVudHJ5ICE9ICZDb25zb2xlLT5MaXN0OworICAgICAgICAgTGlzdEVudHJ5ID0gTGlzdEVu
dHJ5LT5GbGluaykgeworICAgICAgICBIYW5kbGUgPSBDT05UQUlOSU5HX1JFQ09SRChMaXN0RW50
cnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTkNPTlNfSEFORExFLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0RW50cnkpOworCisgICAgICAg
IGlmIChIYW5kbGUtPkZpbGVPYmplY3QgPT0gRmlsZU9iamVjdCkKKyAgICAgICAgICAgIGdvdG8g
Zm91bmQ7CisgICAgfQorCisgICAgc3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZVTDsKKyAgICBn
b3RvIGZhaWwxOworCitmb3VuZDoKKyAgICBLZVJlbGVhc2VTcGluTG9jaygmQ29uc29sZS0+TG9j
aywgSXJxbCk7CisKKyAgICByZXR1cm4gSGFuZGxlOworCitmYWlsMToKKyAgICBFcnJvcigiZmFp
bDEgKCUwOHgpXG4iLCBzdGF0dXMpOworCisgICAgS2VSZWxlYXNlU3BpbkxvY2soJkNvbnNvbGUt
PkxvY2ssIElycWwpOworCisgICAgcmV0dXJuIE5VTEw7Cit9CisKK05UU1RBVFVTCitDb25zb2xl
RGlzcGF0Y2hDcmVhdGUoCisgICAgSU4gIFBYRU5DT05TX0NPTlNPTEUgICAgQ29uc29sZSwKKyAg
ICBJTiAgUEZJTEVfT0JKRUNUICAgICAgICBGaWxlT2JqZWN0CisgICAgKQoreworICAgIFBYRU5D
T05TX0hBTkRMRSAgICAgICAgIEhhbmRsZTsKKyAgICBLSVJRTCAgICAgICAgICAgICAgICAgICBJ
cnFsOworICAgIE5UU1RBVFVTICAgICAgICAgICAgICAgIHN0YXR1czsKKworICAgIEFTU0VSVChf
X0NvbnNvbGVGaW5kSGFuZGxlKENvbnNvbGUsIEZpbGVPYmplY3QpID09IE5VTEwpOworCisgICAg
SGFuZGxlID0gX19Db25zb2xlQWxsb2NhdGUoc2l6ZW9mKFhFTkNPTlNfSEFORExFKSk7CisKKyAg
ICBzdGF0dXMgPSBTVEFUVVNfTk9fTUVNT1JZOworICAgIGlmIChIYW5kbGUgPT0gTlVMTCkKKyAg
ICAgICAgZ290byBmYWlsMTsKKworICAgIHN0YXR1cyA9IFN0cmVhbUNyZWF0ZShDb25zb2xlLT5G
ZG8sICZIYW5kbGUtPlN0cmVhbSk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAg
ICAgIGdvdG8gZmFpbDI7CisKKyAgICBIYW5kbGUtPkZpbGVPYmplY3QgPSBGaWxlT2JqZWN0Owor
CisgICAgS2VBY3F1aXJlU3BpbkxvY2soJkNvbnNvbGUtPkxvY2ssICZJcnFsKTsKKyAgICBJbnNl
cnRUYWlsTGlzdCgmQ29uc29sZS0+TGlzdCwgJkhhbmRsZS0+TGlzdEVudHJ5KTsKKyAgICBLZVJl
bGVhc2VTcGluTG9jaygmQ29uc29sZS0+TG9jaywgSXJxbCk7CisKKyAgICBUcmFjZSgiJXBcbiIs
IEhhbmRsZS0+RmlsZU9iamVjdCk7CisKKyAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CisKK2Zh
aWwyOgorICAgIEVycm9yKCJmYWlsMlxuIik7CisKKyAgICBBU1NFUlQoSXNaZXJvTWVtb3J5KEhh
bmRsZSwgc2l6ZW9mKFhFTkNPTlNfSEFORExFKSkpOworICAgIF9fQ29uc29sZUZyZWUoSGFuZGxl
KTsKKworZmFpbDE6CisgICAgRXJyb3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVzKTsKKworICAg
IHJldHVybiBzdGF0dXM7Cit9CisKK05UU1RBVFVTCitDb25zb2xlRGlzcGF0Y2hDbGVhbnVwKAor
ICAgIElOICBQWEVOQ09OU19DT05TT0xFICAgIENvbnNvbGUsCisgICAgSU4gIFBGSUxFX09CSkVD
VCAgICAgICAgRmlsZU9iamVjdAorICAgICkKK3sKKyAgICBQWEVOQ09OU19IQU5ETEUgICAgICAg
ICBIYW5kbGU7CisgICAgS0lSUUwgICAgICAgICAgICAgICAgICAgSXJxbDsKKyAgICBOVFNUQVRV
UyAgICAgICAgICAgICAgICBzdGF0dXM7CisKKyAgICBIYW5kbGUgPSBfX0NvbnNvbGVGaW5kSGFu
ZGxlKENvbnNvbGUsIEZpbGVPYmplY3QpOworICAgIHN0YXR1cyA9IFNUQVRVU19VTlNVQ0NFU1NG
VUw7CisKKyAgICBpZiAoSGFuZGxlID09IE5VTEwpCisgICAgICAgIGdvdG8gZmFpbDE7CisKKyAg
ICBLZUFjcXVpcmVTcGluTG9jaygmQ29uc29sZS0+TG9jaywgJklycWwpOworICAgIFJlbW92ZUVu
dHJ5TGlzdCgmSGFuZGxlLT5MaXN0RW50cnkpOworICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZDb25z
b2xlLT5Mb2NrLCBJcnFsKTsKKworICAgIF9fQ29uc29sZURlc3Ryb3lIYW5kbGUoQ29uc29sZSwg
SGFuZGxlKTsKKworICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKKworZmFpbDE6CisgICAgRXJy
b3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVzKTsKKworICAgIHJldHVybiBzdGF0dXM7Cit9CisK
K05UU1RBVFVTCitDb25zb2xlRGlzcGF0Y2hSZWFkV3JpdGUoCisgICAgSU4gIFBYRU5DT05TX0NP
TlNPTEUgICAgQ29uc29sZSwKKyAgICBJTiAgUElSUCAgICAgICAgICAgICAgICBJcnAKKyAgICAp
Cit7CisgICAgUElPX1NUQUNLX0xPQ0FUSU9OICAgICAgU3RhY2tMb2NhdGlvbjsKKyAgICBQWEVO
Q09OU19IQU5ETEUgICAgICAgICBIYW5kbGU7CisgICAgTlRTVEFUVVMgICAgICAgICAgICAgICAg
c3RhdHVzOworCisgICAgU3RhY2tMb2NhdGlvbiA9IElvR2V0Q3VycmVudElycFN0YWNrTG9jYXRp
b24oSXJwKTsKKworICAgIEhhbmRsZSA9IF9fQ29uc29sZUZpbmRIYW5kbGUoQ29uc29sZSwgU3Rh
Y2tMb2NhdGlvbi0+RmlsZU9iamVjdCk7CisgICAgc3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZV
TDsKKworICAgIGlmIChIYW5kbGUgPT0gTlVMTCkKKyAgICAgICAgZ290byBmYWlsMTsKKworICAg
IHN0YXR1cyA9IFN0cmVhbVB1dFF1ZXVlKEhhbmRsZS0+U3RyZWFtLCBJcnApOworICAgIGlmICgh
TlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwyOworCisgICAgcmV0dXJuIFNU
QVRVU19TVUNDRVNTOworCitmYWlsMjoKKyAgICBFcnJvcigiZmFpbDJcbiIpOworCitmYWlsMToK
KyAgICBFcnJvcigiZmFpbDEgKCUwOHgpXG4iLCBzdGF0dXMpOworCisgICAgcmV0dXJuIHN0YXR1
czsKK30KKworTlRTVEFUVVMKK0NvbnNvbGVFbmFibGUoCisgICAgSU4gIFBYRU5DT05TX0NPTlNP
TEUgICAgQ29uc29sZQorICAgICkKK3sKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKENvbnNv
bGUpOworICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKK30KKworVk9JRAorQ29uc29sZURpc2Fi
bGUoCisgICAgSU4gIFBYRU5DT05TX0NPTlNPTEUgICAgQ29uc29sZQorICAgICkKK3sKKyAgICBL
SVJRTCAgICAgICAgICAgICAgICAgICBJcnFsOworICAgIExJU1RfRU5UUlkgICAgICAgICAgICAg
IExpc3Q7CisgICAgUExJU1RfRU5UUlkgICAgICAgICAgICAgTGlzdEVudHJ5OworICAgIFBYRU5D
T05TX0hBTkRMRSAgICAgICAgIEhhbmRsZTsKKworICAgIEluaXRpYWxpemVMaXN0SGVhZCgmTGlz
dCk7CisKKyAgICBLZUFjcXVpcmVTcGluTG9jaygmQ29uc29sZS0+TG9jaywgJklycWwpOworCisg
ICAgTGlzdEVudHJ5ID0gQ29uc29sZS0+TGlzdC5GbGluazsKKyAgICBpZiAoIUlzTGlzdEVtcHR5
KCZDb25zb2xlLT5MaXN0KSkgeworICAgICAgICBSZW1vdmVFbnRyeUxpc3QoJkNvbnNvbGUtPkxp
c3QpOworICAgICAgICBJbml0aWFsaXplTGlzdEhlYWQoJkNvbnNvbGUtPkxpc3QpOworICAgICAg
ICBBcHBlbmRUYWlsTGlzdCgmTGlzdCwgTGlzdEVudHJ5KTsKKyAgICB9CisKKyAgICBLZVJlbGVh
c2VTcGluTG9jaygmQ29uc29sZS0+TG9jaywgSXJxbCk7CisKKyAgICB3aGlsZSAoIUlzTGlzdEVt
cHR5KCZMaXN0KSkgeworICAgICAgICBMaXN0RW50cnkgPSBSZW1vdmVIZWFkTGlzdCgmTGlzdCk7
CisgICAgICAgIEFTU0VSVDNQKExpc3RFbnRyeSwgIT0gLCAmTGlzdCk7CisKKyAgICAgICAgSGFu
ZGxlID0gQ09OVEFJTklOR19SRUNPUkQoTGlzdEVudHJ5LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBYRU5DT05TX0hBTkRMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTGlzdEVudHJ5KTsKKworICAgICAgICBfX0NvbnNvbGVEZXN0cm95SGFuZGxlKENv
bnNvbGUsIEhhbmRsZSk7CisgICAgfQorfQorCitOVFNUQVRVUworQ29uc29sZUNyZWF0ZSgKKyAg
ICBJTiAgUFhFTkNPTlNfRkRPICAgICAgICBGZG8sCisgICAgT1VUIFBYRU5DT05TX0NPTlNPTEUg
ICAgKkNvbnNvbGUKKyAgICApCit7CisgICAgTlRTVEFUVVMgICAgICAgICAgICAgICAgc3RhdHVz
OworCisgICAgKkNvbnNvbGUgPSBfX0NvbnNvbGVBbGxvY2F0ZShzaXplb2YoWEVOQ09OU19DT05T
T0xFKSk7CisKKyAgICBzdGF0dXMgPSBTVEFUVVNfTk9fTUVNT1JZOworICAgIGlmICgqQ29uc29s
ZSA9PSBOVUxMKQorICAgICAgICBnb3RvIGZhaWwxOworCisgICAgKCpDb25zb2xlKS0+RmRvID0g
RmRvOworICAgIEluaXRpYWxpemVMaXN0SGVhZCgmKCpDb25zb2xlKS0+TGlzdCk7CisgICAgS2VJ
bml0aWFsaXplU3BpbkxvY2soJigqQ29uc29sZSktPkxvY2spOworCisgICAgcmV0dXJuIFNUQVRV
U19TVUNDRVNTOworCitmYWlsMToKKyAgICBFcnJvcigiZmFpbDEgKCUwOHgpXG4iLCBzdGF0dXMp
OworCisgICAgcmV0dXJuIHN0YXR1czsKK30KKworVk9JRAorQ29uc29sZURlc3Ryb3koCisgICAg
SU4gIFBYRU5DT05TX0NPTlNPTEUgICAgQ29uc29sZQorICAgICkKK3sKKyAgICBSdGxaZXJvTWVt
b3J5KCZDb25zb2xlLT5Mb2NrLCBzaXplb2YoS1NQSU5fTE9DSykpOworCisgICAgQVNTRVJUKElz
TGlzdEVtcHR5KCZDb25zb2xlLT5MaXN0KSk7CisgICAgUnRsWmVyb01lbW9yeSgmQ29uc29sZS0+
TGlzdCwgc2l6ZW9mKExJU1RfRU5UUlkpKTsKKworICAgIENvbnNvbGUtPkZkbyA9IE5VTEw7CisK
KyAgICBBU1NFUlQoSXNaZXJvTWVtb3J5KENvbnNvbGUsIHNpemVvZihYRU5DT05TX0NPTlNPTEUp
KSk7CisgICAgX19Db25zb2xlRnJlZShDb25zb2xlKTsKK30KZGlmZiAtLWdpdCBhL3NyYy94ZW5j
b25zL2NvbnNvbGUuaCBiL3NyYy94ZW5jb25zL2NvbnNvbGUuaApuZXcgZmlsZSBtb2RlIDEwMDc1
NQppbmRleCAwMDAwMDAwLi5lMjk1YTY5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3hlbmNvbnMv
Y29uc29sZS5oCkBAIC0wLDAgKzEsODAgQEAKKy8qIENvcHlyaWdodCAoYykgQ2l0cml4IFN5c3Rl
bXMgSW5jLgorKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLAorKiB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkCisqIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6CisqCisqICogICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlCisqICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlCisqICAgICBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogKiAg
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUK
KyogICAgIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlcgorKiAgICAgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoK
KyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
CisqIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsCisqIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GCisqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCisqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgSE9MREVSIE9SCisqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLAorKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwKKyogV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCisqIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorKiBTVUNIIERBTUFHRS4K
KyovCisKKyNpZm5kZWYgX1hFTkNPTlNfQ09OU09MRV9ICisjZGVmaW5lIF9YRU5DT05TX0NPTlNP
TEVfSAorCisjaW5jbHVkZSA8bnRkZGsuaD4KKworI2luY2x1ZGUgImRyaXZlci5oIgorCit0eXBl
ZGVmIHN0cnVjdCBfWEVOQ09OU19DT05TT0xFIFhFTkNPTlNfQ09OU09MRSwgKlBYRU5DT05TX0NP
TlNPTEU7CisKK2V4dGVybiBOVFNUQVRVUworQ29uc29sZUNyZWF0ZSgKKyAgICBJTiAgUFhFTkNP
TlNfRkRPICAgICAgICBGZG8sCisgICAgT1VUIFBYRU5DT05TX0NPTlNPTEUgICAgKkNvbnNvbGUK
KyAgICApOworCitleHRlcm4gVk9JRAorQ29uc29sZURlc3Ryb3koCisgICAgSU4gIFBYRU5DT05T
X0NPTlNPTEUgICAgQ29uc29sZQorICAgICk7CisKK2V4dGVybiBOVFNUQVRVUworQ29uc29sZUVu
YWJsZSgKKyAgICBJTiAgUFhFTkNPTlNfQ09OU09MRSAgICBDb25zb2xlCisgICAgKTsKKworZXh0
ZXJuIFZPSUQKK0NvbnNvbGVEaXNhYmxlKAorICAgIElOICBQWEVOQ09OU19DT05TT0xFICAgIENv
bnNvbGUKKyAgICApOworCitleHRlcm4gTlRTVEFUVVMKK0NvbnNvbGVEaXNwYXRjaENyZWF0ZSgK
KyAgICBJTiAgUFhFTkNPTlNfQ09OU09MRSAgICBDb25zb2xlLAorICAgIElOICBQRklMRV9PQkpF
Q1QgICAgICAgIEZpbGVPYmplY3QKKyAgICApOworCitleHRlcm4gTlRTVEFUVVMKK0NvbnNvbGVE
aXNwYXRjaENsZWFudXAoCisgICAgSU4gIFBYRU5DT05TX0NPTlNPTEUgICAgQ29uc29sZSwKKyAg
ICBJTiAgUEZJTEVfT0JKRUNUICAgICAgICBGaWxlT2JqZWN0CisgICAgKTsKKworZXh0ZXJuIE5U
U1RBVFVTCitDb25zb2xlRGlzcGF0Y2hSZWFkV3JpdGUoCisgICAgSU4gIFBYRU5DT05TX0NPTlNP
TEUgICAgQ29uc29sZSwKKyAgICBJTiAgUElSUCAgICAgICAgICAgICAgICBJcnAKKyAgICApOwor
CisjZW5kaWYgIC8vIF9YRU5DT05TX0NPTlNPTEVfSApkaWZmIC0tZ2l0IGEvc3JjL3hlbmNvbnMv
ZmRvLmMgYi9zcmMveGVuY29ucy9mZG8uYwppbmRleCA5NDQ2NWE1Li42YTdmNzBjIDEwMDY0NAot
LS0gYS9zcmMveGVuY29ucy9mZG8uYworKysgYi9zcmMveGVuY29ucy9mZG8uYwpAQCAtNDcsNyAr
NDcsNyBAQAogI2luY2x1ZGUgImRyaXZlci5oIgogI2luY2x1ZGUgInJlZ2lzdHJ5LmgiCiAjaW5j
bHVkZSAiZmRvLmgiCi0jaW5jbHVkZSAic3RyZWFtLmgiCisjaW5jbHVkZSAiY29uc29sZS5oIgog
I2luY2x1ZGUgInRocmVhZC5oIgogI2luY2x1ZGUgIm5hbWVzLmgiCiAjaW5jbHVkZSAiZGJnX3By
aW50LmgiCkBAIC02OSwxMiArNjksNiBAQCB0eXBlZGVmIHN0cnVjdCBfRkRPX1JFU09VUkNFIHsK
ICAgICBDTV9QQVJUSUFMX1JFU09VUkNFX0RFU0NSSVBUT1IgVHJhbnNsYXRlZDsKIH0gRkRPX1JF
U09VUkNFLCAqUEZET19SRVNPVVJDRTsKIAotdHlwZWRlZiBzdHJ1Y3QgX0ZET19IQU5ETEUgewot
ICAgIExJU1RfRU5UUlkgICAgICBMaXN0RW50cnk7Ci0gICAgUEZJTEVfT0JKRUNUICAgIEZpbGVP
YmplY3Q7Ci0gICAgUFhFTkNPTlNfU1RSRUFNIFN0cmVhbTsKLX0gRkRPX0hBTkRMRSwgKlBGRE9f
SEFORExFOwotCiBzdHJ1Y3QgX1hFTkNPTlNfRkRPIHsKICAgICBQWEVOQ09OU19EWCAgICAgICAg
ICAgICAgICAgRHg7CiAgICAgUERFVklDRV9PQkpFQ1QgICAgICAgICAgICAgIExvd2VyRGV2aWNl
T2JqZWN0OwpAQCAtOTMsOCArODcsNyBAQCBzdHJ1Y3QgX1hFTkNPTlNfRkRPIHsKIAogICAgIEZE
T19SRVNPVVJDRSAgICAgICAgICAgICAgICBSZXNvdXJjZVtSRVNPVVJDRV9DT1VOVF07CiAKLSAg
ICBMSVNUX0VOVFJZICAgICAgICAgICAgICAgICAgSGFuZGxlTGlzdDsKLSAgICBLU1BJTl9MT0NL
ICAgICAgICAgICAgICAgICAgSGFuZGxlTG9jazsKKyAgICBQWEVOQ09OU19DT05TT0xFICAgICAg
ICAgICAgQ29uc29sZTsKIAogICAgIFhFTkJVU19ERUJVR19JTlRFUkZBQ0UgICAgICBEZWJ1Z0lu
dGVyZmFjZTsKICAgICBYRU5CVVNfU1VTUEVORF9JTlRFUkZBQ0UgICAgU3VzcGVuZEludGVyZmFj
ZTsKQEAgLTc4OCwxOCArNzgxLDMxIEBAIGZhaWwxOgogICAgIHJldHVybiBzdGF0dXM7CiB9CiAK
LXN0YXRpYyBGT1JDRUlOTElORSBWT0lECitzdGF0aWMgRk9SQ0VJTkxJTkUgTlRTVEFUVVMKIF9f
RmRvRDNUb0QwKAogICAgIElOICBQWEVOQ09OU19GRE8gICAgRmRvCiAgICAgKQogeworICAgIE5U
U1RBVFVTICAgICAgICAgICAgc3RhdHVzOworCiAgICAgVHJhY2UoIj09PT0+XG4iKTsKIAogICAg
IEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwoKSwgPT0sIERJU1BBVENIX0xFVkVMKTsKIAorICAg
IHN0YXR1cyA9IENvbnNvbGVFbmFibGUoRmRvLT5Db25zb2xlKTsKKyAgICBpZiAoIU5UX1NVQ0NF
U1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBmYWlsMTsKKwogICAgIChWT0lEKSBGZG9TZXREaXN0
cmlidXRpb24oRmRvKTsKIAogICAgIFRyYWNlKCI8PT09PVxuIik7CisKKyAgICByZXR1cm4gU1RB
VFVTX1NVQ0NFU1M7CisKK2ZhaWwxOgorICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1
cyk7CisKKyAgICByZXR1cm4gc3RhdHVzOwogfQogCiBzdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRApA
QCAtODEzLDYgKzgxOSw4IEBAIF9fRmRvRDBUb0QzKAogCiAgICAgRmRvQ2xlYXJEaXN0cmlidXRp
b24oRmRvKTsKIAorICAgIENvbnNvbGVEaXNhYmxlKEZkby0+Q29uc29sZSk7CisKICAgICBUcmFj
ZSgiPD09PT1cbiIpOwogfQogCkBAIC04MjIsOSArODMwLDEyIEBAIEZkb1N1c3BlbmRDYWxsYmFj
a0xhdGUoCiAgICAgKQogewogICAgIFBYRU5DT05TX0ZETyAgICBGZG8gPSBBcmd1bWVudDsKKyAg
ICBOVFNUQVRVUyAgICAgICAgc3RhdHVzOwogCiAgICAgX19GZG9EMFRvRDMoRmRvKTsKLSAgICBf
X0Zkb0QzVG9EMChGZG8pOworCisgICAgc3RhdHVzID0gX19GZG9EM1RvRDAoRmRvKTsKKyAgICBB
U1NFUlQoTlRfU1VDQ0VTUyhzdGF0dXMpKTsKIH0KIAogLy8gVGhpcyBmdW5jdGlvbiBtdXN0IG5v
dCB0b3VjaCBwYWdlYWJsZSBjb2RlIG9yIGRhdGEKQEAgLTg1Myw3ICs4NjQsOSBAQCBGZG9EM1Rv
RDAoCiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCiAgICAgICAgIGdvdG8gZmFpbDI7CiAK
LSAgICBfX0Zkb0QzVG9EMChGZG8pOworICAgIHN0YXR1cyA9IF9fRmRvRDNUb0QwKEZkbyk7Cisg
ICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDM7CiAKICAgICBz
dGF0dXMgPSBYRU5CVVNfU1VTUEVORChSZWdpc3RlciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmRmRvLT5TdXNwZW5kSW50ZXJmYWNlLApAQCAtODYyLDcgKzg3NSw3IEBAIEZkb0QzVG9E
MCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGZG8sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJkZkby0+U3VzcGVuZENhbGxiYWNrTGF0ZSk7CiAgICAgaWYgKCFOVF9TVUNDRVNT
KHN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDM7CisgICAgICAgIGdvdG8gZmFpbDQ7CiAKICAg
ICBLZUxvd2VySXJxbChJcnFsKTsKIApAQCAtODgwLDExICs4OTMsMTQgQEAgRmRvRDNUb0QwKAog
CiAgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwogCi1mYWlsMzoKK2ZhaWw0OgogICAgIEVycm9y
KCJmYWlsNFxuIik7CiAKICAgICBfX0Zkb0QwVG9EMyhGZG8pOwogCitmYWlsMzoKKyAgICBFcnJv
cigiZmFpbDNcbiIpOworCiAgICAgWEVOQlVTX1NUT1JFKFJlbGVhc2UsICZGZG8tPlN0b3JlSW50
ZXJmYWNlKTsKIAogZmFpbDI6CkBAIC05MDIsNzcgKzkxOCw2IEBAIGZhaWwxOgogICAgIHJldHVy
biBzdGF0dXM7CiB9CiAKLXN0YXRpYyBGT1JDRUlOTElORSBWT0lECi1fX0Zkb0Rlc3Ryb3lIYW5k
bGUoCi0gICAgSU4gIFBYRU5DT05TX0ZETyAgICBGZG8sCi0gICAgSU4gIFBGRE9fSEFORExFICAg
ICBIYW5kbGUKLSAgICApCi17Ci0gICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihGZG8pOwotCi0g
ICAgVHJhY2UoIiVwXG4iLCBIYW5kbGUtPkZpbGVPYmplY3QpOwotCi0gICAgUnRsWmVyb01lbW9y
eSgmSGFuZGxlLT5MaXN0RW50cnksIHNpemVvZiAoTElTVF9FTlRSWSkpOwotCi0gICAgU3RyZWFt
RGVzdHJveShIYW5kbGUtPlN0cmVhbSk7Ci0gICAgSGFuZGxlLT5TdHJlYW0gPSBOVUxMOwotCi0g
ICAgSGFuZGxlLT5GaWxlT2JqZWN0ID0gTlVMTDsKLQotICAgIEFTU0VSVChJc1plcm9NZW1vcnko
SGFuZGxlLCBzaXplb2YgKEZET19IQU5ETEUpKSk7Ci0gICAgX19GZG9GcmVlKEhhbmRsZSk7Ci19
Ci0KLXN0YXRpYyBWT0lECi1GZG9EZXN0cm95SGFuZGxlKAotICAgIElOICBQWEVOQ09OU19GRE8g
ICAgRmRvLAotICAgIElOICBQRkRPX0hBTkRMRSAgICAgSGFuZGxlCi0gICAgKQotewotICAgIEtJ
UlFMICAgICAgICAgICAgICAgSXJxbDsKLQotICAgIEtlQWNxdWlyZVNwaW5Mb2NrKCZGZG8tPkhh
bmRsZUxvY2ssICZJcnFsKTsKLSAgICBSZW1vdmVFbnRyeUxpc3QoJkhhbmRsZS0+TGlzdEVudHJ5
KTsKLSAgICBLZVJlbGVhc2VTcGluTG9jaygmRmRvLT5IYW5kbGVMb2NrLCBJcnFsKTsKLQotICAg
IF9fRmRvRGVzdHJveUhhbmRsZShGZG8sIEhhbmRsZSk7Ci19Ci0KLXN0YXRpYyBWT0lECi1GZG9E
ZXN0cm95QWxsSGFuZGxlcygKLSAgICBJTiAgUFhFTkNPTlNfRkRPICAgIEZkbwotICAgICkKLXsK
LSAgICBLSVJRTCAgICAgICAgICAgICAgIElycWw7Ci0gICAgTElTVF9FTlRSWSAgICAgICAgICBM
aXN0OwotICAgIFBMSVNUX0VOVFJZICAgICAgICAgTGlzdEVudHJ5OwotICAgIFBGRE9fSEFORExF
ICAgICAgICAgSGFuZGxlOwotCi0gICAgSW5pdGlhbGl6ZUxpc3RIZWFkKCZMaXN0KTsKLQotICAg
IEtlQWNxdWlyZVNwaW5Mb2NrKCZGZG8tPkhhbmRsZUxvY2ssICZJcnFsKTsKLQotICAgIExpc3RF
bnRyeSA9IEZkby0+SGFuZGxlTGlzdC5GbGluazsKLSAgICBpZiAoIUlzTGlzdEVtcHR5KCZGZG8t
PkhhbmRsZUxpc3QpKSB7Ci0gICAgICAgIFJlbW92ZUVudHJ5TGlzdCgmRmRvLT5IYW5kbGVMaXN0
KTsKLSAgICAgICAgSW5pdGlhbGl6ZUxpc3RIZWFkKCZGZG8tPkhhbmRsZUxpc3QpOwotICAgICAg
ICBBcHBlbmRUYWlsTGlzdCgmTGlzdCwgTGlzdEVudHJ5KTsKLSAgICB9Ci0KLSAgICBLZVJlbGVh
c2VTcGluTG9jaygmRmRvLT5IYW5kbGVMb2NrLCBJcnFsKTsKLQotICAgIHdoaWxlICghSXNMaXN0
RW1wdHkoJkxpc3QpKSB7Ci0gICAgICAgIExpc3RFbnRyeSA9IFJlbW92ZUhlYWRMaXN0KCZMaXN0
KTsKLSAgICAgICAgQVNTRVJUM1AoTGlzdEVudHJ5LCAhPSwgJkxpc3QpOwotCi0gICAgICAgIEhh
bmRsZSA9IENPTlRBSU5JTkdfUkVDT1JEKExpc3RFbnRyeSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRkRPX0hBTkRMRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTGlzdEVudHJ5KTsKLQotICAgICAgICBfX0Zkb0Rlc3Ryb3lIYW5kbGUoRmRvLCBIYW5k
bGUpOwotICAgIH0KLX0KLQogLy8gVGhpcyBmdW5jdGlvbiBtdXN0IG5vdCB0b3VjaCBwYWdlYWJs
ZSBjb2RlIG9yIGRhdGEKIHN0YXRpYyBERUNMU1BFQ19OT0lOTElORSBWT0lECiBGZG9EMFRvRDMo
CkBAIC05OTEsOCArOTM2LDYgQEAgRmRvRDBUb0QzKAogI3ByYWdtYSBwcmVmYXN0KHN1cHByZXNz
OjI4MTIzKQogICAgIChWT0lEKSBJb1NldERldmljZUludGVyZmFjZVN0YXRlKCZEeC0+TGluaywg
RkFMU0UpOwogCi0gICAgRmRvRGVzdHJveUFsbEhhbmRsZXMoRmRvKTsKLQogICAgIFBvd2VyU3Rh
dGUuRGV2aWNlU3RhdGUgPSBQb3dlckRldmljZUQzOwogICAgIFBvU2V0UG93ZXJTdGF0ZShGZG8t
PkR4LT5EZXZpY2VPYmplY3QsCiAgICAgICAgICAgICAgICAgICAgIERldmljZVBvd2VyU3RhdGUs
CkBAIC0yMTY2LDg4ICsyMTA5LDYgQEAgZG9uZToKICAgICByZXR1cm4gc3RhdHVzOwogfQogCi1z
dGF0aWMgTlRTVEFUVVMKLUZkb0NyZWF0ZUhhbmRsZSgKLSAgICBJTiAgUFhFTkNPTlNfRkRPICAg
IEZkbywKLSAgICBJTiAgUEZJTEVfT0JKRUNUICAgIEZpbGVPYmplY3QKLSAgICApCi17Ci0gICAg
UEZET19IQU5ETEUgICAgICAgICBIYW5kbGU7Ci0gICAgS0lSUUwgICAgICAgICAgICAgICBJcnFs
OwotICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVzOwotCi0gICAgSGFuZGxlID0gX19GZG9B
bGxvY2F0ZShzaXplb2YgKEZET19IQU5ETEUpKTsKLQotICAgIHN0YXR1cyA9IFNUQVRVU19OT19N
RU1PUlk7Ci0gICAgaWYgKEhhbmRsZSA9PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWwxOwotCi0g
ICAgc3RhdHVzID0gU3RyZWFtQ3JlYXRlKEZkbywgJkhhbmRsZS0+U3RyZWFtKTsKLSAgICBpZiAo
IU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsMjsKLQotICAgIEhhbmRsZS0+
RmlsZU9iamVjdCA9IEZpbGVPYmplY3Q7Ci0KLSAgICBLZUFjcXVpcmVTcGluTG9jaygmRmRvLT5I
YW5kbGVMb2NrLCAmSXJxbCk7Ci0gICAgSW5zZXJ0VGFpbExpc3QoJkZkby0+SGFuZGxlTGlzdCwg
JkhhbmRsZS0+TGlzdEVudHJ5KTsKLSAgICBLZVJlbGVhc2VTcGluTG9jaygmRmRvLT5IYW5kbGVM
b2NrLCBJcnFsKTsKLQotICAgIFRyYWNlKCIlcFxuIiwgSGFuZGxlLT5GaWxlT2JqZWN0KTsKLQot
ICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKLQotZmFpbDI6Ci0gICAgRXJyb3IoImZhaWwyXG4i
KTsKLQotICAgIEFTU0VSVChJc1plcm9NZW1vcnkoSGFuZGxlLCBzaXplb2YgKEZET19IQU5ETEUp
KSk7Ci0gICAgX19GZG9GcmVlKEhhbmRsZSk7Ci0KLWZhaWwxOgotICAgIEVycm9yKCJmYWlsMSAo
JTA4eClcbiIsIHN0YXR1cyk7Ci0KLSAgICByZXR1cm4gc3RhdHVzOwotfQotCi1zdGF0aWMgUEZE
T19IQU5ETEUKLUZkb0ZpbmRIYW5kbGUoCi0gICAgSU4gIFBYRU5DT05TX0ZETyAgICBGZG8sCi0g
ICAgSU4gIFBGSUxFX09CSkVDVCAgICBGaWxlT2JqZWN0Ci0gICAgKQotewotICAgIEtJUlFMICAg
ICAgICAgICAgICAgSXJxbDsKLSAgICBQTElTVF9FTlRSWSAgICAgICAgIExpc3RFbnRyeTsKLSAg
ICBQRkRPX0hBTkRMRSAgICAgICAgIEhhbmRsZTsKLSAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0
YXR1czsKLQotICAgIEtlQWNxdWlyZVNwaW5Mb2NrKCZGZG8tPkhhbmRsZUxvY2ssICZJcnFsKTsK
LQotICAgIGZvciAoTGlzdEVudHJ5ID0gRmRvLT5IYW5kbGVMaXN0LkZsaW5rOwotICAgICAgICAg
TGlzdEVudHJ5ICE9ICZGZG8tPkhhbmRsZUxpc3Q7Ci0gICAgICAgICBMaXN0RW50cnkgPSBMaXN0
RW50cnktPkZsaW5rKSB7Ci0gICAgICAgIEhhbmRsZSA9IENPTlRBSU5JTkdfUkVDT1JEKExpc3RF
bnRyeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkRPX0hBTkRMRSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdEVudHJ5KTsKLQotICAgICAgICBp
ZiAoSGFuZGxlLT5GaWxlT2JqZWN0ID09IEZpbGVPYmplY3QpCi0gICAgICAgICAgICBnb3RvIGZv
dW5kOwotICAgIH0KLQotICAgIHN0YXR1cyA9IFNUQVRVU19VTlNVQ0NFU1NGVUw7Ci0gICAgZ290
byBmYWlsMTsKLQotZm91bmQ6Ci0gICAgS2VSZWxlYXNlU3BpbkxvY2soJkZkby0+SGFuZGxlTG9j
aywgSXJxbCk7Ci0KLSAgICByZXR1cm4gSGFuZGxlOwotCi1mYWlsMToKLSAgICBFcnJvcigiZmFp
bDEgKCUwOHgpXG4iLCBzdGF0dXMpOwotCi0gICAgS2VSZWxlYXNlU3BpbkxvY2soJkZkby0+SGFu
ZGxlTG9jaywgSXJxbCk7Ci0KLSAgICByZXR1cm4gTlVMTDsKLX0KLQogc3RhdGljIERFQ0xTUEVD
X05PSU5MSU5FIE5UU1RBVFVTCiBGZG9EaXNwYXRjaENyZWF0ZSgKICAgICBJTiAgUFhFTkNPTlNf
RkRPICAgIEZkbywKQEAgLTIyNTksNyArMjEyMCw4IEBAIEZkb0Rpc3BhdGNoQ3JlYXRlKAogCiAg
ICAgU3RhY2tMb2NhdGlvbiA9IElvR2V0Q3VycmVudElycFN0YWNrTG9jYXRpb24oSXJwKTsKIAot
ICAgIHN0YXR1cyA9IEZkb0NyZWF0ZUhhbmRsZShGZG8sIFN0YWNrTG9jYXRpb24tPkZpbGVPYmpl
Y3QpOworICAgIHN0YXR1cyA9IENvbnNvbGVEaXNwYXRjaENyZWF0ZShGZG8tPkNvbnNvbGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YWNrTG9jYXRpb24tPkZpbGVPYmpl
Y3QpOwogCiAgICAgSXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBzdGF0dXM7CiAgICAgSW9Db21wbGV0
ZVJlcXVlc3QoSXJwLCBJT19OT19JTkNSRU1FTlQpOwpAQCAtMjI3NCwyNyArMjEzNiwxMiBAQCBG
ZG9EaXNwYXRjaENsZWFudXAoCiAgICAgKQogewogICAgIFBJT19TVEFDS19MT0NBVElPTiAgU3Rh
Y2tMb2NhdGlvbjsKLSAgICBQRkRPX0hBTkRMRSAgICAgICAgIEhhbmRsZTsKICAgICBOVFNUQVRV
UyAgICAgICAgICAgIHN0YXR1czsKIAogICAgIFN0YWNrTG9jYXRpb24gPSBJb0dldEN1cnJlbnRJ
cnBTdGFja0xvY2F0aW9uKElycCk7CiAKLSAgICBIYW5kbGUgPSBGZG9GaW5kSGFuZGxlKEZkbywg
U3RhY2tMb2NhdGlvbi0+RmlsZU9iamVjdCk7Ci0KLSAgICBzdGF0dXMgPSBTVEFUVVNfVU5TVUND
RVNTRlVMOwotICAgIGlmIChIYW5kbGUgPT0gTlVMTCkKLSAgICAgICAgZ290byBmYWlsMTsKLQot
ICAgIEZkb0Rlc3Ryb3lIYW5kbGUoRmRvLCBIYW5kbGUpOwotICAgIHN0YXR1cyA9IFNUQVRVU19T
VUNDRVNTOwotCi0gICAgSXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBzdGF0dXM7Ci0gICAgSW9Db21w
bGV0ZVJlcXVlc3QoSXJwLCBJT19OT19JTkNSRU1FTlQpOwotCi0gICAgcmV0dXJuIHN0YXR1czsK
LQotZmFpbDE6Ci0gICAgRXJyb3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVzKTsKKyAgICBzdGF0
dXMgPSBDb25zb2xlRGlzcGF0Y2hDbGVhbnVwKEZkby0+Q29uc29sZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFN0YWNrTG9jYXRpb24tPkZpbGVPYmplY3QpOwogCiAgICAg
SXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBzdGF0dXM7CiAgICAgSW9Db21wbGV0ZVJlcXVlc3QoSXJw
LCBJT19OT19JTkNSRU1FTlQpOwpAQCAtMjMyNiwyOSArMjE3MywxNyBAQCBGZG9EaXNwYXRjaFJl
YWRXcml0ZSgKICAgICBJTiAgUElSUCAgICAgICAgICAgIElycAogICAgICkKIHsKLSAgICBQSU9f
U1RBQ0tfTE9DQVRJT04gIFN0YWNrTG9jYXRpb247Ci0gICAgUEZET19IQU5ETEUgICAgICAgICBI
YW5kbGU7CiAgICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7CiAKLSAgICBTdGFja0xvY2F0
aW9uID0gSW9HZXRDdXJyZW50SXJwU3RhY2tMb2NhdGlvbihJcnApOwotCi0gICAgSGFuZGxlID0g
RmRvRmluZEhhbmRsZShGZG8sIFN0YWNrTG9jYXRpb24tPkZpbGVPYmplY3QpOwotCi0gICAgc3Rh
dHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZVTDsKLSAgICBpZiAoSGFuZGxlID09IE5VTEwpCi0gICAg
ICAgIGdvdG8gZmFpbDE7Ci0KICAgICBJb01hcmtJcnBQZW5kaW5nKElycCk7CiAKLSAgICBzdGF0
dXMgPSBTdHJlYW1QdXRRdWV1ZShIYW5kbGUtPlN0cmVhbSwgSXJwKTsKKyAgICBzdGF0dXMgPSBD
b25zb2xlRGlzcGF0Y2hSZWFkV3JpdGUoRmRvLT5Db25zb2xlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBJcnApOwogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQot
ICAgICAgICBnb3RvIGZhaWwyOworICAgICAgICBnb3RvIGZhaWwxOwogCiAgICAgcmV0dXJuIFNU
QVRVU19QRU5ESU5HOwogCi1mYWlsMjoKLSAgICBFcnJvcigiZmFpbDJcbiIpOwotCiBmYWlsMToK
ICAgICBFcnJvcigiZmFpbDEgKCUwOHgpXG4iLCBzdGF0dXMpOwogCkBAIC0yNjQxLDggKzI0NzYs
OSBAQCBGZG9DcmVhdGUoCiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCiAgICAgICAgIGdv
dG8gZmFpbDExOwogCi0gICAgSW5pdGlhbGl6ZUxpc3RIZWFkKCZGZG8tPkhhbmRsZUxpc3QpOwot
ICAgIEtlSW5pdGlhbGl6ZVNwaW5Mb2NrKCZGZG8tPkhhbmRsZUxvY2spOworICAgIHN0YXR1cyA9
IENvbnNvbGVDcmVhdGUoRmRvLCAmRmRvLT5Db25zb2xlKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Mo
c3RhdHVzKSkKKyAgICAgICAgZ290byBmYWlsMTI7CiAKICAgICBGdW5jdGlvbkRldmljZU9iamVj
dC0+RmxhZ3MgfD0gRE9fQlVGRkVSRURfSU87CiAKQEAgLTI2NTUsMTEgKzI0OTEsMTcgQEAgRmRv
Q3JlYXRlKAogICAgIEZ1bmN0aW9uRGV2aWNlT2JqZWN0LT5GbGFncyAmPSB+RE9fREVWSUNFX0lO
SVRJQUxJWklORzsKICAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CiAKK2ZhaWwxMjoKKyAgICBF
cnJvcigiZmFpbDEyXG4iKTsKKworICAgIFJ0bFplcm9NZW1vcnkoJkZkby0+Q29uc29sZUludGVy
ZmFjZSwKKyAgICAgICAgICAgICAgICAgIHNpemVvZihYRU5CVVNfQ09OU09MRV9JTlRFUkZBQ0Up
KTsKKwogZmFpbDExOgogICAgIEVycm9yKCJmYWlsMTFcbiIpOwogCi0gICAgUnRsWmVyb01lbW9y
eSgmRmRvLT5Db25zb2xlSW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAgc2l6ZW9mIChYRU5C
VVNfQ09OU09MRV9JTlRFUkZBQ0UpKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZGZG8tPlN0b3JlSW50
ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgc2l6ZW9mIChYRU5CVVNfU1RPUkVfSU5URVJGQUNF
KSk7CiAKIGZhaWwxMDoKICAgICBFcnJvcigiZmFpbDEwXG4iKTsKQEAgLTI3NDQsMTAgKzI1ODYs
OCBAQCBGZG9EZXN0cm95KAogCiAgICAgRHgtPkZkbyA9IE5VTEw7CiAKLSAgICBSdGxaZXJvTWVt
b3J5KCZGZG8tPkhhbmRsZUxvY2ssIHNpemVvZiAoS1NQSU5fTE9DSykpOwotCi0gICAgQVNTRVJU
KElzTGlzdEVtcHR5KCZGZG8tPkhhbmRsZUxpc3QpKTsKLSAgICBSdGxaZXJvTWVtb3J5KCZGZG8t
PkhhbmRsZUxpc3QsIHNpemVvZiAoTElTVF9FTlRSWSkpOworICAgIENvbnNvbGVEZXN0cm95KEZk
by0+Q29uc29sZSk7CisgICAgRmRvLT5Db25zb2xlID0gTlVMTDsKIAogICAgIFJ0bFplcm9NZW1v
cnkoJkZkby0+Q29uc29sZUludGVyZmFjZSwKICAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVO
QlVTX0NPTlNPTEVfSU5URVJGQUNFKSk7CmRpZmYgLS1naXQgYS92czIwMTUveGVuY29ucy94ZW5j
b25zLnZjeHByb2ogYi92czIwMTUveGVuY29ucy94ZW5jb25zLnZjeHByb2oKaW5kZXggZmY2NWQ5
Zi4uMTJmNWI3MCAxMDA2NDQKLS0tIGEvdnMyMDE1L3hlbmNvbnMveGVuY29ucy52Y3hwcm9qCisr
KyBiL3ZzMjAxNS94ZW5jb25zL3hlbmNvbnMudmN4cHJvagpAQCAtNjcsNiArNjcsNyBAQAogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbmNvbnMvZHJpdmVyLmMiIC8+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVuY29ucy9mZG8uYyIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5jb25zL3JlZ2lzdHJ5LmMiIC8+CisgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVuY29ucy9jb25zb2xlLmMiIC8+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVuY29ucy9zdHJlYW0uYyIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5jb25zL3RocmVhZC5jIiAvPgogICA8L0l0ZW1H
cm91cD4KLS0gCjIuOC4zCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVu
cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv
L3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 14:28:34 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 14:28:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeM2T-0000Ey-Gu; Wed, 24 Jan 2018 14:28:33 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cbgo=et=citrix.com=prvs=555590473=owen.smith@srs-us1.protection.inumbo.net>)
 id 1eeM2S-0000Ef-2X
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 14:28:32 +0000
X-Inumbo-ID: dacaaa3d-0112-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id dacaaa3d-0112-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 14:28:33 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,408,1511827200"; d="scan'208";a="459473403"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 24 Jan 2018 14:05:13 +0000
Message-ID: <20180124140515.12284-13-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20180124140515.12284-1-owen.smith@citrix.com>
References: <20180124140515.12284-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 12/14] Report a better device name
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKU2lnbmVkLW9mZi1ieTog
T3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW5jb25zL3Bkby5j
IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk
aWZmIC0tZ2l0IGEvc3JjL3hlbmNvbnMvcGRvLmMgYi9zcmMveGVuY29ucy9wZG8uYwppbmRleCBl
MDIzMTNiLi5iN2E5MGNhIDEwMDc1NQotLS0gYS9zcmMveGVuY29ucy9wZG8uYworKysgYi9zcmMv
eGVuY29ucy9wZG8uYwpAQCAtODkyLDcgKzg5Miw3IEBAIFBkb1F1ZXJ5RGV2aWNlVGV4dCgKICAg
ICAgICAgc3RhdHVzID0gUnRsU3RyaW5nQ2JQcmludGZXKEJ1ZmZlciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIE1BWFRFWFRMRU4sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBMIiVocyBQViBDb25zb2xlICMlaHMiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRmRvR2V0TmFtZShfX1Bkb0dldEZkbyhQZG8pKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST0RVQ1RfTkFNRV9TVFIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBfX1Bkb0dldE5hbWUoUGRvKSk7CiAgICAgICAgIEFT
U0VSVChOVF9TVUNDRVNTKHN0YXR1cykpOwogCi0tIAoyLjguMwoKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QK
d2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj
dC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 14:28:34 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 14:28:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeM2U-0000F9-ID; Wed, 24 Jan 2018 14:28:34 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cbgo=et=citrix.com=prvs=555590473=owen.smith@srs-us1.protection.inumbo.net>)
 id 1eeM2T-0000Eh-2l
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 14:28:33 +0000
X-Inumbo-ID: db9083a2-0112-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id db9083a2-0112-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 14:28:34 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,408,1511827200"; d="scan'208";a="459473405"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 24 Jan 2018 14:05:14 +0000
Message-ID: <20180124140515.12284-14-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20180124140515.12284-1-owen.smith@citrix.com>
References: <20180124140515.12284-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 13/14] Fix BUG on hibernate/shutdown
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKSXQgc2VlbXMgdGhhdCBy
YXcgUERPcyBkbyBub3QgZ2V0IGEgc2V0IGRldmljZSBwb3dlciBJUlAgb24gaGliZXJuYXRlLgpG
b3JjZSBhIFBkb0QzVG9EMCB0cmFuc2l0aW9uLCBpZiBpdHMgbm90IGFscmVhZHkgYmVlbiBkb25l
LCB3aGVuIHRoZQpGZG8gdHJhbnNpdGlvbnMgdG8gRDMKClNpZ25lZC1vZmYtYnk6IE93ZW4gU21p
dGggPG93ZW4uc21pdGhAY2l0cml4LmNvbT4KLS0tCiBzcmMveGVuY29ucy9wZG8uYyB8IDI0ICsr
KysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyks
IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmMveGVuY29ucy9wZG8uYyBiL3NyYy94ZW5j
b25zL3Bkby5jCmluZGV4IGI3YTkwY2EuLjg3N2IyMWEgMTAwNzU1Ci0tLSBhL3NyYy94ZW5jb25z
L3Bkby5jCisrKyBiL3NyYy94ZW5jb25zL3Bkby5jCkBAIC00MzMsNiArNDMzLDggQEAgUGRvRDNU
b0QwKAogICAgIEtJUlFMICAgICAgICAgICAgICAgSXJxbDsKICAgICBOVFNUQVRVUyAgICAgICAg
ICAgIHN0YXR1czsKIAorICAgIFRyYWNlKCI9PT09PT5cbiIpOworCiAgICAgQVNTRVJUM1UoS2VH
ZXRDdXJyZW50SXJxbCgpLCA9PSAsIFBBU1NJVkVfTEVWRUwpOwogCiAgICAgS2VSYWlzZUlycWwo
RElTUEFUQ0hfTEVWRUwsICZJcnFsKTsKQEAgLTQ1OSw2ICs0NjEsOCBAQCBQZG9EM1RvRDAoCiAj
cHJhZ21hIHByZWZhc3Qoc3VwcHJlc3M6MjgxMjMpCiAgICAgKFZPSUQpIElvU2V0RGV2aWNlSW50
ZXJmYWNlU3RhdGUoJlBkby0+RHgtPkxpbmssIFRSVUUpOwogCisgICAgVHJhY2UoIjw9PT09PVxu
Iik7CisKICAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CiAKIGZhaWwzOgpAQCAtNDg3LDYgKzQ5
MSw4IEBAIFBkb0QwVG9EMygKIHsKICAgICBLSVJRTCAgICAgICAgICAgICAgIElycWw7CiAKKyAg
ICBUcmFjZSgiPT09PT0+XG4iKTsKKwogICAgIEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwoKSwg
PT0gLCBQQVNTSVZFX0xFVkVMKTsKIAogI3ByYWdtYSBwcmVmYXN0KHN1cHByZXNzOjI4MTIzKQpA
QCAtNTA0LDYgKzUxMCw4IEBAIFBkb0QwVG9EMygKICAgICBYRU5CVVNfU1VTUEVORChSZWxlYXNl
LCAmUGRvLT5TdXNwZW5kSW50ZXJmYWNlKTsKIAogICAgIEtlTG93ZXJJcnFsKElycWwpOworCisg
ICAgVHJhY2UoIjw9PT09PVxuIik7CiB9CiAKIC8vIFRoaXMgZnVuY3Rpb24gbXVzdCBub3QgdG91
Y2ggcGFnZWFibGUgY29kZSBvciBkYXRhCkBAIC0xODM4LDcgKzE4NDYsMTUgQEAgUGRvUmVzdW1l
KAogICAgIElOICBQWEVOQ09OU19QRE8gICAgUGRvCiAgICAgKQogewotICAgIHJldHVybiBGcm9u
dGVuZFJlc3VtZShQZG8tPkZyb250ZW5kKTsKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1
czsKKworICAgIFRyYWNlKCI9PT09PT5cbiIpOworCisgICAgc3RhdHVzID0gRnJvbnRlbmRSZXN1
bWUoUGRvLT5Gcm9udGVuZCk7CisKKyAgICBUcmFjZSgiPD09PT09XG4iKTsKKworICAgIHJldHVy
biBzdGF0dXM7CiB9CiAKIFZPSUQKQEAgLTE4NDYsNyArMTg2MiwxMyBAQCBQZG9TdXNwZW5kKAog
ICAgIElOICBQWEVOQ09OU19QRE8gICAgUGRvCiAgICAgKQogeworICAgIFRyYWNlKCI9PT09PT5c
biIpOworCisgICAgaWYgKF9fUGRvR2V0RGV2aWNlUG93ZXJTdGF0ZShQZG8pID09IFBvd2VyRGV2
aWNlRDApCisgICAgICAgIFBkb0QwVG9EMyhQZG8pOwogICAgIEZyb250ZW5kU3VzcGVuZChQZG8t
PkZyb250ZW5kKTsKKworICAgIFRyYWNlKCI8PT09PT1cbiIpOwogfQogCiBOVFNUQVRVUwotLSAK
Mi44LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3
aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 14:28:36 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 14:28:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeM2W-0000GB-Jd; Wed, 24 Jan 2018 14:28:36 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cbgo=et=citrix.com=prvs=555590473=owen.smith@srs-us1.protection.inumbo.net>)
 id 1eeM2V-0000Ej-2q
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 14:28:35 +0000
X-Inumbo-ID: dc763aa1-0112-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id dc763aa1-0112-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 14:28:35 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,408,1511827200"; d="scan'208";a="459473407"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 24 Jan 2018 14:05:11 +0000
Message-ID: <20180124140515.12284-11-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20180124140515.12284-1-owen.smith@citrix.com>
References: <20180124140515.12284-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 10/14] Implement ring protocol
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKKiBVc2VzIGEgSU9fQ1NR
IGZvciByZWFkIGFuZCB3cml0ZSBJUlBzCgpTaWduZWQtb2ZmLWJ5OiBPd2VuIFNtaXRoIDxvd2Vu
LnNtaXRoQGNpdHJpeC5jb20+Ci0tLQogc3JjL3hlbmNvbnMvZnJvbnRlbmQuYyB8ICAzMyArLS0t
CiBzcmMveGVuY29ucy9mcm9udGVuZC5oIHwgIDIxICstCiBzcmMveGVuY29ucy9wZG8uYyAgICAg
IHwgIDExICstCiBzcmMveGVuY29ucy9yaW5nLmMgICAgIHwgNTE5ICsrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIHNyYy94ZW5jb25zL3JpbmcuaCAgICAg
fCAgMTggKysKIDUgZmlsZXMgY2hhbmdlZCwgNTU0IGluc2VydGlvbnMoKyksIDQ4IGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL3NyYy94ZW5jb25zL2Zyb250ZW5kLmMgYi9zcmMveGVuY29ucy9m
cm9udGVuZC5jCmluZGV4IGZhNzQ0M2QuLmU5MTQ5ODUgMTAwNzU1Ci0tLSBhL3NyYy94ZW5jb25z
L2Zyb250ZW5kLmMKKysrIGIvc3JjL3hlbmNvbnMvZnJvbnRlbmQuYwpAQCAtMjIzLDM3ICsyMjMs
MjAgQEAgRnJvbnRlbmRHZXRQcm90b2NvbCgKICAgICByZXR1cm4gRnJvbnRlbmQtPlByb3RvY29s
OwogfQogCi1OVFNUQVRVUwotRnJvbnRlbmREaXNwYXRjaENyZWF0ZSgKLSAgICBJTiAgUFhFTkNP
TlNfRlJPTlRFTkQgICBGcm9udGVuZCwKLSAgICBJTiAgUEZJTEVfT0JKRUNUICAgICAgICBGaWxl
T2JqZWN0Ci0gICAgKQotewotICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoRnJvbnRlbmQpOwot
ICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoRmlsZU9iamVjdCk7Ci0gICAgcmV0dXJuIFNUQVRV
U19TVUNDRVNTOwotfQotCi1OVFNUQVRVUwotRnJvbnRlbmREaXNwYXRjaENsZWFudXAoCi0gICAg
SU4gIFBYRU5DT05TX0ZST05URU5EICAgRnJvbnRlbmQsCi0gICAgSU4gIFBGSUxFX09CSkVDVCAg
ICAgICAgRmlsZU9iamVjdAorc3RhdGljIEZPUkNFSU5MSU5FIFBYRU5DT05TX1JJTkcKK19fRnJv
bnRlbmRHZXRSaW5nKAorICAgIElOICBQWEVOQ09OU19GUk9OVEVORCAgIEZyb250ZW5kCiAgICAg
KQogewotICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoRnJvbnRlbmQpOwotICAgIFVOUkVGRVJF
TkNFRF9QQVJBTUVURVIoRmlsZU9iamVjdCk7Ci0gICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwor
ICAgIHJldHVybiBGcm9udGVuZC0+UmluZzsKIH0KIAotTlRTVEFUVVMKLUZyb250ZW5kRGlzcGF0
Y2hSZWFkV3JpdGUoCi0gICAgSU4gIFBYRU5DT05TX0ZST05URU5EICAgRnJvbnRlbmQsCi0gICAg
SU4gIFBJUlAgICAgICAgICAgICAgICAgSXJwCitQWEVOQ09OU19SSU5HCitGcm9udGVuZEdldFJp
bmcoCisgICAgSU4gIFBYRU5DT05TX0ZST05URU5EICAgRnJvbnRlbmQKICAgICApCiB7Ci0gICAg
VU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihGcm9udGVuZCk7Ci0gICAgVU5SRUZFUkVOQ0VEX1BBUkFN
RVRFUihJcnApOwotICAgIHJldHVybiBTVEFUVVNfREVWSUNFX05PVF9SRUFEWTsKKyAgICByZXR1
cm4gX19Gcm9udGVuZEdldFJpbmcoRnJvbnRlbmQpOwogfQogCiBzdGF0aWMgVk9JRApkaWZmIC0t
Z2l0IGEvc3JjL3hlbmNvbnMvZnJvbnRlbmQuaCBiL3NyYy94ZW5jb25zL2Zyb250ZW5kLmgKaW5k
ZXggNWVmZjA2Ny4uYjcxNzdkMCAxMDA3NTUKLS0tIGEvc3JjL3hlbmNvbnMvZnJvbnRlbmQuaAor
KysgYi9zcmMveGVuY29ucy9mcm9udGVuZC5oCkBAIC0zOCw2ICszOCw4IEBACiAKIHR5cGVkZWYg
c3RydWN0IF9YRU5DT05TX0ZST05URU5EIFhFTkNPTlNfRlJPTlRFTkQsICpQWEVOQ09OU19GUk9O
VEVORDsKIAorI2luY2x1ZGUgInJpbmcuaCIKKwogdHlwZWRlZiBlbnVtIF9GUk9OVEVORF9TVEFU
RSB7CiAgICAgRlJPTlRFTkRfVU5LTk9XTiwKICAgICBGUk9OVEVORF9DTE9TRUQsCkBAIC0xMDMs
MjIgKzEwNSw5IEBAIEZyb250ZW5kR2V0UHJvdG9jb2woCiAgICAgSU4gIFBYRU5DT05TX0ZST05U
RU5EICAgRnJvbnRlbmQKICAgICApOwogCi1leHRlcm4gTlRTVEFUVVMKLUZyb250ZW5kRGlzcGF0
Y2hDcmVhdGUoCi0gICAgSU4gIFBYRU5DT05TX0ZST05URU5EICAgRnJvbnRlbmQsCi0gICAgSU4g
IFBGSUxFX09CSkVDVCAgICAgICAgRmlsZU9iamVjdAotICAgICk7Ci0KLWV4dGVybiBOVFNUQVRV
UwotRnJvbnRlbmREaXNwYXRjaENsZWFudXAoCi0gICAgSU4gIFBYRU5DT05TX0ZST05URU5EICAg
RnJvbnRlbmQsCi0gICAgSU4gIFBGSUxFX09CSkVDVCAgICAgICAgRmlsZU9iamVjdAotICAgICk7
Ci0KLWV4dGVybiBOVFNUQVRVUwotRnJvbnRlbmREaXNwYXRjaFJlYWRXcml0ZSgKLSAgICBJTiAg
UFhFTkNPTlNfRlJPTlRFTkQgICBGcm9udGVuZCwKLSAgICBJTiAgUElSUCAgICAgICAgICAgICAg
ICBJcnAKK2V4dGVybiBQWEVOQ09OU19SSU5HCitGcm9udGVuZEdldFJpbmcoCisgICAgSU4gIFBY
RU5DT05TX0ZST05URU5EICAgRnJvbnRlbmQKICAgICApOwogCiAjZW5kaWYgIC8vIF9YRU5DT05T
X0ZST05URU5EX0gKZGlmZiAtLWdpdCBhL3NyYy94ZW5jb25zL3Bkby5jIGIvc3JjL3hlbmNvbnMv
cGRvLmMKaW5kZXggNTI4ZDM2ZS4uZTAyMzEzYiAxMDA3NTUKLS0tIGEvc3JjL3hlbmNvbnMvcGRv
LmMKKysrIGIvc3JjL3hlbmNvbnMvcGRvLmMKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJk
cml2ZXIuaCIKICNpbmNsdWRlICJyZWdpc3RyeS5oIgogI2luY2x1ZGUgImZyb250ZW5kLmgiCisj
aW5jbHVkZSAicmluZy5oIgogI2luY2x1ZGUgInRocmVhZC5oIgogI2luY2x1ZGUgImRiZ19wcmlu
dC5oIgogI2luY2x1ZGUgImFzc2VydC5oIgpAQCAtMTYwOSw4ICsxNjEwLDggQEAgUGRvRGlzcGF0
Y2hDcmVhdGUoCiAKICAgICBTdGFja0xvY2F0aW9uID0gSW9HZXRDdXJyZW50SXJwU3RhY2tMb2Nh
dGlvbihJcnApOwogCi0gICAgc3RhdHVzID0gRnJvbnRlbmREaXNwYXRjaENyZWF0ZShQZG8tPkZy
b250ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhY2tMb2NhdGlv
bi0+RmlsZU9iamVjdCk7CisgICAgc3RhdHVzID0gUmluZ0Rpc3BhdGNoQ3JlYXRlKEZyb250ZW5k
R2V0UmluZyhQZG8tPkZyb250ZW5kKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
U3RhY2tMb2NhdGlvbi0+RmlsZU9iamVjdCk7CiAKICAgICBJcnAtPklvU3RhdHVzLlN0YXR1cyA9
IHN0YXR1czsKICAgICBJb0NvbXBsZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7CkBA
IC0xNjI5LDggKzE2MzAsOCBAQCBQZG9EaXNwYXRjaENsZWFudXAoCiAKICAgICBTdGFja0xvY2F0
aW9uID0gSW9HZXRDdXJyZW50SXJwU3RhY2tMb2NhdGlvbihJcnApOwogCi0gICAgc3RhdHVzID0g
RnJvbnRlbmREaXNwYXRjaENsZWFudXAoUGRvLT5Gcm9udGVuZCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTdGFja0xvY2F0aW9uLT5GaWxlT2JqZWN0KTsKKyAgICBzdGF0
dXMgPSBSaW5nRGlzcGF0Y2hDbGVhbnVwKEZyb250ZW5kR2V0UmluZyhQZG8tPkZyb250ZW5kKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YWNrTG9jYXRpb24tPkZpbGVPYmpl
Y3QpOwogCiAgICAgSXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBzdGF0dXM7CiAgICAgSW9Db21wbGV0
ZVJlcXVlc3QoSXJwLCBJT19OT19JTkNSRU1FTlQpOwpAQCAtMTY2Niw3ICsxNjY3LDcgQEAgUGRv
RGlzcGF0Y2hSZWFkV3JpdGUoCiAKICAgICBJb01hcmtJcnBQZW5kaW5nKElycCk7CiAKLSAgICBz
dGF0dXMgPSBGcm9udGVuZERpc3BhdGNoUmVhZFdyaXRlKFBkby0+RnJvbnRlbmQsIElycCk7Cisg
ICAgc3RhdHVzID0gUmluZ0Rpc3BhdGNoUmVhZFdyaXRlKEZyb250ZW5kR2V0UmluZyhQZG8tPkZy
b250ZW5kKSwgSXJwKTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgZ290
byBmYWlsMTsKIApkaWZmIC0tZ2l0IGEvc3JjL3hlbmNvbnMvcmluZy5jIGIvc3JjL3hlbmNvbnMv
cmluZy5jCmluZGV4IDMyMWY0ZTkuLjgzZTE3NjEgMTAwNzU1Ci0tLSBhL3NyYy94ZW5jb25zL3Jp
bmcuYworKysgYi9zcmMveGVuY29ucy9yaW5nLmMKQEAgLTQxLDEwICs0MSwxNyBAQAogCiAjaW5j
bHVkZSAiZnJvbnRlbmQuaCIKICNpbmNsdWRlICJyaW5nLmgiCisjaW5jbHVkZSAibmFtZXMuaCIK
ICNpbmNsdWRlICJkYmdfcHJpbnQuaCIKICNpbmNsdWRlICJhc3NlcnQuaCIKICNpbmNsdWRlICJ1
dGlsLmgiCiAKK3R5cGVkZWYgc3RydWN0IF9YRU5DT05TX0NTUSB7CisgICAgSU9fQ1NRICAgICAg
ICAgICAgICAgICAgICAgIENzcTsKKyAgICBMSVNUX0VOVFJZICAgICAgICAgICAgICAgICAgTGlz
dDsKKyAgICBLU1BJTl9MT0NLICAgICAgICAgICAgICAgICAgTG9jazsKK30gWEVOQ09OU19DU1Es
ICpQWEVOQ09OU19DU1E7CisKIHN0cnVjdCBfWEVOQ09OU19SSU5HIHsKICAgICBQWEVOQ09OU19G
Uk9OVEVORCAgICAgICAgICAgRnJvbnRlbmQ7CiAgICAgS1NQSU5fTE9DSyAgICAgICAgICAgICAg
ICAgIExvY2s7CkBAIC02Myw2ICs3MCw4IEBAIHN0cnVjdCBfWEVOQ09OU19SSU5HIHsKICAgICBY
RU5CVVNfREVCVUdfSU5URVJGQUNFICAgICAgRGVidWdJbnRlcmZhY2U7CiAgICAgUFhFTkJVU19E
RUJVR19DQUxMQkFDSyAgICAgIERlYnVnQ2FsbGJhY2s7CiAgICAgUFhFTkJVU19HTlRUQUJfQ0FD
SEUgICAgICAgIEdudHRhYkNhY2hlOworICAgIFhFTkNPTlNfQ1NRICAgICAgICAgICAgICAgICBS
ZWFkOworICAgIFhFTkNPTlNfQ1NRICAgICAgICAgICAgICAgICBXcml0ZTsKIH07CiAKICNkZWZp
bmUgUklOR19UQUcgICdHTklSJwpAQCAtMTA0LDE1ICsxMTMsNDcyIEBAIFJpbmdSZWxlYXNlTG9j
aygKICAgICBLZVJlbGVhc2VTcGluTG9ja0Zyb21EcGNMZXZlbCgmUmluZy0+TG9jayk7CiB9CiAK
K0lPX0NTUV9JTlNFUlRfSVJQX0VYIFJpbmdDc3FJbnNlcnRJcnBFeDsKKworTlRTVEFUVVMKK1Jp
bmdDc3FJbnNlcnRJcnBFeCgKKyAgICBJTiAgUElPX0NTUSAgICAgICAgIENzcSwKKyAgICBJTiAg
UElSUCAgICAgICAgICAgIElycCwKKyAgICBJTiAgUFZPSUQgICAgICAgICAgIEluc2VydENvbnRl
eHQgT1BUSU9OQUwKKyAgICApCit7CisgICAgQk9PTEVBTiAgICAgICAgICAgICBSZUluc2VydCA9
IChCT09MRUFOKShVTE9OR19QVFIpSW5zZXJ0Q29udGV4dDsKKyAgICBQWEVOQ09OU19DU1EgICAg
ICAgIFF1ZXVlOworCisgICAgUXVldWUgPSBDT05UQUlOSU5HX1JFQ09SRChDc3EsIFhFTkNPTlNf
Q1NRLCBDc3EpOworCisgICAgaWYgKFJlSW5zZXJ0KSB7CisgICAgICAgIC8vIFRoaXMgb25seSBv
Y2N1cnMgaWYgdGhlIHdvcmtlciB0aHJlYWQgZGUtcXVldWVkIHRoZSBJUlAgYnV0CisgICAgICAg
IC8vIHRoZW4gZm91bmQgdGhlIGNvbnNvbGUgdG8gYmUgYmxvY2tlZC4KKyAgICAgICAgSW5zZXJ0
SGVhZExpc3QoJlF1ZXVlLT5MaXN0LCAmSXJwLT5UYWlsLk92ZXJsYXkuTGlzdEVudHJ5KTsKKyAg
ICB9IGVsc2UgeworICAgICAgICBJbnNlcnRUYWlsTGlzdCgmUXVldWUtPkxpc3QsICZJcnAtPlRh
aWwuT3ZlcmxheS5MaXN0RW50cnkpOworICAgIH0KKworICAgIHJldHVybiBTVEFUVVNfU1VDQ0VT
UzsKK30KKworSU9fQ1NRX1JFTU9WRV9JUlAgUmluZ0NzcVJlbW92ZUlycDsKKworVk9JRAorUmlu
Z0NzcVJlbW92ZUlycCgKKyAgICBJTiAgUElPX0NTUSAgICAgQ3NxLAorICAgIElOICBQSVJQICAg
ICAgICBJcnAKKyAgICApCit7CisgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihDc3EpOworCisg
ICAgUmVtb3ZlRW50cnlMaXN0KCZJcnAtPlRhaWwuT3ZlcmxheS5MaXN0RW50cnkpOworfQorCitJ
T19DU1FfUEVFS19ORVhUX0lSUCBSaW5nQ3NxUGVla05leHRJcnA7CisKK1BJUlAKK1JpbmdDc3FQ
ZWVrTmV4dElycCgKKyAgICBJTiAgUElPX0NTUSAgICAgQ3NxLAorICAgIElOICBQSVJQICAgICAg
ICBJcnAsCisgICAgSU4gIFBWT0lEICAgICAgIFBlZWtDb250ZXh0IE9QVElPTkFMCisgICAgKQor
eworICAgIFBYRU5DT05TX0NTUSAgICBRdWV1ZTsKKyAgICBQTElTVF9FTlRSWSAgICAgTGlzdEVu
dHJ5OworICAgIFBJUlAgICAgICAgICAgICBOZXh0SXJwOworCisgICAgUXVldWUgPSBDT05UQUlO
SU5HX1JFQ09SRChDc3EsIFhFTkNPTlNfQ1NRLCBDc3EpOworCisgICAgTGlzdEVudHJ5ID0gKEly
cCA9PSBOVUxMKSA/CisgICAgICAgICAgICBRdWV1ZS0+TGlzdC5GbGluayA6CisgICAgICAgICAg
ICBJcnAtPlRhaWwuT3ZlcmxheS5MaXN0RW50cnkuRmxpbms7CisKKyAgICBpZiAoTGlzdEVudHJ5
ID09ICZRdWV1ZS0+TGlzdCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBOZXh0SXJwID0g
Q09OVEFJTklOR19SRUNPUkQoTGlzdEVudHJ5LCBJUlAsIFRhaWwuT3ZlcmxheS5MaXN0RW50cnkp
OworICAgIGlmIChQZWVrQ29udGV4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTmV4dElycDsK
KworICAgIGZvciAoOzspIHsKKyAgICAgICAgUElPX1NUQUNLX0xPQ0FUSU9OICBTdGFja0xvY2F0
aW9uOworCisgICAgICAgIGlmIChMaXN0RW50cnkgPT0gJlF1ZXVlLT5MaXN0KQorICAgICAgICAg
ICAgcmV0dXJuIE5VTEw7CisKKyAgICAgICAgU3RhY2tMb2NhdGlvbiA9IElvR2V0Q3VycmVudEly
cFN0YWNrTG9jYXRpb24oTmV4dElycCk7CisKKyAgICAgICAgaWYgKFN0YWNrTG9jYXRpb24tPkZp
bGVPYmplY3QgPT0gUGVla0NvbnRleHQpCisgICAgICAgICAgICByZXR1cm4gTmV4dElycDsKKwor
ICAgICAgICBMaXN0RW50cnkgPSBMaXN0RW50cnktPkZsaW5rOworICAgICAgICBOZXh0SXJwID0g
Q09OVEFJTklOR19SRUNPUkQoTGlzdEVudHJ5LCBJUlAsIFRhaWwuT3ZlcmxheS5MaXN0RW50cnkp
OworICAgIH0KKyAgICAvLyB1bnJlYWNoYWJsZQorfQorCisjcHJhZ21hIHdhcm5pbmcocHVzaCkK
KyNwcmFnbWEgd2FybmluZyhkaXNhYmxlOjI4MTY3KSAvLyBmdW5jdGlvbiBjaGFuZ2VzIElSUUwK
KworSU9fQ1NRX0FDUVVJUkVfTE9DSyBSaW5nQ3NxQWNxdWlyZUxvY2s7CisKK1ZPSUQKK1JpbmdD
c3FBY3F1aXJlTG9jaygKKyAgICBJTiAgUElPX0NTUSAgICAgQ3NxLAorICAgIE9VVCBQS0lSUUwg
ICAgICBJcnFsCisgICAgKQoreworICAgIFBYRU5DT05TX0NTUSAgICBRdWV1ZTsKKworICAgIFF1
ZXVlID0gQ09OVEFJTklOR19SRUNPUkQoQ3NxLCBYRU5DT05TX0NTUSwgQ3NxKTsKKworICAgIEtl
QWNxdWlyZVNwaW5Mb2NrKCZRdWV1ZS0+TG9jaywgSXJxbCk7Cit9CisKK0lPX0NTUV9SRUxFQVNF
X0xPQ0sgUmluZ0NzcVJlbGVhc2VMb2NrOworCitWT0lECitSaW5nQ3NxUmVsZWFzZUxvY2soCisg
ICAgSU4gIFBJT19DU1EgICAgIENzcSwKKyAgICBJTiAgS0lSUUwgICAgICAgSXJxbAorICAgICkK
K3sKKyAgICBQWEVOQ09OU19DU1EgICAgUXVldWU7CisKKyAgICBRdWV1ZSA9IENPTlRBSU5JTkdf
UkVDT1JEKENzcSwgWEVOQ09OU19DU1EsIENzcSk7CisKKyAgICBLZVJlbGVhc2VTcGluTG9jaygm
UXVldWUtPkxvY2ssIElycWwpOworfQorCisjcHJhZ21hIHdhcm5pbmcocG9wKQorCitJT19DU1Ff
Q09NUExFVEVfQ0FOQ0VMRURfSVJQIFJpbmdDc3FDb21wbGV0ZUNhbmNlbGVkSXJwOworCitWT0lE
CitSaW5nQ3NxQ29tcGxldGVDYW5jZWxlZElycCgKKyAgICBJTiAgUElPX0NTUSAgICAgICAgIENz
cSwKKyAgICBJTiAgUElSUCAgICAgICAgICAgIElycAorICAgICkKK3sKKyAgICBQSU9fU1RBQ0tf
TE9DQVRJT04gIFN0YWNrTG9jYXRpb247CisgICAgVUNIQVIgICAgICAgICAgICAgICBNYWpvckZ1
bmN0aW9uOworCisgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihDc3EpOworCisgICAgU3RhY2tM
b2NhdGlvbiA9IElvR2V0Q3VycmVudElycFN0YWNrTG9jYXRpb24oSXJwKTsKKyAgICBNYWpvckZ1
bmN0aW9uID0gU3RhY2tMb2NhdGlvbi0+TWFqb3JGdW5jdGlvbjsKKworICAgIElycC0+SW9TdGF0
dXMuSW5mb3JtYXRpb24gPSAwOworICAgIElycC0+SW9TdGF0dXMuU3RhdHVzID0gU1RBVFVTX0NB
TkNFTExFRDsKKworICAgIFRyYWNlKCJDQU5DRUxMRUQgKCUwMng6JXMpXG4iLAorICAgICAgICAg
IE1ham9yRnVuY3Rpb24sCisgICAgICAgICAgTWFqb3JGdW5jdGlvbk5hbWUoTWFqb3JGdW5jdGlv
bikpOworCisgICAgSW9Db21wbGV0ZVJlcXVlc3QoSXJwLCBJT19OT19JTkNSRU1FTlQpOworfQor
CitzdGF0aWMgRk9SQ0VJTkxJTkUgTlRTVEFUVVMKK19fUmluZ0NzcUNyZWF0ZSgKKyAgICBJTiAg
UFhFTkNPTlNfQ1NRICAgIENzcQorICAgICkKK3sKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0
YXR1czsKKworICAgIEtlSW5pdGlhbGl6ZVNwaW5Mb2NrKCZDc3EtPkxvY2spOworICAgIEluaXRp
YWxpemVMaXN0SGVhZCgmQ3NxLT5MaXN0KTsKKworICAgIHN0YXR1cyA9IElvQ3NxSW5pdGlhbGl6
ZUV4KCZDc3EtPkNzcSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmluZ0NzcUlu
c2VydElycEV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSaW5nQ3NxUmVtb3Zl
SXJwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSaW5nQ3NxUGVla05leHRJcnAs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJpbmdDc3FBY3F1aXJlTG9jaywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmluZ0NzcVJlbGVhc2VMb2NrLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBSaW5nQ3NxQ29tcGxldGVDYW5jZWxlZElycCk7Cisg
ICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDE7CisKKyAgICBy
ZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CisKK2ZhaWwxOgorICAgIEVycm9yKCJmYWlsMSAoJTA4eClc
biIsIHN0YXR1cyk7CisKKyAgICByZXR1cm4gc3RhdHVzOworfQorCitzdGF0aWMgRk9SQ0VJTkxJ
TkUgVk9JRAorX19SaW5nQ3NxRGVzdHJveSgKKyAgICBJTiAgUFhFTkNPTlNfQ1NRICAgIENzcQor
ICAgICkKK3sKKyAgICBBU1NFUlQoSXNMaXN0RW1wdHkoJkNzcS0+TGlzdCkpOworCisgICAgUnRs
WmVyb01lbW9yeSgmQ3NxLT5Dc3EsIHNpemVvZihJT19DU1EpKTsKKyAgICBSdGxaZXJvTWVtb3J5
KCZDc3EtPkxpc3QsIHNpemVvZihMSVNUX0VOVFJZKSk7CisgICAgUnRsWmVyb01lbW9yeSgmQ3Nx
LT5Mb2NrLCBzaXplb2YoS1NQSU5fTE9DSykpOworfQorCitzdGF0aWMgRk9SQ0VJTkxJTkUgVUxP
TkcKK19fUmluZ0NvcHlGcm9tSW4oCisgICAgSU4gIFBYRU5DT05TX1JJTkcgICBSaW5nLAorICAg
IElOICBQQ0hBUiAgICAgICAgICAgRGF0YSwKKyAgICBJTiAgVUxPTkcgICAgICAgICAgIExlbmd0
aAorICAgICkKK3sKKyAgICBzdHJ1Y3QgeGVuY29uc19pbnRlcmZhY2UgICAgKlNoYXJlZDsKKyAg
ICBYRU5DT05TX1JJTkdfSURYICAgICAgICAgICAgY29uczsKKyAgICBYRU5DT05TX1JJTkdfSURY
ICAgICAgICAgICAgcHJvZDsKKyAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0
OworCisgICAgU2hhcmVkID0gUmluZy0+U2hhcmVkOworCisgICAgS2VNZW1vcnlCYXJyaWVyKCk7
CisKKyAgICBjb25zID0gU2hhcmVkLT5pbl9jb25zOworICAgIHByb2QgPSBTaGFyZWQtPmluX3By
b2Q7CisKKyAgICBLZU1lbW9yeUJhcnJpZXIoKTsKKworICAgIC8vIGlzIHRoZXJlIGFueXRoaW5n
IG9uIGluIHJpbmc/CisgICAgaWYgKHByb2QgLSBjb25zID09IDApCisgICAgICAgIHJldHVybiAw
OworCisgICAgT2Zmc2V0ID0gMDsKKyAgICB3aGlsZSAoTGVuZ3RoICE9IDApIHsKKyAgICAgICAg
VUxPTkcgICBBdmFpbGFibGU7CisgICAgICAgIFVMT05HICAgSW5kZXg7CisgICAgICAgIFVMT05H
ICAgQ29weUxlbmd0aDsKKworICAgICAgICBBdmFpbGFibGUgPSBwcm9kIC0gY29uczsKKworICAg
ICAgICBpZiAoQXZhaWxhYmxlID09IDApCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBJ
bmRleCA9IE1BU0tfWEVOQ09OU19JRFgoY29ucywgU2hhcmVkLT5pbik7CisKKyAgICAgICAgQ29w
eUxlbmd0aCA9IF9fbWluKExlbmd0aCwgQXZhaWxhYmxlKTsKKyAgICAgICAgQ29weUxlbmd0aCA9
IF9fbWluKENvcHlMZW5ndGgsIHNpemVvZihTaGFyZWQtPmluKSAtIEluZGV4KTsKKworICAgICAg
ICBSdGxDb3B5TWVtb3J5KERhdGEgKyBPZmZzZXQsICZTaGFyZWQtPmluW0luZGV4XSwgQ29weUxl
bmd0aCk7CisKKyAgICAgICAgT2Zmc2V0ICs9IENvcHlMZW5ndGg7CisgICAgICAgIExlbmd0aCAt
PSBDb3B5TGVuZ3RoOworICAgICAgICBjb25zICs9IENvcHlMZW5ndGg7CisgICAgfQorCisgICAg
S2VNZW1vcnlCYXJyaWVyKCk7CisKKyAgICBTaGFyZWQtPmluX2NvbnMgPSBjb25zOworCisgICAg
S2VNZW1vcnlCYXJyaWVyKCk7CisKKyAgICByZXR1cm4gT2Zmc2V0OworfQorCitzdGF0aWMgRk9S
Q0VJTkxJTkUgVUxPTkcKKyBfX1JpbmdDb3B5VG9PdXQoCisgICAgSU4gIFBYRU5DT05TX1JJTkcg
ICBSaW5nLAorICAgIElOICBQQ0hBUiAgICAgICAgICAgRGF0YSwKKyAgICBJTiAgVUxPTkcgICAg
ICAgICAgIExlbmd0aAorICAgICkKK3sKKyAgICBzdHJ1Y3QgeGVuY29uc19pbnRlcmZhY2UgICAg
KlNoYXJlZDsKKyAgICBYRU5DT05TX1JJTkdfSURYICAgICAgICAgICAgY29uczsKKyAgICBYRU5D
T05TX1JJTkdfSURYICAgICAgICAgICAgcHJvZDsKKyAgICBVTE9ORyAgICAgICAgICAgICAgICAg
ICAgICAgT2Zmc2V0OworCisgICAgU2hhcmVkID0gUmluZy0+U2hhcmVkOworCisgICAgS2VNZW1v
cnlCYXJyaWVyKCk7CisKKyAgICBwcm9kID0gU2hhcmVkLT5vdXRfcHJvZDsKKyAgICBjb25zID0g
U2hhcmVkLT5vdXRfY29uczsKKworICAgIEtlTWVtb3J5QmFycmllcigpOworCisgICAgLy8gaXMg
dGhlcmUgYW55IHNwYWNlIG9uIG91dCByaW5nPworICAgIGlmICgoY29ucyArIHNpemVvZihTaGFy
ZWQtPm91dCkgLSBwcm9kKSA9PSAwKQorICAgICAgICByZXR1cm4gMDsKKworICAgIE9mZnNldCA9
IDA7CisgICAgd2hpbGUgKExlbmd0aCAhPSAwKSB7CisgICAgICAgIFVMT05HICAgQXZhaWxhYmxl
OworICAgICAgICBVTE9ORyAgIEluZGV4OworICAgICAgICBVTE9ORyAgIENvcHlMZW5ndGg7CisK
KyAgICAgICAgQXZhaWxhYmxlID0gY29ucyArIHNpemVvZihTaGFyZWQtPm91dCkgLSBwcm9kOwor
CisgICAgICAgIGlmIChBdmFpbGFibGUgPT0gMCkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAg
ICAgIEluZGV4ID0gTUFTS19YRU5DT05TX0lEWChwcm9kLCBTaGFyZWQtPm91dCk7CisKKyAgICAg
ICAgQ29weUxlbmd0aCA9IF9fbWluKExlbmd0aCwgQXZhaWxhYmxlKTsKKyAgICAgICAgQ29weUxl
bmd0aCA9IF9fbWluKENvcHlMZW5ndGgsIHNpemVvZihTaGFyZWQtPm91dCkgLSBJbmRleCk7CisK
KyAgICAgICAgUnRsQ29weU1lbW9yeSgmU2hhcmVkLT5vdXRbSW5kZXhdLCBEYXRhICsgT2Zmc2V0
LCBDb3B5TGVuZ3RoKTsKKworICAgICAgICBPZmZzZXQgKz0gQ29weUxlbmd0aDsKKyAgICAgICAg
TGVuZ3RoIC09IENvcHlMZW5ndGg7CisgICAgICAgIHByb2QgKz0gQ29weUxlbmd0aDsKKyAgICB9
CisKKyAgICBLZU1lbW9yeUJhcnJpZXIoKTsKKworICAgIFNoYXJlZC0+b3V0X3Byb2QgPSBwcm9k
OworCisgICAgS2VNZW1vcnlCYXJyaWVyKCk7CisKKyAgICByZXR1cm4gT2Zmc2V0OworfQorCiBz
dGF0aWMgQk9PTEVBTgogUmluZ1BvbGwoCiAgICAgSU4gIFBYRU5DT05TX1JJTkcgICBSaW5nCiAg
ICAgKQogewotICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoUmluZyk7CisgICAgUElSUCAgICAg
ICAgICAgICAgICBJcnA7CisgICAgUElPX1NUQUNLX0xPQ0FUSU9OICBTdGFja0xvY2F0aW9uOwor
ICAgIFVMT05HICAgICAgICAgICAgICAgQnl0ZXM7CisgICAgVUxPTkcgICAgICAgICAgICAgICBS
ZWFkOworICAgIFVMT05HICAgICAgICAgICAgICAgV3JpdHRlbjsKKyAgICBOVFNUQVRVUyAgICAg
ICAgICAgIHN0YXR1czsKKworICAgIFJlYWQgPSAwOworICAgIFdyaXR0ZW4gPSAwOworCisgICAg
Zm9yICg7OykgeworICAgICAgICBJcnAgPSBJb0NzcVJlbW92ZU5leHRJcnAoJlJpbmctPlJlYWQu
Q3NxLCBOVUxMKTsKKyAgICAgICAgaWYgKElycCA9PSBOVUxMKQorICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgU3RhY2tMb2NhdGlvbiA9IElvR2V0Q3VycmVudElycFN0YWNrTG9jYXRpb24o
SXJwKTsKKyAgICAgICAgQVNTRVJUKFN0YWNrTG9jYXRpb24tPk1ham9yRnVuY3Rpb24gPT0gSVJQ
X01KX1JFQUQpOworCisgICAgICAgIEJ5dGVzID0gX19SaW5nQ29weUZyb21JbihSaW5nLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSXJwLT5Bc3NvY2lhdGVkSXJwLlN5c3RlbUJ1
ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YWNrTG9jYXRpb24tPlBh
cmFtZXRlcnMuUmVhZC5MZW5ndGgpOworICAgICAgICBSZWFkICs9IEJ5dGVzOworICAgICAgICBp
ZiAoQnl0ZXMpIHsKKyAgICAgICAgICAgIElycC0+SW9TdGF0dXMuSW5mb3JtYXRpb24gPSBCeXRl
czsKKyAgICAgICAgICAgIElycC0+SW9TdGF0dXMuU3RhdHVzID0gU1RBVFVTX1NVQ0NFU1M7CisK
KyAgICAgICAgICAgIFRyYWNlKCJDT01QTEVURUQgKCUwMng6JXMpICgldSlcbiIsCisgICAgICAg
ICAgICAgICAgICBJUlBfTUpfUkVBRCwKKyAgICAgICAgICAgICAgICAgIE1ham9yRnVuY3Rpb25O
YW1lKElSUF9NSl9SRUFEKSwKKyAgICAgICAgICAgICAgICAgIEJ5dGVzKTsKKworICAgICAgICAg
ICAgSW9Db21wbGV0ZVJlcXVlc3QoSXJwLCBJT19OT19JTkNSRU1FTlQpOworICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgIH0KKworICAgICAgICAvLyBubyBkYXRhIG9uIHJlYWQgcmluZwor
ICAgICAgICBzdGF0dXMgPSBJb0NzcUluc2VydElycEV4KCZSaW5nLT5SZWFkLkNzcSwgSXJwLCBO
VUxMLCAoUFZPSUQpVFJVRSk7CisgICAgICAgIEFTU0VSVChOVF9TVUNDRVNTKHN0YXR1cykpOwor
ICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBmb3IgKDs7KSB7CisgICAgICAgIElycCA9IElv
Q3NxUmVtb3ZlTmV4dElycCgmUmluZy0+V3JpdGUuQ3NxLCBOVUxMKTsKKyAgICAgICAgaWYgKEly
cCA9PSBOVUxMKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgU3RhY2tMb2NhdGlvbiA9
IElvR2V0Q3VycmVudElycFN0YWNrTG9jYXRpb24oSXJwKTsKKyAgICAgICAgQVNTRVJUKFN0YWNr
TG9jYXRpb24tPk1ham9yRnVuY3Rpb24gPT0gSVJQX01KX1dSSVRFKTsKKworICAgICAgICBCeXRl
cyA9IF9fUmluZ0NvcHlUb091dChSaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBJcnAtPkFzc29jaWF0ZWRJcnAuU3lzdGVtQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBTdGFja0xvY2F0aW9uLT5QYXJhbWV0ZXJzLldyaXRlLkxlbmd0aCk7CisgICAg
ICAgIFdyaXR0ZW4gKz0gQnl0ZXM7CisgICAgICAgIGlmIChCeXRlcykgeworICAgICAgICAgICAg
SXJwLT5Jb1N0YXR1cy5JbmZvcm1hdGlvbiA9IEJ5dGVzOworICAgICAgICAgICAgSXJwLT5Jb1N0
YXR1cy5TdGF0dXMgPSBTVEFUVVNfU1VDQ0VTUzsKKworICAgICAgICAgICAgVHJhY2UoIkNPTVBM
RVRFRCAoJTAyeDolcykgKCV1KVxuIiwKKyAgICAgICAgICAgICAgICAgIElSUF9NSl9XUklURSwK
KyAgICAgICAgICAgICAgICAgIE1ham9yRnVuY3Rpb25OYW1lKElSUF9NSl9XUklURSksCisgICAg
ICAgICAgICAgICAgICBCeXRlcyk7CisKKyAgICAgICAgICAgIElvQ29tcGxldGVSZXF1ZXN0KEly
cCwgSU9fTk9fSU5DUkVNRU5UKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisK
KyAgICAgICAgLy8gbm8gc3BhY2Ugb24gd3JpdGUgcmluZworICAgICAgICBzdGF0dXMgPSBJb0Nz
cUluc2VydElycEV4KCZSaW5nLT5Xcml0ZS5Dc3EsIElycCwgTlVMTCwgKFBWT0lEKVRSVUUpOwor
ICAgICAgICBBU1NFUlQoTlRfU1VDQ0VTUyhzdGF0dXMpKTsKKyAgICAgICAgYnJlYWs7CisgICAg
fQorCisgICAgaWYgKFJlYWQgfHwgV3JpdHRlbikKKyAgICAgICAgWEVOQlVTX0VWVENITihTZW5k
LAorICAgICAgICAgICAgICAgICAgICAgICZSaW5nLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAg
ICAgICAgICAgICAgICAgUmluZy0+Q2hhbm5lbCk7CisKICAgICByZXR1cm4gRkFMU0U7CiB9CiAK
K3N0YXRpYyBGT1JDRUlOTElORSBWT0lECitfX1JpbmdDYW5jZWxJcnBzKAorICAgIElOICBQWEVO
Q09OU19SSU5HICAgUmluZywKKyAgICBJTiAgUEZJTEVfT0JKRUNUICAgIEZpbGVPYmplY3QKKyAg
ICApCit7CisgICAgZm9yICg7OykgeworICAgICAgICBQSVJQICAgIElycDsKKworICAgICAgICBJ
cnAgPSBJb0NzcVJlbW92ZU5leHRJcnAoJlJpbmctPlJlYWQuQ3NxLCBGaWxlT2JqZWN0KTsKKyAg
ICAgICAgaWYgKElycCA9PSBOVUxMKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgUmlu
Z0NzcUNvbXBsZXRlQ2FuY2VsZWRJcnAoJlJpbmctPlJlYWQuQ3NxLCBJcnApOworICAgIH0KKyAg
ICBmb3IgKDs7KSB7CisgICAgICAgIFBJUlAgICAgSXJwOworCisgICAgICAgIElycCA9IElvQ3Nx
UmVtb3ZlTmV4dElycCgmUmluZy0+V3JpdGUuQ3NxLCBGaWxlT2JqZWN0KTsKKyAgICAgICAgaWYg
KElycCA9PSBOVUxMKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgUmluZ0NzcUNvbXBs
ZXRlQ2FuY2VsZWRJcnAoJlJpbmctPldyaXRlLkNzcSwgSXJwKTsKKyAgICB9Cit9CisKK05UU1RB
VFVTCitSaW5nRGlzcGF0Y2hDcmVhdGUoCisgICAgSU4gIFBYRU5DT05TX1JJTkcgICBSaW5nLAor
ICAgIElOICBQRklMRV9PQkpFQ1QgICAgRmlsZU9iamVjdAorICAgICkKK3sKKyAgICBVTlJFRkVS
RU5DRURfUEFSQU1FVEVSKFJpbmcpOworICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoRmlsZU9i
amVjdCk7CisKKyAgICAvLyBub3RoaW5nIHNwZWNpYWwgZm9yIENyZWF0ZQorICAgIHJldHVybiBT
VEFUVVNfU1VDQ0VTUzsKK30KKworTlRTVEFUVVMKK1JpbmdEaXNwYXRjaENsZWFudXAoCisgICAg
SU4gIFBYRU5DT05TX1JJTkcgICBSaW5nLAorICAgIElOICBQRklMRV9PQkpFQ1QgICAgRmlsZU9i
amVjdAorICAgICkKK3sKKyAgICAvLyBPbmx5IGNhbmNlbCBJUlBzIGZvciB0aGlzIEZpbGVPYmpl
Y3QKKyAgICBfX1JpbmdDYW5jZWxJcnBzKFJpbmcsIEZpbGVPYmplY3QpOworICAgIHJldHVybiBT
VEFUVVNfU1VDQ0VTUzsKK30KKworTlRTVEFUVVMKK1JpbmdEaXNwYXRjaFJlYWRXcml0ZSgKKyAg
ICBJTiAgUFhFTkNPTlNfUklORyAgIFJpbmcsCisgICAgSU4gIFBJUlAgICAgICAgICAgICBJcnAK
KyAgICApCit7CisgICAgUElPX1NUQUNLX0xPQ0FUSU9OICBTdGFja0xvY2F0aW9uOworICAgIE5U
U1RBVFVTICAgICAgICAgICAgc3RhdHVzOworCisgICAgU3RhY2tMb2NhdGlvbiA9IElvR2V0Q3Vy
cmVudElycFN0YWNrTG9jYXRpb24oSXJwKTsKKyAgICBzd2l0Y2ggKFN0YWNrTG9jYXRpb24tPk1h
am9yRnVuY3Rpb24pIHsKKyAgICBjYXNlIElSUF9NSl9SRUFEOgorICAgICAgICBzdGF0dXMgPSBT
VEFUVVNfSU5WQUxJRF9QQVJBTUVURVI7CisgICAgICAgIGlmIChTdGFja0xvY2F0aW9uLT5QYXJh
bWV0ZXJzLlJlYWQuTGVuZ3RoID09IDApCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgc3Rh
dHVzID0gSW9Dc3FJbnNlcnRJcnBFeCgmUmluZy0+UmVhZC5Dc3EsIElycCwgTlVMTCwgKFBWT0lE
KUZBTFNFKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIElSUF9NSl9XUklURToKKyAgICAg
ICAgc3RhdHVzID0gU1RBVFVTX0lOVkFMSURfUEFSQU1FVEVSOworICAgICAgICBpZiAoU3RhY2tM
b2NhdGlvbi0+UGFyYW1ldGVycy5Xcml0ZS5MZW5ndGggPT0gMCkKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBzdGF0dXMgPSBJb0NzcUluc2VydElycEV4KCZSaW5nLT5Xcml0ZS5Dc3EsIEly
cCwgTlVMTCwgKFBWT0lEKUZBTFNFKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0Ogor
ICAgICAgICBzdGF0dXMgPSBTVEFUVVNfTk9UX1NVUFBPUlRFRDsKKyAgICAgICAgYnJlYWs7Cisg
ICAgfQorICAgIGlmIChOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIEtlSW5zZXJ0UXVldWVE
cGMoJlJpbmctPkRwYywgTlVMTCwgTlVMTCk7CisKKyAgICByZXR1cm4gc3RhdHVzOworfQorCiBf
X2Rydl9mdW5jdGlvbkNsYXNzKEtERUZFUlJFRF9ST1VUSU5FKQogX19kcnZfbWF4SVJRTChESVNQ
QVRDSF9MRVZFTCkKIF9fZHJ2X21pbklSUUwoRElTUEFUQ0hfTEVWRUwpCkBAIC00NDQsNyArOTEw
LDggQEAgUmluZ0Rpc2FibGUoCiB7CiAgICAgVHJhY2UoIj09PT09PlxuIik7CiAKLSAgICAvLyBl
bXB0eSBxdWV1ZShzKQorICAgIC8vIGNhbmNlbCBhbGwgSVJQcywgcmVnYXJkbGVzcyBvZiBGaWxl
T2JqZWN0CisgICAgX19SaW5nQ2FuY2VsSXJwcyhSaW5nLCBOVUxMKTsKIAogICAgIEFTU0VSVDNV
KEtlR2V0Q3VycmVudElycWwoKSwgPT0gLCBESVNQQVRDSF9MRVZFTCk7CiAKQEAgLTUxOCw2ICs5
ODUsOCBAQCBSaW5nQ3JlYXRlKAogewogICAgIE5UU1RBVFVTICAgICAgICAgICAgICAgIHN0YXR1
czsKIAorICAgIFRyYWNlKCI9PT09PT5cbiIpOworCiAgICAgKlJpbmcgPSBfX1JpbmdBbGxvY2F0
ZShzaXplb2YoWEVOQ09OU19SSU5HKSk7CiAKICAgICBzdGF0dXMgPSBTVEFUVVNfTk9fTUVNT1JZ
OwpAQCAtNTQyLDggKzEwMTEsNDcgQEAgUmluZ0NyZWF0ZSgKIAogICAgIEtlSW5pdGlhbGl6ZURw
YygmKCpSaW5nKS0+RHBjLCBSaW5nRHBjLCAqUmluZyk7CiAKKyAgICBzdGF0dXMgPSBfX1JpbmdD
c3FDcmVhdGUoJigqUmluZyktPlJlYWQpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQor
ICAgICAgICBnb3RvIGZhaWwyOworCisgICAgc3RhdHVzID0gX19SaW5nQ3NxQ3JlYXRlKCYoKlJp
bmcpLT5Xcml0ZSk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8g
ZmFpbDM7CisKKyAgICBUcmFjZSgiPD09PT09XG4iKTsKKwogICAgIHJldHVybiBTVEFUVVNfU1VD
Q0VTUzsKIAorZmFpbDM6CisgICAgRXJyb3IoImZhaWwzXG4iKTsKKworICAgIF9fUmluZ0NzcURl
c3Ryb3koJigqUmluZyktPlJlYWQpOworCitmYWlsMjoKKyAgICBFcnJvcigiZmFpbDJcbiIpOwor
CisgICAgUnRsWmVyb01lbW9yeSgmKCpSaW5nKS0+RHBjLCBzaXplb2YoS0RQQykpOworCisgICAg
UnRsWmVyb01lbW9yeSgmKCpSaW5nKS0+TG9jaywgc2l6ZW9mKEtTUElOX0xPQ0spKTsKKworICAg
IFJ0bFplcm9NZW1vcnkoJigqUmluZyktPkdudHRhYkludGVyZmFjZSwKKyAgICAgICAgICAgICAg
ICAgICAgc2l6ZW9mKFhFTkJVU19HTlRUQUJfSU5URVJGQUNFKSk7CisKKyAgICBSdGxaZXJvTWVt
b3J5KCYoKlJpbmcpLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgIHNpemVv
ZihYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRSkpOworCisgICAgUnRsWmVyb01lbW9yeSgmKCpSaW5n
KS0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgIHNpemVvZihYRU5CVVNfU1RP
UkVfSU5URVJGQUNFKSk7CisKKyAgICBSdGxaZXJvTWVtb3J5KCYoKlJpbmcpLT5EZWJ1Z0ludGVy
ZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFhFTkJVU19ERUJVR19JTlRFUkZBQ0Up
KTsKKworICAgICgqUmluZyktPkZyb250ZW5kID0gTlVMTDsKKworICAgIEFTU0VSVChJc1plcm9N
ZW1vcnkoKlJpbmcsIHNpemVvZihYRU5DT05TX1JJTkcpKSk7CisgICAgX19SaW5nRnJlZSgqUmlu
Zyk7CisKIGZhaWwxOgogICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7CiAKQEAg
LTU1NSw2ICsxMDYzLDExIEBAIFJpbmdEZXN0cm95KAogICAgIElOICBQWEVOQ09OU19SSU5HICAg
UmluZwogICAgICkKIHsKKyAgICBUcmFjZSgiPT09PT0+XG4iKTsKKworICAgIF9fUmluZ0NzcURl
c3Ryb3koJlJpbmctPldyaXRlKTsKKyAgICBfX1JpbmdDc3FEZXN0cm95KCZSaW5nLT5SZWFkKTsK
KwogICAgIFJ0bFplcm9NZW1vcnkoJlJpbmctPkRwYywgc2l6ZW9mKEtEUEMpKTsKIAogICAgIFJ0
bFplcm9NZW1vcnkoJlJpbmctPkxvY2ssIHNpemVvZihLU1BJTl9MT0NLKSk7CkBAIC01NzUsNCAr
MTA4OCw2IEBAIFJpbmdEZXN0cm95KAogCiAgICAgQVNTRVJUKElzWmVyb01lbW9yeShSaW5nLCBz
aXplb2YoWEVOQ09OU19SSU5HKSkpOwogICAgIF9fUmluZ0ZyZWUoUmluZyk7CisKKyAgICBUcmFj
ZSgiPD09PT09XG4iKTsKIH0KZGlmZiAtLWdpdCBhL3NyYy94ZW5jb25zL3JpbmcuaCBiL3NyYy94
ZW5jb25zL3JpbmcuaAppbmRleCBlOWY1NDlkLi4xOTRjMWE3IDEwMDc1NQotLS0gYS9zcmMveGVu
Y29ucy9yaW5nLmgKKysrIGIvc3JjL3hlbmNvbnMvcmluZy5oCkBAIC03NSw0ICs3NSwyMiBAQCBS
aW5nRGlzY29ubmVjdCgKICAgICBJTiAgUFhFTkNPTlNfUklORyAgIFJpbmcKICAgICApOwogCitl
eHRlcm4gTlRTVEFUVVMKK1JpbmdEaXNwYXRjaENyZWF0ZSgKKyAgICBJTiAgUFhFTkNPTlNfUklO
RyAgIEZyb250ZW5kLAorICAgIElOICBQRklMRV9PQkpFQ1QgICAgRmlsZU9iamVjdAorICAgICk7
CisKK2V4dGVybiBOVFNUQVRVUworUmluZ0Rpc3BhdGNoQ2xlYW51cCgKKyAgICBJTiAgUFhFTkNP
TlNfUklORyAgIFJpbmcsCisgICAgSU4gIFBGSUxFX09CSkVDVCAgICBGaWxlT2JqZWN0CisgICAg
KTsKKworZXh0ZXJuIE5UU1RBVFVTCitSaW5nRGlzcGF0Y2hSZWFkV3JpdGUoCisgICAgSU4gIFBY
RU5DT05TX1JJTkcgICBSaW5nLAorICAgIElOICBQSVJQICAgICAgICAgICAgSXJwCisgICAgKTsK
KwogI2VuZGlmIC8vIF9YRU5DT05TX1JJTkdfSAotLSAKMi44LjMKCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0
Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl
Y3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 14:28:38 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 14:28:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeM2Y-0000H0-LA; Wed, 24 Jan 2018 14:28:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cbgo=et=citrix.com=prvs=555590473=owen.smith@srs-us1.protection.inumbo.net>)
 id 1eeM2X-0000Eq-7U
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 14:28:37 +0000
X-Inumbo-ID: ddd7b11a-0112-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id ddd7b11a-0112-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 14:28:37 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,408,1511827200"; d="scan'208";a="459473414"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 24 Jan 2018 14:05:15 +0000
Message-ID: <20180124140515.12284-15-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20180124140515.12284-1-owen.smith@citrix.com>
References: <20180124140515.12284-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 14/14] IoCsqInsertIrpEx already calls
	IoMarkIrpPending
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKQWxzbywgaWYgYW4gSVJQ
IGlzIG1hcmtlZCBwZW5kaW5nLCBpdHMgZGlzcGF0Y2ggY2FsbCBNVVNUIHJldHVybgpTVEFUVVNf
UEVORElORywgZXZlbiBpZiBpdCBjb21wbGV0ZXMgdGhlIElSUAoKU2lnbmVkLW9mZi1ieTogT3dl
biBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW5jb25zL2NvbnNvbGUu
YyB8ICAzICsrLQogc3JjL3hlbmNvbnMvZmRvLmMgICAgIHwgIDQgKy0tLQogc3JjL3hlbmNvbnMv
cGRvLmMgICAgIHwgIDQgKy0tLQogc3JjL3hlbmNvbnMvcmluZy5jICAgIHwgMTQgKysrKysrKysr
KysrLS0KIDQgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkK
CmRpZmYgLS1naXQgYS9zcmMveGVuY29ucy9jb25zb2xlLmMgYi9zcmMveGVuY29ucy9jb25zb2xl
LmMKaW5kZXggZTI2ZTFkYi4uNDYxNWViZSAxMDA3NTUKLS0tIGEvc3JjL3hlbmNvbnMvY29uc29s
ZS5jCisrKyBiL3NyYy94ZW5jb25zL2NvbnNvbGUuYwpAQCAtMjIxLDExICsyMjEsMTIgQEAgQ29u
c29sZURpc3BhdGNoUmVhZFdyaXRlKAogICAgIGlmIChIYW5kbGUgPT0gTlVMTCkKICAgICAgICAg
Z290byBmYWlsMTsKIAorICAgIC8vIElmIFN0cmVhbVB1dFF1ZXVlIHN1Y2NlZWRzLCB0aGUgSVJQ
IGlzIHF1ZXVlZCBhbmQgbWFya2VkIHBlbmRpbmcKICAgICBzdGF0dXMgPSBTdHJlYW1QdXRRdWV1
ZShIYW5kbGUtPlN0cmVhbSwgSXJwKTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAg
ICAgICAgZ290byBmYWlsMjsKIAotICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKKyAgICByZXR1
cm4gU1RBVFVTX1BFTkRJTkc7CiAKIGZhaWwyOgogICAgIEVycm9yKCJmYWlsMlxuIik7CmRpZmYg
LS1naXQgYS9zcmMveGVuY29ucy9mZG8uYyBiL3NyYy94ZW5jb25zL2Zkby5jCmluZGV4IDZhYWQ2
ZTIuLjA0ZGNlYjUgMTAwNjQ0Ci0tLSBhL3NyYy94ZW5jb25zL2Zkby5jCisrKyBiL3NyYy94ZW5j
b25zL2Zkby5jCkBAIC0yODcxLDExICsyODcxLDkgQEAgRmRvRGlzcGF0Y2hSZWFkV3JpdGUoCiB7
CiAgICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7CiAKLSAgICBJb01hcmtJcnBQZW5kaW5n
KElycCk7Ci0KICAgICBzdGF0dXMgPSBDb25zb2xlRGlzcGF0Y2hSZWFkV3JpdGUoRmRvLT5Db25z
b2xlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJcnApOwotICAgIGlm
ICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgIGlmIChzdGF0dXMgIT0gU1RBVFVTX1BFTkRJTkcp
CiAgICAgICAgIGdvdG8gZmFpbDE7CiAKICAgICByZXR1cm4gU1RBVFVTX1BFTkRJTkc7CmRpZmYg
LS1naXQgYS9zcmMveGVuY29ucy9wZG8uYyBiL3NyYy94ZW5jb25zL3Bkby5jCmluZGV4IDg3N2Iy
MWEuLmNjZDk3MTQgMTAwNzU1Ci0tLSBhL3NyYy94ZW5jb25zL3Bkby5jCisrKyBiL3NyYy94ZW5j
b25zL3Bkby5jCkBAIC0xNjczLDEwICsxNjczLDggQEAgUGRvRGlzcGF0Y2hSZWFkV3JpdGUoCiB7
CiAgICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7CiAKLSAgICBJb01hcmtJcnBQZW5kaW5n
KElycCk7Ci0KICAgICBzdGF0dXMgPSBSaW5nRGlzcGF0Y2hSZWFkV3JpdGUoRnJvbnRlbmRHZXRS
aW5nKFBkby0+RnJvbnRlbmQpLCBJcnApOwotICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQor
ICAgIGlmIChzdGF0dXMgIT0gU1RBVFVTX1BFTkRJTkcpCiAgICAgICAgIGdvdG8gZmFpbDE7CiAK
ICAgICByZXR1cm4gU1RBVFVTX1BFTkRJTkc7CmRpZmYgLS1naXQgYS9zcmMveGVuY29ucy9yaW5n
LmMgYi9zcmMveGVuY29ucy9yaW5nLmMKaW5kZXggODNlMTc2MS4uNDk3YWE2NiAxMDA3NTUKLS0t
IGEvc3JjL3hlbmNvbnMvcmluZy5jCisrKyBiL3NyYy94ZW5jb25zL3JpbmcuYwpAQCAtNTYwLDYg
KzU2MCw3IEBAIFJpbmdEaXNwYXRjaFJlYWRXcml0ZSgKICAgICAgICAgaWYgKFN0YWNrTG9jYXRp
b24tPlBhcmFtZXRlcnMuUmVhZC5MZW5ndGggPT0gMCkKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBzdGF0dXMgPSBJb0NzcUluc2VydElycEV4KCZSaW5nLT5SZWFkLkNzcSwgSXJwLCBOVUxM
LCAoUFZPSUQpRkFMU0UpOworICAgICAgICBBU1NFUlQoTlRfU1VDQ0VTUyhzdGF0dXMpKTsKICAg
ICAgICAgYnJlYWs7CiAKICAgICBjYXNlIElSUF9NSl9XUklURToKQEAgLTU2NywxNCArNTY4LDIz
IEBAIFJpbmdEaXNwYXRjaFJlYWRXcml0ZSgKICAgICAgICAgaWYgKFN0YWNrTG9jYXRpb24tPlBh
cmFtZXRlcnMuV3JpdGUuTGVuZ3RoID09IDApCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
c3RhdHVzID0gSW9Dc3FJbnNlcnRJcnBFeCgmUmluZy0+V3JpdGUuQ3NxLCBJcnAsIE5VTEwsIChQ
Vk9JRClGQUxTRSk7CisgICAgICAgIEFTU0VSVChOVF9TVUNDRVNTKHN0YXR1cykpOwogICAgICAg
ICBicmVhazsKIAogICAgIGRlZmF1bHQ6CiAgICAgICAgIHN0YXR1cyA9IFNUQVRVU19OT1RfU1VQ
UE9SVEVEOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgaWYgKE5UX1NVQ0NFU1Moc3RhdHVz
KSkKLSAgICAgICAgS2VJbnNlcnRRdWV1ZURwYygmUmluZy0+RHBjLCBOVUxMLCBOVUxMKTsKKyAg
ICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBmYWlsMTsKKworICAgIEtl
SW5zZXJ0UXVldWVEcGMoJlJpbmctPkRwYywgTlVMTCwgTlVMTCk7CisKKyAgICAvLyBJb0NzcUlu
c2VydElycEV4IGhhcyBtYXJrZWQgdGhlIElSUCBwZW5kaW5nLCBtdXN0IHJldHVybiBTVEFUVVNf
UEVORElORworICAgIHJldHVybiBTVEFUVVNfUEVORElORzsKKworZmFpbDE6CisgICAgRXJyb3Io
ImZhaWwxICglMDh4KVxuIiwgc3RhdHVzKTsKIAogICAgIHJldHVybiBzdGF0dXM7CiB9Ci0tIAoy
LjguMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndp
bi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn
Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2
ZWw=

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 14:32:29 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 14:32:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeM6H-0000x9-6g; Wed, 24 Jan 2018 14:32:29 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cbgo=et=citrix.com=prvs=555590473=owen.smith@srs-us1.protection.inumbo.net>)
 id 1eeM6G-0000wr-3M
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 14:32:28 +0000
X-Inumbo-ID: dd25a11b-0112-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id dd25a11b-0112-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 14:28:36 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,408,1511827200"; d="scan'208";a="459473410"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 24 Jan 2018 14:05:12 +0000
Message-ID: <20180124140515.12284-12-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20180124140515.12284-1-owen.smith@citrix.com>
References: <20180124140515.12284-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 11/14] ConsoleDisable cannot be called at
	DISPATCH
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKTW92ZSB0aGUgQ29uc29s
ZURpc2FibGUgdG8gRmRvRDBUb0QzLCBzaW1pbGFyIHRvIFBkb1N1c3BlbmQKClNpZ25lZC1vZmYt
Ynk6IE93ZW4gU21pdGggPG93ZW4uc21pdGhAY2l0cml4LmNvbT4KLS0tCiBzcmMveGVuY29ucy9m
ZG8uYyB8IDI0ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEyIGlu
c2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy94ZW5jb25zL2Zk
by5jIGIvc3JjL3hlbmNvbnMvZmRvLmMKaW5kZXggZWYyNjg2OS4uNmFhZDZlMiAxMDA2NDQKLS0t
IGEvc3JjL3hlbmNvbnMvZmRvLmMKKysrIGIvc3JjL3hlbmNvbnMvZmRvLmMKQEAgLTEyMjgsMTAg
KzEyMjgsNiBAQCBfX0Zkb0QzVG9EMCgKIAogICAgIEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwo
KSwgPT0sIERJU1BBVENIX0xFVkVMKTsKIAotICAgIHN0YXR1cyA9IENvbnNvbGVFbmFibGUoRmRv
LT5Db25zb2xlKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgZ290byBm
YWlsMTsKLQogICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShXYXRjaEFkZCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJkZkby0+U3RvcmVJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJkZXZpY2UiLApAQCAtMTIzOSw3ICsxMjM1LDcgQEAgX19GZG9EM1RvRDAoCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFRocmVhZEdldEV2ZW50KEZkby0+U2NhblRocmVhZCksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZGZG8tPlNjYW5XYXRjaCk7CiAgICAgaWYgKCFOVF9T
VUNDRVNTKHN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDI7CisgICAgICAgIGdvdG8gZmFpbDE7
CiAKICAgICAoVk9JRClYRU5CVVNfU1RPUkUoUHJpbnRmLAogICAgICAgICAgICAgICAgICAgICAg
ICAmRmRvLT5TdG9yZUludGVyZmFjZSwKQEAgLTEyNTUsMTEgKzEyNTEsNiBAQCBfX0Zkb0QzVG9E
MCgKIAogICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKIAotZmFpbDI6Ci0gICAgRXJyb3IoImZh
aWwyXG4iKTsKLQotICAgIENvbnNvbGVEaXNhYmxlKEZkby0+Q29uc29sZSk7Ci0KIGZhaWwxOgog
ICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7CiAKQEAgLTEyODgsOCArMTI3OSw2
IEBAIF9fRmRvRDBUb0QzKAogICAgICAgICAgICAgICAgICAgICAgICBGZG8tPlNjYW5XYXRjaCk7
CiAgICAgRmRvLT5TY2FuV2F0Y2ggPSBOVUxMOwogCi0gICAgQ29uc29sZURpc2FibGUoRmRvLT5D
b25zb2xlKTsKLQogICAgIFRyYWNlKCI8PT09PVxuIik7CiB9CiAKQEAgLTEzNDgsNiArMTMzNywx
MCBAQCBGZG9EM1RvRDAoCiAKICAgICBLZUxvd2VySXJxbChJcnFsKTsKIAorICAgIHN0YXR1cyA9
IENvbnNvbGVFbmFibGUoRmRvLT5Db25zb2xlKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVz
KSkKKyAgICAgICAgZ290byBmYWlsNTsKKwogICAgIF9fRmRvU2V0RGV2aWNlUG93ZXJTdGF0ZShG
ZG8sIFBvd2VyRGV2aWNlRDApOwogCiAgICAgUG93ZXJTdGF0ZS5EZXZpY2VTdGF0ZSA9IFBvd2Vy
RGV2aWNlRDA7CkBAIC0xMzc4LDYgKzEzNzEsMTEgQEAgRmRvRDNUb0QwKAogCiAgICAgcmV0dXJu
IFNUQVRVU19TVUNDRVNTOwogCitmYWlsNToKKyAgICBFcnJvcigiZmFpbDVcbiIpOworCisgICAg
S2VSYWlzZUlycWwoRElTUEFUQ0hfTEVWRUwsICZJcnFsKTsKKwogZmFpbDQ6CiAgICAgRXJyb3Io
ImZhaWw0XG4iKTsKIApAQCAtMTQ0Nyw2ICsxNDQ1LDggQEAgRmRvRDBUb0QzKAogCiAgICAgX19G
ZG9TZXREZXZpY2VQb3dlclN0YXRlKEZkbywgUG93ZXJEZXZpY2VEMyk7CiAKKyAgICBDb25zb2xl
RGlzYWJsZShGZG8tPkNvbnNvbGUpOworCiAgICAgS2VSYWlzZUlycWwoRElTUEFUQ0hfTEVWRUws
ICZJcnFsKTsKIAogICAgIFhFTkJVU19TVVNQRU5EKERlcmVnaXN0ZXIsCi0tIAoyLjguMwoKCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZl
bCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 24 14:56:33 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Jan 2018 14:56:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeMTX-0003ec-H4; Wed, 24 Jan 2018 14:56:31 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=xypt=et=citrix.com=prvs=5552f348a=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eeMTW-0003eW-4j
 for win-pv-devel@lists.xenproject.org; Wed, 24 Jan 2018 14:56:30 +0000
X-Inumbo-ID: c3137d81-0116-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id c3137d81-0116-11e8-b9b1-635ca7ef6cff;
 Wed, 24 Jan 2018 14:56:31 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,408,1511827200"; d="scan'208";a="459478833"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 24 Jan 2018 14:56:11 +0000
Message-ID: <1516805771-1536-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH] Fix NDISTest6.5 CheckConnectivity and others
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

Q29tbWl0IGU1ZTY0YjU3ICJEb24ndCB0cnkgdG8gX19GcmVlUGFnZXMoKSB3aXRoIGxvY2FsIGNv
cHkgb2YgTURMIgppbnRyb2R1Y2VkIHN1YnRsZSBicmVha2FnZSBpbnRvIHRoZSByZWNlaXZlIHBh
dGguCgpQcmlvciB0byB0aGlzIHBhdGNoLCBmb3IgdGhlIE1ETHMgZW1iZWRkZWQgaW4gcmVjZWl2
ZXIgcGFja2V0cywgaXQgd2FzCmFsd2F5cyB0cnVlIHRoYXQgTWRsLT5NYXBwZWRTeXN0ZW1WYSA9
PSBNZGwtPlN0YXJ0VmEgKyBNZGwtPkJ5dGVPZmZzZXQuCkhvd2V2ZXIsIGFmdGVyIHRoZSBjb21t
aXQsIE1kbC0+U3RhcnRWYSB3YXMgbGVmdCBhcyBOVUxMIGluIHRoZSBhc3N1bXB0aW9uCnRoYXQg
TWRsLT5NYXBwZWRTeXN0ZW1WYSB3b3VsZCBhbHdheXMgYmUgdXNlZCB0byBhY2Nlc3MgdGhlIGJ1
ZmZlci4gU2FkbHkKdGhpcyBhcHBlYXJzIG5vdCB0byBhbHdheXMgYmUgdGhlIGNhc2UgYW5kIGlu
IGZhY3QsIHdkbS5oIGNhcnJpZXMgdGhpcwpjb21tZW50OgoKLy8gTm90aWNlIHRoYXQgd2hpbGUg
aW4gdGhlIGNvbnRleHQgb2YgdGhlIHN1YmplY3QgdGhyZWFkLCB0aGUgYmFzZSB2aXJ0dWFsCi8v
IGFkZHJlc3Mgb2YgYSBidWZmZXIgbWFwcGVkIGJ5IGFuIE1ETCBtYXkgYmUgcmVmZXJlbmNlZCB1
c2luZyB0aGUKLy8gZm9sbG93aW5nOgovLwovLyAgICAgIE1kbC0+U3RhcnRWYSB8IE1kbC0+Qnl0
ZU9mZnNldAovLwoKU28gdGhlIHRoZSBwcmV2aW91cyBzZXR0aW5nIG9mIFN0YXJ0VmEgaXMgaW5k
ZWVkIGRvY3VtZW50ZWQsIGFuZCBjbGVhcmx5CnNvbWV0aGluZyBpbiB0aGUgbmV0d29yayB0ZXN0
cyBpcyByZWx5aW5nIG9uIGl0LgoKVGhpcyBwYXRjaCBtb2RpZmllcyB0aGUgTURMIGFsbG9jYXRv
ciBjb2RlIGluIHV0aWwuaCB0byBhbHdhc3kgc2V0IFN0YXJ0VmEsCmFuZCBtb2RpZmllcyB0aGUg
cmVjZWl2ZXIgY29kZSB0byBjYXJyeSB0aGlzIGZpZWxkIGZvcndhcmQgaW50byB0aGUKZW1iZWRk
ZWQgTURMcy4gSXQgYWxzbyByZW1vdmVzIHNvbWUgY29kZSBkdXBsaWNhdGlvbiBpbiBSZWNlaXZl
clBhY2tldEN0b3IoKQphbmQgX19SZWNlaXZlclJpbmdQdXRQYWNrZXQoKS4KClNpZ25lZC1vZmYt
Ynk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+Ci0tLQoKTk9URTogVGhp
cyBwYXRjaCBuZWVkcyB0byBiZSBiYWNrLXBvcnRlZCBpbnRvIHRoZSA4LjIgc3RhZ2luZyBicmFu
Y2ggYXMKICAgICAgdGhlIGVycm9uZW91cyBjb21taXQgaXMgYWxzbyBkdXBsaWNhdGVkIHRoZXJl
LgotLS0KIHNyYy94ZW52aWYvcmVjZWl2ZXIuYyB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKysr
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmMveGVudmlmL3V0aWwuaCAgICAgfCAgNiArKysr
Ky0KIDIgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvc3JjL3hlbnZpZi9yZWNlaXZlci5jIGIvc3JjL3hlbnZpZi9yZWNlaXZlci5j
CmluZGV4IGU0OGI2NzguLmE2YjNhZDIgMTAwNjQ0Ci0tLSBhL3NyYy94ZW52aWYvcmVjZWl2ZXIu
YworKysgYi9zcmMveGVudmlmL3JlY2VpdmVyLmMKQEAgLTE1NCw2ICsxNTQsMjggQEAgX19SZWNl
aXZlckZyZWUoCiAgICAgX19GcmVlUG9vbFdpdGhUYWcoQnVmZmVyLCBYRU5WSUZfUkVDRUlWRVJf
VEFHKTsKIH0KIAorc3RhdGljIFZPSUQgRk9SQ0VJTkxJTkUKK19fUmVjZWl2ZXJQYWNrZXRNZGxJ
bml0KAorICAgIElOICBQWEVOVklGX1JFQ0VJVkVSX1BBQ0tFVCBQYWNrZXQKKyAgICApCit7Cisg
ICAgUE1ETCAgICBNZGwgPSBQYWNrZXQtPlN5c3RlbU1kbDsKKworICAgIEFTU0VSVChJc1plcm9N
ZW1vcnkoJlBhY2tldC0+TWRsLCBzaXplb2YgKE1ETCkpKTsKKworI3ByYWdtYSB3YXJuaW5nKHB1
c2gpCisjcHJhZ21hIHdhcm5pbmcoZGlzYWJsZToyODE0NSkgLy8gbW9kaWZ5aW5nIHN0cnVjdCBN
REwKKworICAgIFBhY2tldC0+TWRsLlNpemUgPSBzaXplb2YgKE1ETCkgKyBzaXplb2YgKFBGTl9O
VU1CRVIpOworICAgIFBhY2tldC0+TWRsLk1kbEZsYWdzID0gTWRsLT5NZGxGbGFnczsKKworICAg
IEFTU0VSVChNZGwtPk1kbEZsYWdzICYgTURMX01BUFBFRF9UT19TWVNURU1fVkEpOworICAgIFBh
Y2tldC0+TWRsLlN0YXJ0VmEgPSBNZGwtPlN0YXJ0VmE7CisgICAgUGFja2V0LT5NZGwuTWFwcGVk
U3lzdGVtVmEgPSBNZGwtPk1hcHBlZFN5c3RlbVZhOworCisjcHJhZ21hIHdhcm5pbmcocG9wKQor
fQorCiBzdGF0aWMgTlRTVEFUVVMKIFJlY2VpdmVyUGFja2V0Q3RvcigKICAgICBJTiAgUFZPSUQg
ICAgICAgICAgICAgICBBcmd1bWVudCwKQEAgLTE3MywyMCArMTk1LDkgQEAgUmVjZWl2ZXJQYWNr
ZXRDdG9yKAogICAgIGlmIChNZGwgPT0gTlVMTCkKICAgICAgICAgZ290byBmYWlsMTsKIAotICAg
IEFTU0VSVDNVKE1kbC0+Qnl0ZU9mZnNldCwgPT0sIDApOwotCiAgICAgUGFja2V0LT5TeXN0ZW1N
ZGwgPSBNZGw7CiAKLSNwcmFnbWEgd2FybmluZyhwdXNoKQotI3ByYWdtYSB3YXJuaW5nKGRpc2Fi
bGU6MjgxNDUpIC8vIG1vZGlmeWluZyBzdHJ1Y3QgTURMCi0KLSAgICBQYWNrZXQtPk1kbC5TaXpl
ID0gc2l6ZW9mIChNREwpICsgc2l6ZW9mIChQRk5fTlVNQkVSKTsKLSAgICBQYWNrZXQtPk1kbC5N
ZGxGbGFncyA9IE1kbC0+TWRsRmxhZ3M7Ci0KLSNwcmFnbWEgd2FybmluZyhwb3ApCi0KLSAgICBB
U1NFUlQoTWRsLT5NZGxGbGFncyAmIE1ETF9NQVBQRURfVE9fU1lTVEVNX1ZBKTsKLSAgICBQYWNr
ZXQtPk1kbC5NYXBwZWRTeXN0ZW1WYSA9IE1kbC0+TWFwcGVkU3lzdGVtVmE7CisgICAgX19SZWNl
aXZlclBhY2tldE1kbEluaXQoUGFja2V0KTsKIAogICAgIFBhY2tldC0+X19QZm4gPSBNbUdldE1k
bFBmbkFycmF5KE1kbClbMF07CiAKQEAgLTI1OCw3ICsyNjksNiBAQCBfX1JlY2VpdmVyUmluZ1B1
dFBhY2tldCgKIHsKICAgICBQWEVOVklGX1JFQ0VJVkVSICAgICAgICAgICAgUmVjZWl2ZXI7CiAg
ICAgUFhFTlZJRl9GUk9OVEVORCAgICAgICAgICAgIEZyb250ZW5kOwotICAgIFBNREwgICAgICAg
ICAgICAgICAgICAgICAgICBNZGwgPSBQYWNrZXQtPlN5c3RlbU1kbDsKIAogICAgIFJlY2VpdmVy
ID0gUmluZy0+UmVjZWl2ZXI7CiAgICAgRnJvbnRlbmQgPSBSZWNlaXZlci0+RnJvbnRlbmQ7CkBA
IC0yNzcsMTYgKzI4Nyw3IEBAIF9fUmVjZWl2ZXJSaW5nUHV0UGFja2V0KAogCiAgICAgUnRsWmVy
b01lbW9yeSgmUGFja2V0LT5NZGwsIHNpemVvZiAoTURMKSk7CiAKLSNwcmFnbWEgd2FybmluZyhw
dXNoKQotI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6MjgxNDUpIC8vIG1vZGlmeWluZyBzdHJ1Y3Qg
TURMCi0KLSAgICBQYWNrZXQtPk1kbC5TaXplID0gc2l6ZW9mIChNREwpICsgc2l6ZW9mIChQRk5f
TlVNQkVSKTsKLSAgICBQYWNrZXQtPk1kbC5NZGxGbGFncyA9IE1kbC0+TWRsRmxhZ3M7Ci0KLSNw
cmFnbWEgd2FybmluZyhwb3ApCi0KLSAgICBBU1NFUlQoTWRsLT5NZGxGbGFncyAmIE1ETF9NQVBQ
RURfVE9fU1lTVEVNX1ZBKTsKLSAgICBQYWNrZXQtPk1kbC5NYXBwZWRTeXN0ZW1WYSA9IE1kbC0+
TWFwcGVkU3lzdGVtVmE7CisgICAgX19SZWNlaXZlclBhY2tldE1kbEluaXQoUGFja2V0KTsKIAog
ICAgIFhFTkJVU19DQUNIRShQdXQsCiAgICAgICAgICAgICAgICAgICZSZWNlaXZlci0+Q2FjaGVJ
bnRlcmZhY2UsCmRpZmYgLS1naXQgYS9zcmMveGVudmlmL3V0aWwuaCBiL3NyYy94ZW52aWYvdXRp
bC5oCmluZGV4IDg5ODNkNGMuLjMwMzIyZDggMTAwNjQ0Ci0tLSBhL3NyYy94ZW52aWYvdXRpbC5o
CisrKyBiL3NyYy94ZW52aWYvdXRpbC5oCkBAIC0yMTksNyArMjE5LDExIEBAIF9fQWxsb2NhdGVQ
YWdlcygKICAgICBpZiAoTWRsTWFwcGVkU3lzdGVtVmEgPT0gTlVMTCkKICAgICAgICAgZ290byBm
YWlsMzsKIAotICAgIEFTU0VSVDNQKE1kbE1hcHBlZFN5c3RlbVZhLCA9PSwgTWRsLT5NYXBwZWRT
eXN0ZW1WYSk7CisgICAgTWRsLT5TdGFydFZhID0gUEFHRV9BTElHTihNZGxNYXBwZWRTeXN0ZW1W
YSk7CisKKyAgICBBU1NFUlQzVShNZGwtPkJ5dGVPZmZzZXQsID09LCAwKTsKKyAgICBBU1NFUlQz
UChNZGwtPlN0YXJ0VmEsID09LCBNZGxNYXBwZWRTeXN0ZW1WYSk7CisgICAgQVNTRVJUM1AoTWRs
LT5NYXBwZWRTeXN0ZW1WYSwgPT0sIE1kbE1hcHBlZFN5c3RlbVZhKTsKIAogICAgIFJ0bFplcm9N
ZW1vcnkoTWRsTWFwcGVkU3lzdGVtVmEsIE1kbC0+Qnl0ZUNvdW50KTsKIAotLSAKMi41LjMKCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2
ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 00:46:25 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 00:46:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeVgM-0003Ar-QY; Thu, 25 Jan 2018 00:46:22 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1eeVgK-0003AZ-Rs
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 00:46:20 +0000
Date: Thu, 25 Jan 2018 00:46:20 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <27735866.3.1516841185876.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_2_5848013.1516841180235"
X-Jenkins-Job: XENVIF-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENVIF-master - Build #149 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_2_5848013.1516841180235
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #149.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENVIF-master/149/console to view the results.
------=_Part_2_5848013.1516841180235
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_2_5848013.1516841180235--


From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 10:59:42 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 10:59:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eefFs-0006FA-C8; Thu, 25 Jan 2018 10:59:40 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=cfxf=eu=linaro.org=julien.grall@srs-us1.protection.inumbo.net>)
 id 1eefEz-00067K-2C
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 10:58:45 +0000
X-Inumbo-ID: b0ff8b01-01be-11e8-ba59-bc764e045a96
Received: from mail-wm0-x22c.google.com (unknown [2a00:1450:400c:c09::22c])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id b0ff8b01-01be-11e8-ba59-bc764e045a96;
 Thu, 25 Jan 2018 11:58:37 +0100 (CET)
Received: by mail-wm0-x22c.google.com with SMTP id f3so14128614wmc.1
 for <win-pv-devel@lists.xenproject.org>; Thu, 25 Jan 2018 02:58:41 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google;
 h=subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=OmWQTQutjz/yHt2wqB8J6DjKtHqZOS5mdTR/yDCpQRs=;
 b=i3CEC6/bn64lI8NmN+fqYhJt+BjVJeCxY+tdyyH77hyND/0bCglSOPw/f7lFTcucQp
 dRZt3wKXvUGguWWy3I/qdKLvuAxyE/c44bXeNXK1YM8TEQ31J/hGnuQ5cKk1MoYb8XGR
 BlZ9SFIhiZEkNDD7yHFt9olQrbo2Bv/5MVAtc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=OmWQTQutjz/yHt2wqB8J6DjKtHqZOS5mdTR/yDCpQRs=;
 b=US9uI0xIcN6682xq/Jn2WWytF4j+M+AVpzPKoXXf0+4XRDgBTXyiKX60GZFELntRkY
 N3Rb+a97qTgtzvfeYE2UW0ai6v7TBGR/h8nk0XgDwSJImdkJ9XpXFxspD8aC984QPxfw
 pL7BAqobVOofYCOORG1Ud12PWlKfOdf2G5eYDjdqiugZy9Hzj+glgDLgdW3sBt3N6/XQ
 Acgbt3irzahzOiqCTNXrLlhuGUigbux8/YXGV3HEeCqfLQMM/K7zqLgMG+uJTd8NPOkL
 9I0rhTRnd8hLnL3p2CoXCUphB86MHS5DW+To72XWapFjsoyn4jsS5566OsWJ/7qBbZ6s
 iE7A==
X-Gm-Message-State: AKwxytcx1dm8XkIjEiQJ3LZdKFQ+C2r/TkjlYyhDUdsPnCjZBfxj9dMs
 QrznB316k8qq8dHfhUnASuN4yw==
X-Google-Smtp-Source: AH8x227dZgHosaZ2fvw+e8qLAsCuA1UxyAoXXyzmwBQrrEHirTYoOqrSQT0OBIvzmE8xHv/1u2106A==
X-Received: by 10.80.135.154 with SMTP id a26mr29212306eda.82.1516877920225;
 Thu, 25 Jan 2018 02:58:40 -0800 (PST)
Received: from ?IPv6:::1? ([2001:41d0:1:6c23::1])
 by smtp.gmail.com with ESMTPSA id m17sm1207439edc.31.2018.01.25.02.58.38
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 25 Jan 2018 02:58:39 -0800 (PST)
To: Anil Madhavapeddy <anil@recoil.org>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
References: <219B4CE4-9E0A-47CC-BD7B-261BE9FA6F91@gmail.com>
 <7B17E6EE-A4B3-44F9-BC41-3B63C6DEACD4@gmail.com>
 <8cea3e1b-f3e0-b6bb-e7f2-f2e7392387db@neclab.eu>
 <8B6E674A-1AF1-454F-94F1-1178BB96CC57@recoil.org>
From: Julien Grall <julien.grall@linaro.org>
Message-ID: <b61899d4-0226-5a1b-3b16-9a85661d1c88@linaro.org>
Date: Thu, 25 Jan 2018 10:58:38 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <8B6E674A-1AF1-454F-94F1-1178BB96CC57@recoil.org>
Content-Language: en-US
X-Mailman-Approved-At: Thu, 25 Jan 2018 10:59:39 +0000
Cc: Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wei.liu2@citrix.com>,
 Lars Kurth <lars.kurth.xen@gmail.com>, Doug Goldstein <cardoe@cardoe.com>,
 Ian Jackson <ian.jackson@eu.citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, xen-xapl@lists.xenproject.org,
 minios-devel@lists.xenproject.org, Julien Grall <julien.grall@arm.com>,
 "Jesus M. Gonzalez-Barahona" <jgb@bitergia.com>,
 mirageos-devel <mirageos-devel@lists.xenproject.org>,
 xen-devel <xen-devel@lists.xenproject.org>, win-pv-devel@lists.xenproject.org,
 paul.durrant@citrix.com, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [win-pv-devel] [Minios-devel] [MirageOS-devel] Preparing for
 GSoC and Outreachy : getting Outreach Program Projects into good shape
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

CgpPbiAyNC8wMS8xOCAxMDoyMiwgQW5pbCBNYWRoYXZhcGVkZHkgd3JvdGU6Cj4gTG9va3MgZ29v
ZCB0byBtZS4gVGhlIGRpZmZpY3VsdGllcyBhcmUgYWxsIOKAmG1lZGl1beKAmSB0aG91Z2guIMKg
UGVyaGFwcyAKPiBicmVhayB1cCB0aGUg4oCcbmV3IGV4ZWN1dGlvbiB0YXJnZXRz4oCdIGludG8g
bWVkaXVtL2hhcmQgZm9yIHRoZSB2YXJpb3VzIAo+IGJhY2tlbmRzPyBGb3IgZXhhbXBsZSwgWGVu
L0FSTSBpcyBwcm9iYWJseSBlYXNpZXIgdGhhbiBiYXJlIG1ldGFsIEFSTSwgCj4gYW5kIEkgaW1h
Z2luZSBIeXBlclYgaXMgcXVpdGUgY29tcGxleCBkdWUgdG8gdGhlIGV4dHJhIGNvb3JkaW5hdGlv
biBjb2RlIAo+IHRoYXQgaXMgcmVxdWlyZWQuCgpUbyBiZSBob25lc3QsIHRoZSBvbmx5IGRpZmZl
cmVuY2UgYmV0d2VlbiBYZW4vQVJNLCBLVk0vQXJtIG9yIGJhcmUgbWV0YWwgCmFyZSBpbiB0ZXJt
IG9mIGRyaXZlcnMuCgpUaGUgcmVzdCBjb3VsZCBiZSBjb21tb24gYW5kIGRpc2NvdmVyZWQgdGhy
b3VnaCB0aGUgZmlybXdhcmUgdGFibGVzIChlLmcgCkFDUEksIERUKS4gWW91IGNvdWxkIGV2ZW4g
c2hhcmUgbW9zdCBvZiBpdCBiZXR3ZWVuIDMyLWJpdCBhbmQgNjQtYml0IHRvby4KCkV2ZW4gZm9y
IFhlbi9BUk0gSSB3b3VsZCBzdGlsbCBjb25zaWRlciB0aGUgcHJvamVjdCBhcyBtZWRpdW0vaGFy
ZCBnaXZlbiAKdGhlIHN1YnRsZXR5IG9mIHRoZSBBUk0gQVJNLgoKQ2hlZXJzLAoKPiAKPiByZWdh
cmRzCj4gQW5pbAo+IAo+PiBPbiAyNCBKYW4gMjAxOCwgYXQgMDk6NDAsIFNpbW9uIEt1ZW56ZXIg
PHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1IAo+PiA8bWFpbHRvOnNpbW9uLmt1ZW56ZXJAbmVjbGFi
LmV1Pj4gd3JvdGU6Cj4+Cj4+IEhpIGFsbCwKPj4KPj4gc2luY2Ugd2UgYXJlIHBhcnRpY2lwYXRp
bmcgdGhlIGZpcnN0IHRpbWUgdG8gR1NvQywgd2UgYXJlIGhhcHB5IHRvIAo+PiByZWNlaXZlIGFu
eSBmZWVkYmFjayBmcm9tIHlvdSByZWdhcmRpbmcgb3VyIHByb3Bvc2VkIFVuaWtyYWZ0IHByb2pl
Y3RzIQo+Pgo+PiBodHRwczovL3dpa2kueGVucHJvamVjdC5vcmcvd2lraS9PdXRyZWFjaF9Qcm9n
cmFtX1Byb2plY3RzI1VuaWtyYWZ0Cj4+Cj4+IFRoYW5rcywKPj4KPj4gU2ltb24KPj4KPj4gT24g
MjMuMDEuMjAxOCAxMDoxNiwgTGFycyBLdXJ0aCB3cm90ZToKPj4+IEhpIGFsbCwKPj4+IGp1c3Qg
YSBxdWljayBub3RlIHRoYXQgSSBzdWJtaXR0ZWQgdGhlIGFwcGxpY2F0aW9uIGZvciBHU29DLgo+
Pj4gVGhlIHByb2plY3QgbGlzdCBpcyBub3QgcGVyZmVjdCBhbmQgSSByZW1vdmVkIGEgbnVtYmVy
IG9mIHByb2plY3RzIAo+Pj4gYmVjYXVzZSBJIGJlbGlldmUgdGhleSB3ZXJlIGNvbXBsZXRlZCAo
b3IgYXQgbGVhc3Qgc3RhcnRlZCBieSAKPj4+IG90aGVycykuIEEgVGhhbmsgWW91IHRvIE1pcmFn
ZSBPUyBhbmQgVW5pa3JhZnQgZm9sa3MgZm9yIGFkZGluZyBuZXcgCj4+PiBwcm9qZWN0cwo+Pj4g
SWYgd2UgZG8gZ2V0IGFjY2VwdGVkLCB3ZSB3aWxsIGhhdmUgdG8gaGF2ZSBhbm90aGVyIGdvIGF0
IHRoZSBwcm9qZWN0IAo+Pj4gbGlzdAo+Pj4gQmVzdCBSZWdhcmRzCj4+PiBMYXJzCj4+Pj4gT24g
OCBKYW4gMjAxOCwgYXQgMTU6MTksIExhcnMgS3VydGggPGxhcnMua3VydGgueGVuQGdtYWlsLmNv
bSAKPj4+PiA8bWFpbHRvOmxhcnMua3VydGgueGVuQGdtYWlsLmNvbT4+IHdyb3RlOgo+Pj4+Cj4+
Pj4gSGkgQWxsLAo+Pj4+Cj4+Pj4gaXQncyB0aGlzIHRpbWUgb2YgdGhlIHllYXIgYWdhaW4gdG8g
cHJlcGFyZSBmb3IgR1NvQy9PdXRyZWFjaHkhIFRoZSAKPj4+PiBhcHBsaWNhdGlvbiBkZWFkbGlu
ZSBmb3Igb3JncyBpcyBKYW51YXJ5IDIzIC0gRmVicnVhcnkgMTE6IGlkZWFsbHkgCj4+Pj4gd2Ug
d2lsbCBoYXZlIGEgZ29vZCB1cGRhdGVkIGxpc3RzIG9mIHByb2plY3RzIGJ5IHRoZW4gYXMgR29v
Z2xlIHdpbGwgCj4+Pj4gbG9vayBhdCB0aGUgcXVhbGl0eSBvZiB0aGUgcHJvamVjdCBsaXN0LiBJ
IHdpbGwgYWxzbyBuZWVkIGNvLW9yZyAKPj4+PiBhZG1pbnM6IEBNaW5keSBhcmUgeW91IHdpbGxp
bmcgdG8gZG8gdGhpcyBhZ2Fpbj8gTWF5YmUgYWxzbyBzb21lb25lIAo+Pj4+IGZyb20gdGhlIFVu
aWtyYWZ0IHByb2plY3QuIFRoYXQgaGVscHMgZW5zdXJlIHRoYXQgd2UgaGF2ZSByZXBzIGZyb20g
Cj4+Pj4gdmFyaW91cyBzdWJwcm9qZWN0IHRoYXQgZW5zdXJlIHRoYXQgd2UgZG9uJ3QgbWlzcyBk
ZWFkbGluZXMuCj4+Pj4KPj4+Pgo+Pj4+IEJlc3QgUmVnYXJkcwo+Pj4+IExhcnMKPj4+Pgo+Pj4+
IEV4aXN0aW5nIFByb2plY3RzIChmb3IgcGVvcGxlIG9uIHRoZSBDQyBsaXN0KQo+Pj4+ID09PT09
PT09PT09PT09PT09Cj4+Pj4gSWYgeW91IGFyZSBDQydlZCB5b3UgaGF2ZSBvbmUgb3Igc2V2ZXJh
bCBwcm9qZWN0cyBsaXN0ZWQgb24gCj4+Pj4gaHR0cHM6Ly93aWtpLnhlbnByb2plY3Qub3JnL3dp
a2kvT3V0cmVhY2hfUHJvZ3JhbV9Qcm9qZWN0cyAuLi4gV2hhdCAKPj4+PiBJIG5lZWQgeW91IHRv
IGRvIGlzIHRvCj4+Pj4KPj4+PiBhKSBXZWVkIG91dCBhbnkgcHJvamVjdHMgdGhhdCBoYXZlIGJl
ZW4gY29tcGxldGVkIG9yIGFyZSBub3QgCj4+Pj4gcmVsZXZhbnQgYW55IG1vcmUKPj4+PiDCoMKg
QE1pbmR5OiBGb3IgTWlyYWdlT1MgZm9sa3MsIHBsZWFzZSBjaGVjayBhbmQgdXBkYXRlIAo+Pj4+
IGh0dHBzOi8vZ2l0aHViLmNvbS9taXJhZ2UvbWlyYWdlLXd3dy93aWtpL1Bpb25lZXItUHJvamVj
dHMgYW5kIGRvIAo+Pj4+IHRoZSBzYW1lCj4+Pj4KPj4+PiBiKSBEZWNpZGUgd2hldGhlciB5b3Ug
c3RpbGwgd2FudCB0byBtZW50b3I6Cj4+Pj4gwqDCoFRoaXMgcmVxdWlyZXMgc29tZSBvZiB5b3Vy
IGJhbmR3aWR0aCBmcm9tIG1pZC1GZWIgdG8gTWFyY2ggMjAxOCB0byAKPj4+PiB3b3JrIG9uIHNt
YWxsIHByb2plY3RzCj4+Pj4gwqDCoFRoZSBhY3R1YWwgd29yayBoYXBwZW5zIGZyb20gTWF5IDE0
IC0gQXVnIDE0Cj4+Pj4KPj4+PiDCoMKgSWYgbm90LCBwbGVhc2UgcmVwbHkgYW5kIGxpc3QgcHJv
amVjdHMgYWZmZWN0ZWQKPj4+PiDCoMKgSWYgeWVzLCBwbGVhc2UgYWxzbyBkbyBzbyBhbmQgSSB3
aWxsIHVwZGF0ZSB0aGUgVmVyaWZpZWQgZmllbGQgCj4+Pj4gYWNjb3JkaW5nbHkKPj4+Pgo+Pj4+
IGMpIEFkZCBhbnkgbmV3IGluZm9ybWF0aW9uIHRvIGV4aXN0aW5nIHByb2plY3RzIGFzIHJlbGV2
YW50Lgo+Pj4+Cj4+Pj4KPj4+PiBOZXcgUHJvamVjdHMKPj4+PiA9PT09PT09PT09PT0KPj4+PiBG
ZWVsIGZyZWUgdG8gYWRkIG5ldyBwcm9qZWN0cyB0byB0aGUgbGlzdCwgYnV0IGlmIHlvdSBkbyBz
byBwbGVhc2UgCj4+Pj4gbGV0IHRoZSBsaXN0IGtub3cuIFdlIGFyZSBub3QgZ29pbmcgdG8gYmUg
dmVyeSBzdHJpY3Qgd2l0aCAKPj4+PiBodHRwczovL3dpa2kueGVucHJvamVjdC5vcmcvd2lraS9P
dXRyZWFjaF9Qcm9ncmFtX1Byb2plY3RzI0NvbnZlbnRpb25zX2Zvcl9Qcm9qZWN0c19hbmRfUHJv
amVjdF9NZW50b3JzLCAKPj4+PiBidXQgZ2V0dGluZyBzb21lb25lIGVsc2UgdG8gcmV2aWV3IHlv
dXIgcHJvcG9zYWwgaXMgYSBnb29kIGlkZWEuCj4+Pj4KPj4+PiBVbmlrcmFmdAo+Pj4+IC0tLS0t
LS0tCj4+Pj4gSSBjcmVhdGVkIGEgcGxhY2UtaG9sZGVyIGZvciBVbmlrcmFmdCBhdCAKPj4+PiBo
dHRwczovL3dpa2kueGVucHJvamVjdC5vcmcvd2lraS9PdXRyZWFjaF9Qcm9ncmFtX1Byb2plY3Rz
I1VuaWtyYWZ0IAo+Pj4+IGFzIFVuaWtyYWZ0IHByb2plY3QgbWVtYmVycyBpbmRpY2F0ZWQgdGhl
eSB3YW50IHRvIHBhcnRpY2lwYXRlLgo+Pj4+IFlvdSBwcm9iYWJseSBkbyB3YW50IHRvIHNldCBl
eHBlY3RhdGlvbnMgd2l0aCByZWdhcmRzIHRvIHN0YXJ0LXVwIAo+Pj4+IHRhc2tzIGFuZCBjb21l
IHVwIHdpdGggYSBzZXQgb2YgdGFza3MgdG8gYWN0IGFzIGEgZmlsdGVyIGZvciAKPj4+PiBhcHBs
aWNhbnRzIChlLmcuIHNob3dpbmcgdGhhdCB0aGV5IHNldCB1cCB0aGUgZW52aXJvbm1lbnQsIGV0
Yy4pCj4+Pj4KPj4+Pgo+Pj4+IFNwZWNpZmljIEltcHJvdmVtZW50cyB0byB0aGUgcHJvamVjdCBk
b2N1bWVudGF0aW9uCj4+Pj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KPj4+Pgo+Pj4+IEh5cGVydmlzb3Igc3RhcnQtdXAgdGFza3MKPj4+PiAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+Pj4gaHR0cHM6Ly93aWtpLnhlbnByb2plY3Qub3JnL3dp
a2kvWGVuX1Byb2plY3RfRGV2ZWxvcG1lbnRfUHJvamVjdHMgCj4+Pj4gY29udGFpbnM6ICJBbiBl
YXN5IHdheSB0byBnZXQgc3RhcnRlZCAoYW5kIHNob3cgdGhhdCB5b3UgY2FuIHNldCB1cCAKPj4+
PiB0aGUgWGVuIERldmVsb3BtZW50IEVudmlyb25tZW50LCBmaXggYW4gaXNzdWUsIGJ1aWxkIGFu
ZCB0ZXN0IFhlbiwgCj4+Pj4gc3VibWl0IGEgcGF0Y2gsIGV0Yy4pIGlzIHRvIGFkZHJlc3MgYSBz
dWl0YWJsZSBudW1iZXIgb2YgQ292ZXJpdHkgCj4+Pj4gU2NhbiBpc3N1ZXMuIEFzayBvbiB4ZW4t
ZGV2ZWxAIGZvciBhIHNldCBvZiBzdWl0YWJsZSBDb3Zlcml0eSAKPj4+PiBpc3N1ZXMuIE5vdGUg
dGhhdCB0aGlzIGRvZXMgbm90IHJlcXVpcmUgYW55IGFjY2VzcyB0byB0aGUgQ292ZXJpdHkgCj4+
Pj4gc2NhbiByZXN1bHRzLiBPcGVuIGJ1Z3MgdG8gZml4IHVuZGVyIHRoZSBTbWFsbCBDb2RlIENv
bnRyaWJ1dGlvbiAKPj4+PiBSZXF1aXJlbWVudCBjYW4gYWxzbyBiZSBmb3VuZCBvbiBidWdzLnhl
bnByb2plY3Qub3JnIAo+Pj4+IDxodHRwOi8vYnVncy54ZW5wcm9qZWN0Lm9yZz4iCj4+Pj4KPj4+
PiBEbyB3ZSB3YW50IHRvIGNoYW5nZSB0aGlzPyBGaW5kaW5nIHNtYWxsIGdldCBzdGFydGVkIHBy
b2plY3RzIGlzIAo+Pj4+IGFsd2F5cyBhIGxpdHRsZSBiaXQgb2YgYSBwcm9ibGVtLiBNYXliZSB3
ZSBjYW4gcHJlcGFyZSBhIGJldHRlciBsaXN0IAo+Pj4+IHNvbWV3aGVyZS4KPj4+Pgo+Pj4+IElu
LXRyZWUgdnMuIFdpa2kgYmFzZWQgcHJvamVjdHMKPj4+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCj4+Pj4gV2UgY291bGQgYWxzbyBkZWNpZGUgdG8gbW92ZSBIeXBlcnZpc29yIHJl
bGF0ZWQgaWRlYXMgaW4tdHJlZSAKPj4+PiBzb21ld2hlcmUgYW5kIGdlbmVyYXRlIGEgbGlzdCBp
ZiB0aGF0IG1ha2VzIHRoaW5ncyBlYXNpZXIuIEJ1dCB0aGlzIAo+Pj4+IGlzIG5vdCBuZWNlc3Nh
cnksIGluIHBhcnRpY3VsYXIgZ2l2ZW4gd2l0aCBldmVyeXRoaW5nIHRoYXQgaXMgZ29pbmcgCj4+
Pj4gb24uIEkganVzdCB3YW50ZWQgdG8gcmFpc2UgdGhpcyBhcyBhbiBvcHRpb246IEkgYW0gbm90
IHBhcnRpY3VsYXJseSAKPj4+PiB3ZWRkZWQgdG8gdXNpbmcgdGhlIHdpa2kuCj4+Pj4KPj4+IF9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+PiBNaW5pb3Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Cj4+PiBNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcg
Cj4+PiA8bWFpbHRvOk1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZz4KPj4+IGh0dHBz
Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWwKPj4K
Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gTWly
YWdlT1MtZGV2ZWwgbWFpbGluZyBsaXN0Cj4+IE1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnIAo+PiA8bWFpbHRvOk1pcmFnZU9TLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnPgo+
PiBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWlyYWdlb3Mt
ZGV2ZWwKPiAKPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwo+IE1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBNaW5pb3MtZGV2ZWxAbGlzdHMu
eGVucHJvamVjdC5vcmcKPiBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vbWluaW9zLWRldmVsCj4gCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0
Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl
Y3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 12:44:53 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 12:44:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eegtd-0001MJ-Jk; Thu, 25 Jan 2018 12:44:49 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=lnwm=eu=citrix.com=prvs=556065c40=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eegtd-0001MD-8L
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 12:44:49 +0000
X-Inumbo-ID: 83cb37c4-01cd-11e8-ba59-bc764e045a96
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 83cb37c4-01cd-11e8-ba59-bc764e045a96;
 Thu, 25 Jan 2018 13:44:42 +0100 (CET)
X-IronPort-AV: E=Sophos;i="5.46,412,1511827200"; d="scan'208";a="459638277"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Thu, 25 Jan 2018 12:44:38 +0000
Message-ID: <1516884278-2265-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH] Make sure Mdl->StartVa is set by
	__AllocatePages()
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

d2RtLmggY2FycmllcyB0aGlzIGNvbW1lbnQ6CgovLyBOb3RpY2UgdGhhdCB3aGlsZSBpbiB0aGUg
Y29udGV4dCBvZiB0aGUgc3ViamVjdCB0aHJlYWQsIHRoZSBiYXNlIHZpcnR1YWwKLy8gYWRkcmVz
cyBvZiBhIGJ1ZmZlciBtYXBwZWQgYnkgYW4gTURMIG1heSBiZSByZWZlcmVuY2VkIHVzaW5nIHRo
ZQovLyBmb2xsb3dpbmc6Ci8vCi8vICAgICAgTWRsLT5TdGFydFZhIHwgTWRsLT5CeXRlT2Zmc2V0
Ci8vCgpIZW5jZSBpdCBpcyBpbXBvcnRhbnQgdGhlbiBhIG1hcHBlZCBNREwgaGFzIGEgdmFsaWQg
U3RhcnRWYSBmaWVsZCBhcyB3ZWxsCmFzIGEgdmFsaWQgTWFwcGVkU3lzdGVtVmEgZmllbGQuIFVu
Zm9ydHVuYXRlbHksIGZvciByZWFzb25zIGJlc3Qga25vd24gdG8KTWljcm9zb2Z0LCBNbU1hcExv
Y2tlZFBhZ2VzU3BlY2lmeUNhY2hlKCkgZG9lcyBub3QgZW5zdXJlIHRoaXMgaXMgdGhlCmNhc2Us
IHNvIGl0IG5lZWRzIHRvIGJlIGZpeGVkIHVwIGJ5IF9fQWxsb2NhdGVQYWdlcygpIGl0c2VsZi4K
ClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+Ci0t
LQogc3JjL2NvbW1vbi91dGlsLmggfCA2ICsrKysrLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0
aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vdXRpbC5oIGIv
c3JjL2NvbW1vbi91dGlsLmgKaW5kZXggOTE3NWU5Yi4uNTJiNGQ0MiAxMDA2NDQKLS0tIGEvc3Jj
L2NvbW1vbi91dGlsLmgKKysrIGIvc3JjL2NvbW1vbi91dGlsLmgKQEAgLTIxOSw3ICsyMTksMTEg
QEAgX19BbGxvY2F0ZVBhZ2VzKAogICAgIGlmIChNZGxNYXBwZWRTeXN0ZW1WYSA9PSBOVUxMKQog
ICAgICAgICBnb3RvIGZhaWwzOwogCi0gICAgQVNTRVJUM1AoTWRsTWFwcGVkU3lzdGVtVmEsID09
LCBNZGwtPk1hcHBlZFN5c3RlbVZhKTsKKyAgICBNZGwtPlN0YXJ0VmEgPSBQQUdFX0FMSUdOKE1k
bE1hcHBlZFN5c3RlbVZhKTsKKworICAgIEFTU0VSVDNVKE1kbC0+Qnl0ZU9mZnNldCwgPT0sIDAp
OworICAgIEFTU0VSVDNQKE1kbC0+U3RhcnRWYSwgPT0sIE1kbE1hcHBlZFN5c3RlbVZhKTsKKyAg
ICBBU1NFUlQzUChNZGwtPk1hcHBlZFN5c3RlbVZhLCA9PSwgTWRsTWFwcGVkU3lzdGVtVmEpOwog
CiAgICAgUnRsWmVyb01lbW9yeShNZGxNYXBwZWRTeXN0ZW1WYSwgTWRsLT5CeXRlQ291bnQpOwog
Ci0tIAoyLjUuMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4t
cHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 12:53:42 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 12:53:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeh2E-0002CQ-02; Thu, 25 Jan 2018 12:53:41 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=lnwm=eu=citrix.com=prvs=556065c40=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eeh2C-0002CI-Rx
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 12:53:40 +0000
X-Inumbo-ID: c0bfc7c3-01ce-11e8-ba59-bc764e045a96
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id c0bfc7c3-01ce-11e8-ba59-bc764e045a96;
 Thu, 25 Jan 2018 13:53:34 +0100 (CET)
X-IronPort-AV: E=Sophos;i="5.46,412,1511827200"; d="scan'208";a="459639512"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Thu, 25 Jan 2018 12:53:19 +0000
Message-ID: <1516884799-2391-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH] Update util.h
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

WEVOTkVUIGRvZXMgbm90IHVzZSBtdWNoIG9mIHRoZSBmdW5jdGlvbmFsaXR5IGluIHV0aWwuaCwg
aW5jbHVkaW5nIHRoZQpfX0FsbG9jYXRlUGFnZXMoKS9fX0ZyZWVQYWdlcygpIGZ1bmN0aW9ucyBt
b2RpZmllZCBieSB0aGlzIGNoYW5nZSwgaG93ZXZlcgppdCBpcyBnb29kIHRvIGtlZXAgdGhlIGhl
YWRlciBpbi1zeW5jIHdpdGggdGhlIG90aGVyIGRyaXZlcnMuCgpTaWduZWQtb2ZmLWJ5OiBQYXVs
IER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW5uZXQvdXRpbC5o
IHwgMjUgKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE2IGluc2Vy
dGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3hlbm5ldC91dGlsLmgg
Yi9zcmMveGVubmV0L3V0aWwuaAppbmRleCBkNjM0MDMzLi44MzAwOGFkIDEwMDY0NAotLS0gYS9z
cmMveGVubmV0L3V0aWwuaAorKysgYi9zcmMveGVubmV0L3V0aWwuaApAQCAtMTcwLDggKzE3MCw4
IEBAIF9fRnJlZVBvb2xXaXRoVGFnKAogfQogCiBzdGF0aWMgRk9SQ0VJTkxJTkUgUE1ETAotX19B
bGxvY2F0ZVBhZ2UoCi0gICAgVk9JRAorX19BbGxvY2F0ZVBhZ2VzKAorICAgIElOICBVTE9ORyAg
ICAgICAgICAgQ291bnQKICAgICApCiB7CiAgICAgUEhZU0lDQUxfQUREUkVTUyAgICBMb3dBZGRy
ZXNzOwpAQCAtMTg1LDcgKzE4NSw3IEBAIF9fQWxsb2NhdGVQYWdlKAogICAgIExvd0FkZHJlc3Mu
UXVhZFBhcnQgPSAwdWxsOwogICAgIEhpZ2hBZGRyZXNzLlF1YWRQYXJ0ID0gfjB1bGw7CiAgICAg
U2tpcEJ5dGVzLlF1YWRQYXJ0ID0gMHVsbDsKLSAgICBUb3RhbEJ5dGVzID0gKFNJWkVfVClQQUdF
X1NJWkU7CisgICAgVG90YWxCeXRlcyA9IChTSVpFX1QpUEFHRV9TSVpFICogQ291bnQ7CiAKICAg
ICBNZGwgPSBNbUFsbG9jYXRlUGFnZXNGb3JNZGxFeChMb3dBZGRyZXNzLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEhpZ2hBZGRyZXNzLApAQCAtMTk4LDcgKzE5OCw3IEBAIF9f
QWxsb2NhdGVQYWdlKAogICAgIGlmIChNZGwgPT0gTlVMTCkKICAgICAgICAgZ290byBmYWlsMTsK
IAotICAgIGlmIChNZGwtPkJ5dGVDb3VudCA8IFBBR0VfU0laRSkKKyAgICBpZiAoTWRsLT5CeXRl
Q291bnQgPCBUb3RhbEJ5dGVzKQogICAgICAgICBnb3RvIGZhaWwyOwogCiAgICAgQVNTRVJUKChN
ZGwtPk1kbEZsYWdzICYgKE1ETF9NQVBQRURfVE9fU1lTVEVNX1ZBIHwKQEAgLTIxOSw5ICsyMTks
MTMgQEAgX19BbGxvY2F0ZVBhZ2UoCiAgICAgaWYgKE1kbE1hcHBlZFN5c3RlbVZhID09IE5VTEwp
CiAgICAgICAgIGdvdG8gZmFpbDM7CiAKLSAgICBBU1NFUlQzUChNZGxNYXBwZWRTeXN0ZW1WYSwg
PT0sIE1kbC0+TWFwcGVkU3lzdGVtVmEpOworICAgIE1kbC0+U3RhcnRWYSA9IFBBR0VfQUxJR04o
TWRsTWFwcGVkU3lzdGVtVmEpOwogCi0gICAgUnRsWmVyb01lbW9yeShNZGxNYXBwZWRTeXN0ZW1W
YSwgUEFHRV9TSVpFKTsKKyAgICBBU1NFUlQzVShNZGwtPkJ5dGVPZmZzZXQsID09LCAwKTsKKyAg
ICBBU1NFUlQzUChNZGwtPlN0YXJ0VmEsID09LCBNZGxNYXBwZWRTeXN0ZW1WYSk7CisgICAgQVNT
RVJUM1AoTWRsLT5NYXBwZWRTeXN0ZW1WYSwgPT0sIE1kbE1hcHBlZFN5c3RlbVZhKTsKKworICAg
IFJ0bFplcm9NZW1vcnkoTWRsTWFwcGVkU3lzdGVtVmEsIE1kbC0+Qnl0ZUNvdW50KTsKIAogICAg
IHJldHVybiBNZGw7CiAKQEAgLTI0MCw4ICsyNDQsMTAgQEAgZmFpbDE6CiAgICAgcmV0dXJuIE5V
TEw7CiB9CiAKKyNkZWZpbmUgX19BbGxvY2F0ZVBhZ2UoKSAgICBfX0FsbG9jYXRlUGFnZXMoMSkK
Kwogc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKLV9fRnJlZVBhZ2UoCitfX0ZyZWVQYWdlcygKICAg
ICBJTglQTURMCU1kbAogICAgICkKIHsKQEAgLTI1MCwxMyArMjU2LDE0IEBAIF9fRnJlZVBhZ2Uo
CiAgICAgQVNTRVJUKE1kbC0+TWRsRmxhZ3MgJiBNRExfTUFQUEVEX1RPX1NZU1RFTV9WQSk7CiAg
ICAgTWRsTWFwcGVkU3lzdGVtVmEgPSBNZGwtPk1hcHBlZFN5c3RlbVZhOwogCi0gICAgUnRsRmls
bE1lbW9yeShNZGxNYXBwZWRTeXN0ZW1WYSwgUEFHRV9TSVpFLCAweEFBKTsKLQogICAgIE1tVW5t
YXBMb2NrZWRQYWdlcyhNZGxNYXBwZWRTeXN0ZW1WYSwgTWRsKTsKIAogICAgIE1tRnJlZVBhZ2Vz
RnJvbU1kbChNZGwpOworICAgIEV4RnJlZVBvb2woTWRsKTsKIH0KIAorI2RlZmluZSBfX0ZyZWVQ
YWdlKF9NZGwpICAgIF9fRnJlZVBhZ2VzKF9NZGwpCisKIHN0YXRpYyBGT1JDRUlOTElORSBQQ0hB
UgogX19zdHJ0b2tfcigKICAgICBJTiAgICAgIFBDSEFSICAgQnVmZmVyLAotLSAKMi41LjMKCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2
ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 13:29:16 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 13:29:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eehad-0004td-AC; Thu, 25 Jan 2018 13:29:15 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1eehac-0004sU-9J
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 13:29:14 +0000
Date: Thu, 25 Jan 2018 13:29:13 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <9129160.1.1516886959883.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_0_14133316.1516886954430"
X-Jenkins-Job: XENNET-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENNET-master - Build #95 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_0_14133316.1516886954430
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #95.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENNET-master/95/console to view the results.
------=_Part_0_14133316.1516886954430
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_0_14133316.1516886954430--


From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 13:52:19 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 13:52:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eehwv-0007zJ-63; Thu, 25 Jan 2018 13:52:17 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=lnwm=eu=citrix.com=prvs=556065c40=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eehwt-0007y9-Qj
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 13:52:15 +0000
X-Inumbo-ID: f5dd41e2-01d6-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id f5dd41e2-01d6-11e8-b9b1-635ca7ef6cff;
 Thu, 25 Jan 2018 13:52:19 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,412,1511827200"; d="scan'208";a="459648278"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Thu, 25 Jan 2018 13:51:59 +0000
Message-ID: <1516888319-2600-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH] Make sure Mdl->StartVa is set by
	__AllocatePages()
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

d2RtLmggY2FycmllcyB0aGlzIGNvbW1lbnQ6CgovLyBOb3RpY2UgdGhhdCB3aGlsZSBpbiB0aGUg
Y29udGV4dCBvZiB0aGUgc3ViamVjdCB0aHJlYWQsIHRoZSBiYXNlIHZpcnR1YWwKLy8gYWRkcmVz
cyBvZiBhIGJ1ZmZlciBtYXBwZWQgYnkgYW4gTURMIG1heSBiZSByZWZlcmVuY2VkIHVzaW5nIHRo
ZQovLyBmb2xsb3dpbmc6Ci8vCi8vICAgICAgTWRsLT5TdGFydFZhIHwgTWRsLT5CeXRlT2Zmc2V0
Ci8vCgpIZW5jZSBpdCBpcyBpbXBvcnRhbnQgdGhhdCBhIG1hcHBlZCBNREwgaGFzIGEgdmFsaWQg
U3RhcnRWYSBmaWVsZCBhcyB3ZWxsCmFzIGEgdmFsaWQgTWFwcGVkU3lzdGVtVmEgZmllbGQuIFVu
Zm9ydHVuYXRlbHksIGZvciByZWFzb25zIGJlc3Qga25vd24gdG8KTWljcm9zb2Z0LCBNbU1hcExv
Y2tlZFBhZ2VzU3BlY2lmeUNhY2hlKCkgZG9lcyBub3QgZW5zdXJlIHRoaXMgaXMgdGhlCmNhc2Us
IHNvIGl0IG5lZWRzIHRvIGJlIGZpeGVkIHVwIGJ5IF9fQWxsb2NhdGVQYWdlcygpIGl0c2VsZi4K
ClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+Ci0t
LQogc3JjL2NvbW1vbi91dGlsLmggfCA2ICsrKysrLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0
aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vdXRpbC5oIGIv
c3JjL2NvbW1vbi91dGlsLmgKaW5kZXggOTM4MzgxNy4uYjMwM2JiYyAxMDA2NDQKLS0tIGEvc3Jj
L2NvbW1vbi91dGlsLmgKKysrIGIvc3JjL2NvbW1vbi91dGlsLmgKQEAgLTIxOSw3ICsyMTksMTEg
QEAgX19BbGxvY2F0ZVBhZ2VzKAogICAgIGlmIChNZGxNYXBwZWRTeXN0ZW1WYSA9PSBOVUxMKQog
ICAgICAgICBnb3RvIGZhaWwzOwogCi0gICAgQVNTRVJUM1AoTWRsTWFwcGVkU3lzdGVtVmEsID09
LCBNZGwtPk1hcHBlZFN5c3RlbVZhKTsKKyAgICBNZGwtPlN0YXJ0VmEgPSBQQUdFX0FMSUdOKE1k
bE1hcHBlZFN5c3RlbVZhKTsKKworICAgIEFTU0VSVDNVKE1kbC0+Qnl0ZU9mZnNldCwgPT0sIDAp
OworICAgIEFTU0VSVDNQKE1kbC0+U3RhcnRWYSwgPT0sIE1kbE1hcHBlZFN5c3RlbVZhKTsKKyAg
ICBBU1NFUlQzUChNZGwtPk1hcHBlZFN5c3RlbVZhLCA9PSwgTWRsTWFwcGVkU3lzdGVtVmEpOwog
CiAgICAgUnRsWmVyb01lbW9yeShNZGxNYXBwZWRTeXN0ZW1WYSwgTWRsLT5CeXRlQ291bnQpOwog
Ci0tIAoyLjUuMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4t
cHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 13:58:55 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 13:58:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eei3L-0008Os-8w; Thu, 25 Jan 2018 13:58:55 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=lnwm=eu=citrix.com=prvs=556065c40=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eei3L-0008Om-1O
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 13:58:55 +0000
X-Inumbo-ID: e3b628a4-01d7-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id e3b628a4-01d7-11e8-b9b1-635ca7ef6cff;
 Thu, 25 Jan 2018 13:58:58 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,412,1511827200"; d="scan'208";a="459649178"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Thu, 25 Jan 2018 13:58:11 +0000
Message-ID: <1516888691-2699-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH] Update util.h
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

WEVOSUZBQ0UgZG9lcyBub3QgdXNlIG11Y2ggb2YgdGhlIGZ1bmN0aW9uYWxpdHkgaW4gdXRpbC5o
LCBpbmNsdWRpbmcgdGhlCl9fQWxsb2NhdGVQYWdlcygpIGZ1bmN0aW9uIG1vZGlmaWVkIGJ5IHRo
aXMgY2hhbmdlLCBob3dldmVyCml0IGlzIGdvb2QgdG8ga2VlcCB0aGUgaGVhZGVyIGluLXN5bmMg
d2l0aCB0aGUgb3RoZXIgZHJpdmVycy4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1
bC5kdXJyYW50QGNpdHJpeC5jb20+Ci0tLQogc3JjL3hlbmlmYWNlL3V0aWwuaCB8IDYgKysrKyst
CiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t
Z2l0IGEvc3JjL3hlbmlmYWNlL3V0aWwuaCBiL3NyYy94ZW5pZmFjZS91dGlsLmgKaW5kZXggYjI1
OGY5ZS4uMGE1NWFjOSAxMDA2NDQKLS0tIGEvc3JjL3hlbmlmYWNlL3V0aWwuaAorKysgYi9zcmMv
eGVuaWZhY2UvdXRpbC5oCkBAIC0yMTksNyArMjE5LDExIEBAIF9fQWxsb2NhdGVQYWdlcygKICAg
ICBpZiAoTWRsTWFwcGVkU3lzdGVtVmEgPT0gTlVMTCkKICAgICAgICAgZ290byBmYWlsMzsKIAot
ICAgIEFTU0VSVDNQKE1kbE1hcHBlZFN5c3RlbVZhLCA9PSwgTWRsLT5NYXBwZWRTeXN0ZW1WYSk7
CisgICAgTWRsLT5TdGFydFZhID0gUEFHRV9BTElHTihNZGxNYXBwZWRTeXN0ZW1WYSk7CisKKyAg
ICBBU1NFUlQzVShNZGwtPkJ5dGVPZmZzZXQsID09LCAwKTsKKyAgICBBU1NFUlQzUChNZGwtPlN0
YXJ0VmEsID09LCBNZGxNYXBwZWRTeXN0ZW1WYSk7CisgICAgQVNTRVJUM1AoTWRsLT5NYXBwZWRT
eXN0ZW1WYSwgPT0sIE1kbE1hcHBlZFN5c3RlbVZhKTsKIAogICAgIFJ0bFplcm9NZW1vcnkoTWRs
TWFwcGVkU3lzdGVtVmEsIE1kbC0+Qnl0ZUNvdW50KTsKIAotLSAKMi41LjMKCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGlu
ZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhl
bnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 14:09:46 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 14:09:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeiDo-0000wd-TO; Thu, 25 Jan 2018 14:09:44 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=lnwm=eu=citrix.com=prvs=556065c40=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eeiDn-0000vl-7u
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 14:09:43 +0000
X-Inumbo-ID: 66281c5a-01d9-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 66281c5a-01d9-11e8-b9b1-635ca7ef6cff;
 Thu, 25 Jan 2018 14:09:47 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,412,1511827200"; d="scan'208";a="459651533"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Thu, 25 Jan 2018 14:09:27 +0000
Message-ID: <1516889367-2904-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH] Update util.h
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

WEVOSElEIGRvZXMgbm90IHVzZSBtdWNoIG9mIHRoZSBmdW5jdGlvbmFsaXR5IGluIHV0aWwuaCwg
aW5jbHVkaW5nIHRoZQpfX0FsbG9jYXRlUGFnZXMoKSBmdW5jdGlvbiBtb2RpZmllZCBieSB0aGlz
IGNoYW5nZSwgaG93ZXZlciBpdCBpcyBnb29kIHRvCmtlZXAgdGhlIGhlYWRlciBpbi1zeW5jIHdp
dGggdGhlIG90aGVyIGRyaXZlcnMuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwu
ZHVycmFudEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW5oaWQvdXRpbC5oIHwgNiArKysrKy0KIDEg
ZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg
YS9zcmMveGVuaGlkL3V0aWwuaCBiL3NyYy94ZW5oaWQvdXRpbC5oCmluZGV4IGYyOTRkYjcuLmNi
N2JiZTIgMTAwNjQ0Ci0tLSBhL3NyYy94ZW5oaWQvdXRpbC5oCisrKyBiL3NyYy94ZW5oaWQvdXRp
bC5oCkBAIC0yMTksNyArMjE5LDExIEBAIF9fQWxsb2NhdGVQYWdlcygKICAgICBpZiAoTWRsTWFw
cGVkU3lzdGVtVmEgPT0gTlVMTCkKICAgICAgICAgZ290byBmYWlsMzsKIAotICAgIEFTU0VSVDNQ
KE1kbE1hcHBlZFN5c3RlbVZhLCA9PSwgTWRsLT5NYXBwZWRTeXN0ZW1WYSk7CisgICAgTWRsLT5T
dGFydFZhID0gUEFHRV9BTElHTihNZGxNYXBwZWRTeXN0ZW1WYSk7CisKKyAgICBBU1NFUlQzVShN
ZGwtPkJ5dGVPZmZzZXQsID09LCAwKTsKKyAgICBBU1NFUlQzUChNZGwtPlN0YXJ0VmEsID09LCBN
ZGxNYXBwZWRTeXN0ZW1WYSk7CisgICAgQVNTRVJUM1AoTWRsLT5NYXBwZWRTeXN0ZW1WYSwgPT0s
IE1kbE1hcHBlZFN5c3RlbVZhKTsKIAogICAgIFJ0bFplcm9NZW1vcnkoTWRsTWFwcGVkU3lzdGVt
VmEsIE1kbC0+Qnl0ZUNvdW50KTsKIAotLSAKMi41LjMKCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1w
di1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 14:14:11 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 14:14:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeiI7-0001eO-0k; Thu, 25 Jan 2018 14:14:11 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=lnwm=eu=citrix.com=prvs=556065c40=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eeiI5-0001dR-T2
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 14:14:09 +0000
X-Inumbo-ID: 0513c5a3-01da-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 0513c5a3-01da-11e8-b9b1-635ca7ef6cff;
 Thu, 25 Jan 2018 14:14:14 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,412,1511827200"; d="scan'208";a="459652229"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Thu, 25 Jan 2018 14:13:42 +0000
Message-ID: <1516889622-2995-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH] Make sure Mdl->StartVa is set by
	__AllocatePages()
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

d2RtLmggY2FycmllcyB0aGlzIGNvbW1lbnQ6CgovLyBOb3RpY2UgdGhhdCB3aGlsZSBpbiB0aGUg
Y29udGV4dCBvZiB0aGUgc3ViamVjdCB0aHJlYWQsIHRoZSBiYXNlIHZpcnR1YWwKLy8gYWRkcmVz
cyBvZiBhIGJ1ZmZlciBtYXBwZWQgYnkgYW4gTURMIG1heSBiZSByZWZlcmVuY2VkIHVzaW5nIHRo
ZQovLyBmb2xsb3dpbmc6Ci8vCi8vICAgICAgTWRsLT5TdGFydFZhIHwgTWRsLT5CeXRlT2Zmc2V0
Ci8vCgpIZW5jZSBpdCBpcyBpbXBvcnRhbnQgdGhhdCBhIG1hcHBlZCBNREwgaGFzIGEgdmFsaWQg
U3RhcnRWYSBmaWVsZCBhcyB3ZWxsCmFzIGEgdmFsaWQgTWFwcGVkU3lzdGVtVmEgZmllbGQuIFVu
Zm9ydHVuYXRlbHksIGZvciByZWFzb25zIGJlc3Qga25vd24gdG8KTWljcm9zb2Z0LCBNbU1hcExv
Y2tlZFBhZ2VzU3BlY2lmeUNhY2hlKCkgZG9lcyBub3QgZW5zdXJlIHRoaXMgaXMgdGhlCmNhc2Us
IHNvIGl0IG5lZWRzIHRvIGJlIGZpeGVkIHVwIGJ5IF9fQWxsb2NhdGVQYWdlcygpIGl0c2VsZi4K
ClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+Ci0t
LQogc3JjL3hlbnZrYmQvdXRpbC5oIHwgNiArKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2Vy
dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmMveGVudmtiZC91dGlsLmgg
Yi9zcmMveGVudmtiZC91dGlsLmgKaW5kZXggMmQ0ZDFjOS4uYjgyNDQ1ZSAxMDA2NDQKLS0tIGEv
c3JjL3hlbnZrYmQvdXRpbC5oCisrKyBiL3NyYy94ZW52a2JkL3V0aWwuaApAQCAtMjE5LDcgKzIx
OSwxMSBAQCBfX0FsbG9jYXRlUGFnZXMoCiAgICAgaWYgKE1kbE1hcHBlZFN5c3RlbVZhID09IE5V
TEwpCiAgICAgICAgIGdvdG8gZmFpbDM7CiAKLSAgICBBU1NFUlQzUChNZGxNYXBwZWRTeXN0ZW1W
YSwgPT0sIE1kbC0+TWFwcGVkU3lzdGVtVmEpOworICAgIE1kbC0+U3RhcnRWYSA9IFBBR0VfQUxJ
R04oTWRsTWFwcGVkU3lzdGVtVmEpOworCisgICAgQVNTRVJUM1UoTWRsLT5CeXRlT2Zmc2V0LCA9
PSwgMCk7CisgICAgQVNTRVJUM1AoTWRsLT5TdGFydFZhLCA9PSwgTWRsTWFwcGVkU3lzdGVtVmEp
OworICAgIEFTU0VSVDNQKE1kbC0+TWFwcGVkU3lzdGVtVmEsID09LCBNZGxNYXBwZWRTeXN0ZW1W
YSk7CiAKICAgICBSdGxaZXJvTWVtb3J5KE1kbE1hcHBlZFN5c3RlbVZhLCBNZGwtPkJ5dGVDb3Vu
dCk7CiAKLS0gCjIuNS4zCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVu
cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv
L3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 14:17:36 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 14:17:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeiLQ-00023F-S1; Thu, 25 Jan 2018 14:17:36 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=lnwm=eu=citrix.com=prvs=556065c40=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eeiLP-00022e-Kg
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 14:17:35 +0000
X-Inumbo-ID: 800aad06-01da-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 800aad06-01da-11e8-b9b1-635ca7ef6cff;
 Thu, 25 Jan 2018 14:17:39 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,412,1511827200"; d="scan'208";a="459653000"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Thu, 25 Jan 2018 14:17:20 +0000
Message-ID: <1516889840-3076-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH] Update util.h
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

WEVOQ09OUyBkb2VzIG5vdCB1c2UgbXVjaCBvZiB0aGUgZnVuY3Rpb25hbGl0eSBpbiB1dGlsLmgs
IGluY2x1ZGluZyB0aGUKX19BbGxvY2F0ZVBhZ2VzKCkgZnVuY3Rpb24gbW9kaWZpZWQgYnkgdGhp
cyBjaGFuZ2UsIGhvd2V2ZXIKaXQgaXMgZ29vZCB0byBrZWVwIHRoZSBoZWFkZXIgaW4tc3luYyB3
aXRoIHRoZSBvdGhlciBkcml2ZXJzLgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVs
LmR1cnJhbnRAY2l0cml4LmNvbT4KLS0tCiBzcmMveGVuY29ucy91dGlsLmggfCA2ICsrKysrLQog
MSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp
dCBhL3NyYy94ZW5jb25zL3V0aWwuaCBiL3NyYy94ZW5jb25zL3V0aWwuaAppbmRleCA3YjkyZmM2
Li5mMTBlYjhiIDEwMDY0NAotLS0gYS9zcmMveGVuY29ucy91dGlsLmgKKysrIGIvc3JjL3hlbmNv
bnMvdXRpbC5oCkBAIC0yMTksNyArMjE5LDExIEBAIF9fQWxsb2NhdGVQYWdlcygKICAgICBpZiAo
TWRsTWFwcGVkU3lzdGVtVmEgPT0gTlVMTCkKICAgICAgICAgZ290byBmYWlsMzsKIAotICAgIEFT
U0VSVDNQKE1kbE1hcHBlZFN5c3RlbVZhLCA9PSwgTWRsLT5NYXBwZWRTeXN0ZW1WYSk7CisgICAg
TWRsLT5TdGFydFZhID0gUEFHRV9BTElHTihNZGxNYXBwZWRTeXN0ZW1WYSk7CisKKyAgICBBU1NF
UlQzVShNZGwtPkJ5dGVPZmZzZXQsID09LCAwKTsKKyAgICBBU1NFUlQzUChNZGwtPlN0YXJ0VmEs
ID09LCBNZGxNYXBwZWRTeXN0ZW1WYSk7CisgICAgQVNTRVJUM1AoTWRsLT5NYXBwZWRTeXN0ZW1W
YSwgPT0sIE1kbE1hcHBlZFN5c3RlbVZhKTsKIAogICAgIFJ0bFplcm9NZW1vcnkoTWRsTWFwcGVk
U3lzdGVtVmEsIE1kbC0+Qnl0ZUNvdW50KTsKIAotLSAKMi41LjMKCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0
Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl
Y3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 15:50:53 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 15:50:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eejnf-0005QB-1y; Thu, 25 Jan 2018 15:50:51 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=lnwm=eu=citrix.com=prvs=556065c40=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eejnd-0005Q5-Tt
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 15:50:49 +0000
X-Inumbo-ID: 7f4f411d-01e7-11e8-ba59-bc764e045a96
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 7f4f411d-01e7-11e8-ba59-bc764e045a96;
 Thu, 25 Jan 2018 16:50:42 +0100 (CET)
X-IronPort-AV: E=Sophos;i="5.46,412,1511827200"; d="scan'208";a="66674623"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: Owen Smith <owen.smith@citrix.com>, "win-pv-devel@lists.xenproject.org"
 <win-pv-devel@lists.xenproject.org>
Thread-Topic: [win-pv-devel] [PATCH 01/14] chmod 777 msbuild.bat
Thread-Index: AQHTlRyNo3nQIqg8JU63UdiCU3KYVqOEvfeQ
Date: Thu, 25 Jan 2018 15:49:59 +0000
Message-ID: <88e075a8bec44bd697e3d22660ab6d1a@AMSPEX02CL03.citrite.net>
References: <20180124140515.12284-1-owen.smith@citrix.com>
 <20180124140515.12284-2-owen.smith@citrix.com>
In-Reply-To: <20180124140515.12284-2-owen.smith@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: Re: [win-pv-devel] [PATCH 01/14] chmod 777 msbuild.bat
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiB3aW4tcHYtZGV2ZWwgW21haWx0
bzp3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gT24NCj4gQmVoYWxm
IE9mIG93ZW4uc21pdGhAY2l0cml4LmNvbQ0KPiBTZW50OiAyNCBKYW51YXJ5IDIwMTggMTQ6MDUN
Cj4gVG86IHdpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBDYzogT3dlbiBTbWl0
aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPg0KPiBTdWJqZWN0OiBbd2luLXB2LWRldmVsXSBbUEFU
Q0ggMDEvMTRdIGNobW9kIDc3NyBtc2J1aWxkLmJhdA0KPiANCj4gRnJvbTogT3dlbiBTbWl0aCA8
b3dlbi5zbWl0aEBjaXRyaXguY29tPg0KPiANCj4gY3lnd2luIGZhaWxzIGlmIHNjcmlwdHMgYXJu
J3QgZXhlY3V0YWJsZQ0KPiANCj4gU2lnbmVkLW9mZi1ieTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0
aEBjaXRyaXguY29tPg0KDQpBY2tlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0
cml4LmNvbT4NCg0KPiAtLS0NCj4gIG1zYnVpbGQuYmF0IHwgMA0KPiAgMSBmaWxlIGNoYW5nZWQs
IDAgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkNCj4gIG1vZGUgY2hhbmdlIDEwMDY0NCA9
PiAxMDA3NTUgbXNidWlsZC5iYXQNCj4gDQo+IGRpZmYgLS1naXQgYS9tc2J1aWxkLmJhdCBiL21z
YnVpbGQuYmF0DQo+IG9sZCBtb2RlIDEwMDY0NA0KPiBuZXcgbW9kZSAxMDA3NTUNCj4gLS0NCj4g
Mi44LjMNCj4gDQo+IA0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXw0KPiB3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0DQo+IHdpbi1wdi1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZw0KPiBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v
bGlzdGluZm8vd2luLXB2LWRldmVsDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 15:58:11 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 15:58:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eejuk-0005ap-Td; Thu, 25 Jan 2018 15:58:10 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=lnwm=eu=citrix.com=prvs=556065c40=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eejuj-0005aY-B6
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 15:58:09 +0000
X-Inumbo-ID: 83d8635f-01e8-11e8-ba59-bc764e045a96
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 83d8635f-01e8-11e8-ba59-bc764e045a96;
 Thu, 25 Jan 2018 16:58:00 +0100 (CET)
X-IronPort-AV: E=Sophos;i="5.46,412,1511827200"; d="scan'208";a="66675238"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: Owen Smith <owen.smith@citrix.com>, "win-pv-devel@lists.xenproject.org"
 <win-pv-devel@lists.xenproject.org>
Thread-Topic: [win-pv-devel] [PATCH 02/14] Refactor: Move console handler to
 console.h/.c
Thread-Index: AQHTlR0aikW2g2mNa068+rF/JItx26OEvrsA
Date: Thu, 25 Jan 2018 15:57:34 +0000
Message-ID: <87326feea65046ddb3a7a50b279436ec@AMSPEX02CL03.citrite.net>
References: <20180124140515.12284-1-owen.smith@citrix.com>
 <20180124140515.12284-3-owen.smith@citrix.com>
In-Reply-To: <20180124140515.12284-3-owen.smith@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: Re: [win-pv-devel] [PATCH 02/14] Refactor: Move console handler
	to	console.h/.c
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiB3aW4tcHYtZGV2ZWwgW21haWx0
bzp3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gT24NCj4gQmVoYWxm
IE9mIG93ZW4uc21pdGhAY2l0cml4LmNvbQ0KPiBTZW50OiAyNCBKYW51YXJ5IDIwMTggMTQ6MDUN
Cj4gVG86IHdpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBDYzogT3dlbiBTbWl0
aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPg0KPiBTdWJqZWN0OiBbd2luLXB2LWRldmVsXSBbUEFU
Q0ggMDIvMTRdIFJlZmFjdG9yOiBNb3ZlIGNvbnNvbGUgaGFuZGxlciB0bw0KPiBjb25zb2xlLmgv
LmMNCj4gDQo+IEZyb206IE93ZW4gU21pdGggPG93ZW4uc21pdGhAY2l0cml4LmNvbT4NCj4gDQo+
IFNwbGl0IHRoZSBjb25zb2xlIHNwZWNpZmljIGNvZGUgZnJvbSB0aGUgZ2VuZXJhbCBmZG8gY29k
ZS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IE93ZW4gU21pdGggPG93ZW4uc21pdGhAY2l0cml4LmNv
bT4NCj4gLS0tDQo+ICBzcmMveGVuY29ucy9jb25zb2xlLmMgICAgICAgICAgfCAzMjMNCj4gKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gIHNyYy94ZW5jb25zL2Nv
bnNvbGUuaCAgICAgICAgICB8ICA4MCArKysrKysrKysrDQo+ICBzcmMveGVuY29ucy9mZG8uYyAg
ICAgICAgICAgICAgfCAyNjAgKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICB2
czIwMTUveGVuY29ucy94ZW5jb25zLnZjeHByb2ogfCAgIDEgKw0KPiAgNCBmaWxlcyBjaGFuZ2Vk
LCA0NTQgaW5zZXJ0aW9ucygrKSwgMjEwIGRlbGV0aW9ucygtKQ0KPiAgY3JlYXRlIG1vZGUgMTAw
NzU1IHNyYy94ZW5jb25zL2NvbnNvbGUuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNzU1IHNyYy94ZW5j
b25zL2NvbnNvbGUuaA0KPiANCj4gZGlmZiAtLWdpdCBhL3NyYy94ZW5jb25zL2NvbnNvbGUuYyBi
L3NyYy94ZW5jb25zL2NvbnNvbGUuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDc1NQ0KPiBpbmRleCAw
MDAwMDAwLi5lMjZlMWRiDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvc3JjL3hlbmNvbnMvY29u
c29sZS5jDQo+IEBAIC0wLDAgKzEsMzIzIEBADQo+ICsvKiBDb3B5cmlnaHQgKGMpIENpdHJpeCBT
eXN0ZW1zIEluYy4NCj4gKyogQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gKyoNCj4gKyogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3JtcywNCj4gKyogd2l0aCBv
ciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KPiArKiB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0Og0KPiArKg0KPiArKiAqICAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQ0KPiArKiAgICAg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZQ0KPiArKiAg
ICAgZm9sbG93aW5nIGRpc2NsYWltZXIuDQo+ICsqICogICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlDQo+ICsqICAgICBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlDQo+ICsqICAgICBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXINCj4gKyogICAgIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQo+ICsqDQo+ICsqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORA0KPiArKiBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LA0KPiArKiBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRg0KPiArKiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQ0KPiArKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIEhPTERFUiBPUg0KPiArKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwNCj4gKyogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywNCj4gKyogQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SDQo+ICsqIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCj4gKyogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksDQo+ICsqIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORw0K
PiArKiBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFDQo+ICsqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YNCj4gKyogU1VDSCBEQU1BR0UuDQo+ICsqLw0KPiArDQo+ICsjaW5jbHVkZSA8
bnRkZGsuaD4NCj4gKw0KPiArI2luY2x1ZGUgImRyaXZlci5oIg0KPiArI2luY2x1ZGUgImNvbnNv
bGUuaCINCj4gKyNpbmNsdWRlICJzdHJlYW0uaCINCj4gKyNpbmNsdWRlICJkYmdfcHJpbnQuaCIN
Cj4gKyNpbmNsdWRlICJhc3NlcnQuaCINCj4gKyNpbmNsdWRlICJ1dGlsLmgiDQo+ICsNCj4gK3N0
cnVjdCBfWEVOQ09OU19DT05TT0xFIHsNCj4gKyAgICBQWEVOQ09OU19GRE8gICAgICAgIEZkbzsN
Cj4gKyAgICBMSVNUX0VOVFJZICAgICAgICAgIExpc3Q7DQo+ICsgICAgS1NQSU5fTE9DSyAgICAg
ICAgICBMb2NrOw0KPiArfTsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3QgX1hFTkNPTlNfSEFORExF
IHsNCj4gKyAgICBMSVNUX0VOVFJZICAgICAgTGlzdEVudHJ5Ow0KPiArICAgIFBGSUxFX09CSkVD
VCAgICBGaWxlT2JqZWN0Ow0KPiArICAgIFBYRU5DT05TX1NUUkVBTSBTdHJlYW07DQo+ICt9IFhF
TkNPTlNfSEFORExFLCAqUFhFTkNPTlNfSEFORExFOw0KPiArDQo+ICsjZGVmaW5lIENPTlNPTEVf
UE9PTCAnU05PQycNCj4gKw0KPiArc3RhdGljIEZPUkNFSU5MSU5FIFBWT0lEDQo+ICtfX0NvbnNv
bGVBbGxvY2F0ZSgNCj4gKyAgICBJTiAgVUxPTkcgICBMZW5ndGgNCj4gKyAgICApDQo+ICt7DQo+
ICsgICAgcmV0dXJuIF9fQWxsb2NhdGVQb29sV2l0aFRhZyhOb25QYWdlZFBvb2wsIExlbmd0aCwg
Q09OU09MRV9QT09MKTsNCj4gK30NCj4gKw0KPiArc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQNCj4g
K19fQ29uc29sZUZyZWUoDQo+ICsgICAgSU4gIFBWT0lEICAgQnVmZmVyDQo+ICsgICAgKQ0KPiAr
ew0KPiArICAgIF9fRnJlZVBvb2xXaXRoVGFnKEJ1ZmZlciwgQ09OU09MRV9QT09MKTsNCj4gK30N
Cj4gKw0KPiArc3RhdGljIFZPSUQNCj4gK19fQ29uc29sZURlc3Ryb3lIYW5kbGUoDQo+ICsgICAg
SU4gIFBYRU5DT05TX0NPTlNPTEUgICAgQ29uc29sZSwNCj4gKyAgICBJTiAgUFhFTkNPTlNfSEFO
RExFICAgICBIYW5kbGUNCj4gKyAgICApDQo+ICt7DQo+ICsgICAgVU5SRUZFUkVOQ0VEX1BBUkFN
RVRFUihDb25zb2xlKTsNCj4gKw0KPiArICAgIFRyYWNlKCIlcFxuIiwgSGFuZGxlLT5GaWxlT2Jq
ZWN0KTsNCj4gKw0KPiArICAgIFJ0bFplcm9NZW1vcnkoJkhhbmRsZS0+TGlzdEVudHJ5LCBzaXpl
b2YoTElTVF9FTlRSWSkpOw0KPiArDQo+ICsgICAgU3RyZWFtRGVzdHJveShIYW5kbGUtPlN0cmVh
bSk7DQo+ICsgICAgSGFuZGxlLT5TdHJlYW0gPSBOVUxMOw0KPiArDQo+ICsgICAgSGFuZGxlLT5G
aWxlT2JqZWN0ID0gTlVMTDsNCj4gKw0KPiArICAgIEFTU0VSVChJc1plcm9NZW1vcnkoSGFuZGxl
LCBzaXplb2YoWEVOQ09OU19IQU5ETEUpKSk7DQo+ICsgICAgX19Db25zb2xlRnJlZShIYW5kbGUp
Ow0KPiArfQ0KPiArDQo+ICtzdGF0aWMgUFhFTkNPTlNfSEFORExFDQo+ICtfX0NvbnNvbGVGaW5k
SGFuZGxlKA0KPiArICAgIElOICBQWEVOQ09OU19DT05TT0xFICAgIENvbnNvbGUsDQo+ICsgICAg
SU4gIFBGSUxFX09CSkVDVCAgICAgICAgRmlsZU9iamVjdA0KPiArICAgICkNCj4gK3sNCj4gKyAg
ICBLSVJRTCAgICAgICAgICAgICAgICAgICBJcnFsOw0KPiArICAgIFBMSVNUX0VOVFJZICAgICAg
ICAgICAgIExpc3RFbnRyeTsNCj4gKyAgICBQWEVOQ09OU19IQU5ETEUgICAgICAgICBIYW5kbGU7
DQo+ICsgICAgTlRTVEFUVVMgICAgICAgICAgICAgICAgc3RhdHVzOw0KPiArDQo+ICsgICAgS2VB
Y3F1aXJlU3BpbkxvY2soJkNvbnNvbGUtPkxvY2ssICZJcnFsKTsNCj4gKw0KPiArICAgIGZvciAo
TGlzdEVudHJ5ID0gQ29uc29sZS0+TGlzdC5GbGluazsNCj4gKyAgICAgICAgIExpc3RFbnRyeSAh
PSAmQ29uc29sZS0+TGlzdDsNCj4gKyAgICAgICAgIExpc3RFbnRyeSA9IExpc3RFbnRyeS0+Rmxp
bmspIHsNCj4gKyAgICAgICAgSGFuZGxlID0gQ09OVEFJTklOR19SRUNPUkQoTGlzdEVudHJ5LA0K
PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5DT05TX0hBTkRMRSwNCj4g
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdEVudHJ5KTsNCj4gKw0KPiAr
ICAgICAgICBpZiAoSGFuZGxlLT5GaWxlT2JqZWN0ID09IEZpbGVPYmplY3QpDQo+ICsgICAgICAg
ICAgICBnb3RvIGZvdW5kOw0KPiArICAgIH0NCj4gKw0KPiArICAgIHN0YXR1cyA9IFNUQVRVU19V
TlNVQ0NFU1NGVUw7DQo+ICsgICAgZ290byBmYWlsMTsNCj4gKw0KPiArZm91bmQ6DQo+ICsgICAg
S2VSZWxlYXNlU3BpbkxvY2soJkNvbnNvbGUtPkxvY2ssIElycWwpOw0KPiArDQo+ICsgICAgcmV0
dXJuIEhhbmRsZTsNCj4gKw0KPiArZmFpbDE6DQo+ICsgICAgRXJyb3IoImZhaWwxICglMDh4KVxu
Iiwgc3RhdHVzKTsNCj4gKw0KPiArICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZDb25zb2xlLT5Mb2Nr
LCBJcnFsKTsNCj4gKw0KPiArICAgIHJldHVybiBOVUxMOw0KPiArfQ0KPiArDQo+ICtOVFNUQVRV
Uw0KPiArQ29uc29sZURpc3BhdGNoQ3JlYXRlKA0KPiArICAgIElOICBQWEVOQ09OU19DT05TT0xF
ICAgIENvbnNvbGUsDQo+ICsgICAgSU4gIFBGSUxFX09CSkVDVCAgICAgICAgRmlsZU9iamVjdA0K
PiArICAgICkNCg0KTm90IGEgZmFuIG9mIHRoZSBuYW1pbmcgKCdjb3MgSSBkb24ndCBsaWtlIFdp
bmRvd3MncyBuYW1pbmcpLiBDb3VsZCB3ZSBoYXZlIENvbnNvbGVPcGVuKCkuLi4NCg0KPiArew0K
PiArICAgIFBYRU5DT05TX0hBTkRMRSAgICAgICAgIEhhbmRsZTsNCj4gKyAgICBLSVJRTCAgICAg
ICAgICAgICAgICAgICBJcnFsOw0KPiArICAgIE5UU1RBVFVTICAgICAgICAgICAgICAgIHN0YXR1
czsNCj4gKw0KPiArICAgIEFTU0VSVChfX0NvbnNvbGVGaW5kSGFuZGxlKENvbnNvbGUsIEZpbGVP
YmplY3QpID09IE5VTEwpOw0KPiArDQo+ICsgICAgSGFuZGxlID0gX19Db25zb2xlQWxsb2NhdGUo
c2l6ZW9mKFhFTkNPTlNfSEFORExFKSk7DQo+ICsNCj4gKyAgICBzdGF0dXMgPSBTVEFUVVNfTk9f
TUVNT1JZOw0KPiArICAgIGlmIChIYW5kbGUgPT0gTlVMTCkNCj4gKyAgICAgICAgZ290byBmYWls
MTsNCj4gKw0KPiArICAgIHN0YXR1cyA9IFN0cmVhbUNyZWF0ZShDb25zb2xlLT5GZG8sICZIYW5k
bGUtPlN0cmVhbSk7DQo+ICsgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpDQo+ICsgICAgICAg
IGdvdG8gZmFpbDI7DQo+ICsNCj4gKyAgICBIYW5kbGUtPkZpbGVPYmplY3QgPSBGaWxlT2JqZWN0
Ow0KPiArDQo+ICsgICAgS2VBY3F1aXJlU3BpbkxvY2soJkNvbnNvbGUtPkxvY2ssICZJcnFsKTsN
Cj4gKyAgICBJbnNlcnRUYWlsTGlzdCgmQ29uc29sZS0+TGlzdCwgJkhhbmRsZS0+TGlzdEVudHJ5
KTsNCj4gKyAgICBLZVJlbGVhc2VTcGluTG9jaygmQ29uc29sZS0+TG9jaywgSXJxbCk7DQo+ICsN
Cj4gKyAgICBUcmFjZSgiJXBcbiIsIEhhbmRsZS0+RmlsZU9iamVjdCk7DQo+ICsNCj4gKyAgICBy
ZXR1cm4gU1RBVFVTX1NVQ0NFU1M7DQo+ICsNCj4gK2ZhaWwyOg0KPiArICAgIEVycm9yKCJmYWls
MlxuIik7DQo+ICsNCj4gKyAgICBBU1NFUlQoSXNaZXJvTWVtb3J5KEhhbmRsZSwgc2l6ZW9mKFhF
TkNPTlNfSEFORExFKSkpOw0KPiArICAgIF9fQ29uc29sZUZyZWUoSGFuZGxlKTsNCj4gKw0KPiAr
ZmFpbDE6DQo+ICsgICAgRXJyb3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVzKTsNCj4gKw0KPiAr
ICAgIHJldHVybiBzdGF0dXM7DQo+ICt9DQo+ICsNCj4gK05UU1RBVFVTDQo+ICtDb25zb2xlRGlz
cGF0Y2hDbGVhbnVwKA0KPiArICAgIElOICBQWEVOQ09OU19DT05TT0xFICAgIENvbnNvbGUsDQo+
ICsgICAgSU4gIFBGSUxFX09CSkVDVCAgICAgICAgRmlsZU9iamVjdA0KPiArICAgICkNCg0KLi4u
YW5kIENvbnNvbGVDbG9zZSgpPw0KDQo+ICt7DQo+ICsgICAgUFhFTkNPTlNfSEFORExFICAgICAg
ICAgSGFuZGxlOw0KPiArICAgIEtJUlFMICAgICAgICAgICAgICAgICAgIElycWw7DQo+ICsgICAg
TlRTVEFUVVMgICAgICAgICAgICAgICAgc3RhdHVzOw0KPiArDQo+ICsgICAgSGFuZGxlID0gX19D
b25zb2xlRmluZEhhbmRsZShDb25zb2xlLCBGaWxlT2JqZWN0KTsNCj4gKyAgICBzdGF0dXMgPSBT
VEFUVVNfVU5TVUNDRVNTRlVMOw0KPiArDQo+ICsgICAgaWYgKEhhbmRsZSA9PSBOVUxMKQ0KPiAr
ICAgICAgICBnb3RvIGZhaWwxOw0KPiArDQo+ICsgICAgS2VBY3F1aXJlU3BpbkxvY2soJkNvbnNv
bGUtPkxvY2ssICZJcnFsKTsNCj4gKyAgICBSZW1vdmVFbnRyeUxpc3QoJkhhbmRsZS0+TGlzdEVu
dHJ5KTsNCj4gKyAgICBLZVJlbGVhc2VTcGluTG9jaygmQ29uc29sZS0+TG9jaywgSXJxbCk7DQo+
ICsNCj4gKyAgICBfX0NvbnNvbGVEZXN0cm95SGFuZGxlKENvbnNvbGUsIEhhbmRsZSk7DQo+ICsN
Cj4gKyAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7DQo+ICsNCj4gK2ZhaWwxOg0KPiArICAgIEVy
cm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7DQo+ICsNCj4gKyAgICByZXR1cm4gc3RhdHVz
Ow0KPiArfQ0KPiArDQo+ICtOVFNUQVRVUw0KPiArQ29uc29sZURpc3BhdGNoUmVhZFdyaXRlKA0K
PiArICAgIElOICBQWEVOQ09OU19DT05TT0xFICAgIENvbnNvbGUsDQo+ICsgICAgSU4gIFBJUlAg
ICAgICAgICAgICAgICAgSXJwDQoNCkhvdyBhYm91dCBqdXN0IENvbnNvbGVQdXRRdWV1ZSgpIG9y
IHNvbWVzdWNoLiBJIGd1ZXNzIHRoaXMgZnVuY3Rpb24gY291bGQgYmUgdXNlZCBmb3IgREVWSUNF
X0NPTlRST0wgSVJQcyB0b28/DQoNCiAgUGF1bA0KDQo+ICsgICAgKQ0KPiArew0KPiArICAgIFBJ
T19TVEFDS19MT0NBVElPTiAgICAgIFN0YWNrTG9jYXRpb247DQo+ICsgICAgUFhFTkNPTlNfSEFO
RExFICAgICAgICAgSGFuZGxlOw0KPiArICAgIE5UU1RBVFVTICAgICAgICAgICAgICAgIHN0YXR1
czsNCj4gKw0KPiArICAgIFN0YWNrTG9jYXRpb24gPSBJb0dldEN1cnJlbnRJcnBTdGFja0xvY2F0
aW9uKElycCk7DQo+ICsNCj4gKyAgICBIYW5kbGUgPSBfX0NvbnNvbGVGaW5kSGFuZGxlKENvbnNv
bGUsIFN0YWNrTG9jYXRpb24tPkZpbGVPYmplY3QpOw0KPiArICAgIHN0YXR1cyA9IFNUQVRVU19V
TlNVQ0NFU1NGVUw7DQo+ICsNCj4gKyAgICBpZiAoSGFuZGxlID09IE5VTEwpDQo+ICsgICAgICAg
IGdvdG8gZmFpbDE7DQo+ICsNCj4gKyAgICBzdGF0dXMgPSBTdHJlYW1QdXRRdWV1ZShIYW5kbGUt
PlN0cmVhbSwgSXJwKTsNCj4gKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkNCj4gKyAgICAg
ICAgZ290byBmYWlsMjsNCj4gKw0KPiArICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsNCj4gKw0K
PiArZmFpbDI6DQo+ICsgICAgRXJyb3IoImZhaWwyXG4iKTsNCj4gKw0KPiArZmFpbDE6DQo+ICsg
ICAgRXJyb3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVzKTsNCj4gKw0KPiArICAgIHJldHVybiBz
dGF0dXM7DQo+ICt9DQo+ICsNCj4gK05UU1RBVFVTDQo+ICtDb25zb2xlRW5hYmxlKA0KPiArICAg
IElOICBQWEVOQ09OU19DT05TT0xFICAgIENvbnNvbGUNCj4gKyAgICApDQo+ICt7DQo+ICsgICAg
VU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihDb25zb2xlKTsNCj4gKyAgICByZXR1cm4gU1RBVFVTX1NV
Q0NFU1M7DQo+ICt9DQo+ICsNCj4gK1ZPSUQNCj4gK0NvbnNvbGVEaXNhYmxlKA0KPiArICAgIElO
ICBQWEVOQ09OU19DT05TT0xFICAgIENvbnNvbGUNCj4gKyAgICApDQo+ICt7DQo+ICsgICAgS0lS
UUwgICAgICAgICAgICAgICAgICAgSXJxbDsNCj4gKyAgICBMSVNUX0VOVFJZICAgICAgICAgICAg
ICBMaXN0Ow0KPiArICAgIFBMSVNUX0VOVFJZICAgICAgICAgICAgIExpc3RFbnRyeTsNCj4gKyAg
ICBQWEVOQ09OU19IQU5ETEUgICAgICAgICBIYW5kbGU7DQo+ICsNCj4gKyAgICBJbml0aWFsaXpl
TGlzdEhlYWQoJkxpc3QpOw0KPiArDQo+ICsgICAgS2VBY3F1aXJlU3BpbkxvY2soJkNvbnNvbGUt
PkxvY2ssICZJcnFsKTsNCj4gKw0KPiArICAgIExpc3RFbnRyeSA9IENvbnNvbGUtPkxpc3QuRmxp
bms7DQo+ICsgICAgaWYgKCFJc0xpc3RFbXB0eSgmQ29uc29sZS0+TGlzdCkpIHsNCj4gKyAgICAg
ICAgUmVtb3ZlRW50cnlMaXN0KCZDb25zb2xlLT5MaXN0KTsNCj4gKyAgICAgICAgSW5pdGlhbGl6
ZUxpc3RIZWFkKCZDb25zb2xlLT5MaXN0KTsNCj4gKyAgICAgICAgQXBwZW5kVGFpbExpc3QoJkxp
c3QsIExpc3RFbnRyeSk7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgS2VSZWxlYXNlU3BpbkxvY2so
JkNvbnNvbGUtPkxvY2ssIElycWwpOw0KPiArDQo+ICsgICAgd2hpbGUgKCFJc0xpc3RFbXB0eSgm
TGlzdCkpIHsNCj4gKyAgICAgICAgTGlzdEVudHJ5ID0gUmVtb3ZlSGVhZExpc3QoJkxpc3QpOw0K
PiArICAgICAgICBBU1NFUlQzUChMaXN0RW50cnksICE9ICwgJkxpc3QpOw0KPiArDQo+ICsgICAg
ICAgIEhhbmRsZSA9IENPTlRBSU5JTkdfUkVDT1JEKExpc3RFbnRyeSwNCj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgWEVOQ09OU19IQU5ETEUsDQo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIExpc3RFbnRyeSk7DQo+ICsNCj4gKyAgICAgICAgX19Db25z
b2xlRGVzdHJveUhhbmRsZShDb25zb2xlLCBIYW5kbGUpOw0KPiArICAgIH0NCj4gK30NCj4gKw0K
PiArTlRTVEFUVVMNCj4gK0NvbnNvbGVDcmVhdGUoDQo+ICsgICAgSU4gIFBYRU5DT05TX0ZETyAg
ICAgICAgRmRvLA0KPiArICAgIE9VVCBQWEVOQ09OU19DT05TT0xFICAgICpDb25zb2xlDQo+ICsg
ICAgKQ0KPiArew0KPiArICAgIE5UU1RBVFVTICAgICAgICAgICAgICAgIHN0YXR1czsNCj4gKw0K
PiArICAgICpDb25zb2xlID0gX19Db25zb2xlQWxsb2NhdGUoc2l6ZW9mKFhFTkNPTlNfQ09OU09M
RSkpOw0KPiArDQo+ICsgICAgc3RhdHVzID0gU1RBVFVTX05PX01FTU9SWTsNCj4gKyAgICBpZiAo
KkNvbnNvbGUgPT0gTlVMTCkNCj4gKyAgICAgICAgZ290byBmYWlsMTsNCj4gKw0KPiArICAgICgq
Q29uc29sZSktPkZkbyA9IEZkbzsNCj4gKyAgICBJbml0aWFsaXplTGlzdEhlYWQoJigqQ29uc29s
ZSktPkxpc3QpOw0KPiArICAgIEtlSW5pdGlhbGl6ZVNwaW5Mb2NrKCYoKkNvbnNvbGUpLT5Mb2Nr
KTsNCj4gKw0KPiArICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsNCj4gKw0KPiArZmFpbDE6DQo+
ICsgICAgRXJyb3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVzKTsNCj4gKw0KPiArICAgIHJldHVy
biBzdGF0dXM7DQo+ICt9DQo+ICsNCj4gK1ZPSUQNCj4gK0NvbnNvbGVEZXN0cm95KA0KPiArICAg
IElOICBQWEVOQ09OU19DT05TT0xFICAgIENvbnNvbGUNCj4gKyAgICApDQo+ICt7DQo+ICsgICAg
UnRsWmVyb01lbW9yeSgmQ29uc29sZS0+TG9jaywgc2l6ZW9mKEtTUElOX0xPQ0spKTsNCj4gKw0K
PiArICAgIEFTU0VSVChJc0xpc3RFbXB0eSgmQ29uc29sZS0+TGlzdCkpOw0KPiArICAgIFJ0bFpl
cm9NZW1vcnkoJkNvbnNvbGUtPkxpc3QsIHNpemVvZihMSVNUX0VOVFJZKSk7DQo+ICsNCj4gKyAg
ICBDb25zb2xlLT5GZG8gPSBOVUxMOw0KPiArDQo+ICsgICAgQVNTRVJUKElzWmVyb01lbW9yeShD
b25zb2xlLCBzaXplb2YoWEVOQ09OU19DT05TT0xFKSkpOw0KPiArICAgIF9fQ29uc29sZUZyZWUo
Q29uc29sZSk7DQo+ICt9DQo+IGRpZmYgLS1naXQgYS9zcmMveGVuY29ucy9jb25zb2xlLmggYi9z
cmMveGVuY29ucy9jb25zb2xlLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA3NTUNCj4gaW5kZXggMDAw
MDAwMC4uZTI5NWE2OQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL3NyYy94ZW5jb25zL2NvbnNv
bGUuaA0KPiBAQCAtMCwwICsxLDgwIEBADQo+ICsvKiBDb3B5cmlnaHQgKGMpIENpdHJpeCBTeXN0
ZW1zIEluYy4NCj4gKyogQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gKyoNCj4gKyogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3JtcywNCj4gKyogd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KPiArKiB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0Og0KPiArKg0KPiArKiAqICAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQ0KPiArKiAgICAgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZQ0KPiArKiAgICAg
Zm9sbG93aW5nIGRpc2NsYWltZXIuDQo+ICsqICogICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlDQo+ICsqICAgICBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlDQo+ICsqICAgICBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXINCj4gKyogICAgIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQo+ICsqDQo+ICsqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORA0KPiArKiBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLA0K
PiArKiBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRg0KPiArKiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQ0KPiArKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIEhPTERFUiBPUg0KPiArKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwNCj4gKyogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywNCj4gKyogQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SDQo+ICsqIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCj4gKyogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksDQo+ICsqIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORw0KPiAr
KiBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFDQo+ICsqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YNCj4gKyogU1VDSCBEQU1BR0UuDQo+ICsqLw0KPiArDQo+ICsjaWZuZGVmIF9YRU5D
T05TX0NPTlNPTEVfSA0KPiArI2RlZmluZSBfWEVOQ09OU19DT05TT0xFX0gNCj4gKw0KPiArI2lu
Y2x1ZGUgPG50ZGRrLmg+DQo+ICsNCj4gKyNpbmNsdWRlICJkcml2ZXIuaCINCj4gKw0KPiArdHlw
ZWRlZiBzdHJ1Y3QgX1hFTkNPTlNfQ09OU09MRSBYRU5DT05TX0NPTlNPTEUsDQo+ICpQWEVOQ09O
U19DT05TT0xFOw0KPiArDQo+ICtleHRlcm4gTlRTVEFUVVMNCj4gK0NvbnNvbGVDcmVhdGUoDQo+
ICsgICAgSU4gIFBYRU5DT05TX0ZETyAgICAgICAgRmRvLA0KPiArICAgIE9VVCBQWEVOQ09OU19D
T05TT0xFICAgICpDb25zb2xlDQo+ICsgICAgKTsNCj4gKw0KPiArZXh0ZXJuIFZPSUQNCj4gK0Nv
bnNvbGVEZXN0cm95KA0KPiArICAgIElOICBQWEVOQ09OU19DT05TT0xFICAgIENvbnNvbGUNCj4g
KyAgICApOw0KPiArDQo+ICtleHRlcm4gTlRTVEFUVVMNCj4gK0NvbnNvbGVFbmFibGUoDQo+ICsg
ICAgSU4gIFBYRU5DT05TX0NPTlNPTEUgICAgQ29uc29sZQ0KPiArICAgICk7DQo+ICsNCj4gK2V4
dGVybiBWT0lEDQo+ICtDb25zb2xlRGlzYWJsZSgNCj4gKyAgICBJTiAgUFhFTkNPTlNfQ09OU09M
RSAgICBDb25zb2xlDQo+ICsgICAgKTsNCj4gKw0KPiArZXh0ZXJuIE5UU1RBVFVTDQo+ICtDb25z
b2xlRGlzcGF0Y2hDcmVhdGUoDQo+ICsgICAgSU4gIFBYRU5DT05TX0NPTlNPTEUgICAgQ29uc29s
ZSwNCj4gKyAgICBJTiAgUEZJTEVfT0JKRUNUICAgICAgICBGaWxlT2JqZWN0DQo+ICsgICAgKTsN
Cj4gKw0KPiArZXh0ZXJuIE5UU1RBVFVTDQo+ICtDb25zb2xlRGlzcGF0Y2hDbGVhbnVwKA0KPiAr
ICAgIElOICBQWEVOQ09OU19DT05TT0xFICAgIENvbnNvbGUsDQo+ICsgICAgSU4gIFBGSUxFX09C
SkVDVCAgICAgICAgRmlsZU9iamVjdA0KPiArICAgICk7DQo+ICsNCj4gK2V4dGVybiBOVFNUQVRV
Uw0KPiArQ29uc29sZURpc3BhdGNoUmVhZFdyaXRlKA0KPiArICAgIElOICBQWEVOQ09OU19DT05T
T0xFICAgIENvbnNvbGUsDQo+ICsgICAgSU4gIFBJUlAgICAgICAgICAgICAgICAgSXJwDQo+ICsg
ICAgKTsNCj4gKw0KPiArI2VuZGlmICAvLyBfWEVOQ09OU19DT05TT0xFX0gNCj4gZGlmZiAtLWdp
dCBhL3NyYy94ZW5jb25zL2Zkby5jIGIvc3JjL3hlbmNvbnMvZmRvLmMNCj4gaW5kZXggOTQ0NjVh
NS4uNmE3ZjcwYyAxMDA2NDQNCj4gLS0tIGEvc3JjL3hlbmNvbnMvZmRvLmMNCj4gKysrIGIvc3Jj
L3hlbmNvbnMvZmRvLmMNCj4gQEAgLTQ3LDcgKzQ3LDcgQEANCj4gICNpbmNsdWRlICJkcml2ZXIu
aCINCj4gICNpbmNsdWRlICJyZWdpc3RyeS5oIg0KPiAgI2luY2x1ZGUgImZkby5oIg0KPiAtI2lu
Y2x1ZGUgInN0cmVhbS5oIg0KPiArI2luY2x1ZGUgImNvbnNvbGUuaCINCj4gICNpbmNsdWRlICJ0
aHJlYWQuaCINCj4gICNpbmNsdWRlICJuYW1lcy5oIg0KPiAgI2luY2x1ZGUgImRiZ19wcmludC5o
Ig0KPiBAQCAtNjksMTIgKzY5LDYgQEAgdHlwZWRlZiBzdHJ1Y3QgX0ZET19SRVNPVVJDRSB7DQo+
ICAgICAgQ01fUEFSVElBTF9SRVNPVVJDRV9ERVNDUklQVE9SIFRyYW5zbGF0ZWQ7DQo+ICB9IEZE
T19SRVNPVVJDRSwgKlBGRE9fUkVTT1VSQ0U7DQo+IA0KPiAtdHlwZWRlZiBzdHJ1Y3QgX0ZET19I
QU5ETEUgew0KPiAtICAgIExJU1RfRU5UUlkgICAgICBMaXN0RW50cnk7DQo+IC0gICAgUEZJTEVf
T0JKRUNUICAgIEZpbGVPYmplY3Q7DQo+IC0gICAgUFhFTkNPTlNfU1RSRUFNIFN0cmVhbTsNCj4g
LX0gRkRPX0hBTkRMRSwgKlBGRE9fSEFORExFOw0KPiAtDQo+ICBzdHJ1Y3QgX1hFTkNPTlNfRkRP
IHsNCj4gICAgICBQWEVOQ09OU19EWCAgICAgICAgICAgICAgICAgRHg7DQo+ICAgICAgUERFVklD
RV9PQkpFQ1QgICAgICAgICAgICAgIExvd2VyRGV2aWNlT2JqZWN0Ow0KPiBAQCAtOTMsOCArODcs
NyBAQCBzdHJ1Y3QgX1hFTkNPTlNfRkRPIHsNCj4gDQo+ICAgICAgRkRPX1JFU09VUkNFICAgICAg
ICAgICAgICAgIFJlc291cmNlW1JFU09VUkNFX0NPVU5UXTsNCj4gDQo+IC0gICAgTElTVF9FTlRS
WSAgICAgICAgICAgICAgICAgIEhhbmRsZUxpc3Q7DQo+IC0gICAgS1NQSU5fTE9DSyAgICAgICAg
ICAgICAgICAgIEhhbmRsZUxvY2s7DQo+ICsgICAgUFhFTkNPTlNfQ09OU09MRSAgICAgICAgICAg
IENvbnNvbGU7DQo+IA0KPiAgICAgIFhFTkJVU19ERUJVR19JTlRFUkZBQ0UgICAgICBEZWJ1Z0lu
dGVyZmFjZTsNCj4gICAgICBYRU5CVVNfU1VTUEVORF9JTlRFUkZBQ0UgICAgU3VzcGVuZEludGVy
ZmFjZTsNCj4gQEAgLTc4OCwxOCArNzgxLDMxIEBAIGZhaWwxOg0KPiAgICAgIHJldHVybiBzdGF0
dXM7DQo+ICB9DQo+IA0KPiAtc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQNCj4gK3N0YXRpYyBGT1JD
RUlOTElORSBOVFNUQVRVUw0KPiAgX19GZG9EM1RvRDAoDQo+ICAgICAgSU4gIFBYRU5DT05TX0ZE
TyAgICBGZG8NCj4gICAgICApDQo+ICB7DQo+ICsgICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0
dXM7DQo+ICsNCj4gICAgICBUcmFjZSgiPT09PT5cbiIpOw0KPiANCj4gICAgICBBU1NFUlQzVShL
ZUdldEN1cnJlbnRJcnFsKCksID09LCBESVNQQVRDSF9MRVZFTCk7DQo+IA0KPiArICAgIHN0YXR1
cyA9IENvbnNvbGVFbmFibGUoRmRvLT5Db25zb2xlKTsNCj4gKyAgICBpZiAoIU5UX1NVQ0NFU1Mo
c3RhdHVzKSkNCj4gKyAgICAgICAgZ290byBmYWlsMTsNCj4gKw0KPiAgICAgIChWT0lEKSBGZG9T
ZXREaXN0cmlidXRpb24oRmRvKTsNCj4gDQo+ICAgICAgVHJhY2UoIjw9PT09XG4iKTsNCj4gKw0K
PiArICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsNCj4gKw0KPiArZmFpbDE6DQo+ICsgICAgRXJy
b3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVzKTsNCj4gKw0KPiArICAgIHJldHVybiBzdGF0dXM7
DQo+ICB9DQo+IA0KPiAgc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQNCj4gQEAgLTgxMyw2ICs4MTks
OCBAQCBfX0Zkb0QwVG9EMygNCj4gDQo+ICAgICAgRmRvQ2xlYXJEaXN0cmlidXRpb24oRmRvKTsN
Cj4gDQo+ICsgICAgQ29uc29sZURpc2FibGUoRmRvLT5Db25zb2xlKTsNCj4gKw0KPiAgICAgIFRy
YWNlKCI8PT09PVxuIik7DQo+ICB9DQo+IA0KPiBAQCAtODIyLDkgKzgzMCwxMiBAQCBGZG9TdXNw
ZW5kQ2FsbGJhY2tMYXRlKA0KPiAgICAgICkNCj4gIHsNCj4gICAgICBQWEVOQ09OU19GRE8gICAg
RmRvID0gQXJndW1lbnQ7DQo+ICsgICAgTlRTVEFUVVMgICAgICAgIHN0YXR1czsNCj4gDQo+ICAg
ICAgX19GZG9EMFRvRDMoRmRvKTsNCj4gLSAgICBfX0Zkb0QzVG9EMChGZG8pOw0KPiArDQo+ICsg
ICAgc3RhdHVzID0gX19GZG9EM1RvRDAoRmRvKTsNCj4gKyAgICBBU1NFUlQoTlRfU1VDQ0VTUyhz
dGF0dXMpKTsNCj4gIH0NCj4gDQo+ICAvLyBUaGlzIGZ1bmN0aW9uIG11c3Qgbm90IHRvdWNoIHBh
Z2VhYmxlIGNvZGUgb3IgZGF0YQ0KPiBAQCAtODUzLDcgKzg2NCw5IEBAIEZkb0QzVG9EMCgNCj4g
ICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkNCj4gICAgICAgICAgZ290byBmYWlsMjsNCj4g
DQo+IC0gICAgX19GZG9EM1RvRDAoRmRvKTsNCj4gKyAgICBzdGF0dXMgPSBfX0Zkb0QzVG9EMChG
ZG8pOw0KPiArICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQ0KPiArICAgICAgICBnb3RvIGZh
aWwzOw0KPiANCj4gICAgICBzdGF0dXMgPSBYRU5CVVNfU1VTUEVORChSZWdpc3RlciwNCj4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmRmRvLT5TdXNwZW5kSW50ZXJmYWNlLA0KPiBAQCAt
ODYyLDcgKzg3NSw3IEBAIEZkb0QzVG9EMCgNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBGZG8sDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkZkby0+U3VzcGVuZENhbGxi
YWNrTGF0ZSk7DQo+ICAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpDQo+IC0gICAgICAgIGdv
dG8gZmFpbDM7DQo+ICsgICAgICAgIGdvdG8gZmFpbDQ7DQo+IA0KPiAgICAgIEtlTG93ZXJJcnFs
KElycWwpOw0KPiANCj4gQEAgLTg4MCwxMSArODkzLDE0IEBAIEZkb0QzVG9EMCgNCj4gDQo+ICAg
ICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOw0KPiANCj4gLWZhaWwzOg0KPiArZmFpbDQ6DQo+ICAg
ICAgRXJyb3IoImZhaWw0XG4iKTsNCj4gDQo+ICAgICAgX19GZG9EMFRvRDMoRmRvKTsNCj4gDQo+
ICtmYWlsMzoNCj4gKyAgICBFcnJvcigiZmFpbDNcbiIpOw0KPiArDQo+ICAgICAgWEVOQlVTX1NU
T1JFKFJlbGVhc2UsICZGZG8tPlN0b3JlSW50ZXJmYWNlKTsNCj4gDQo+ICBmYWlsMjoNCj4gQEAg
LTkwMiw3NyArOTE4LDYgQEAgZmFpbDE6DQo+ICAgICAgcmV0dXJuIHN0YXR1czsNCj4gIH0NCj4g
DQo+IC1zdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRA0KPiAtX19GZG9EZXN0cm95SGFuZGxlKA0KPiAt
ICAgIElOICBQWEVOQ09OU19GRE8gICAgRmRvLA0KPiAtICAgIElOICBQRkRPX0hBTkRMRSAgICAg
SGFuZGxlDQo+IC0gICAgKQ0KPiAtew0KPiAtICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoRmRv
KTsNCj4gLQ0KPiAtICAgIFRyYWNlKCIlcFxuIiwgSGFuZGxlLT5GaWxlT2JqZWN0KTsNCj4gLQ0K
PiAtICAgIFJ0bFplcm9NZW1vcnkoJkhhbmRsZS0+TGlzdEVudHJ5LCBzaXplb2YgKExJU1RfRU5U
UlkpKTsNCj4gLQ0KPiAtICAgIFN0cmVhbURlc3Ryb3koSGFuZGxlLT5TdHJlYW0pOw0KPiAtICAg
IEhhbmRsZS0+U3RyZWFtID0gTlVMTDsNCj4gLQ0KPiAtICAgIEhhbmRsZS0+RmlsZU9iamVjdCA9
IE5VTEw7DQo+IC0NCj4gLSAgICBBU1NFUlQoSXNaZXJvTWVtb3J5KEhhbmRsZSwgc2l6ZW9mIChG
RE9fSEFORExFKSkpOw0KPiAtICAgIF9fRmRvRnJlZShIYW5kbGUpOw0KPiAtfQ0KPiAtDQo+IC1z
dGF0aWMgVk9JRA0KPiAtRmRvRGVzdHJveUhhbmRsZSgNCj4gLSAgICBJTiAgUFhFTkNPTlNfRkRP
ICAgIEZkbywNCj4gLSAgICBJTiAgUEZET19IQU5ETEUgICAgIEhhbmRsZQ0KPiAtICAgICkNCj4g
LXsNCj4gLSAgICBLSVJRTCAgICAgICAgICAgICAgIElycWw7DQo+IC0NCj4gLSAgICBLZUFjcXVp
cmVTcGluTG9jaygmRmRvLT5IYW5kbGVMb2NrLCAmSXJxbCk7DQo+IC0gICAgUmVtb3ZlRW50cnlM
aXN0KCZIYW5kbGUtPkxpc3RFbnRyeSk7DQo+IC0gICAgS2VSZWxlYXNlU3BpbkxvY2soJkZkby0+
SGFuZGxlTG9jaywgSXJxbCk7DQo+IC0NCj4gLSAgICBfX0Zkb0Rlc3Ryb3lIYW5kbGUoRmRvLCBI
YW5kbGUpOw0KPiAtfQ0KPiAtDQo+IC1zdGF0aWMgVk9JRA0KPiAtRmRvRGVzdHJveUFsbEhhbmRs
ZXMoDQo+IC0gICAgSU4gIFBYRU5DT05TX0ZETyAgICBGZG8NCj4gLSAgICApDQo+IC17DQo+IC0g
ICAgS0lSUUwgICAgICAgICAgICAgICBJcnFsOw0KPiAtICAgIExJU1RfRU5UUlkgICAgICAgICAg
TGlzdDsNCj4gLSAgICBQTElTVF9FTlRSWSAgICAgICAgIExpc3RFbnRyeTsNCj4gLSAgICBQRkRP
X0hBTkRMRSAgICAgICAgIEhhbmRsZTsNCj4gLQ0KPiAtICAgIEluaXRpYWxpemVMaXN0SGVhZCgm
TGlzdCk7DQo+IC0NCj4gLSAgICBLZUFjcXVpcmVTcGluTG9jaygmRmRvLT5IYW5kbGVMb2NrLCAm
SXJxbCk7DQo+IC0NCj4gLSAgICBMaXN0RW50cnkgPSBGZG8tPkhhbmRsZUxpc3QuRmxpbms7DQo+
IC0gICAgaWYgKCFJc0xpc3RFbXB0eSgmRmRvLT5IYW5kbGVMaXN0KSkgew0KPiAtICAgICAgICBS
ZW1vdmVFbnRyeUxpc3QoJkZkby0+SGFuZGxlTGlzdCk7DQo+IC0gICAgICAgIEluaXRpYWxpemVM
aXN0SGVhZCgmRmRvLT5IYW5kbGVMaXN0KTsNCj4gLSAgICAgICAgQXBwZW5kVGFpbExpc3QoJkxp
c3QsIExpc3RFbnRyeSk7DQo+IC0gICAgfQ0KPiAtDQo+IC0gICAgS2VSZWxlYXNlU3BpbkxvY2so
JkZkby0+SGFuZGxlTG9jaywgSXJxbCk7DQo+IC0NCj4gLSAgICB3aGlsZSAoIUlzTGlzdEVtcHR5
KCZMaXN0KSkgew0KPiAtICAgICAgICBMaXN0RW50cnkgPSBSZW1vdmVIZWFkTGlzdCgmTGlzdCk7
DQo+IC0gICAgICAgIEFTU0VSVDNQKExpc3RFbnRyeSwgIT0sICZMaXN0KTsNCj4gLQ0KPiAtICAg
ICAgICBIYW5kbGUgPSBDT05UQUlOSU5HX1JFQ09SRChMaXN0RW50cnksDQo+IC0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEZET19IQU5ETEUsDQo+IC0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIExpc3RFbnRyeSk7DQo+IC0NCj4gLSAgICAgICAgX19GZG9EZXN0
cm95SGFuZGxlKEZkbywgSGFuZGxlKTsNCj4gLSAgICB9DQo+IC19DQo+IC0NCj4gIC8vIFRoaXMg
ZnVuY3Rpb24gbXVzdCBub3QgdG91Y2ggcGFnZWFibGUgY29kZSBvciBkYXRhDQo+ICBzdGF0aWMg
REVDTFNQRUNfTk9JTkxJTkUgVk9JRA0KPiAgRmRvRDBUb0QzKA0KPiBAQCAtOTkxLDggKzkzNiw2
IEBAIEZkb0QwVG9EMygNCj4gICNwcmFnbWEgcHJlZmFzdChzdXBwcmVzczoyODEyMykNCj4gICAg
ICAoVk9JRCkgSW9TZXREZXZpY2VJbnRlcmZhY2VTdGF0ZSgmRHgtPkxpbmssIEZBTFNFKTsNCj4g
DQo+IC0gICAgRmRvRGVzdHJveUFsbEhhbmRsZXMoRmRvKTsNCj4gLQ0KPiAgICAgIFBvd2VyU3Rh
dGUuRGV2aWNlU3RhdGUgPSBQb3dlckRldmljZUQzOw0KPiAgICAgIFBvU2V0UG93ZXJTdGF0ZShG
ZG8tPkR4LT5EZXZpY2VPYmplY3QsDQo+ICAgICAgICAgICAgICAgICAgICAgIERldmljZVBvd2Vy
U3RhdGUsDQo+IEBAIC0yMTY2LDg4ICsyMTA5LDYgQEAgZG9uZToNCj4gICAgICByZXR1cm4gc3Rh
dHVzOw0KPiAgfQ0KPiANCj4gLXN0YXRpYyBOVFNUQVRVUw0KPiAtRmRvQ3JlYXRlSGFuZGxlKA0K
PiAtICAgIElOICBQWEVOQ09OU19GRE8gICAgRmRvLA0KPiAtICAgIElOICBQRklMRV9PQkpFQ1Qg
ICAgRmlsZU9iamVjdA0KPiAtICAgICkNCj4gLXsNCj4gLSAgICBQRkRPX0hBTkRMRSAgICAgICAg
IEhhbmRsZTsNCj4gLSAgICBLSVJRTCAgICAgICAgICAgICAgIElycWw7DQo+IC0gICAgTlRTVEFU
VVMgICAgICAgICAgICBzdGF0dXM7DQo+IC0NCj4gLSAgICBIYW5kbGUgPSBfX0Zkb0FsbG9jYXRl
KHNpemVvZiAoRkRPX0hBTkRMRSkpOw0KPiAtDQo+IC0gICAgc3RhdHVzID0gU1RBVFVTX05PX01F
TU9SWTsNCj4gLSAgICBpZiAoSGFuZGxlID09IE5VTEwpDQo+IC0gICAgICAgIGdvdG8gZmFpbDE7
DQo+IC0NCj4gLSAgICBzdGF0dXMgPSBTdHJlYW1DcmVhdGUoRmRvLCAmSGFuZGxlLT5TdHJlYW0p
Ow0KPiAtICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQ0KPiAtICAgICAgICBnb3RvIGZhaWwy
Ow0KPiAtDQo+IC0gICAgSGFuZGxlLT5GaWxlT2JqZWN0ID0gRmlsZU9iamVjdDsNCj4gLQ0KPiAt
ICAgIEtlQWNxdWlyZVNwaW5Mb2NrKCZGZG8tPkhhbmRsZUxvY2ssICZJcnFsKTsNCj4gLSAgICBJ
bnNlcnRUYWlsTGlzdCgmRmRvLT5IYW5kbGVMaXN0LCAmSGFuZGxlLT5MaXN0RW50cnkpOw0KPiAt
ICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZGZG8tPkhhbmRsZUxvY2ssIElycWwpOw0KPiAtDQo+IC0g
ICAgVHJhY2UoIiVwXG4iLCBIYW5kbGUtPkZpbGVPYmplY3QpOw0KPiAtDQo+IC0gICAgcmV0dXJu
IFNUQVRVU19TVUNDRVNTOw0KPiAtDQo+IC1mYWlsMjoNCj4gLSAgICBFcnJvcigiZmFpbDJcbiIp
Ow0KPiAtDQo+IC0gICAgQVNTRVJUKElzWmVyb01lbW9yeShIYW5kbGUsIHNpemVvZiAoRkRPX0hB
TkRMRSkpKTsNCj4gLSAgICBfX0Zkb0ZyZWUoSGFuZGxlKTsNCj4gLQ0KPiAtZmFpbDE6DQo+IC0g
ICAgRXJyb3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVzKTsNCj4gLQ0KPiAtICAgIHJldHVybiBz
dGF0dXM7DQo+IC19DQo+IC0NCj4gLXN0YXRpYyBQRkRPX0hBTkRMRQ0KPiAtRmRvRmluZEhhbmRs
ZSgNCj4gLSAgICBJTiAgUFhFTkNPTlNfRkRPICAgIEZkbywNCj4gLSAgICBJTiAgUEZJTEVfT0JK
RUNUICAgIEZpbGVPYmplY3QNCj4gLSAgICApDQo+IC17DQo+IC0gICAgS0lSUUwgICAgICAgICAg
ICAgICBJcnFsOw0KPiAtICAgIFBMSVNUX0VOVFJZICAgICAgICAgTGlzdEVudHJ5Ow0KPiAtICAg
IFBGRE9fSEFORExFICAgICAgICAgSGFuZGxlOw0KPiAtICAgIE5UU1RBVFVTICAgICAgICAgICAg
c3RhdHVzOw0KPiAtDQo+IC0gICAgS2VBY3F1aXJlU3BpbkxvY2soJkZkby0+SGFuZGxlTG9jaywg
JklycWwpOw0KPiAtDQo+IC0gICAgZm9yIChMaXN0RW50cnkgPSBGZG8tPkhhbmRsZUxpc3QuRmxp
bms7DQo+IC0gICAgICAgICBMaXN0RW50cnkgIT0gJkZkby0+SGFuZGxlTGlzdDsNCj4gLSAgICAg
ICAgIExpc3RFbnRyeSA9IExpc3RFbnRyeS0+RmxpbmspIHsNCj4gLSAgICAgICAgSGFuZGxlID0g
Q09OVEFJTklOR19SRUNPUkQoTGlzdEVudHJ5LA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBGRE9fSEFORExFLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBMaXN0RW50cnkpOw0KPiAtDQo+IC0gICAgICAgIGlmIChIYW5kbGUtPkZpbGVPYmplY3Qg
PT0gRmlsZU9iamVjdCkNCj4gLSAgICAgICAgICAgIGdvdG8gZm91bmQ7DQo+IC0gICAgfQ0KPiAt
DQo+IC0gICAgc3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZVTDsNCj4gLSAgICBnb3RvIGZhaWwx
Ow0KPiAtDQo+IC1mb3VuZDoNCj4gLSAgICBLZVJlbGVhc2VTcGluTG9jaygmRmRvLT5IYW5kbGVM
b2NrLCBJcnFsKTsNCj4gLQ0KPiAtICAgIHJldHVybiBIYW5kbGU7DQo+IC0NCj4gLWZhaWwxOg0K
PiAtICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7DQo+IC0NCj4gLSAgICBLZVJl
bGVhc2VTcGluTG9jaygmRmRvLT5IYW5kbGVMb2NrLCBJcnFsKTsNCj4gLQ0KPiAtICAgIHJldHVy
biBOVUxMOw0KPiAtfQ0KPiAtDQo+ICBzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFUVVMN
Cj4gIEZkb0Rpc3BhdGNoQ3JlYXRlKA0KPiAgICAgIElOICBQWEVOQ09OU19GRE8gICAgRmRvLA0K
PiBAQCAtMjI1OSw3ICsyMTIwLDggQEAgRmRvRGlzcGF0Y2hDcmVhdGUoDQo+IA0KPiAgICAgIFN0
YWNrTG9jYXRpb24gPSBJb0dldEN1cnJlbnRJcnBTdGFja0xvY2F0aW9uKElycCk7DQo+IA0KPiAt
ICAgIHN0YXR1cyA9IEZkb0NyZWF0ZUhhbmRsZShGZG8sIFN0YWNrTG9jYXRpb24tPkZpbGVPYmpl
Y3QpOw0KPiArICAgIHN0YXR1cyA9IENvbnNvbGVEaXNwYXRjaENyZWF0ZShGZG8tPkNvbnNvbGUs
DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YWNrTG9jYXRpb24tPkZp
bGVPYmplY3QpOw0KPiANCj4gICAgICBJcnAtPklvU3RhdHVzLlN0YXR1cyA9IHN0YXR1czsNCj4g
ICAgICBJb0NvbXBsZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVOVCk7DQo+IEBAIC0yMjc0
LDI3ICsyMTM2LDEyIEBAIEZkb0Rpc3BhdGNoQ2xlYW51cCgNCj4gICAgICApDQo+ICB7DQo+ICAg
ICAgUElPX1NUQUNLX0xPQ0FUSU9OICBTdGFja0xvY2F0aW9uOw0KPiAtICAgIFBGRE9fSEFORExF
ICAgICAgICAgSGFuZGxlOw0KPiAgICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVzOw0KPiAN
Cj4gICAgICBTdGFja0xvY2F0aW9uID0gSW9HZXRDdXJyZW50SXJwU3RhY2tMb2NhdGlvbihJcnAp
Ow0KPiANCj4gLSAgICBIYW5kbGUgPSBGZG9GaW5kSGFuZGxlKEZkbywgU3RhY2tMb2NhdGlvbi0+
RmlsZU9iamVjdCk7DQo+IC0NCj4gLSAgICBzdGF0dXMgPSBTVEFUVVNfVU5TVUNDRVNTRlVMOw0K
PiAtICAgIGlmIChIYW5kbGUgPT0gTlVMTCkNCj4gLSAgICAgICAgZ290byBmYWlsMTsNCj4gLQ0K
PiAtICAgIEZkb0Rlc3Ryb3lIYW5kbGUoRmRvLCBIYW5kbGUpOw0KPiAtICAgIHN0YXR1cyA9IFNU
QVRVU19TVUNDRVNTOw0KPiAtDQo+IC0gICAgSXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBzdGF0dXM7
DQo+IC0gICAgSW9Db21wbGV0ZVJlcXVlc3QoSXJwLCBJT19OT19JTkNSRU1FTlQpOw0KPiAtDQo+
IC0gICAgcmV0dXJuIHN0YXR1czsNCj4gLQ0KPiAtZmFpbDE6DQo+IC0gICAgRXJyb3IoImZhaWwx
ICglMDh4KVxuIiwgc3RhdHVzKTsNCj4gKyAgICBzdGF0dXMgPSBDb25zb2xlRGlzcGF0Y2hDbGVh
bnVwKEZkby0+Q29uc29sZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFN0YWNrTG9jYXRpb24tPkZpbGVPYmplY3QpOw0KPiANCj4gICAgICBJcnAtPklvU3RhdHVzLlN0
YXR1cyA9IHN0YXR1czsNCj4gICAgICBJb0NvbXBsZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JF
TUVOVCk7DQo+IEBAIC0yMzI2LDI5ICsyMTczLDE3IEBAIEZkb0Rpc3BhdGNoUmVhZFdyaXRlKA0K
PiAgICAgIElOICBQSVJQICAgICAgICAgICAgSXJwDQo+ICAgICAgKQ0KPiAgew0KPiAtICAgIFBJ
T19TVEFDS19MT0NBVElPTiAgU3RhY2tMb2NhdGlvbjsNCj4gLSAgICBQRkRPX0hBTkRMRSAgICAg
ICAgIEhhbmRsZTsNCj4gICAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsNCj4gDQo+IC0g
ICAgU3RhY2tMb2NhdGlvbiA9IElvR2V0Q3VycmVudElycFN0YWNrTG9jYXRpb24oSXJwKTsNCj4g
LQ0KPiAtICAgIEhhbmRsZSA9IEZkb0ZpbmRIYW5kbGUoRmRvLCBTdGFja0xvY2F0aW9uLT5GaWxl
T2JqZWN0KTsNCj4gLQ0KPiAtICAgIHN0YXR1cyA9IFNUQVRVU19VTlNVQ0NFU1NGVUw7DQo+IC0g
ICAgaWYgKEhhbmRsZSA9PSBOVUxMKQ0KPiAtICAgICAgICBnb3RvIGZhaWwxOw0KPiAtDQo+ICAg
ICAgSW9NYXJrSXJwUGVuZGluZyhJcnApOw0KPiANCj4gLSAgICBzdGF0dXMgPSBTdHJlYW1QdXRR
dWV1ZShIYW5kbGUtPlN0cmVhbSwgSXJwKTsNCj4gKyAgICBzdGF0dXMgPSBDb25zb2xlRGlzcGF0
Y2hSZWFkV3JpdGUoRmRvLT5Db25zb2xlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBJcnApOw0KPiAgICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQ0KPiAtICAg
ICAgICBnb3RvIGZhaWwyOw0KPiArICAgICAgICBnb3RvIGZhaWwxOw0KPiANCj4gICAgICByZXR1
cm4gU1RBVFVTX1BFTkRJTkc7DQo+IA0KPiAtZmFpbDI6DQo+IC0gICAgRXJyb3IoImZhaWwyXG4i
KTsNCj4gLQ0KPiAgZmFpbDE6DQo+ICAgICAgRXJyb3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVz
KTsNCj4gDQo+IEBAIC0yNjQxLDggKzI0NzYsOSBAQCBGZG9DcmVhdGUoDQo+ICAgICAgaWYgKCFO
VF9TVUNDRVNTKHN0YXR1cykpDQo+ICAgICAgICAgIGdvdG8gZmFpbDExOw0KPiANCj4gLSAgICBJ
bml0aWFsaXplTGlzdEhlYWQoJkZkby0+SGFuZGxlTGlzdCk7DQo+IC0gICAgS2VJbml0aWFsaXpl
U3BpbkxvY2soJkZkby0+SGFuZGxlTG9jayk7DQo+ICsgICAgc3RhdHVzID0gQ29uc29sZUNyZWF0
ZShGZG8sICZGZG8tPkNvbnNvbGUpOw0KPiArICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQ0K
PiArICAgICAgICBnb3RvIGZhaWwxMjsNCj4gDQo+ICAgICAgRnVuY3Rpb25EZXZpY2VPYmplY3Qt
PkZsYWdzIHw9IERPX0JVRkZFUkVEX0lPOw0KPiANCj4gQEAgLTI2NTUsMTEgKzI0OTEsMTcgQEAg
RmRvQ3JlYXRlKA0KPiAgICAgIEZ1bmN0aW9uRGV2aWNlT2JqZWN0LT5GbGFncyAmPSB+RE9fREVW
SUNFX0lOSVRJQUxJWklORzsNCj4gICAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7DQo+IA0KPiAr
ZmFpbDEyOg0KPiArICAgIEVycm9yKCJmYWlsMTJcbiIpOw0KPiArDQo+ICsgICAgUnRsWmVyb01l
bW9yeSgmRmRvLT5Db25zb2xlSW50ZXJmYWNlLA0KPiArICAgICAgICAgICAgICAgICAgc2l6ZW9m
KFhFTkJVU19DT05TT0xFX0lOVEVSRkFDRSkpOw0KPiArDQo+ICBmYWlsMTE6DQo+ICAgICAgRXJy
b3IoImZhaWwxMVxuIik7DQo+IA0KPiAtICAgIFJ0bFplcm9NZW1vcnkoJkZkby0+Q29uc29sZUlu
dGVyZmFjZSwNCj4gLSAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX0NPTlNPTEVfSU5U
RVJGQUNFKSk7DQo+ICsgICAgUnRsWmVyb01lbW9yeSgmRmRvLT5TdG9yZUludGVyZmFjZSwNCj4g
KyAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX1NUT1JFX0lOVEVSRkFDRSkpOw0KPiAN
Cj4gIGZhaWwxMDoNCj4gICAgICBFcnJvcigiZmFpbDEwXG4iKTsNCj4gQEAgLTI3NDQsMTAgKzI1
ODYsOCBAQCBGZG9EZXN0cm95KA0KPiANCj4gICAgICBEeC0+RmRvID0gTlVMTDsNCj4gDQo+IC0g
ICAgUnRsWmVyb01lbW9yeSgmRmRvLT5IYW5kbGVMb2NrLCBzaXplb2YgKEtTUElOX0xPQ0spKTsN
Cj4gLQ0KPiAtICAgIEFTU0VSVChJc0xpc3RFbXB0eSgmRmRvLT5IYW5kbGVMaXN0KSk7DQo+IC0g
ICAgUnRsWmVyb01lbW9yeSgmRmRvLT5IYW5kbGVMaXN0LCBzaXplb2YgKExJU1RfRU5UUlkpKTsN
Cj4gKyAgICBDb25zb2xlRGVzdHJveShGZG8tPkNvbnNvbGUpOw0KPiArICAgIEZkby0+Q29uc29s
ZSA9IE5VTEw7DQo+IA0KPiAgICAgIFJ0bFplcm9NZW1vcnkoJkZkby0+Q29uc29sZUludGVyZmFj
ZSwNCj4gICAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX0NPTlNPTEVfSU5URVJGQUNF
KSk7DQo+IGRpZmYgLS1naXQgYS92czIwMTUveGVuY29ucy94ZW5jb25zLnZjeHByb2oNCj4gYi92
czIwMTUveGVuY29ucy94ZW5jb25zLnZjeHByb2oNCj4gaW5kZXggZmY2NWQ5Zi4uMTJmNWI3MCAx
MDA2NDQNCj4gLS0tIGEvdnMyMDE1L3hlbmNvbnMveGVuY29ucy52Y3hwcm9qDQo+ICsrKyBiL3Zz
MjAxNS94ZW5jb25zL3hlbmNvbnMudmN4cHJvag0KPiBAQCAtNjcsNiArNjcsNyBAQA0KPiAgICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbmNvbnMvZHJpdmVyLmMiIC8+DQo+ICAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVuY29ucy9mZG8uYyIgLz4NCj4gICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5jb25zL3JlZ2lzdHJ5LmMiIC8+DQo+
ICsgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVuY29ucy9jb25zb2xlLmMiIC8+
DQo+ICAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVuY29ucy9zdHJlYW0uYyIg
Lz4NCj4gICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5jb25zL3RocmVhZC5j
IiAvPg0KPiAgICA8L0l0ZW1Hcm91cD4NCj4gLS0NCj4gMi44LjMNCj4gDQo+IA0KPiBfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiB3aW4tcHYtZGV2ZWwg
bWFpbGluZyBsaXN0DQo+IHdpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBodHRw
czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVsDQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2
ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 16:06:17 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 16:06:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eek2Z-0006q8-Ik; Thu, 25 Jan 2018 16:06:15 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=lnwm=eu=citrix.com=prvs=556065c40=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eek2Y-0006pW-Ia
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 16:06:14 +0000
X-Inumbo-ID: ad0aa5df-01e9-11e8-b9b1-635ca7ef6cff
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id ad0aa5df-01e9-11e8-b9b1-635ca7ef6cff;
 Thu, 25 Jan 2018 16:06:18 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,412,1511827200"; d="scan'208";a="66675873"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: Owen Smith <owen.smith@citrix.com>, "win-pv-devel@lists.xenproject.org"
 <win-pv-devel@lists.xenproject.org>
Thread-Topic: [win-pv-devel] [PATCH 03/14] Add IOCTLs to get Instance,	Name
 and Protocol
Thread-Index: AQHTlRyNoAnlZRmI8ki+d9LjPY2ieKOEwKoQ
Date: Thu, 25 Jan 2018 16:04:00 +0000
Message-ID: <1f5a1558df68402b960dff55b6b64276@AMSPEX02CL03.citrite.net>
References: <20180124140515.12284-1-owen.smith@citrix.com>
 <20180124140515.12284-4-owen.smith@citrix.com>
In-Reply-To: <20180124140515.12284-4-owen.smith@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: Re: [win-pv-devel] [PATCH 03/14] Add IOCTLs to get Instance,
 Name and Protocol
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiB3aW4tcHYtZGV2ZWwgW21haWx0
bzp3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gT24NCj4gQmVoYWxm
IE9mIG93ZW4uc21pdGhAY2l0cml4LmNvbQ0KPiBTZW50OiAyNCBKYW51YXJ5IDIwMTggMTQ6MDUN
Cj4gVG86IHdpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBDYzogT3dlbiBTbWl0
aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPg0KPiBTdWJqZWN0OiBbd2luLXB2LWRldmVsXSBbUEFU
Q0ggMDMvMTRdIEFkZCBJT0NUTHMgdG8gZ2V0IEluc3RhbmNlLCBOYW1lDQo+IGFuZCBQcm90b2Nv
bA0KPiANCj4gRnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPg0KPiANCj4g
SGFyZCBjb2RlIHRoZXNlIHZhbHVlcyBmb3IgdGhlIGRlZmF1bHQgY29uc29sZSwgdGhlIHZhbHVl
cw0KPiBzaG91bGQgYmUgcmVhZCBmcm9tIHhlbnN0b3JlDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBP
d2VuIFNtaXRoIDxvd2VuLnNtaXRoQGNpdHJpeC5jb20+DQo+IC0tLQ0KPiAgaW5jbHVkZS94ZW5j
b25zX2RldmljZS5oIHwgMTcgKysrKysrKysrKw0KPiAgc3JjL3hlbmNvbnMvZmRvLmMgICAgICAg
IHwgODINCj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
DQo+ICAyIGZpbGVzIGNoYW5nZWQsIDk5IGluc2VydGlvbnMoKykNCj4gDQo+IGRpZmYgLS1naXQg
YS9pbmNsdWRlL3hlbmNvbnNfZGV2aWNlLmggYi9pbmNsdWRlL3hlbmNvbnNfZGV2aWNlLmgNCj4g
aW5kZXggZWFmNTdkOC4uNTJmMjY3MSAxMDA2NDQNCj4gLS0tIGEvaW5jbHVkZS94ZW5jb25zX2Rl
dmljZS5oDQo+ICsrKyBiL2luY2x1ZGUveGVuY29uc19kZXZpY2UuaA0KPiBAQCAtMzYsNCArMzYs
MjEgQEANCj4gIERFRklORV9HVUlEKEdVSURfWEVOQ09OU19ERVZJQ0UsDQo+ICAgICAgICAgICAg
ICAweGQzZWRkMjEsIDB4OGVmOSwgMHg0ZGZmLCAweDg1LCAweDZjLCAweDhjLCAweDY4LCAweGJm
LCAweDRmLCAweGRjLA0KPiAweGEzKTsNCj4gDQo+ICsjZGVmaW5lIF9fSU9DVExfWEVOQ09OU19C
RUdJTiAgICAgICAweDgwMA0KPiArDQo+ICsjZGVmaW5lIElPQ1RMX1hFTkNPTlNfR0VUX0lOU1RB
TkNFDQo+IENUTF9DT0RFKEZJTEVfREVWSUNFX1VOS05PV04sICAgICAgIFwNCj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19JT0NUTF9YRU5DT05TX0JFR0lO
ICsgMCwgIFwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TUVUSE9EX0JVRkZFUkVELCAgICAgICAgICAgIFwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRklMRV9BTllfQUNDRVNTKQ0KPiArDQo+ICsjZGVmaW5lIElP
Q1RMX1hFTkNPTlNfR0VUX05BTUUNCj4gQ1RMX0NPREUoRklMRV9ERVZJQ0VfVU5LTk9XTiwgICAg
ICAgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0lP
Q1RMX1hFTkNPTlNfQkVHSU4gKyAxLCAgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBNRVRIT0RfQlVGRkVSRUQsICAgICAgICAgICAgXA0KPiArICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFX0FOWV9BQ0NFU1MpDQo+
ICsNCj4gKyNkZWZpbmUgSU9DVExfWEVOQ09OU19HRVRfUFJPVE9DT0wNCj4gQ1RMX0NPREUoRklM
RV9ERVZJQ0VfVU5LTk9XTiwgICAgICAgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBfX0lPQ1RMX1hFTkNPTlNfQkVHSU4gKyAyLCAgXA0KPiArICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRVRIT0RfQlVGRkVSRUQsICAg
ICAgICAgICAgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBGSUxFX0FOWV9BQ0NFU1MpDQo+ICsNCj4gICNlbmRpZiAgLy8gX1hFTkNPTlNfREVWSUNFX0gN
Cj4gZGlmZiAtLWdpdCBhL3NyYy94ZW5jb25zL2Zkby5jIGIvc3JjL3hlbmNvbnMvZmRvLmMNCj4g
aW5kZXggNmE3ZjcwYy4uOGU3MmRjNiAxMDA2NDQNCj4gLS0tIGEvc3JjL3hlbmNvbnMvZmRvLmMN
Cj4gKysrIGIvc3JjL3hlbmNvbnMvZmRvLmMNCj4gQEAgLTIxOTQsNiArMjE5NCw4NCBAQCBmYWls
MToNCj4gIH0NCj4gDQo+ICBzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFUVVMNCj4gK0Zk
b0Rpc3BhdGNoQ29udHJvbCgNCj4gKyAgICBJTiAgUFhFTkNPTlNfRkRPICAgIEZkbywNCj4gKyAg
ICBJTiAgUElSUCAgICAgICAgICAgIElycA0KPiArICAgICkNCg0KR2l2ZW4gdGhhdCBSZWFkIGFu
ZCBXcml0ZSBJUlBzIGFyZSBmZWQgdmVyYmF0aW0gaW50byBjb25zb2xlLmMsIGNvdWxkbuKAmXQg
dGhpcyBqdXN0IGNhbGwgbXkgc3VnZ2VzdGVkIENvbnNvbGVQdXRRdWV1ZSgpIGZ1bmN0aW9uIGFu
ZCBiZSBoYW5kbGVkIHRoZXJlPyBJdCBzZWVtcyBvZGQgdG8gYmUgaGFuZGxpbmcgb25lIHR5cGUg
b2YgSVJQIGhlcmUsIGJ1dCBwdXNoaW5nIG90aGVycyBpbiBkaXJlY3RseS4NCg0KICBQYXVsDQoN
Cj4gK3sNCj4gKyAgICBQSU9fU1RBQ0tfTE9DQVRJT04gIFN0YWNrTG9jYXRpb247DQo+ICsgICAg
VUxPTkcgICAgICAgICAgICAgICBJb0NvbnRyb2xDb2RlOw0KPiArICAgIFVMT05HICAgICAgICAg
ICAgICAgSW5wdXRCdWZmZXJMZW5ndGg7DQo+ICsgICAgVUxPTkcgICAgICAgICAgICAgICBPdXRw
dXRCdWZmZXJMZW5ndGg7DQo+ICsgICAgUFZPSUQgICAgICAgICAgICAgICBCdWZmZXI7DQo+ICsg
ICAgUENIQVIgICAgICAgICAgICAgICBWYWx1ZTsNCj4gKyAgICBVTE9ORyAgICAgICAgICAgICAg
IExlbmd0aDsNCj4gKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsNCj4gKw0KPiArICAg
IFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoRmRvKTsNCj4gKw0KPiArICAgIFN0YWNrTG9jYXRpb24g
PSBJb0dldEN1cnJlbnRJcnBTdGFja0xvY2F0aW9uKElycCk7DQo+ICsgICAgSW9Db250cm9sQ29k
ZSA9IFN0YWNrTG9jYXRpb24tDQo+ID5QYXJhbWV0ZXJzLkRldmljZUlvQ29udHJvbC5Jb0NvbnRy
b2xDb2RlOw0KPiArICAgIElucHV0QnVmZmVyTGVuZ3RoID0gU3RhY2tMb2NhdGlvbi0NCj4gPlBh
cmFtZXRlcnMuRGV2aWNlSW9Db250cm9sLklucHV0QnVmZmVyTGVuZ3RoOw0KPiArICAgIE91dHB1
dEJ1ZmZlckxlbmd0aCA9IFN0YWNrTG9jYXRpb24tDQo+ID5QYXJhbWV0ZXJzLkRldmljZUlvQ29u
dHJvbC5PdXRwdXRCdWZmZXJMZW5ndGg7DQo+ICsgICAgQnVmZmVyID0gSXJwLT5Bc3NvY2lhdGVk
SXJwLlN5c3RlbUJ1ZmZlcjsNCj4gKw0KPiArICAgIHN3aXRjaCAoSW9Db250cm9sQ29kZSkgew0K
PiArICAgIGNhc2UgSU9DVExfWEVOQ09OU19HRVRfSU5TVEFOQ0U6DQo+ICsgICAgICAgIFZhbHVl
ID0gIjAiOw0KPiArICAgICAgICBicmVhazsNCj4gKyAgICBjYXNlIElPQ1RMX1hFTkNPTlNfR0VU
X05BTUU6DQo+ICsgICAgICAgIFZhbHVlID0gImRlZmF1bHQiOw0KPiArICAgICAgICBicmVhazsN
Cj4gKyAgICBjYXNlIElPQ1RMX1hFTkNPTlNfR0VUX1BST1RPQ09MOg0KPiArICAgICAgICBWYWx1
ZSA9ICJ2dDEwMCI7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAgIGRlZmF1bHQ6DQo+ICsgICAg
ICAgIHN0YXR1cyA9IFNUQVRVU19OT1RfU1VQUE9SVEVEOw0KPiArICAgICAgICBnb3RvIGZhaWwx
Ow0KPiArICAgIH0NCj4gKyAgICBMZW5ndGggPSAoVUxPTkcpc3RybGVuKFZhbHVlKTsNCj4gKw0K
PiArICAgIHN0YXR1cyA9IFNUQVRVU19JTlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgICBpZiAoSW5w
dXRCdWZmZXJMZW5ndGggIT0gMCkNCj4gKyAgICAgICAgZ290byBmYWlsMjsNCj4gKw0KPiArICAg
IElycC0+SW9TdGF0dXMuSW5mb3JtYXRpb24gPSBMZW5ndGg7DQo+ICsNCj4gKyAgICBzdGF0dXMg
PSBTVEFUVVNfSU5WQUxJRF9CVUZGRVJfU0laRTsNCj4gKyAgICBpZiAoT3V0cHV0QnVmZmVyTGVu
Z3RoID09IDApDQo+ICsgICAgICAgIGdvdG8gZG9uZTsNCj4gKw0KPiArICAgIFJ0bFplcm9NZW1v
cnkoQnVmZmVyLCBPdXRwdXRCdWZmZXJMZW5ndGgpOw0KPiArDQo+ICsgICAgaWYgKE91dHB1dEJ1
ZmZlckxlbmd0aCA8IExlbmd0aCkNCj4gKyAgICAgICAgZ290byBmYWlsMzsNCj4gKw0KPiArICAg
IFJ0bENvcHlNZW1vcnkoQnVmZmVyLCBWYWx1ZSwgTGVuZ3RoKTsNCj4gKyAgICBzdGF0dXMgPSBT
VEFUVVNfU1VDQ0VTUzsNCj4gKw0KPiArZG9uZToNCj4gKyAgICBJcnAtPklvU3RhdHVzLlN0YXR1
cyA9IHN0YXR1czsNCj4gKyAgICBJb0NvbXBsZXRlUmVxdWVzdChJcnAsIElPX05PX0lOQ1JFTUVO
VCk7DQo+ICsNCj4gKyAgICByZXR1cm4gc3RhdHVzOw0KPiArDQo+ICtmYWlsMzoNCj4gKyAgICBF
cnJvcigiZmFpbDNcbiIpOw0KPiArDQo+ICtmYWlsMjoNCj4gKyAgICBFcnJvcigiZmFpbDJcbiIp
Ow0KPiArDQo+ICtmYWlsMToNCj4gKyAgICBFcnJvcigiZmFpbDEgKCUwOHgpXG4iLCBzdGF0dXMp
Ow0KPiArDQo+ICsgICAgSXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBzdGF0dXM7DQo+ICsgICAgSW9D
b21wbGV0ZVJlcXVlc3QoSXJwLCBJT19OT19JTkNSRU1FTlQpOw0KPiArDQo+ICsgICAgcmV0dXJu
IHN0YXR1czsNCj4gK30NCj4gKw0KPiArc3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIE5UU1RBVFVT
DQo+ICBGZG9EaXNwYXRjaERlZmF1bHQoDQo+ICAgICAgSU4gIFBYRU5DT05TX0ZETyAgICBGZG8s
DQo+ICAgICAgSU4gIFBJUlAgICAgICAgICAgICBJcnANCj4gQEAgLTIyNTAsNiArMjMyOCwxMCBA
QCBGZG9EaXNwYXRjaCgNCj4gICAgICAgICAgc3RhdHVzID0gRmRvRGlzcGF0Y2hSZWFkV3JpdGUo
RmRvLCBJcnApOw0KPiAgICAgICAgICBicmVhazsNCj4gDQo+ICsgICAgY2FzZSBJUlBfTUpfREVW
SUNFX0NPTlRST0w6DQo+ICsgICAgICAgIHN0YXR1cyA9IEZkb0Rpc3BhdGNoQ29udHJvbChGZG8s
IElycCk7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArDQo+ICAgICAgZGVmYXVsdDoNCj4gICAgICAg
ICAgc3RhdHVzID0gRmRvRGlzcGF0Y2hEZWZhdWx0KEZkbywgSXJwKTsNCj4gICAgICAgICAgYnJl
YWs7DQo+IC0tDQo+IDIuOC4zDQo+IA0KPiANCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18NCj4gd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdA0KPiB3aW4t
cHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA0KX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4t
cHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9y
Zy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 16:34:21 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 16:34:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eekTj-00012Z-IV; Thu, 25 Jan 2018 16:34:19 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=lnwm=eu=citrix.com=prvs=556065c40=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eekTi-00011s-PT
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 16:34:18 +0000
X-Inumbo-ID: 98b9fcf6-01ed-11e8-b9b1-635ca7ef6cff
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 98b9fcf6-01ed-11e8-b9b1-635ca7ef6cff;
 Thu, 25 Jan 2018 16:34:22 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,412,1511827200"; d="scan'208";a="66678640"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: Owen Smith <owen.smith@citrix.com>, "win-pv-devel@lists.xenproject.org"
 <win-pv-devel@lists.xenproject.org>
Thread-Topic: [win-pv-devel] [PATCH 04/14] Make the monitor service
 multi-console	aware
Thread-Index: AQHTlRzRkeBBJ6kFy0GagEuoCvAeh6OEwzpg
Date: Thu, 25 Jan 2018 16:32:24 +0000
Message-ID: <673b587ca7fa41a099a737e026f87c2d@AMSPEX02CL03.citrite.net>
References: <20180124140515.12284-1-owen.smith@citrix.com>
 <20180124140515.12284-5-owen.smith@citrix.com>
In-Reply-To: <20180124140515.12284-5-owen.smith@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: Re: [win-pv-devel] [PATCH 04/14] Make the monitor service
 multi-console	aware
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiB3aW4tcHYtZGV2ZWwgW21haWx0
bzp3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gT24NCj4gQmVoYWxm
IE9mIG93ZW4uc21pdGhAY2l0cml4LmNvbQ0KPiBTZW50OiAyNCBKYW51YXJ5IDIwMTggMTQ6MDUN
Cj4gVG86IHdpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBDYzogT3dlbiBTbWl0
aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPg0KPiBTdWJqZWN0OiBbd2luLXB2LWRldmVsXSBbUEFU
Q0ggMDQvMTRdIE1ha2UgdGhlIG1vbml0b3Igc2VydmljZSBtdWx0aS0NCj4gY29uc29sZSBhd2Fy
ZQ0KPiANCj4gRnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPg0KPiANCj4g
KiBDcmVhdGUgYSBsaXN0IG9mIGluc3RhbmNlcywgMSBwZXIgaW50ZXJmYWNlIGZvdW5kLg0KPiAq
IE1vdmVzIEFkZCAvIFJlbW92ZSBpbmxpbmUgKHJlbW92ZSBldmVudHMpDQo+ICogRW51bWVyYXRl
cyBhbGwgaW50ZXJmYWNlcyBwcmVzZW50DQo+ICogVXNlcyBJT0NUTCB0byBxdWVyeSBjb25zb2xl
IG5hbWUNCj4gKiBDcmVhdGVzIG5hbWVkIHBpcGUgYmFzZWQgb24gdGhlIGNvbnNvbGUgbmFtZQ0K
PiAoXFwuXHBpcGVceGVuY29uc1w8bmFtZT4pDQo+ICogTW92ZXMgRXhlY3V0YWJsZSByZWdpc3Ry
eSBrZXkgdG8gc3Via2V5LCBiYXNlZCBvbiBjb25zb2xlIG5hbWUNCj4gKiBDaGFuZ2VzIHR0eSBw
cm9jZXNzIHRvIHVzZSBcXC5ccGlwZVx4ZW5jb25zXGRlZmF1bHQNCj4gKiBDaGFuZ2UgSU5GIGZp
bGUgdG8gd3JpdGUgdHR5IHRvIHN1YmtleQ0KPiAqIGRlZmluZSBVTklDT0RFDQo+ICAgICBTZXR1
cEFwaSByZXR1cm5zIGFzY2lpL3VuaWNvZGUsIGRldmljZSBldmVudHMgYXJlIGFsd2F5cyB1bmlj
b2RlDQo+ICogcmVvcmRlciB0aHJlYWQgc3RhcnQgdG8gZW5zdXJlIGRldmljZSBhbmQgcGlwZSBz
ZXJ2ZXIgYXJlIHJ1bm5pbmcNCj4gICAgIGJlZm9yZSBtb25pdG9yIHRocmVhZA0KPiANCj4gU2ln
bmVkLW9mZi1ieTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPg0KDQpBY2tlZC1i
eTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4NCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxp
c3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv
amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 16:40:02 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 16:40:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eekZG-0001Dx-2o; Thu, 25 Jan 2018 16:40:02 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=lnwm=eu=citrix.com=prvs=556065c40=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1eekZF-0001As-0O
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 16:40:01 +0000
X-Inumbo-ID: 5dda9420-01ee-11e8-ba59-bc764e045a96
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 5dda9420-01ee-11e8-ba59-bc764e045a96;
 Thu, 25 Jan 2018 17:39:53 +0100 (CET)
X-IronPort-AV: E=Sophos;i="5.46,412,1511827200"; d="scan'208";a="66679102"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: Owen Smith <owen.smith@citrix.com>, "win-pv-devel@lists.xenproject.org"
 <win-pv-devel@lists.xenproject.org>
Thread-Topic: [win-pv-devel] [PATCH 05/14] Add a short Sleep between
 CreateFile	calls
Thread-Index: AQHTlRyJmSgYrdNP7UyNdKQ/GzQyN6OEyspQ
Date: Thu, 25 Jan 2018 16:37:14 +0000
Message-ID: <72dbf3ebe56a483ba120a91ba26dd881@AMSPEX02CL03.citrite.net>
References: <20180124140515.12284-1-owen.smith@citrix.com>
 <20180124140515.12284-6-owen.smith@citrix.com>
In-Reply-To: <20180124140515.12284-6-owen.smith@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: Re: [win-pv-devel] [PATCH 05/14] Add a short Sleep between
	CreateFile	calls
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiB3aW4tcHYtZGV2ZWwgW21haWx0
bzp3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gT24NCj4gQmVoYWxm
IE9mIG93ZW4uc21pdGhAY2l0cml4LmNvbQ0KPiBTZW50OiAyNCBKYW51YXJ5IDIwMTggMTQ6MDUN
Cj4gVG86IHdpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBDYzogT3dlbiBTbWl0
aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPg0KPiBTdWJqZWN0OiBbd2luLXB2LWRldmVsXSBbUEFU
Q0ggMDUvMTRdIEFkZCBhIHNob3J0IFNsZWVwIGJldHdlZW4gQ3JlYXRlRmlsZQ0KPiBjYWxscw0K
PiANCj4gRnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPg0KPiANCj4gSWYg
dGhlcmUgaXMgbm8gZGVsYXksIGl0cyBwb3NzaWJsZSBmb3IgdGhlIHNlY29uZCBjYWxsIHRvIENy
ZWF0ZUZpbGUNCj4gdG8gZmFpbCB3aXRoIGFsbCBwaXBlIGluc3RhbmNlcyBidXN5LiBHaXZlIHRo
ZSBzZXJ2ZXIgZW5kIHRpbWUgdG8NCj4gZ2V0IGJhY2sgdG8gQ29ubmVjdE5hbWVkUGlwZQ0KPiAN
Cj4gU2lnbmVkLW9mZi1ieTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPg0KPiAt
LS0NCj4gIHNyYy90dHkvdHR5LmMgfCA1ICsrKysrDQo+ICAxIGZpbGUgY2hhbmdlZCwgNSBpbnNl
cnRpb25zKCspDQo+IA0KPiBkaWZmIC0tZ2l0IGEvc3JjL3R0eS90dHkuYyBiL3NyYy90dHkvdHR5
LmMNCj4gaW5kZXggMGVkNTk5ZS4uNzZmNDY1MSAxMDA2NDQNCj4gLS0tIGEvc3JjL3R0eS90dHku
Yw0KPiArKysgYi9zcmMvdHR5L3R0eS5jDQo+IEBAIC00MTMsNiArNDEzLDExIEBAIF90bWFpbigN
Cj4gICAgICBpZiAoQ29udGV4dC0+RGV2aWNlLlJlYWQgPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUp
DQo+ICAgICAgICAgIEV4aXRQcm9jZXNzKDEpOw0KPiANCj4gKyAgICAvLyBhZGQgYSBzbWFsbCBk
ZWxheSBoZXJlLCB0byBwcmV2ZW50IHRoZSBzZWNvbmQgQ3JlYXRlRmlsZSByZXR1cm5pbmcgd2l0
aA0KPiArICAgIC8vIGFsbCBwaXBlIGluc3RhbmNlcyBidXN5IC0gdGhpcyBnaXZlcyB0aGUgc2Vy
dmVyIGVuZCBzb21lIHRpbWUgdG8gc3Bhd24NCj4gKyAgICAvLyB0aGUgcmVhZCBwaXBlIGFuZCBy
ZXR1cm4gdG8gQ29ubmVjdE5hbWVkUGlwZQ0KPiArICAgIFNsZWVwKDUwKTsNCj4gKw0KPiAgICAg
IENvbnRleHQtPkRldmljZS5Xcml0ZSA9IENyZWF0ZUZpbGUoUElQRV9OQU1FLA0KPiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0VORVJJQ19XUklURSwNCj4gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEVfU0hBUkVfUkVBRCB8IEZJTEVf
U0hBUkVfV1JJVEUsDQoNCkknbSBub3QgZmFuIG9mIGFyYml0cmFyeSBkZWxheXMuIENvdWxkIHlv
dSBoYW5kbGUgdGhpcyBieSBjYXRjaGluZyB0aGUgZXJyb3IgYW5kIHJldHJ5aW5nIGluc3RlYWQ/
DQoNCiAgUGF1bA0KDQo+IC0tDQo+IDIuOC4zDQo+IA0KPiANCj4gX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gd2luLXB2LWRldmVsIG1haWxpbmcgbGlz
dA0KPiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCj4gaHR0cHM6Ly9saXN0cy54
ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA0KX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVsIG1haWxpbmcg
bGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w
cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 17:16:48 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 17:16:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eel8n-0004dA-Su; Thu, 25 Jan 2018 17:16:45 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1eel8n-0004cu-B8
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 17:16:45 +0000
Date: Thu, 25 Jan 2018 17:16:45 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <17697575.3.1516900611062.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_2_23877899.1516900605719"
X-Jenkins-Job: XENIFACE-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENIFACE-master - Build #71 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_2_23877899.1516900605719
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #71.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENIFACE-master/71/console to view the results.
------=_Part_2_23877899.1516900605719
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_2_23877899.1516900605719--


From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 18:10:22 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 18:10:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eelyf-00015s-5k; Thu, 25 Jan 2018 18:10:21 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1eelye-000154-0H
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 18:10:20 +0000
Date: Thu, 25 Jan 2018 18:10:20 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <29769542.5.1516903825752.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_4_13562044.1516903820689"
X-Jenkins-Job: XENVBD-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENVBD-master - Build #104 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_4_13562044.1516903820689
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #104.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENVBD-master/104/console to view the results.
------=_Part_4_13562044.1516903820689
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_4_13562044.1516903820689--


From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 18:11:06 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 18:11:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eelzO-00018T-98; Thu, 25 Jan 2018 18:11:06 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1eelzN-00018N-El
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 18:11:05 +0000
Date: Thu, 25 Jan 2018 18:11:06 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <6425304.7.1516903871205.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_6_3129246.1516903866173"
X-Jenkins-Job: XENHID-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENHID-master - Build #4 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_6_3129246.1516903866173
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #4.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENHID-master/4/console to view the results.
------=_Part_6_3129246.1516903866173
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_6_3129246.1516903866173--


From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 18:12:31 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 18:12:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eem0l-0001BD-EX; Thu, 25 Jan 2018 18:12:31 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1eem0j-0001B5-Se
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 18:12:29 +0000
Date: Thu, 25 Jan 2018 18:12:30 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <32185111.9.1516903955642.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_8_8971693.1516903950611"
X-Jenkins-Job: XENVKBD-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENVKBD-master - Build #8 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_8_8971693.1516903950611
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #8.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENVKBD-master/8/console to view the results.
------=_Part_8_8971693.1516903950611
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_8_8971693.1516903950611--


From win-pv-devel-bounces@lists.xenproject.org Thu Jan 25 20:36:01 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Jan 2018 20:36:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eeoFa-00047l-0i; Thu, 25 Jan 2018 20:35:58 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1eeoFZ-00046y-Hk
 for win-pv-devel@lists.xenproject.org; Thu, 25 Jan 2018 20:35:57 +0000
Date: Thu, 25 Jan 2018 20:35:58 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <23982999.11.1516912563397.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_10_14049580.1516912558209"
X-Jenkins-Job: XENCONS-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENCONS-master - Build #9 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_10_14049580.1516912558209
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #9.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENCONS-master/9/console to view the results.
------=_Part_10_14049580.1516912558209
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_10_14049580.1516912558209--


From win-pv-devel-bounces@lists.xenproject.org Fri Jan 26 00:14:48 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 26 Jan 2018 00:14:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eerfJ-0002cM-By; Fri, 26 Jan 2018 00:14:45 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1eerfI-0002cE-3S
 for win-pv-devel@lists.xenproject.org; Fri, 26 Jan 2018 00:14:44 +0000
Date: Fri, 26 Jan 2018 00:14:45 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <31082025.13.1516925690106.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_12_12330174.1516925685075"
X-Jenkins-Job: XENBUS-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENBUS-master - Build #153 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_12_12330174.1516925685075
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #153.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENBUS-master/153/console to view the results.
------=_Part_12_12330174.1516925685075
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_12_12330174.1516925685075--


From win-pv-devel-bounces@lists.xenproject.org Fri Jan 26 15:16:34 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 26 Jan 2018 15:16:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1ef5jy-00088b-8X; Fri, 26 Jan 2018 15:16:30 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=by4x=ev=citrix.com=prvs=5576418f1=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1ef5jx-00088V-Fg
 for win-pv-devel@lists.xenproject.org; Fri, 26 Jan 2018 15:16:29 +0000
X-Inumbo-ID: dd536cdb-02ab-11e8-ba59-bc764e045a96
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id dd536cdb-02ab-11e8-ba59-bc764e045a96;
 Fri, 26 Jan 2018 16:16:21 +0100 (CET)
X-IronPort-AV: E=Sophos;i="5.46,417,1511827200"; d="scan'208";a="459843512"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Fri, 26 Jan 2018 15:16:14 +0000
Message-ID: <1516979774-151-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH] Don't use KTIMERs in receive path
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

VGhleSBhcHBlYXIgdG8gYWx3YXlzIGRlZmVyIGJ5IGF0IGxlYXN0IG9uZSB0aW1lciB0aWNrLCB3
aGljaCBpcyBhYm91dCAxNm1zCmJ5IGRlZmF1bHQuLi4ganVzdCB0b28gbG9uZy4KCkluc3RlYWQs
IHRvIGF2b2lkIERQQyB3YXRjaGRvZyBpc3N1ZXMgaW4gdGhlIE1QRV9FdGhlcm5ldCB0ZXN0LCB1
c2UgYQp0aHJlYWRlZCBEUEMuIFRoaXMgaXMgYSByZWFsLXRpbWUgdGhyZWFkIHRoYXQgY2FuIGJl
IHByZS1lbXB0ZWQgYnkgbm9ybWFsCkRQQ3MgYnV0IG5vdCBieSBzdGFuZGFyZCBzeXN0ZW0gdGhy
ZWFkcy4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5j
b20+Ci0tLQogc3JjL3hlbnZpZi9wb2xsZXIuYyB8IDEzNiArKysrKysrKysrKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjcgaW5zZXJ0
aW9ucygrKSwgMTA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy94ZW52aWYvcG9sbGVy
LmMgYi9zcmMveGVudmlmL3BvbGxlci5jCmluZGV4IGJhM2ZiY2YuLmE3Y2UzN2EgMTAwNjQ0Ci0t
LSBhL3NyYy94ZW52aWYvcG9sbGVyLmMKKysrIGIvc3JjL3hlbnZpZi9wb2xsZXIuYwpAQCAtODAs
OCArODAsNiBAQCBzdHJ1Y3QgX1hFTlZJRl9QT0xMRVJfSU5TVEFOQ0UgewogICAgIEtTUElOX0xP
Q0sgICAgICAgICAgICAgIExvY2s7CiAgICAgS0RQQyAgICAgICAgICAgICAgICAgICAgRHBjOwog
ICAgIFVMT05HICAgICAgICAgICAgICAgICAgIERwY3M7Ci0gICAgS1RJTUVSICAgICAgICAgICAg
ICAgICAgVGltZXI7Ci0gICAgS0RQQyAgICAgICAgICAgICAgICAgICAgVGltZXJEcGM7CiAgICAg
UFhFTlZJRl9QT0xMRVJfQ0hBTk5FTCAgQ2hhbm5lbFtYRU5WSUZfUE9MTEVSX0NIQU5ORUxfVFlQ
RV9DT1VOVF07CiAgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgRW5hYmxlZDsKICAgICBMT05H
ICAgICAgICAgICAgICAgICAgICBQZW5kaW5nOwpAQCAtNTMzLDYzICs1MzEsOSBAQCBkb25lOgog
ICAgIEtlUmVsZWFzZVNwaW5Mb2NrRnJvbURwY0xldmVsKCZJbnN0YW5jZS0+TG9jayk7CiB9CiAK
LSNkZWZpbmUgVElNRV9VUyhfdXMpICAgICAgICAoKF91cykgKiAxMCkKLSNkZWZpbmUgVElNRV9N
UyhfbXMpICAgICAgICAoVElNRV9VUygoX21zKSAqIDEwMDApKQotI2RlZmluZSBUSU1FX1MoX3Mp
ICAgICAgICAgIChUSU1FX01TKChfcykgKiAxMDAwKSkKLSNkZWZpbmUgVElNRV9SRUxBVElWRShf
dCkgICAoLShfdCkpCi0KLV9fZHJ2X3JlcXVpcmVzSVJRTChESVNQQVRDSF9MRVZFTCkKLXN0YXRp
YyBWT0lECi1Qb2xsZXJJbnN0YW5jZURlZmVyKAotICAgIElOICBQWEVOVklGX1BPTExFUl9JTlNU
QU5DRSBJbnN0YW5jZQotICAgICkKLXsKLSAgICBMQVJHRV9JTlRFR0VSICAgICAgICAgICAgICAg
RGVsYXk7Ci0KLSAgICBBU1NFUlQzVShLZUdldEN1cnJlbnRJcnFsKCksID09LCBESVNQQVRDSF9M
RVZFTCk7Ci0KLSAgICBLZUFjcXVpcmVTcGluTG9ja0F0RHBjTGV2ZWwoJkluc3RhbmNlLT5Mb2Nr
KTsKLQotICAgIGlmICghSW5zdGFuY2UtPkVuYWJsZWQpCi0gICAgICAgIGdvdG8gZG9uZTsKLQot
ICAgIERlbGF5LlF1YWRQYXJ0ID0gVElNRV9SRUxBVElWRShUSU1FX1VTKDEwMCkpOwotICAgIEtl
U2V0VGltZXIoJkluc3RhbmNlLT5UaW1lciwgRGVsYXksICZJbnN0YW5jZS0+VGltZXJEcGMpOwot
Ci1kb25lOgotICAgIEtlUmVsZWFzZVNwaW5Mb2NrRnJvbURwY0xldmVsKCZJbnN0YW5jZS0+TG9j
ayk7Ci19Ci0KLXN0YXRpYyBGT1JDRUlOTElORSBCT09MRUFOCi1Qb2xsZXJJbnN0YW5jZURwY1Rp
bWVvdXQoCi0gICAgSU4gIFBYRU5WSUZfUE9MTEVSX0lOU1RBTkNFIEluc3RhbmNlCi0gICAgKQot
ewotICAgIEtEUENfV0FUQ0hET0dfSU5GT1JNQVRJT04gICBXYXRjaGRvZzsKLSAgICBOVFNUQVRV
UyAgICAgICAgICAgICAgICAgICAgc3RhdHVzOwotCi0gICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRF
UihJbnN0YW5jZSk7Ci0KLSAgICBSdGxaZXJvTWVtb3J5KCZXYXRjaGRvZywgc2l6ZW9mIChXYXRj
aGRvZykpOwotCi0gICAgc3RhdHVzID0gS2VRdWVyeURwY1dhdGNoZG9nSW5mb3JtYXRpb24oJldh
dGNoZG9nKTsKLSAgICBBU1NFUlQoTlRfU1VDQ0VTUyhzdGF0dXMpKTsKLQotICAgIGlmIChXYXRj
aGRvZy5EcGNUaW1lTGltaXQgPT0gMCB8fAotICAgICAgICBXYXRjaGRvZy5EcGNXYXRjaGRvZ0xp
bWl0ID09IDApCi0gICAgICAgIHJldHVybiBGQUxTRTsKLQotICAgIGlmIChXYXRjaGRvZy5EcGNU
aW1lQ291bnQgPiAoV2F0Y2hkb2cuRHBjVGltZUxpbWl0IC8gMikgJiYKLSAgICAgICAgV2F0Y2hk
b2cuRHBjV2F0Y2hkb2dDb3VudCA+IChXYXRjaGRvZy5EcGNXYXRjaGRvZ0xpbWl0IC8gMikpCi0g
ICAgICAgIHJldHVybiBGQUxTRTsKLQotICAgIHJldHVybiBUUlVFOwotfQotCiBfX2Rydl9mdW5j
dGlvbkNsYXNzKEtERUZFUlJFRF9ST1VUSU5FKQogX19kcnZfbWF4SVJRTChESVNQQVRDSF9MRVZF
TCkKLV9fZHJ2X21pbklSUUwoRElTUEFUQ0hfTEVWRUwpCi1fX2Rydl9yZXF1aXJlc0lSUUwoRElT
UEFUQ0hfTEVWRUwpCitfX2Rydl9taW5JUlFMKFBBU1NJVkVfTEVWRUwpCiBfX2Rydl9zYW1lSVJR
TAogc3RhdGljIFZPSUQKIFBvbGxlckluc3RhbmNlRHBjKApAQCAtNjEzLDggKzU1NywxNyBAQCBQ
b2xsZXJJbnN0YW5jZURwYygKICAgICBGcm9udGVuZCA9IFBvbGxlci0+RnJvbnRlbmQ7CiAKICAg
ICBmb3IgKDs7KSB7CisgICAgICAgIEJPT0xFQU4gRW5hYmxlZDsKICAgICAgICAgQk9PTEVBTiBO
ZWVkUmVjZWl2ZXJQb2xsOwogICAgICAgICBCT09MRUFOIE5lZWRUcmFuc21pdHRlclBvbGw7Cisg
ICAgICAgIEtJUlFMICAgSXJxbDsKKworICAgICAgICBLZUFjcXVpcmVTcGluTG9jaygmSW5zdGFu
Y2UtPkxvY2ssICZJcnFsKTsKKyAgICAgICAgRW5hYmxlZCA9IEluc3RhbmNlLT5FbmFibGVkOwor
ICAgICAgICBLZVJlbGVhc2VTcGluTG9jaygmSW5zdGFuY2UtPkxvY2ssIElycWwpOworCisgICAg
ICAgIGlmICghRW5hYmxlZCkKKyAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIE5lZWRSZWNl
aXZlclBvbGwgPQogICAgICAgICAgICAgKEludGVybG9ja2VkQml0VGVzdEFuZFJlc2V0KCZJbnN0
YW5jZS0+UGVuZGluZywKQEAgLTYzMyw4ICs1ODYsMTIgQEAgUG9sbGVySW5zdGFuY2VEcGMoCiAK
ICAgICAgICAgaWYgKE5lZWRSZWNlaXZlclBvbGwpCiAgICAgICAgIHsKLSAgICAgICAgICAgIEJP
T0xFQU4gUmV0cnkgPSBSZWNlaXZlclBvbGwoRnJvbnRlbmRHZXRSZWNlaXZlcihGcm9udGVuZCks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbmNlLT5JbmRl
eCk7CisgICAgICAgICAgICBCT09MRUFOIFJldHJ5OworCisgICAgICAgICAgICBLZVJhaXNlSXJx
bChESVNQQVRDSF9MRVZFTCwgJklycWwpOworCisgICAgICAgICAgICBSZXRyeSA9IFJlY2VpdmVy
UG9sbChGcm9udGVuZEdldFJlY2VpdmVyKEZyb250ZW5kKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEluc3RhbmNlLT5JbmRleCk7CiAKICAgICAgICAgICAgIGlmICghUmV0cnkp
IHsKICAgICAgICAgICAgICAgICBQb2xsZXJJbnN0YW5jZVVubWFzayhJbnN0YW5jZSwgWEVOVklG
X1BPTExFUl9FVkVOVF9SRUNFSVZFKTsKQEAgLTY0MiwxMiArNTk5LDE4IEBAIFBvbGxlckluc3Rh
bmNlRHBjKAogICAgICAgICAgICAgICAgIChWT0lEKSBJbnRlcmxvY2tlZEJpdFRlc3RBbmRTZXQo
Jkluc3RhbmNlLT5QZW5kaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgWEVOVklGX1BPTExFUl9FVkVOVF9SRUNFSVZFKTsKICAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgS2VMb3dlcklycWwoSXJxbCk7CiAgICAgICAgIH0KIAogICAgICAgICBp
ZiAoTmVlZFRyYW5zbWl0dGVyUG9sbCkKICAgICAgICAgewotICAgICAgICAgICAgQk9PTEVBTiBS
ZXRyeSA9IFRyYW5zbWl0dGVyUG9sbChGcm9udGVuZEdldFRyYW5zbWl0dGVyKEZyb250ZW5kKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFuY2UtPklu
ZGV4KTsKKyAgICAgICAgICAgIEJPT0xFQU4gUmV0cnk7CisKKyAgICAgICAgICAgIEtlUmFpc2VJ
cnFsKERJU1BBVENIX0xFVkVMLCAmSXJxbCk7CisKKyAgICAgICAgICAgIFJldHJ5ID0gVHJhbnNt
aXR0ZXJQb2xsKEZyb250ZW5kR2V0VHJhbnNtaXR0ZXIoRnJvbnRlbmQpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFuY2UtPkluZGV4KTsKIAogICAgICAgICAgICAg
aWYgKCFSZXRyeSkgewogICAgICAgICAgICAgICAgIFBvbGxlckluc3RhbmNlVW5tYXNrKEluc3Rh
bmNlLCBYRU5WSUZfUE9MTEVSX0VWRU5UX1RSQU5TTUlUKTsKQEAgLTY1NSw0OCArNjE4LDEyIEBA
IFBvbGxlckluc3RhbmNlRHBjKAogICAgICAgICAgICAgICAgIChWT0lEKSBJbnRlcmxvY2tlZEJp
dFRlc3RBbmRTZXQoJkluc3RhbmNlLT5QZW5kaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgWEVOVklGX1BPTExFUl9FVkVOVF9UUkFOU01JVCk7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgIH0KIAotICAgICAgICBpZiAoUG9sbGVySW5zdGFuY2VEcGNU
aW1lb3V0KEluc3RhbmNlKSkgewotICAgICAgICAgICAgUG9sbGVySW5zdGFuY2VEZWZlcihJbnN0
YW5jZSk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIEtlTG93ZXJJcnFsKElycWwp
OwogICAgICAgICB9CiAgICAgfQogfQogCi1fX2Rydl9mdW5jdGlvbkNsYXNzKEtERUZFUlJFRF9S
T1VUSU5FKQotX19kcnZfbWF4SVJRTChESVNQQVRDSF9MRVZFTCkKLV9fZHJ2X21pbklSUUwoRElT
UEFUQ0hfTEVWRUwpCi1fX2Rydl9yZXF1aXJlc0lSUUwoRElTUEFUQ0hfTEVWRUwpCi1fX2Rydl9z
YW1lSVJRTAotc3RhdGljIFZPSUQKLVBvbGxlckluc3RhbmNlVGltZXJEcGMoCi0gICAgSU4gIFBL
RFBDICAgICAgICAgICAgICAgRHBjLAotICAgIElOICBQVk9JRCAgICAgICAgICAgICAgIENvbnRl
eHQsCi0gICAgSU4gIFBWT0lEICAgICAgICAgICAgICAgQXJndW1lbnQxLAotICAgIElOICBQVk9J
RCAgICAgICAgICAgICAgIEFyZ3VtZW50MgotICAgICkKLXsKLSAgICBQWEVOVklGX1BPTExFUl9J
TlNUQU5DRSBJbnN0YW5jZSA9IENvbnRleHQ7Ci0KLSAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVS
KERwYyk7Ci0gICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihBcmd1bWVudDEpOwotICAgIFVOUkVG
RVJFTkNFRF9QQVJBTUVURVIoQXJndW1lbnQyKTsKLQotICAgIEFTU0VSVChJbnN0YW5jZSAhPSBO
VUxMKTsKLQotICAgIEtlQWNxdWlyZVNwaW5Mb2NrQXREcGNMZXZlbCgmSW5zdGFuY2UtPkxvY2sp
OwotCi0gICAgaWYgKCFJbnN0YW5jZS0+RW5hYmxlZCkKLSAgICAgICAgZ290byBkb25lOwotCi0g
ICAgaWYgKEtlSW5zZXJ0UXVldWVEcGMoJkluc3RhbmNlLT5EcGMsIE5VTEwsIE5VTEwpKQotICAg
ICAgICBJbnN0YW5jZS0+RHBjcysrOwotCi1kb25lOgotICAgIEtlUmVsZWFzZVNwaW5Mb2NrRnJv
bURwY0xldmVsKCZJbnN0YW5jZS0+TG9jayk7Ci19Ci0KIHN0YXRpYyBOVFNUQVRVUwogUG9sbGVy
SW5zdGFuY2VJbml0aWFsaXplKAogICAgIElOICBQWEVOVklGX1BPTExFUiAgICAgICAgICBQb2xs
ZXIsCkBAIC03MzYsOSArNjYzLDcgQEAgUG9sbGVySW5zdGFuY2VJbml0aWFsaXplKAogCiAgICAg
S2VJbml0aWFsaXplU3BpbkxvY2soJigqSW5zdGFuY2UpLT5Mb2NrKTsKIAotICAgIEtlSW5pdGlh
bGl6ZURwYygmKCpJbnN0YW5jZSktPkRwYywgUG9sbGVySW5zdGFuY2VEcGMsICpJbnN0YW5jZSk7
Ci0gICAgS2VJbml0aWFsaXplVGltZXIoJigqSW5zdGFuY2UpLT5UaW1lcik7Ci0gICAgS2VJbml0
aWFsaXplRHBjKCYoKkluc3RhbmNlKS0+VGltZXJEcGMsIFBvbGxlckluc3RhbmNlVGltZXJEcGMs
ICpJbnN0YW5jZSk7CisgICAgS2VJbml0aWFsaXplVGhyZWFkZWREcGMoJigqSW5zdGFuY2UpLT5E
cGMsIFBvbGxlckluc3RhbmNlRHBjLCAqSW5zdGFuY2UpOwogCiAgICAgcmV0dXJuIFNUQVRVU19T
VUNDRVNTOwogCkBAIC03ODYsNiArNzExLDcgQEAgUG9sbGVySW5zdGFuY2VDb25uZWN0KAogICAg
IEFTU0VSVChOVF9TVUNDRVNTKHN0YXR1cykpOwogCiAgICAgS2VTZXRUYXJnZXRQcm9jZXNzb3JE
cGNFeCgmSW5zdGFuY2UtPkRwYywgJlByb2NOdW1iZXIpOworICAgIEtlU2V0SW1wb3J0YW5jZURw
YygmSW5zdGFuY2UtPkRwYywgTWVkaXVtSGlnaEltcG9ydGFuY2UpOwogCiAgICAgZm9yIChUeXBl
ID0gMDsgVHlwZSA8IFhFTlZJRl9QT0xMRVJfQ0hBTk5FTF9UWVBFX0NPVU5UOyBUeXBlKyspCiAg
ICAgewpAQCAtOTc4LDEyICs5MDQsNiBAQCBQb2xsZXJJbnN0YW5jZURpc2FibGUoCiAgICAgS2VB
Y3F1aXJlU3BpbkxvY2tBdERwY0xldmVsKCZJbnN0YW5jZS0+TG9jayk7CiAgICAgSW5zdGFuY2Ut
PkVuYWJsZWQgPSBGQUxTRTsKICAgICBLZVJlbGVhc2VTcGluTG9ja0Zyb21EcGNMZXZlbCgmSW5z
dGFuY2UtPkxvY2spOwotCi0gICAgLy8KLSAgICAvLyBObyBuZXcgdGltZXJzIGNhbiBiZSBzY2hl
ZHVsZWQgb25jZSBFbmFibGVkIGdvZXMgdG8gRkFMU0UuCi0gICAgLy8gQ2FuY2VsIGFueSBleGlz
dGluZyBvbmVzLgotICAgIC8vCi0gICAgKFZPSUQpIEtlQ2FuY2VsVGltZXIoJkluc3RhbmNlLT5U
aW1lcik7CiB9CiAKIF9fZHJ2X3JlcXVpcmVzSVJRTChESVNQQVRDSF9MRVZFTCkKQEAgLTEwMjQs
OCArOTQ0LDYgQEAgUG9sbGVySW5zdGFuY2VUZWFyZG93bigKICAgICBQb2xsZXIgPSBJbnN0YW5j
ZS0+UG9sbGVyOwogICAgIEZyb250ZW5kID0gUG9sbGVyLT5Gcm9udGVuZDsKIAotICAgIFJ0bFpl
cm9NZW1vcnkoJkluc3RhbmNlLT5UaW1lckRwYywgc2l6ZW9mIChLRFBDKSk7Ci0gICAgUnRsWmVy
b01lbW9yeSgmSW5zdGFuY2UtPlRpbWVyLCBzaXplb2YgKEtUSU1FUikpOwogICAgIFJ0bFplcm9N
ZW1vcnkoJkluc3RhbmNlLT5EcGMsIHNpemVvZiAoS0RQQykpOwogCiAgICAgUnRsWmVyb01lbW9y
eSgmSW5zdGFuY2UtPkxvY2ssIHNpemVvZiAoS1NQSU5fTE9DSykpOwotLSAKMi41LjMKCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwg
bWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp
c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Fri Jan 26 22:27:20 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 26 Jan 2018 22:27:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1efCSr-0001e1-Mt; Fri, 26 Jan 2018 22:27:17 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <srs0=shem=ev=qrpff.net=stevie@srs-us1.protection.inumbo.net>)
 id 1efCSq-0001dv-Tb
 for win-pv-devel@lists.xenproject.org; Fri, 26 Jan 2018 22:27:17 +0000
X-Inumbo-ID: 150288f1-02e8-11e8-b9b1-635ca7ef6cff
Received: from homiemail-a44.g.dreamhost.com (unknown [208.113.200.129])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 150288f1-02e8-11e8-b9b1-635ca7ef6cff;
 Fri, 26 Jan 2018 22:27:24 +0000 (UTC)
Received: from homiemail-a44.g.dreamhost.com (localhost [127.0.0.1])
 by homiemail-a44.g.dreamhost.com (Postfix) with ESMTP id 373D96005933
 for <win-pv-devel@lists.xenproject.org>; Fri, 26 Jan 2018 14:27:09 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=qrpff.net; h=mime-version
 :in-reply-to:references:from:date:message-id:subject:to:cc
 :content-type; s=qrpff.net; bh=EHIsAsYMXgS1jowF3I/kMphhCcs=; b=q
 Nde5EqT82VOKUWwH9E/NzuzxLWfjmd4xybfHUxncD3oN0fTbIGkjazCpLcZxmUQ4
 RG0HrbmJxtJjNyQ7U+18NNxEJB1idMQbYte1yoP0VKB5nLDneLDaUtMzhak6/9X+
 Uv1GXuCRaYbd17T5cyuIoK0iXRpPgpeSaXHuG+hyJY=
Received: from mail-wr0-f169.google.com (mail-wr0-f169.google.com
 [209.85.128.169])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 (Authenticated sender: stevie@qrpff.net)
 by homiemail-a44.g.dreamhost.com (Postfix) with ESMTPSA id 38C2F6005936
 for <win-pv-devel@lists.xenproject.org>; Fri, 26 Jan 2018 14:27:08 -0800 (PST)
Received: by mail-wr0-f169.google.com with SMTP id 16so1740305wry.12
 for <win-pv-devel@lists.xenproject.org>; Fri, 26 Jan 2018 14:27:08 -0800 (PST)
X-Gm-Message-State: AKwxytdFnyOrWnxWARZSI/0zCw+0WCQZYN8cRVpqWfebO5+3EwA7U+2F
 tLBkQWYg54KaRn4ZBb5bMf4sEG0LaaO3bildDlM=
X-Google-Smtp-Source: AH8x2251zv5ky2XtgvyASEwDIW7qGFotxCG1kNnZrLzz7Yye7mOQHC7aclgCegwyB/NHqZZ9KFER1P1Ujp73CakHiWY=
X-Received: by 10.223.178.9 with SMTP id u9mr11915620wra.149.1517005626526;
 Fri, 26 Jan 2018 14:27:06 -0800 (PST)
MIME-Version: 1.0
Received: by 10.28.91.7 with HTTP; Fri, 26 Jan 2018 14:27:06 -0800 (PST)
In-Reply-To: <72dbf3ebe56a483ba120a91ba26dd881@AMSPEX02CL03.citrite.net>
References: <20180124140515.12284-1-owen.smith@citrix.com>
 <20180124140515.12284-6-owen.smith@citrix.com>
 <72dbf3ebe56a483ba120a91ba26dd881@AMSPEX02CL03.citrite.net>
From: Stephen Oberholtzer <stevie@qrpff.net>
Date: Fri, 26 Jan 2018 17:27:06 -0500
X-Gmail-Original-Message-ID: <CAD_xR9fJ3Rb8GyC6qcxaKBPcG7QxBzWabFMozKEbd3c8Z5t4Fg@mail.gmail.com>
Message-ID: <CAD_xR9fJ3Rb8GyC6qcxaKBPcG7QxBzWabFMozKEbd3c8Z5t4Fg@mail.gmail.com>
To: Paul Durrant <Paul.Durrant@citrix.com>
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>,
 Owen Smith <owen.smith@citrix.com>
Subject: Re: [win-pv-devel] [PATCH 05/14] Add a short Sleep between
	CreateFile calls
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1102851948456727491=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

--===============1102851948456727491==
Content-Type: multipart/alternative; boundary="f403045eaca87dd3490563b56509"

--f403045eaca87dd3490563b56509
Content-Type: text/plain; charset="UTF-8"

On Thu, Jan 25, 2018 at 11:37 AM, Paul Durrant <Paul.Durrant@citrix.com>
wrote:
<snip>

> > +    // add a small delay here, to prevent the second CreateFile
> returning with
> > +    // all pipe instances busy - this gives the server end some time to
> spawn
> > +    // the read pipe and return to ConnectNamedPipe
> > +    Sleep(50);
> > +
> >      Context->Device.Write = CreateFile(PIPE_NAME,
> >                                         GENERIC_WRITE,
> >                                         FILE_SHARE_READ |
> FILE_SHARE_WRITE,
>
> I'm not fan of arbitrary delays. Could you handle this by catching the
> error and retrying instead?
>
>   Paul
>
>
First, to Owen: It would be very helpful to have some context on these
patches.  I had to really root around to discover that these patches were
for a repo called "xencons".

Second, to Paul:

You are correct - this Sleep(50) really should be replaced by
WaitNamedPipe(50), and it should probably be done for *both* CreateFile
calls, not just the one.

Background:
I believe it would be most helpful to start with the key differences
between accepting a socket connection and accepting a Win32 named pipe
connection.

To start accepting socket connections, you call listen() with a parameter
(I usually use 5 or so).   This parameter, called "backlog", represents the
maximum number of pending connection requests against that socket. If
connections come in and there isn't an active accept() call running against
the socket, it will go into the backlog, and the next accept() call will
pull that connection off the backlog and create a new socket to operate on.
If the backlog is full, the OS will immediately reject the connection
request with a "connection refused" error code.

To accept a named pipe connection, you create a named pipe with
CreateNamedPipe (which does exactly what the name implies) then call
ConnectNamedPipe (which actually means "wait for a client to connect to the
named pipe").
In socket terms, CreateNamedPipe is a combination of socket() and listen(),
while ConnectNamedPipe is like accept(). The key difference is this:
accept() creates a socket and leaves the listening socket ready for new
connections, while ConnectNamedPipe actually converts the passed pipe from
a listening pipe to a connected pipe.  Because of this, a named pipe
instance is limited to a backlog of 1. In order to accept multiple clients
simultaneously, a server needs to create multiple instances of each pipe.
Just like in sockets, attempting to connect when the backlog is full will
result in 'named pipe busy' error.

To help deal with this problem, the WaitNamedPipe function waits, with a
timeout, until an unconnected pipe instance is available (either a
connected pipe is disconnected and put back into a listening state, or a
new pipe instance is created.).
Note that this function does not *claim* an instance, it only waits until
one exists.  So it's possible to have WaitNamedPipe to return success, then
another thread jumps in and grabs it before you can, and CreateFile fails
anyway.  This caveat is specifically called out in the WaitNamedPipe
documentation.

-- 
-- Stevie-O
Real programmers use COPY CON PROGRAM.EXE

--f403045eaca87dd3490563b56509
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Thu, Jan 25, 2018 at 11:37 AM, Paul Durrant <span dir=3D"ltr">&lt;<a=
 href=3D"mailto:Paul.Durrant@citrix.com" target=3D"_blank">Paul.Durrant@cit=
rix.com</a>&gt;</span> wrote:</div><div class=3D"gmail_quote">&lt;snip&gt;<=
br></div><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div cla=
ss=3D"HOEnZb"><div class=3D"h5">&gt; +=C2=A0 =C2=A0 // add a small delay he=
re, to prevent the second CreateFile returning with<br>
&gt; +=C2=A0 =C2=A0 // all pipe instances busy - this gives the server end =
some time to spawn<br>
&gt; +=C2=A0 =C2=A0 // the read pipe and return to ConnectNamedPipe<br>
&gt; +=C2=A0 =C2=A0 Sleep(50);<br>
&gt; +<br>
&gt;=C2=A0 =C2=A0 =C2=A0 Context-&gt;Device.Write =3D CreateFile(PIPE_NAME,=
<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0GENERIC_WRITE,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0FILE_SHARE_READ | FILE_SHARE_WRITE,<br>
<br>
</div></div>I&#39;m not fan of arbitrary delays. Could you handle this by c=
atching the error and retrying instead?<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
=C2=A0 Paul<br>
</font></span><div class=3D"HOEnZb"><div class=3D"h5"><br clear=3D"all"></d=
iv></div></blockquote></div></div><div class=3D"gmail_extra">
<div><div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">First,=
 to Owen: It would be very helpful=20
to have some context on these patches.=C2=A0 I had to really root around to=
=20
discover that these patches were for a repo called &quot;xencons&quot;.<br>=
</div><div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">Secon=
d, to Paul:</div><div class=3D"gmail_extra"><br></div><div class=3D"gmail_e=
xtra">You
 are correct - this Sleep(50) really should be replaced by=20
WaitNamedPipe(50), and it should probably be done for *both* CreateFile=20
calls, not just the one.</div></div><div><br><div class=3D"gmail_extra">Bac=
kground:<br></div><div class=3D"gmail_extra">I
 believe it would be most helpful to start with the key differences=20
between accepting a socket connection and accepting a Win32 named pipe=20
connection.</div><div class=3D"gmail_extra"><br></div><div class=3D"gmail_e=
xtra">To
 start accepting socket connections, you call listen() with a parameter=20
(I usually use 5 or so).=C2=A0=C2=A0 This parameter, called &quot;backlog&q=
uot;, represents=20
the maximum number of pending connection requests against that socket.=20
If connections come in and there isn&#39;t an active accept() call running=
=20
against the socket, it will go into the backlog, and the next accept()=20
call will pull that connection off the backlog and create a new socket=20
to operate on. If the backlog is full, the OS will immediately reject=20
the connection request with a &quot;connection refused&quot; error code.</d=
iv><div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">To
 accept a named pipe connection, you create a named pipe with=20
CreateNamedPipe (which does exactly what the name implies) then call=20
ConnectNamedPipe (which actually means &quot;wait for a client to connect t=
o=20
the named pipe&quot;).</div>In socket terms, CreateNamedPipe is a combinati=
on
 of socket() and listen(), while ConnectNamedPipe is like accept(). The=20
key difference is this: accept() creates a socket and leaves the=20
listening socket ready for new connections, while ConnectNamedPipe=20
actually converts the passed pipe from a listening pipe to a connected=20
pipe.=C2=A0 Because of this, a named pipe instance is limited to a backlog =
of
 1. In order to accept multiple clients simultaneously, a server needs=20
to create multiple instances of each pipe.<br></div><div>Just like in socke=
ts, attempting to connect when the backlog is full will result in &#39;name=
d pipe busy&#39; error.<br></div><div><br></div><div>To
 help deal with this problem, the WaitNamedPipe function waits, with a=20
timeout, until an unconnected pipe instance is available (either a=20
connected pipe is disconnected and put back into a listening state, or a
 new pipe instance is created.).</div><div class=3D"gmail_extra">Note that
 this function does not *claim* an instance, it only waits until one=20
exists.=C2=A0 So it&#39;s possible to have WaitNamedPipe to return success,=
 then=20
another thread jumps in and grabs it before you can, and CreateFile=20
fails anyway.=C2=A0 This caveat is specifically called out in the=20
WaitNamedPipe documentation.</div>

</div><div class=3D"gmail_extra"><br>-- <br><div class=3D"gmail_signature" =
data-smartmail=3D"gmail_signature">-- Stevie-O<br>Real programmers use COPY=
 CON PROGRAM.EXE<br><br></div>
</div></div>

--f403045eaca87dd3490563b56509--


--===============1102851948456727491==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

--===============1102851948456727491==--


From win-pv-devel-bounces@lists.xenproject.org Sat Jan 27 01:09:35 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 27 Jan 2018 01:09:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1efEzs-0002D6-PC; Sat, 27 Jan 2018 01:09:32 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1efEzr-0002CU-Lj
 for win-pv-devel@lists.xenproject.org; Sat, 27 Jan 2018 01:09:31 +0000
Date: Sat, 27 Jan 2018 01:09:33 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <13824465.15.1517015378730.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_14_6252677.1517015373449"
X-Jenkins-Job: XENVIF-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENVIF-master - Build #150 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_14_6252677.1517015373449
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #150.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENVIF-master/150/console to view the results.
------=_Part_14_6252677.1517015373449
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_14_6252677.1517015373449--


From win-pv-devel-bounces@lists.xenproject.org Mon Jan 29 10:00:40 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Jan 2018 10:00:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eg6Et-0008Jo-V7; Mon, 29 Jan 2018 10:00:35 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1eg6Es-0008Jg-IM
 for win-pv-devel@lists.xenproject.org; Mon, 29 Jan 2018 10:00:34 +0000
Date: Mon, 29 Jan 2018 10:00:37 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <8245977.1.1517220044179.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_0_23683073.1517220038054"
X-Jenkins-Job: XENBUS-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENBUS-master - Build #154 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_0_23683073.1517220038054
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #154.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENBUS-master/154/console to view the results.
------=_Part_0_23683073.1517220038054
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_0_23683073.1517220038054--


From win-pv-devel-bounces@lists.xenproject.org Mon Jan 29 10:20:48 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Jan 2018 10:20:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1eg6YR-0001GJ-TN; Mon, 29 Jan 2018 10:20:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=u9of=ey=citrix.com=prvs=560f5621e=owen.smith@srs-us1.protection.inumbo.net>)
 id 1eg6YR-0001GD-Cp
 for win-pv-devel@lists.xenproject.org; Mon, 29 Jan 2018 10:20:47 +0000
X-Inumbo-ID: 1a502f25-04de-11e8-b9b1-635ca7ef6cff
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 1a502f25-04de-11e8-b9b1-635ca7ef6cff;
 Mon, 29 Jan 2018 10:21:01 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,429,1511827200"; d="scan'208,217";a="66823590"
From: Owen Smith <owen.smith@citrix.com>
To: Stephen Oberholtzer <stevie@qrpff.net>, Paul Durrant
 <Paul.Durrant@citrix.com>
Thread-Topic: [win-pv-devel] [PATCH 05/14] Add a short Sleep between
 CreateFile calls
Thread-Index: AQHTlvTTVbXyP3OUTkuIQm75wbWPfaOKpqFw
Date: Mon, 29 Jan 2018 10:20:37 +0000
Message-ID: <9c64f2c553d740d3a1763f3392d29501@AMSPEX02CL02.citrite.net>
References: <20180124140515.12284-1-owen.smith@citrix.com>
 <20180124140515.12284-6-owen.smith@citrix.com>
 <72dbf3ebe56a483ba120a91ba26dd881@AMSPEX02CL03.citrite.net>
 <CAD_xR9fJ3Rb8GyC6qcxaKBPcG7QxBzWabFMozKEbd3c8Z5t4Fg@mail.gmail.com>
In-Reply-To: <CAD_xR9fJ3Rb8GyC6qcxaKBPcG7QxBzWabFMozKEbd3c8Z5t4Fg@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Subject: Re: [win-pv-devel] [PATCH 05/14] Add a short Sleep between
 CreateFile calls
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6719769474027130184=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

--===============6719769474027130184==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_9c64f2c553d740d3a1763f3392d29501AMSPEX02CL02citritenet_"

--_000_9c64f2c553d740d3a1763f3392d29501AMSPEX02CL02citritenet_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

U3ViamVjdDogUmU6IFt3aW4tcHYtZGV2ZWxdIFtQQVRDSCAwNS8xNF0gQWRkIGEgc2hvcnQgU2xl
ZXAgYmV0d2VlbiBDcmVhdGVGaWxlIGNhbGxzDQoNCg0KDQpPbiBUaHUsIEphbiAyNSwgMjAxOCBh
dCAxMTozNyBBTSwgUGF1bCBEdXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbTxtYWlsdG86
UGF1bC5EdXJyYW50QGNpdHJpeC5jb20+PiB3cm90ZToNCjxzbmlwPg0KPiArICAgIC8vIGFkZCBh
IHNtYWxsIGRlbGF5IGhlcmUsIHRvIHByZXZlbnQgdGhlIHNlY29uZCBDcmVhdGVGaWxlIHJldHVy
bmluZyB3aXRoDQo+ICsgICAgLy8gYWxsIHBpcGUgaW5zdGFuY2VzIGJ1c3kgLSB0aGlzIGdpdmVz
IHRoZSBzZXJ2ZXIgZW5kIHNvbWUgdGltZSB0byBzcGF3bg0KPiArICAgIC8vIHRoZSByZWFkIHBp
cGUgYW5kIHJldHVybiB0byBDb25uZWN0TmFtZWRQaXBlDQo+ICsgICAgU2xlZXAoNTApOw0KPiAr
DQo+ICAgICAgQ29udGV4dC0+RGV2aWNlLldyaXRlID0gQ3JlYXRlRmlsZShQSVBFX05BTUUsDQo+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRU5FUklDX1dSSVRFLA0K
PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRV9TSEFSRV9SRUFE
IHwgRklMRV9TSEFSRV9XUklURSwNCkknbSBub3QgZmFuIG9mIGFyYml0cmFyeSBkZWxheXMuIENv
dWxkIHlvdSBoYW5kbGUgdGhpcyBieSBjYXRjaGluZyB0aGUgZXJyb3IgYW5kIHJldHJ5aW5nIGlu
c3RlYWQ/DQoNCiAgUGF1bA0KDQoNCkZpcnN0LCB0byBPd2VuOiBJdCB3b3VsZCBiZSB2ZXJ5IGhl
bHBmdWwgdG8gaGF2ZSBzb21lIGNvbnRleHQgb24gdGhlc2UgcGF0Y2hlcy4gIEkgaGFkIHRvIHJl
YWxseSByb290IGFyb3VuZCB0byBkaXNjb3ZlciB0aGF0IHRoZXNlIHBhdGNoZXMgd2VyZSBmb3Ig
YSByZXBvIGNhbGxlZCAieGVuY29ucyIuDQoNCj4+IEFncmVlZCwgSSBub3RpY2VkIHRoaXMgdG9v
IHdpdGggUGF1bHMgc2V0IG9mIHBhdGNoZXMgZml4aW5nIHV0aWwuaCDigJMgQWxsIHJlcG9zIHdp
bGwgbmVlZCB0byBhZGQgYSBsb2NhbCBnaXQgY29uZmlnIG9wdGlvbiB0byB0YWcgdGhlIHBhdGNo
ZXMgYmV0dGVyDQoNClNlY29uZCwgdG8gUGF1bDoNCg0KWW91IGFyZSBjb3JyZWN0IC0gdGhpcyBT
bGVlcCg1MCkgcmVhbGx5IHNob3VsZCBiZSByZXBsYWNlZCBieSBXYWl0TmFtZWRQaXBlKDUwKSwg
YW5kIGl0IHNob3VsZCBwcm9iYWJseSBiZSBkb25lIGZvciAqYm90aCogQ3JlYXRlRmlsZSBjYWxs
cywgbm90IGp1c3QgdGhlIG9uZS4NCg0KPj4gV2FpdE5hbWVkUGlwZSB3aWxsIGJlIHVzZWQgaW4g
djINCg0KQmFja2dyb3VuZDoNCkkgYmVsaWV2ZSBpdCB3b3VsZCBiZSBtb3N0IGhlbHBmdWwgdG8g
c3RhcnQgd2l0aCB0aGUga2V5IGRpZmZlcmVuY2VzIGJldHdlZW4gYWNjZXB0aW5nIGEgc29ja2V0
IGNvbm5lY3Rpb24gYW5kIGFjY2VwdGluZyBhIFdpbjMyIG5hbWVkIHBpcGUgY29ubmVjdGlvbi4N
Cg0KVG8gc3RhcnQgYWNjZXB0aW5nIHNvY2tldCBjb25uZWN0aW9ucywgeW91IGNhbGwgbGlzdGVu
KCkgd2l0aCBhIHBhcmFtZXRlciAoSSB1c3VhbGx5IHVzZSA1IG9yIHNvKS4gICBUaGlzIHBhcmFt
ZXRlciwgY2FsbGVkICJiYWNrbG9nIiwgcmVwcmVzZW50cyB0aGUgbWF4aW11bSBudW1iZXIgb2Yg
cGVuZGluZyBjb25uZWN0aW9uIHJlcXVlc3RzIGFnYWluc3QgdGhhdCBzb2NrZXQuIElmIGNvbm5l
Y3Rpb25zIGNvbWUgaW4gYW5kIHRoZXJlIGlzbid0IGFuIGFjdGl2ZSBhY2NlcHQoKSBjYWxsIHJ1
bm5pbmcgYWdhaW5zdCB0aGUgc29ja2V0LCBpdCB3aWxsIGdvIGludG8gdGhlIGJhY2tsb2csIGFu
ZCB0aGUgbmV4dCBhY2NlcHQoKSBjYWxsIHdpbGwgcHVsbCB0aGF0IGNvbm5lY3Rpb24gb2ZmIHRo
ZSBiYWNrbG9nIGFuZCBjcmVhdGUgYSBuZXcgc29ja2V0IHRvIG9wZXJhdGUgb24uIElmIHRoZSBi
YWNrbG9nIGlzIGZ1bGwsIHRoZSBPUyB3aWxsIGltbWVkaWF0ZWx5IHJlamVjdCB0aGUgY29ubmVj
dGlvbiByZXF1ZXN0IHdpdGggYSAiY29ubmVjdGlvbiByZWZ1c2VkIiBlcnJvciBjb2RlLg0KDQpU
byBhY2NlcHQgYSBuYW1lZCBwaXBlIGNvbm5lY3Rpb24sIHlvdSBjcmVhdGUgYSBuYW1lZCBwaXBl
IHdpdGggQ3JlYXRlTmFtZWRQaXBlICh3aGljaCBkb2VzIGV4YWN0bHkgd2hhdCB0aGUgbmFtZSBp
bXBsaWVzKSB0aGVuIGNhbGwgQ29ubmVjdE5hbWVkUGlwZSAod2hpY2ggYWN0dWFsbHkgbWVhbnMg
IndhaXQgZm9yIGEgY2xpZW50IHRvIGNvbm5lY3QgdG8gdGhlIG5hbWVkIHBpcGUiKS4NCkluIHNv
Y2tldCB0ZXJtcywgQ3JlYXRlTmFtZWRQaXBlIGlzIGEgY29tYmluYXRpb24gb2Ygc29ja2V0KCkg
YW5kIGxpc3RlbigpLCB3aGlsZSBDb25uZWN0TmFtZWRQaXBlIGlzIGxpa2UgYWNjZXB0KCkuIFRo
ZSBrZXkgZGlmZmVyZW5jZSBpcyB0aGlzOiBhY2NlcHQoKSBjcmVhdGVzIGEgc29ja2V0IGFuZCBs
ZWF2ZXMgdGhlIGxpc3RlbmluZyBzb2NrZXQgcmVhZHkgZm9yIG5ldyBjb25uZWN0aW9ucywgd2hp
bGUgQ29ubmVjdE5hbWVkUGlwZSBhY3R1YWxseSBjb252ZXJ0cyB0aGUgcGFzc2VkIHBpcGUgZnJv
bSBhIGxpc3RlbmluZyBwaXBlIHRvIGEgY29ubmVjdGVkIHBpcGUuICBCZWNhdXNlIG9mIHRoaXMs
IGEgbmFtZWQgcGlwZSBpbnN0YW5jZSBpcyBsaW1pdGVkIHRvIGEgYmFja2xvZyBvZiAxLiBJbiBv
cmRlciB0byBhY2NlcHQgbXVsdGlwbGUgY2xpZW50cyBzaW11bHRhbmVvdXNseSwgYSBzZXJ2ZXIg
bmVlZHMgdG8gY3JlYXRlIG11bHRpcGxlIGluc3RhbmNlcyBvZiBlYWNoIHBpcGUuDQpKdXN0IGxp
a2UgaW4gc29ja2V0cywgYXR0ZW1wdGluZyB0byBjb25uZWN0IHdoZW4gdGhlIGJhY2tsb2cgaXMg
ZnVsbCB3aWxsIHJlc3VsdCBpbiAnbmFtZWQgcGlwZSBidXN5JyBlcnJvci4NCg0KVG8gaGVscCBk
ZWFsIHdpdGggdGhpcyBwcm9ibGVtLCB0aGUgV2FpdE5hbWVkUGlwZSBmdW5jdGlvbiB3YWl0cywg
d2l0aCBhIHRpbWVvdXQsIHVudGlsIGFuIHVuY29ubmVjdGVkIHBpcGUgaW5zdGFuY2UgaXMgYXZh
aWxhYmxlIChlaXRoZXIgYSBjb25uZWN0ZWQgcGlwZSBpcyBkaXNjb25uZWN0ZWQgYW5kIHB1dCBi
YWNrIGludG8gYSBsaXN0ZW5pbmcgc3RhdGUsIG9yIGEgbmV3IHBpcGUgaW5zdGFuY2UgaXMgY3Jl
YXRlZC4pLg0KTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gZG9lcyBub3QgKmNsYWltKiBhbiBpbnN0
YW5jZSwgaXQgb25seSB3YWl0cyB1bnRpbCBvbmUgZXhpc3RzLiAgU28gaXQncyBwb3NzaWJsZSB0
byBoYXZlIFdhaXROYW1lZFBpcGUgdG8gcmV0dXJuIHN1Y2Nlc3MsIHRoZW4gYW5vdGhlciB0aHJl
YWQganVtcHMgaW4gYW5kIGdyYWJzIGl0IGJlZm9yZSB5b3UgY2FuLCBhbmQgQ3JlYXRlRmlsZSBm
YWlscyBhbnl3YXkuICBUaGlzIGNhdmVhdCBpcyBzcGVjaWZpY2FsbHkgY2FsbGVkIG91dCBpbiB0
aGUgV2FpdE5hbWVkUGlwZSBkb2N1bWVudGF0aW9uLg0KDQotLQ0KLS0gU3RldmllLU8NClJlYWwg
cHJvZ3JhbW1lcnMgdXNlIENPUFkgQ09OIFBST0dSQU0uRVhFDQo=

--_000_9c64f2c553d740d3a1763f3392d29501AMSPEX02CL02citritenet_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws
IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJ
Zm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9
DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCglj
b2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFu
Lk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpw
dXJwbGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpwLm1zb25vcm1hbDAsIGxpLm1z
b25vcm1hbDAsIGRpdi5tc29ub3JtYWwwDQoJe21zby1zdHlsZS1uYW1lOm1zb25vcm1hbDsNCglt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGNtOw0KCW1zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBjbTsNCglmb250LXNpemU6MTIuMHB0Ow0K
CWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLHNlcmlmO30NCnNwYW4uaG9lbnpiDQoJe21z
by1zdHlsZS1uYW1lOmhvZW56Yjt9DQpzcGFuLkVtYWlsU3R5bGUxOQ0KCXttc28tc3R5bGUtdHlw
ZTpwZXJzb25hbC1yZXBseTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCglj
b2xvcjojMUY0OTdEO30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1v
bmx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCW1zby1mYXJlYXN0LWxh
bmd1YWdlOkVOLVVTO30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzkyLjBw
dDsNCgltYXJnaW46NzIuMHB0IDcyLjBwdCA3Mi4wcHQgNzIuMHB0O30NCmRpdi5Xb3JkU2VjdGlv
bjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+
PHhtbD4NCjxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8
L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0
IHY6ZXh0PSJlZGl0Ij4NCjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNo
YXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iRU4tR0Ii
IGxpbms9ImJsdWUiIHZsaW5rPSJwdXJwbGUiPg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4N
CjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJsdWUgMS41cHQ7cGFk
ZGluZzowY20gMGNtIDBjbSA0LjBwdCI+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7
Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGNtIDBjbSAwY20i
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+
U3ViamVjdDo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiBSZTogW3dp
bi1wdi1kZXZlbF0gW1BBVENIIDA1LzE0XSBBZGQgYSBzaG9ydCBTbGVlcCBiZXR3ZWVuDQogQ3Jl
YXRlRmlsZSBjYWxsczxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5P
biBUaHUsIEphbiAyNSwgMjAxOCBhdCAxMTozNyBBTSwgUGF1bCBEdXJyYW50ICZsdDs8YSBocmVm
PSJtYWlsdG86UGF1bC5EdXJyYW50QGNpdHJpeC5jb20iIHRhcmdldD0iX2JsYW5rIj5QYXVsLkR1
cnJhbnRAY2l0cml4LmNvbTwvYT4mZ3Q7IHdyb3RlOjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmx0O3NuaXAmZ3Q7PG86cD48L286cD48L3A+DQo8
L2Rpdj4NCjxkaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6
c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1sZWZ0
OjQuOHB0O21hcmdpbi1yaWdodDowY20iPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMi4wcHQiPiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7
IC8vIGFkZCBhIHNtYWxsIGRlbGF5IGhlcmUsIHRvIHByZXZlbnQgdGhlIHNlY29uZCBDcmVhdGVG
aWxlIHJldHVybmluZyB3aXRoPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgLy8gYWxsIHBp
cGUgaW5zdGFuY2VzIGJ1c3kgLSB0aGlzIGdpdmVzIHRoZSBzZXJ2ZXIgZW5kIHNvbWUgdGltZSB0
byBzcGF3bjxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IC8vIHRoZSByZWFkIHBpcGUgYW5k
IHJldHVybiB0byBDb25uZWN0TmFtZWRQaXBlPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsg
U2xlZXAoNTApOzxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsg
Q29udGV4dC0mZ3Q7RGV2aWNlLldyaXRlID0gQ3JlYXRlRmlsZShQSVBFX05BTUUsPGJyPg0KJmd0
OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7R0VORVJJQ19XUklURSw8YnI+DQomZ3Q7
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtGSUxFX1NIQVJFX1JFQUQgfCBGSUxFX1NI
QVJFX1dSSVRFLDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPkknbSBub3QgZmFuIG9mIGFyYml0cmFyeSBkZWxheXMuIENvdWxkIHlvdSBoYW5kbGUg
dGhpcyBieSBjYXRjaGluZyB0aGUgZXJyb3IgYW5kIHJldHJ5aW5nIGluc3RlYWQ/PGJyPg0KPHNw
YW4gc3R5bGU9ImNvbG9yOiM4ODg4ODgiPjxicj4NCjxzcGFuIGNsYXNzPSJob2VuemIiPiZuYnNw
OyBQYXVsPC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PGJyIGNsZWFyPSJhbGwiPg0KPG86cD48L286cD48L3A+DQo8L2Rpdj4N
CjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8L2Rpdj4NCjxkaXY+DQo8ZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Rmlyc3QsIHRvIE93ZW46IEl0IHdvdWxkIGJlIHZl
cnkgaGVscGZ1bCB0byBoYXZlIHNvbWUgY29udGV4dCBvbiB0aGVzZSBwYXRjaGVzLiZuYnNwOyBJ
IGhhZCB0byByZWFsbHkgcm9vdCBhcm91bmQgdG8gZGlzY292ZXIgdGhhdCB0aGVzZSBwYXRjaGVz
IHdlcmUgZm9yIGEgcmVwbyBjYWxsZWQgJnF1b3Q7eGVuY29ucyZxdW90Oy48bzpwPjwvbzpwPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xv
cjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxp
YnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Jmd0OyZndDsgQWdyZWVkLCBJIG5v
dGljZWQgdGhpcyB0b28gd2l0aCBQYXVscyBzZXQgb2YgcGF0Y2hlcyBmaXhpbmcgdXRpbC5oIOKA
kyBBbGwgcmVwb3Mgd2lsbCBuZWVkIHRvIGFkZCBhIGxvY2FsIGdpdCBjb25maWcgb3B0aW9uIHRv
IHRhZyB0aGUgcGF0Y2hlcyBiZXR0ZXI8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286
cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+U2Vjb25k
LCB0byBQYXVsOjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj5Zb3UgYXJlIGNvcnJlY3QgLSB0aGlzIFNsZWVwKDUwKSByZWFsbHkgc2hvdWxkIGJl
IHJlcGxhY2VkIGJ5IFdhaXROYW1lZFBpcGUoNTApLCBhbmQgaXQgc2hvdWxkIHByb2JhYmx5IGJl
IGRvbmUgZm9yICpib3RoKiBDcmVhdGVGaWxlIGNhbGxzLCBub3QganVzdCB0aGUgb25lLjxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMx
RjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mZ3Q7Jmd0OyBXYWl0TmFtZWRQaXBlIHdp
bGwgYmUgdXNlZCBpbiB2MjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+QmFja2dyb3VuZDo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkkgYmVsaWV2ZSBpdCB3b3VsZCBiZSBtb3N0IGhl
bHBmdWwgdG8gc3RhcnQgd2l0aCB0aGUga2V5IGRpZmZlcmVuY2VzIGJldHdlZW4gYWNjZXB0aW5n
IGEgc29ja2V0IGNvbm5lY3Rpb24gYW5kIGFjY2VwdGluZyBhIFdpbjMyIG5hbWVkIHBpcGUgY29u
bmVjdGlvbi48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+VG8gc3RhcnQgYWNjZXB0aW5nIHNvY2tldCBjb25uZWN0aW9ucywgeW91IGNhbGwgbGlz
dGVuKCkgd2l0aCBhIHBhcmFtZXRlciAoSSB1c3VhbGx5IHVzZSA1IG9yIHNvKS4mbmJzcDsmbmJz
cDsgVGhpcyBwYXJhbWV0ZXIsIGNhbGxlZCAmcXVvdDtiYWNrbG9nJnF1b3Q7LCByZXByZXNlbnRz
IHRoZSBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIGNvbm5lY3Rpb24gcmVxdWVzdHMgYWdhaW5z
dCB0aGF0IHNvY2tldC4gSWYgY29ubmVjdGlvbnMgY29tZQ0KIGluIGFuZCB0aGVyZSBpc24ndCBh
biBhY3RpdmUgYWNjZXB0KCkgY2FsbCBydW5uaW5nIGFnYWluc3QgdGhlIHNvY2tldCwgaXQgd2ls
bCBnbyBpbnRvIHRoZSBiYWNrbG9nLCBhbmQgdGhlIG5leHQgYWNjZXB0KCkgY2FsbCB3aWxsIHB1
bGwgdGhhdCBjb25uZWN0aW9uIG9mZiB0aGUgYmFja2xvZyBhbmQgY3JlYXRlIGEgbmV3IHNvY2tl
dCB0byBvcGVyYXRlIG9uLiBJZiB0aGUgYmFja2xvZyBpcyBmdWxsLCB0aGUgT1Mgd2lsbCBpbW1l
ZGlhdGVseQ0KIHJlamVjdCB0aGUgY29ubmVjdGlvbiByZXF1ZXN0IHdpdGggYSAmcXVvdDtjb25u
ZWN0aW9uIHJlZnVzZWQmcXVvdDsgZXJyb3IgY29kZS48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VG8gYWNjZXB0IGEgbmFtZWQgcGlwZSBjb25u
ZWN0aW9uLCB5b3UgY3JlYXRlIGEgbmFtZWQgcGlwZSB3aXRoIENyZWF0ZU5hbWVkUGlwZSAod2hp
Y2ggZG9lcyBleGFjdGx5IHdoYXQgdGhlIG5hbWUgaW1wbGllcykgdGhlbiBjYWxsIENvbm5lY3RO
YW1lZFBpcGUgKHdoaWNoIGFjdHVhbGx5IG1lYW5zICZxdW90O3dhaXQgZm9yIGEgY2xpZW50IHRv
IGNvbm5lY3QgdG8gdGhlIG5hbWVkIHBpcGUmcXVvdDspLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JbiBzb2NrZXQgdGVybXMsIENyZWF0ZU5hbWVkUGlwZSBp
cyBhIGNvbWJpbmF0aW9uIG9mIHNvY2tldCgpIGFuZCBsaXN0ZW4oKSwgd2hpbGUgQ29ubmVjdE5h
bWVkUGlwZSBpcyBsaWtlIGFjY2VwdCgpLiBUaGUga2V5IGRpZmZlcmVuY2UgaXMgdGhpczogYWNj
ZXB0KCkgY3JlYXRlcyBhIHNvY2tldCBhbmQgbGVhdmVzIHRoZSBsaXN0ZW5pbmcgc29ja2V0IHJl
YWR5IGZvciBuZXcgY29ubmVjdGlvbnMsIHdoaWxlDQogQ29ubmVjdE5hbWVkUGlwZSBhY3R1YWxs
eSBjb252ZXJ0cyB0aGUgcGFzc2VkIHBpcGUgZnJvbSBhIGxpc3RlbmluZyBwaXBlIHRvIGEgY29u
bmVjdGVkIHBpcGUuJm5ic3A7IEJlY2F1c2Ugb2YgdGhpcywgYSBuYW1lZCBwaXBlIGluc3RhbmNl
IGlzIGxpbWl0ZWQgdG8gYSBiYWNrbG9nIG9mIDEuIEluIG9yZGVyIHRvIGFjY2VwdCBtdWx0aXBs
ZSBjbGllbnRzIHNpbXVsdGFuZW91c2x5LCBhIHNlcnZlciBuZWVkcyB0byBjcmVhdGUgbXVsdGlw
bGUgaW5zdGFuY2VzDQogb2YgZWFjaCBwaXBlLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SnVzdCBsaWtlIGluIHNvY2tldHMsIGF0dGVtcHRpbmcg
dG8gY29ubmVjdCB3aGVuIHRoZSBiYWNrbG9nIGlzIGZ1bGwgd2lsbCByZXN1bHQgaW4gJ25hbWVk
IHBpcGUgYnVzeScgZXJyb3IuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPlRvIGhlbHAgZGVhbCB3aXRoIHRoaXMgcHJvYmxlbSwgdGhlIFdhaXRO
YW1lZFBpcGUgZnVuY3Rpb24gd2FpdHMsIHdpdGggYSB0aW1lb3V0LCB1bnRpbCBhbiB1bmNvbm5l
Y3RlZCBwaXBlIGluc3RhbmNlIGlzIGF2YWlsYWJsZSAoZWl0aGVyIGEgY29ubmVjdGVkIHBpcGUg
aXMgZGlzY29ubmVjdGVkIGFuZCBwdXQgYmFjayBpbnRvIGEgbGlzdGVuaW5nIHN0YXRlLCBvciBh
IG5ldyBwaXBlIGluc3RhbmNlIGlzIGNyZWF0ZWQuKS48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGRvZXMg
bm90ICpjbGFpbSogYW4gaW5zdGFuY2UsIGl0IG9ubHkgd2FpdHMgdW50aWwgb25lIGV4aXN0cy4m
bmJzcDsgU28gaXQncyBwb3NzaWJsZSB0byBoYXZlIFdhaXROYW1lZFBpcGUgdG8gcmV0dXJuIHN1
Y2Nlc3MsIHRoZW4gYW5vdGhlciB0aHJlYWQganVtcHMgaW4gYW5kIGdyYWJzIGl0IGJlZm9yZSB5
b3UgY2FuLCBhbmQgQ3JlYXRlRmlsZSBmYWlscyBhbnl3YXkuJm5ic3A7IFRoaXMNCiBjYXZlYXQg
aXMgc3BlY2lmaWNhbGx5IGNhbGxlZCBvdXQgaW4gdGhlIFdhaXROYW1lZFBpcGUgZG9jdW1lbnRh
dGlvbi48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PGJyPg0KLS0gPG86cD48L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij4tLSBTdGV2aWUtTzxicj4NClJlYWwg
cHJvZ3JhbW1lcnMgdXNlIENPUFkgQ09OIFBST0dSQU0uRVhFPG86cD48L286cD48L3A+DQo8L2Rp
dj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_9c64f2c553d740d3a1763f3392d29501AMSPEX02CL02citritenet_--


--===============6719769474027130184==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

--===============6719769474027130184==--


From win-pv-devel-bounces@lists.xenproject.org Mon Jan 29 15:10:00 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Jan 2018 15:10:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egB4J-0007L7-EL; Mon, 29 Jan 2018 15:09:59 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=ebuc=ey=citrix.com=prvs=560e3c7a9=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egB4I-0007Ko-LT
 for win-pv-devel@lists.xenproject.org; Mon, 29 Jan 2018 15:09:58 +0000
X-Inumbo-ID: 8213a1c5-0506-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 8213a1c5-0506-11e8-b9b1-635ca7ef6cff;
 Mon, 29 Jan 2018 15:10:15 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,431,1511827200"; d="scan'208";a="460099532"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 29 Jan 2018 15:07:29 +0000
Message-ID: <1517238449-560-2-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1517238449-560-1-git-send-email-paul.durrant@citrix.com>
References: <1517238449-560-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH 2/2] Do more optimization in release builds
	and add /Qspectre flag
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

U3BlY3RyZSBtaXRpZ2F0aW9ucyBhcHBhcmVudGx5IG9ubHkgd29yayBvbiBvcHRpbWl6ZWQgY29k
ZS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+
Ci0tLQogdnMyMDE3L3hlbi94ZW4udmN4cHJvaiAgICAgICAgIHwgMTIgKysrKysrKysrKy0tCiB2
czIwMTcveGVuYnVzL3hlbmJ1cy52Y3hwcm9qICAgfCAxMiArKysrKysrKysrLS0KIHZzMjAxNy94
ZW5maWx0L3hlbmZpbHQudmN4cHJvaiB8IDEyICsrKysrKysrKystLQogMyBmaWxlcyBjaGFuZ2Vk
LCAzMCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3ZzMjAxNy94
ZW4veGVuLnZjeHByb2ogYi92czIwMTcveGVuL3hlbi52Y3hwcm9qCmluZGV4IGRlMjE1YzAuLmUy
NzcxMjcgMTAwNjQ0Ci0tLSBhL3ZzMjAxNy94ZW4veGVuLnZjeHByb2oKKysrIGIvdnMyMDE3L3hl
bi94ZW4udmN4cHJvagpAQCAtMjIsOCArMjIsOSBAQAogICAgIDxDbENvbXBpbGU+CiAgICAgICA8
QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFdpbmRvd3NTZGtEaXIpXGluY2x1ZGVca207
Li5cLi5caW5jbHVkZTsuLlwuLlxpbmNsdWRlXHhlbjsuLlwuLlxzcmNcY29tbW9uOyUoQWRkaXRp
b25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CiAg
ICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVfXz0iWEVOIjtQT09MX05YX09Q
VElOPTE7TlRfUFJPQ0VTU09SX0dST1VQUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJl
cHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0lu
dHJpbnNpY0Z1bmN0aW9ucz4KICAgICAgIDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8
L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40NDY0OzQ3MTE7
NDU0ODs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7MzAwMzA7MzAwMjk7JShEaXNhYmxl
U3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgorICAgICAgPERpc2Fi
bGVTcGVjaWZpY1dhcm5pbmdzPjQ0NjQ7NDcxMTs0NzcwOzQ1NDg7NDgyMDs0NjY4OzQyNTU7NjAw
MTs2MDU0OzI4MTk2OzMwMDMwOzMwMDI5OyUoRGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNh
YmxlU3BlY2lmaWNXYXJuaW5ncz4KICAgICAgIDxNdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRy
dWU8L011bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+CiAgICAgICA8RW5hYmxlUFJFZmFzdD50cnVl
PC9FbmFibGVQUkVmYXN0PgogICAgIDwvQ2xDb21waWxlPgpAQCAtMzMsOCArMzQsOCBAQAogICAg
IDxMaW5rPgogICAgICAgPEltYWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJzPmZhbHNlPC9JbWFn
ZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz4KICAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVz
PiQoRERLX0xJQl9QQVRIKS9saWJjbnRwci5saWI7JChEREtfTElCX1BBVEgpL2F1eF9rbGliLmxp
YjskKERES19MSUJfUEFUSCkvcHJvY2dycC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwv
QWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxMaW5rVGltZUNvZGVHZW5lcmF0aW9uPlVz
ZUxpbmtUaW1lQ29kZUdlbmVyYXRpb248L0xpbmtUaW1lQ29kZUdlbmVyYXRpb24+CiAgICAgICA8
TW9kdWxlRGVmaW5pdGlvbkZpbGU+Li4vLi4vc3JjL3hlbi94ZW4uZGVmPC9Nb2R1bGVEZWZpbml0
aW9uRmlsZT4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRG
b2xkaW5nPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbURl
ZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgpAQCAtNDcs
NiArNDgsMTMgQEAKICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX3g4Nl82NF9fOyUo
UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpO19BTUQ2NF88L1ByZXByb2Nlc3NvckRlZmluaXRpb25z
PgogICAgIDwvQ2xDb21waWxlPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVm
aW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbiknPT0nV2luZG93cyA4IFJl
bGVhc2UnIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPEZhdm9yU2l6ZU9yU3BlZWQ+U3BlZWQ8
L0Zhdm9yU2l6ZU9yU3BlZWQ+CisgICAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8
L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KKyAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vUXNw
ZWN0cmUgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgorICAgIDwvQ2xD
b21waWxlPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPEZp
bGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoVGFyZ2V0UGF0aCkiIC8+CiAgICAgPEZpbGVzVG9QYWNr
YWdlIEluY2x1ZGU9IiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkucGRiIiAvPgpkaWZmIC0tZ2l0IGEv
dnMyMDE3L3hlbmJ1cy94ZW5idXMudmN4cHJvaiBiL3ZzMjAxNy94ZW5idXMveGVuYnVzLnZjeHBy
b2oKaW5kZXggMDM4ZDNkNy4uZjNlNjJlYyAxMDA2NDQKLS0tIGEvdnMyMDE3L3hlbmJ1cy94ZW5i
dXMudmN4cHJvagorKysgYi92czIwMTcveGVuYnVzL3hlbmJ1cy52Y3hwcm9qCkBAIC0yMSw5ICsy
MSwxMCBAQAogICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgogICAgICAg
PFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9fTU9EVUxFX189IlhFTkJVUyI7UE9PTF9OWF9PUFRJ
Tj0xO05UX1BST0NFU1NPUl9HUk9VUFM7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXBy
b2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVlPC9JbnRy
aW5zaWNGdW5jdGlvbnM+CiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFdp
bmRvd3NTZGtEaXIpXGluY2x1ZGVca207Li5cLi5caW5jbHVkZTsuLlwuLlxpbmNsdWRlXHhlbjsu
LlwuLlxzcmNcY29tbW9uOzwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KICAgICAgIDxX
YXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxEaXNh
YmxlU3BlY2lmaWNXYXJuaW5ncz40NDY0OzQ3MTE7NDU0ODs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYw
NTQ7MjgxOTY7MzAwMzA7MzAwMjk7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVT
cGVjaWZpY1dhcm5pbmdzPgorICAgICAgPERpc2FibGVTcGVjaWZpY1dhcm5pbmdzPjQ0NjQ7NDcx
MTs0NzcwOzQ1NDg7NDgyMDs0NjY4OzQyNTU7NjAwMTs2MDU0OzI4MTk2OzMwMDMwOzMwMDI5OyUo
RGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4KICAgICAg
IDxNdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011bHRpUHJvY2Vzc29yQ29tcGlsYXRp
b24+CiAgICAgICA8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFibGVQUkVmYXN0PgogICAgIDwvQ2xD
b21waWxlPgpAQCAtMzMsNyArMzQsNyBAQAogICAgIDxMaW5rPgogICAgICAgPEltYWdlSGFzU2Fm
ZUV4Y2VwdGlvbkhhbmRsZXJzPmZhbHNlPC9JbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz4K
ICAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoUHJvamVjdERpcikuLlwkKENvbmZpZ3Vy
YXRpb25OYW1lKVwkKFBsYXRmb3JtKVx4ZW4ubGliOyQoRERLX0xJQl9QQVRIKS9saWJjbnRwci5s
aWI7JChEREtfTElCX1BBVEgpL3Byb2NncnAubGliOyQoRERLX0xJQl9QQVRIKS9ydGx2ZXIubGli
OyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAg
ICA8RW5hYmxlQ09NREFURm9sZGluZz5mYWxzZTwvRW5hYmxlQ09NREFURm9sZGluZz4KKyAgICAg
IDxMaW5rVGltZUNvZGVHZW5lcmF0aW9uPlVzZUxpbmtUaW1lQ29kZUdlbmVyYXRpb248L0xpbmtU
aW1lQ29kZUdlbmVyYXRpb24+CiAgICAgPC9MaW5rPgogICAgIDxJbmY+CiAgICAgICA8U3BlY2lm
eUFyY2hpdGVjdHVyZT50cnVlPC9TcGVjaWZ5QXJjaGl0ZWN0dXJlPgpAQCAtNTgsNiArNTksMTMg
QEAKICAgICAgIDxBcmNoaXRlY3R1cmU+YW1kNjQ8L0FyY2hpdGVjdHVyZT4KICAgICA8L0luZj4K
ICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pJz09J1dpbmRvd3MgOCBSZWxlYXNlJyI+CisgICAgPENsQ29t
cGlsZT4KKyAgICAgIDxGYXZvclNpemVPclNwZWVkPlNwZWVkPC9GYXZvclNpemVPclNwZWVkPgor
ICAgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6
YXRpb24+CisgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L1FzcGVjdHJlICUoQWRkaXRpb25hbE9w
dGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgPC9JdGVtRGVm
aW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRl
PSIkKFRhcmdldFBhdGgpIiAvPgogICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKE91dERp
cikkKFRhcmdldE5hbWUpLnBkYiIgLz4KZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW5maWx0L3hlbmZp
bHQudmN4cHJvaiBiL3ZzMjAxNy94ZW5maWx0L3hlbmZpbHQudmN4cHJvagppbmRleCBmZTZiYTM4
Li45NDEwNTdlIDEwMDY0NAotLS0gYS92czIwMTcveGVuZmlsdC94ZW5maWx0LnZjeHByb2oKKysr
IGIvdnMyMDE3L3hlbmZpbHQveGVuZmlsdC52Y3hwcm9qCkBAIC0yMSw5ICsyMSwxMCBAQAogICA8
SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgogICAgICAgPFByZXByb2Nlc3Nv
ckRlZmluaXRpb25zPl9fTU9EVUxFX189IlhFTkZJTFQiO1BPT0xfTlhfT1BUSU49MTtOVF9QUk9D
RVNTT1JfR1JPVVBTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZp
bml0aW9ucz4KKyAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rp
b25zPgogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChXaW5kb3dzU2RrRGly
KVxpbmNsdWRlXGttOy4uXC4uXGluY2x1ZGU7Li5cLi5caW5jbHVkZVx4ZW47Li5cLi5cc3JjXGNv
bW1vbjs8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CiAgICAgICA8V2FybmluZ0xldmVs
PkVuYWJsZUFsbFdhcm5pbmdzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8RGlzYWJsZVNwZWNpZmlj
V2FybmluZ3M+NDQ2NDs0NzExOzQ1NDg7NDgyMDs0NjY4OzQyNTU7NjAwMTs2MDU0OzI4MTk2OzMw
MDMwOzMwMDI5OyUoRGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJu
aW5ncz4KKyAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40NDY0OzQ3MTE7NDc3MDs0NTQ4
OzQ4MjA7NDY2ODs0MjU1OzYwMDE7NjA1NDsyODE5NjszMDAzMDszMDAyOTslKERpc2FibGVTcGVj
aWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+CiAgICAgICA8TXVsdGlQcm9j
ZXNzb3JDb21waWxhdGlvbj50cnVlPC9NdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPgogICAgICAg
PEVuYWJsZVBSRWZhc3Q+dHJ1ZTwvRW5hYmxlUFJFZmFzdD4KICAgICA8L0NsQ29tcGlsZT4KQEAg
LTMzLDcgKzM0LDcgQEAKICAgICA8TGluaz4KICAgICAgIDxJbWFnZUhhc1NhZmVFeGNlcHRpb25I
YW5kbGVycz5mYWxzZTwvSW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+CiAgICAgICA8QWRk
aXRpb25hbERlcGVuZGVuY2llcz4kKFByb2plY3REaXIpLi5cJChDb25maWd1cmF0aW9uTmFtZSlc
JChQbGF0Zm9ybSlceGVuLmxpYjskKERES19MSUJfUEFUSCkvbGliY250cHIubGliOyQoRERLX0xJ
Ql9QQVRIKS9wcm9jZ3JwLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFs
RGVwZW5kZW5jaWVzPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNP
TURBVEZvbGRpbmc+CisgICAgICA8TGlua1RpbWVDb2RlR2VuZXJhdGlvbj5Vc2VMaW5rVGltZUNv
ZGVHZW5lcmF0aW9uPC9MaW5rVGltZUNvZGVHZW5lcmF0aW9uPgogICAgIDwvTGluaz4KICAgPC9J
dGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249Iick
KFBsYXRmb3JtKSc9PSdXaW4zMiciPgpAQCAtNDYsNiArNDcsMTMgQEAKICAgICAgIDxQcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucz5fX3g4Nl82NF9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpO19B
TUQ2NF88L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgogICAgIDwvQ2xDb21waWxlPgogICA8L0l0
ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbiknPT0nV2luZG93cyA4IFJlbGVhc2UnIj4KKyAgICA8Q2xDb21waWxlPgor
ICAgICAgPEZhdm9yU2l6ZU9yU3BlZWQ+U3BlZWQ8L0Zhdm9yU2l6ZU9yU3BlZWQ+CisgICAgICA8
V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4K
KyAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vUXNwZWN0cmUgJShBZGRpdGlvbmFsT3B0aW9ucyk8
L0FkZGl0aW9uYWxPcHRpb25zPgorICAgIDwvQ2xDb21waWxlPgorICA8L0l0ZW1EZWZpbml0aW9u
R3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoVGFy
Z2V0UGF0aCkiIC8+CiAgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoT3V0RGlyKSQoVGFy
Z2V0TmFtZSkucGRiIiAvPgotLSAKMi41LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt
YW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Mon Jan 29 15:10:01 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Jan 2018 15:10:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egB4L-0007Nh-HA; Mon, 29 Jan 2018 15:10:01 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=ebuc=ey=citrix.com=prvs=560e3c7a9=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egB4K-0007Kt-5v
 for win-pv-devel@lists.xenproject.org; Mon, 29 Jan 2018 15:10:00 +0000
X-Inumbo-ID: 82f6193b-0506-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 82f6193b-0506-11e8-b9b1-635ca7ef6cff;
 Mon, 29 Jan 2018 15:10:16 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,431,1511827200"; d="scan'208";a="460099533"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 29 Jan 2018 15:07:28 +0000
Message-ID: <1517238449-560-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH 1/2] Add support for building with Visual
	Studio 2017
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

QWxzbyByZW1vdmUgbWFwcGluZ3MgZm9yIG9ic29sZXRlIHZlcnNpb25zIG9mIFZTIGluIGJ1aWxk
LnB5LgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNv
bT4KLS0tCiBidWlsZC5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgIDQ2ICsrKystLS0KIG1zYnVpbGQuYmF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDYgKy0KIHZzMjAxNy9jb25maWdzLnByb3BzICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgNDUgKysrKysrCiB2czIwMTcvcGFja2FnZS9wYWNrYWdlLnZjeHByb2og
ICAgICAgICAgICAgICAgICAgIHwgIDU5ICsrKysrKysrCiB2czIwMTcvcGFja2FnZS9wYWNrYWdl
LnZjeHByb2oudXNlciAgICAgICAgICAgICAgIHwgICA4ICsrCiB2czIwMTcvdGFyZ2V0cy5wcm9w
cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDM1ICsrKysrCiB2czIwMTcveGVuL3hl
bi52Y3hwcm9qICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDg4ICsrKysrKysrKysrKwog
dnMyMDE3L3hlbi94ZW4udmN4cHJvai51c2VyICAgICAgICAgICAgICAgICAgICAgICB8ICAgOCAr
KwogdnMyMDE3L3hlbmJ1cy5zbG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE1
OCArKysrKysrKysrKysrKysrKysrKysrCiB2czIwMTcveGVuYnVzL3hlbmJ1cy52Y3hwcm9qICAg
ICAgICAgICAgICAgICAgICAgIHwgIDk4ICsrKysrKysrKysrKysrCiB2czIwMTcveGVuYnVzL3hl
bmJ1cy52Y3hwcm9qLnVzZXIgICAgICAgICAgICAgICAgIHwgICA4ICsrCiB2czIwMTcveGVuYnVz
X2NvaW5zdC94ZW5idXNfY29pbnN0LnZjeHByb2ogICAgICAgIHwgIDYxICsrKysrKysrKwogdnMy
MDE3L3hlbmJ1c19jb2luc3QveGVuYnVzX2NvaW5zdC52Y3hwcm9qLnVzZXIgICB8ICAgOCArKwog
dnMyMDE3L3hlbmJ1c19tb25pdG9yL3hlbmJ1c19tb25pdG9yLnZjeHByb2ogICAgICB8ICA3NyAr
KysrKysrKysrKwogdnMyMDE3L3hlbmJ1c19tb25pdG9yL3hlbmJ1c19tb25pdG9yLnZjeHByb2ou
dXNlciB8ICAgOCArKwogdnMyMDE3L3hlbmZpbHQveGVuZmlsdC52Y3hwcm9qICAgICAgICAgICAg
ICAgICAgICB8ICA2NiArKysrKysrKysKIHZzMjAxNy94ZW5maWx0L3hlbmZpbHQudmN4cHJvai51
c2VyICAgICAgICAgICAgICAgfCAgIDggKysKIDE3IGZpbGVzIGNoYW5nZWQsIDc2NyBpbnNlcnRp
b25zKCspLCAyMCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcvY29uZmln
cy5wcm9wcwogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy9wYWNrYWdlL3BhY2thZ2UudmN4cHJv
agogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2Vy
CiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3RhcmdldHMucHJvcHMKIGNyZWF0ZSBtb2RlIDEw
MDY0NCB2czIwMTcveGVuL3hlbi52Y3hwcm9qCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3hl
bi94ZW4udmN4cHJvai51c2VyCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3hlbmJ1cy5zbG4K
IGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcveGVuYnVzL3hlbmJ1cy52Y3hwcm9qCiBjcmVhdGUg
bW9kZSAxMDA2NDQgdnMyMDE3L3hlbmJ1cy94ZW5idXMudmN4cHJvai51c2VyCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgdnMyMDE3L3hlbmJ1c19jb2luc3QveGVuYnVzX2NvaW5zdC52Y3hwcm9qCiBjcmVh
dGUgbW9kZSAxMDA2NDQgdnMyMDE3L3hlbmJ1c19jb2luc3QveGVuYnVzX2NvaW5zdC52Y3hwcm9q
LnVzZXIKIGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcveGVuYnVzX21vbml0b3IveGVuYnVzX21v
bml0b3IudmN4cHJvagogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy94ZW5idXNfbW9uaXRvci94
ZW5idXNfbW9uaXRvci52Y3hwcm9qLnVzZXIKIGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcveGVu
ZmlsdC94ZW5maWx0LnZjeHByb2oKIGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcveGVuZmlsdC94
ZW5maWx0LnZjeHByb2oudXNlcgoKZGlmZiAtLWdpdCBhL2J1aWxkLnB5IGIvYnVpbGQucHkKaW5k
ZXggMTkxMDYyYy4uOTc3NjViNSAxMDA3NTUKLS0tIGEvYnVpbGQucHkKKysrIGIvYnVpbGQucHkK
QEAgLTE3MSwxOCArMTcxLDI4IEBAIGRlZiBzaGVsbChjb21tYW5kLCBkaXIpOgogICAgIHJldHVy
biBzdWIucmV0dXJuY29kZQogCiAKK2RlZiBmaW5kKG5hbWUsIHBhdGgpOgorICAgIGZvciByb290
LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHBhdGgpOgorICAgICAgICBpZiBuYW1lIGluIGZpbGVz
OgorICAgICAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihyb290LCBuYW1lKQorCisKIGNsYXNz
IG1zYnVpbGRfZmFpbHVyZShFeGNlcHRpb24pOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWx1
ZSk6CiAgICAgICAgIHNlbGYudmFsdWUgPSB2YWx1ZQogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgog
ICAgICAgICByZXR1cm4gcmVwcihzZWxmLnZhbHVlKQogCisKIGRlZiBtc2J1aWxkKHBsYXRmb3Jt
LCBjb25maWd1cmF0aW9uLCB0YXJnZXQsIGZpbGUsIGFyZ3MsIGRpcik6Ci0gICAgb3MuZW52aXJv
blsnUExBVEZPUk0nXSA9IHBsYXRmb3JtCi0gICAgb3MuZW52aXJvblsnQ09ORklHVVJBVElPTidd
ID0gY29uZmlndXJhdGlvbgotICAgIG9zLmVudmlyb25bJ1RBUkdFVCddID0gdGFyZ2V0Ci0gICAg
b3MuZW52aXJvblsnRklMRSddID0gZmlsZQotICAgIG9zLmVudmlyb25bJ0VYVFJBJ10gPSBhcmdz
CisgICAgdmN2YXJzYWxsID0gZmluZCgndmN2YXJzYWxsLmJhdCcsIG9zLmVudmlyb25bJ1ZTJ10p
CisKKyAgICBvcy5lbnZpcm9uWydNU0JVSUxEX1BMQVRGT1JNJ10gPSBwbGF0Zm9ybQorICAgIG9z
LmVudmlyb25bJ01TQlVJTERfQ09ORklHVVJBVElPTiddID0gY29uZmlndXJhdGlvbgorICAgIG9z
LmVudmlyb25bJ01TQlVJTERfVEFSR0VUJ10gPSB0YXJnZXQKKyAgICBvcy5lbnZpcm9uWydNU0JV
SUxEX0ZJTEUnXSA9IGZpbGUKKyAgICBvcy5lbnZpcm9uWydNU0JVSUxEX0VYVFJBJ10gPSBhcmdz
CisgICAgb3MuZW52aXJvblsnTVNCVUlMRF9WQ1ZBUlNBTEwnXSA9IHZjdmFyc2FsbAogCiAgICAg
YmluID0gb3MucGF0aC5qb2luKG9zLmdldGN3ZCgpLCAnbXNidWlsZC5iYXQnKQogCkBAIC0yMDAs
OCArMjEwLDYgQEAgZGVmIGJ1aWxkX3NsbihuYW1lLCByZWxlYXNlLCBhcmNoLCBkZWJ1ZywgdnMp
OgogICAgIGVsaWYgYXJjaCA9PSAneDY0JzoKICAgICAgICAgcGxhdGZvcm0gPSAneDY0JwogCi0g
ICAgY3dkID0gb3MuZ2V0Y3dkKCkKLQogICAgIG1zYnVpbGQocGxhdGZvcm0sIGNvbmZpZ3VyYXRp
b24sICdCdWlsZCcsIG5hbWUgKyAnLnNsbicsICcnLCB2cykKIAogZGVmIGNvcHlfcGFja2FnZShu
YW1lLCByZWxlYXNlLCBhcmNoLCBkZWJ1ZywgdnMpOgpAQCAtMzU3LDIzICszNjUsMjUgQEAgZGVm
IGFyY2hpdmUoZmlsZW5hbWUsIGZpbGVzLCB0Z3o9RmFsc2UpOgogICAgIHRhci5jbG9zZSgpCiAK
IAotCiBkZWYgZ2V0VnNWZXJzaW9uKCk6Ci0gICAgdnNlbnYgPXt9IAotICAgIHZhcnMgPSBzdWJw
cm9jZXNzLmNoZWNrX291dHB1dChbb3MuZW52aXJvblsnVlMnXSsnXFxWQ1xcdmN2YXJzYWxsLmJh
dCcsICcmJicsICdzZXQnXSwgc2hlbGw9VHJ1ZSkKKyAgICB2c2VudiA9IHt9CisgICAgdmN2YXJz
YWxsPSBmaW5kKCd2Y3ZhcnNhbGwuYmF0Jywgb3MuZW52aXJvblsnVlMnXSkKKworICAgIHZhcnMg
PSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChbdmN2YXJzYWxsLCAneDg2X2FtZDY0JywgJyYmJywg
J3NldCddLCBzaGVsbD1UcnVlKQorCiAgICAgZm9yIHZhciBpbiB2YXJzLnNwbGl0bGluZXMoKToK
ICAgICAgICAgaywgXywgdiA9IG1hcChzdHIuc3RyaXAsIHZhci5zdHJpcCgpLmRlY29kZSgndXRm
LTgnKS5wYXJ0aXRpb24oJz0nKSkKICAgICAgICAgaWYgay5zdGFydHN3aXRoKCc/Jyk6CiAgICAg
ICAgICAgICBjb250aW51ZQogICAgICAgICB2c2VudltrXSA9IHYKIAotICAgIG1hcHBpbmcgPSB7
ICcxMS4wJzondnMyMDEyJywKLSAgICAgICAgICAgICAgICAnMTIuMCc6J3ZzMjAxMycsCi0gICAg
ICAgICAgICAgICAgJzE0LjAnOid2czIwMTUnIH0KKyAgICBtYXBwaW5nID0geyAnMTQuMCc6J3Zz
MjAxNScsCisgICAgICAgICAgICAgICAgJzE1LjAnOid2czIwMTcnfQogCiAgICAgcmV0dXJuIG1h
cHBpbmdbdnNlbnZbJ1Zpc3VhbFN0dWRpb1ZlcnNpb24nXV0KIAotaWYgX19uYW1lX18gPT0gJ19f
bWFpbl9fJzoKKworZGVmIG1haW4oKToKICAgICBkZWJ1ZyA9IHsgJ2NoZWNrZWQnOiBUcnVlLCAn
ZnJlZSc6IEZhbHNlIH0KICAgICBzZHYgPSB7ICdub3Nkdic6IEZhbHNlLCBOb25lOiBUcnVlIH0K
ICAgICBkcml2ZXIgPSAneGVuYnVzJwpAQCAtNDE4LDkgKzQyOCw4IEBAIGlmIF9fbmFtZV9fID09
ICdfX21haW5fXyc6CiAKICAgICBzeW1zdG9yZV9kZWwoZHJpdmVyLCAzMCkKIAotICAgIHJlbGVh
c2UgPSB7ICd2czIwMTInOidXaW5kb3dzIFZpc3RhJywKLSAgICAgICAgICAgICAgICAndnMyMDEz
JzonV2luZG93cyA3JywKLSAgICAgICAgICAgICAgICAndnMyMDE1JzonV2luZG93cyA4JyB9Cisg
ICAgcmVsZWFzZSA9IHsgJ3ZzMjAxNSc6J1dpbmRvd3MgOCcsCisgICAgICAgICAgICAgICAgJ3Zz
MjAxNyc6J1dpbmRvd3MgOCcgfQogCiAgICAgc2h1dGlsLnJtdHJlZShkcml2ZXIsIGlnbm9yZV9l
cnJvcnM9VHJ1ZSkKIApAQCAtNDQxLDQgKzQ1MCw1IEBAIGlmIF9fbmFtZV9fID09ICdfX21haW5f
Xyc6CiAgICAgYXJjaGl2ZShkcml2ZXIgKyAnXFxzb3VyY2UudGd6JywgbWFuaWZlc3QoKS5zcGxp
dGxpbmVzKCksIHRnej1UcnVlKQogICAgIGFyY2hpdmUoZHJpdmVyICsgJy50YXInLCBbZHJpdmVy
LCdyZXZpc2lvbiddKQogCi0KK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgbWFpbigp
CmRpZmYgLS1naXQgYS9tc2J1aWxkLmJhdCBiL21zYnVpbGQuYmF0CmluZGV4IDFiMWZiYzguLmEy
OGY5MzkgMTAwNzU1Ci0tLSBhL21zYnVpbGQuYmF0CisrKyBiL21zYnVpbGQuYmF0CkBAIC0xLDYg
KzEsOCBAQAotY2FsbCAiJVZTJVxWQ1x2Y3ZhcnNhbGwuYmF0IiB4ODYKK3NldCBNU0JVSUxEX1JP
T1Q9JWNkJQorY2FsbCAiJU1TQlVJTERfVkNWQVJTQUxMJSIgeDg2X2FtZDY0CiBAZWNobyBvbgot
bXNidWlsZC5leGUgL206MSAvcDpDb25maWd1cmF0aW9uPSIlQ09ORklHVVJBVElPTiUiIC9wOlBs
YXRmb3JtPSIlUExBVEZPUk0lIiAvdDoiJVRBUkdFVCUiICVFWFRSQSUgJUZJTEUlCitjZCAiJU1T
QlVJTERfUk9PVCUiCittc2J1aWxkLmV4ZSAvbToxIC9wOkNvbmZpZ3VyYXRpb249IiVNU0JVSUxE
X0NPTkZJR1VSQVRJT04lIiAvcDpQbGF0Zm9ybT0iJU1TQlVJTERfUExBVEZPUk0lIiAvdDoiJU1T
QlVJTERfVEFSR0VUJSIgJU1TQlVJTERfRVhUUkElICVNU0JVSUxEX0ZJTEUlCiBpZiBlcnJvcmxl
dmVsIDEgZ290byBlcnJvcgogZXhpdCAwCiAKZGlmZiAtLWdpdCBhL3ZzMjAxNy9jb25maWdzLnBy
b3BzIGIvdnMyMDE3L2NvbmZpZ3MucHJvcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uY2RiYjNjOAotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy9jb25maWdzLnByb3BzCkBA
IC0wLDAgKzEsNDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8
UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTIuMCIgeG1sbnM9
Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisJ
PEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKwkJPFByb2plY3RDb25m
aWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgMTAgRGVidWd8V2luMzIiPgorCQkJPENvbmZpZ3Vy
YXRpb24+V2luZG93cyAxMCBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKwkJCTxQbGF0Zm9ybT5XaW4z
MjwvUGxhdGZvcm0+CisJCQk8V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4xMDwvV2luZG93
c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KKwkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKwkJPFBy
b2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMiI+CisJ
CQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDEwIFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisJCQk8
UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorCQkJPFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNp
b24+MTA8L1dpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+CisJCTwvUHJvamVjdENvbmZpZ3Vy
YXRpb24+CisJCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDEwIERlYnVn
fHg2NCI+CisJCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDEwIERlYnVnPC9Db25maWd1cmF0aW9u
PgorCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisJCQk8V2luZG93c1RhcmdldFBsYXRmb3Jt
VmVyc2lvbj4xMDwvV2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KKwkJPC9Qcm9qZWN0Q29u
ZmlndXJhdGlvbj4KKwkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgMTAg
UmVsZWFzZXx4NjQiPgorCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyAxMCBSZWxlYXNlPC9Db25m
aWd1cmF0aW9uPgorCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisJCQk8V2luZG93c1Rhcmdl
dFBsYXRmb3JtVmVyc2lvbj4xMDwvV2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KKwkJPC9Q
cm9qZWN0Q29uZmlndXJhdGlvbj4KKwkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9Ildp
bmRvd3MgOCBEZWJ1Z3xXaW4zMiI+CisJCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDggRGVidWc8
L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorCQkJPFdpbmRv
d3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+OC4xPC9XaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9u
PgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5j
bHVkZT0iV2luZG93cyA4IFJlbGVhc2V8V2luMzIiPgorCQkJPENvbmZpZ3VyYXRpb24+V2luZG93
cyA4IFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3Jt
PgorCQkJPFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+OC4xPC9XaW5kb3dzVGFyZ2V0UGxh
dGZvcm1WZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCQk8UHJvamVjdENvbmZp
Z3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA4IERlYnVnfHg2NCI+CisJCQk8Q29uZmlndXJhdGlv
bj5XaW5kb3dzIDggRGVidWc8L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+eDY0PC9QbGF0
Zm9ybT4KKwkJCTxXaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPjguMTwvV2luZG93c1Rhcmdl
dFBsYXRmb3JtVmVyc2lvbj4KKwkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKwkJPFByb2plY3RD
b25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgOCBSZWxlYXNlfHg2NCI+CisJCQk8Q29uZmln
dXJhdGlvbj5XaW5kb3dzIDggUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKwkJCTxQbGF0Zm9ybT54
NjQ8L1BsYXRmb3JtPgorCQkJPFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+OC4xPC9XaW5k
b3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCTwv
SXRlbUdyb3VwPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3BhY2thZ2UvcGFja2Fn
ZS52Y3hwcm9qIGIvdnMyMDE3L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkNmI4NGYKLS0tIC9kZXYvbnVsbAorKysgYi92czIwMTcv
cGFja2FnZS9wYWNrYWdlLnZjeHByb2oKQEAgLTAsMCArMSw1OSBAQAorPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIg
VG9vbHNWZXJzaW9uPSIxNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9k
ZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEltcG9ydCBQcm9qZWN0PSIuLlxjb25maWdzLnBy
b3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxQ
bGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXIxMC4wPC9QbGF0Zm9ybVRvb2xz
ZXQ+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPlV0aWxpdHk8L0NvbmZpZ3VyYXRpb25UeXBlPgor
ICAgIDxEcml2ZXJUeXBlPlBhY2thZ2U8L0RyaXZlclR5cGU+CisgICAgPERpc2FibGVGYXN0VXBU
b0RhdGVDaGVjaz50cnVlPC9EaXNhYmxlRmFzdFVwVG9EYXRlQ2hlY2s+CisgICAgPFN1cHBvcnRz
UGFja2FnaW5nPnRydWU8L1N1cHBvcnRzUGFja2FnaW5nPgorICAgIDxEcml2ZXJUYXJnZXRQbGF0
Zm9ybT5EZXNrdG9wPC9Ecml2ZXJUYXJnZXRQbGF0Zm9ybT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgor
ICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0
LnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2pl
Y3RHdWlkPns5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9PC9Qcm9qZWN0R3Vp
ZD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJv
cHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3Bw
LnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8RW5hYmxlSW5mMmNhdD50cnVlPC9F
bmFibGVJbmYyY2F0PgorICAgIDxJbmYyQ2F0V2luZG93c1ZlcnNpb25MaXN0IENvbmRpdGlvbj0i
JyQoUGxhdGZvcm0pJz09J3g2NCciPjhfeDY0O1NlcnZlcjhfeDY0OzEwX3g2NDtTZXJ2ZXIxMF94
NjQ8L0luZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3Q+CisgICAgPEluZjJDYXRXaW5kb3dzVmVyc2lv
bkxpc3QgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIj44X3g4NjsxMF94ODY8L0lu
ZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3Q+CisgICAgPERlYnVnZ2VyRmxhdm9yPkRiZ2VuZ0tlcm5l
bERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4KKyAgICA8RW5hYmxlRGVwbG95bWVudD5GYWxzZTwv
RW5hYmxlRGVwbG95bWVudD4KKyAgICA8SW1wb3J0VG9TdG9yZT5GYWxzZTwvSW1wb3J0VG9TdG9y
ZT4KKyAgICA8SW5zdGFsbE1vZGU+Tm9uZTwvSW5zdGFsbE1vZGU+CisgICAgPFNjcmlwdERldmlj
ZVF1ZXJ5PiVQYXRoVG9JbmYlPC9TY3JpcHREZXZpY2VRdWVyeT4KKyAgICA8RW5hYmxlVmVyaWZp
ZXI+RmFsc2U8L0VuYWJsZVZlcmlmaWVyPgorICAgIDxBbGxEcml2ZXJzPkZhbHNlPC9BbGxEcml2
ZXJzPgorICAgIDxWZXJpZnlQcm9qZWN0T3V0cHV0PlRydWU8L1ZlcmlmeVByb2plY3RPdXRwdXQ+
CisgICAgPFZlcmlmeURyaXZlcnMgLz4KKyAgICA8VmVyaWZ5RmxhZ3M+MTMzNTYzPC9WZXJpZnlG
bGFncz4KKyAgICA8SW50RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJhdGlvbk5hbWUp
XCQoUGxhdGZvcm0pXDwvSW50RGlyPgorICAgIDxPdXREaXI+Li5cJChDb25maWd1cmF0aW9uTmFt
ZSlcJChQbGF0Zm9ybSlcPC9PdXREaXI+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1Hcm91
cD4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlx4ZW5maWx0XHhlbmZpbHQudmN4
cHJvaiI+CisgICAgICA8UHJvamVjdD57ZDc0MTFiMmMtMmM0My00MzRkLTlmNTYtZTEwYTNkMmY1
YmFkfTwvUHJvamVjdD4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CisgICAgPFByb2plY3RSZWZl
cmVuY2UgSW5jbHVkZT0iLi5ceGVuYnVzX2NvaW5zdFx4ZW5idXNfY29pbnN0LnZjeHByb2oiPgor
ICAgICAgPFByb2plY3Q+ezRiZjQxMzc4LWMwMWItNDAwMi04NTgxLTU2M2M1ZjcwMzM2Mn08L1By
b2plY3Q+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIElu
Y2x1ZGU9Ii4uXHhlbmJ1c1x4ZW5idXMudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57MTRjMTZj
MjktNzdjOS00NzViLWE2MTgtMWIwMWU2N2NmOTg1fTwvUHJvamVjdD4KKyAgICA8L1Byb2plY3RS
ZWZlcmVuY2U+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5ceGVuXHhlbi52Y3hw
cm9qIj4KKyAgICAgIDxQcm9qZWN0Pns5YzZhNWQ0OC1hMzMxLTRiMWYtYTAwNC03YmI2N2JhNWJl
MWN9PC9Qcm9qZWN0PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgICA8UHJvamVjdFJlZmVy
ZW5jZSBJbmNsdWRlPSIuLlx4ZW5idXNfbW9uaXRvclx4ZW5idXNfbW9uaXRvci52Y3hwcm9qIj4K
KyAgICAgIDxQcm9qZWN0PnsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9PC9Q
cm9qZWN0PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVt
R3JvdXA+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoRFBJTlNUX1JFRElTVClceDg2
XGRwaW5zdC5leGUiIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyIgLz4KKyAgICA8
RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChEUElOU1RfUkVESVNUKVx4NjRcZHBpbnN0LmV4ZSIg
Q29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJ
bXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+
CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CisgIDwvSW1wb3J0R3Jv
dXA+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTcvcGFja2FnZS9wYWNrYWdlLnZjeHBy
b2oudXNlciBiL3ZzMjAxNy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2VyCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiNDFhOTIKLS0tIC9kZXYvbnVsbAorKysgYi92czIw
MTcvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNlcgpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjE0
LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxk
LzIwMDMiPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25N
b2RlPgorICAgIDxUZXN0Q2VydGlmaWNhdGU+Li5cLi5cc3JjXHhlbmJ1cy5wZng8L1Rlc3RDZXJ0
aWZpY2F0ZT4KKyAgICA8VGltZVN0YW1wU2VydmVyPmh0dHA6Ly90aW1lc3RhbXAudmVyaXNpZ24u
Y29tL3NjcmlwdHMvdGltc3RhbXAuZGxsPC9UaW1lU3RhbXBTZXJ2ZXI+CisgIDwvUHJvcGVydHlH
cm91cD4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxNy90YXJnZXRzLnByb3BzIGIvdnMy
MDE3L3RhcmdldHMucHJvcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQ1
OThmYwotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy90YXJnZXRzLnByb3BzCkBAIC0wLDAgKzEs
MzUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBE
ZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTIuMCIgeG1sbnM9Imh0dHA6Ly9z
Y2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisJPFByb3BlcnR5
R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nV2luZG93cyAxMCBEZWJ1Z3xXaW4zMiciPgorCQk8VGFyZ2V0VmVyc2lv
bj5XaW5kb3dzMTA8L1RhcmdldFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9V
c2VEZWJ1Z0xpYnJhcmllcz4KKwk8L1Byb3BlcnR5R3JvdXA+CisJPFByb3BlcnR5R3JvdXAgTGFi
ZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyJyI+CisJCTxUYXJnZXRWZXJzaW9uPldpbmRv
d3MxMDwvVGFyZ2V0VmVyc2lvbj4KKwkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1
Z0xpYnJhcmllcz4KKwk8L1Byb3BlcnR5R3JvdXA+CisJPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNv
bmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
V2luZG93cyAxMCBEZWJ1Z3x4NjQnIj4KKwkJPFRhcmdldFZlcnNpb24+V2luZG93czEwPC9UYXJn
ZXRWZXJzaW9uPgorCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+
CisJPC9Qcm9wZXJ0eUdyb3VwPgorCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9u
IiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgMTAg
UmVsZWFzZXx4NjQnIj4KKwkJPFRhcmdldFZlcnNpb24+V2luZG93czEwPC9UYXJnZXRWZXJzaW9u
PgorCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgorCTwvUHJv
cGVydHlHcm91cD4KKwk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggRGVidWd8V2lu
MzInIj4KKwkJPFRhcmdldFZlcnNpb24+V2luZG93czg8L1RhcmdldFZlcnNpb24+CisJCTxVc2VE
ZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KKwk8L1Byb3BlcnR5R3JvdXA+
CisJPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IFJlbGVhc2V8V2luMzInIj4KKwkJ
PFRhcmdldFZlcnNpb24+V2luZG93czg8L1RhcmdldFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJh
cmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+CisJPC9Qcm9wZXJ0eUdyb3VwPgorCTxQcm9w
ZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBEZWJ1Z3x4NjQnIj4KKwkJPFRhcmdldFZlcnNp
b24+V2luZG93czg8L1RhcmdldFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9V
c2VEZWJ1Z0xpYnJhcmllcz4KKwk8L1Byb3BlcnR5R3JvdXA+CisJPFByb3BlcnR5R3JvdXAgTGFi
ZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nV2luZG93cyA4IFJlbGVhc2V8eDY0JyI+CisJCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4
PC9UYXJnZXRWZXJzaW9uPgorCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGli
cmFyaWVzPgorCTwvUHJvcGVydHlHcm91cD4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAx
Ny94ZW4veGVuLnZjeHByb2ogYi92czIwMTcveGVuL3hlbi52Y3hwcm9qCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlMjE1YzAKLS0tIC9kZXYvbnVsbAorKysgYi92czIwMTcv
eGVuL3hlbi52Y3hwcm9qCkBAIC0wLDAgKzEsODggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5j
b2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVy
c2lvbj0iMTQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVy
L21zYnVpbGQvMjAwMyI+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cY29uZmlncy5wcm9wcyIgLz4K
KyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8RHJpdmVyVHlw
ZT5XRE08L0RyaXZlclR5cGU+CisgICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2VybmVsTW9k
ZURyaXZlcjEwLjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHJp
dmVyPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFBy
b2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgor
ICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPns5QzZB
NUQ0OC1BMzMxLTRCMUYtQTAwNC03QkI2N0JBNUJFMUN9PC9Qcm9qZWN0R3VpZD4KKyAgPC9Qcm9w
ZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+CisgIDxJ
bXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgor
ICA8UHJvcGVydHlHcm91cD4KKyAgICA8UnVuQ29kZUFuYWx5c2lzPnRydWU8L1J1bkNvZGVBbmFs
eXNpcz4KKyAgICA8RW5hYmxlSW5mMmNhdD5mYWxzZTwvRW5hYmxlSW5mMmNhdD4KKyAgICA8SW50
RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwv
SW50RGlyPgorICAgIDxPdXREaXI+Li5cJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlc
PC9PdXREaXI+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Cisg
ICAgPENsQ29tcGlsZT4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoV2lu
ZG93c1Nka0RpcilcaW5jbHVkZVxrbTsuLlwuLlxpbmNsdWRlOy4uXC4uXGluY2x1ZGVceGVuOy4u
XC4uXHNyY1xjb21tb247JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25h
bEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX01P
RFVMRV9fPSJYRU4iO1BPT0xfTlhfT1BUSU49MTtOVF9QUk9DRVNTT1JfR1JPVVBTOyUoUHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxXYXJu
aW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEaXNhYmxl
U3BlY2lmaWNXYXJuaW5ncz40NDY0OzQ3MTE7NDU0ODs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7
MjgxOTY7MzAwMzA7MzAwMjk7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVj
aWZpY1dhcm5pbmdzPgorICAgICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVs
dGlQcm9jZXNzb3JDb21waWxhdGlvbj4KKyAgICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJs
ZVBSRWZhc3Q+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAg
IDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFs
SW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICA8
L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxJbWFnZUhhc1NhZmVFeGNlcHRp
b25IYW5kbGVycz5mYWxzZTwvSW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+CisgICAgICA8
QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKERES19MSUJfUEFUSCkvbGliY250cHIubGliOyQoRERL
X0xJQl9QQVRIKS9hdXhfa2xpYi5saWI7JChEREtfTElCX1BBVEgpL3Byb2NncnAubGliOyUoQWRk
aXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8TW9k
dWxlRGVmaW5pdGlvbkZpbGU+Li4vLi4vc3JjL3hlbi94ZW4uZGVmPC9Nb2R1bGVEZWZpbml0aW9u
RmlsZT4KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRGb2xk
aW5nPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmlu
aXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgorICAgIDxDbENv
bXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19pMzg2X187JShQcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucyk7X1g4Nl88L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgIDwv
Q2xDb21waWxlPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdy
b3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgorICAgIDxDbENvbXBpbGU+Cisg
ICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X194ODZfNjRfXzslKFByZXByb2Nlc3NvckRl
ZmluaXRpb25zKTtfQU1ENjRfPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICA8L0NsQ29t
cGlsZT4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxGaWxl
c1RvUGFja2FnZSBJbmNsdWRlPSIkKFRhcmdldFBhdGgpIiAvPgorICAgIDxGaWxlc1RvUGFja2Fn
ZSBJbmNsdWRlPSIkKE91dERpcikkKFRhcmdldE5hbWUpLnBkYiIgLz4KKyAgICA8RmlsZXNUb1Bh
Y2thZ2UgSW5jbHVkZT0iQChJbmYtPiclKENvcHlPdXRwdXQpJykiIENvbmRpdGlvbj0iJ0AoSW5m
KSchPScnIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXC4uXHNyY1xjb21tb25ccmVnaXN0cnkuYyIgLz4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5cZHJpdmVyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlwuLlxzcmNceGVuXGV2ZW50X2NoYW5uZWwuYyIgLz4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXC4uXHNyY1x4ZW5cZ3JhbnRfdGFibGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXC4uXHNyY1x4ZW5caHZtLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlwuLlxzcmNceGVuXHhlbl92ZXJzaW9uLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlwuLlxzcmNceGVuXGh5cGVyY2FsbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
Li5cc3JjXHhlblxtZW1vcnkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNy
Y1x4ZW5cc2NoZWQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5c
bG9nLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuXGJ1Z19jaGVj
ay5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlblxtb2R1bGUuYyIg
Lz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5ccHJvY2Vzcy5jIiAvPgor
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlblxhY3BpLmMiIC8+CisgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuXHN5c3RlbS5jIiAvPgorICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlblx1bnBsdWcuYyIgLz4KKyAgPC9JdGVtR3JvdXA+Cisg
IDxJdGVtR3JvdXA+CisgICAgPE1BU00gSW5jbHVkZT0iLi5cLi5cc3JjXHhlblxhbWQ2NFxoeXBl
cmNhbGxfdGh1bmsuYXNtIj4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KFBsYXRmb3JtKSc9PSdXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgIDwvTUFT
TT4KKyAgICA8TUFTTSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuXGkzODZcaHlwZXJjYWxsX3RodW5r
LmFzbSI+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSkn
PT0neDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgPC9NQVNNPgorICA8L0l0ZW1H
cm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9Ii4uXC4u
XHNyY1x4ZW5ceGVuLnJjIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8
Tm9uZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuXHhlbi5kZWYiIC8+CisgIDwvSXRlbUdyb3VwPgor
ICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRz
IiAvPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3hlbi94ZW4udmN4cHJvai51c2Vy
IGIvdnMyMDE3L3hlbi94ZW4udmN4cHJvai51c2VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmRiNDFhOTIKLS0tIC9kZXYvbnVsbAorKysgYi92czIwMTcveGVuL3hlbi52Y3hw
cm9qLnVzZXIKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1
dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSIxNC4wIiB4bWxucz0iaHR0cDovL3NjaGVt
YXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPFByb3BlcnR5R3Jv
dXA+CisgICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9kZT4KKyAgICA8VGVzdENlcnRpZmlj
YXRlPi4uXC4uXHNyY1x4ZW5idXMucGZ4PC9UZXN0Q2VydGlmaWNhdGU+CisgICAgPFRpbWVTdGFt
cFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRzL3RpbXN0YW1wLmRs
bDwvVGltZVN0YW1wU2VydmVyPgorICA8L1Byb3BlcnR5R3JvdXA+Cis8L1Byb2plY3Q+CmRpZmYg
LS1naXQgYS92czIwMTcveGVuYnVzLnNsbiBiL3ZzMjAxNy94ZW5idXMuc2xuCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkOTcxYjIKLS0tIC9kZXYvbnVsbAorKysgYi92czIw
MTcveGVuYnVzLnNsbgpAQCAtMCwwICsxLDE1OCBAQAorTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8g
U29sdXRpb24gRmlsZSwgRm9ybWF0IFZlcnNpb24gMTIuMDAKKyMgVmlzdWFsIFN0dWRpbyAxNAor
VmlzdWFsU3R1ZGlvVmVyc2lvbiA9IDE0LjAuMjU0MjAuMQorTWluaW11bVZpc3VhbFN0dWRpb1Zl
cnNpb24gPSAxMC4wLjQwMjE5LjEKK1Byb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0w
MEEwQzkxQkM5NDJ9IikgPSAieGVuYnVzX2NvaW5zdCIsICJ4ZW5idXNfY29pbnN0XHhlbmJ1c19j
b2luc3QudmN4cHJvaiIsICJ7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVGNzAzMzYyfSIK
K0VuZFByb2plY3QKK1Byb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5
NDJ9IikgPSAieGVuYnVzX21vbml0b3IiLCAieGVuYnVzX21vbml0b3JceGVuYnVzX21vbml0b3Iu
dmN4cHJvaiIsICJ7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfSIKK0VuZFBy
b2plY3QKK1Byb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9Iikg
PSAieGVuIiwgInhlblx4ZW4udmN4cHJvaiIsICJ7OUM2QTVENDgtQTMzMS00QjFGLUEwMDQtN0JC
NjdCQTVCRTFDfSIKK0VuZFByb2plY3QKK1Byb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQx
MS0wMEEwQzkxQkM5NDJ9IikgPSAieGVuZmlsdCIsICJ4ZW5maWx0XHhlbmZpbHQudmN4cHJvaiIs
ICJ7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfSIKKwlQcm9qZWN0U2VjdGlv
bihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0CisJCXs5QzZBNUQ0OC1BMzMxLTRC
MUYtQTAwNC03QkI2N0JBNUJFMUN9ID0gezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1
QkUxQ30KKwlFbmRQcm9qZWN0U2VjdGlvbgorRW5kUHJvamVjdAorUHJvamVjdCgiezhCQzlDRUI4
LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4ZW5idXMiLCAieGVuYnVzXHhlbmJ1
cy52Y3hwcm9qIiwgInsxNEMxNkMyOS03N0M5LTQ3NUItQTYxOC0xQjAxRTY3Q0Y5ODV9IgorCVBy
b2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QKKwkJezlDNkE1
RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30gPSB7OUM2QTVENDgtQTMzMS00QjFGLUEw
MDQtN0JCNjdCQTVCRTFDfQorCUVuZFByb2plY3RTZWN0aW9uCitFbmRQcm9qZWN0CitQcm9qZWN0
KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInBhY2thZ2UiLCAi
cGFja2FnZVxwYWNrYWdlLnZjeHByb2oiLCAiezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYy
RDg1Mjc5Rn0iCisJUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJv
amVjdAorCQl7MTRDMTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fSA9IHsxNEMxNkMy
OS03N0M5LTQ3NUItQTYxOC0xQjAxRTY3Q0Y5ODV9CisJCXs0QkY0MTM3OC1DMDFCLTQwMDItODU4
MS01NjNDNUY3MDMzNjJ9ID0gezRCRjQxMzc4LUMwMUItNDAwMi04NTgxLTU2M0M1RjcwMzM2Mn0K
KwkJezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30gPSB7OUM2QTVENDgtQTMz
MS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfQorCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEw
QTNEMkY1QkFEfSA9IHtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9CisJCXsy
RTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9ID0gezJFNjFEMkNDLTg2NUUtNDQy
Qy04QzgzLUI4REFGRDdCQkQzQn0KKwlFbmRQcm9qZWN0U2VjdGlvbgorRW5kUHJvamVjdAorR2xv
YmFsCisJR2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJl
U29sdXRpb24KKwkJV2luZG93cyA4IERlYnVnfFdpbjMyID0gV2luZG93cyA4IERlYnVnfFdpbjMy
CisJCVdpbmRvd3MgOCBEZWJ1Z3x4NjQgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCVdpbmRvd3Mg
OCBSZWxlYXNlfFdpbjMyID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKKwkJV2luZG93cyA4IFJl
bGVhc2V8eDY0ID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCVdpbmRvd3MgMTAgRGVidWd8V2lu
MzIgPSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCVdpbmRvd3MgMTAgRGVidWd8eDY0ID0gV2lu
ZG93cyAxMCBEZWJ1Z3x4NjQKKwkJV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyID0gV2luZG93cyAx
MCBSZWxlYXNlfFdpbjMyCisJCVdpbmRvd3MgMTAgUmVsZWFzZXx4NjQgPSBXaW5kb3dzIDEwIFJl
bGVhc2V8eDY0CisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZp
Z3VyYXRpb25QbGF0Zm9ybXMpID0gcG9zdFNvbHV0aW9uCisJCXs0QkY0MTM3OC1DMDFCLTQwMDIt
ODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5k
b3dzIDggRGVidWd8V2luMzIKKwkJezRCRjQxMzc4LUMwMUItNDAwMi04NTgxLTU2M0M1RjcwMzM2
Mn0uV2luZG93cyA4IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIK
KwkJezRCRjQxMzc4LUMwMUItNDAwMi04NTgxLTU2M0M1RjcwMzM2Mn0uV2luZG93cyA4IERlYnVn
fHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCXs0QkY0MTM3OC1DMDFCLTQw
MDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRv
d3MgOCBEZWJ1Z3x4NjQKKwkJezRCRjQxMzc4LUMwMUItNDAwMi04NTgxLTU2M0M1RjcwMzM2Mn0u
V2luZG93cyA4IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2lu
MzIKKwkJezRCRjQxMzc4LUMwMUItNDAwMi04NTgxLTU2M0M1RjcwMzM2Mn0uV2luZG93cyA4IFJl
bGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCisJCXs0QkY0MTM3
OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5BY3Rp
dmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKKwkJezRCRjQxMzc4LUMwMUItNDAwMi04NTgx
LTU2M0M1RjcwMzM2Mn0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDgg
UmVsZWFzZXx4NjQKKwkJezRCRjQxMzc4LUMwMUItNDAwMi04NTgxLTU2M0M1RjcwMzM2Mn0uV2lu
ZG93cyAxMCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJ
CXs0QkY0MTM3OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgMTAgRGVidWd8
V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJezRCRjQxMzc4LUMwMUIt
NDAwMi04NTgxLTU2M0M1RjcwMzM2Mn0uV2luZG93cyAxMCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0g
V2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJezRCRjQxMzc4LUMwMUItNDAwMi04NTgxLTU2M0M1Rjcw
MzM2Mn0uV2luZG93cyAxMCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgMTAgRGVidWd8eDY0
CisJCXs0QkY0MTM3OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgMTAgUmVs
ZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJezRCRjQx
Mzc4LUMwMUItNDAwMi04NTgxLTU2M0M1RjcwMzM2Mn0uV2luZG93cyAxMCBSZWxlYXNlfFdpbjMy
LkJ1aWxkLjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJezRCRjQxMzc4LUMwMUItNDAw
Mi04NTgxLTU2M0M1RjcwMzM2Mn0uV2luZG93cyAxMCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBX
aW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJCXs0QkY0MTM3OC1DMDFCLTQwMDItODU4MS01NjNDNUY3
MDMzNjJ9LldpbmRvd3MgMTAgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgMTAgUmVsZWFz
ZXx4NjQKKwkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA4
IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQl7MkU2MUQy
Q0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDggRGVidWd8V2luMzIuQnVp
bGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMt
QjhEQUZEN0JCRDNCfS5XaW5kb3dzIDggRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDgg
RGVidWd8V2luMzIKKwkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2lu
ZG93cyA4IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCXsyRTYx
RDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQnVp
bGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKKwkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4
REFGRDdCQkQzQn0uV2luZG93cyA4IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1
Z3x4NjQKKwkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA4
IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKKwkJezJF
NjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA4IFJlbGVhc2V8V2lu
MzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCisJCXsyRTYxRDJDQy04NjVFLTQ0
MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0g
V2luZG93cyA4IFJlbGVhc2V8V2luMzIKKwkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFG
RDdCQkQzQn0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxl
YXNlfHg2NAorCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dz
IDggUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAorCQl7MkU2MUQy
Q0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuRGVw
bG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKKwkJezJFNjFEMkNDLTg2NUUtNDQyQy04Qzgz
LUI4REFGRDdCQkQzQn0uV2luZG93cyAxMCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dz
IDEwIERlYnVnfFdpbjMyCisJCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9
LldpbmRvd3MgMTAgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIK
KwkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyAxMCBEZWJ1
Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJezJFNjFEMkNDLTg2
NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyAxMCBEZWJ1Z3x4NjQuQWN0aXZlQ2Zn
ID0gV2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFG
RDdCQkQzQn0uV2luZG93cyAxMCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgMTAgRGVidWd8
eDY0CisJCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgMTAg
RGVidWd8eDY0LkRlcGxveS4wID0gV2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJezJFNjFEMkNDLTg2
NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyLkFjdGl2
ZUNmZyA9IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQl7MkU2MUQyQ0MtODY1RS00NDJDLThD
ODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRv
d3MgMTAgUmVsZWFzZXxXaW4zMgorCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JC
RDNCfS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDEwIFJlbGVh
c2V8V2luMzIKKwkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93
cyAxMCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJCXsy
RTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgMTAgUmVsZWFzZXx4
NjQuQnVpbGQuMCA9IFdpbmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJezJFNjFEMkNDLTg2NUUtNDQy
Qy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyAxMCBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdp
bmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1
QkUxQ30uV2luZG93cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xX
aW4zMgorCQl7OUM2QTVENDgtQTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dzIDgg
RGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQl7OUM2QTVENDgt
QTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKKwkJezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3
QkE1QkUxQ30uV2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2
NAorCQl7OUM2QTVENDgtQTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dzIDggUmVs
ZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7OUM2QTVE
NDgtQTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5C
dWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKKwkJezlDNkE1RDQ4LUEzMzEtNEIxRi1B
MDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRv
d3MgOCBSZWxlYXNlfHg2NAorCQl7OUM2QTVENDgtQTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFD
fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAor
CQl7OUM2QTVENDgtQTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dzIDEwIERlYnVn
fFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJezlDNkE1RDQ4LUEz
MzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyAxMCBEZWJ1Z3xXaW4zMi5CdWlsZC4w
ID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7OUM2QTVENDgtQTMzMS00QjFGLUEwMDQtN0JC
NjdCQTVCRTFDfS5XaW5kb3dzIDEwIERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIERl
YnVnfHg2NAorCQl7OUM2QTVENDgtQTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dz
IDEwIERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJezlDNkE1RDQ4
LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyLkFj
dGl2ZUNmZyA9IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQl7OUM2QTVENDgtQTMzMS00QjFG
LUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdp
bmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQl7OUM2QTVENDgtQTMzMS00QjFGLUEwMDQtN0JCNjdC
QTVCRTFDfS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgUmVs
ZWFzZXx4NjQKKwkJezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93
cyAxMCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7RDc0
MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIDggRGVidWd8V2luMzIu
QWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCXtENzQxMUIyQy0yQzQzLTQzNEQt
OUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93
cyA4IERlYnVnfFdpbjMyCisJCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9
LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7
RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIDggRGVidWd8eDY0
LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1
Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRv
d3MgOCBSZWxlYXNlfFdpbjMyCisJCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVC
QUR9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXxX
aW4zMgorCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIDgg
UmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXtENzQxMUIy
Qy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWls
ZC4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1F
MTBBM0QyRjVCQUR9LldpbmRvd3MgMTAgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyAx
MCBEZWJ1Z3xXaW4zMgorCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5X
aW5kb3dzIDEwIERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJ
CXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgMTAgRGVidWd8
eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCXtENzQxMUIyQy0yQzQzLTQz
NEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgMTAgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5k
b3dzIDEwIERlYnVnfHg2NAorCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFE
fS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNl
fFdpbjMyCisJCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3Mg
MTAgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXtE
NzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgMTAgUmVsZWFzZXx4
NjQuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7RDc0MTFCMkMtMkM0My00
MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBX
aW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJCXsxNEMxNkMyOS03N0M5LTQ3NUItQTYxOC0xQjAxRTY3
Q0Y5ODV9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8
V2luMzIKKwkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFFNjdDRjk4NX0uV2luZG93cyA4
IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKKwkJezE0QzE2QzI5
LTc3QzktNDc1Qi1BNjE4LTFCMDFFNjdDRjk4NX0uV2luZG93cyA4IERlYnVnfHg2NC5BY3RpdmVD
ZmcgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCXsxNEMxNkMyOS03N0M5LTQ3NUItQTYxOC0xQjAx
RTY3Q0Y5ODV9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4
NjQKKwkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFFNjdDRjk4NX0uV2luZG93cyA4IFJl
bGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKKwkJezE0QzE2
QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFFNjdDRjk4NX0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIu
QnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCisJCXsxNEMxNkMyOS03N0M5LTQ3NUIt
QTYxOC0xQjAxRTY3Q0Y5ODV9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5k
b3dzIDggUmVsZWFzZXx4NjQKKwkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFFNjdDRjk4
NX0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQK
KwkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFFNjdDRjk4NX0uV2luZG93cyAxMCBEZWJ1
Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCXsxNEMxNkMyOS03
N0M5LTQ3NUItQTYxOC0xQjAxRTY3Q0Y5ODV9LldpbmRvd3MgMTAgRGVidWd8V2luMzIuQnVpbGQu
MCA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFC
MDFFNjdDRjk4NX0uV2luZG93cyAxMCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBE
ZWJ1Z3x4NjQKKwkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFFNjdDRjk4NX0uV2luZG93
cyAxMCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCXsxNEMxNkMy
OS03N0M5LTQ3NUItQTYxOC0xQjAxRTY3Q0Y5ODV9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5B
Y3RpdmVDZmcgPSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJezE0QzE2QzI5LTc3QzktNDc1
Qi1BNjE4LTFCMDFFNjdDRjk4NX0uV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBX
aW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFF
NjdDRjk4NX0uV2luZG93cyAxMCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIFJl
bGVhc2V8eDY0CisJCXsxNEMxNkMyOS03N0M5LTQ3NUItQTYxOC0xQjAxRTY3Q0Y5ODV9LldpbmRv
d3MgMTAgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJezky
RTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyA4IERlYnVnfFdpbjMy
LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQl7OTJFNUE0NkItOTEzQy00NUM2
LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIDggRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRv
d3MgOCBEZWJ1Z3xXaW4zMgorCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlG
fS5XaW5kb3dzIDggRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIK
KwkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyA4IERlYnVn
fHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCXs5MkU1QTQ2Qi05MTNDLTQ1
QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRv
d3MgOCBEZWJ1Z3x4NjQKKwkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0u
V2luZG93cyA4IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKKwkJezky
RTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyA4IFJlbGVhc2V8V2lu
MzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKKwkJezkyRTVBNDZCLTkxM0Mt
NDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9
IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCisJCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2
MkQ4NTI3OUZ9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA4IFJl
bGVhc2V8V2luMzIKKwkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2lu
ZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAorCQl7
OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIDggUmVsZWFzZXx4
NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAorCQl7OTJFNUE0NkItOTEzQy00NUM2
LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5k
b3dzIDggUmVsZWFzZXx4NjQKKwkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5
Rn0uV2luZG93cyAxMCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIERlYnVnfFdp
bjMyCisJCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgMTAg
RGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJezkyRTVBNDZC
LTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyAxMCBEZWJ1Z3xXaW4zMi5EZXBs
b3kuMCA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4
LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyAxMCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyAx
MCBEZWJ1Z3x4NjQKKwkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2lu
ZG93cyAxMCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCXs5MkU1
QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgMTAgRGVidWd8eDY0LkRl
cGxveS4wID0gV2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4
LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRv
d3MgMTAgUmVsZWFzZXxXaW4zMgorCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUy
NzlGfS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgMTAgUmVsZWFz
ZXxXaW4zMgorCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dz
IDEwIFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJ
ezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyAxMCBSZWxlYXNl
fHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJCXs5MkU1QTQ2Qi05MTND
LTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgMTAgUmVsZWFzZXx4NjQuQnVpbGQuMCA9
IFdpbmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYy
RDg1Mjc5Rn0uV2luZG93cyAxMCBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgMTAgUmVs
ZWFzZXx4NjQKKwlFbmRHbG9iYWxTZWN0aW9uCisJR2xvYmFsU2VjdGlvbihTb2x1dGlvblByb3Bl
cnRpZXMpID0gcHJlU29sdXRpb24KKwkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFCisJRW5kR2xv
YmFsU2VjdGlvbgorRW5kR2xvYmFsCmRpZmYgLS1naXQgYS92czIwMTcveGVuYnVzL3hlbmJ1cy52
Y3hwcm9qIGIvdnMyMDE3L3hlbmJ1cy94ZW5idXMudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4wMzhkM2Q3Ci0tLSAvZGV2L251bGwKKysrIGIvdnMyMDE3L3hlbmJ1
cy94ZW5idXMudmN4cHJvagpAQCAtMCwwICsxLDk4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1Zl
cnNpb249IjE0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Bl
ci9tc2J1aWxkLzIwMDMiPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXGNvbmZpZ3MucHJvcHMiIC8+
CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPERyaXZlclR5
cGU+V0RNPC9Ecml2ZXJUeXBlPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1v
ZGVEcml2ZXIxMC4wPC9QbGF0Zm9ybVRvb2xzZXQ+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkRy
aXZlcjwvQ29uZmlndXJhdGlvblR5cGU+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQ
cm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4K
KyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgorICAgIDxQcm9qZWN0R3VpZD57MTRD
MTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fTwvUHJvamVjdEd1aWQ+CisgIDwvUHJv
cGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRzLnByb3BzIiAvPgorICA8
SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4K
KyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFJ1bkNvZGVBbmFseXNpcz50cnVlPC9SdW5Db2RlQW5h
bHlzaXM+CisgICAgPEVuYWJsZUluZjJjYXQ+ZmFsc2U8L0VuYWJsZUluZjJjYXQ+CisgICAgPElu
dERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8
L0ludERpcj4KKyAgICA8T3V0RGlyPi4uXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0p
XDwvT3V0RGlyPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgor
ICAgIDxDbENvbXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVf
Xz0iWEVOQlVTIjtQT09MX05YX09QVElOPTE7TlRfUFJPQ0VTU09SX0dST1VQUzslKFByZXByb2Nl
c3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8QWRkaXRp
b25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFdpbmRvd3NTZGtEaXIpXGluY2x1ZGVca207Li5cLi5c
aW5jbHVkZTsuLlwuLlxpbmNsdWRlXHhlbjsuLlwuLlxzcmNcY29tbW9uOzwvQWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8
L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40NDY0OzQ3MTE7
NDU0ODs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7MzAwMzA7MzAwMjk7JShEaXNhYmxl
U3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgorICAgICAgPE11bHRp
UHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj4KKyAg
ICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+CisgICAgPC9DbENvbXBpbGU+
CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9y
aWVzPi4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRp
b25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TGlu
az4KKyAgICAgIDxJbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz5mYWxzZTwvSW1hZ2VIYXNT
YWZlRXhjZXB0aW9uSGFuZGxlcnM+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKFBy
b2plY3REaXIpLi5cJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlceGVuLmxpYjskKERE
S19MSUJfUEFUSCkvbGliY250cHIubGliOyQoRERLX0xJQl9QQVRIKS9wcm9jZ3JwLmxpYjskKERE
S19MSUJfUEFUSCkvcnRsdmVyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlv
bmFsRGVwZW5kZW5jaWVzPgorICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJs
ZUNPTURBVEZvbGRpbmc+CisgICAgPC9MaW5rPgorICAgIDxJbmY+CisgICAgICA8U3BlY2lmeUFy
Y2hpdGVjdHVyZT50cnVlPC9TcGVjaWZ5QXJjaGl0ZWN0dXJlPgorICAgICAgPFNwZWNpZnlEcml2
ZXJWZXJEaXJlY3RpdmVWZXJzaW9uPnRydWU8L1NwZWNpZnlEcml2ZXJWZXJEaXJlY3RpdmVWZXJz
aW9uPgorICAgICAgPFRpbWVTdGFtcD4kKE1BSk9SX1ZFUlNJT04pLiQoTUlOT1JfVkVSU0lPTiku
JChNSUNST19WRVJTSU9OKS4kKEJVSUxEX05VTUJFUik8L1RpbWVTdGFtcD4KKyAgICAgIDxFbmFi
bGVWZXJib3NlPnRydWU8L0VuYWJsZVZlcmJvc2U+CisgICAgPC9JbmY+CisgIDwvSXRlbURlZmlu
aXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9y
bSknPT0nV2luMzInIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmlu
aXRpb25zPl9faTM4Nl9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpO19YODZfPC9QcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8SW5mPgorICAgICAgPEFy
Y2hpdGVjdHVyZT54ODY8L0FyY2hpdGVjdHVyZT4KKyAgICA8L0luZj4KKyAgPC9JdGVtRGVmaW5p
dGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3Jt
KSc9PSd4NjQnIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRp
b25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk7X0FNRDY0XzwvUHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM+CisgICAgPC9DbENvbXBpbGU+CisgICAgPEluZj4KKyAgICAgIDxB
cmNoaXRlY3R1cmU+YW1kNjQ8L0FyY2hpdGVjdHVyZT4KKyAgICA8L0luZj4KKyAgPC9JdGVtRGVm
aW5pdGlvbkdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRl
PSIkKFRhcmdldFBhdGgpIiAvPgorICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKE91dERp
cikkKFRhcmdldE5hbWUpLnBkYiIgLz4KKyAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iQChJ
bmYtPiclKENvcHlPdXRwdXQpJykiIENvbmRpdGlvbj0iJ0AoSW5mKSchPScnIiAvPgorICA8L0l0
ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNy
Y1xjb21tb25ccmVnaXN0cnkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNy
Y1x4ZW5idXNcYnVzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVu
YnVzXGNvbnNvbGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5i
dXNcZG1hLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYnVzXGRl
YnVnLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYnVzXGRyaXZl
ci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xldnRjaG4u
YyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5idXNcZXZ0Y2huXzJs
LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYnVzXGV2dGNobl9m
aWZvLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYnVzXGZkby5j
IiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xmaWx0ZXJzLmMi
IC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYnVzXGdudHRhYi5jIiAv
PgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xwZG8uYyIgLz4KKyAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5idXNcc2hhcmVkX2luZm8uYyIgLz4K
KyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5idXNcc3RvcmUuYyIgLz4KKyAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5idXNcc3VzcGVuZC5jIiAvPgorICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xzeW5jLmMiIC8+CisgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYnVzXHRocmVhZC5jIiAvPgorICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xyYW5nZV9zZXQuYyIgLz4KKyAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5idXNcYmFsbG9vbi5jIiAvPgorICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xjYWNoZS5jIiAvPgorICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xoYXNoX3RhYmxlLmMiIC8+CisgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYnVzXHVucGx1Zy5jIiAvPgorICA8L0l0ZW1Hcm91
cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNy
Y1x4ZW5idXNceGVuYnVzLnJjIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAg
ICA8SW5mIEluY2x1ZGU9Ii4uXHhlbmJ1cy5pbmYiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SW1w
b3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgor
PC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3hlbmJ1cy94ZW5idXMudmN4cHJvai51c2Vy
IGIvdnMyMDE3L3hlbmJ1cy94ZW5idXMudmN4cHJvai51c2VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmRiNDFhOTIKLS0tIC9kZXYvbnVsbAorKysgYi92czIwMTcveGVuYnVz
L3hlbmJ1cy52Y3hwcm9qLnVzZXIKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAi
IGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSIxNC4wIiB4bWxucz0i
aHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAg
PFByb3BlcnR5R3JvdXA+CisgICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9kZT4KKyAgICA8
VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW5idXMucGZ4PC9UZXN0Q2VydGlmaWNhdGU+Cisg
ICAgPFRpbWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRz
L3RpbXN0YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgorICA8L1Byb3BlcnR5R3JvdXA+Cis8L1By
b2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTcveGVuYnVzX2NvaW5zdC94ZW5idXNfY29pbnN0LnZj
eHByb2ogYi92czIwMTcveGVuYnVzX2NvaW5zdC94ZW5idXNfY29pbnN0LnZjeHByb2oKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzg4YjhjOQotLS0gL2Rldi9udWxsCisrKyBi
L3ZzMjAxNy94ZW5idXNfY29pbnN0L3hlbmJ1c19jb2luc3QudmN4cHJvagpAQCAtMCwwICsxLDYx
IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVm
YXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjE0LjAiIHhtbG5zPSJodHRwOi8vc2No
ZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SW1wb3J0IFBy
b2plY3Q9Ii4uXGNvbmZpZ3MucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJQcm9w
ZXJ0eVNoZWV0cyI+CisgICAgPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJUeXBlPgorICAgIDxQbGF0
Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczEwLjA8L1BsYXRmb3JtVG9v
bHNldD4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRp
b25UeXBlPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1Rhcmdl
dHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3Vw
IExhYmVsPSJHbG9iYWxzIj4KKyAgICA8UHJvamVjdEd1aWQ+ezRCRjQxMzc4LUMwMUItNDAwMi04
NTgxLTU2M0M1RjcwMzM2Mn08L1Byb2plY3RHdWlkPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJ
bXBvcnQgUHJvamVjdD0iLi5cdGFyZ2V0cy5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIk
KFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3Vw
PgorICAgIDxSdW5Db2RlQW5hbHlzaXM+dHJ1ZTwvUnVuQ29kZUFuYWx5c2lzPgorICAgIDxFbmFi
bGVJbmYyY2F0PmZhbHNlPC9FbmFibGVJbmYyY2F0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJ
dGVtRGVmaW5pdGlvbkdyb3VwPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8QWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz4kKFNvbHV0aW9uRGlyKS4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5j
bHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQ
cmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX01PRFVMRV9fPSJYRU5CVVNfQ09JTlNUIjslKFByZXBy
b2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8V2Fy
bmluZ0xldmVsPkVuYWJsZUFsbFdhcm5pbmdzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGlzYWJs
ZVNwZWNpZmljV2FybmluZ3M+NDEyNzs0NzExOzQ1NDg7NDgyMDs0NjY4OzQyNTU7NjAwMTs2MDU0
OzI4MTk2OyUoRGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5n
cz4KKyAgICAgIDxNdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011bHRpUHJvY2Vzc29y
Q29tcGlsYXRpb24+CisgICAgICA8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFibGVQUkVmYXN0Pgor
ICAgICAgPFJ1bnRpbWVMaWJyYXJ5IENvbmRpdGlvbj0iJyQoVXNlRGVidWdMaWJyYXJpZXMpJz09
J3RydWUnIj5NdWx0aVRocmVhZGVkRGVidWc8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPFJ1bnRp
bWVMaWJyYXJ5IENvbmRpdGlvbj0iJyQoVXNlRGVidWdMaWJyYXJpZXMpJz09J2ZhbHNlJyI+TXVs
dGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+
CisgICAgICA8TW9kdWxlRGVmaW5pdGlvbkZpbGU+Li4vLi4vc3JjL2NvaW5zdC94ZW5idXNfY29p
bnN0LmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVu
Y2llcz5zZXR1cGFwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERl
cGVuZGVuY2llcz4KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01E
QVRGb2xkaW5nPgorICAgIDwvTGluaz4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPEFk
ZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChTb2x1dGlvbkRpcikuLlxpbmNsdWRlOyUoQWRk
aXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+
CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0
ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIj4KKyAg
ICA8Q2xDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9faTM4Nl9fOyUo
UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICA8
L0NsQ29tcGlsZT4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25H
cm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIj4KKyAgICA8Q2xDb21waWxlPgor
ICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JE
ZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgIDwvQ2xDb21waWxlPgor
ICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPEZpbGVzVG9QYWNr
YWdlIEluY2x1ZGU9IiQoVGFyZ2V0UGF0aCkiIC8+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1
ZGU9IiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkucGRiIiAvPgorICAgIDxGaWxlc1RvUGFja2FnZSBJ
bmNsdWRlPSJAKEluZi0+JyUoQ29weU91dHB1dCknKSIgQ29uZGl0aW9uPSInQChJbmYpJyE9Jyci
IC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cLi5cc3JjXGNvaW5zdFxjb2luc3QuYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVt
R3JvdXA+CisgICAgPE5vbmUgSW5jbHVkZT0iLi5cLi5cc3JjXGNvaW5zdFx4ZW5idXNfY29pbnN0
LmRlZiIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQ
YXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92
czIwMTcveGVuYnVzX2NvaW5zdC94ZW5idXNfY29pbnN0LnZjeHByb2oudXNlciBiL3ZzMjAxNy94
ZW5idXNfY29pbnN0L3hlbmJ1c19jb2luc3QudmN4cHJvai51c2VyCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmRiNDFhOTIKLS0tIC9kZXYvbnVsbAorKysgYi92czIwMTcveGVu
YnVzX2NvaW5zdC94ZW5idXNfY29pbnN0LnZjeHByb2oudXNlcgpAQCAtMCwwICsxLDggQEAKKzw/
eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNp
b249IjE0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9t
c2J1aWxkLzIwMDMiPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8U2lnbk1vZGU+VGVzdFNpZ248
L1NpZ25Nb2RlPgorICAgIDxUZXN0Q2VydGlmaWNhdGU+Li5cLi5cc3JjXHhlbmJ1cy5wZng8L1Rl
c3RDZXJ0aWZpY2F0ZT4KKyAgICA8VGltZVN0YW1wU2VydmVyPmh0dHA6Ly90aW1lc3RhbXAudmVy
aXNpZ24uY29tL3NjcmlwdHMvdGltc3RhbXAuZGxsPC9UaW1lU3RhbXBTZXJ2ZXI+CisgIDwvUHJv
cGVydHlHcm91cD4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW5idXNfbW9uaXRv
ci94ZW5idXNfbW9uaXRvci52Y3hwcm9qIGIvdnMyMDE3L3hlbmJ1c19tb25pdG9yL3hlbmJ1c19t
b25pdG9yLnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2RhOTA2
MQotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy94ZW5idXNfbW9uaXRvci94ZW5idXNfbW9uaXRv
ci52Y3hwcm9qCkBAIC0wLDAgKzEsNzcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9
InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0i
MTQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVp
bGQvMjAwMyI+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cY29uZmlncy5wcm9wcyIgLz4KKyAgPFBy
b3BlcnR5R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8Q2hhcmFjdGVyU2V0Pk11
bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxp
Y2F0aW9uRm9yRHJpdmVyczEwLjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgICA8Q29uZmlndXJhdGlv
blR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICA8L1Byb3BlcnR5R3JvdXA+
CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1
bHQucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAgICA8UHJv
amVjdEd1aWQ+ezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn08L1Byb2plY3RH
dWlkPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cdGFyZ2V0cy5w
cm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5D
cHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxJbmNsdWRlUGF0aD4kKEluY2x1
ZGVQYXRoKTwvSW5jbHVkZVBhdGg+CisgICAgPFJ1bkNvZGVBbmFseXNpcz50cnVlPC9SdW5Db2Rl
QW5hbHlzaXM+CisgICAgPEVuYWJsZUluZjJjYXQ+ZmFsc2U8L0VuYWJsZUluZjJjYXQ+CisgIDwv
UHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPEN1c3RvbUJ1aWxkQWZ0ZXJU
YXJnZXRzPkxpbms8L0N1c3RvbUJ1aWxkQWZ0ZXJUYXJnZXRzPgorICA8L1Byb3BlcnR5R3JvdXA+
CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8QWRkaXRp
b25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFNvbHV0aW9uRGlyKS4uXGluY2x1ZGU7JShBZGRpdGlv
bmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAg
ICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfV0lORE9XUztfQ1JUX1NFQ1VSRV9O
T19XQVJOSU5HUztfX01PRFVMRV9fPSJYRU5CVVNfTU9OSVRPUiI7JShQcmVwcm9jZXNzb3JEZWZp
bml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFdhcm5pbmdMZXZlbD5F
bmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgorICAgICAgPERpc2FibGVTcGVjaWZpY1dh
cm5pbmdzPjQxMjc7NDcxMTs0NTQ4OzQ4MjA7NDY2ODs0MjU1OzYwMDE7NjA1NDsyODE5NjslKERp
c2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+CisgICAgICA8
TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50cnVlPC9NdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9u
PgorICAgICAgPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwvRW5hYmxlUFJFZmFzdD4KKyAgICAgIDxSdW50
aW1lTGlicmFyeSBDb25kaXRpb249IickKFVzZURlYnVnTGlicmFyaWVzKSc9PSd0cnVlJyI+TXVs
dGlUaHJlYWRlZERlYnVnPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxSdW50aW1lTGlicmFyeSBD
b25kaXRpb249IickKFVzZURlYnVnTGlicmFyaWVzKSc9PSdmYWxzZSciPk11bHRpVGhyZWFkZWQ8
L1J1bnRpbWVMaWJyYXJ5PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFk
ZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3RzYXBpMzIubGliO2NmZ21ncjMyLmxpYjslKEFkZGl0aW9u
YWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgIDwvTGluaz4KKyAg
ICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+
JChTb2x1dGlvbkRpcikuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8
L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+Cisg
IDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9u
PSInJChQbGF0Zm9ybSknPT0nV2luMzInIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPFByZXBy
b2Nlc3NvckRlZmluaXRpb25zPl9faTM4Nl9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9Q
cmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q3VzdG9tQnVp
bGRTdGVwPgorICAgICAgPE91dHB1dHM+JChUYXJnZXREaXIpJChUYXJnZXROYW1lKS5kbGw8L091
dHB1dHM+CisgICAgICA8SW5wdXRzPiQoSW50RGlyKSQoVGFyZ2V0TmFtZSkucmVzPC9JbnB1dHM+
CisgICAgICA8Q29tbWFuZD5saW5rIC1tYWNoaW5lOng4NiAtZGxsIC1ub2VudHJ5IC1vdXQ6JShP
dXRwdXRzKSAlKElucHV0cyk8L0NvbW1hbmQ+CisgICAgPC9DdXN0b21CdWlsZFN0ZXA+CisgIDwv
SXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSIn
JChQbGF0Zm9ybSknPT0neDY0JyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNz
b3JEZWZpbml0aW9ucz5fX3g4Nl82NF9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVw
cm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q3VzdG9tQnVpbGRT
dGVwPgorICAgICAgPE91dHB1dHM+JChUYXJnZXREaXIpJChUYXJnZXROYW1lKS5kbGw8L091dHB1
dHM+CisgICAgICA8SW5wdXRzPiQoSW50RGlyKSQoVGFyZ2V0TmFtZSkucmVzPC9JbnB1dHM+Cisg
ICAgICA8Q29tbWFuZD5saW5rIC1tYWNoaW5lOng2NCAtZGxsIC1ub2VudHJ5IC1vdXQ6JShPdXRw
dXRzKSAlKElucHV0cyk8L0NvbW1hbmQ+CisgICAgPC9DdXN0b21CdWlsZFN0ZXA+CisgIDwvSXRl
bURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8RmlsZXNUb1BhY2thZ2UgSW5j
bHVkZT0iJChUYXJnZXRQYXRoKSIgLz4KKyAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChP
dXREaXIpJChUYXJnZXROYW1lKS5wZGIiIC8+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9
IiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkuZGxsIiAvPgorICAgIDxGaWxlc1RvUGFja2FnZSBJbmNs
dWRlPSJAKEluZi0+JyUoQ29weU91dHB1dCknKSIgQ29uZGl0aW9uPSInQChJbmYpJyE9JyciIC8+
CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxNZXNzYWdlQ29tcGlsZSBJbmNs
dWRlPSIuLlwuLlxzcmNcbW9uaXRvclxtZXNzYWdlcy5tYyIgLz4KKyAgPC9JdGVtR3JvdXA+Cisg
IDxJdGVtR3JvdXA+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNcbW9uaXRvclxt
b25pdG9yLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxSZXNvdXJj
ZUNvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXG1vbml0b3JceGVuYnVzX21vbml0b3IucmMiIC8+
CisgIDwvSXRlbUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWlj
cm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3hl
bmJ1c19tb25pdG9yL3hlbmJ1c19tb25pdG9yLnZjeHByb2oudXNlciBiL3ZzMjAxNy94ZW5idXNf
bW9uaXRvci94ZW5idXNfbW9uaXRvci52Y3hwcm9qLnVzZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uZGI0MWE5MgotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy94ZW5idXNf
bW9uaXRvci94ZW5idXNfbW9uaXRvci52Y3hwcm9qLnVzZXIKQEAgLTAsMCArMSw4IEBACis8P3ht
bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9u
PSIxNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNi
dWlsZC8yMDAzIj4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9T
aWduTW9kZT4KKyAgICA8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW5idXMucGZ4PC9UZXN0
Q2VydGlmaWNhdGU+CisgICAgPFRpbWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlz
aWduLmNvbS9zY3JpcHRzL3RpbXN0YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgorICA8L1Byb3Bl
cnR5R3JvdXA+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTcveGVuZmlsdC94ZW5maWx0
LnZjeHByb2ogYi92czIwMTcveGVuZmlsdC94ZW5maWx0LnZjeHByb2oKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZmU2YmEzOAotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy94
ZW5maWx0L3hlbmZpbHQudmN4cHJvagpAQCAtMCwwICsxLDY2IEBACis8P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBU
b29sc1ZlcnNpb249IjE0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2Rl
dmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXGNvbmZpZ3MucHJv
cHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPERy
aXZlclR5cGU+V0RNPC9Ecml2ZXJUeXBlPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tl
cm5lbE1vZGVEcml2ZXIxMC4wPC9QbGF0Zm9ybVRvb2xzZXQ+CisgICAgPENvbmZpZ3VyYXRpb25U
eXBlPkRyaXZlcjwvQ29uZmlndXJhdGlvblR5cGU+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPElt
cG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9w
cyIgLz4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgorICAgIDxQcm9qZWN0R3Vp
ZD57RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfTwvUHJvamVjdEd1aWQ+Cisg
IDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRzLnByb3BzIiAv
PgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9w
cyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFJ1bkNvZGVBbmFseXNpcz50cnVlPC9SdW5D
b2RlQW5hbHlzaXM+CisgICAgPEVuYWJsZUluZjJjYXQ+ZmFsc2U8L0VuYWJsZUluZjJjYXQ+Cisg
ICAgPEludERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRm
b3JtKVw8L0ludERpcj4KKyAgICA8T3V0RGlyPi4uXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxh
dGZvcm0pXDwvT3V0RGlyPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdy
b3VwPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19N
T0RVTEVfXz0iWEVORklMVCI7UE9PTF9OWF9PUFRJTj0xO05UX1BST0NFU1NPUl9HUk9VUFM7JShQ
cmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAg
PEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChXaW5kb3dzU2RrRGlyKVxpbmNsdWRlXGtt
Oy4uXC4uXGluY2x1ZGU7Li5cLi5caW5jbHVkZVx4ZW47Li5cLi5cc3JjXGNvbW1vbjs8L0FkZGl0
aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8V2FybmluZ0xldmVsPkVuYWJsZUFsbFdh
cm5pbmdzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDQ2
NDs0NzExOzQ1NDg7NDgyMDs0NjY4OzQyNTU7NjAwMTs2MDU0OzI4MTk2OzMwMDMwOzMwMDI5OyUo
RGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4KKyAgICAg
IDxNdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011bHRpUHJvY2Vzc29yQ29tcGlsYXRp
b24+CisgICAgICA8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFibGVQUkVmYXN0PgorICAgIDwvQ2xD
b21waWxlPgorICAgIDxSZXNvdXJjZUNvbXBpbGU+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVE
aXJlY3Rvcmllcz4uLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8
L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+Cisg
ICAgPExpbms+CisgICAgICA8SW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+ZmFsc2U8L0lt
YWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJzPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNp
ZXM+JChQcm9qZWN0RGlyKS4uXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXHhlbi5s
aWI7JChEREtfTElCX1BBVEgpL2xpYmNudHByLmxpYjskKERES19MSUJfUEFUSCkvcHJvY2dycC5s
aWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAg
ICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRGb2xkaW5nPgorICAg
IDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91
cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgorICAgIDxDbENvbXBpbGU+Cisg
ICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19pMzg2X187JShQcmVwcm9jZXNzb3JEZWZp
bml0aW9ucyk7X1g4Nl88L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgIDwvQ2xDb21waWxl
PgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRp
dGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8UHJl
cHJvY2Vzc29yRGVmaW5pdGlvbnM+X194ODZfNjRfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25z
KTtfQU1ENjRfPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICA8L0NsQ29tcGlsZT4KKyAg
PC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxGaWxlc1RvUGFja2Fn
ZSBJbmNsdWRlPSIkKFRhcmdldFBhdGgpIiAvPgorICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRl
PSIkKE91dERpcikkKFRhcmdldE5hbWUpLnBkYiIgLz4KKyAgICA8RmlsZXNUb1BhY2thZ2UgSW5j
bHVkZT0iQChJbmYtPiclKENvcHlPdXRwdXQpJykiIENvbmRpdGlvbj0iJ0AoSW5mKSchPScnIiAv
PgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uLy4uL3NyYy9jb21tb24vcmVnaXN0cnkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uLy4uL3NyYy94ZW5maWx0L2RyaXZlci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li4vLi4vc3JjL3hlbmZpbHQvZW11bGF0ZWQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uLy4uL3NyYy94ZW5maWx0L2Zkby5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4v
Li4vc3JjL3hlbmZpbHQvcGRvLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9z
cmMveGVuZmlsdC90aHJlYWQuYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+Cisg
ICAgPFJlc291cmNlQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuZmlsdFx4ZW5maWx0LnJj
IiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgp
XE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAx
Ny94ZW5maWx0L3hlbmZpbHQudmN4cHJvai51c2VyIGIvdnMyMDE3L3hlbmZpbHQveGVuZmlsdC52
Y3hwcm9qLnVzZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGI0MWE5Mgot
LS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy94ZW5maWx0L3hlbmZpbHQudmN4cHJvai51c2VyCkBA
IC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQ
cm9qZWN0IFRvb2xzVmVyc2lvbj0iMTQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29m
dC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxT
aWduTW9kZT5UZXN0U2lnbjwvU2lnbk1vZGU+CisgICAgPFRlc3RDZXJ0aWZpY2F0ZT4uLlwuLlxz
cmNceGVuYnVzLnBmeDwvVGVzdENlcnRpZmljYXRlPgorICAgIDxUaW1lU3RhbXBTZXJ2ZXI+aHR0
cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1RpbWVTdGFt
cFNlcnZlcj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorPC9Qcm9qZWN0PgotLSAKMi41LjMKCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwg
bWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp
c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Mon Jan 29 15:18:58 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Jan 2018 15:18:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egBCz-00087V-JF; Mon, 29 Jan 2018 15:18:57 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1egBCy-00087M-3L
 for win-pv-devel@lists.xenproject.org; Mon, 29 Jan 2018 15:18:56 +0000
Date: Mon, 29 Jan 2018 15:19:00 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <15410019.3.1517239145798.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_2_1416481.1517239140548"
X-Jenkins-Job: XENBUS-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENBUS-master - Build #155 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_2_1416481.1517239140548
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #155.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENBUS-master/155/console to view the results.
------=_Part_2_1416481.1517239140548
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_2_1416481.1517239140548--


From win-pv-devel-bounces@lists.xenproject.org Mon Jan 29 16:10:59 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Jan 2018 16:10:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egC1J-0005JE-W9; Mon, 29 Jan 2018 16:10:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=ebuc=ey=citrix.com=prvs=560e3c7a9=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egC1J-0005Ie-10
 for win-pv-devel@lists.xenproject.org; Mon, 29 Jan 2018 16:10:57 +0000
X-Inumbo-ID: 0724b53a-050f-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 0724b53a-050f-11e8-b9b1-635ca7ef6cff;
 Mon, 29 Jan 2018 16:11:13 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,431,1511827200"; d="scan'208";a="460115193"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 29 Jan 2018 16:10:40 +0000
Message-ID: <1517242241-1225-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xenvif 1/2] Add support for building with
	Visual Studio 2017
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

QWxzbyByZW1vdmUgbWFwcGluZ3MgZm9yIG9ic29sZXRlIHZlcnNpb25zIG9mIFZTIGluIGJ1aWxk
LnB5LgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNv
bT4KLS0tCiBidWlsZC5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
IDQ2ICsrKysrKystLS0tLQogbXNidWlsZC5iYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgNiArLQogdnMyMDE3L2NvbmZpZ3MucHJvcHMgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCA0NSArKysrKysrKysrKwogdnMyMDE3L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9q
ICAgICAgICAgICAgICAgICAgfCA0OSArKysrKysrKysrKysKIHZzMjAxNy9wYWNrYWdlL3BhY2th
Z2UudmN4cHJvai51c2VyICAgICAgICAgICAgIHwgIDggKysKIHZzMjAxNy90YXJnZXRzLnByb3Bz
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzUgKysrKysrKysrCiB2czIwMTcveGVudmlm
LnNsbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDk5ICsrKysrKysrKysrKysrKysr
KysrKysrKysKIHZzMjAxNy94ZW52aWYveGVudmlmLnZjeHByb2ogICAgICAgICAgICAgICAgICAg
IHwgOTUgKysrKysrKysrKysrKysrKysrKysrKysrCiB2czIwMTcveGVudmlmL3hlbnZpZi52Y3hw
cm9qLnVzZXIgICAgICAgICAgICAgICB8ICA4ICsrCiB2czIwMTcveGVudmlmX2NvaW5zdC94ZW52
aWZfY29pbnN0LnZjeHByb2ogICAgICB8IDYwICsrKysrKysrKysrKysrKwogdnMyMDE3L3hlbnZp
Zl9jb2luc3QveGVudmlmX2NvaW5zdC52Y3hwcm9qLnVzZXIgfCAgOCArKwogMTEgZmlsZXMgY2hh
bmdlZCwgNDM5IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAw
NjQ0IHZzMjAxNy9jb25maWdzLnByb3BzCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3BhY2th
Z2UvcGFja2FnZS52Y3hwcm9qCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3BhY2thZ2UvcGFj
a2FnZS52Y3hwcm9qLnVzZXIKIGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcvdGFyZ2V0cy5wcm9w
cwogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy94ZW52aWYuc2xuCiBjcmVhdGUgbW9kZSAxMDA2
NDQgdnMyMDE3L3hlbnZpZi94ZW52aWYudmN4cHJvagogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAx
Ny94ZW52aWYveGVudmlmLnZjeHByb2oudXNlcgogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy94
ZW52aWZfY29pbnN0L3hlbnZpZl9jb2luc3QudmN4cHJvagogY3JlYXRlIG1vZGUgMTAwNjQ0IHZz
MjAxNy94ZW52aWZfY29pbnN0L3hlbnZpZl9jb2luc3QudmN4cHJvai51c2VyCgpkaWZmIC0tZ2l0
IGEvYnVpbGQucHkgYi9idWlsZC5weQppbmRleCA0N2NiYmM4Li45NGRmODI1IDEwMDc1NQotLS0g
YS9idWlsZC5weQorKysgYi9idWlsZC5weQpAQCAtMTcyLDE4ICsxNzIsMjggQEAgZGVmIHNoZWxs
KGNvbW1hbmQsIGRpcik6CiAgICAgcmV0dXJuIHN1Yi5yZXR1cm5jb2RlCiAKIAorZGVmIGZpbmQo
bmFtZSwgcGF0aCk6CisgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsocGF0aCk6
CisgICAgICAgIGlmIG5hbWUgaW4gZmlsZXM6CisgICAgICAgICAgICByZXR1cm4gb3MucGF0aC5q
b2luKHJvb3QsIG5hbWUpCisKKwogY2xhc3MgbXNidWlsZF9mYWlsdXJlKEV4Y2VwdGlvbik6CiAg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlKToKICAgICAgICAgc2VsZi52YWx1ZSA9IHZhbHVl
CiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgIHJldHVybiByZXByKHNlbGYudmFsdWUp
CiAKKwogZGVmIG1zYnVpbGQocGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIHRhcmdldCwgZmlsZSwg
YXJncywgZGlyKToKLSAgICBvcy5lbnZpcm9uWydQTEFURk9STSddID0gcGxhdGZvcm0KLSAgICBv
cy5lbnZpcm9uWydDT05GSUdVUkFUSU9OJ10gPSBjb25maWd1cmF0aW9uCi0gICAgb3MuZW52aXJv
blsnVEFSR0VUJ10gPSB0YXJnZXQKLSAgICBvcy5lbnZpcm9uWydGSUxFJ10gPSBmaWxlCi0gICAg
b3MuZW52aXJvblsnRVhUUkEnXSA9IGFyZ3MKKyAgICB2Y3ZhcnNhbGwgPSBmaW5kKCd2Y3ZhcnNh
bGwuYmF0Jywgb3MuZW52aXJvblsnVlMnXSkKKworICAgIG9zLmVudmlyb25bJ01TQlVJTERfUExB
VEZPUk0nXSA9IHBsYXRmb3JtCisgICAgb3MuZW52aXJvblsnTVNCVUlMRF9DT05GSUdVUkFUSU9O
J10gPSBjb25maWd1cmF0aW9uCisgICAgb3MuZW52aXJvblsnTVNCVUlMRF9UQVJHRVQnXSA9IHRh
cmdldAorICAgIG9zLmVudmlyb25bJ01TQlVJTERfRklMRSddID0gZmlsZQorICAgIG9zLmVudmly
b25bJ01TQlVJTERfRVhUUkEnXSA9IGFyZ3MKKyAgICBvcy5lbnZpcm9uWydNU0JVSUxEX1ZDVkFS
U0FMTCddID0gdmN2YXJzYWxsCiAKICAgICBiaW4gPSBvcy5wYXRoLmpvaW4ob3MuZ2V0Y3dkKCks
ICdtc2J1aWxkLmJhdCcpCiAKQEAgLTIwMSw4ICsyMTEsNiBAQCBkZWYgYnVpbGRfc2xuKG5hbWUs
IHJlbGVhc2UsIGFyY2gsIGRlYnVnLCB2cyk6CiAgICAgZWxpZiBhcmNoID09ICd4NjQnOgogICAg
ICAgICBwbGF0Zm9ybSA9ICd4NjQnCiAKLSAgICBjd2QgPSBvcy5nZXRjd2QoKQotCiAgICAgbXNi
dWlsZChwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgJ0J1aWxkJywgbmFtZSArICcuc2xuJywgJycs
IHZzKQogCiBkZWYgY29weV9wYWNrYWdlKG5hbWUsIHJlbGVhc2UsIGFyY2gsIGRlYnVnLCB2cyk6
CkBAIC0zNTgsMjQgKzM2NiwyNCBAQCBkZWYgYXJjaGl2ZShmaWxlbmFtZSwgZmlsZXMsIHRnej1G
YWxzZSk6CiAKIAogZGVmIGdldFZzVmVyc2lvbigpOgotICAgIHZzZW52ID17fSAKLSAgICB2YXJz
ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoW29zLmVudmlyb25bJ1ZTJ10rJ1xcVkNcXHZjdmFy
c2FsbC5iYXQnLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJiYn
LCAnc2V0J10sIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hlbGw9VHJ1
ZSkKKyAgICB2c2VudiA9IHt9CisgICAgdmN2YXJzYWxsPSBmaW5kKCd2Y3ZhcnNhbGwuYmF0Jywg
b3MuZW52aXJvblsnVlMnXSkKKworICAgIHZhcnMgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChb
dmN2YXJzYWxsLCAneDg2X2FtZDY0JywgJyYmJywgJ3NldCddLCBzaGVsbD1UcnVlKQorCiAgICAg
Zm9yIHZhciBpbiB2YXJzLnNwbGl0bGluZXMoKToKICAgICAgICAgaywgXywgdiA9IG1hcChzdHIu
c3RyaXAsIHZhci5zdHJpcCgpLmRlY29kZSgndXRmLTgnKS5wYXJ0aXRpb24oJz0nKSkKICAgICAg
ICAgaWYgay5zdGFydHN3aXRoKCc/Jyk6CiAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICB2
c2VudltrXSA9IHYKIAotICAgIG1hcHBpbmcgPSB7ICcxMS4wJzondnMyMDEyJywKLSAgICAgICAg
ICAgICAgICAnMTIuMCc6J3ZzMjAxMycsCi0gICAgICAgICAgICAgICAgJzE0LjAnOid2czIwMTUn
IH0KKyAgICBtYXBwaW5nID0geyAnMTQuMCc6J3ZzMjAxNScsCisgICAgICAgICAgICAgICAgJzE1
LjAnOid2czIwMTcnIH0KIAogICAgIHJldHVybiBtYXBwaW5nW3ZzZW52WydWaXN1YWxTdHVkaW9W
ZXJzaW9uJ11dCiAKIAotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKK2RlZiBtYWluKCk6CiAg
ICAgZGVidWcgPSB7ICdjaGVja2VkJzogVHJ1ZSwgJ2ZyZWUnOiBGYWxzZSB9CiAgICAgc2R2ID0g
eyAnbm9zZHYnOiBGYWxzZSwgTm9uZTogVHJ1ZSB9CiAgICAgZHJpdmVyID0gJ3hlbnZpZicKQEAg
LTQxNiw5ICs0MjQsOCBAQCBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogCiAgICAgc3ltc3Rv
cmVfZGVsKGRyaXZlciwgMzApCiAKLSAgICByZWxlYXNlID0geyAndnMyMDEyJzonV2luZG93cyBW
aXN0YScsCi0gICAgICAgICAgICAgICAgJ3ZzMjAxMyc6J1dpbmRvd3MgNycsCi0gICAgICAgICAg
ICAgICAgJ3ZzMjAxNSc6J1dpbmRvd3MgOCcgfQorICAgIHJlbGVhc2UgPSB7ICd2czIwMTUnOidX
aW5kb3dzIDgnLAorICAgICAgICAgICAgICAgICd2czIwMTcnOidXaW5kb3dzIDgnIH0KIAogICAg
IHNodXRpbC5ybXRyZWUoZHJpdmVyLCBpZ25vcmVfZXJyb3JzPVRydWUpCiAKQEAgLTQzNywzICs0
NDQsNiBAQCBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIGFyY2hpdmUoZHJpdmVyICsg
J1xcc291cmNlLnRneicsIG1hbmlmZXN0KCkuc3BsaXRsaW5lcygpLCB0Z3o9VHJ1ZSkKICAgICBh
cmNoaXZlKGRyaXZlciArICcudGFyJywgW2RyaXZlciwncmV2aXNpb24nXSkKIAorCitpZiBfX25h
bWVfXyA9PSAnX19tYWluX18nOgorICAgIG1haW4oKQpkaWZmIC0tZ2l0IGEvbXNidWlsZC5iYXQg
Yi9tc2J1aWxkLmJhdAppbmRleCAxYjFmYmM4Li5hMjhmOTM5IDEwMDc1NQotLS0gYS9tc2J1aWxk
LmJhdAorKysgYi9tc2J1aWxkLmJhdApAQCAtMSw2ICsxLDggQEAKLWNhbGwgIiVWUyVcVkNcdmN2
YXJzYWxsLmJhdCIgeDg2CitzZXQgTVNCVUlMRF9ST09UPSVjZCUKK2NhbGwgIiVNU0JVSUxEX1ZD
VkFSU0FMTCUiIHg4Nl9hbWQ2NAogQGVjaG8gb24KLW1zYnVpbGQuZXhlIC9tOjEgL3A6Q29uZmln
dXJhdGlvbj0iJUNPTkZJR1VSQVRJT04lIiAvcDpQbGF0Zm9ybT0iJVBMQVRGT1JNJSIgL3Q6IiVU
QVJHRVQlIiAlRVhUUkElICVGSUxFJQorY2QgIiVNU0JVSUxEX1JPT1QlIgorbXNidWlsZC5leGUg
L206MSAvcDpDb25maWd1cmF0aW9uPSIlTVNCVUlMRF9DT05GSUdVUkFUSU9OJSIgL3A6UGxhdGZv
cm09IiVNU0JVSUxEX1BMQVRGT1JNJSIgL3Q6IiVNU0JVSUxEX1RBUkdFVCUiICVNU0JVSUxEX0VY
VFJBJSAlTVNCVUlMRF9GSUxFJQogaWYgZXJyb3JsZXZlbCAxIGdvdG8gZXJyb3IKIGV4aXQgMAog
CmRpZmYgLS1naXQgYS92czIwMTcvY29uZmlncy5wcm9wcyBiL3ZzMjAxNy9jb25maWdzLnByb3Bz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmZTlhMzMKLS0tIC9kZXYvbnVs
bAorKysgYi92czIwMTcvY29uZmlncy5wcm9wcwpAQCAtMCwwICsxLDQ1IEBACis8P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1
aWxkIiBUb29sc1ZlcnNpb249IjE1LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQu
Y29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorCTxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RD
b25maWd1cmF0aW9ucyI+CisJCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dz
IDEwIERlYnVnfFdpbjMyIj4KKwkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgMTAgRGVidWc8L0Nv
bmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorCQkJPFdpbmRvd3NU
YXJnZXRQbGF0Zm9ybVZlcnNpb24+MTA8L1dpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+CisJ
CTwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisJCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRl
PSJXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIiPgorCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyAx
MCBSZWxlYXNlPC9Db25maWd1cmF0aW9uPgorCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4K
KwkJCTxXaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPjEwPC9XaW5kb3dzVGFyZ2V0UGxhdGZv
cm1WZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCQk8UHJvamVjdENvbmZpZ3Vy
YXRpb24gSW5jbHVkZT0iV2luZG93cyAxMCBEZWJ1Z3x4NjQiPgorCQkJPENvbmZpZ3VyYXRpb24+
V2luZG93cyAxMCBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKwkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRm
b3JtPgorCQkJPFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+MTA8L1dpbmRvd3NUYXJnZXRQ
bGF0Zm9ybVZlcnNpb24+CisJCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisJCTxQcm9qZWN0Q29u
ZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDEwIFJlbGVhc2V8eDY0Ij4KKwkJCTxDb25maWd1
cmF0aW9uPldpbmRvd3MgMTAgUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKwkJCTxQbGF0Zm9ybT54
NjQ8L1BsYXRmb3JtPgorCQkJPFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+MTA8L1dpbmRv
d3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+CisJCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisJCTxQ
cm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDggRGVidWd8V2luMzIiPgorCQkJ
PENvbmZpZ3VyYXRpb24+V2luZG93cyA4IERlYnVnPC9Db25maWd1cmF0aW9uPgorCQkJPFBsYXRm
b3JtPldpbjMyPC9QbGF0Zm9ybT4KKwkJCTxXaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPjgu
MTwvV2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KKwkJPC9Qcm9qZWN0Q29uZmlndXJhdGlv
bj4KKwkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgOCBSZWxlYXNlfFdp
bjMyIj4KKwkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgOCBSZWxlYXNlPC9Db25maWd1cmF0aW9u
PgorCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKwkJCTxXaW5kb3dzVGFyZ2V0UGxhdGZv
cm1WZXJzaW9uPjguMTwvV2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KKwkJPC9Qcm9qZWN0
Q29uZmlndXJhdGlvbj4KKwkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3Mg
OCBEZWJ1Z3x4NjQiPgorCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA4IERlYnVnPC9Db25maWd1
cmF0aW9uPgorCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisJCQk8V2luZG93c1RhcmdldFBs
YXRmb3JtVmVyc2lvbj44LjE8L1dpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+CisJCTwvUHJv
amVjdENvbmZpZ3VyYXRpb24+CisJCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5k
b3dzIDggUmVsZWFzZXx4NjQiPgorCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA4IFJlbGVhc2U8
L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKwkJCTxXaW5kb3dz
VGFyZ2V0UGxhdGZvcm1WZXJzaW9uPjguMTwvV2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4K
KwkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKwk8L0l0ZW1Hcm91cD4KKzwvUHJvamVjdD4KZGlm
ZiAtLWdpdCBhL3ZzMjAxNy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvaiBiL3ZzMjAxNy9wYWNrYWdl
L3BhY2thZ2UudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDEy
N2I1Ci0tLSAvZGV2L251bGwKKysrIGIvdnMyMDE3L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qCkBA
IC0wLDAgKzEsNDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8
UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTUuMCIgeG1sbnM9
Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Cisg
IDxJbXBvcnQgUHJvamVjdD0iLi5cY29uZmlncy5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAg
TGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJu
ZWxNb2RlRHJpdmVyMTAuMDwvUGxhdGZvcm1Ub29sc2V0PgorICAgIDxDb25maWd1cmF0aW9uVHlw
ZT5VdGlsaXR5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8RHJpdmVyVHlwZT5QYWNrYWdlPC9E
cml2ZXJUeXBlPgorICAgIDxEaXNhYmxlRmFzdFVwVG9EYXRlQ2hlY2s+dHJ1ZTwvRGlzYWJsZUZh
c3RVcFRvRGF0ZUNoZWNrPgorICAgIDxTdXBwb3J0c1BhY2thZ2luZz50cnVlPC9TdXBwb3J0c1Bh
Y2thZ2luZz4KKyAgICA8RHJpdmVyVGFyZ2V0UGxhdGZvcm0+RGVza3RvcDwvRHJpdmVyVGFyZ2V0
UGxhdGZvcm0+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFy
Z2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3Jv
dXAgTGFiZWw9Ikdsb2JhbHMiPgorICAgIDxQcm9qZWN0R3VpZD57NzM3NjhDQzktREIyNi00Mjk3
LTlFQzgtMTA0MkY4MTVFQjE1fTwvUHJvamVjdEd1aWQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAg
PEltcG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRzLnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9
IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3Jv
dXA+CisgICAgPEVuYWJsZUluZjJjYXQ+dHJ1ZTwvRW5hYmxlSW5mMmNhdD4KKyAgICA8SW5mMkNh
dFdpbmRvd3NWZXJzaW9uTGlzdCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIj44X3g2
NDtTZXJ2ZXI4X3g2NDsxMF94NjQ7U2VydmVyMTBfeDY0PC9JbmYyQ2F0V2luZG93c1ZlcnNpb25M
aXN0PgorICAgIDxJbmYyQ2F0V2luZG93c1ZlcnNpb25MaXN0IENvbmRpdGlvbj0iJyQoUGxhdGZv
cm0pJz09J1dpbjMyJyI+OF94ODY7MTBfeDg2PC9JbmYyQ2F0V2luZG93c1ZlcnNpb25MaXN0Pgor
ICAgIDxEZWJ1Z2dlckZsYXZvcj5EYmdlbmdLZXJuZWxEZWJ1Z2dlcjwvRGVidWdnZXJGbGF2b3I+
CisgICAgPEVuYWJsZURlcGxveW1lbnQ+RmFsc2U8L0VuYWJsZURlcGxveW1lbnQ+CisgICAgPElt
cG9ydFRvU3RvcmU+RmFsc2U8L0ltcG9ydFRvU3RvcmU+CisgICAgPEluc3RhbGxNb2RlPk5vbmU8
L0luc3RhbGxNb2RlPgorICAgIDxTY3JpcHREZXZpY2VRdWVyeT4lUGF0aFRvSW5mJTwvU2NyaXB0
RGV2aWNlUXVlcnk+CisgICAgPEVuYWJsZVZlcmlmaWVyPkZhbHNlPC9FbmFibGVWZXJpZmllcj4K
KyAgICA8QWxsRHJpdmVycz5GYWxzZTwvQWxsRHJpdmVycz4KKyAgICA8VmVyaWZ5UHJvamVjdE91
dHB1dD5UcnVlPC9WZXJpZnlQcm9qZWN0T3V0cHV0PgorICAgIDxWZXJpZnlGbGFncz4xMzM1NjM8
L1ZlcmlmeUZsYWdzPgorICAgIDxJbnREaXI+Li5cJChQcm9qZWN0TmFtZSlcJChDb25maWd1cmF0
aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9JbnREaXI+CisgICAgPE91dERpcj4uLlwkKENvbmZpZ3Vy
YXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L091dERpcj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8
SXRlbUdyb3VwPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Ii4uXHhlbnZpZlx4ZW52
aWYudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJE
MDU0M0MxRDE4fTwvUHJvamVjdD4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CisgICAgPFByb2pl
Y3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5ceGVudmlmX2NvaW5zdFx4ZW52aWZfY29pbnN0LnZjeHBy
b2oiPgorICAgICAgPFByb2plY3Q+ezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0
NH08L1Byb2plY3Q+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4KKyAg
PEl0ZW1Hcm91cD4KKyAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChEUElOU1RfUkVESVNU
KVx4ODZcZHBpbnN0LmV4ZSIgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIiAvPgor
ICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKERQSU5TVF9SRURJU1QpXHg2NFxkcGluc3Qu
ZXhlIiBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIiAvPgorICA8L0l0ZW1Hcm91cD4K
KyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0
cyIgLz4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KKyAgPC9JbXBv
cnRHcm91cD4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxNy9wYWNrYWdlL3BhY2thZ2Uu
dmN4cHJvai51c2VyIGIvdnMyMDE3L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qLnVzZXIKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJjNmYyNwotLS0gL2Rldi9udWxsCisrKyBi
L3ZzMjAxNy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2VyCkBAIC0wLDAgKzEsOCBAQAorPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lv
bj0iMTUuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21z
YnVpbGQvMjAwMyI+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxTaWduTW9kZT5UZXN0U2lnbjwv
U2lnbk1vZGU+CisgICAgPFRlc3RDZXJ0aWZpY2F0ZT4uLlwuLlxzcmNceGVudmlmLnBmeDwvVGVz
dENlcnRpZmljYXRlPgorICAgIDxUaW1lU3RhbXBTZXJ2ZXI+aHR0cDovL3RpbWVzdGFtcC52ZXJp
c2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1RpbWVTdGFtcFNlcnZlcj4KKyAgPC9Qcm9w
ZXJ0eUdyb3VwPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3RhcmdldHMucHJvcHMg
Yi92czIwMTcvdGFyZ2V0cy5wcm9wcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5kMDQ1NDM0Ci0tLSAvZGV2L251bGwKKysrIGIvdnMyMDE3L3RhcmdldHMucHJvcHMKQEAgLTAs
MCArMSwzNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9q
ZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIxNS4wIiB4bWxucz0iaHR0
cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKwk8UHJv
cGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDEwIERlYnVnfFdpbjMyJyI+CisJCTxUYXJnZXRW
ZXJzaW9uPldpbmRvd3MxMDwvVGFyZ2V0VmVyc2lvbj4KKwkJPFVzZURlYnVnTGlicmFyaWVzPnRy
dWU8L1VzZURlYnVnTGlicmFyaWVzPgorCTwvUHJvcGVydHlHcm91cD4KKwk8UHJvcGVydHlHcm91
cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzInIj4KKwkJPFRhcmdldFZlcnNpb24+
V2luZG93czEwPC9UYXJnZXRWZXJzaW9uPgorCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1Vz
ZURlYnVnTGlicmFyaWVzPgorCTwvUHJvcGVydHlHcm91cD4KKwk8UHJvcGVydHlHcm91cCBMYWJl
bD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdXaW5kb3dzIDEwIERlYnVnfHg2NCciPgorCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzMTA8
L1RhcmdldFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJh
cmllcz4KKwk8L1Byb3BlcnR5R3JvdXA+CisJPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3Vy
YXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93
cyAxMCBSZWxlYXNlfHg2NCciPgorCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzMTA8L1RhcmdldFZl
cnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+CisJ
PC9Qcm9wZXJ0eUdyb3VwPgorCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBEZWJ1
Z3xXaW4zMiciPgorCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwvVGFyZ2V0VmVyc2lvbj4KKwkJ
PFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPgorCTwvUHJvcGVydHlH
cm91cD4KKwk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggUmVsZWFzZXxXaW4zMici
PgorCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwvVGFyZ2V0VmVyc2lvbj4KKwkJPFVzZURlYnVn
TGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KKwk8L1Byb3BlcnR5R3JvdXA+CisJ
PFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IERlYnVnfHg2NCciPgorCQk8VGFyZ2V0
VmVyc2lvbj5XaW5kb3dzODwvVGFyZ2V0VmVyc2lvbj4KKwkJPFVzZURlYnVnTGlicmFyaWVzPnRy
dWU8L1VzZURlYnVnTGlicmFyaWVzPgorCTwvUHJvcGVydHlHcm91cD4KKwk8UHJvcGVydHlHcm91
cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdXaW5kb3dzIDggUmVsZWFzZXx4NjQnIj4KKwkJPFRhcmdldFZlcnNpb24+V2lu
ZG93czg8L1RhcmdldFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVi
dWdMaWJyYXJpZXM+CisJPC9Qcm9wZXJ0eUdyb3VwPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEv
dnMyMDE3L3hlbnZpZi5zbG4gYi92czIwMTcveGVudmlmLnNsbgpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4zZTI0MjI5Ci0tLSAvZGV2L251bGwKKysrIGIvdnMyMDE3L3hlbnZp
Zi5zbG4KQEAgLTAsMCArMSw5OSBAQAorTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24g
RmlsZSwgRm9ybWF0IFZlcnNpb24gMTIuMDAKK1Byb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAt
OEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAieGVudmlmIiwgInhlbnZpZlx4ZW52aWYudmN4cHJvaiIs
ICJ7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fSIKK0VuZFByb2plY3QKK1By
b2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAieGVudmlm
X2NvaW5zdCIsICJ4ZW52aWZfY29pbnN0XHhlbnZpZl9jb2luc3QudmN4cHJvaiIsICJ7MkJGQUM3
RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fSIKKwlQcm9qZWN0U2VjdGlvbihQcm9qZWN0
RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0CisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1E
MkQwNTQzQzFEMTh9ID0ge0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0KKwlF
bmRQcm9qZWN0U2VjdGlvbgorRW5kUHJvamVjdAorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFE
MC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJwYWNrYWdlIiwgInBhY2thZ2VccGFja2FnZS52Y3hw
cm9qIiwgIns3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9IgorCVByb2plY3RT
ZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QKKwkJe0MzRjk2RDRDLUU0
NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0gPSB7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJE
MDU0M0MxRDE4fQorCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fSA9IHsy
QkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9CisJRW5kUHJvamVjdFNlY3Rpb24K
K0VuZFByb2plY3QKK0dsb2JhbAorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9u
UGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uCisJCVdpbmRvd3MgOCBEZWJ1Z3xXaW4zMiA9IFdpbmRv
d3MgOCBEZWJ1Z3xXaW4zMgorCQlXaW5kb3dzIDggRGVidWd8eDY0ID0gV2luZG93cyA4IERlYnVn
fHg2NAorCQlXaW5kb3dzIDggUmVsZWFzZXxXaW4zMiA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMy
CisJCVdpbmRvd3MgOCBSZWxlYXNlfHg2NCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAorCQlXaW5k
b3dzIDEwIERlYnVnfFdpbjMyID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQlXaW5kb3dzIDEw
IERlYnVnfHg2NCA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCVdpbmRvd3MgMTAgUmVsZWFzZXxX
aW4zMiA9IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQlXaW5kb3dzIDEwIFJlbGVhc2V8eDY0
ID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCUVuZEdsb2JhbFNlY3Rpb24KKwlHbG9iYWxTZWN0
aW9uKFByb2plY3RDb25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHBvc3RTb2x1dGlvbgorCQl7MkJG
QUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDggRGVidWd8V2luMzIu
QWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUt
QTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93
cyA4IERlYnVnfFdpbjMyCisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9
LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgor
CQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDggRGVidWd8
eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKKwkJezJCRkFDN0U2LTM0MjAtNDdB
NS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93
cyA4IERlYnVnfHg2NAorCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5X
aW5kb3dzIDggUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4z
MgorCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDggUmVs
ZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKKwkJezJCRkFDN0U2
LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuRGVw
bG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEw
OTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93
cyA4IFJlbGVhc2V8eDY0CisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9
LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJ
CXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgMTAgRGVidWd8
V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7MkJGQUM3RTYtMzQy
MC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkJ1aWxkLjAg
PSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1
QzlENzhBNDR9LldpbmRvd3MgMTAgRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDEwIERl
YnVnfFdpbjMyCisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRv
d3MgMTAgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCXsyQkZB
QzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgMTAgRGVidWd8eDY0LkJ1
aWxkLjAgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAorCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTIt
QkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93
cyAxMCBSZWxlYXNlfFdpbjMyCisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhB
NDR9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxlYXNl
fFdpbjMyCisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3Mg
MTAgUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQl7
MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDEwIFJlbGVhc2V8
eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJezJCRkFDN0U2LTM0MjAt
NDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyAxMCBSZWxlYXNlfHg2NC5CdWlsZC4wID0g
V2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4
MTVFQjE1fS5XaW5kb3dzIDggRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVn
fFdpbjMyCisJCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3Mg
OCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCXs3Mzc2OEND
OS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5EZXBs
b3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgt
MTA0MkY4MTVFQjE1fS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBE
ZWJ1Z3x4NjQKKwkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93
cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7NzM3NjhDQzkt
REIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDggRGVidWd8eDY0LkRlcGxveS4w
ID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4
MTVFQjE1fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVs
ZWFzZXxXaW4zMgorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5k
b3dzIDggUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKKwkJ
ezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA4IFJlbGVhc2V8
V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7NzM3NjhDQzktREIy
Ni00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0aXZlQ2Zn
ID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQy
RjgxNUVCMTV9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVh
c2V8eDY0CisJCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3Mg
OCBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAorCQl7NzM3NjhD
QzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkFj
dGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJezczNzY4Q0M5LURCMjYtNDI5Ny05
RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyAxMCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93
cyAxMCBEZWJ1Z3xXaW4zMgorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1
fS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4z
MgorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDEwIERl
YnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAorCQl7NzM3NjhDQzktREIy
Ni00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDEwIERlYnVnfHg2NC5CdWlsZC4wID0g
V2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1
RUIxNX0uV2luZG93cyAxMCBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDEwIERlYnVnfHg2
NAorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDEwIFJl
bGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXs3Mzc2
OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4z
Mi5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXs3Mzc2OENDOS1EQjI2LTQy
OTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9
IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0
MkY4MTVFQjE1fS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAg
UmVsZWFzZXx4NjQKKwkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2lu
ZG93cyAxMCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7
NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDEwIFJlbGVhc2V8
eDY0LkRlcGxveS4wID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7QzNGOTZENEMtRTQ0MS00
N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDggRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0g
V2luZG93cyA4IERlYnVnfFdpbjMyCisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQz
QzFEMTh9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdp
bjMyCisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgOCBE
ZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQl7QzNGOTZENEMt
RTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKKwkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1
NDNDMUQxOH0uV2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2
NAorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDggRGVi
dWd8eDY0LkRlcGxveS4wID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7QzNGOTZENEMtRTQ0MS00
N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcg
PSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJE
MDU0M0MxRDE4fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IFJl
bGVhc2V8V2luMzIKKwkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2lu
ZG93cyA4IFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgor
CQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDggUmVsZWFz
ZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXtDM0Y5NkQ0Qy1FNDQx
LTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWlsZC4wID0g
V2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQz
QzFEMTh9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBSZWxlYXNl
fHg2NAorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDEw
IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJe0MzRjk2
RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyAxMCBEZWJ1Z3xXaW4zMi5C
dWlsZC4wID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0
NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93
cyAxMCBEZWJ1Z3xXaW4zMgorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4
fS5XaW5kb3dzIDEwIERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAor
CQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDEwIERlYnVn
fHg2NC5CdWlsZC4wID0gV2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJe0MzRjk2RDRDLUU0NDEtNDdG
Ny1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyAxMCBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5k
b3dzIDEwIERlYnVnfHg2NAorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4
fS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNl
fFdpbjMyCisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3Mg
MTAgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXtD
M0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgMTAgUmVsZWFzZXxX
aW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQl7QzNGOTZENEMtRTQ0
MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0LkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQy
RDA1NDNDMUQxOH0uV2luZG93cyAxMCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyAxMCBS
ZWxlYXNlfHg2NAorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5k
b3dzIDEwIFJlbGVhc2V8eDY0LkRlcGxveS4wID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCUVu
ZEdsb2JhbFNlY3Rpb24KKwlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBwcmVT
b2x1dGlvbgorCQlIaWRlU29sdXRpb25Ob2RlID0gRkFMU0UKKwlFbmRHbG9iYWxTZWN0aW9uCitF
bmRHbG9iYWwKZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW52aWYveGVudmlmLnZjeHByb2ogYi92czIw
MTcveGVudmlmL3hlbnZpZi52Y3hwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjZiYmM1NjkKLS0tIC9kZXYvbnVsbAorKysgYi92czIwMTcveGVudmlmL3hlbnZpZi52Y3hw
cm9qCkBAIC0wLDAgKzEsOTUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04
Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTUuMCIg
eG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAw
MyI+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cY29uZmlncy5wcm9wcyIgLz4KKyAgPFByb3BlcnR5
R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8RHJpdmVyVHlwZT5XRE08L0RyaXZl
clR5cGU+CisgICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2VybmVsTW9kZURyaXZlcjEwLjA8
L1BsYXRmb3JtVG9vbHNldD4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHJpdmVyPC9Db25maWd1
cmF0aW9uVHlwZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNU
YXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorICA8UHJvcGVydHlH
cm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPntDM0Y5NkQ0Qy1FNDQxLTQ3
RjctQTQ0Qy1EMkQwNTQzQzFEMTh9PC9Qcm9qZWN0R3VpZD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgor
ICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVj
dD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlH
cm91cD4KKyAgICA8UnVuQ29kZUFuYWx5c2lzPnRydWU8L1J1bkNvZGVBbmFseXNpcz4KKyAgICA8
RW5hYmxlSW5mMmNhdD5mYWxzZTwvRW5hYmxlSW5mMmNhdD4KKyAgICA8SW50RGlyPi4uXCQoUHJv
amVjdE5hbWUpXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvSW50RGlyPgorICAg
IDxPdXREaXI+Li5cJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9PdXREaXI+Cisg
IDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPENsQ29tcGls
ZT4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoV2luZG93c1Nka0Rpcilc
aW5jbHVkZVxrbTsuLlwuLlxpbmNsdWRlOy4uXC4uXGluY2x1ZGVceGVuOyUoQWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8
UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVfXz0iWEVOVklGIjtQT09MX05YX09QVElO
PTE7TlRfUFJPQ0VTU09SX0dST1VQUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8V2FybmluZ0xldmVsPkVuYWJsZUFsbFdhcm5pbmdz
PC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDQ2NDs0NzEx
OzQ1NDg7NDgyMDs0NjY4OzQyNTU7NjAwMTs2MDU0OzI4MTk2OzMwMDMwOzMwMDI5OyUoRGlzYWJs
ZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4KKyAgICAgIDxNdWx0
aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+Cisg
ICAgICA8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFibGVQUkVmYXN0PgorICAgIDwvQ2xDb21waWxl
PgorICAgIDxSZXNvdXJjZUNvbXBpbGU+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rv
cmllcz4uLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0
aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgICAgPExp
bms+CisgICAgICA8SW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+ZmFsc2U8L0ltYWdlSGFz
U2FmZUV4Y2VwdGlvbkhhbmRsZXJzPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChE
REtfTElCX1BBVEgpL1J0bHZlci5saWI7JChEREtfTElCX1BBVEgpL2xpYmNudHByLmxpYjskKERE
S19MSUJfUEFUSCkvYXV4X2tsaWIubGliOyQoRERLX0xJQl9QQVRIKS9rc2VjZGQubGliOyQoRERL
X0xJQl9QQVRIKS9wcm9jZ3JwLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlv
bmFsRGVwZW5kZW5jaWVzPgorICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJs
ZUNPTURBVEZvbGRpbmc+CisgICAgPC9MaW5rPgorICAgIDxJbmY+CisgICAgICA8U3BlY2lmeUFy
Y2hpdGVjdHVyZT50cnVlPC9TcGVjaWZ5QXJjaGl0ZWN0dXJlPgorICAgICAgPFNwZWNpZnlEcml2
ZXJWZXJEaXJlY3RpdmVWZXJzaW9uPnRydWU8L1NwZWNpZnlEcml2ZXJWZXJEaXJlY3RpdmVWZXJz
aW9uPgorICAgICAgPFRpbWVTdGFtcD4kKE1BSk9SX1ZFUlNJT04pLiQoTUlOT1JfVkVSU0lPTiku
JChNSUNST19WRVJTSU9OKS4kKEJVSUxEX05VTUJFUik8L1RpbWVTdGFtcD4KKyAgICAgIDxFbmFi
bGVWZXJib3NlPnRydWU8L0VuYWJsZVZlcmJvc2U+CisgICAgPC9JbmY+CisgIDwvSXRlbURlZmlu
aXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9y
bSknPT0nV2luMzInIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmlu
aXRpb25zPl9faTM4Nl9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JE
ZWZpbml0aW9ucz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8SW5mPgorICAgICAgPEFyY2hpdGVj
dHVyZT54ODY8L0FyY2hpdGVjdHVyZT4KKyAgICA8L0luZj4KKyAgPC9JdGVtRGVmaW5pdGlvbkdy
b3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4
NjQnIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9f
eDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRp
b25zPgorICAgIDwvQ2xDb21waWxlPgorICAgIDxJbmY+CisgICAgICA8QXJjaGl0ZWN0dXJlPmFt
ZDY0PC9BcmNoaXRlY3R1cmU+CisgICAgPC9JbmY+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4K
KyAgPEl0ZW1Hcm91cD4KKyAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChUYXJnZXRQYXRo
KSIgLz4KKyAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1l
KS5wZGIiIC8+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IkAoSW5mLT4nJShDb3B5T3V0
cHV0KScpIiBDb25kaXRpb249IidAKEluZiknIT0nJyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJ
dGVtR3JvdXA+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL2J1cy5j
IiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZpZi9jaGVja3N1bS5j
IiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZpZi9kcml2ZXIuYyIg
Lz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52aWYvZmRvLmMiIC8+Cisg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL2Zyb250ZW5kLmMiIC8+Cisg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL2xpbmsuYyIgLz4KKyAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52aWYvbWFjLmMiIC8+CisgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL3BhcnNlLmMiIC8+CisgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL3Bkby5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi4vLi4vc3JjL3hlbnZpZi9wb2xsZXIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uLy4uL3NyYy94ZW52aWYvcmVjZWl2ZXIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uLy4uL3NyYy94ZW52aWYvcmVnaXN0cnkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uLy4uL3NyYy94ZW52aWYvc2V0dGluZ3MuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uLy4uL3NyYy94ZW52aWYvdGhyZWFkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLi8uLi9zcmMveGVudmlmL3RyYW5zbWl0dGVyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLi8uLi9zcmMveGVudmlmL2NvbnRyb2xsZXIuYyIgLz4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uLy4uL3NyYy94ZW52aWYvdmlmLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRl
bUdyb3VwPgorICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbnZpZlx4
ZW52aWYucmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxJbmYgSW5j
bHVkZT0iLi5ceGVudmlmLmluZiIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+Cisg
ICAgPE5vbmUgSW5jbHVkZT0iLi5ccGFja2FnZVxwYWNrYWdlLnZjeHByb2oiIC8+CisgIDwvSXRl
bUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNw
cC50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3hlbnZpZi94ZW52
aWYudmN4cHJvai51c2VyIGIvdnMyMDE3L3hlbnZpZi94ZW52aWYudmN4cHJvai51c2VyCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiYzZmMjcKLS0tIC9kZXYvbnVsbAorKysg
Yi92czIwMTcveGVudmlmL3hlbnZpZi52Y3hwcm9qLnVzZXIKQEAgLTAsMCArMSw4IEBACis8P3ht
bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9u
PSIxNS4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNi
dWlsZC8yMDAzIj4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9T
aWduTW9kZT4KKyAgICA8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW52aWYucGZ4PC9UZXN0
Q2VydGlmaWNhdGU+CisgICAgPFRpbWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlz
aWduLmNvbS9zY3JpcHRzL3RpbXN0YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgorICA8L1Byb3Bl
cnR5R3JvdXA+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTcveGVudmlmX2NvaW5zdC94
ZW52aWZfY29pbnN0LnZjeHByb2ogYi92czIwMTcveGVudmlmX2NvaW5zdC94ZW52aWZfY29pbnN0
LnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQ0OGM0NQotLS0g
L2Rldi9udWxsCisrKyBiL3ZzMjAxNy94ZW52aWZfY29pbnN0L3hlbnZpZl9jb2luc3QudmN4cHJv
agpAQCAtMCwwICsxLDYwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/
PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjE1LjAiIHht
bG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMi
PgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXGNvbmZpZ3MucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdy
b3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJU
eXBlPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczEw
LjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJh
cnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJv
amVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Cisg
IDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAgICA8UHJvamVjdEd1aWQ+ezJCRkFD
N0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH08L1Byb2plY3RHdWlkPgorICA8L1Byb3Bl
cnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cdGFyZ2V0cy5wcm9wcyIgLz4KKyAgPElt
cG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+Cisg
IDxQcm9wZXJ0eUdyb3VwPgorICAgIDxEZWJ1Z2dlckZsYXZvcj5EYmdlbmdLZXJuZWxEZWJ1Z2dl
cjwvRGVidWdnZXJGbGF2b3I+CisgICAgPEluY2x1ZGVQYXRoPi4uXC4uXGluY2x1ZGU7JChJbmNs
dWRlUGF0aCk8L0luY2x1ZGVQYXRoPgorICAgIDxSdW5Db2RlQW5hbHlzaXM+dHJ1ZTwvUnVuQ29k
ZUFuYWx5c2lzPgorICAgIDxFbmFibGVJbmYyY2F0PmZhbHNlPC9FbmFibGVJbmYyY2F0PgorICAg
IDxJbnREaXI+Li5cJChQcm9qZWN0TmFtZSlcJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9y
bSlcPC9JbnREaXI+CisgICAgPE91dERpcj4uLlwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRm
b3JtKVw8L091dERpcj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91
cD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9fTU9E
VUxFX189IlhFTlZJRl9DT0lOU1QiOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8
L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40MTI3OzQ1NDg7
NDcxMTs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7JShEaXNhYmxlU3BlY2lmaWNXYXJu
aW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgorICAgICAgPE11bHRpUHJvY2Vzc29yQ29t
cGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj4KKyAgICAgIDxFbmFibGVQ
UkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+CisgICAgICA8UnVudGltZUxpYnJhcnkgQ29uZGl0
aW9uPSInJChVc2VEZWJ1Z0xpYnJhcmllcyknPT0ndHJ1ZSciPk11bHRpVGhyZWFkZWREZWJ1Zzwv
UnVudGltZUxpYnJhcnk+CisgICAgICA8UnVudGltZUxpYnJhcnkgQ29uZGl0aW9uPSInJChVc2VE
ZWJ1Z0xpYnJhcmllcyknPT0nZmFsc2UnIj5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4K
KyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmls
ZT4uLi8uLi9zcmMvY29pbnN0L3hlbnZpZl9jb2luc3QuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmls
ZT4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnNldHVwYXBpLmxpYjslKEFkZGl0aW9u
YWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgIDwvTGluaz4KKyAg
PC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249
IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8UHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM+X19pMzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1By
ZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgIDwvQ2xDb21waWxlPgorICA8L0l0ZW1EZWZpbml0
aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0p
Jz09J3g2NCciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlv
bnM+X194ODZfNjRfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVm
aW5pdGlvbnM+CisgICAgPC9DbENvbXBpbGU+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAg
PEl0ZW1Hcm91cD4KKyAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChUYXJnZXRQYXRoKSIg
Lz4KKyAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5w
ZGIiIC8+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IkAoSW5mLT4nJShDb3B5T3V0cHV0
KScpIiBDb25kaXRpb249IidAKEluZiknIT0nJyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVt
R3JvdXA+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNcY29pbnN0XGNvaW5zdC5j
IiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Tm9uZSBJbmNsdWRlPSIu
LlwuLlxzcmNcY29pbnN0XHhlbnZpZl9jb2luc3QuZGVmIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAg
PEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIg
Lz4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW52aWZfY29pbnN0L3hlbnZpZl9j
b2luc3QudmN4cHJvai51c2VyIGIvdnMyMDE3L3hlbnZpZl9jb2luc3QveGVudmlmX2NvaW5zdC52
Y3hwcm9qLnVzZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmYxNDAyMAot
LS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy94ZW52aWZfY29pbnN0L3hlbnZpZl9jb2luc3QudmN4
cHJvai51c2VyCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i
dXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iMTQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hl
bWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxQcm9wZXJ0eUdy
b3VwPgorICAgIDxTaWduTW9kZT5UZXN0U2lnbjwvU2lnbk1vZGU+CisgICAgPFRlc3RDZXJ0aWZp
Y2F0ZT4uLlwuLlxzcmNceGVudmlmLnBmeDwvVGVzdENlcnRpZmljYXRlPgorICAgIDxUaW1lU3Rh
bXBTZXJ2ZXI+aHR0cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5k
bGw8L1RpbWVTdGFtcFNlcnZlcj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorPC9Qcm9qZWN0PgotLSAK
Mi41LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3
aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

From win-pv-devel-bounces@lists.xenproject.org Mon Jan 29 16:10:59 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Jan 2018 16:10:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egC1I-0005In-Ta; Mon, 29 Jan 2018 16:10:56 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=ebuc=ey=citrix.com=prvs=560e3c7a9=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egC1I-0005Ic-0l
 for win-pv-devel@lists.xenproject.org; Mon, 29 Jan 2018 16:10:56 +0000
X-Inumbo-ID: 0695eaa4-050f-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 0695eaa4-050f-11e8-b9b1-635ca7ef6cff;
 Mon, 29 Jan 2018 16:11:13 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,431,1511827200"; d="scan'208";a="460115192"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 29 Jan 2018 16:10:41 +0000
Message-ID: <1517242241-1225-2-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1517242241-1225-1-git-send-email-paul.durrant@citrix.com>
References: <1517242241-1225-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xenvif 2/2] Do more optimization in release
	builds and add /Qspectre flag
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

U3BlY3RyZSBtaXRpZ2F0aW9ucyBhcHBhcmVudGx5IG9ubHkgd29yayBvbiBvcHRpbWl6ZWQgY29k
ZS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+
Ci0tLQogdnMyMDE3L3hlbnZpZi94ZW52aWYudmN4cHJvaiB8IDEyICsrKysrKysrKystLQogMSBm
aWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvdnMyMDE3L3hlbnZpZi94ZW52aWYudmN4cHJvaiBiL3ZzMjAxNy94ZW52aWYveGVudmlmLnZj
eHByb2oKaW5kZXggNmJiYzU2OS4uMWNlNzQzOCAxMDA2NDQKLS0tIGEvdnMyMDE3L3hlbnZpZi94
ZW52aWYudmN4cHJvagorKysgYi92czIwMTcveGVudmlmL3hlbnZpZi52Y3hwcm9qCkBAIC0yMiw4
ICsyMiw5IEBACiAgICAgPENsQ29tcGlsZT4KICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPiQoV2luZG93c1Nka0RpcilcaW5jbHVkZVxrbTsuLlwuLlxpbmNsdWRlOy4uXC4uXGlu
Y2x1ZGVceGVuOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNs
dWRlRGlyZWN0b3JpZXM+CiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVf
Xz0iWEVOVklGIjtQT09MX05YX09QVElOPTE7TlRfUFJPQ0VTU09SX0dST1VQUzslKFByZXByb2Nl
c3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8SW50cmlu
c2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KICAgICAgIDxXYXJuaW5nTGV2
ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxEaXNhYmxlU3BlY2lm
aWNXYXJuaW5ncz40NDY0OzQ3MTE7NDU0ODs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7
MzAwMzA7MzAwMjk7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dh
cm5pbmdzPgorICAgICAgPERpc2FibGVTcGVjaWZpY1dhcm5pbmdzPjQ0NjQ7NDcxMTs0NzcwOzQ1
NDg7NDgyMDs0NjY4OzQyNTU7NjAwMTs2MDU0OzI4MTk2OzMwMDMwOzMwMDI5OyUoRGlzYWJsZVNw
ZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4KICAgICAgIDxNdWx0aVBy
b2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+CiAgICAg
ICA8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFibGVQUkVmYXN0PgogICAgIDwvQ2xDb21waWxlPgpA
QCAtMzMsNyArMzQsNyBAQAogICAgIDxMaW5rPgogICAgICAgPEltYWdlSGFzU2FmZUV4Y2VwdGlv
bkhhbmRsZXJzPmZhbHNlPC9JbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz4KICAgICAgIDxB
ZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoRERLX0xJQl9QQVRIKS9SdGx2ZXIubGliOyQoRERLX0xJ
Ql9QQVRIKS9saWJjbnRwci5saWI7JChEREtfTElCX1BBVEgpL2F1eF9rbGliLmxpYjskKERES19M
SUJfUEFUSCkva3NlY2RkLmxpYjskKERES19MSUJfUEFUSCkvcHJvY2dycC5saWI7JShBZGRpdGlv
bmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxFbmFibGVD
T01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRGb2xkaW5nPgorICAgICAgPExpbmtUaW1l
Q29kZUdlbmVyYXRpb24+VXNlTGlua1RpbWVDb2RlR2VuZXJhdGlvbjwvTGlua1RpbWVDb2RlR2Vu
ZXJhdGlvbj4KICAgICA8L0xpbms+CiAgICAgPEluZj4KICAgICAgIDxTcGVjaWZ5QXJjaGl0ZWN0
dXJlPnRydWU8L1NwZWNpZnlBcmNoaXRlY3R1cmU+CkBAIC01OCw2ICs1OSwxMyBAQAogICAgICAg
PEFyY2hpdGVjdHVyZT5hbWQ2NDwvQXJjaGl0ZWN0dXJlPgogICAgIDwvSW5mPgogICA8L0l0ZW1E
ZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbiknPT0nV2luZG93cyA4IFJlbGVhc2UnIj4KKyAgICA8Q2xDb21waWxlPgorICAg
ICAgPEZhdm9yU2l6ZU9yU3BlZWQ+U3BlZWQ8L0Zhdm9yU2l6ZU9yU3BlZWQ+CisgICAgICA8V2hv
bGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KKyAg
ICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vUXNwZWN0cmUgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0Fk
ZGl0aW9uYWxPcHRpb25zPgorICAgIDwvQ2xDb21waWxlPgorICA8L0l0ZW1EZWZpbml0aW9uR3Jv
dXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoVGFyZ2V0
UGF0aCkiIC8+CiAgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoT3V0RGlyKSQoVGFyZ2V0
TmFtZSkucGRiIiAvPgotLSAKMi41LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v
bGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Mon Jan 29 16:51:56 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Jan 2018 16:51:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egCey-0000fl-BL; Mon, 29 Jan 2018 16:51:56 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=ebuc=ey=citrix.com=prvs=560e3c7a9=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egCex-0000fE-Go
 for win-pv-devel@lists.xenproject.org; Mon, 29 Jan 2018 16:51:55 +0000
X-Inumbo-ID: c0706ffb-0514-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id c0706ffb-0514-11e8-b9b1-635ca7ef6cff;
 Mon, 29 Jan 2018 16:52:12 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,432,1511827200"; d="scan'208";a="460124067"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 29 Jan 2018 16:51:39 +0000
Message-ID: <1517244700-1571-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xennet 1/2] Add support for building with
	Visual Studio 2017
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

QWxzbyByZW1vdmUgbWFwcGluZ3MgZm9yIG9ic29sZXRlIHZlcnNpb25zIG9mIFZTIGluIGJ1aWxk
LnB5LgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNv
bT4KLS0tCiBidWlsZC5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICA0NyArKysrKystLS0tLQogbXNidWlsZC5iYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDYgKy0KIHZzMjAxNy9jb25maWdzLnByb3BzICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgIDQ1ICsrKysrKysrKysrCiB2czIwMTcvcGFja2FnZS9wYWNrYWdlLnZjeHBy
b2ogICAgICAgICAgICAgICAgICB8ICA0OSArKysrKysrKysrKysKIHZzMjAxNy9wYWNrYWdlL3Bh
Y2thZ2UudmN4cHJvai51c2VyICAgICAgICAgICAgIHwgICA4ICsrCiB2czIwMTcvdGFyZ2V0cy5w
cm9wcyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAzNSArKysrKysrKwogdnMyMDE3L3hl
bm5ldC5zbG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMDIgKysrKysrKysrKysr
KysrKysrKysrKysrCiB2czIwMTcveGVubmV0L3hlbm5ldC52Y3hwcm9qICAgICAgICAgICAgICAg
ICAgICB8ICA4MyArKysrKysrKysrKysrKysrKysrCiB2czIwMTcveGVubmV0L3hlbm5ldC52Y3hw
cm9qLnVzZXIgICAgICAgICAgICAgICB8ICAgOCArKwogdnMyMDE3L3hlbm5ldF9jb2luc3QveGVu
bmV0X2NvaW5zdC52Y3hwcm9qICAgICAgfCAgNTggKysrKysrKysrKysrKysKIHZzMjAxNy94ZW5u
ZXRfY29pbnN0L3hlbm5ldF9jb2luc3QudmN4cHJvai51c2VyIHwgICA4ICsrCiAxMSBmaWxlcyBj
aGFuZ2VkLCA0MjggaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAx
MDA2NDQgdnMyMDE3L2NvbmZpZ3MucHJvcHMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcvcGFj
a2FnZS9wYWNrYWdlLnZjeHByb2oKIGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcvcGFja2FnZS9w
YWNrYWdlLnZjeHByb2oudXNlcgogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy90YXJnZXRzLnBy
b3BzCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3hlbm5ldC5zbG4KIGNyZWF0ZSBtb2RlIDEw
MDY0NCB2czIwMTcveGVubmV0L3hlbm5ldC52Y3hwcm9qCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMy
MDE3L3hlbm5ldC94ZW5uZXQudmN4cHJvai51c2VyCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3
L3hlbm5ldF9jb2luc3QveGVubmV0X2NvaW5zdC52Y3hwcm9qCiBjcmVhdGUgbW9kZSAxMDA2NDQg
dnMyMDE3L3hlbm5ldF9jb2luc3QveGVubmV0X2NvaW5zdC52Y3hwcm9qLnVzZXIKCmRpZmYgLS1n
aXQgYS9idWlsZC5weSBiL2J1aWxkLnB5CmluZGV4IGJkOGQwY2QuLjZkZWZkMzIgMTAwNzU1Ci0t
LSBhL2J1aWxkLnB5CisrKyBiL2J1aWxkLnB5CkBAIC0xNzIsMTggKzE3MiwyOCBAQCBkZWYgc2hl
bGwoY29tbWFuZCwgZGlyKToKICAgICByZXR1cm4gc3ViLnJldHVybmNvZGUKIAogCitkZWYgZmlu
ZChuYW1lLCBwYXRoKToKKyAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhwYXRo
KToKKyAgICAgICAgaWYgbmFtZSBpbiBmaWxlczoKKyAgICAgICAgICAgIHJldHVybiBvcy5wYXRo
LmpvaW4ocm9vdCwgbmFtZSkKKworCiBjbGFzcyBtc2J1aWxkX2ZhaWx1cmUoRXhjZXB0aW9uKToK
ICAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsdWUpOgogICAgICAgICBzZWxmLnZhbHVlID0gdmFs
dWUKICAgICBkZWYgX19zdHJfXyhzZWxmKToKICAgICAgICAgcmV0dXJuIHJlcHIoc2VsZi52YWx1
ZSkKIAorCiBkZWYgbXNidWlsZChwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgdGFyZ2V0LCBmaWxl
LCBhcmdzLCBkaXIpOgotICAgIG9zLmVudmlyb25bJ1BMQVRGT1JNJ10gPSBwbGF0Zm9ybQotICAg
IG9zLmVudmlyb25bJ0NPTkZJR1VSQVRJT04nXSA9IGNvbmZpZ3VyYXRpb24KLSAgICBvcy5lbnZp
cm9uWydUQVJHRVQnXSA9IHRhcmdldAotICAgIG9zLmVudmlyb25bJ0ZJTEUnXSA9IGZpbGUKLSAg
ICBvcy5lbnZpcm9uWydFWFRSQSddID0gYXJncworICAgIHZjdmFyc2FsbCA9IGZpbmQoJ3ZjdmFy
c2FsbC5iYXQnLCBvcy5lbnZpcm9uWydWUyddKQorCisgICAgb3MuZW52aXJvblsnTVNCVUlMRF9Q
TEFURk9STSddID0gcGxhdGZvcm0KKyAgICBvcy5lbnZpcm9uWydNU0JVSUxEX0NPTkZJR1VSQVRJ
T04nXSA9IGNvbmZpZ3VyYXRpb24KKyAgICBvcy5lbnZpcm9uWydNU0JVSUxEX1RBUkdFVCddID0g
dGFyZ2V0CisgICAgb3MuZW52aXJvblsnTVNCVUlMRF9GSUxFJ10gPSBmaWxlCisgICAgb3MuZW52
aXJvblsnTVNCVUlMRF9FWFRSQSddID0gYXJncworICAgIG9zLmVudmlyb25bJ01TQlVJTERfVkNW
QVJTQUxMJ10gPSB2Y3ZhcnNhbGwKIAogICAgIGJpbiA9IG9zLnBhdGguam9pbihvcy5nZXRjd2Qo
KSwgJ21zYnVpbGQuYmF0JykKIApAQCAtMjAxLDggKzIxMSw2IEBAIGRlZiBidWlsZF9zbG4obmFt
ZSwgcmVsZWFzZSwgYXJjaCwgZGVidWcsIHZzKToKICAgICBlbGlmIGFyY2ggPT0gJ3g2NCc6CiAg
ICAgICAgIHBsYXRmb3JtID0gJ3g2NCcKIAotICAgIGN3ZCA9IG9zLmdldGN3ZCgpCi0KICAgICBt
c2J1aWxkKHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCAnQnVpbGQnLCBuYW1lICsgJy5zbG4nLCAn
JywgdnMpCiAKIGRlZiBjb3B5X3BhY2thZ2UobmFtZSwgcmVsZWFzZSwgYXJjaCwgZGVidWcsIHZz
KToKQEAgLTM1NiwyNSArMzY0LDI1IEBAIGRlZiBhcmNoaXZlKGZpbGVuYW1lLCBmaWxlcywgdGd6
PUZhbHNlKToKICAgICAgICAgICAgIHBhc3MKICAgICB0YXIuY2xvc2UoKQogCisKIGRlZiBnZXRW
c1ZlcnNpb24oKToKLSAgICB2c2VudiA9e30gCi0gICAgdmFycyA9IHN1YnByb2Nlc3MuY2hlY2tf
b3V0cHV0KFtvcy5lbnZpcm9uWydWUyddKydcXFZDXFx2Y3ZhcnNhbGwuYmF0JywgCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyYmJywgJ3NldCddLCAKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoZWxsPVRydWUpCisgICAgdnNlbnYgPSB7fQor
ICAgIHZjdmFyc2FsbD0gZmluZCgndmN2YXJzYWxsLmJhdCcsIG9zLmVudmlyb25bJ1ZTJ10pCisK
KyAgICB2YXJzID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoW3ZjdmFyc2FsbCwgJ3g4Nl9hbWQ2
NCcsICcmJicsICdzZXQnXSwgc2hlbGw9VHJ1ZSkKKwogICAgIGZvciB2YXIgaW4gdmFycy5zcGxp
dGxpbmVzKCk6CiAgICAgICAgIGssIF8sIHYgPSBtYXAoc3RyLnN0cmlwLCB2YXIuc3RyaXAoKS5k
ZWNvZGUoJ3V0Zi04JykucGFydGl0aW9uKCc9JykpCiAgICAgICAgIGlmIGsuc3RhcnRzd2l0aCgn
PycpOgogICAgICAgICAgICAgY29udGludWUKICAgICAgICAgdnNlbnZba10gPSB2CiAKLSAgICBt
YXBwaW5nID0geyAnMTEuMCc6J3ZzMjAxMicsCi0gICAgICAgICAgICAgICAgJzEyLjAnOid2czIw
MTMnLAotICAgICAgICAgICAgICAgICcxNC4wJzondnMyMDE1JyB9CisgICAgbWFwcGluZyA9IHsg
JzE0LjAnOid2czIwMTUnLAorICAgICAgICAgICAgICAgICcxNS4wJzondnMyMDE3J30KIAogICAg
IHJldHVybiBtYXBwaW5nW3ZzZW52WydWaXN1YWxTdHVkaW9WZXJzaW9uJ11dCiAKLQotaWYgX19u
YW1lX18gPT0gJ19fbWFpbl9fJzoKK2RlZiBtYWluKCk6CiAgICAgZGVidWcgPSB7ICdjaGVja2Vk
JzogVHJ1ZSwgJ2ZyZWUnOiBGYWxzZSB9CiAgICAgc2R2ID0geyAnbm9zZHYnOiBGYWxzZSwgTm9u
ZTogVHJ1ZSB9CiAgICAgZHJpdmVyID0gJ3hlbm5ldCcKQEAgLTQxOSw5ICs0MjcsOCBAQCBpZiBf
X25hbWVfXyA9PSAnX19tYWluX18nOgogCiAgICAgc3ltc3RvcmVfZGVsKGRyaXZlciwgMzApCiAK
LSAgICByZWxlYXNlID0geyAndnMyMDEyJzonV2luZG93cyBWaXN0YScsCi0gICAgICAgICAgICAg
ICAgJ3ZzMjAxMyc6J1dpbmRvd3MgNycsCi0gICAgICAgICAgICAgICAgJ3ZzMjAxNSc6J1dpbmRv
d3MgOCcgfQorICAgIHJlbGVhc2UgPSB7ICd2czIwMTUnOidXaW5kb3dzIDgnLAorICAgICAgICAg
ICAgICAgICd2czIwMTcnOidXaW5kb3dzIDgnIH0KIAogICAgIHNodXRpbC5ybXRyZWUoZHJpdmVy
LCBpZ25vcmVfZXJyb3JzPVRydWUpCiAKQEAgLTQ0MCwzICs0NDcsNSBAQCBpZiBfX25hbWVfXyA9
PSAnX19tYWluX18nOgogICAgIGFyY2hpdmUoZHJpdmVyICsgJ1xcc291cmNlLnRneicsIG1hbmlm
ZXN0KCkuc3BsaXRsaW5lcygpLCB0Z3o9VHJ1ZSkKICAgICBhcmNoaXZlKGRyaXZlciArICcudGFy
JywgW2RyaXZlciwncmV2aXNpb24nXSkKIAoraWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAg
ICBtYWluKCkKZGlmZiAtLWdpdCBhL21zYnVpbGQuYmF0IGIvbXNidWlsZC5iYXQKaW5kZXggMjJm
MWY2ZC4uYTI4ZjkzOSAxMDA3NTUKLS0tIGEvbXNidWlsZC5iYXQKKysrIGIvbXNidWlsZC5iYXQK
QEAgLTEsNiArMSw4IEBACi1jYWxsICIlVlMlXFZDXHZjdmFyc2FsbC5iYXQiIHg4Ngorc2V0IE1T
QlVJTERfUk9PVD0lY2QlCitjYWxsICIlTVNCVUlMRF9WQ1ZBUlNBTEwlIiB4ODZfYW1kNjQKIEBl
Y2hvIG9uCi1tc2J1aWxkLmV4ZSAvbTo0IC9wOkNvbmZpZ3VyYXRpb249IiVDT05GSUdVUkFUSU9O
JSIgL3A6UGxhdGZvcm09IiVQTEFURk9STSUiIC90OiIlVEFSR0VUJSIgJUVYVFJBJSAlRklMRSUK
K2NkICIlTVNCVUlMRF9ST09UJSIKK21zYnVpbGQuZXhlIC9tOjEgL3A6Q29uZmlndXJhdGlvbj0i
JU1TQlVJTERfQ09ORklHVVJBVElPTiUiIC9wOlBsYXRmb3JtPSIlTVNCVUlMRF9QTEFURk9STSUi
IC90OiIlTVNCVUlMRF9UQVJHRVQlIiAlTVNCVUlMRF9FWFRSQSUgJU1TQlVJTERfRklMRSUKIGlm
IGVycm9ybGV2ZWwgMSBnb3RvIGVycm9yCiBleGl0IDAKIApkaWZmIC0tZ2l0IGEvdnMyMDE3L2Nv
bmZpZ3MucHJvcHMgYi92czIwMTcvY29uZmlncy5wcm9wcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi42ZmU5YTMzCi0tLSAvZGV2L251bGwKKysrIGIvdnMyMDE3L2NvbmZpZ3Mu
cHJvcHMKQEAgLTAsMCArMSw0NSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRm
LTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIxNS4w
IiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8y
MDAzIj4KKwk8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgorCQk8UHJv
amVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyAxMCBEZWJ1Z3xXaW4zMiI+CisJCQk8
Q29uZmlndXJhdGlvbj5XaW5kb3dzIDEwIERlYnVnPC9Db25maWd1cmF0aW9uPgorCQkJPFBsYXRm
b3JtPldpbjMyPC9QbGF0Zm9ybT4KKwkJCTxXaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPjEw
PC9XaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9u
PgorCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyAxMCBSZWxlYXNlfFdp
bjMyIj4KKwkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgMTAgUmVsZWFzZTwvQ29uZmlndXJhdGlv
bj4KKwkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisJCQk8V2luZG93c1RhcmdldFBsYXRm
b3JtVmVyc2lvbj4xMDwvV2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KKwkJPC9Qcm9qZWN0
Q29uZmlndXJhdGlvbj4KKwkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3Mg
MTAgRGVidWd8eDY0Ij4KKwkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgMTAgRGVidWc8L0NvbmZp
Z3VyYXRpb24+CisJCQk8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKwkJCTxXaW5kb3dzVGFyZ2V0
UGxhdGZvcm1WZXJzaW9uPjEwPC9XaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgorCQk8L1By
b2plY3RDb25maWd1cmF0aW9uPgorCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2lu
ZG93cyAxMCBSZWxlYXNlfHg2NCI+CisJCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDEwIFJlbGVh
c2U8L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKwkJCTxXaW5k
b3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPjEwPC9XaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9u
PgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5j
bHVkZT0iV2luZG93cyA4IERlYnVnfFdpbjMyIj4KKwkJCTxDb25maWd1cmF0aW9uPldpbmRvd3Mg
OCBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKwkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisJ
CQk8V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj44LjE8L1dpbmRvd3NUYXJnZXRQbGF0Zm9y
bVZlcnNpb24+CisJCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisJCTxQcm9qZWN0Q29uZmlndXJh
dGlvbiBJbmNsdWRlPSJXaW5kb3dzIDggUmVsZWFzZXxXaW4zMiI+CisJCQk8Q29uZmlndXJhdGlv
bj5XaW5kb3dzIDggUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKwkJCTxQbGF0Zm9ybT5XaW4zMjwv
UGxhdGZvcm0+CisJCQk8V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj44LjE8L1dpbmRvd3NU
YXJnZXRQbGF0Zm9ybVZlcnNpb24+CisJCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisJCTxQcm9q
ZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDggRGVidWd8eDY0Ij4KKwkJCTxDb25m
aWd1cmF0aW9uPldpbmRvd3MgOCBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKwkJCTxQbGF0Zm9ybT54
NjQ8L1BsYXRmb3JtPgorCQkJPFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+OC4xPC9XaW5k
b3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCQk8
UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA4IFJlbGVhc2V8eDY0Ij4KKwkJ
CTxDb25maWd1cmF0aW9uPldpbmRvd3MgOCBSZWxlYXNlPC9Db25maWd1cmF0aW9uPgorCQkJPFBs
YXRmb3JtPng2NDwvUGxhdGZvcm0+CisJCQk8V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj44
LjE8L1dpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+CisJCTwvUHJvamVjdENvbmZpZ3VyYXRp
b24+CisJPC9JdGVtR3JvdXA+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTcvcGFja2Fn
ZS9wYWNrYWdlLnZjeHByb2ogYi92czIwMTcvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzllMjM0NwotLS0gL2Rldi9udWxsCisrKyBi
L3ZzMjAxNy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvagpAQCAtMCwwICsxLDQ5IEBACis8P3htbCB2
ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9
IkJ1aWxkIiBUb29sc1ZlcnNpb249IjE1LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3Nv
ZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXGNv
bmZpZ3MucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+
CisgICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2VybmVsTW9kZURyaXZlcjEwLjA8L1BsYXRm
b3JtVG9vbHNldD4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+VXRpbGl0eTwvQ29uZmlndXJhdGlv
blR5cGU+CisgICAgPERyaXZlclR5cGU+UGFja2FnZTwvRHJpdmVyVHlwZT4KKyAgICA8RGlzYWJs
ZUZhc3RVcFRvRGF0ZUNoZWNrPnRydWU8L0Rpc2FibGVGYXN0VXBUb0RhdGVDaGVjaz4KKyAgICA8
U3VwcG9ydHNQYWNrYWdpbmc+dHJ1ZTwvU3VwcG9ydHNQYWNrYWdpbmc+CisgICAgPERyaXZlclRh
cmdldFBsYXRmb3JtPkRlc2t0b3A8L0RyaXZlclRhcmdldFBsYXRmb3JtPgorICA8L1Byb3BlcnR5
R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3Bw
LkRlZmF1bHQucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAg
ICA8UHJvamVjdEd1aWQ+ezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX08L1By
b2plY3RHdWlkPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cdGFy
Z2V0cy5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jv
c29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxFbmFibGVJbmYyY2F0
PnRydWU8L0VuYWJsZUluZjJjYXQ+CisgICAgPEluZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3QgQ29u
ZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyI+OF94NjQ7U2VydmVyOF94NjQ7MTBfeDY0O1Nl
cnZlcjEwX3g2NDwvSW5mMkNhdFdpbmRvd3NWZXJzaW9uTGlzdD4KKyAgICA8SW5mMkNhdFdpbmRv
d3NWZXJzaW9uTGlzdCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPjhfeDg2OzEw
X3g4NjwvSW5mMkNhdFdpbmRvd3NWZXJzaW9uTGlzdD4KKyAgICA8RGVidWdnZXJGbGF2b3I+RGJn
ZW5nS2VybmVsRGVidWdnZXI8L0RlYnVnZ2VyRmxhdm9yPgorICAgIDxFbmFibGVEZXBsb3ltZW50
PkZhbHNlPC9FbmFibGVEZXBsb3ltZW50PgorICAgIDxJbXBvcnRUb1N0b3JlPkZhbHNlPC9JbXBv
cnRUb1N0b3JlPgorICAgIDxJbnN0YWxsTW9kZT5Ob25lPC9JbnN0YWxsTW9kZT4KKyAgICA8U2Ny
aXB0RGV2aWNlUXVlcnk+JVBhdGhUb0luZiU8L1NjcmlwdERldmljZVF1ZXJ5PgorICAgIDxFbmFi
bGVWZXJpZmllcj5GYWxzZTwvRW5hYmxlVmVyaWZpZXI+CisgICAgPEFsbERyaXZlcnM+RmFsc2U8
L0FsbERyaXZlcnM+CisgICAgPFZlcmlmeVByb2plY3RPdXRwdXQ+VHJ1ZTwvVmVyaWZ5UHJvamVj
dE91dHB1dD4KKyAgICA8VmVyaWZ5RmxhZ3M+MTMzNTYzPC9WZXJpZnlGbGFncz4KKyAgICA8SW50
RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwv
SW50RGlyPgorICAgIDxPdXREaXI+Li5cJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlc
PC9PdXREaXI+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8UHJvamVj
dFJlZmVyZW5jZSBJbmNsdWRlPSIuLlx4ZW5uZXRceGVubmV0LnZjeHByb2oiPgorICAgICAgPFBy
b2plY3Q+ezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX08L1Byb2plY3Q+Cisg
ICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Ii4u
XHhlbm5ldF9jb2luc3RceGVubmV0X2NvaW5zdC52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0Pnsz
RUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9PC9Qcm9qZWN0PgorICAgIDwvUHJv
amVjdFJlZmVyZW5jZT4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPEZpbGVz
VG9QYWNrYWdlIEluY2x1ZGU9IiQoRFBJTlNUX1JFRElTVClceDg2XGRwaW5zdC5leGUiIENvbmRp
dGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyIgLz4KKyAgICA8RmlsZXNUb1BhY2thZ2UgSW5j
bHVkZT0iJChEUElOU1RfUkVESVNUKVx4NjRcZHBpbnN0LmV4ZSIgQ29uZGl0aW9uPSInJChQbGF0
Zm9ybSknPT0neDY0JyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChW
Q1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CisgIDxJbXBvcnRHcm91cCBM
YWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CisgIDwvSW1wb3J0R3JvdXA+Cis8L1Byb2plY3Q+CmRp
ZmYgLS1naXQgYS92czIwMTcvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNlciBiL3ZzMjAxNy9w
YWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmJjYmVlNGYKLS0tIC9kZXYvbnVsbAorKysgYi92czIwMTcvcGFja2FnZS9wYWNrYWdl
LnZjeHByb2oudXNlcgpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rp
bmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjE1LjAiIHhtbG5zPSJodHRwOi8v
c2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8UHJvcGVy
dHlHcm91cD4KKyAgICA8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgorICAgIDxUZXN0Q2Vy
dGlmaWNhdGU+Li5cLi5cc3JjXHhlbm5ldC5wZng8L1Rlc3RDZXJ0aWZpY2F0ZT4KKyAgICA8VGlt
ZVN0YW1wU2VydmVyPmh0dHA6Ly90aW1lc3RhbXAudmVyaXNpZ24uY29tL3NjcmlwdHMvdGltc3Rh
bXAuZGxsPC9UaW1lU3RhbXBTZXJ2ZXI+CisgIDwvUHJvcGVydHlHcm91cD4KKzwvUHJvamVjdD4K
ZGlmZiAtLWdpdCBhL3ZzMjAxNy90YXJnZXRzLnByb3BzIGIvdnMyMDE3L3RhcmdldHMucHJvcHMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA0NTQzNAotLS0gL2Rldi9udWxs
CisrKyBiL3ZzMjAxNy90YXJnZXRzLnByb3BzCkBAIC0wLDAgKzEsMzUgQEAKKzw/eG1sIHZlcnNp
b249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVp
bGQiIFRvb2xzVmVyc2lvbj0iMTUuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j
b20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisJPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZp
Z3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2lu
ZG93cyAxMCBEZWJ1Z3xXaW4zMiciPgorCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzMTA8L1Rhcmdl
dFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4K
Kwk8L1Byb3BlcnR5R3JvdXA+CisJPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24i
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyAxMCBS
ZWxlYXNlfFdpbjMyJyI+CisJCTxUYXJnZXRWZXJzaW9uPldpbmRvd3MxMDwvVGFyZ2V0VmVyc2lv
bj4KKwkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KKwk8L1By
b3BlcnR5R3JvdXA+CisJPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyAxMCBEZWJ1Z3x4
NjQnIj4KKwkJPFRhcmdldFZlcnNpb24+V2luZG93czEwPC9UYXJnZXRWZXJzaW9uPgorCQk8VXNl
RGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+CisJPC9Qcm9wZXJ0eUdyb3Vw
PgorCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgMTAgUmVsZWFzZXx4NjQnIj4KKwkJ
PFRhcmdldFZlcnNpb24+V2luZG93czEwPC9UYXJnZXRWZXJzaW9uPgorCQk8VXNlRGVidWdMaWJy
YXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgorCTwvUHJvcGVydHlHcm91cD4KKwk8UHJv
cGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggRGVidWd8V2luMzInIj4KKwkJPFRhcmdldFZl
cnNpb24+V2luZG93czg8L1RhcmdldFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVl
PC9Vc2VEZWJ1Z0xpYnJhcmllcz4KKwk8L1Byb3BlcnR5R3JvdXA+CisJPFByb3BlcnR5R3JvdXAg
TGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nV2luZG93cyA4IFJlbGVhc2V8V2luMzInIj4KKwkJPFRhcmdldFZlcnNpb24+V2lu
ZG93czg8L1RhcmdldFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVi
dWdMaWJyYXJpZXM+CisJPC9Qcm9wZXJ0eUdyb3VwPgorCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJD
b25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1dpbmRvd3MgOCBEZWJ1Z3x4NjQnIj4KKwkJPFRhcmdldFZlcnNpb24+V2luZG93czg8L1Rhcmdl
dFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4K
Kwk8L1Byb3BlcnR5R3JvdXA+CisJPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24i
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IFJl
bGVhc2V8eDY0JyI+CisJCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRWZXJzaW9uPgor
CQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgorCTwvUHJvcGVy
dHlHcm91cD4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW5uZXQuc2xuIGIvdnMy
MDE3L3hlbm5ldC5zbG4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA0ZTVl
MQotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy94ZW5uZXQuc2xuCkBAIC0wLDAgKzEsMTAyIEBA
CitNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiAx
Mi4wMAorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9
ICJ4ZW5uZXQiLCAieGVubmV0XHhlbm5ldC52Y3hwcm9qIiwgIns5N0Q5OTQyQi01RUEzLTQ4OEMt
QjUxMi1DOTZFNUQwNzdGOEV9IgorRW5kUHJvamVjdAorUHJvamVjdCgiezhCQzlDRUI4LThCNEEt
MTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4ZW5uZXRfY29pbnN0IiwgInhlbm5ldF9jb2lu
c3RceGVubmV0X2NvaW5zdC52Y3hwcm9qIiwgInszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2
MTM1MzY3MEJ9IgorCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFBy
b2plY3QKKwkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0gPSB7OTdEOTk0
MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfQorCUVuZFByb2plY3RTZWN0aW9uCitFbmRQ
cm9qZWN0CitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIp
ID0gInBhY2thZ2UiLCAicGFja2FnZVxwYWNrYWdlLnZjeHByb2oiLCAiezQ0NUZEMThGLTk3RTMt
NEU1RC04MjVGLTE1MTAyNjI0MkMwNX0iCisJUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVu
Y2llcykgPSBwb3N0UHJvamVjdAorCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2
NzBCfSA9IHszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9CisJRW5kUHJvamVj
dFNlY3Rpb24KK0VuZFByb2plY3QKK0dsb2JhbAorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25m
aWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uCisJCVdpbmRvd3MgOCBEZWJ1Z3xXaW4z
MiA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQlXaW5kb3dzIDggRGVidWd8eDY0ID0gV2luZG93
cyA4IERlYnVnfHg2NAorCQlXaW5kb3dzIDggUmVsZWFzZXxXaW4zMiA9IFdpbmRvd3MgOCBSZWxl
YXNlfFdpbjMyCisJCVdpbmRvd3MgOCBSZWxlYXNlfHg2NCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2
NAorCQlXaW5kb3dzIDEwIERlYnVnfFdpbjMyID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQlX
aW5kb3dzIDEwIERlYnVnfHg2NCA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCVdpbmRvd3MgMTAg
UmVsZWFzZXxXaW4zMiA9IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQlXaW5kb3dzIDEwIFJl
bGVhc2V8eDY0ID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCUVuZEdsb2JhbFNlY3Rpb24KKwlH
bG9iYWxTZWN0aW9uKFByb2plY3RDb25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHBvc3RTb2x1dGlv
bgorCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDggRGVi
dWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCXs5N0Q5OTQyQi01
RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWlsZC4w
ID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCXs5N0Q5OTQyQi01RUEzLTQ4OEMtQjUxMi1DOTZF
NUQwNzdGOEV9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1
Z3xXaW4zMgorCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dz
IDggRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKKwkJezk3RDk5NDJC
LTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4w
ID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVE
MDc3RjhFfS5XaW5kb3dzIDggRGVidWd8eDY0LkRlcGxveS4wID0gV2luZG93cyA4IERlYnVnfHg2
NAorCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDggUmVs
ZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7OTdEOTk0
MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5C
dWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKKwkJezk3RDk5NDJCLTVFQTMtNDg4Qy1C
NTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5k
b3dzIDggUmVsZWFzZXxXaW4zMgorCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3
RjhFfS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8
eDY0CisJCXs5N0Q5OTQyQi01RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9LldpbmRvd3MgOCBS
ZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXs5N0Q5OTQyQi01
RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5EZXBsb3ku
MCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAorCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2
RTVEMDc3RjhFfS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAg
RGVidWd8V2luMzIKKwkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2lu
ZG93cyAxMCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7
OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDEwIERlYnVnfFdp
bjMyLkRlcGxveS4wID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7OTdEOTk0MkItNUVBMy00
ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDEwIERlYnVnfHg2NC5BY3RpdmVDZmcgPSBX
aW5kb3dzIDEwIERlYnVnfHg2NAorCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3
RjhFfS5XaW5kb3dzIDEwIERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyAxMCBEZWJ1Z3x4NjQK
KwkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93cyAxMCBEZWJ1
Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAorCQl7OTdEOTk0MkItNUVBMy00
ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuQWN0aXZlQ2Zn
ID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXs5N0Q5OTQyQi01RUEzLTQ4OEMtQjUxMi1D
OTZFNUQwNzdGOEV9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyAx
MCBSZWxlYXNlfFdpbjMyCisJCXs5N0Q5OTQyQi01RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9
LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgMTAgUmVsZWFzZXxX
aW4zMgorCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDEw
IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJezk3RDk5
NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93cyAxMCBSZWxlYXNlfHg2NC5C
dWlsZC4wID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1
MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0LkRlcGxveS4wID0gV2luZG93
cyAxMCBSZWxlYXNlfHg2NAorCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBC
fS5XaW5kb3dzIDggRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdpbjMy
CisJCXszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9LldpbmRvd3MgOCBEZWJ1
Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCXszRUREODM3QS1DMUJF
LTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9
IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEz
NTM2NzBCfS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3x4
NjQKKwkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyA4IERl
YnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7M0VERDgzN0EtQzFCRS00
N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDggRGVidWd8eDY0LkRlcGxveS4wID0gV2lu
ZG93cyA4IERlYnVnfHg2NAorCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBC
fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXxX
aW4zMgorCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDgg
UmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKKwkJezNFREQ4
MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIu
RGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7M0VERDgzN0EtQzFCRS00N0Q0
LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2lu
ZG93cyA4IFJlbGVhc2V8eDY0CisJCXszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3
MEJ9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0
CisJCXszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9LldpbmRvd3MgOCBSZWxl
YXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAorCQl7M0VERDgzN0EtQzFC
RS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2
QjYxMzUzNjcwQn0uV2luZG93cyAxMCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyAxMCBE
ZWJ1Z3xXaW4zMgorCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5k
b3dzIDEwIERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7
M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDEwIERlYnVnfHg2
NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAorCQl7M0VERDgzN0EtQzFCRS00N0Q0
LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDEwIERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93
cyAxMCBEZWJ1Z3x4NjQKKwkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0u
V2luZG93cyAxMCBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAorCQl7
M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDEwIFJlbGVhc2V8
V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXszRUREODM3QS1D
MUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5CdWls
ZC4wID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXszRUREODM3QS1DMUJFLTQ3RDQtOTYw
My0xNkI2MTM1MzY3MEJ9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRv
d3MgMTAgUmVsZWFzZXxXaW4zMgorCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2
NzBCfS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgUmVsZWFz
ZXx4NjQKKwkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyAx
MCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7M0VERDgz
N0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0LkRl
cGxveS4wID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgy
NUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDggRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93
cyA4IERlYnVnfFdpbjMyCisJCXs0NDVGRDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYyNDJDMDV9
LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJ
CXs0NDVGRDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYyNDJDMDV9LldpbmRvd3MgOCBEZWJ1Z3xX
aW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQl7NDQ1RkQxOEYtOTdFMy00
RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdp
bmRvd3MgOCBEZWJ1Z3x4NjQKKwkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMw
NX0uV2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7
NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDggRGVidWd8eDY0
LkRlcGxveS4wID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgy
NUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5k
b3dzIDggUmVsZWFzZXxXaW4zMgorCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQy
QzA1fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8
V2luMzIKKwkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyA4
IFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7NDQ1
RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQu
QWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXs0NDVGRDE4Ri05N0UzLTRFNUQt
ODI1Ri0xNTEwMjYyNDJDMDV9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93
cyA4IFJlbGVhc2V8eDY0CisJCXs0NDVGRDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYyNDJDMDV9
LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAor
CQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDEwIERlYnVn
fFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJezQ0NUZEMThGLTk3
RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyAxMCBEZWJ1Z3xXaW4zMi5CdWlsZC4w
ID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUx
MDI2MjQyQzA1fS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyAxMCBE
ZWJ1Z3xXaW4zMgorCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5k
b3dzIDEwIERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAorCQl7NDQ1
RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDEwIERlYnVnfHg2NC5C
dWlsZC4wID0gV2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVG
LTE1MTAyNjI0MkMwNX0uV2luZG93cyAxMCBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDEw
IERlYnVnfHg2NAorCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5k
b3dzIDEwIFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMy
CisJCXs0NDVGRDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYyNDJDMDV9LldpbmRvd3MgMTAgUmVs
ZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXs0NDVGRDE4
Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYyNDJDMDV9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5E
ZXBsb3kuMCA9IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQl7NDQ1RkQxOEYtOTdFMy00RTVE
LTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdp
bmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0
MkMwNX0uV2luZG93cyAxMCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxlYXNl
fHg2NAorCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDEw
IFJlbGVhc2V8eDY0LkRlcGxveS4wID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCUVuZEdsb2Jh
bFNlY3Rpb24KKwlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBwcmVTb2x1dGlv
bgorCQlIaWRlU29sdXRpb25Ob2RlID0gRkFMU0UKKwlFbmRHbG9iYWxTZWN0aW9uCitFbmRHbG9i
YWwKZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW5uZXQveGVubmV0LnZjeHByb2ogYi92czIwMTcveGVu
bmV0L3hlbm5ldC52Y3hwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYy
MGJmMzEKLS0tIC9kZXYvbnVsbAorKysgYi92czIwMTcveGVubmV0L3hlbm5ldC52Y3hwcm9qCkBA
IC0wLDAgKzEsODMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8
UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTUuMCIgeG1sbnM9
Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Cisg
IDxJbXBvcnQgUHJvamVjdD0iLi5cY29uZmlncy5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAg
TGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHJpdmVyPC9D
b25maWd1cmF0aW9uVHlwZT4KKyAgICA8RHJpdmVyVHlwZT5XRE08L0RyaXZlclR5cGU+CisgIDwv
UHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jv
c29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZp
Z3VyYXRpb24iPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXIx
MC4wPC9QbGF0Zm9ybVRvb2xzZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3Jv
dXAgTGFiZWw9Ikdsb2JhbHMiPgorICAgIDxQcm9qZWN0R3VpZD57OTdEOTk0MkItNUVBMy00ODhD
LUI1MTItQzk2RTVEMDc3RjhFfTwvUHJvamVjdEd1aWQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAg
PEltcG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRzLnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9
IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3Jv
dXA+CisgICAgPFJ1bkNvZGVBbmFseXNpcz50cnVlPC9SdW5Db2RlQW5hbHlzaXM+CisgICAgPEVu
YWJsZUluZjJjYXQ+ZmFsc2U8L0VuYWJsZUluZjJjYXQ+CisgICAgPEludERpcj4uLlwkKFByb2pl
Y3ROYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L0ludERpcj4KKyAgICA8
T3V0RGlyPi4uXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvT3V0RGlyPgorICA8
L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgorICAgIDxDbENvbXBpbGU+
CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVfXz0iWEVOTkVUIjtORElT
X01JTklQT1JUX0RSSVZFUjtORElTX1dETT0xO05ESVM2MV9NSU5JUE9SVD0xO1BPT0xfTlhfT1BU
SU49MTtOVF9QUk9DRVNTT1JfR1JPVVBTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVw
cm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVz
PiQoV2luZG93c1Nka0RpcilcaW5jbHVkZVxrbTsuLlwuLlxpbmNsdWRlOy4uXC4uXGluY2x1ZGVc
eGVuOzwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+
RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEaXNhYmxlU3BlY2lmaWNX
YXJuaW5ncz40NDY0OzQ3MTE7NDU0ODs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxNjA7Mjgx
OTY7MzAwMzA7MzAwMjk7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZp
Y1dhcm5pbmdzPgorICAgICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQ
cm9jZXNzb3JDb21waWxhdGlvbj4KKyAgICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBS
RWZhc3Q+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxB
ZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5j
bHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICA8L1Jl
c291cmNlQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxJbWFnZUhhc1NhZmVFeGNlcHRpb25I
YW5kbGVycz5mYWxzZTwvSW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+CisgICAgICA8QWRk
aXRpb25hbERlcGVuZGVuY2llcz4kKERES19MSUJfUEFUSClcbmRpcy5saWI7JChEREtfTElCX1BB
VEgpL2xpYmNudHByLmxpYjskKERES19MSUJfUEFUSCkvYXV4X2tsaWIubGliOyQoRERLX0xJQl9Q
QVRIKS9wcm9jZ3JwLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVw
ZW5kZW5jaWVzPgorICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNPTURB
VEZvbGRpbmc+CisgICAgPC9MaW5rPgorICAgIDxJbmY+CisgICAgICA8U3BlY2lmeUFyY2hpdGVj
dHVyZT50cnVlPC9TcGVjaWZ5QXJjaGl0ZWN0dXJlPgorICAgICAgPFNwZWNpZnlEcml2ZXJWZXJE
aXJlY3RpdmVWZXJzaW9uPnRydWU8L1NwZWNpZnlEcml2ZXJWZXJEaXJlY3RpdmVWZXJzaW9uPgor
ICAgICAgPFRpbWVTdGFtcD4kKE1BSk9SX1ZFUlNJT04pLiQoTUlOT1JfVkVSU0lPTikuJChNSUNS
T19WRVJTSU9OKS4kKEJVSUxEX05VTUJFUik8L1RpbWVTdGFtcD4KKyAgICAgIDxFbmFibGVWZXJi
b3NlPnRydWU8L0VuYWJsZVZlcmJvc2U+CisgICAgPC9JbmY+CisgIDwvSXRlbURlZmluaXRpb25H
cm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0n
V2luMzInIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25z
Pl9faTM4Nl9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0
aW9ucz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8SW5mPgorICAgICAgPEFyY2hpdGVjdHVyZT54
ODY8L0FyY2hpdGVjdHVyZT4KKyAgICA8L0luZj4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgor
ICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIj4K
KyAgICA8Q2xDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9feDg2XzY0
X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgor
ICAgIDwvQ2xDb21waWxlPgorICAgIDxJbmY+CisgICAgICA8QXJjaGl0ZWN0dXJlPmFtZDY0PC9B
cmNoaXRlY3R1cmU+CisgICAgPC9JbmY+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0
ZW1Hcm91cD4KKyAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChUYXJnZXRQYXRoKSIgLz4K
KyAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5wZGIi
IC8+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IkAoSW5mLT4nJShDb3B5T3V0cHV0KScp
IiBDb25kaXRpb249IidAKEluZiknIT0nJyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3Jv
dXA+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVubmV0L2FkYXB0ZXIuYyIg
Lz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5uZXQvZHJpdmVyLmMiIC8+
CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVubmV0L21pbmlwb3J0LmMiIC8+
CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVubmV0L3JlY2VpdmVyLmMiIC8+
CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVubmV0L3N0cmluZy5jIiAvPgor
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbm5ldC90cmFuc21pdHRlci5jIiAv
PgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8UmVzb3VyY2VDb21waWxlIElu
Y2x1ZGU9Ii4uXC4uXHNyY1x4ZW5uZXRceGVubmV0LnJjIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAg
PEl0ZW1Hcm91cD4KKyAgICA8SW5mIEluY2x1ZGU9Ii4uXHhlbm5ldC5pbmYiIC8+CisgIDwvSXRl
bUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNw
cC50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3hlbm5ldC94ZW5u
ZXQudmN4cHJvai51c2VyIGIvdnMyMDE3L3hlbm5ldC94ZW5uZXQudmN4cHJvai51c2VyCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjYmVlNGYKLS0tIC9kZXYvbnVsbAorKysg
Yi92czIwMTcveGVubmV0L3hlbm5ldC52Y3hwcm9qLnVzZXIKQEAgLTAsMCArMSw4IEBACis8P3ht
bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9u
PSIxNS4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNi
dWlsZC8yMDAzIj4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9T
aWduTW9kZT4KKyAgICA8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW5uZXQucGZ4PC9UZXN0
Q2VydGlmaWNhdGU+CisgICAgPFRpbWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlz
aWduLmNvbS9zY3JpcHRzL3RpbXN0YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgorICA8L1Byb3Bl
cnR5R3JvdXA+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTcveGVubmV0X2NvaW5zdC94
ZW5uZXRfY29pbnN0LnZjeHByb2ogYi92czIwMTcveGVubmV0X2NvaW5zdC94ZW5uZXRfY29pbnN0
LnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU2MTA4NgotLS0g
L2Rldi9udWxsCisrKyBiL3ZzMjAxNy94ZW5uZXRfY29pbnN0L3hlbm5ldF9jb2luc3QudmN4cHJv
agpAQCAtMCwwICsxLDU4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/
PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjE1LjAiIHht
bG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMi
PgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXGNvbmZpZ3MucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdy
b3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJU
eXBlPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczEw
LjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJh
cnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJv
amVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Cisg
IDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAgICA8UHJvamVjdEd1aWQ+ezNFREQ4
MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn08L1Byb2plY3RHdWlkPgorICA8L1Byb3Bl
cnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cdGFyZ2V0cy5wcm9wcyIgLz4KKyAgPElt
cG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+Cisg
IDxQcm9wZXJ0eUdyb3VwPgorICAgIDxJbmNsdWRlUGF0aD4kKEluY2x1ZGVQYXRoKTwvSW5jbHVk
ZVBhdGg+CisgICAgPFJ1bkNvZGVBbmFseXNpcz50cnVlPC9SdW5Db2RlQW5hbHlzaXM+CisgICAg
PEVuYWJsZUluZjJjYXQ+ZmFsc2U8L0VuYWJsZUluZjJjYXQ+CisgIDwvUHJvcGVydHlHcm91cD4K
KyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxBZGRpdGlv
bmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoU29sdXRpb25EaXIpLi5caW5jbHVkZTslKEFkZGl0aW9u
YWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAg
ICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9fTU9EVUxFX189IlhFTk5FVF9DT0lOU1QiOyUo
UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAg
IDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxE
aXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40NTQ4OzQ4MjA7NDY2ODs0MjU1OzYwMDE7NjA1NDsyODE5
NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+Cisg
ICAgICA8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50cnVlPC9NdWx0aVByb2Nlc3NvckNvbXBp
bGF0aW9uPgorICAgICAgPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwvRW5hYmxlUFJFZmFzdD4KKyAgICAg
IDxSdW50aW1lTGlicmFyeSBDb25kaXRpb249IickKFVzZURlYnVnTGlicmFyaWVzKSc9PSd0cnVl
JyI+TXVsdGlUaHJlYWRlZERlYnVnPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxSdW50aW1lTGli
cmFyeSBDb25kaXRpb249IickKFVzZURlYnVnTGlicmFyaWVzKSc9PSdmYWxzZSciPk11bHRpVGhy
ZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAg
ICAgPE1vZHVsZURlZmluaXRpb25GaWxlPi4uLy4uL3NyYy9jb2luc3QveGVubmV0X2NvaW5zdC5k
ZWY8L01vZHVsZURlZmluaXRpb25GaWxlPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+
c2V0dXBhcGkubGliO2lwaGxwYXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRp
dGlvbmFsRGVwZW5kZW5jaWVzPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3Vw
PgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4z
MiciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19p
Mzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25z
PgorICAgIDwvQ2xDb21waWxlPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVm
aW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgorICAgIDxDbENv
bXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X194ODZfNjRfXzslKFByZXBy
b2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgPC9DbENv
bXBpbGU+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Rmls
ZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChUYXJnZXRQYXRoKSIgLz4KKyAgICA8RmlsZXNUb1BhY2th
Z2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5wZGIiIC8+CisgICAgPEZpbGVzVG9Q
YWNrYWdlIEluY2x1ZGU9IkAoSW5mLT4nJShDb3B5T3V0cHV0KScpIiBDb25kaXRpb249IidAKElu
ZiknIT0nJyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlwuLlxzcmNcY29pbnN0XGNvaW5zdC5jIiAvPgorICA8L0l0ZW1Hcm91cD4K
KyAgPEl0ZW1Hcm91cD4KKyAgICA8Tm9uZSBJbmNsdWRlPSIuLlwuLlxzcmNcY29pbnN0XHhlbm5l
dF9jb2luc3QuZGVmIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZD
VGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KZGlmZiAt
LWdpdCBhL3ZzMjAxNy94ZW5uZXRfY29pbnN0L3hlbm5ldF9jb2luc3QudmN4cHJvai51c2VyIGIv
dnMyMDE3L3hlbm5ldF9jb2luc3QveGVubmV0X2NvaW5zdC52Y3hwcm9qLnVzZXIKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGIwMzRjNAotLS0gL2Rldi9udWxsCisrKyBiL3Zz
MjAxNy94ZW5uZXRfY29pbnN0L3hlbm5ldF9jb2luc3QudmN4cHJvai51c2VyCkBAIC0wLDAgKzEs
OCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRv
b2xzVmVyc2lvbj0iMTQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2
ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxTaWduTW9kZT5U
ZXN0U2lnbjwvU2lnbk1vZGU+CisgICAgPFRlc3RDZXJ0aWZpY2F0ZT4uLlwuLlxzcmNceGVubmV0
LnBmeDwvVGVzdENlcnRpZmljYXRlPgorICAgIDxUaW1lU3RhbXBTZXJ2ZXI+aHR0cDovL3RpbWVz
dGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1RpbWVTdGFtcFNlcnZlcj4K
KyAgPC9Qcm9wZXJ0eUdyb3VwPgorPC9Qcm9qZWN0PgotLSAKMi41LjMKCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBs
aXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy
b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Mon Jan 29 16:51:56 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Jan 2018 16:51:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egCey-0000fc-9F; Mon, 29 Jan 2018 16:51:56 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=ebuc=ey=citrix.com=prvs=560e3c7a9=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egCew-0000fD-IP
 for win-pv-devel@lists.xenproject.org; Mon, 29 Jan 2018 16:51:54 +0000
X-Inumbo-ID: bfc57898-0514-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id bfc57898-0514-11e8-b9b1-635ca7ef6cff;
 Mon, 29 Jan 2018 16:52:11 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,432,1511827200"; d="scan'208";a="460124066"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 29 Jan 2018 16:51:40 +0000
Message-ID: <1517244700-1571-2-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1517244700-1571-1-git-send-email-paul.durrant@citrix.com>
References: <1517244700-1571-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xennet 2/2] Do more optimization in release
	builds and add /Qspectre flag
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

U3BlY3RyZSBtaXRpZ2F0aW9ucyBhcHBhcmVudGx5IG9ubHkgd29yayBvbiBvcHRpbWl6ZWQgY29k
ZS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+
Ci0tLQogdnMyMDE3L3hlbm5ldC94ZW5uZXQudmN4cHJvaiB8IDE0ICsrKysrKysrKysrLS0tCiAx
IGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n
aXQgYS92czIwMTcveGVubmV0L3hlbm5ldC52Y3hwcm9qIGIvdnMyMDE3L3hlbm5ldC94ZW5uZXQu
dmN4cHJvagppbmRleCBmMjBiZjMxLi4zODdjZGY1IDEwMDY0NAotLS0gYS92czIwMTcveGVubmV0
L3hlbm5ldC52Y3hwcm9qCisrKyBiL3ZzMjAxNy94ZW5uZXQveGVubmV0LnZjeHByb2oKQEAgLTIz
LDkgKzIzLDEwIEBACiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+CiAg
ICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVfXz0iWEVOTkVUIjtORElTX01J
TklQT1JUX0RSSVZFUjtORElTX1dETT0xO05ESVM2MV9NSU5JUE9SVD0xO1BPT0xfTlhfT1BUSU49
MTtOVF9QUk9DRVNTT1JfR1JPVVBTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmlu
c2ljRnVuY3Rpb25zPgogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChXaW5k
b3dzU2RrRGlyKVxpbmNsdWRlXGttOy4uXC4uXGluY2x1ZGU7Li5cLi5caW5jbHVkZVx4ZW47PC9B
ZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgICAgPFdhcm5pbmdMZXZlbD5FbmFibGVB
bGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgotICAgICAgPERpc2FibGVTcGVjaWZpY1dhcm5pbmdz
PjQ0NjQ7NDcxMTs0NTQ4OzQ4MjA7NDY2ODs0MjU1OzYwMDE7NjA1NDsyODE2MDsyODE5NjszMDAz
MDszMDAyOTslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2Fybmlu
Z3M+CisgICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDQ2NDs0NzExOzQ3NzA7NDU0ODs0
ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxNjA7MjgxOTY7MzAwMzA7MzAwMjk7JShEaXNhYmxl
U3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgogICAgICAgPE11bHRp
UHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj4KICAg
ICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+CiAgICAgPC9DbENvbXBpbGU+
CkBAIC0zNSw3ICszNiw3IEBACiAgICAgPExpbms+CiAgICAgICA8SW1hZ2VIYXNTYWZlRXhjZXB0
aW9uSGFuZGxlcnM+ZmFsc2U8L0ltYWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJzPgogICAgICAg
PEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChEREtfTElCX1BBVEgpXG5kaXMubGliOyQoRERLX0xJ
Ql9QQVRIKS9saWJjbnRwci5saWI7JChEREtfTElCX1BBVEgpL2F1eF9rbGliLmxpYjskKERES19M
SUJfUEFUSCkvcHJvY2dycC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25h
bERlcGVuZGVuY2llcz4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVD
T01EQVRGb2xkaW5nPgorICAgICAgPExpbmtUaW1lQ29kZUdlbmVyYXRpb24+VXNlTGlua1RpbWVD
b2RlR2VuZXJhdGlvbjwvTGlua1RpbWVDb2RlR2VuZXJhdGlvbj4KICAgICA8L0xpbms+CiAgICAg
PEluZj4KICAgICAgIDxTcGVjaWZ5QXJjaGl0ZWN0dXJlPnRydWU8L1NwZWNpZnlBcmNoaXRlY3R1
cmU+CkBAIC02MCw3ICs2MSwxNCBAQAogICAgICAgPEFyY2hpdGVjdHVyZT5hbWQ2NDwvQXJjaGl0
ZWN0dXJlPgogICAgIDwvSW5mPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3Jv
dXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbikn
PT0nV2luZG93cyA4IFJlbGVhc2UnIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPEZhdm9yU2l6
ZU9yU3BlZWQ+U3BlZWQ8L0Zhdm9yU2l6ZU9yU3BlZWQ+CisgICAgICA8V2hvbGVQcm9ncmFtT3B0
aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KKyAgICAgIDxBZGRpdGlv
bmFsT3B0aW9ucz4vUXNwZWN0cmUgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRp
b25zPgorICAgIDwvQ2xDb21waWxlPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Cis8SXRlbUdy
b3VwPgogICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKFRhcmdldFBhdGgpIiAvPgogICAg
IDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKE91dERpcikkKFRhcmdldE5hbWUpLnBkYiIgLz4K
ICAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iQChJbmYtPiclKENvcHlPdXRwdXQpJykiIENv
bmRpdGlvbj0iJ0AoSW5mKSchPScnIiAvPgotLSAKMi41LjMKCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndp
bi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu
b3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Mon Jan 29 17:20:07 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Jan 2018 17:20:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egD6D-000349-PS; Mon, 29 Jan 2018 17:20:05 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=ebuc=ey=citrix.com=prvs=560e3c7a9=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egD6D-000302-1M
 for win-pv-devel@lists.xenproject.org; Mon, 29 Jan 2018 17:20:05 +0000
X-Inumbo-ID: 9ca8a74d-0518-11e8-ba59-bc764e045a96
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 9ca8a74d-0518-11e8-ba59-bc764e045a96;
 Mon, 29 Jan 2018 18:19:50 +0100 (CET)
X-IronPort-AV: E=Sophos;i="5.46,432,1511827200"; d="scan'208";a="460129370"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 29 Jan 2018 17:19:50 +0000
Message-ID: <1517246391-2044-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xenvbd 1/2] Add support for building with
	Visual Studio 2017
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

QWxzbyByZW1vdmUgbWFwcGluZ3MgZm9yIG9ic29sZXRlIHZlcnNpb25zIG9mIFZTIGluIGJ1aWxk
LnB5LgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNv
bT4KLS0tCiBidWlsZC5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICA0NiArKysrKy0tLS0KIG1zYnVpbGQuYmF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICA2ICstCiB2czIwMTcvY29uZmlncy5wcm9wcyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICA0NSArKysrKysrKysKIHZzMjAxNy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvaiAg
ICAgICAgICAgICAgICAgIHwgIDU1ICsrKysrKysrKysrCiB2czIwMTcvcGFja2FnZS9wYWNrYWdl
LnZjeHByb2oudXNlciAgICAgICAgICAgICB8ICAgOCArKwogdnMyMDE3L3RhcmdldHMucHJvcHMg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzUgKysrKysrKwogdnMyMDE3L3hlbmNyc2gv
eGVuY3JzaC52Y3hwcm9qICAgICAgICAgICAgICAgICAgfCAgODUgKysrKysrKysrKysrKysrKwog
dnMyMDE3L3hlbmNyc2gveGVuY3JzaC52Y3hwcm9qLnVzZXIgICAgICAgICAgICAgfCAgIDggKysK
IHZzMjAxNy94ZW5kaXNrL3hlbmRpc2sudmN4cHJvaiAgICAgICAgICAgICAgICAgIHwgIDY2ICsr
KysrKysrKysrKysKIHZzMjAxNy94ZW5kaXNrL3hlbmRpc2sudmN4cHJvai51c2VyICAgICAgICAg
ICAgIHwgICA4ICsrCiB2czIwMTcveGVudmJkLnNsbiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8IDEyNSArKysrKysrKysrKysrKysrKysrKysrKysKIHZzMjAxNy94ZW52YmQveGVudmJk
LnZjeHByb2ogICAgICAgICAgICAgICAgICAgIHwgIDg1ICsrKysrKysrKysrKysrKysKIHZzMjAx
Ny94ZW52YmQveGVudmJkLnZjeHByb2oudXNlciAgICAgICAgICAgICAgIHwgICA4ICsrCiB2czIw
MTcveGVudmJkX2NvaW5zdC94ZW52YmRfY29pbnN0LnZjeHByb2ogICAgICB8ICA2MCArKysrKysr
KysrKysKIHZzMjAxNy94ZW52YmRfY29pbnN0L3hlbnZiZF9jb2luc3QudmN4cHJvai51c2VyIHwg
ICA4ICsrCiAxNSBmaWxlcyBjaGFuZ2VkLCA2MjggaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25z
KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L2NvbmZpZ3MucHJvcHMKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCB2czIwMTcvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oKIGNyZWF0ZSBtb2RlIDEwMDY0
NCB2czIwMTcvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNlcgogY3JlYXRlIG1vZGUgMTAwNjQ0
IHZzMjAxNy90YXJnZXRzLnByb3BzCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3hlbmNyc2gv
eGVuY3JzaC52Y3hwcm9qCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3hlbmNyc2gveGVuY3Jz
aC52Y3hwcm9qLnVzZXIKIGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcveGVuZGlzay94ZW5kaXNr
LnZjeHByb2oKIGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcveGVuZGlzay94ZW5kaXNrLnZjeHBy
b2oudXNlcgogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy94ZW52YmQuc2xuCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgdnMyMDE3L3hlbnZiZC94ZW52YmQudmN4cHJvagogY3JlYXRlIG1vZGUgMTAwNjQ0
IHZzMjAxNy94ZW52YmQveGVudmJkLnZjeHByb2oudXNlcgogY3JlYXRlIG1vZGUgMTAwNjQ0IHZz
MjAxNy94ZW52YmRfY29pbnN0L3hlbnZiZF9jb2luc3QudmN4cHJvagogY3JlYXRlIG1vZGUgMTAw
NjQ0IHZzMjAxNy94ZW52YmRfY29pbnN0L3hlbnZiZF9jb2luc3QudmN4cHJvai51c2VyCgpkaWZm
IC0tZ2l0IGEvYnVpbGQucHkgYi9idWlsZC5weQppbmRleCAwY2JiYzUyLi5iMzg3ZTgxIDEwMDc1
NQotLS0gYS9idWlsZC5weQorKysgYi9idWlsZC5weQpAQCAtMTcyLDE4ICsxNzIsMjggQEAgZGVm
IHNoZWxsKGNvbW1hbmQsIGRpcik6CiAgICAgcmV0dXJuIHN1Yi5yZXR1cm5jb2RlCiAKIAorZGVm
IGZpbmQobmFtZSwgcGF0aCk6CisgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGso
cGF0aCk6CisgICAgICAgIGlmIG5hbWUgaW4gZmlsZXM6CisgICAgICAgICAgICByZXR1cm4gb3Mu
cGF0aC5qb2luKHJvb3QsIG5hbWUpCisKKwogY2xhc3MgbXNidWlsZF9mYWlsdXJlKEV4Y2VwdGlv
bik6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlKToKICAgICAgICAgc2VsZi52YWx1ZSA9
IHZhbHVlCiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgIHJldHVybiByZXByKHNlbGYu
dmFsdWUpCiAKKwogZGVmIG1zYnVpbGQocGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIHRhcmdldCwg
ZmlsZSwgYXJncywgZGlyKToKLSAgICBvcy5lbnZpcm9uWydQTEFURk9STSddID0gcGxhdGZvcm0K
LSAgICBvcy5lbnZpcm9uWydDT05GSUdVUkFUSU9OJ10gPSBjb25maWd1cmF0aW9uCi0gICAgb3Mu
ZW52aXJvblsnVEFSR0VUJ10gPSB0YXJnZXQKLSAgICBvcy5lbnZpcm9uWydGSUxFJ10gPSBmaWxl
Ci0gICAgb3MuZW52aXJvblsnRVhUUkEnXSA9IGFyZ3MKKyAgICB2Y3ZhcnNhbGwgPSBmaW5kKCd2
Y3ZhcnNhbGwuYmF0Jywgb3MuZW52aXJvblsnVlMnXSkKKworICAgIG9zLmVudmlyb25bJ01TQlVJ
TERfUExBVEZPUk0nXSA9IHBsYXRmb3JtCisgICAgb3MuZW52aXJvblsnTVNCVUlMRF9DT05GSUdV
UkFUSU9OJ10gPSBjb25maWd1cmF0aW9uCisgICAgb3MuZW52aXJvblsnTVNCVUlMRF9UQVJHRVQn
XSA9IHRhcmdldAorICAgIG9zLmVudmlyb25bJ01TQlVJTERfRklMRSddID0gZmlsZQorICAgIG9z
LmVudmlyb25bJ01TQlVJTERfRVhUUkEnXSA9IGFyZ3MKKyAgICBvcy5lbnZpcm9uWydNU0JVSUxE
X1ZDVkFSU0FMTCddID0gdmN2YXJzYWxsCiAKICAgICBiaW4gPSBvcy5wYXRoLmpvaW4ob3MuZ2V0
Y3dkKCksICdtc2J1aWxkLmJhdCcpCiAKQEAgLTIwMSw4ICsyMTEsNiBAQCBkZWYgYnVpbGRfc2xu
KG5hbWUsIHJlbGVhc2UsIGFyY2gsIGRlYnVnLCB2cyk6CiAgICAgZWxpZiBhcmNoID09ICd4NjQn
OgogICAgICAgICBwbGF0Zm9ybSA9ICd4NjQnCiAKLSAgICBjd2QgPSBvcy5nZXRjd2QoKQotCiAg
ICAgbXNidWlsZChwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgJ0J1aWxkJywgbmFtZSArICcuc2xu
JywgJycsIHZzKQogCiBkZWYgY29weV9wYWNrYWdlKG5hbWUsIHJlbGVhc2UsIGFyY2gsIGRlYnVn
LCB2cyk6CkBAIC0zNTYsMjUgKzM2NCwyNiBAQCBkZWYgYXJjaGl2ZShmaWxlbmFtZSwgZmlsZXMs
IHRnej1GYWxzZSk6CiAgICAgICAgICAgICBwYXNzCiAgICAgdGFyLmNsb3NlKCkKIAorCiBkZWYg
Z2V0VnNWZXJzaW9uKCk6Ci0gICAgdnNlbnYgPXt9IAotICAgIHZhcnMgPSBzdWJwcm9jZXNzLmNo
ZWNrX291dHB1dChbb3MuZW52aXJvblsnVlMnXSsnXFxWQ1xcdmN2YXJzYWxsLmJhdCcsIAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcmJicsICdzZXQnXSwgCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGVsbD1UcnVlKQorICAgIHZzZW52ID0g
e30KKyAgICB2Y3ZhcnNhbGw9IGZpbmQoJ3ZjdmFyc2FsbC5iYXQnLCBvcy5lbnZpcm9uWydWUydd
KQorCisgICAgdmFycyA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFt2Y3ZhcnNhbGwsICd4ODZf
YW1kNjQnLCAnJiYnLCAnc2V0J10sIHNoZWxsPVRydWUpCisKICAgICBmb3IgdmFyIGluIHZhcnMu
c3BsaXRsaW5lcygpOgogICAgICAgICBrLCBfLCB2ID0gbWFwKHN0ci5zdHJpcCwgdmFyLnN0cmlw
KCkuZGVjb2RlKCd1dGYtOCcpLnBhcnRpdGlvbignPScpKQogICAgICAgICBpZiBrLnN0YXJ0c3dp
dGgoJz8nKToKICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgIHZzZW52W2tdID0gdgogCi0g
ICAgbWFwcGluZyA9IHsgJzExLjAnOid2czIwMTInLAotICAgICAgICAgICAgICAgICcxMi4wJzon
dnMyMDEzJywKLSAgICAgICAgICAgICAgICAnMTQuMCc6J3ZzMjAxNScgfQorICAgIG1hcHBpbmcg
PSB7ICcxNC4wJzondnMyMDE1JywKKyAgICAgICAgICAgICAgICAnMTUuMCc6J3ZzMjAxNyd9CiAK
ICAgICByZXR1cm4gbWFwcGluZ1t2c2VudlsnVmlzdWFsU3R1ZGlvVmVyc2lvbiddXQogCiAKLWlm
IF9fbmFtZV9fID09ICdfX21haW5fXyc6CitkZWYgbWFpbigpOgogICAgIGRlYnVnID0geyAnY2hl
Y2tlZCc6IFRydWUsICdmcmVlJzogRmFsc2UgfQogICAgIHNkdiA9IHsgJ25vc2R2JzogRmFsc2Us
IE5vbmU6IFRydWUgfQogICAgIGRyaXZlciA9ICd4ZW52YmQnCkBAIC00MTksOSArNDI4LDggQEAg
aWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKIAogICAgIHN5bXN0b3JlX2RlbChkcml2ZXIsIDMw
KQogCi0gICAgcmVsZWFzZSA9IHsgJ3ZzMjAxMic6J1dpbmRvd3MgVmlzdGEnLAotICAgICAgICAg
ICAgICAgICd2czIwMTMnOidXaW5kb3dzIDcnLAotICAgICAgICAgICAgICAgICd2czIwMTUnOidX
aW5kb3dzIDgnIH0KKyAgICByZWxlYXNlID0geyAndnMyMDE1JzonV2luZG93cyA4JywKKyAgICAg
ICAgICAgICAgICAndnMyMDE3JzonV2luZG93cyA4JyB9CiAKICAgICBzaHV0aWwucm10cmVlKGRy
aXZlciwgaWdub3JlX2Vycm9ycz1UcnVlKQogCkBAIC00NDIsMyArNDUwLDUgQEAgaWYgX19uYW1l
X18gPT0gJ19fbWFpbl9fJzoKICAgICBhcmNoaXZlKGRyaXZlciArICdcXHNvdXJjZS50Z3onLCBt
YW5pZmVzdCgpLnNwbGl0bGluZXMoKSwgdGd6PVRydWUpCiAgICAgYXJjaGl2ZShkcml2ZXIgKyAn
LnRhcicsIFtkcml2ZXIsJ3JldmlzaW9uJ10pCiAKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6
CisgICAgbWFpbigpCmRpZmYgLS1naXQgYS9tc2J1aWxkLmJhdCBiL21zYnVpbGQuYmF0CmluZGV4
IDFiMWZiYzguLmEyOGY5MzkgMTAwNzU1Ci0tLSBhL21zYnVpbGQuYmF0CisrKyBiL21zYnVpbGQu
YmF0CkBAIC0xLDYgKzEsOCBAQAotY2FsbCAiJVZTJVxWQ1x2Y3ZhcnNhbGwuYmF0IiB4ODYKK3Nl
dCBNU0JVSUxEX1JPT1Q9JWNkJQorY2FsbCAiJU1TQlVJTERfVkNWQVJTQUxMJSIgeDg2X2FtZDY0
CiBAZWNobyBvbgotbXNidWlsZC5leGUgL206MSAvcDpDb25maWd1cmF0aW9uPSIlQ09ORklHVVJB
VElPTiUiIC9wOlBsYXRmb3JtPSIlUExBVEZPUk0lIiAvdDoiJVRBUkdFVCUiICVFWFRSQSUgJUZJ
TEUlCitjZCAiJU1TQlVJTERfUk9PVCUiCittc2J1aWxkLmV4ZSAvbToxIC9wOkNvbmZpZ3VyYXRp
b249IiVNU0JVSUxEX0NPTkZJR1VSQVRJT04lIiAvcDpQbGF0Zm9ybT0iJU1TQlVJTERfUExBVEZP
Uk0lIiAvdDoiJU1TQlVJTERfVEFSR0VUJSIgJU1TQlVJTERfRVhUUkElICVNU0JVSUxEX0ZJTEUl
CiBpZiBlcnJvcmxldmVsIDEgZ290byBlcnJvcgogZXhpdCAwCiAKZGlmZiAtLWdpdCBhL3ZzMjAx
Ny9jb25maWdzLnByb3BzIGIvdnMyMDE3L2NvbmZpZ3MucHJvcHMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uNmZlOWEzMwotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy9jb25m
aWdzLnByb3BzCkBAIC0wLDAgKzEsNDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9
InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0i
MTUuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVp
bGQvMjAwMyI+CisJPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKwkJ
PFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgMTAgRGVidWd8V2luMzIiPgor
CQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyAxMCBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKwkJCTxQ
bGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisJCQk8V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lv
bj4xMDwvV2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KKwkJPC9Qcm9qZWN0Q29uZmlndXJh
dGlvbj4KKwkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgMTAgUmVsZWFz
ZXxXaW4zMiI+CisJCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDEwIFJlbGVhc2U8L0NvbmZpZ3Vy
YXRpb24+CisJCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorCQkJPFdpbmRvd3NUYXJnZXRQ
bGF0Zm9ybVZlcnNpb24+MTA8L1dpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+CisJCTwvUHJv
amVjdENvbmZpZ3VyYXRpb24+CisJCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5k
b3dzIDEwIERlYnVnfHg2NCI+CisJCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDEwIERlYnVnPC9D
b25maWd1cmF0aW9uPgorCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisJCQk8V2luZG93c1Rh
cmdldFBsYXRmb3JtVmVyc2lvbj4xMDwvV2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KKwkJ
PC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKwkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9
IldpbmRvd3MgMTAgUmVsZWFzZXx4NjQiPgorCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyAxMCBS
ZWxlYXNlPC9Db25maWd1cmF0aW9uPgorCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisJCQk8
V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4xMDwvV2luZG93c1RhcmdldFBsYXRmb3JtVmVy
c2lvbj4KKwkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKwkJPFByb2plY3RDb25maWd1cmF0aW9u
IEluY2x1ZGU9IldpbmRvd3MgOCBEZWJ1Z3xXaW4zMiI+CisJCQk8Q29uZmlndXJhdGlvbj5XaW5k
b3dzIDggRGVidWc8L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3Jt
PgorCQkJPFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+OC4xPC9XaW5kb3dzVGFyZ2V0UGxh
dGZvcm1WZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCQk8UHJvamVjdENvbmZp
Z3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA4IFJlbGVhc2V8V2luMzIiPgorCQkJPENvbmZpZ3Vy
YXRpb24+V2luZG93cyA4IFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+V2lu
MzI8L1BsYXRmb3JtPgorCQkJPFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+OC4xPC9XaW5k
b3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCQk8
UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA4IERlYnVnfHg2NCI+CisJCQk8
Q29uZmlndXJhdGlvbj5XaW5kb3dzIDggRGVidWc8L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZv
cm0+eDY0PC9QbGF0Zm9ybT4KKwkJCTxXaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPjguMTwv
V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KKwkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4K
KwkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgOCBSZWxlYXNlfHg2NCI+
CisJCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDggUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKwkJ
CTxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorCQkJPFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNp
b24+OC4xPC9XaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1
cmF0aW9uPgorCTwvSXRlbUdyb3VwPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3Bh
Y2thZ2UvcGFja2FnZS52Y3hwcm9qIGIvdnMyMDE3L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiNTkzMGUKLS0tIC9kZXYvbnVsbAor
KysgYi92czIwMTcvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oKQEAgLTAsMCArMSw1NSBAQAorPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJn
ZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIxNS4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEltcG9ydCBQcm9qZWN0PSIu
Llxjb25maWdzLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVl
dHMiPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXIxMC4wPC9Q
bGF0Zm9ybVRvb2xzZXQ+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPlV0aWxpdHk8L0NvbmZpZ3Vy
YXRpb25UeXBlPgorICAgIDxEcml2ZXJUeXBlPlBhY2thZ2U8L0RyaXZlclR5cGU+CisgICAgPERp
c2FibGVGYXN0VXBUb0RhdGVDaGVjaz50cnVlPC9EaXNhYmxlRmFzdFVwVG9EYXRlQ2hlY2s+Cisg
ICAgPFN1cHBvcnRzUGFja2FnaW5nPnRydWU8L1N1cHBvcnRzUGFja2FnaW5nPgorICAgIDxEcml2
ZXJUYXJnZXRQbGF0Zm9ybT5EZXNrdG9wPC9Ecml2ZXJUYXJnZXRQbGF0Zm9ybT4KKyAgPC9Qcm9w
ZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0
LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+
CisgICAgPFByb2plY3RHdWlkPntBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9
PC9Qcm9qZWN0R3VpZD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9Ii4u
XHRhcmdldHMucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxN
aWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8RW5hYmxlSW5m
MmNhdD50cnVlPC9FbmFibGVJbmYyY2F0PgorICAgIDxJbmYyQ2F0V2luZG93c1ZlcnNpb25MaXN0
IENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPjhfeDY0O1NlcnZlcjhfeDY0OzEwX3g2
NDtTZXJ2ZXIxMF94NjQ8L0luZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3Q+CisgICAgPEluZjJDYXRX
aW5kb3dzVmVyc2lvbkxpc3QgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIj44X3g4
NjsxMF94ODY8L0luZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3Q+CisgICAgPERlYnVnZ2VyRmxhdm9y
PkRiZ2VuZ0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4KKyAgICA8RW5hYmxlRGVwbG95
bWVudD5GYWxzZTwvRW5hYmxlRGVwbG95bWVudD4KKyAgICA8SW1wb3J0VG9TdG9yZT5GYWxzZTwv
SW1wb3J0VG9TdG9yZT4KKyAgICA8SW5zdGFsbE1vZGU+Tm9uZTwvSW5zdGFsbE1vZGU+CisgICAg
PFNjcmlwdERldmljZVF1ZXJ5PiVQYXRoVG9JbmYlPC9TY3JpcHREZXZpY2VRdWVyeT4KKyAgICA8
RW5hYmxlVmVyaWZpZXI+RmFsc2U8L0VuYWJsZVZlcmlmaWVyPgorICAgIDxBbGxEcml2ZXJzPkZh
bHNlPC9BbGxEcml2ZXJzPgorICAgIDxWZXJpZnlQcm9qZWN0T3V0cHV0PlRydWU8L1ZlcmlmeVBy
b2plY3RPdXRwdXQ+CisgICAgPFZlcmlmeUZsYWdzPjEzMzU2MzwvVmVyaWZ5RmxhZ3M+CisgICAg
PEludERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3Jt
KVw8L0ludERpcj4KKyAgICA8T3V0RGlyPi4uXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZv
cm0pXDwvT3V0RGlyPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPFBy
b2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5ceGVudmJkX2NvaW5zdFx4ZW52YmRfY29pbnN0LnZj
eHByb2oiPgorICAgICAgPFByb2plY3Q+ezUwYzA4NDM3LWMxZjMtNDM0OS1iZjZhLTdiNTVhMDZi
Zjk5OX08L1Byb2plY3Q+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICAgIDxQcm9qZWN0UmVm
ZXJlbmNlIEluY2x1ZGU9Ii4uXHhlbmNyc2hceGVuY3JzaC52Y3hwcm9qIj4KKyAgICAgIDxQcm9q
ZWN0Pns1OGY1YmM0My1iOTJlLTRhMmItOTc1ZC0wMDY2ZWFiMjkwOTJ9PC9Qcm9qZWN0PgorICAg
IDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlx4
ZW52YmRceGVudmJkLnZjeHByb2oiPgorICAgICAgPFByb2plY3Q+e2VmMjM2MzcxLTMxNDUtNDFi
MS05OWM5LTgyYjMzZTM1M2YxN308L1Byb2plY3Q+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgor
ICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Ii4uXHhlbmRpc2tceGVuZGlzay52Y3hwcm9q
Ij4KKyAgICAgIDxQcm9qZWN0PntkNzQxMWIyYy0yYzQzLTQzNGQtOWY1Ni1lMTBhM2QyZjViYWR9
PC9Qcm9qZWN0PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgPC9JdGVtR3JvdXA+CisgIDxJ
dGVtR3JvdXA+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoRFBJTlNUX1JFRElTVClc
eDg2XGRwaW5zdC5leGUiIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyIgLz4KKyAg
ICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChEUElOU1RfUkVESVNUKVx4NjRcZHBpbnN0LmV4
ZSIgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyIgLz4KKyAgPC9JdGVtR3JvdXA+Cisg
IDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMi
IC8+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CisgIDwvSW1wb3J0
R3JvdXA+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTcvcGFja2FnZS9wYWNrYWdlLnZj
eHByb2oudXNlciBiL3ZzMjAxNy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2VyCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwMTdlYzIKLS0tIC9kZXYvbnVsbAorKysgYi92
czIwMTcvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNlcgpAQCAtMCwwICsxLDggQEAKKzw/eG1s
IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249
IjE1LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1
aWxkLzIwMDMiPgorCTxQcm9wZXJ0eUdyb3VwPgorCQk8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25N
b2RlPgorCQk8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW52YmQucGZ4PC9UZXN0Q2VydGlm
aWNhdGU+CisJCTxUaW1lU3RhbXBTZXJ2ZXI+aHR0cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20v
c2NyaXB0cy90aW1zdGFtcC5kbGw8L1RpbWVTdGFtcFNlcnZlcj4KKwk8L1Byb3BlcnR5R3JvdXA+
Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTcvdGFyZ2V0cy5wcm9wcyBiL3ZzMjAxNy90
YXJnZXRzLnByb3BzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwNDU0MzQK
LS0tIC9kZXYvbnVsbAorKysgYi92czIwMTcvdGFyZ2V0cy5wcm9wcwpAQCAtMCwwICsxLDM1IEBA
Cis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVs
dFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjE1LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1h
cy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorCTxQcm9wZXJ0eUdyb3Vw
IExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1dpbmRvd3MgMTAgRGVidWd8V2luMzInIj4KKwkJPFRhcmdldFZlcnNpb24+V2lu
ZG93czEwPC9UYXJnZXRWZXJzaW9uPgorCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVi
dWdMaWJyYXJpZXM+CisJPC9Qcm9wZXJ0eUdyb3VwPgorCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJD
b25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1dpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMiciPgorCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzMTA8
L1RhcmdldFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJy
YXJpZXM+CisJPC9Qcm9wZXJ0eUdyb3VwPgorCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1
cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRv
d3MgMTAgRGVidWd8eDY0JyI+CisJCTxUYXJnZXRWZXJzaW9uPldpbmRvd3MxMDwvVGFyZ2V0VmVy
c2lvbj4KKwkJPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPgorCTwv
UHJvcGVydHlHcm91cD4KKwk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDEwIFJlbGVh
c2V8eDY0JyI+CisJCTxUYXJnZXRWZXJzaW9uPldpbmRvd3MxMDwvVGFyZ2V0VmVyc2lvbj4KKwkJ
PFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KKwk8L1Byb3BlcnR5
R3JvdXA+CisJPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IERlYnVnfFdpbjMyJyI+
CisJCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRWZXJzaW9uPgorCQk8VXNlRGVidWdM
aWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+CisJPC9Qcm9wZXJ0eUdyb3VwPgorCTxQ
cm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBSZWxlYXNlfFdpbjMyJyI+CisJCTxUYXJn
ZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRWZXJzaW9uPgorCQk8VXNlRGVidWdMaWJyYXJpZXM+
ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgorCTwvUHJvcGVydHlHcm91cD4KKwk8UHJvcGVydHlH
cm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggRGVidWd8eDY0JyI+CisJCTxUYXJnZXRWZXJzaW9uPldp
bmRvd3M4PC9UYXJnZXRWZXJzaW9uPgorCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVi
dWdMaWJyYXJpZXM+CisJPC9Qcm9wZXJ0eUdyb3VwPgorCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJD
b25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1dpbmRvd3MgOCBSZWxlYXNlfHg2NCciPgorCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwvVGFy
Z2V0VmVyc2lvbj4KKwkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmll
cz4KKwk8L1Byb3BlcnR5R3JvdXA+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTcveGVu
Y3JzaC94ZW5jcnNoLnZjeHByb2ogYi92czIwMTcveGVuY3JzaC94ZW5jcnNoLnZjeHByb2oKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTkyMjY4MgotLS0gL2Rldi9udWxsCisr
KyBiL3ZzMjAxNy94ZW5jcnNoL3hlbmNyc2gudmN4cHJvagpAQCAtMCwwICsxLDg1IEBACis8P3ht
bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdl
dHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjE1LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNy
b3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SW1wb3J0IFByb2plY3Q9Ii4u
XGNvbmZpZ3MucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0
cyI+CisgICAgPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJUeXBlPgorICAgIDxQbGF0Zm9ybVRvb2xz
ZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXIxMC4wPC9QbGF0Zm9ybVRvb2xzZXQ+CisgICAgPENv
bmZpZ3VyYXRpb25UeXBlPkRyaXZlcjwvQ29uZmlndXJhdGlvblR5cGU+CisgIDwvUHJvcGVydHlH
cm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAu
RGVmYXVsdC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgorICAg
IDxQcm9qZWN0R3VpZD57NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfTwvUHJv
amVjdEd1aWQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIuLlx0YXJn
ZXRzLnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9z
b2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFJ1bkNvZGVBbmFseXNp
cz50cnVlPC9SdW5Db2RlQW5hbHlzaXM+CisgICAgPEVuYWJsZUluZjJjYXQ+ZmFsc2U8L0VuYWJs
ZUluZjJjYXQ+CisgICAgPEludERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3VyYXRpb25O
YW1lKVwkKFBsYXRmb3JtKVw8L0ludERpcj4KKyAgICA8T3V0RGlyPi4uXCQoQ29uZmlndXJhdGlv
bk5hbWUpXCQoUGxhdGZvcm0pXDwvT3V0RGlyPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVt
RGVmaW5pdGlvbkdyb3VwPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8QWRkaXRpb25hbEluY2x1
ZGVEaXJlY3Rvcmllcz4kKFdpbmRvd3NTZGtEaXIpXGluY2x1ZGVca207Li5cLi5caW5jbHVkZTsu
LlwuLlxzcmNcY29tbW9uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9u
YWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19N
T0RVTEVfXz0iWEVOQ1JTSCI7UE9PTF9OWF9PUFRJTj0xOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlv
bnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+RW5hYmxl
QWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5n
cz40NDY0OzQ1NDg7NDcxMTs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7MzAwMzA7MzAw
Mjk7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgor
ICAgICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21w
aWxhdGlvbj4KKyAgICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+CisgICAg
PC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxBZGRpdGlvbmFsSW5j
bHVkZURpcmVjdG9yaWVzPi4uXC4uXGluY2x1ZGU7Li5cLi5cc3JjXGNvbW1vbjslKEFkZGl0aW9u
YWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAg
IDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEltYWdlSGFzU2FmZUV4Y2Vw
dGlvbkhhbmRsZXJzPmZhbHNlPC9JbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz4KKyAgICAg
IDxNb2R1bGVEZWZpbml0aW9uRmlsZT4uLi8uLi9zcmMveGVuY3JzaC94ZW5jcnNoLmRlZjwvTW9k
dWxlRGVmaW5pdGlvbkZpbGU+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKERES19M
SUJfUEFUSCkvc3RvcnBvcnQubGliOyQoRERLX0xJQl9QQVRIKS9saWJjbnRwci5saWI7JShBZGRp
dGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICA8L0xpbms+
CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0
aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPFBy
ZXByb2Nlc3NvckRlZmluaXRpb25zPl9faTM4Nl9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMp
PC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgPC9JdGVtRGVm
aW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRm
b3JtKSc9PSd4NjQnIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmlu
aXRpb25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3Nv
ckRlZmluaXRpb25zPgorICAgIDwvQ2xDb21waWxlPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+
CisgIDxJdGVtR3JvdXA+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoVGFyZ2V0UGF0
aCkiIC8+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoT3V0RGlyKSQoVGFyZ2V0TmFt
ZSkucGRiIiAvPgorICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSJAKEluZi0+JyUoQ29weU91
dHB1dCknKSIgQ29uZGl0aW9uPSInQChJbmYpJyE9JyciIC8+CisgIDwvSXRlbUdyb3VwPgorICA8
SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hcYXVz
dGVyZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hcYnVm
ZmVyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuY3JzaFxkcml2
ZXIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5jcnNoXGV2dGNo
bi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hcZmRvLmMi
IC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuY3JzaFxmcm9udGVuZC5j
IiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hcZ250dGFiLmMi
IC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuY3JzaFxodm0uYyIgLz4K
KyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5jcnNoXGh5cGVyY2FsbF9zdHVi
LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuY3JzaFxsb2cuYyIg
Lz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5jcnNoXHBkby5jIiAvPgor
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hccGRvaW5xdWlyeS5jIiAv
PgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hccXVldWUuYyIgLz4K
KyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5jcnNoXHN0b3JlLmMiIC8+Cisg
IDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxNQVNNIEluY2x1ZGU9Ii4uXC4uXHNy
Y1x4ZW5jcnNoXGFtZDY0XGh5cGVyY2FsbC5hc20iPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CisgICAgPC9NQVNNPgorICAgIDxNQVNNIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5jcnNoXGkz
ODZcaHlwZXJjYWxsLmFzbSI+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChQbGF0Zm9ybSknPT0neDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgPC9NQVNN
PgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8UmVzb3VyY2VDb21waWxlIElu
Y2x1ZGU9Ii4uXC4uXHNyY1x4ZW5jcnNoXHhlbmNyc2gucmMiIC8+CisgIDwvSXRlbUdyb3VwPgor
ICA8SXRlbUdyb3VwPgorICAgIDxOb25lIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5jcnNoXHhlbmNy
c2guZGVmIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0
c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBh
L3ZzMjAxNy94ZW5jcnNoL3hlbmNyc2gudmN4cHJvai51c2VyIGIvdnMyMDE3L3hlbmNyc2gveGVu
Y3JzaC52Y3hwcm9qLnVzZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjAx
N2VjMgotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy94ZW5jcnNoL3hlbmNyc2gudmN4cHJvai51
c2VyCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgi
Pz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iMTUuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1p
Y3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisJPFByb3BlcnR5R3JvdXA+CisJ
CTxTaWduTW9kZT5UZXN0U2lnbjwvU2lnbk1vZGU+CisJCTxUZXN0Q2VydGlmaWNhdGU+Li5cLi5c
c3JjXHhlbnZiZC5wZng8L1Rlc3RDZXJ0aWZpY2F0ZT4KKwkJPFRpbWVTdGFtcFNlcnZlcj5odHRw
Oi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRzL3RpbXN0YW1wLmRsbDwvVGltZVN0YW1w
U2VydmVyPgorCTwvUHJvcGVydHlHcm91cD4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAx
Ny94ZW5kaXNrL3hlbmRpc2sudmN4cHJvaiBiL3ZzMjAxNy94ZW5kaXNrL3hlbmRpc2sudmN4cHJv
agpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZmM5Y2M3Ci0tLSAvZGV2L251
bGwKKysrIGIvdnMyMDE3L3hlbmRpc2sveGVuZGlzay52Y3hwcm9qCkBAIC0wLDAgKzEsNjYgQEAK
Kzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0
VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTUuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFz
Lm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJbXBvcnQgUHJvamVj
dD0iLi5cY29uZmlncy5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlByb3BlcnR5
U2hlZXRzIj4KKyAgICA8RHJpdmVyVHlwZT5XRE08L0RyaXZlclR5cGU+CisgICAgPFBsYXRmb3Jt
VG9vbHNldD5XaW5kb3dzS2VybmVsTW9kZURyaXZlcjEwLjA8L1BsYXRmb3JtVG9vbHNldD4KKyAg
ICA8Q29uZmlndXJhdGlvblR5cGU+RHJpdmVyPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgPC9Qcm9w
ZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0
LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+
CisgICAgPFByb2plY3RHdWlkPntENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9
PC9Qcm9qZWN0R3VpZD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9Ii4u
XHRhcmdldHMucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxN
aWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8UnVuQ29kZUFu
YWx5c2lzPnRydWU8L1J1bkNvZGVBbmFseXNpcz4KKyAgICA8RW5hYmxlSW5mMmNhdD5mYWxzZTwv
RW5hYmxlSW5mMmNhdD4KKyAgICA8SW50RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJh
dGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvSW50RGlyPgorICAgIDxPdXREaXI+Li5cJChDb25maWd1
cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9PdXREaXI+CisgIDwvUHJvcGVydHlHcm91cD4KKyAg
PEl0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxBZGRpdGlvbmFs
SW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXGluY2x1ZGU7Li5cLi5cc3JjXGNvbW1vbjslKEFkZGl0
aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgor
ICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+Cisg
ICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVfXz0iWEVORElTSyI7UE9PTF9O
WF9PUFRJTj0xOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0
aW9ucz4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZl
bD4KKyAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40NDY0OzQ1NDg7NDcxMTs0ODIwOzQ2
Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7MzAwMzA7MzAwMjk7JShEaXNhYmxlU3BlY2lmaWNXYXJu
aW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgorICAgICAgPE11bHRpUHJvY2Vzc29yQ29t
cGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj4KKyAgICAgIDxFbmFibGVQ
UkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291
cmNlQ29tcGlsZT4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXGlu
Y2x1ZGU7Li5cLi5cc3JjXGNvbW1vbjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9B
ZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICAg
IDxMaW5rPgorICAgICAgPEltYWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJzPmZhbHNlPC9JbWFn
ZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVz
PiQoRERLX0xJQl9QQVRIKS9saWJjbnRwci5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwv
QWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNl
PC9FbmFibGVDT01EQVRGb2xkaW5nPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdy
b3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdX
aW4zMiciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+
X19pMzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRp
b25zPgorICAgIDwvQ2xDb21waWxlPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVt
RGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgorICAgIDxD
bENvbXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X194ODZfNjRfXzslKFBy
ZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgPC9D
bENvbXBpbGU+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8
RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChUYXJnZXRQYXRoKSIgLz4KKyAgICA8RmlsZXNUb1Bh
Y2thZ2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5wZGIiIC8+CisgICAgPEZpbGVz
VG9QYWNrYWdlIEluY2x1ZGU9IkAoSW5mLT4nJShDb3B5T3V0cHV0KScpIiBDb25kaXRpb249IidA
KEluZiknIT0nJyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVuZGlzay9kcml2ZXIuYyIgLz4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5kaXNrL2Zkby5jIiAvPgorICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi4vLi4vc3JjL3hlbmRpc2svcGRvLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLi8uLi9zcmMveGVuZGlzay9yZWdpc3RyeS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi4vLi4vc3JjL3hlbmRpc2svdGhyZWFkLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8
SXRlbUdyb3VwPgorICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmRp
c2tceGVuZGlzay5yYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChW
Q1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+CmRpZmYg
LS1naXQgYS92czIwMTcveGVuZGlzay94ZW5kaXNrLnZjeHByb2oudXNlciBiL3ZzMjAxNy94ZW5k
aXNrL3hlbmRpc2sudmN4cHJvai51c2VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmUxMzE1ZGIKLS0tIC9kZXYvbnVsbAorKysgYi92czIwMTcveGVuZGlzay94ZW5kaXNrLnZj
eHByb2oudXNlcgpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9
InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjE1LjAiIHhtbG5zPSJodHRwOi8vc2No
ZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8UHJvcGVydHlH
cm91cD4KKyAgICA8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgorICAgIDxUZXN0Q2VydGlm
aWNhdGU+Li5cLi5cc3JjXHhlbnZiZC5wZng8L1Rlc3RDZXJ0aWZpY2F0ZT4KKyAgICA8VGltZVN0
YW1wU2VydmVyPmh0dHA6Ly90aW1lc3RhbXAudmVyaXNpZ24uY29tL3NjcmlwdHMvdGltc3RhbXAu
ZGxsPC9UaW1lU3RhbXBTZXJ2ZXI+CisgIDwvUHJvcGVydHlHcm91cD4KKzwvUHJvamVjdD4KZGlm
ZiAtLWdpdCBhL3ZzMjAxNy94ZW52YmQuc2xuIGIvdnMyMDE3L3hlbnZiZC5zbG4KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM2YjUxOQotLS0gL2Rldi9udWxsCisrKyBiL3Zz
MjAxNy94ZW52YmQuc2xuCkBAIC0wLDAgKzEsMTI1IEBACitNaWNyb3NvZnQgVmlzdWFsIFN0dWRp
byBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiAxMi4wMAorUHJvamVjdCgiezhCQzlDRUI4
LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4ZW52YmQiLCAieGVudmJkXHhlbnZi
ZC52Y3hwcm9qIiwgIntFRjIzNjM3MS0zMTQ1LTQxQjEtOTlDOS04MkIzM0UzNTNGMTd9IgorCVBy
b2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QKKwkJezU4RjVC
QzQzLUI5MkUtNEEyQi05NzVELTAwNjZFQUIyOTA5Mn0gPSB7NThGNUJDNDMtQjkyRS00QTJCLTk3
NUQtMDA2NkVBQjI5MDkyfQorCUVuZFByb2plY3RTZWN0aW9uCitFbmRQcm9qZWN0CitQcm9qZWN0
KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInhlbmNyc2giLCAi
eGVuY3JzaFx4ZW5jcnNoLnZjeHByb2oiLCAiezU4RjVCQzQzLUI5MkUtNEEyQi05NzVELTAwNjZF
QUIyOTA5Mn0iCitFbmRQcm9qZWN0CitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEt
MDBBMEM5MUJDOTQyfSIpID0gInhlbmRpc2siLCAieGVuZGlza1x4ZW5kaXNrLnZjeHByb2oiLCAi
e0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0iCitFbmRQcm9qZWN0CitQcm9q
ZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInhlbnZiZF9j
b2luc3QiLCAieGVudmJkX2NvaW5zdFx4ZW52YmRfY29pbnN0LnZjeHByb2oiLCAiezUwQzA4NDM3
LUMxRjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5OX0iCitFbmRQcm9qZWN0CitQcm9qZWN0KCJ7OEJD
OUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInBhY2thZ2UiLCAicGFja2Fn
ZVxwYWNrYWdlLnZjeHByb2oiLCAie0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3
Mn0iCisgICAgUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVj
dAorCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fSA9IHs1MEMwODQzNy1D
MUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9CisJCXs1OEY1QkM0My1COTJFLTRBMkItOTc1RC0w
MDY2RUFCMjkwOTJ9ID0gezU4RjVCQzQzLUI5MkUtNEEyQi05NzVELTAwNjZFQUIyOTA5Mn0KKwkJ
e0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30gPSB7RUYyMzYzNzEtMzE0NS00
MUIxLTk5QzktODJCMzNFMzUzRjE3fQorCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNE
MkY1QkFEfSA9IHtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9CisJRW5kUHJv
amVjdFNlY3Rpb24KK0VuZFByb2plY3QKK0dsb2JhbAorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25D
b25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uCisJCVdpbmRvd3MgOCBEZWJ1Z3xX
aW4zMiA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQlXaW5kb3dzIDggRGVidWd8eDY0ID0gV2lu
ZG93cyA4IERlYnVnfHg2NAorCQlXaW5kb3dzIDggUmVsZWFzZXxXaW4zMiA9IFdpbmRvd3MgOCBS
ZWxlYXNlfFdpbjMyCisJCVdpbmRvd3MgOCBSZWxlYXNlfHg2NCA9IFdpbmRvd3MgOCBSZWxlYXNl
fHg2NAorCQlXaW5kb3dzIDEwIERlYnVnfFdpbjMyID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgor
CQlXaW5kb3dzIDEwIERlYnVnfHg2NCA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCVdpbmRvd3Mg
MTAgUmVsZWFzZXxXaW4zMiA9IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQlXaW5kb3dzIDEw
IFJlbGVhc2V8eDY0ID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCUVuZEdsb2JhbFNlY3Rpb24K
KwlHbG9iYWxTZWN0aW9uKFByb2plY3RDb25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHBvc3RTb2x1
dGlvbgorCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIDgg
RGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCXtENzQxMUIy
Qy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWls
ZC4wID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1F
MTBBM0QyRjVCQUR9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERl
YnVnfHg2NAorCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dz
IDggRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCXtENzQxMUIyQy0y
QzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkFjdGl2
ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCisJCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1
Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dz
IDggUmVsZWFzZXxXaW4zMgorCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFE
fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8eDY0
CisJCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgOCBSZWxl
YXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXtENzQxMUIyQy0yQzQz
LTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgMTAgRGVidWd8V2luMzIuQWN0aXZlQ2Zn
ID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEw
QTNEMkY1QkFEfS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDEwIERl
YnVnfFdpbjMyCisJCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRv
d3MgMTAgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCXtENzQx
MUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgMTAgRGVidWd8eDY0LkJ1
aWxkLjAgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAorCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYt
RTEwQTNEMkY1QkFEfS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93
cyAxMCBSZWxlYXNlfFdpbjMyCisJCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVC
QUR9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxlYXNl
fFdpbjMyCisJCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3Mg
MTAgUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7RDc0
MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0
LkJ1aWxkLjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJCXtFRjIzNjM3MS0zMTQ1LTQxQjEt
OTlDOS04MkIzM0UzNTNGMTd9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5k
b3dzIDggRGVidWd8V2luMzIKKwkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0Yx
N30uV2luZG93cyA4IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIK
KwkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93cyA4IERlYnVn
fHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCXtFRjIzNjM3MS0zMTQ1LTQx
QjEtOTlDOS04MkIzM0UzNTNGMTd9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRv
d3MgOCBEZWJ1Z3x4NjQKKwkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30u
V2luZG93cyA4IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2lu
MzIKKwkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93cyA4IFJl
bGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCisJCXtFRjIzNjM3
MS0zMTQ1LTQxQjEtOTlDOS04MkIzM0UzNTNGMTd9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5BY3Rp
dmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKKwkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5
LTgyQjMzRTM1M0YxN30uV2luZG93cyA4IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDgg
UmVsZWFzZXx4NjQKKwkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2lu
ZG93cyAxMCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJ
CXtFRjIzNjM3MS0zMTQ1LTQxQjEtOTlDOS04MkIzM0UzNTNGMTd9LldpbmRvd3MgMTAgRGVidWd8
V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJe0VGMjM2MzcxLTMxNDUt
NDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93cyAxMCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0g
V2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1
M0YxN30uV2luZG93cyAxMCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgMTAgRGVidWd8eDY0
CisJCXtFRjIzNjM3MS0zMTQ1LTQxQjEtOTlDOS04MkIzM0UzNTNGMTd9LldpbmRvd3MgMTAgUmVs
ZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJe0VGMjM2
MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93cyAxMCBSZWxlYXNlfFdpbjMy
LkJ1aWxkLjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJe0VGMjM2MzcxLTMxNDUtNDFC
MS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93cyAxMCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBX
aW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJCXtFRjIzNjM3MS0zMTQ1LTQxQjEtOTlDOS04MkIzM0Uz
NTNGMTd9LldpbmRvd3MgMTAgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgMTAgUmVsZWFz
ZXx4NjQKKwkJezUwQzA4NDM3LUMxRjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5OX0uV2luZG93cyA4
IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQl7NTBDMDg0
MzctQzFGMy00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fS5XaW5kb3dzIDggRGVidWd8V2luMzIuQnVp
bGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEt
N0I1NUEwNkJGOTk5fS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBE
ZWJ1Z3x4NjQKKwkJezUwQzA4NDM3LUMxRjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5OX0uV2luZG93
cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7NTBDMDg0Mzct
QzFGMy00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5BY3Rp
dmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJG
NkEtN0I1NUEwNkJGOTk5fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93
cyA4IFJlbGVhc2V8V2luMzIKKwkJezUwQzA4NDM3LUMxRjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5
OX0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2
NAorCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fS5XaW5kb3dzIDggUmVs
ZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAorCQl7NTBDMDg0MzctQzFG
My00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJezUwQzA4NDM3LUMxRjMtNDM0OS1CRjZBLTdC
NTVBMDZCRjk5OX0uV2luZG93cyAxMCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyAxMCBE
ZWJ1Z3xXaW4zMgorCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fS5XaW5k
b3dzIDEwIERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAorCQl7NTBD
MDg0MzctQzFGMy00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fS5XaW5kb3dzIDEwIERlYnVnfHg2NC5C
dWlsZC4wID0gV2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJezUwQzA4NDM3LUMxRjMtNDM0OS1CRjZB
LTdCNTVBMDZCRjk5OX0uV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRv
d3MgMTAgUmVsZWFzZXxXaW4zMgorCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEtN0I1NUEwNkJG
OTk5fS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgMTAgUmVsZWFz
ZXxXaW4zMgorCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fS5XaW5kb3dz
IDEwIFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJezUw
QzA4NDM3LUMxRjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5OX0uV2luZG93cyAxMCBSZWxlYXNlfHg2
NC5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7QUI4REFFRDMtOUQ3MC00OTA3
LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIDggRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2lu
ZG93cyA4IERlYnVnfFdpbjMyCisJCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5
NzJ9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdpbjMy
CisJCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgOCBEZWJ1
Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQl7QUI4REFFRDMtOUQ3
MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNmZyA9
IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKKwkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZD
MTk3Mn0uV2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2NAor
CQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIDggRGVidWd8
eDY0LkRlcGxveS4wID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7QUI4REFFRDMtOUQ3MC00OTA3
LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBX
aW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0Yx
RkMxOTcyfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVh
c2V8V2luMzIKKwkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93
cyA4IFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7
QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIDggUmVsZWFzZXx4
NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXtBQjhEQUVEMy05RDcwLTQ5
MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2lu
ZG93cyA4IFJlbGVhc2V8eDY0CisJCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5
NzJ9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2
NAorCQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIDEwIERl
YnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJe0FCOERBRUQz
LTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyAxMCBEZWJ1Z3xXaW4zMi5CdWls
ZC4wID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMt
QzY0M0YxRkMxOTcyfS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyAx
MCBEZWJ1Z3xXaW4zMgorCQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5X
aW5kb3dzIDEwIERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAorCQl7
QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIDEwIERlYnVnfHg2
NC5CdWlsZC4wID0gV2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJe0FCOERBRUQzLTlENzAtNDkwNy05
OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyAxMCBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dz
IDEwIERlYnVnfHg2NAorCQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5X
aW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNlfFdp
bjMyCisJCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgMTAg
UmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXtBQjhE
QUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4z
Mi5EZXBsb3kuMCA9IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQl7QUI4REFFRDMtOUQ3MC00
OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9
IFdpbmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNG
MUZDMTk3Mn0uV2luZG93cyAxMCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxl
YXNlfHg2NAorCQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dz
IDEwIFJlbGVhc2V8eDY0LkRlcGxveS4wID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7NThG
NUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIDggRGVidWd8V2luMzIu
QWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCXs1OEY1QkM0My1COTJFLTRBMkIt
OTc1RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93
cyA4IERlYnVnfFdpbjMyCisJCXs1OEY1QkM0My1COTJFLTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9
LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7
NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIDggRGVidWd8eDY0
LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCXs1OEY1QkM0My1COTJFLTRBMkItOTc1
RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRv
d3MgOCBSZWxlYXNlfFdpbjMyCisJCXs1OEY1QkM0My1COTJFLTRBMkItOTc1RC0wMDY2RUFCMjkw
OTJ9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXxX
aW4zMgorCQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIDgg
UmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXs1OEY1QkM0
My1COTJFLTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWls
ZC4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXs1OEY1QkM0My1COTJFLTRBMkItOTc1RC0w
MDY2RUFCMjkwOTJ9LldpbmRvd3MgMTAgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyAx
MCBEZWJ1Z3xXaW4zMgorCQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5X
aW5kb3dzIDEwIERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJ
CXs1OEY1QkM0My1COTJFLTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3MgMTAgRGVidWd8
eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCXs1OEY1QkM0My1COTJFLTRB
MkItOTc1RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3MgMTAgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5k
b3dzIDEwIERlYnVnfHg2NAorCQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDky
fS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNl
fFdpbjMyCisJCXs1OEY1QkM0My1COTJFLTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3Mg
MTAgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXs1
OEY1QkM0My1COTJFLTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3MgMTAgUmVsZWFzZXx4
NjQuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7NThGNUJDNDMtQjkyRS00
QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBX
aW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2JhbFNlY3Rpb24o
U29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uCisJCUhpZGVTb2x1dGlvbk5vZGUgPSBG
QUxTRQorCUVuZEdsb2JhbFNlY3Rpb24KK0VuZEdsb2JhbApkaWZmIC0tZ2l0IGEvdnMyMDE3L3hl
bnZiZC94ZW52YmQudmN4cHJvaiBiL3ZzMjAxNy94ZW52YmQveGVudmJkLnZjeHByb2oKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDc4NjcyYwotLS0gL2Rldi9udWxsCisrKyBi
L3ZzMjAxNy94ZW52YmQveGVudmJkLnZjeHByb2oKQEAgLTAsMCArMSw4NSBAQAorPD94bWwgdmVy
c2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJC
dWlsZCIgVG9vbHNWZXJzaW9uPSIxNS4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0
LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEltcG9ydCBQcm9qZWN0PSIuLlxjb25m
aWdzLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgor
ICAgIDxEcml2ZXJUeXBlPldETTwvRHJpdmVyVHlwZT4KKyAgICA8UGxhdGZvcm1Ub29sc2V0Pldp
bmRvd3NLZXJuZWxNb2RlRHJpdmVyMTAuMDwvUGxhdGZvcm1Ub29sc2V0PgorICAgIDxDb25maWd1
cmF0aW9uVHlwZT5Ecml2ZXI8L0NvbmZpZ3VyYXRpb25UeXBlPgorICA8L1Byb3BlcnR5R3JvdXA+
CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1
bHQucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAgICA8UHJv
amVjdEd1aWQ+e0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN308L1Byb2plY3RH
dWlkPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cdGFyZ2V0cy5w
cm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5D
cHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxSdW5Db2RlQW5hbHlzaXM+dHJ1
ZTwvUnVuQ29kZUFuYWx5c2lzPgorICAgIDxFbmFibGVJbmYyY2F0PmZhbHNlPC9FbmFibGVJbmYy
Y2F0PgorICAgIDxJbnREaXI+Li5cJChQcm9qZWN0TmFtZSlcJChDb25maWd1cmF0aW9uTmFtZSlc
JChQbGF0Zm9ybSlcPC9JbnREaXI+CisgICAgPE91dERpcj4uLlwkKENvbmZpZ3VyYXRpb25OYW1l
KVwkKFBsYXRmb3JtKVw8L091dERpcj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SXRlbURlZmlu
aXRpb25Hcm91cD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGly
ZWN0b3JpZXM+JChXaW5kb3dzU2RrRGlyKVxpbmNsdWRlXGttOy4uXC4uXGluY2x1ZGU7Li5cLi5c
c3JjXGNvbW1vbjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5j
bHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9fTU9EVUxF
X189IlhFTlZCRCI7UE9PTF9OWF9PUFRJTj0xOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9Q
cmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2Fy
bmluZ3M8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40NDY0
OzQ1NDg7NDcxMTs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxNjA7MjgxOTY7MzAwMzA7MzAw
Mjk7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgor
ICAgICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21w
aWxhdGlvbj4KKyAgICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+CisgICAg
PC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxBZGRpdGlvbmFsSW5j
bHVkZURpcmVjdG9yaWVzPi4uXC4uXGluY2x1ZGU7Li5cLi5cc3JjXGNvbW1vbjslKEFkZGl0aW9u
YWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAg
IDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEltYWdlSGFzU2FmZUV4Y2Vw
dGlvbkhhbmRsZXJzPmZhbHNlPC9JbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz4KKyAgICAg
IDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoUHJvamVjdERpcikuLlwkKENvbmZpZ3VyYXRpb25O
YW1lKVwkKFBsYXRmb3JtKVx4ZW5jcnNoLmxpYjskKERES19MSUJfUEFUSCkvc3RvcnBvcnQubGli
OyQoRERLX0xJQl9QQVRIKS9saWJjbnRwci5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwv
QWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNl
PC9FbmFibGVDT01EQVRGb2xkaW5nPgorICAgIDwvTGluaz4KKyAgICA8SW5mPgorICAgICAgPFNw
ZWNpZnlBcmNoaXRlY3R1cmU+dHJ1ZTwvU3BlY2lmeUFyY2hpdGVjdHVyZT4KKyAgICAgIDxTcGVj
aWZ5RHJpdmVyVmVyRGlyZWN0aXZlVmVyc2lvbj50cnVlPC9TcGVjaWZ5RHJpdmVyVmVyRGlyZWN0
aXZlVmVyc2lvbj4KKyAgICAgIDxUaW1lU3RhbXA+JChNQUpPUl9WRVJTSU9OKS4kKE1JTk9SX1ZF
UlNJT04pLiQoTUlDUk9fVkVSU0lPTikuJChCVUlMRF9OVU1CRVIpPC9UaW1lU3RhbXA+CisgICAg
ICA8RW5hYmxlVmVyYm9zZT50cnVlPC9FbmFibGVWZXJib3NlPgorICAgIDwvSW5mPgorICA8L0l0
ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQo
UGxhdGZvcm0pJz09J1dpbjMyJyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNz
b3JEZWZpbml0aW9ucz5fX2kzODZfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM+CisgICAgPC9DbENvbXBpbGU+CisgICAgPEluZj4KKyAgICAgIDxB
cmNoaXRlY3R1cmU+eDg2PC9BcmNoaXRlY3R1cmU+CisgICAgPC9JbmY+CisgIDwvSXRlbURlZmlu
aXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9y
bSknPT0neDY0JyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0
aW9ucz5fX3g4Nl82NF9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JE
ZWZpbml0aW9ucz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8SW5mPgorICAgICAgPEFyY2hpdGVj
dHVyZT5hbWQ2NDwvQXJjaGl0ZWN0dXJlPgorICAgIDwvSW5mPgorICA8L0l0ZW1EZWZpbml0aW9u
R3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoVGFy
Z2V0UGF0aCkiIC8+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoT3V0RGlyKSQoVGFy
Z2V0TmFtZSkucGRiIiAvPgorICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSJAKEluZi0+JyUo
Q29weU91dHB1dCknKSIgQ29uZGl0aW9uPSInQChJbmYpJyE9JyciIC8+CisgIDwvSXRlbUdyb3Vw
PgorICA8SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZi
ZC9kcml2ZXIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQv
cmVnaXN0cnkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQv
YWRhcHRlci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9m
cm9udGVuZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC90
YXJnZXQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvYmFz
ZTY0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL3F1ZXVl
LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL3RocmVhZC5j
IiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9yaW5nLmMiIC8+
CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL2dyYW50ZXIuYyIgLz4K
KyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPFJlc291cmNlQ29tcGlsZSBJbmNs
dWRlPSIuLlwuLlxzcmNceGVudmJkXHhlbnZiZC5yYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJ
dGVtR3JvdXA+CisgICAgPEluZiBJbmNsdWRlPSIuLlx4ZW52YmQuaW5mIiAvPgorICA8L0l0ZW1H
cm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAu
dGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW52YmQveGVudmJk
LnZjeHByb2oudXNlciBiL3ZzMjAxNy94ZW52YmQveGVudmJkLnZjeHByb2oudXNlcgpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTMxNWRiCi0tLSAvZGV2L251bGwKKysrIGIv
dnMyMDE3L3hlbnZiZC94ZW52YmQudmN4cHJvai51c2VyCkBAIC0wLDAgKzEsOCBAQAorPD94bWwg
dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0i
MTUuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVp
bGQvMjAwMyI+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxTaWduTW9kZT5UZXN0U2lnbjwvU2ln
bk1vZGU+CisgICAgPFRlc3RDZXJ0aWZpY2F0ZT4uLlwuLlxzcmNceGVudmJkLnBmeDwvVGVzdENl
cnRpZmljYXRlPgorICAgIDxUaW1lU3RhbXBTZXJ2ZXI+aHR0cDovL3RpbWVzdGFtcC52ZXJpc2ln
bi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1RpbWVTdGFtcFNlcnZlcj4KKyAgPC9Qcm9wZXJ0
eUdyb3VwPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3hlbnZiZF9jb2luc3QveGVu
dmJkX2NvaW5zdC52Y3hwcm9qIGIvdnMyMDE3L3hlbnZiZF9jb2luc3QveGVudmJkX2NvaW5zdC52
Y3hwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiZTk4OGIKLS0tIC9k
ZXYvbnVsbAorKysgYi92czIwMTcveGVudmJkX2NvaW5zdC94ZW52YmRfY29pbnN0LnZjeHByb2oK
QEAgLTAsMCArMSw2MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4K
KzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIxNS4wIiB4bWxu
cz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4K
KyAgPEltcG9ydCBQcm9qZWN0PSIuLlxjb25maWdzLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91
cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxEcml2ZXJUeXBlPldETTwvRHJpdmVyVHlw
ZT4KKyAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnMxMC4w
PC9QbGF0Zm9ybVRvb2xzZXQ+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5
PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2pl
Y3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorICA8
UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPns1MEMwODQz
Ny1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9PC9Qcm9qZWN0R3VpZD4KKyAgPC9Qcm9wZXJ0
eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+CisgIDxJbXBv
cnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8
UHJvcGVydHlHcm91cD4KKyAgICA8UnVuQ29kZUFuYWx5c2lzPnRydWU8L1J1bkNvZGVBbmFseXNp
cz4KKyAgICA8RW5hYmxlSW5mMmNhdD5mYWxzZTwvRW5hYmxlSW5mMmNhdD4KKyAgPC9Qcm9wZXJ0
eUdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KKyAgICA8Q2xDb21waWxlPgorICAgICAg
PEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChTb2x1dGlvbkRpcikuLlxpbmNsdWRlOyUo
QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3Jp
ZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVfXz0iWEVOVkJEX0NP
SU5TVCI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25z
PgorICAgICAgPFdhcm5pbmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgor
ICAgICAgPERpc2FibGVTcGVjaWZpY1dhcm5pbmdzPjQxMjc7NDU0ODs0NzExOzQ4MjA7NDY2ODs0
MjU1OzYwMDE7NjA1NDsyODE5NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNw
ZWNpZmljV2FybmluZ3M+CisgICAgICA8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50cnVlPC9N
dWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPgorICAgICAgPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwvRW5h
YmxlUFJFZmFzdD4KKyAgICAgIDxSdW50aW1lTGlicmFyeSBDb25kaXRpb249IickKFVzZURlYnVn
TGlicmFyaWVzKSc9PSd0cnVlJyI+TXVsdGlUaHJlYWRlZERlYnVnPC9SdW50aW1lTGlicmFyeT4K
KyAgICAgIDxSdW50aW1lTGlicmFyeSBDb25kaXRpb249IickKFVzZURlYnVnTGlicmFyaWVzKSc9
PSdmYWxzZSciPk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgorICAgIDwvQ2xDb21waWxl
PgorICAgIDxMaW5rPgorICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxlPi4uLy4uL3NyYy9jb2lu
c3QveGVudmJkX2NvaW5zdC5kZWY8L01vZHVsZURlZmluaXRpb25GaWxlPgorICAgICAgPEFkZGl0
aW9uYWxEZXBlbmRlbmNpZXM+c2V0dXBhcGkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8
L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgPC9MaW5rPgorICAgIDxSZXNvdXJjZUNvbXBp
bGU+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFNvbHV0aW9uRGlyKS4u
XGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1
ZGVEaXJlY3Rvcmllcz4KKyAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgPC9JdGVtRGVmaW5pdGlv
bkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9
PSdXaW4zMiciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlv
bnM+X19pMzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmlu
aXRpb25zPgorICAgIDwvQ2xDb21waWxlPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJ
dGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgorICAg
IDxDbENvbXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X194ODZfNjRfXzsl
KFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAg
PC9DbENvbXBpbGU+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAg
ICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChUYXJnZXRQYXRoKSIgLz4KKyAgICA8RmlsZXNU
b1BhY2thZ2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5wZGIiIC8+CisgICAgPEZp
bGVzVG9QYWNrYWdlIEluY2x1ZGU9IkAoSW5mLT4nJShDb3B5T3V0cHV0KScpIiBDb25kaXRpb249
IidAKEluZiknIT0nJyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNcY29pbnN0XGNvaW5zdC5jIiAvPgorICA8L0l0ZW1H
cm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Tm9uZSBJbmNsdWRlPSIuLlwuLlxzcmNcY29pbnN0
XHhlbnZiZF9jb2luc3QuZGVmIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0
PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4K
ZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW52YmRfY29pbnN0L3hlbnZiZF9jb2luc3QudmN4cHJvai51
c2VyIGIvdnMyMDE3L3hlbnZiZF9jb2luc3QveGVudmJkX2NvaW5zdC52Y3hwcm9qLnVzZXIKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjAxN2VjMgotLS0gL2Rldi9udWxsCisr
KyBiL3ZzMjAxNy94ZW52YmRfY29pbnN0L3hlbnZiZF9jb2luc3QudmN4cHJvai51c2VyCkBAIC0w
LDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9q
ZWN0IFRvb2xzVmVyc2lvbj0iMTUuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j
b20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisJPFByb3BlcnR5R3JvdXA+CisJCTxTaWduTW9k
ZT5UZXN0U2lnbjwvU2lnbk1vZGU+CisJCTxUZXN0Q2VydGlmaWNhdGU+Li5cLi5cc3JjXHhlbnZi
ZC5wZng8L1Rlc3RDZXJ0aWZpY2F0ZT4KKwkJPFRpbWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0
YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRzL3RpbXN0YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgor
CTwvUHJvcGVydHlHcm91cD4KKzwvUHJvamVjdD4KLS0gCjIuNS4zCgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlz
dAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9q
ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Mon Jan 29 17:20:07 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Jan 2018 17:20:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egD6A-0002vj-MV; Mon, 29 Jan 2018 17:20:02 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=ebuc=ey=citrix.com=prvs=560e3c7a9=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egD69-0002sZ-OH
 for win-pv-devel@lists.xenproject.org; Mon, 29 Jan 2018 17:20:01 +0000
X-Inumbo-ID: 9b89e1e3-0518-11e8-ba59-bc764e045a96
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 9b89e1e3-0518-11e8-ba59-bc764e045a96;
 Mon, 29 Jan 2018 18:19:48 +0100 (CET)
X-IronPort-AV: E=Sophos;i="5.46,432,1511827200"; d="scan'208";a="460129366"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 29 Jan 2018 17:19:51 +0000
Message-ID: <1517246391-2044-2-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1517246391-2044-1-git-send-email-paul.durrant@citrix.com>
References: <1517246391-2044-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xenvbd 2/2] Do more optimization in release
	builds and add /Qspectre flag
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

U3BlY3RyZSBtaXRpZ2F0aW9ucyBhcHBhcmVudGx5IG9ubHkgd29yayBvbiBvcHRpbWl6ZWQgY29k
ZS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+
Ci0tLQogdnMyMDE3L3hlbmNyc2gveGVuY3JzaC52Y3hwcm9qIHwgMTEgKysrKysrKysrKy0KIHZz
MjAxNy94ZW5kaXNrL3hlbmRpc2sudmN4cHJvaiB8IDEyICsrKysrKysrKystLQogdnMyMDE3L3hl
bnZiZC94ZW52YmQudmN4cHJvaiAgIHwgMTIgKysrKysrKysrKy0tCiAzIGZpbGVzIGNoYW5nZWQs
IDMwIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3hl
bmNyc2gveGVuY3JzaC52Y3hwcm9qIGIvdnMyMDE3L3hlbmNyc2gveGVuY3JzaC52Y3hwcm9qCmlu
ZGV4IGU5MjI2ODIuLmJhYTZlYjkgMTAwNjQ0Ci0tLSBhL3ZzMjAxNy94ZW5jcnNoL3hlbmNyc2gu
dmN4cHJvagorKysgYi92czIwMTcveGVuY3JzaC94ZW5jcnNoLnZjeHByb2oKQEAgLTIyLDggKzIy
LDkgQEAKICAgICA8Q2xDb21waWxlPgogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3Jp
ZXM+JChXaW5kb3dzU2RrRGlyKVxpbmNsdWRlXGttOy4uXC4uXGluY2x1ZGU7Li5cLi5cc3JjXGNv
bW1vbjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURp
cmVjdG9yaWVzPgogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9fTU9EVUxFX189IlhF
TkNSU0giO1BPT0xfTlhfT1BUSU49MTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJp
bnNpY0Z1bmN0aW9ucz4KICAgICAgIDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dh
cm5pbmdMZXZlbD4KLSAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40NDY0OzQ1NDg7NDcx
MTs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7MzAwMzA7MzAwMjk7JShEaXNhYmxlU3Bl
Y2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgorICAgICAgPERpc2FibGVT
cGVjaWZpY1dhcm5pbmdzPjQ0NjQ7NDU0ODs0NzcwOzQ3MTE7NDgyMDs0NjY4OzQyNTU7NjAwMTs2
MDU0OzI4MTk2OzMwMDMwOzMwMDI5OyUoRGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxl
U3BlY2lmaWNXYXJuaW5ncz4KICAgICAgIDxNdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8
L011bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+CiAgICAgICA8RW5hYmxlUFJFZmFzdD50cnVlPC9F
bmFibGVQUkVmYXN0PgogICAgIDwvQ2xDb21waWxlPgpAQCAtMzQsNiArMzUsNyBAQAogICAgICAg
PEltYWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJzPmZhbHNlPC9JbWFnZUhhc1NhZmVFeGNlcHRp
b25IYW5kbGVycz4KICAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZT4uLi8uLi9zcmMveGVuY3Jz
aC94ZW5jcnNoLmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+CiAgICAgICA8QWRkaXRpb25hbERl
cGVuZGVuY2llcz4kKERES19MSUJfUEFUSCkvc3RvcnBvcnQubGliOyQoRERLX0xJQl9QQVRIKS9s
aWJjbnRwci5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVu
Y2llcz4KKyAgICAgIDxMaW5rVGltZUNvZGVHZW5lcmF0aW9uPlVzZUxpbmtUaW1lQ29kZUdlbmVy
YXRpb248L0xpbmtUaW1lQ29kZUdlbmVyYXRpb24+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZp
bml0aW9uR3JvdXA+CiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZv
cm0pJz09J1dpbjMyJyI+CkBAIC00Niw2ICs0OCwxMyBAQAogICAgICAgPFByZXByb2Nlc3NvckRl
ZmluaXRpb25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nl
c3NvckRlZmluaXRpb25zPgogICAgIDwvQ2xDb21waWxlPgogICA8L0l0ZW1EZWZpbml0aW9uR3Jv
dXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbikn
PT0nV2luZG93cyA4IFJlbGVhc2UnIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPEZhdm9yU2l6
ZU9yU3BlZWQ+U3BlZWQ8L0Zhdm9yU2l6ZU9yU3BlZWQ+CisgICAgICA8V2hvbGVQcm9ncmFtT3B0
aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KKyAgICAgIDxBZGRpdGlv
bmFsT3B0aW9ucz4vUXNwZWN0cmUgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRp
b25zPgorICAgIDwvQ2xDb21waWxlPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVt
R3JvdXA+CiAgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoVGFyZ2V0UGF0aCkiIC8+CiAg
ICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkucGRiIiAv
PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3hlbmRpc2sveGVuZGlzay52Y3hwcm9qIGIvdnMyMDE3L3hl
bmRpc2sveGVuZGlzay52Y3hwcm9qCmluZGV4IGRmYzljYzcuLmQ5ZGMwMWMgMTAwNjQ0Ci0tLSBh
L3ZzMjAxNy94ZW5kaXNrL3hlbmRpc2sudmN4cHJvagorKysgYi92czIwMTcveGVuZGlzay94ZW5k
aXNrLnZjeHByb2oKQEAgLTIzLDggKzIzLDkgQEAKICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURp
cmVjdG9yaWVzPi4uXC4uXGluY2x1ZGU7Li5cLi5cc3JjXGNvbW1vbjslKEFkZGl0aW9uYWxJbmNs
dWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgICAgPEJ1
ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CiAgICAgICA8UHJl
cHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVfXz0iWEVORElTSyI7UE9PTF9OWF9PUFRJTj0x
OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAg
ICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgogICAgICAg
PFdhcm5pbmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgotICAgICAgPERp
c2FibGVTcGVjaWZpY1dhcm5pbmdzPjQ0NjQ7NDU0ODs0NzExOzQ4MjA7NDY2ODs0MjU1OzYwMDE7
NjA1NDsyODE5NjszMDAzMDszMDAyOTslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJs
ZVNwZWNpZmljV2FybmluZ3M+CisgICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDQ2NDs0
NTQ4OzQ3NzA7NDcxMTs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7MzAwMzA7MzAwMjk7
JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgogICAg
ICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxh
dGlvbj4KICAgICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+CiAgICAgPC9D
bENvbXBpbGU+CkBAIC0zNCw3ICszNSw3IEBACiAgICAgPExpbms+CiAgICAgICA8SW1hZ2VIYXNT
YWZlRXhjZXB0aW9uSGFuZGxlcnM+ZmFsc2U8L0ltYWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJz
PgogICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChEREtfTElCX1BBVEgpL2xpYmNudHBy
LmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgot
ICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNPTURBVEZvbGRpbmc+Cisg
ICAgICA8TGlua1RpbWVDb2RlR2VuZXJhdGlvbj5Vc2VMaW5rVGltZUNvZGVHZW5lcmF0aW9uPC9M
aW5rVGltZUNvZGVHZW5lcmF0aW9uPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdy
b3VwPgogICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdX
aW4zMiciPgpAQCAtNDcsNiArNDgsMTMgQEAKICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9u
cz5fX3g4Nl82NF9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZp
bml0aW9ucz4KICAgICA8L0NsQ29tcGlsZT4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8
SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pJz09J1dpbmRv
d3MgOCBSZWxlYXNlJyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxGYXZvclNpemVPclNwZWVk
PlNwZWVkPC9GYXZvclNpemVPclNwZWVkPgorICAgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlv
bj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CisgICAgICA8QWRkaXRpb25hbE9wdGlv
bnM+L1FzcGVjdHJlICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KKyAg
ICA8L0NsQ29tcGlsZT4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgog
ICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKFRhcmdldFBhdGgpIiAvPgogICAgIDxGaWxl
c1RvUGFja2FnZSBJbmNsdWRlPSIkKE91dERpcikkKFRhcmdldE5hbWUpLnBkYiIgLz4KZGlmZiAt
LWdpdCBhL3ZzMjAxNy94ZW52YmQveGVudmJkLnZjeHByb2ogYi92czIwMTcveGVudmJkL3hlbnZi
ZC52Y3hwcm9qCmluZGV4IGQ3ODY3MmMuLjc0YWY1ZmMgMTAwNjQ0Ci0tLSBhL3ZzMjAxNy94ZW52
YmQveGVudmJkLnZjeHByb2oKKysrIGIvdnMyMDE3L3hlbnZiZC94ZW52YmQudmN4cHJvagpAQCAt
MjIsOCArMjIsOSBAQAogICAgIDxDbENvbXBpbGU+CiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVE
aXJlY3Rvcmllcz4kKFdpbmRvd3NTZGtEaXIpXGluY2x1ZGVca207Li5cLi5caW5jbHVkZTsuLlwu
LlxzcmNcY29tbW9uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJ
bmNsdWRlRGlyZWN0b3JpZXM+CiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RV
TEVfXz0iWEVOVkJEIjtQT09MX05YX09QVElOPTE7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8
L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVl
PC9JbnRyaW5zaWNGdW5jdGlvbnM+CiAgICAgICA8V2FybmluZ0xldmVsPkVuYWJsZUFsbFdhcm5p
bmdzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDQ2NDs0
NTQ4OzQ3MTE7NDgyMDs0NjY4OzQyNTU7NjAwMTs2MDU0OzI4MTYwOzI4MTk2OzMwMDMwOzMwMDI5
OyUoRGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4KKyAg
ICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40NDY0OzQ1NDg7NDc3MDs0NzExOzQ4MjA7NDY2
ODs0MjU1OzYwMDE7NjA1NDsyODE2MDsyODE5NjszMDAzMDszMDAyOTslKERpc2FibGVTcGVjaWZp
Y1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+CiAgICAgICA8TXVsdGlQcm9jZXNz
b3JDb21waWxhdGlvbj50cnVlPC9NdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPgogICAgICAgPEVu
YWJsZVBSRWZhc3Q+dHJ1ZTwvRW5hYmxlUFJFZmFzdD4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTMz
LDcgKzM0LDcgQEAKICAgICA8TGluaz4KICAgICAgIDxJbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5k
bGVycz5mYWxzZTwvSW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+CiAgICAgICA8QWRkaXRp
b25hbERlcGVuZGVuY2llcz4kKFByb2plY3REaXIpLi5cJChDb25maWd1cmF0aW9uTmFtZSlcJChQ
bGF0Zm9ybSlceGVuY3JzaC5saWI7JChEREtfTElCX1BBVEgpL3N0b3Jwb3J0LmxpYjskKERES19M
SUJfUEFUSCkvbGliY250cHIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9u
YWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8RW5hYmxlQ09NREFURm9sZGluZz5mYWxzZTwvRW5hYmxl
Q09NREFURm9sZGluZz4KKyAgICAgIDxMaW5rVGltZUNvZGVHZW5lcmF0aW9uPlVzZUxpbmtUaW1l
Q29kZUdlbmVyYXRpb248L0xpbmtUaW1lQ29kZUdlbmVyYXRpb24+CiAgICAgPC9MaW5rPgogICAg
IDxJbmY+CiAgICAgICA8U3BlY2lmeUFyY2hpdGVjdHVyZT50cnVlPC9TcGVjaWZ5QXJjaGl0ZWN0
dXJlPgpAQCAtNTgsNiArNTksMTMgQEAKICAgICAgIDxBcmNoaXRlY3R1cmU+YW1kNjQ8L0FyY2hp
dGVjdHVyZT4KICAgICA8L0luZj4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURl
ZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pJz09J1dpbmRvd3MgOCBS
ZWxlYXNlJyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxGYXZvclNpemVPclNwZWVkPlNwZWVk
PC9GYXZvclNpemVPclNwZWVkPgorICAgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVl
PC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CisgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L1Fz
cGVjdHJlICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KKyAgICA8L0Ns
Q29tcGlsZT4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxG
aWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKFRhcmdldFBhdGgpIiAvPgogICAgIDxGaWxlc1RvUGFj
a2FnZSBJbmNsdWRlPSIkKE91dERpcikkKFRhcmdldE5hbWUpLnBkYiIgLz4KLS0gCjIuNS4zCgoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Mon Jan 29 19:25:38 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Jan 2018 19:25:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egF3e-0003ue-0p; Mon, 29 Jan 2018 19:25:34 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1egF3c-0003uX-96
 for win-pv-devel@lists.xenproject.org; Mon, 29 Jan 2018 19:25:32 +0000
Date: Mon, 29 Jan 2018 19:25:37 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <17627006.5.1517253942149.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_4_30285444.1517253937071"
X-Jenkins-Job: XENNET-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENNET-master - Build #96 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_4_30285444.1517253937071
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #96.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENNET-master/96/console to view the results.
------=_Part_4_30285444.1517253937071
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_4_30285444.1517253937071--


From win-pv-devel-bounces@lists.xenproject.org Mon Jan 29 22:08:40 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Jan 2018 22:08:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egHbR-00078A-Pi; Mon, 29 Jan 2018 22:08:37 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1egHbQ-000784-IG
 for win-pv-devel@lists.xenproject.org; Mon, 29 Jan 2018 22:08:36 +0000
Date: Mon, 29 Jan 2018 22:08:41 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <32572344.7.1517263726545.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_6_17060590.1517263721389"
X-Jenkins-Job: XENVBD-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENVBD-master - Build #105 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_6_17060590.1517263721389
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #105.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENVBD-master/105/console to view the results.
------=_Part_6_17060590.1517263721389
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_6_17060590.1517263721389--


From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 02:05:52 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 02:05:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egLIy-0004ad-0V; Tue, 30 Jan 2018 02:05:48 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1egLIx-0004aX-JK
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 02:05:47 +0000
Date: Tue, 30 Jan 2018 02:05:52 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <19963646.9.1517277957740.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_8_32195877.1517277952677"
X-Jenkins-Job: XENVIF-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENVIF-master - Build #151 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_8_32195877.1517277952677
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #151.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENVIF-master/151/console to view the results.
------=_Part_8_32195877.1517277952677
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_8_32195877.1517277952677--


From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 02:32:37 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 02:32:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egLit-0006RI-Uj; Tue, 30 Jan 2018 02:32:35 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1egLis-0006R8-Iv
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 02:32:34 +0000
Date: Tue, 30 Jan 2018 02:32:39 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <32991247.11.1517279564756.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_10_12197350.1517279559647"
X-Jenkins-Job: XENVBD-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENVBD-master - Build #106 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_10_12197350.1517279559647
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #106.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENVBD-master/106/console to view the results.
------=_Part_10_12197350.1517279559647
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_10_12197350.1517279559647--


From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 10:16:42 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 10:16:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egSy1-00050B-2M; Tue, 30 Jan 2018 10:16:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=4jj6=ez=citrix.com=prvs=5611e4cd2=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egSy0-0004zq-5w
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 10:16:40 +0000
X-Inumbo-ID: b44a516d-05a6-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id b44a516d-05a6-11e8-b9b1-635ca7ef6cff;
 Tue, 30 Jan 2018 10:16:58 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,434,1511827200"; d="scan'208";a="460246462"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Tue, 30 Jan 2018 10:16:22 +0000
Message-ID: <1517307383-2396-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xeniface 1/2] Add support for building with
	Visual Studio 2017
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

QWxzbyByZW1vdmUgbWFwcGluZ3MgZm9yIG9ic29sZXRlIHZlcnNpb25zIG9mIFZTIGluIGJ1aWxk
LnB5LgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNv
bT4KLS0tCiBidWlsZC5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICA0NiArKysrKy0tLQogbXNidWlsZC5iYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgMTAgKy0KIHZzMjAxNy9jb25maWdzLnByb3BzICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgIDQ1ICsrKysrKysKIHZzMjAxNy9wYWNrYWdlL3BhY2thZ2UudmN4
cHJvaiAgICAgICAgICAgICAgICAgICAgIHwgIDUzICsrKysrKysrKwogdnMyMDE3L3BhY2thZ2Uv
cGFja2FnZS52Y3hwcm9qLnVzZXIgICAgICAgICAgICAgICAgfCAgIDggKysKIHZzMjAxNy90YXJn
ZXRzLnByb3BzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDM1ICsrKysrKwogdnMy
MDE3L3hlbmFnZW50L3hlbmFnZW50LnZjeHByb2ogICAgICAgICAgICAgICAgICAgfCAgODMgKysr
KysrKysrKysrKwogdnMyMDE3L3hlbmFnZW50L3hlbmFnZW50LnZjeHByb2oudXNlciAgICAgICAg
ICAgICAgfCAgIDQgKwogdnMyMDE3L3hlbmlmYWNlLnNsbiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAxMzAgKysrKysrKysrKysrKysrKysrKysrCiB2czIwMTcveGVuaWZhY2UveGVu
aWZhY2UudmN4cHJvaiAgICAgICAgICAgICAgICAgICB8ICA5NyArKysrKysrKysrKysrKysKIHZz
MjAxNy94ZW5pZmFjZS94ZW5pZmFjZS52Y3hwcm9qLnVzZXIgICAgICAgICAgICAgIHwgICA4ICsr
CiB2czIwMTcveGVuaWZhY2VfY29pbnN0L3hlbmlmYWNlX2NvaW5zdC52Y3hwcm9qICAgICB8ICA2
MCArKysrKysrKysrCiAuLi4veGVuaWZhY2VfY29pbnN0L3hlbmlmYWNlX2NvaW5zdC52Y3hwcm9q
LnVzZXIgICB8ICAgOCArKwogMTMgZmlsZXMgY2hhbmdlZCwgNTY3IGluc2VydGlvbnMoKyksIDIw
IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy9jb25maWdzLnByb3BzCiBj
cmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qCiBjcmVhdGUg
bW9kZSAxMDA2NDQgdnMyMDE3L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qLnVzZXIKIGNyZWF0ZSBt
b2RlIDEwMDY0NCB2czIwMTcvdGFyZ2V0cy5wcm9wcwogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAx
Ny94ZW5hZ2VudC94ZW5hZ2VudC52Y3hwcm9qCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3hl
bmFnZW50L3hlbmFnZW50LnZjeHByb2oudXNlcgogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy94
ZW5pZmFjZS5zbG4KIGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcveGVuaWZhY2UveGVuaWZhY2Uu
dmN4cHJvagogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy94ZW5pZmFjZS94ZW5pZmFjZS52Y3hw
cm9qLnVzZXIKIGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcveGVuaWZhY2VfY29pbnN0L3hlbmlm
YWNlX2NvaW5zdC52Y3hwcm9qCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3hlbmlmYWNlX2Nv
aW5zdC94ZW5pZmFjZV9jb2luc3QudmN4cHJvai51c2VyCgpkaWZmIC0tZ2l0IGEvYnVpbGQucHkg
Yi9idWlsZC5weQppbmRleCAzYjY0YWM2Li44Yzg3OTY2IDEwMDc1NQotLS0gYS9idWlsZC5weQor
KysgYi9idWlsZC5weQpAQCAtMTkxLDE4ICsxOTEsMjggQEAgZGVmIHNoZWxsKGNvbW1hbmQsIGRp
cik6CiAgICAgcmV0dXJuIHN1Yi5yZXR1cm5jb2RlCiAKIAorZGVmIGZpbmQobmFtZSwgcGF0aCk6
CisgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsocGF0aCk6CisgICAgICAgIGlm
IG5hbWUgaW4gZmlsZXM6CisgICAgICAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKHJvb3QsIG5h
bWUpCisKKwogY2xhc3MgbXNidWlsZF9mYWlsdXJlKEV4Y2VwdGlvbik6CiAgICAgZGVmIF9faW5p
dF9fKHNlbGYsIHZhbHVlKToKICAgICAgICAgc2VsZi52YWx1ZSA9IHZhbHVlCiAgICAgZGVmIF9f
c3RyX18oc2VsZik6CiAgICAgICAgIHJldHVybiByZXByKHNlbGYudmFsdWUpCiAKKwogZGVmIG1z
YnVpbGQocGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIHRhcmdldCwgZmlsZSwgYXJncywgZGlyKToK
LSAgICBvcy5lbnZpcm9uWydQTEFURk9STSddID0gcGxhdGZvcm0KLSAgICBvcy5lbnZpcm9uWydD
T05GSUdVUkFUSU9OJ10gPSBjb25maWd1cmF0aW9uCi0gICAgb3MuZW52aXJvblsnVEFSR0VUJ10g
PSB0YXJnZXQKLSAgICBvcy5lbnZpcm9uWydGSUxFJ10gPSBmaWxlCi0gICAgb3MuZW52aXJvblsn
RVhUUkEnXSA9IGFyZ3MKKyAgICB2Y3ZhcnNhbGwgPSBmaW5kKCd2Y3ZhcnNhbGwuYmF0Jywgb3Mu
ZW52aXJvblsnVlMnXSkKKworICAgIG9zLmVudmlyb25bJ01TQlVJTERfUExBVEZPUk0nXSA9IHBs
YXRmb3JtCisgICAgb3MuZW52aXJvblsnTVNCVUlMRF9DT05GSUdVUkFUSU9OJ10gPSBjb25maWd1
cmF0aW9uCisgICAgb3MuZW52aXJvblsnTVNCVUlMRF9UQVJHRVQnXSA9IHRhcmdldAorICAgIG9z
LmVudmlyb25bJ01TQlVJTERfRklMRSddID0gZmlsZQorICAgIG9zLmVudmlyb25bJ01TQlVJTERf
RVhUUkEnXSA9IGFyZ3MKKyAgICBvcy5lbnZpcm9uWydNU0JVSUxEX1ZDVkFSU0FMTCddID0gdmN2
YXJzYWxsCiAKICAgICBiaW4gPSBvcy5wYXRoLmpvaW4ob3MuZ2V0Y3dkKCksICdtc2J1aWxkLmJh
dCcpCiAKQEAgLTIyMCw4ICsyMzAsNiBAQCBkZWYgYnVpbGRfc2xuKG5hbWUsIHJlbGVhc2UsIGFy
Y2gsIGRlYnVnLCB2cyk6CiAgICAgZWxpZiBhcmNoID09ICd4NjQnOgogICAgICAgICBwbGF0Zm9y
bSA9ICd4NjQnCiAKLSAgICBjd2QgPSBvcy5nZXRjd2QoKQotCiAgICAgbXNidWlsZChwbGF0Zm9y
bSwgY29uZmlndXJhdGlvbiwgJ0J1aWxkJywgbmFtZSArICcuc2xuJywgJycsIHZzKQogCiBkZWYg
Y29weV9wYWNrYWdlKG5hbWUsIHJlbGVhc2UsIGFyY2gsIGRlYnVnLCB2cyk6CkBAIC0zNzUsMjQg
KzM4MywyNSBAQCBkZWYgYXJjaGl2ZShmaWxlbmFtZSwgZmlsZXMsIHRnej1GYWxzZSk6CiAgICAg
ICAgICAgICBwYXNzCiAgICAgdGFyLmNsb3NlKCkKIAorCiBkZWYgZ2V0VnNWZXJzaW9uKCk6Ci0g
ICAgdnNlbnYgPXt9IAotICAgIHZhcnMgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChbb3MuZW52
aXJvblsnVlMnXSsnXFxWQ1xcdmN2YXJzYWxsLmJhdCcsIAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICcmJicsICdzZXQnXSwgCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzaGVsbD1UcnVlKQorICAgIHZzZW52ID0ge30KKyAgICB2Y3ZhcnNhbGw9
IGZpbmQoJ3ZjdmFyc2FsbC5iYXQnLCBvcy5lbnZpcm9uWydWUyddKQorCisgICAgdmFycyA9IHN1
YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFt2Y3ZhcnNhbGwsICd4ODZfYW1kNjQnLCAnJiYnLCAnc2V0
J10sIHNoZWxsPVRydWUpCisKICAgICBmb3IgdmFyIGluIHZhcnMuc3BsaXRsaW5lcygpOgogICAg
ICAgICBrLCBfLCB2ID0gbWFwKHN0ci5zdHJpcCwgdmFyLnN0cmlwKCkuZGVjb2RlKCd1dGYtOCcp
LnBhcnRpdGlvbignPScpKQogICAgICAgICBpZiBrLnN0YXJ0c3dpdGgoJz8nKToKICAgICAgICAg
ICAgIGNvbnRpbnVlCiAgICAgICAgIHZzZW52W2tdID0gdgogCi0gICAgbWFwcGluZyA9IHsgJzEx
LjAnOid2czIwMTInLAotICAgICAgICAgICAgICAgICcxMi4wJzondnMyMDEzJywKLSAgICAgICAg
ICAgICAgICAnMTQuMCc6J3ZzMjAxNScgfQorICAgIG1hcHBpbmcgPSB7ICcxNC4wJzondnMyMDE1
JywKKyAgICAgICAgICAgICAgICAnMTUuMCc6J3ZzMjAxNyd9CiAKICAgICByZXR1cm4gbWFwcGlu
Z1t2c2VudlsnVmlzdWFsU3R1ZGlvVmVyc2lvbiddXQogCi1pZiBfX25hbWVfXyA9PSAnX19tYWlu
X18nOgorZGVmIG1haW4oKToKICAgICBkZWJ1ZyA9IHsgJ2NoZWNrZWQnOiBUcnVlLCAnZnJlZSc6
IEZhbHNlIH0KICAgICBzZHYgPSB7ICdub3Nkdic6IEZhbHNlLCBOb25lOiBUcnVlIH0KICAgICBk
cml2ZXIgPSAneGVuaWZhY2UnCkBAIC00NDYsOSArNDU1LDggQEAgaWYgX19uYW1lX18gPT0gJ19f
bWFpbl9fJzoKIAogICAgIHN5bXN0b3JlX2RlbChkcml2ZXIsIDMwKQogCi0gICAgcmVsZWFzZSA9
IHsgJ3ZzMjAxMic6J1dpbmRvd3MgVmlzdGEnLAotICAgICAgICAgICAgICAgICd2czIwMTMnOidX
aW5kb3dzIDcnLAotICAgICAgICAgICAgICAgICd2czIwMTUnOidXaW5kb3dzIDgnIH0KKyAgICBy
ZWxlYXNlID0geyAndnMyMDE1JzonV2luZG93cyA4JywKKyAgICAgICAgICAgICAgICAndnMyMDE3
JzonV2luZG93cyA4JyB9CiAKICAgICBzaHV0aWwucm10cmVlKGRyaXZlciwgaWdub3JlX2Vycm9y
cz1UcnVlKQogCkBAIC00NjcsMyArNDc1LDUgQEAgaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoK
ICAgICBhcmNoaXZlKGRyaXZlciArICdcXHNvdXJjZS50Z3onLCBtYW5pZmVzdCgpLnNwbGl0bGlu
ZXMoKSwgdGd6PVRydWUpCiAgICAgYXJjaGl2ZShkcml2ZXIgKyAnLnRhcicsIFtkcml2ZXIsJ3Jl
dmlzaW9uJ10pCiAKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgbWFpbigpCmRpZmYg
LS1naXQgYS9tc2J1aWxkLmJhdCBiL21zYnVpbGQuYmF0CmluZGV4IGY5ZmNlZWMuLmEyOGY5Mzkg
MTAwNzU1Ci0tLSBhL21zYnVpbGQuYmF0CisrKyBiL21zYnVpbGQuYmF0CkBAIC0xLDQgKzEsMTAg
QEAKLWNhbGwgIiVWUyVcVkNcdmN2YXJzYWxsLmJhdCIgeDg2CitzZXQgTVNCVUlMRF9ST09UPSVj
ZCUKK2NhbGwgIiVNU0JVSUxEX1ZDVkFSU0FMTCUiIHg4Nl9hbWQ2NAogQGVjaG8gb24KLW1zYnVp
bGQuZXhlIC9wOkNvbmZpZ3VyYXRpb249IiVDT05GSUdVUkFUSU9OJSIgL3A6UGxhdGZvcm09IiVQ
TEFURk9STSUiIC90OiIlVEFSR0VUJSIgJUVYVFJBJSAlRklMRSUKK2NkICIlTVNCVUlMRF9ST09U
JSIKK21zYnVpbGQuZXhlIC9tOjEgL3A6Q29uZmlndXJhdGlvbj0iJU1TQlVJTERfQ09ORklHVVJB
VElPTiUiIC9wOlBsYXRmb3JtPSIlTVNCVUlMRF9QTEFURk9STSUiIC90OiIlTVNCVUlMRF9UQVJH
RVQlIiAlTVNCVUlMRF9FWFRSQSUgJU1TQlVJTERfRklMRSUKK2lmIGVycm9ybGV2ZWwgMSBnb3Rv
IGVycm9yCitleGl0IDAKIAorOmVycm9yCitleGl0IDEKZGlmZiAtLWdpdCBhL3ZzMjAxNy9jb25m
aWdzLnByb3BzIGIvdnMyMDE3L2NvbmZpZ3MucHJvcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uY2RiYjNjOAotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy9jb25maWdzLnBy
b3BzCkBAIC0wLDAgKzEsNDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04
Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTIuMCIg
eG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAw
MyI+CisJPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKwkJPFByb2pl
Y3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgMTAgRGVidWd8V2luMzIiPgorCQkJPENv
bmZpZ3VyYXRpb24+V2luZG93cyAxMCBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKwkJCTxQbGF0Zm9y
bT5XaW4zMjwvUGxhdGZvcm0+CisJCQk8V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4xMDwv
V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KKwkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4K
KwkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgMTAgUmVsZWFzZXxXaW4z
MiI+CisJCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDEwIFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+
CisJCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorCQkJPFdpbmRvd3NUYXJnZXRQbGF0Zm9y
bVZlcnNpb24+MTA8L1dpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+CisJCTwvUHJvamVjdENv
bmZpZ3VyYXRpb24+CisJCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDEw
IERlYnVnfHg2NCI+CisJCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDEwIERlYnVnPC9Db25maWd1
cmF0aW9uPgorCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisJCQk8V2luZG93c1RhcmdldFBs
YXRmb3JtVmVyc2lvbj4xMDwvV2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KKwkJPC9Qcm9q
ZWN0Q29uZmlndXJhdGlvbj4KKwkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRv
d3MgMTAgUmVsZWFzZXx4NjQiPgorCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyAxMCBSZWxlYXNl
PC9Db25maWd1cmF0aW9uPgorCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisJCQk8V2luZG93
c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4xMDwvV2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4K
KwkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKwkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1
ZGU9IldpbmRvd3MgOCBEZWJ1Z3xXaW4zMiI+CisJCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDgg
RGVidWc8L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorCQkJ
PFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+OC4xPC9XaW5kb3dzVGFyZ2V0UGxhdGZvcm1W
ZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCQk8UHJvamVjdENvbmZpZ3VyYXRp
b24gSW5jbHVkZT0iV2luZG93cyA4IFJlbGVhc2V8V2luMzIiPgorCQkJPENvbmZpZ3VyYXRpb24+
V2luZG93cyA4IFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+V2luMzI8L1Bs
YXRmb3JtPgorCQkJPFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+OC4xPC9XaW5kb3dzVGFy
Z2V0UGxhdGZvcm1WZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCQk8UHJvamVj
dENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA4IERlYnVnfHg2NCI+CisJCQk8Q29uZmln
dXJhdGlvbj5XaW5kb3dzIDggRGVidWc8L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+eDY0
PC9QbGF0Zm9ybT4KKwkJCTxXaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPjguMTwvV2luZG93
c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KKwkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKwkJPFBy
b2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgOCBSZWxlYXNlfHg2NCI+CisJCQk8
Q29uZmlndXJhdGlvbj5XaW5kb3dzIDggUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKwkJCTxQbGF0
Zm9ybT54NjQ8L1BsYXRmb3JtPgorCQkJPFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+OC4x
PC9XaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9u
PgorCTwvSXRlbUdyb3VwPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3BhY2thZ2Uv
cGFja2FnZS52Y3hwcm9qIGIvdnMyMDE3L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2NDUxMWIKLS0tIC9kZXYvbnVsbAorKysgYi92
czIwMTcvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oKQEAgLTAsMCArMSw1MyBAQAorPD94bWwgdmVy
c2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJC
dWlsZCIgVG9vbHNWZXJzaW9uPSIxNS4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0
LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEltcG9ydCBQcm9qZWN0PSIuLlxjb25m
aWdzLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgor
ICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXIxMC4wPC9QbGF0Zm9y
bVRvb2xzZXQ+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPlV0aWxpdHk8L0NvbmZpZ3VyYXRpb25U
eXBlPgorICAgIDxEcml2ZXJUeXBlPlBhY2thZ2U8L0RyaXZlclR5cGU+CisgICAgPERpc2FibGVG
YXN0VXBUb0RhdGVDaGVjaz50cnVlPC9EaXNhYmxlRmFzdFVwVG9EYXRlQ2hlY2s+CisgICAgPFN1
cHBvcnRzUGFja2FnaW5nPnRydWU8L1N1cHBvcnRzUGFja2FnaW5nPgorICAgIDxEcml2ZXJUYXJn
ZXRQbGF0Zm9ybT5EZXNrdG9wPC9Ecml2ZXJUYXJnZXRQbGF0Zm9ybT4KKyAgPC9Qcm9wZXJ0eUdy
b3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5E
ZWZhdWx0LnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAg
PFByb2plY3RHdWlkPns5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9PC9Qcm9q
ZWN0R3VpZD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdl
dHMucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3Nv
ZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8RW5hYmxlSW5mMmNhdD50
cnVlPC9FbmFibGVJbmYyY2F0PgorICAgIDxJbmYyQ2F0V2luZG93c1ZlcnNpb25MaXN0IENvbmRp
dGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPjhfeDY0O1NlcnZlcjhfeDY0OzEwX3g2NDtTZXJ2
ZXIxMF94NjQ8L0luZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3Q+CisgICAgPEluZjJDYXRXaW5kb3dz
VmVyc2lvbkxpc3QgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIj44X3g4NjsxMF94
ODY8L0luZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3Q+CisgICAgPERlYnVnZ2VyRmxhdm9yPkRiZ2Vu
Z0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4KKyAgICA8RW5hYmxlRGVwbG95bWVudD5G
YWxzZTwvRW5hYmxlRGVwbG95bWVudD4KKyAgICA8SW1wb3J0VG9TdG9yZT5GYWxzZTwvSW1wb3J0
VG9TdG9yZT4KKyAgICA8SW5zdGFsbE1vZGU+Tm9uZTwvSW5zdGFsbE1vZGU+CisgICAgPFNjcmlw
dERldmljZVF1ZXJ5PiVQYXRoVG9JbmYlPC9TY3JpcHREZXZpY2VRdWVyeT4KKyAgICA8RW5hYmxl
VmVyaWZpZXI+RmFsc2U8L0VuYWJsZVZlcmlmaWVyPgorICAgIDxBbGxEcml2ZXJzPkZhbHNlPC9B
bGxEcml2ZXJzPgorICAgIDxWZXJpZnlQcm9qZWN0T3V0cHV0PlRydWU8L1ZlcmlmeVByb2plY3RP
dXRwdXQ+CisgICAgPFZlcmlmeURyaXZlcnMgLz4KKyAgICA8VmVyaWZ5RmxhZ3M+MTMzNTYzPC9W
ZXJpZnlGbGFncz4KKyAgICA8SW50RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJhdGlv
bk5hbWUpXCQoUGxhdGZvcm0pXDwvSW50RGlyPgorICAgIDxPdXREaXI+Li5cJChDb25maWd1cmF0
aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9PdXREaXI+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0
ZW1Hcm91cD4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlx4ZW5pZmFjZVx4ZW5p
ZmFjZS52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0PnsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0z
MzIwMTc5N0M3RDh9PC9Qcm9qZWN0PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgICA8UHJv
amVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlx4ZW5pZmFjZV9jb2luc3RceGVuaWZhY2VfY29pbnN0
LnZjeHByb2oiPgorICAgICAgPFByb2plY3Q+ezg1YzczMWFkLTJlYTItNDA0OS1hNTQyLWQyZDM4
ZWRlOTM4Y308L1Byb2plY3Q+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICAgIDxQcm9qZWN0
UmVmZXJlbmNlIEluY2x1ZGU9Ii4uXHhlbmFnZW50XHhlbmFnZW50LnZjeHByb2oiPgorICAgICAg
PFByb2plY3Q+ezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn08L1Byb2plY3Q+
CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4K
KyAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChEUElOU1RfUkVESVNUKVx4ODZcZHBpbnN0
LmV4ZSIgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIiAvPgorICAgIDxGaWxlc1Rv
UGFja2FnZSBJbmNsdWRlPSIkKERQSU5TVF9SRURJU1QpXHg2NFxkcGluc3QuZXhlIiBDb25kaXRp
b249IickKFBsYXRmb3JtKSc9PSd4NjQnIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEltcG9ydCBQ
cm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKyAgPElt
cG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KKyAgPC9JbXBvcnRHcm91cD4KKzwv
UHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxNy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2Vy
IGIvdnMyMDE3L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qLnVzZXIKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uOGZjYzkyZQotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy9wYWNr
YWdlL3BhY2thZ2UudmN4cHJvai51c2VyCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iMTUuMCIgeG1s
bnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+
CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxTaWduTW9kZT5UZXN0U2lnbjwvU2lnbk1vZGU+Cisg
ICAgPFRlc3RDZXJ0aWZpY2F0ZT4uLlwuLlxzcmNceGVuaWZhY2UucGZ4PC9UZXN0Q2VydGlmaWNh
dGU+CisgICAgPFRpbWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9z
Y3JpcHRzL3RpbXN0YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgorICA8L1Byb3BlcnR5R3JvdXA+
Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTcvdGFyZ2V0cy5wcm9wcyBiL3ZzMjAxNy90
YXJnZXRzLnByb3BzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0NTk4ZmMK
LS0tIC9kZXYvbnVsbAorKysgYi92czIwMTcvdGFyZ2V0cy5wcm9wcwpAQCAtMCwwICsxLDM1IEBA
Cis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVs
dFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjEyLjAiIHhtbG5zPSJodHRwOi8vc2NoZW1h
cy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorCTxQcm9wZXJ0eUdyb3Vw
IExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1dpbmRvd3MgMTAgRGVidWd8V2luMzInIj4KKwkJPFRhcmdldFZlcnNpb24+V2lu
ZG93czEwPC9UYXJnZXRWZXJzaW9uPgorCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVi
dWdMaWJyYXJpZXM+CisJPC9Qcm9wZXJ0eUdyb3VwPgorCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJD
b25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1dpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMiciPgorCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzMTA8
L1RhcmdldFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJy
YXJpZXM+CisJPC9Qcm9wZXJ0eUdyb3VwPgorCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1
cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRv
d3MgMTAgRGVidWd8eDY0JyI+CisJCTxUYXJnZXRWZXJzaW9uPldpbmRvd3MxMDwvVGFyZ2V0VmVy
c2lvbj4KKwkJPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPgorCTwv
UHJvcGVydHlHcm91cD4KKwk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDEwIFJlbGVh
c2V8eDY0JyI+CisJCTxUYXJnZXRWZXJzaW9uPldpbmRvd3MxMDwvVGFyZ2V0VmVyc2lvbj4KKwkJ
PFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KKwk8L1Byb3BlcnR5
R3JvdXA+CisJPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IERlYnVnfFdpbjMyJyI+
CisJCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRWZXJzaW9uPgorCQk8VXNlRGVidWdM
aWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+CisJPC9Qcm9wZXJ0eUdyb3VwPgorCTxQ
cm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBSZWxlYXNlfFdpbjMyJyI+CisJCTxUYXJn
ZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRWZXJzaW9uPgorCQk8VXNlRGVidWdMaWJyYXJpZXM+
ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgorCTwvUHJvcGVydHlHcm91cD4KKwk8UHJvcGVydHlH
cm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggRGVidWd8eDY0JyI+CisJCTxUYXJnZXRWZXJzaW9uPldp
bmRvd3M4PC9UYXJnZXRWZXJzaW9uPgorCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVi
dWdMaWJyYXJpZXM+CisJPC9Qcm9wZXJ0eUdyb3VwPgorCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJD
b25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1dpbmRvd3MgOCBSZWxlYXNlfHg2NCciPgorCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwvVGFy
Z2V0VmVyc2lvbj4KKwkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmll
cz4KKwk8L1Byb3BlcnR5R3JvdXA+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTcveGVu
YWdlbnQveGVuYWdlbnQudmN4cHJvaiBiL3ZzMjAxNy94ZW5hZ2VudC94ZW5hZ2VudC52Y3hwcm9q
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhOGVhNzIKLS0tIC9kZXYvbnVs
bAorKysgYi92czIwMTcveGVuYWdlbnQveGVuYWdlbnQudmN4cHJvagpAQCAtMCwwICsxLDgzIEBA
Cis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVs
dFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjE1LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1h
cy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SW1wb3J0IFByb2pl
Y3Q9Ii4uXGNvbmZpZ3MucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJQcm9wZXJ0
eVNoZWV0cyI+CisgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAg
ICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnMxMC4wPC9QbGF0
Zm9ybVRvb2xzZXQ+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1
cmF0aW9uVHlwZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNU
YXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorICA8UHJvcGVydHlH
cm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPnsyRTYxRDJDQy04NjVFLTQ0
MkMtOEM4My1COERBRkQ3QkJEM0J9PC9Qcm9qZWN0R3VpZD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgor
ICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVj
dD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlH
cm91cD4KKyAgICA8SW5jbHVkZVBhdGg+JChJbmNsdWRlUGF0aCk8L0luY2x1ZGVQYXRoPgorICAg
IDxSdW5Db2RlQW5hbHlzaXM+dHJ1ZTwvUnVuQ29kZUFuYWx5c2lzPgorICAgIDxFbmFibGVJbmYy
Y2F0PmZhbHNlPC9FbmFibGVJbmYyY2F0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxQcm9wZXJ0
eUdyb3VwPgorICAgIDxDdXN0b21CdWlsZEFmdGVyVGFyZ2V0cz5MaW5rPC9DdXN0b21CdWlsZEFm
dGVyVGFyZ2V0cz4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4K
KyAgICA8Q2xDb21waWxlPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChT
b2x1dGlvbkRpcikuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0Fk
ZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlv
bnM+V0lOMzI7X1dJTkRPV1M7X0NSVF9TRUNVUkVfTk9fV0FSTklOR1M7X19NT0RVTEVfXz0iWEVO
QUdFTlQiOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9u
cz4KKyAgICAgIDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4K
KyAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40MTI3OzQzNTA7NDM2NTs0NTcxOzQ2MjU7
NDYyNjs0NzExOzQ3NzQ7NDU0ODs0ODIwOzQ2Njg7NDI1NTs1MDI2OzUwMjc7NTAzODs1MDM5OzYw
MDE7NjA1NDsyODE5NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmlj
V2FybmluZ3M+CisgICAgICA8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50cnVlPC9NdWx0aVBy
b2Nlc3NvckNvbXBpbGF0aW9uPgorICAgICAgPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwvRW5hYmxlUFJF
ZmFzdD4KKyAgICAgIDxSdW50aW1lTGlicmFyeSBDb25kaXRpb249IickKFVzZURlYnVnTGlicmFy
aWVzKSc9PSd0cnVlJyI+TXVsdGlUaHJlYWRlZERlYnVnPC9SdW50aW1lTGlicmFyeT4KKyAgICAg
IDxSdW50aW1lTGlicmFyeSBDb25kaXRpb249IickKFVzZURlYnVnTGlicmFyaWVzKSc9PSdmYWxz
ZSciPk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgorICAgIDwvQ2xDb21waWxlPgorICAg
IDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+cG93cnByb2YubGliOyUoQWRk
aXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgPC9MaW5r
PgorICAgIDxSZXNvdXJjZUNvbXBpbGU+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rv
cmllcz4kKFNvbHV0aW9uRGlyKS4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9y
aWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICA8L1Jlc291cmNlQ29tcGls
ZT4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25k
aXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8
UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19pMzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9u
cyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgIDwvQ2xDb21waWxlPgorICAgIDxDdXN0
b21CdWlsZFN0ZXA+CisgICAgICA8T3V0cHV0cz4kKFRhcmdldERpcikkKFRhcmdldE5hbWUpLmRs
bDwvT3V0cHV0cz4KKyAgICAgIDxJbnB1dHM+JChJbnREaXIpJChUYXJnZXROYW1lKS5yZXM8L0lu
cHV0cz4KKyAgICAgIDxDb21tYW5kPmxpbmsgLW1hY2hpbmU6eDg2IC1kbGwgLW5vZW50cnkgLW91
dDolKE91dHB1dHMpICUoSW5wdXRzKTwvQ29tbWFuZD4KKyAgICA8L0N1c3RvbUJ1aWxkU3RlcD4K
KyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRp
b249IickKFBsYXRmb3JtKSc9PSd4NjQnIj4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPFByZXBy
b2Nlc3NvckRlZmluaXRpb25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8
L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgIDwvQ2xDb21waWxlPgorICAgIDxDdXN0b21C
dWlsZFN0ZXA+CisgICAgICA8T3V0cHV0cz4kKFRhcmdldERpcikkKFRhcmdldE5hbWUpLmRsbDwv
T3V0cHV0cz4KKyAgICAgIDxJbnB1dHM+JChJbnREaXIpJChUYXJnZXROYW1lKS5yZXM8L0lucHV0
cz4KKyAgICAgIDxDb21tYW5kPmxpbmsgLW1hY2hpbmU6eDY0IC1kbGwgLW5vZW50cnkgLW91dDol
KE91dHB1dHMpICUoSW5wdXRzKTwvQ29tbWFuZD4KKyAgICA8L0N1c3RvbUJ1aWxkU3RlcD4KKyAg
PC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxGaWxlc1RvUGFja2Fn
ZSBJbmNsdWRlPSIkKFRhcmdldFBhdGgpIiAvPgorICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRl
PSIkKE91dERpcikkKFRhcmdldE5hbWUpLnBkYiIgLz4KKyAgICA8RmlsZXNUb1BhY2thZ2UgSW5j
bHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5kbGwiIC8+CisgICAgPEZpbGVzVG9QYWNrYWdl
IEluY2x1ZGU9IkAoSW5mLT4nJShDb3B5T3V0cHV0KScpIiBDb25kaXRpb249IidAKEluZiknIT0n
JyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPE1lc3NhZ2VDb21waWxl
IEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5hZ2VudFxtZXNzYWdlcy5tYyIgLz4KKyAgPC9JdGVtR3Jv
dXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVu
YWdlbnRcc2VydmljZS5jcHAiLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4
ZW5hZ2VudFxkZXZpY2VsaXN0LmNwcCIvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5c
c3JjXHhlbmFnZW50XHhlbmlmYWNlZGV2aWNlLmNwcCIvPgorICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cLi5cc3JjXHhlbmFnZW50XGNvbnZkZXZpY2UuY3BwIi8+CisgIDwvSXRlbUdyb3VwPgor
ICA8SXRlbUdyb3VwPgorICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhl
bmFnZW50XHhlbmFnZW50LnJjIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAg
ICA8SW1hZ2UgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmFnZW50XHhlbi5pY28iIC8+CisgIDwvSXRl
bUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNw
cC50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3hlbmFnZW50L3hl
bmFnZW50LnZjeHByb2oudXNlciBiL3ZzMjAxNy94ZW5hZ2VudC94ZW5hZ2VudC52Y3hwcm9qLnVz
ZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTEwY2E4YQotLS0gL2Rldi9u
dWxsCisrKyBiL3ZzMjAxNy94ZW5hZ2VudC94ZW5hZ2VudC52Y3hwcm9qLnVzZXIKQEAgLTAsMCAr
MSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3Qg
VG9vbHNWZXJzaW9uPSIxNS4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9k
ZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPFByb3BlcnR5R3JvdXAgLz4KKzwvUHJvamVjdD4K
ZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW5pZmFjZS5zbG4gYi92czIwMTcveGVuaWZhY2Uuc2xuCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0MGYwNzEKLS0tIC9kZXYvbnVsbAor
KysgYi92czIwMTcveGVuaWZhY2Uuc2xuCkBAIC0wLDAgKzEsMTMwIEBACitNaWNyb3NvZnQgVmlz
dWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiAxMi4wMAorIyBWaXN1YWwg
U3R1ZGlvIDE0CitWaXN1YWxTdHVkaW9WZXJzaW9uID0gMTQuMC4yNTQyMC4xCitNaW5pbXVtVmlz
dWFsU3R1ZGlvVmVyc2lvbiA9IDEwLjAuNDAyMTkuMQorUHJvamVjdCgiezhCQzlDRUI4LThCNEEt
MTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4ZW5pZmFjZV9jb2luc3QiLCAieGVuaWZhY2Vf
Y29pbnN0XHhlbmlmYWNlX2NvaW5zdC52Y3hwcm9qIiwgIns4NUM3MzFBRC0yRUEyLTQwNDktQTU0
Mi1EMkQzOEVERTkzOEN9IgorRW5kUHJvamVjdAorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFE
MC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4ZW5pZmFjZSIsICJ4ZW5pZmFjZVx4ZW5pZmFjZS52
Y3hwcm9qIiwgInsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9IgorRW5kUHJv
amVjdAorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9
ICJ4ZW5hZ2VudCIsICJ4ZW5hZ2VudFx4ZW5hZ2VudC52Y3hwcm9qIiwgInsyRTYxRDJDQy04NjVF
LTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9IgorRW5kUHJvamVjdAorUHJvamVjdCgiezhCQzlDRUI4
LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJwYWNrYWdlIiwgInBhY2thZ2VccGFj
a2FnZS52Y3hwcm9qIiwgIns5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9Igor
CVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QKKwkJezIy
MTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0gPSB7MjIxNjYyOTAtNjVEOC00OUQy
LUJCODgtMzMyMDE3OTdDN0Q4fQorCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5
MzhDfSA9IHs4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9CisJCXsyRTYxRDJD
Qy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9ID0gezJFNjFEMkNDLTg2NUUtNDQyQy04Qzgz
LUI4REFGRDdCQkQzQn0KKwlFbmRQcm9qZWN0U2VjdGlvbgorRW5kUHJvamVjdAorR2xvYmFsCisJ
R2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29sdXRp
b24KKwkJV2luZG93cyA4IERlYnVnfFdpbjMyID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCVdp
bmRvd3MgOCBEZWJ1Z3x4NjQgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCVdpbmRvd3MgOCBSZWxl
YXNlfFdpbjMyID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKKwkJV2luZG93cyA4IFJlbGVhc2V8
eDY0ID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCVdpbmRvd3MgMTAgRGVidWd8V2luMzIgPSBX
aW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCVdpbmRvd3MgMTAgRGVidWd8eDY0ID0gV2luZG93cyAx
MCBEZWJ1Z3x4NjQKKwkJV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyID0gV2luZG93cyAxMCBSZWxl
YXNlfFdpbjMyCisJCVdpbmRvd3MgMTAgUmVsZWFzZXx4NjQgPSBXaW5kb3dzIDEwIFJlbGVhc2V8
eDY0CisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRp
b25QbGF0Zm9ybXMpID0gcG9zdFNvbHV0aW9uCisJCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1E
MkQzOEVERTkzOEN9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDgg
RGVidWd8V2luMzIKKwkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2lu
ZG93cyA4IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKKwkJezg1
QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyA4IERlYnVnfFdpbjMy
LkRlcGxveS4wID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCXs4NUM3MzFBRC0yRUEyLTQwNDkt
QTU0Mi1EMkQzOEVERTkzOEN9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93
cyA4IERlYnVnfHg2NAorCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5X
aW5kb3dzIDggRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCXs4NUM3
MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuRGVw
bG95LjAgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1E
MkQzOEVERTkzOEN9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3Mg
OCBSZWxlYXNlfFdpbjMyCisJCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9
LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4z
MgorCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5XaW5kb3dzIDggUmVs
ZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCisJCXs4NUM3MzFB
RC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5BY3Rp
dmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKKwkJezg1QzczMUFELTJFQTItNDA0OS1BNTQy
LUQyRDM4RURFOTM4Q30uV2luZG93cyA4IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDgg
UmVsZWFzZXx4NjQKKwkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2lu
ZG93cyA4IFJlbGVhc2V8eDY0LkRlcGxveS4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXs4
NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LldpbmRvd3MgMTAgRGVidWd8V2lu
MzIuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7ODVDNzMxQUQtMkVBMi00
MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBX
aW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVE
RTkzOEN9LldpbmRvd3MgMTAgRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDEwIERlYnVn
fFdpbjMyCisJCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LldpbmRvd3Mg
MTAgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCXs4NUM3MzFB
RC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LldpbmRvd3MgMTAgRGVidWd8eDY0LkJ1aWxk
LjAgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAorCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJE
MzhFREU5MzhDfS5XaW5kb3dzIDEwIERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgMTAgRGVi
dWd8eDY0CisJCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LldpbmRvd3Mg
MTAgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJ
ezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyAxMCBSZWxlYXNl
fFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJezg1QzczMUFELTJF
QTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyLkRlcGxv
eS4wID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0
Mi1EMkQzOEVERTkzOEN9LldpbmRvd3MgMTAgUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93
cyAxMCBSZWxlYXNlfHg2NAorCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhD
fS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8eDY0
CisJCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LldpbmRvd3MgMTAgUmVs
ZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJCXsyMjE2NjI5MC02
NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5BY3RpdmVD
ZmcgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKKwkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMz
MjAxNzk3QzdEOH0uV2luZG93cyA4IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVi
dWd8V2luMzIKKwkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93
cyA4IERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCXsyMjE2
NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0
aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7MjIxNjYyOTAtNjVEOC00OUQyLUJCODgt
MzMyMDE3OTdDN0Q4fS5XaW5kb3dzIDggRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVi
dWd8eDY0CisJCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3Mg
OCBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCXsyMjE2NjI5MC02
NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkFjdGl2
ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCisJCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4
OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dz
IDggUmVsZWFzZXxXaW4zMgorCQl7MjIxNjYyOTAtNjVEOC00OUQyLUJCODgtMzMyMDE3OTdDN0Q4
fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdp
bjMyCisJCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgOCBS
ZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKKwkJezIyMTY2Mjkw
LTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkJ1aWxk
LjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKKwkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMz
MjAxNzk3QzdEOH0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkRlcGxveS4wID0gV2luZG93cyA4IFJl
bGVhc2V8eDY0CisJCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRv
d3MgMTAgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7
MjIxNjYyOTAtNjVEOC00OUQyLUJCODgtMzMyMDE3OTdDN0Q4fS5XaW5kb3dzIDEwIERlYnVnfFdp
bjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCXsyMjE2NjI5MC02NUQ4LTQ5
RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgMTAgRGVidWd8V2luMzIuRGVwbG95LjAgPSBX
aW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5
N0M3RDh9LldpbmRvd3MgMTAgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVidWd8
eDY0CisJCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgMTAg
RGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAorCQl7MjIxNjYyOTAtNjVE
OC00OUQyLUJCODgtMzMyMDE3OTdDN0Q4fS5XaW5kb3dzIDEwIERlYnVnfHg2NC5EZXBsb3kuMCA9
IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5
N0M3RDh9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIFJl
bGVhc2V8V2luMzIKKwkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2lu
ZG93cyAxMCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIK
KwkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyAxMCBSZWxl
YXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXsyMjE2NjI5
MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgMTAgUmVsZWFzZXx4NjQuQWN0
aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7MjIxNjYyOTAtNjVEOC00OUQyLUJC
ODgtMzMyMDE3OTdDN0Q4fS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dz
IDEwIFJlbGVhc2V8eDY0CisJCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9
LldpbmRvd3MgMTAgUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8eDY0
CisJCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgOCBEZWJ1
Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKKwkJezJFNjFEMkNDLTg2
NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA4IERlYnVnfFdpbjMyLkJ1aWxkLjAg
PSBXaW5kb3dzIDggRGVidWd8V2luMzIKKwkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFG
RDdCQkQzQn0uV2luZG93cyA4IERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA4IERlYnVn
fFdpbjMyCisJCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3Mg
OCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7MkU2MUQyQ0Mt
ODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDggRGVidWd8eDY0LkJ1aWxkLjAg
PSBXaW5kb3dzIDggRGVidWd8eDY0CisJCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3
QkJEM0J9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8eDY0
CisJCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgOCBSZWxl
YXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCisJCXsyRTYxRDJD
Qy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1
aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7MkU2MUQyQ0MtODY1RS00NDJDLThD
ODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRv
d3MgOCBSZWxlYXNlfFdpbjMyCisJCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJE
M0J9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXx4
NjQKKwkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA4IFJl
bGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKKwkJezJFNjFEMkNDLTg2
NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkRlcGxveS4w
ID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERB
RkQ3QkJEM0J9LldpbmRvd3MgMTAgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBE
ZWJ1Z3xXaW4zMgorCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5k
b3dzIDEwIERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCXsy
RTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgMTAgRGVidWd8V2lu
MzIuRGVwbG95LjAgPSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCXsyRTYxRDJDQy04NjVFLTQ0
MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgMTAgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdp
bmRvd3MgMTAgRGVidWd8eDY0CisJCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJE
M0J9LldpbmRvd3MgMTAgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAor
CQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDEwIERlYnVn
fHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCXsyRTYxRDJDQy04NjVFLTQ0
MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcg
PSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4
REFGRDdCQkQzQn0uV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDEw
IFJlbGVhc2V8V2luMzIKKwkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0u
V2luZG93cyAxMCBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyAxMCBSZWxlYXNlfFdp
bjMyCisJCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgMTAg
UmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7MkU2MUQy
Q0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0LkJ1
aWxkLjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4
My1COERBRkQ3QkJEM0J9LldpbmRvd3MgMTAgUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dz
IDEwIFJlbGVhc2V8eDY0CisJCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9
LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8V2luMzIK
KwkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyA4IERlYnVn
fFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKKwkJezlCMDcxQTM1LTg5N0Mt
NDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyA4IERlYnVnfFdpbjMyLkRlcGxveS4wID0g
V2luZG93cyA4IERlYnVnfFdpbjMyCisJCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYx
OEEyMUR9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfHg2
NAorCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5XaW5kb3dzIDggRGVi
dWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCXs5QjA3MUEzNS04OTdDLTQ3
N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5k
b3dzIDggRGVidWd8eDY0CisJCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9
LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdp
bjMyCisJCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgOCBS
ZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7OUIwNzFB
MzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5E
ZXBsb3kuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCisJCXs5QjA3MUEzNS04OTdDLTQ3N0Et
QUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5k
b3dzIDggUmVsZWFzZXx4NjQKKwkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIx
RH0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQK
KwkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyA4IFJlbGVh
c2V8eDY0LkRlcGxveS4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXs5QjA3MUEzNS04OTdD
LTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgMTAgRGVidWd8V2luMzIuQWN0aXZlQ2Zn
ID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVG
Nzc2MThBMjFEfS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDEwIERl
YnVnfFdpbjMyCisJCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRv
d3MgMTAgRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCXs5
QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgMTAgRGVidWd8eDY0
LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCXs5QjA3MUEzNS04OTdDLTQ3N0Et
QUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgMTAgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dz
IDEwIERlYnVnfHg2NAorCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5X
aW5kb3dzIDEwIERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCXs5
QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgMTAgUmVsZWFzZXxX
aW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJezlCMDcxQTM1LTg5
N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyLkJ1aWxk
LjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3
LTk1Rjc3NjE4QTIxRH0uV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93
cyAxMCBSZWxlYXNlfFdpbjMyCisJCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEy
MUR9LldpbmRvd3MgMTAgUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNl
fHg2NAorCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5XaW5kb3dzIDEw
IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJCXs5QjA3MUEz
NS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgMTAgUmVsZWFzZXx4NjQuRGVw
bG95LjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2Jh
bFNlY3Rpb24oU29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uCisJCUhpZGVTb2x1dGlv
bk5vZGUgPSBGQUxTRQorCUVuZEdsb2JhbFNlY3Rpb24KK0VuZEdsb2JhbApkaWZmIC0tZ2l0IGEv
dnMyMDE3L3hlbmlmYWNlL3hlbmlmYWNlLnZjeHByb2ogYi92czIwMTcveGVuaWZhY2UveGVuaWZh
Y2UudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjNkZGM3Ci0t
LSAvZGV2L251bGwKKysrIGIvdnMyMDE3L3hlbmlmYWNlL3hlbmlmYWNlLnZjeHByb2oKQEAgLTAs
MCArMSw5NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9q
ZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIxNS4wIiB4bWxucz0iaHR0
cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPElt
cG9ydCBQcm9qZWN0PSIuLlxjb25maWdzLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJl
bD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxEcml2ZXJUeXBlPldETTwvRHJpdmVyVHlwZT4KKyAg
ICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyMTAuMDwvUGxhdGZvcm1U
b29sc2V0PgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5Ecml2ZXI8L0NvbmZpZ3VyYXRpb25UeXBl
PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRo
KVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVs
PSJHbG9iYWxzIj4KKyAgICA8UHJvamVjdEd1aWQ+ezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMz
MjAxNzk3QzdEOH08L1Byb2plY3RHdWlkPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQg
UHJvamVjdD0iLi5cdGFyZ2V0cy5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFy
Z2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAg
IDxSdW5Db2RlQW5hbHlzaXM+dHJ1ZTwvUnVuQ29kZUFuYWx5c2lzPgorICAgIDxFbmFibGVJbmYy
Y2F0PmZhbHNlPC9FbmFibGVJbmYyY2F0PgorICAgIDxJbnREaXI+Li5cJChQcm9qZWN0TmFtZSlc
JChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9JbnREaXI+CisgICAgPE91dERpcj4u
LlwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L091dERpcj4KKyAgPC9Qcm9wZXJ0
eUdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KKyAgICA8Q2xDb21waWxlPgorICAgICAg
PEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChXaW5kb3dzU2RrRGlyKVxpbmNsdWRlXGtt
Oy4uXC4uXGluY2x1ZGU7PC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFBy
ZXByb2Nlc3NvckRlZmluaXRpb25zPl9fTU9EVUxFX189IlhFTklGQUNFIjtQT09MX05YX09QVElO
PTE7TlRfUFJPQ0VTU09SX0dST1VQUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8V2FybmluZ0xldmVsPkVuYWJsZUFsbFdhcm5pbmdz
PC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDQ2NDs0NzEx
OzQ1NDg7NDgyMDs0NjY4OzQyNTU7NjAwMTs2MDU0OzI4MTYwOzMwMDMwOzMwMDI5OyUoRGlzYWJs
ZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4KKyAgICAgIDxNdWx0
aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+Cisg
ICAgICA8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFibGVQUkVmYXN0PgorICAgIDwvQ2xDb21waWxl
PgorICAgIDxSZXNvdXJjZUNvbXBpbGU+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rv
cmllcz4uLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0
aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgICAgPExp
bms+CisgICAgICA8SW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+ZmFsc2U8L0ltYWdlSGFz
U2FmZUV4Y2VwdGlvbkhhbmRsZXJzPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChE
REtfTElCX1BBVEgpXG50c3Ryc2FmZS5saWI7JChEREtfTElCX1BBVEgpXHByb2NncnAubGliOyUo
QWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8
RW5hYmxlQ09NREFURm9sZGluZz5mYWxzZTwvRW5hYmxlQ09NREFURm9sZGluZz4KKyAgICA8L0xp
bms+CisgICAgPEluZj4KKyAgICAgIDxTcGVjaWZ5QXJjaGl0ZWN0dXJlPnRydWU8L1NwZWNpZnlB
cmNoaXRlY3R1cmU+CisgICAgICA8U3BlY2lmeURyaXZlclZlckRpcmVjdGl2ZVZlcnNpb24+dHJ1
ZTwvU3BlY2lmeURyaXZlclZlckRpcmVjdGl2ZVZlcnNpb24+CisgICAgICA8VGltZVN0YW1wPiQo
TUFKT1JfVkVSU0lPTikuJChNSU5PUl9WRVJTSU9OKS4kKE1JQ1JPX1ZFUlNJT04pLiQoQlVJTERf
TlVNQkVSKTwvVGltZVN0YW1wPgorICAgICAgPEVuYWJsZVZlcmJvc2U+dHJ1ZTwvRW5hYmxlVmVy
Ym9zZT4KKyAgICA8L0luZj4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmlu
aXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgorICAgIDxDbENv
bXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19pMzg2X187JShQcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgIDwvQ2xDb21w
aWxlPgorICAgIDxJbmY+CisgICAgICA8QXJjaGl0ZWN0dXJlPng4NjwvQXJjaGl0ZWN0dXJlPgor
ICAgIDwvSW5mPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdy
b3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgorICAgIDxDbENvbXBpbGU+Cisg
ICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X194ODZfNjRfXzslKFByZXByb2Nlc3NvckRl
ZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgPC9DbENvbXBpbGU+Cisg
ICAgPEluZj4KKyAgICAgIDxBcmNoaXRlY3R1cmU+YW1kNjQ8L0FyY2hpdGVjdHVyZT4KKyAgICA8
L0luZj4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxGaWxl
c1RvUGFja2FnZSBJbmNsdWRlPSIkKFRhcmdldFBhdGgpIiAvPgorICAgIDxGaWxlc1RvUGFja2Fn
ZSBJbmNsdWRlPSIkKE91dERpcikkKFRhcmdldE5hbWUpLnBkYiIgLz4KKyAgICA8RmlsZXNUb1Bh
Y2thZ2UgSW5jbHVkZT0iQChJbmYtPiclKENvcHlPdXRwdXQpJykiIENvbmRpdGlvbj0iJ0AoSW5m
KSchPScnIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFjZVxpb2N0bHMuYyIgLz4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFjZVx3bWkuYyIgLz4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFjZVxkcml2ZXIuYyIgLz4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFjZVxmZG8uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFjZVxyZWdpc3RyeS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5cLi5cc3JjXHhlbmlmYWNlXHRocmVhZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5cLi5cc3JjXHhlbmlmYWNlXGlvY3RsX3NoYXJlZGluZm8uYyIgLz4KKyAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFjZVxpb2N0bF9zdXNwZW5kLmMiIC8+Cisg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuaWZhY2VcaW9jdGxfZXZ0Y2huLmMi
IC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuaWZhY2VcaW9jdGxfZ250
dGFiLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuaWZhY2VcaW9j
dGxfc3RvcmUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFj
ZVxpcnBfcXVldWUuYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPE1v
ZmNvbXAgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbmlmYWNlL3dtaS5tb2YiPgorICAgICAgPENyZWF0
ZUJpbmFyeU1vZkZpbGU+JChJbnREaXIpL3dtaS5ibWY8L0NyZWF0ZUJpbmFyeU1vZkZpbGU+Cisg
ICAgPC9Nb2Zjb21wPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8V21pbW9m
Y2sgSW5jbHVkZT0iJChJbnREaXIpXHdtaS5ibWYiPgorICAgICAgPEhlYWRlck91dHB1dEZpbGU+
Li5cLi5cc3JjXHhlbmlmYWNlXHdtaV9nZW5lcmF0ZWQuaDwvSGVhZGVyT3V0cHV0RmlsZT4KKyAg
ICA8L1dtaW1vZmNrPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8UmVzb3Vy
Y2VDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFjZVx4ZW5pZmFjZS5yYyIgLz4KKyAg
PC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPEluZiBJbmNsdWRlPSIuLlx4ZW5pZmFj
ZS5pbmYiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRz
UGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEv
dnMyMDE3L3hlbmlmYWNlL3hlbmlmYWNlLnZjeHByb2oudXNlciBiL3ZzMjAxNy94ZW5pZmFjZS94
ZW5pZmFjZS52Y3hwcm9qLnVzZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
OGZjYzkyZQotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy94ZW5pZmFjZS94ZW5pZmFjZS52Y3hw
cm9qLnVzZXIKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1
dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSIxNS4wIiB4bWxucz0iaHR0cDovL3NjaGVt
YXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPFByb3BlcnR5R3Jv
dXA+CisgICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9kZT4KKyAgICA8VGVzdENlcnRpZmlj
YXRlPi4uXC4uXHNyY1x4ZW5pZmFjZS5wZng8L1Rlc3RDZXJ0aWZpY2F0ZT4KKyAgICA8VGltZVN0
YW1wU2VydmVyPmh0dHA6Ly90aW1lc3RhbXAudmVyaXNpZ24uY29tL3NjcmlwdHMvdGltc3RhbXAu
ZGxsPC9UaW1lU3RhbXBTZXJ2ZXI+CisgIDwvUHJvcGVydHlHcm91cD4KKzwvUHJvamVjdD4KZGlm
ZiAtLWdpdCBhL3ZzMjAxNy94ZW5pZmFjZV9jb2luc3QveGVuaWZhY2VfY29pbnN0LnZjeHByb2og
Yi92czIwMTcveGVuaWZhY2VfY29pbnN0L3hlbmlmYWNlX2NvaW5zdC52Y3hwcm9qCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhYzRiYzUKLS0tIC9kZXYvbnVsbAorKysgYi92
czIwMTcveGVuaWZhY2VfY29pbnN0L3hlbmlmYWNlX2NvaW5zdC52Y3hwcm9qCkBAIC0wLDAgKzEs
NjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBE
ZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTUuMCIgeG1sbnM9Imh0dHA6Ly9z
Y2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJbXBvcnQg
UHJvamVjdD0iLi5cY29uZmlncy5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlBy
b3BlcnR5U2hlZXRzIj4KKyAgICA8RHJpdmVyVHlwZT5XRE08L0RyaXZlclR5cGU+CisgICAgPFBs
YXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRpb25Gb3JEcml2ZXJzMTAuMDwvUGxhdGZvcm1U
b29sc2V0PgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJh
dGlvblR5cGU+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFy
Z2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3Jv
dXAgTGFiZWw9Ikdsb2JhbHMiPgorICAgIDxQcm9qZWN0R3VpZD57ODVjNzMxYWQtMmVhMi00MDQ5
LWE1NDItZDJkMzhlZGU5MzhjfTwvUHJvamVjdEd1aWQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAg
PEltcG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRzLnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9
IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3Jv
dXA+CisgICAgPFJ1bkNvZGVBbmFseXNpcz50cnVlPC9SdW5Db2RlQW5hbHlzaXM+CisgICAgPEVu
YWJsZUluZjJjYXQ+ZmFsc2U8L0VuYWJsZUluZjJjYXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAg
PEl0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxBZGRpdGlvbmFs
SW5jbHVkZURpcmVjdG9yaWVzPiQoU29sdXRpb25EaXIpLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJ
bmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAg
PFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9fTU9EVUxFX189IlhFTklGQUNFX0NPSU5TVCI7JShQ
cmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAg
PFdhcm5pbmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgorICAgICAgPERp
c2FibGVTcGVjaWZpY1dhcm5pbmdzPjQxMjc7NDcxMTs0NTQ4OzQ4MjA7NDY2ODs0MjU1OzYwMDE7
NjA1NDsyODE5NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2Fy
bmluZ3M+CisgICAgICA8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50cnVlPC9NdWx0aVByb2Nl
c3NvckNvbXBpbGF0aW9uPgorICAgICAgPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwvRW5hYmxlUFJFZmFz
dD4KKyAgICAgIDxSdW50aW1lTGlicmFyeSBDb25kaXRpb249IickKFVzZURlYnVnTGlicmFyaWVz
KSc9PSd0cnVlJyI+TXVsdGlUaHJlYWRlZERlYnVnPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxS
dW50aW1lTGlicmFyeSBDb25kaXRpb249IickKFVzZURlYnVnTGlicmFyaWVzKSc9PSdmYWxzZSci
Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxM
aW5rPgorICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxlPi4uLy4uL3NyYy9jb2luc3QveGVuaWZh
Y2VfY29pbnN0LmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+CisgICAgICA8QWRkaXRpb25hbERl
cGVuZGVuY2llcz5zZXR1cGFwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRp
b25hbERlcGVuZGVuY2llcz4KKyAgICA8L0xpbms+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAg
ICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoU29sdXRpb25EaXIpLi5caW5jbHVk
ZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+
CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMy
JyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX2kz
ODZfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+
CisgICAgPC9DbENvbXBpbGU+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZp
bml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyI+CisgICAgPENsQ29t
cGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX3g4Nl82NF9fOyUoUHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICA8L0NsQ29t
cGlsZT4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxGaWxl
c1RvUGFja2FnZSBJbmNsdWRlPSIkKFRhcmdldFBhdGgpIiAvPgorICAgIDxGaWxlc1RvUGFja2Fn
ZSBJbmNsdWRlPSIkKE91dERpcikkKFRhcmdldE5hbWUpLnBkYiIgLz4KKyAgICA8RmlsZXNUb1Bh
Y2thZ2UgSW5jbHVkZT0iQChJbmYtPiclKENvcHlPdXRwdXQpJykiIENvbmRpdGlvbj0iJ0AoSW5m
KSchPScnIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXC4uXHNyY1xjb2luc3RcY29pbnN0LmMiIC8+CisgIDwvSXRlbUdyb3VwPgor
ICA8SXRlbUdyb3VwPgorICAgIDxOb25lIEluY2x1ZGU9Ii4uXC4uXHNyY1xjb2luc3RceGVuaWZh
Y2VfY29pbnN0LmRlZiIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChW
Q1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+CmRpZmYg
LS1naXQgYS92czIwMTcveGVuaWZhY2VfY29pbnN0L3hlbmlmYWNlX2NvaW5zdC52Y3hwcm9qLnVz
ZXIgYi92czIwMTcveGVuaWZhY2VfY29pbnN0L3hlbmlmYWNlX2NvaW5zdC52Y3hwcm9qLnVzZXIK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZjYzkyZQotLS0gL2Rldi9udWxs
CisrKyBiL3ZzMjAxNy94ZW5pZmFjZV9jb2luc3QveGVuaWZhY2VfY29pbnN0LnZjeHByb2oudXNl
cgpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+
Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjE1LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNy
b3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8UHJvcGVydHlHcm91cD4KKyAg
ICA8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgorICAgIDxUZXN0Q2VydGlmaWNhdGU+Li5c
Li5cc3JjXHhlbmlmYWNlLnBmeDwvVGVzdENlcnRpZmljYXRlPgorICAgIDxUaW1lU3RhbXBTZXJ2
ZXI+aHR0cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1Rp
bWVTdGFtcFNlcnZlcj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorPC9Qcm9qZWN0PgotLSAKMi41LjMK
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYt
ZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw
czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 10:16:42 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 10:16:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egSxz-0004zw-10; Tue, 30 Jan 2018 10:16:39 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=4jj6=ez=citrix.com=prvs=5611e4cd2=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egSxy-0004zp-Ay
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 10:16:38 +0000
X-Inumbo-ID: b3a31bfb-05a6-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id b3a31bfb-05a6-11e8-b9b1-635ca7ef6cff;
 Tue, 30 Jan 2018 10:16:57 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,434,1511827200"; d="scan'208";a="460246461"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Tue, 30 Jan 2018 10:16:23 +0000
Message-ID: <1517307383-2396-2-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1517307383-2396-1-git-send-email-paul.durrant@citrix.com>
References: <1517307383-2396-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xeniface 2/2] Do more optimization in release
	builds and add /Qspectre flag
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

U3BlY3RyZSBtaXRpZ2F0aW9ucyBhcHBhcmVudGx5IG9ubHkgd29yayBvbiBvcHRpbWl6ZWQgY29k
ZS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+
Ci0tLQogdnMyMDE3L3hlbmlmYWNlL3hlbmlmYWNlLnZjeHByb2ogfCAxMiArKysrKysrKysrLS0K
IDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL3ZzMjAxNy94ZW5pZmFjZS94ZW5pZmFjZS52Y3hwcm9qIGIvdnMyMDE3L3hlbmlmYWNl
L3hlbmlmYWNlLnZjeHByb2oKaW5kZXggZDYzZGRjNy4uNjlhNGIwOSAxMDA2NDQKLS0tIGEvdnMy
MDE3L3hlbmlmYWNlL3hlbmlmYWNlLnZjeHByb2oKKysrIGIvdnMyMDE3L3hlbmlmYWNlL3hlbmlm
YWNlLnZjeHByb2oKQEAgLTIyLDggKzIyLDkgQEAKICAgICA8Q2xDb21waWxlPgogICAgICAgPEFk
ZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChXaW5kb3dzU2RrRGlyKVxpbmNsdWRlXGttOy4u
XC4uXGluY2x1ZGU7PC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgICAgPFByZXBy
b2Nlc3NvckRlZmluaXRpb25zPl9fTU9EVUxFX189IlhFTklGQUNFIjtQT09MX05YX09QVElOPTE7
TlRfUFJPQ0VTU09SX0dST1VQUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vz
c29yRGVmaW5pdGlvbnM+CisgICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNp
Y0Z1bmN0aW9ucz4KICAgICAgIDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5p
bmdMZXZlbD4KLSAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40NDY0OzQ3MTE7NDU0ODs0
ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxNjA7MzAwMzA7MzAwMjk7JShEaXNhYmxlU3BlY2lm
aWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgorICAgICAgPERpc2FibGVTcGVj
aWZpY1dhcm5pbmdzPjQ0NjQ7NDcxMTs0NTQ4OzQ3NzA7NDgyMDs0NjY4OzQyNTU7NjAwMTs2MDU0
OzI4MTYwOzMwMDMwOzMwMDI5OyUoRGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3Bl
Y2lmaWNXYXJuaW5ncz4KICAgICAgIDxNdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011
bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+CiAgICAgICA8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFi
bGVQUkVmYXN0PgogICAgIDwvQ2xDb21waWxlPgpAQCAtMzMsNyArMzQsNyBAQAogICAgIDxMaW5r
PgogICAgICAgPEltYWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJzPmZhbHNlPC9JbWFnZUhhc1Nh
ZmVFeGNlcHRpb25IYW5kbGVycz4KICAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoRERL
X0xJQl9QQVRIKVxudHN0cnNhZmUubGliOyQoRERLX0xJQl9QQVRIKVxwcm9jZ3JwLmxpYjslKEFk
ZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEVu
YWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNPTURBVEZvbGRpbmc+CisgICAgICA8TGlu
a1RpbWVDb2RlR2VuZXJhdGlvbj5Vc2VMaW5rVGltZUNvZGVHZW5lcmF0aW9uPC9MaW5rVGltZUNv
ZGVHZW5lcmF0aW9uPgogICAgIDwvTGluaz4KICAgICA8SW5mPgogICAgICAgPFNwZWNpZnlBcmNo
aXRlY3R1cmU+dHJ1ZTwvU3BlY2lmeUFyY2hpdGVjdHVyZT4KQEAgLTU4LDYgKzU5LDEzIEBACiAg
ICAgICA8QXJjaGl0ZWN0dXJlPmFtZDY0PC9BcmNoaXRlY3R1cmU+CiAgICAgPC9JbmY+CiAgIDwv
SXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKSc9PSdXaW5kb3dzIDggUmVsZWFzZSciPgorICAgIDxDbENvbXBpbGU+
CisgICAgICA8RmF2b3JTaXplT3JTcGVlZD5TcGVlZDwvRmF2b3JTaXplT3JTcGVlZD4KKyAgICAg
IDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9u
PgorICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9Rc3BlY3RyZSAlKEFkZGl0aW9uYWxPcHRpb25z
KTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgPC9DbENvbXBpbGU+CisgIDwvSXRlbURlZmluaXRp
b25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChU
YXJnZXRQYXRoKSIgLz4KICAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChPdXREaXIpJChU
YXJnZXROYW1lKS5wZGIiIC8+Ci0tIAoyLjUuMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRl
dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFp
bG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 10:41:09 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 10:41:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egTLh-0006rc-8d; Tue, 30 Jan 2018 10:41:09 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=4jj6=ez=citrix.com=prvs=5611e4cd2=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egTLg-0006rW-OD
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 10:41:08 +0000
X-Inumbo-ID: 0c14ce6f-05aa-11e8-ba59-bc764e045a96
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 0c14ce6f-05aa-11e8-ba59-bc764e045a96;
 Tue, 30 Jan 2018 11:40:54 +0100 (CET)
X-IronPort-AV: E=Sophos;i="5.46,434,1511827200"; d="scan'208";a="460248660"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Tue, 30 Jan 2018 10:40:23 +0000
Message-ID: <1517308824-2738-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xencons 1/2] Add support for building with
	Visual Studio 2017
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

QWxzbyByZW1vdmUgbWFwcGluZ3MgZm9yIG9ic29sZXRlIHZlcnNpb25zIG9mIFZTIGluIGJ1aWxk
LnB5LgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNv
bT4KLS0tCiBidWlsZC5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICA0NiArKysrKy0tLQogbXNidWlsZC5iYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgIDYgKy0KIHZzMjAxNy9jb25maWdzLnByb3BzICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgIDQ1ICsrKysrKysrCiB2czIwMTcvcGFja2FnZS9wYWNrYWdlLnZj
eHByb2ogICAgICAgICAgICAgICAgICAgICB8ICA1NiArKysrKysrKysrCiB2czIwMTcvcGFja2Fn
ZS9wYWNrYWdlLnZjeHByb2oudXNlciAgICAgICAgICAgICAgICB8ICAgOCArKwogdnMyMDE3L3Rh
cmdldHMucHJvcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzUgKysrKysrCiB2
czIwMTcveGVuY29ucy5zbG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEyMiAr
KysrKysrKysrKysrKysrKysrKysKIHZzMjAxNy94ZW5jb25zL3hlbmNvbnMudmN4cHJvaiAgICAg
ICAgICAgICAgICAgICAgIHwgIDgzICsrKysrKysrKysrKysrCiB2czIwMTcveGVuY29ucy94ZW5j
b25zLnZjeHByb2oudXNlciAgICAgICAgICAgICAgICB8ICAgOCArKwogdnMyMDE3L3hlbmNvbnNf
Y29pbnN0L3hlbmNvbnNfY29pbnN0LnZjeHByb2ogICAgICAgfCAgNjAgKysrKysrKysrKwogdnMy
MDE3L3hlbmNvbnNfY29pbnN0L3hlbmNvbnNfY29pbnN0LnZjeHByb2oudXNlciAgfCAgIDggKysK
IHZzMjAxNy94ZW5jb25zX21vbml0b3IveGVuY29uc19tb25pdG9yLnZjeHByb2ogICAgIHwgIDc3
ICsrKysrKysrKysrKysKIC4uLi94ZW5jb25zX21vbml0b3IveGVuY29uc19tb25pdG9yLnZjeHBy
b2oudXNlciAgIHwgICA4ICsrCiB2czIwMTcveGVuY29uc190dHkveGVuY29uc190dHkudmN4cHJv
aiAgICAgICAgICAgICB8ICA2MCArKysrKysrKysrCiB2czIwMTcveGVuY29uc190dHkveGVuY29u
c190dHkudmN4cHJvai51c2VyICAgICAgICB8ICAgOCArKwogMTUgZmlsZXMgY2hhbmdlZCwgNjEw
IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAx
Ny9jb25maWdzLnByb3BzCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3BhY2thZ2UvcGFja2Fn
ZS52Y3hwcm9qCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3BhY2thZ2UvcGFja2FnZS52Y3hw
cm9qLnVzZXIKIGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcvdGFyZ2V0cy5wcm9wcwogY3JlYXRl
IG1vZGUgMTAwNjQ0IHZzMjAxNy94ZW5jb25zLnNsbgogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAx
Ny94ZW5jb25zL3hlbmNvbnMudmN4cHJvagogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy94ZW5j
b25zL3hlbmNvbnMudmN4cHJvai51c2VyCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3hlbmNv
bnNfY29pbnN0L3hlbmNvbnNfY29pbnN0LnZjeHByb2oKIGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIw
MTcveGVuY29uc19jb2luc3QveGVuY29uc19jb2luc3QudmN4cHJvai51c2VyCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgdnMyMDE3L3hlbmNvbnNfbW9uaXRvci94ZW5jb25zX21vbml0b3IudmN4cHJvagog
Y3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy94ZW5jb25zX21vbml0b3IveGVuY29uc19tb25pdG9y
LnZjeHByb2oudXNlcgogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy94ZW5jb25zX3R0eS94ZW5j
b25zX3R0eS52Y3hwcm9qCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3hlbmNvbnNfdHR5L3hl
bmNvbnNfdHR5LnZjeHByb2oudXNlcgoKZGlmZiAtLWdpdCBhL2J1aWxkLnB5IGIvYnVpbGQucHkK
aW5kZXggNzEwYjIzNC4uYjcyYTQzYSAxMDA2NDQKLS0tIGEvYnVpbGQucHkKKysrIGIvYnVpbGQu
cHkKQEAgLTE3MiwxOCArMTcyLDI4IEBAIGRlZiBzaGVsbChjb21tYW5kLCBkaXIpOgogICAgIHJl
dHVybiBzdWIucmV0dXJuY29kZQogCiAKK2RlZiBmaW5kKG5hbWUsIHBhdGgpOgorICAgIGZvciBy
b290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHBhdGgpOgorICAgICAgICBpZiBuYW1lIGluIGZp
bGVzOgorICAgICAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihyb290LCBuYW1lKQorCisKIGNs
YXNzIG1zYnVpbGRfZmFpbHVyZShFeGNlcHRpb24pOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2
YWx1ZSk6CiAgICAgICAgIHNlbGYudmFsdWUgPSB2YWx1ZQogICAgIGRlZiBfX3N0cl9fKHNlbGYp
OgogICAgICAgICByZXR1cm4gcmVwcihzZWxmLnZhbHVlKQogCisKIGRlZiBtc2J1aWxkKHBsYXRm
b3JtLCBjb25maWd1cmF0aW9uLCB0YXJnZXQsIGZpbGUsIGFyZ3MsIGRpcik6Ci0gICAgb3MuZW52
aXJvblsnUExBVEZPUk0nXSA9IHBsYXRmb3JtCi0gICAgb3MuZW52aXJvblsnQ09ORklHVVJBVElP
TiddID0gY29uZmlndXJhdGlvbgotICAgIG9zLmVudmlyb25bJ1RBUkdFVCddID0gdGFyZ2V0Ci0g
ICAgb3MuZW52aXJvblsnRklMRSddID0gZmlsZQotICAgIG9zLmVudmlyb25bJ0VYVFJBJ10gPSBh
cmdzCisgICAgdmN2YXJzYWxsID0gZmluZCgndmN2YXJzYWxsLmJhdCcsIG9zLmVudmlyb25bJ1ZT
J10pCisKKyAgICBvcy5lbnZpcm9uWydNU0JVSUxEX1BMQVRGT1JNJ10gPSBwbGF0Zm9ybQorICAg
IG9zLmVudmlyb25bJ01TQlVJTERfQ09ORklHVVJBVElPTiddID0gY29uZmlndXJhdGlvbgorICAg
IG9zLmVudmlyb25bJ01TQlVJTERfVEFSR0VUJ10gPSB0YXJnZXQKKyAgICBvcy5lbnZpcm9uWydN
U0JVSUxEX0ZJTEUnXSA9IGZpbGUKKyAgICBvcy5lbnZpcm9uWydNU0JVSUxEX0VYVFJBJ10gPSBh
cmdzCisgICAgb3MuZW52aXJvblsnTVNCVUlMRF9WQ1ZBUlNBTEwnXSA9IHZjdmFyc2FsbAogCiAg
ICAgYmluID0gb3MucGF0aC5qb2luKG9zLmdldGN3ZCgpLCAnbXNidWlsZC5iYXQnKQogCkBAIC0y
MDEsOCArMjExLDYgQEAgZGVmIGJ1aWxkX3NsbihuYW1lLCByZWxlYXNlLCBhcmNoLCBkZWJ1Zywg
dnMpOgogICAgIGVsaWYgYXJjaCA9PSAneDY0JzoKICAgICAgICAgcGxhdGZvcm0gPSAneDY0Jwog
Ci0gICAgY3dkID0gb3MuZ2V0Y3dkKCkKLQogICAgIG1zYnVpbGQocGxhdGZvcm0sIGNvbmZpZ3Vy
YXRpb24sICdCdWlsZCcsIG5hbWUgKyAnLnNsbicsICcnLCB2cykKIAogZGVmIGNvcHlfcGFja2Fn
ZShuYW1lLCByZWxlYXNlLCBhcmNoLCBkZWJ1ZywgdnMpOgpAQCAtMzU4LDI0ICszNjYsMjQgQEAg
ZGVmIGFyY2hpdmUoZmlsZW5hbWUsIGZpbGVzLCB0Z3o9RmFsc2UpOgogCiAKIGRlZiBnZXRWc1Zl
cnNpb24oKToKLSAgICB2c2VudiA9e30KLSAgICB2YXJzID0gc3VicHJvY2Vzcy5jaGVja19vdXRw
dXQoW29zLmVudmlyb25bJ1ZTJ10rJ1xcVkNcXHZjdmFyc2FsbC5iYXQnLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICcmJicsICdzZXQnXSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNoZWxsPVRydWUpCisgICAgdnNlbnYgPSB7fQorICAgIHZj
dmFyc2FsbD0gZmluZCgndmN2YXJzYWxsLmJhdCcsIG9zLmVudmlyb25bJ1ZTJ10pCisKKyAgICB2
YXJzID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoW3ZjdmFyc2FsbCwgJ3g4Nl9hbWQ2NCcsICcm
JicsICdzZXQnXSwgc2hlbGw9VHJ1ZSkKKwogICAgIGZvciB2YXIgaW4gdmFycy5zcGxpdGxpbmVz
KCk6CiAgICAgICAgIGssIF8sIHYgPSBtYXAoc3RyLnN0cmlwLCB2YXIuc3RyaXAoKS5kZWNvZGUo
J3V0Zi04JykucGFydGl0aW9uKCc9JykpCiAgICAgICAgIGlmIGsuc3RhcnRzd2l0aCgnPycpOgog
ICAgICAgICAgICAgY29udGludWUKICAgICAgICAgdnNlbnZba10gPSB2CiAKLSAgICBtYXBwaW5n
ID0geyAnMTEuMCc6J3ZzMjAxMicsCi0gICAgICAgICAgICAgICAgJzEyLjAnOid2czIwMTMnLAot
ICAgICAgICAgICAgICAgICcxNC4wJzondnMyMDE1JyB9CisgICAgbWFwcGluZyA9IHsgJzE0LjAn
Oid2czIwMTUnLAorICAgICAgICAgICAgICAgICcxNS4wJzondnMyMDE3J30KIAogICAgIHJldHVy
biBtYXBwaW5nW3ZzZW52WydWaXN1YWxTdHVkaW9WZXJzaW9uJ11dCiAKIAotaWYgX19uYW1lX18g
PT0gJ19fbWFpbl9fJzoKK2RlZiBtYWluKCk6CiAgICAgZGVidWcgPSB7ICdjaGVja2VkJzogVHJ1
ZSwgJ2ZyZWUnOiBGYWxzZSB9CiAgICAgc2R2ID0geyAnbm9zZHYnOiBGYWxzZSwgTm9uZTogVHJ1
ZSB9CiAgICAgZHJpdmVyID0gJ3hlbmNvbnMnCkBAIC00MTYsOSArNDI0LDggQEAgaWYgX19uYW1l
X18gPT0gJ19fbWFpbl9fJzoKIAogICAgIHN5bXN0b3JlX2RlbChkcml2ZXIsIDMwKQogCi0gICAg
cmVsZWFzZSA9IHsgJ3ZzMjAxMic6J1dpbmRvd3MgVmlzdGEnLAotICAgICAgICAgICAgICAgICd2
czIwMTMnOidXaW5kb3dzIDcnLAotICAgICAgICAgICAgICAgICd2czIwMTUnOidXaW5kb3dzIDgn
IH0KKyAgICByZWxlYXNlID0geyAndnMyMDE1JzonV2luZG93cyA4JywKKyAgICAgICAgICAgICAg
ICAndnMyMDE3JzonV2luZG93cyA4JyB9CiAKICAgICBzaHV0aWwucm10cmVlKGRyaXZlciwgaWdu
b3JlX2Vycm9ycz1UcnVlKQogCkBAIC00MzYsMyArNDQzLDYgQEAgaWYgX19uYW1lX18gPT0gJ19f
bWFpbl9fJzoKIAogICAgIGFyY2hpdmUoZHJpdmVyICsgJ1xcc291cmNlLnRneicsIG1hbmlmZXN0
KCkuc3BsaXRsaW5lcygpLCB0Z3o9VHJ1ZSkKICAgICBhcmNoaXZlKGRyaXZlciArICcudGFyJywg
W2RyaXZlciwncmV2aXNpb24nXSkKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICBt
YWluKCkKZGlmZiAtLWdpdCBhL21zYnVpbGQuYmF0IGIvbXNidWlsZC5iYXQKaW5kZXggMWIxZmJj
OC4uYTI4ZjkzOSAxMDA2NDQKLS0tIGEvbXNidWlsZC5iYXQKKysrIGIvbXNidWlsZC5iYXQKQEAg
LTEsNiArMSw4IEBACi1jYWxsICIlVlMlXFZDXHZjdmFyc2FsbC5iYXQiIHg4Ngorc2V0IE1TQlVJ
TERfUk9PVD0lY2QlCitjYWxsICIlTVNCVUlMRF9WQ1ZBUlNBTEwlIiB4ODZfYW1kNjQKIEBlY2hv
IG9uCi1tc2J1aWxkLmV4ZSAvbToxIC9wOkNvbmZpZ3VyYXRpb249IiVDT05GSUdVUkFUSU9OJSIg
L3A6UGxhdGZvcm09IiVQTEFURk9STSUiIC90OiIlVEFSR0VUJSIgJUVYVFJBJSAlRklMRSUKK2Nk
ICIlTVNCVUlMRF9ST09UJSIKK21zYnVpbGQuZXhlIC9tOjEgL3A6Q29uZmlndXJhdGlvbj0iJU1T
QlVJTERfQ09ORklHVVJBVElPTiUiIC9wOlBsYXRmb3JtPSIlTVNCVUlMRF9QTEFURk9STSUiIC90
OiIlTVNCVUlMRF9UQVJHRVQlIiAlTVNCVUlMRF9FWFRSQSUgJU1TQlVJTERfRklMRSUKIGlmIGVy
cm9ybGV2ZWwgMSBnb3RvIGVycm9yCiBleGl0IDAKIApkaWZmIC0tZ2l0IGEvdnMyMDE3L2NvbmZp
Z3MucHJvcHMgYi92czIwMTcvY29uZmlncy5wcm9wcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi42ZmU5YTMzCi0tLSAvZGV2L251bGwKKysrIGIvdnMyMDE3L2NvbmZpZ3MucHJv
cHMKQEAgLTAsMCArMSw0NSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgi
Pz4KKzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIxNS4wIiB4
bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAz
Ij4KKwk8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgorCQk8UHJvamVj
dENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyAxMCBEZWJ1Z3xXaW4zMiI+CisJCQk8Q29u
ZmlndXJhdGlvbj5XaW5kb3dzIDEwIERlYnVnPC9Db25maWd1cmF0aW9uPgorCQkJPFBsYXRmb3Jt
PldpbjMyPC9QbGF0Zm9ybT4KKwkJCTxXaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPjEwPC9X
aW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgor
CQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyAxMCBSZWxlYXNlfFdpbjMy
Ij4KKwkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgMTAgUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4K
KwkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisJCQk8V2luZG93c1RhcmdldFBsYXRmb3Jt
VmVyc2lvbj4xMDwvV2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KKwkJPC9Qcm9qZWN0Q29u
ZmlndXJhdGlvbj4KKwkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgMTAg
RGVidWd8eDY0Ij4KKwkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgMTAgRGVidWc8L0NvbmZpZ3Vy
YXRpb24+CisJCQk8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKwkJCTxXaW5kb3dzVGFyZ2V0UGxh
dGZvcm1WZXJzaW9uPjEwPC9XaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgorCQk8L1Byb2pl
Y3RDb25maWd1cmF0aW9uPgorCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93
cyAxMCBSZWxlYXNlfHg2NCI+CisJCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDEwIFJlbGVhc2U8
L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKwkJCTxXaW5kb3dz
VGFyZ2V0UGxhdGZvcm1WZXJzaW9uPjEwPC9XaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgor
CQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVk
ZT0iV2luZG93cyA4IERlYnVnfFdpbjMyIj4KKwkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgOCBE
ZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKwkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisJCQk8
V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj44LjE8L1dpbmRvd3NUYXJnZXRQbGF0Zm9ybVZl
cnNpb24+CisJCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisJCTxQcm9qZWN0Q29uZmlndXJhdGlv
biBJbmNsdWRlPSJXaW5kb3dzIDggUmVsZWFzZXxXaW4zMiI+CisJCQk8Q29uZmlndXJhdGlvbj5X
aW5kb3dzIDggUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKwkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxh
dGZvcm0+CisJCQk8V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj44LjE8L1dpbmRvd3NUYXJn
ZXRQbGF0Zm9ybVZlcnNpb24+CisJCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisJCTxQcm9qZWN0
Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDggRGVidWd8eDY0Ij4KKwkJCTxDb25maWd1
cmF0aW9uPldpbmRvd3MgOCBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKwkJCTxQbGF0Zm9ybT54NjQ8
L1BsYXRmb3JtPgorCQkJPFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+OC4xPC9XaW5kb3dz
VGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCQk8UHJv
amVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA4IFJlbGVhc2V8eDY0Ij4KKwkJCTxD
b25maWd1cmF0aW9uPldpbmRvd3MgOCBSZWxlYXNlPC9Db25maWd1cmF0aW9uPgorCQkJPFBsYXRm
b3JtPng2NDwvUGxhdGZvcm0+CisJCQk8V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj44LjE8
L1dpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+CisJCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+
CisJPC9JdGVtR3JvdXA+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTcvcGFja2FnZS9w
YWNrYWdlLnZjeHByb2ogYi92czIwMTcvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQyZWUzZAotLS0gL2Rldi9udWxsCisrKyBiL3Zz
MjAxNy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvagpAQCAtMCwwICsxLDU2IEBACis8P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1
aWxkIiBUb29sc1ZlcnNpb249IjE1LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQu
Y29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXGNvbmZp
Z3MucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Cisg
ICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2VybmVsTW9kZURyaXZlcjEwLjA8L1BsYXRmb3Jt
VG9vbHNldD4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+VXRpbGl0eTwvQ29uZmlndXJhdGlvblR5
cGU+CisgICAgPERyaXZlclR5cGU+UGFja2FnZTwvRHJpdmVyVHlwZT4KKyAgICA8RGlzYWJsZUZh
c3RVcFRvRGF0ZUNoZWNrPnRydWU8L0Rpc2FibGVGYXN0VXBUb0RhdGVDaGVjaz4KKyAgICA8U3Vw
cG9ydHNQYWNrYWdpbmc+dHJ1ZTwvU3VwcG9ydHNQYWNrYWdpbmc+CisgICAgPERyaXZlclRhcmdl
dFBsYXRmb3JtPkRlc2t0b3A8L0RyaXZlclRhcmdldFBsYXRmb3JtPgorICA8L1Byb3BlcnR5R3Jv
dXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRl
ZmF1bHQucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAgICA8
UHJvamVjdEd1aWQ+ezhCNUI4RjRCLTdGRjMtNEI2NC1BQzRBLTUyNDYwMjYyMTdFN308L1Byb2pl
Y3RHdWlkPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cdGFyZ2V0
cy5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29m
dC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxFbmFibGVJbmYyY2F0PnRy
dWU8L0VuYWJsZUluZjJjYXQ+CisgICAgPEluZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3QgQ29uZGl0
aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyI+OF94NjQ7U2VydmVyOF94NjQ7MTBfeDY0O1NlcnZl
cjEwX3g2NDwvSW5mMkNhdFdpbmRvd3NWZXJzaW9uTGlzdD4KKyAgICA8SW5mMkNhdFdpbmRvd3NW
ZXJzaW9uTGlzdCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPjhfeDg2OzEwX3g4
NjwvSW5mMkNhdFdpbmRvd3NWZXJzaW9uTGlzdD4KKyAgICA8RGVidWdnZXJGbGF2b3I+RGJnZW5n
S2VybmVsRGVidWdnZXI8L0RlYnVnZ2VyRmxhdm9yPgorICAgIDxFbmFibGVEZXBsb3ltZW50PkZh
bHNlPC9FbmFibGVEZXBsb3ltZW50PgorICAgIDxJbXBvcnRUb1N0b3JlPkZhbHNlPC9JbXBvcnRU
b1N0b3JlPgorICAgIDxJbnN0YWxsTW9kZT5Ob25lPC9JbnN0YWxsTW9kZT4KKyAgICA8U2NyaXB0
RGV2aWNlUXVlcnk+JVBhdGhUb0luZiU8L1NjcmlwdERldmljZVF1ZXJ5PgorICAgIDxFbmFibGVW
ZXJpZmllcj5GYWxzZTwvRW5hYmxlVmVyaWZpZXI+CisgICAgPEFsbERyaXZlcnM+RmFsc2U8L0Fs
bERyaXZlcnM+CisgICAgPFZlcmlmeVByb2plY3RPdXRwdXQ+VHJ1ZTwvVmVyaWZ5UHJvamVjdE91
dHB1dD4KKyAgICA8VmVyaWZ5RHJpdmVycyAvPgorICAgIDxWZXJpZnlGbGFncz4xMzM1NjM8L1Zl
cmlmeUZsYWdzPgorICAgIDxJbnREaXI+Li5cJChQcm9qZWN0TmFtZSlcJChDb25maWd1cmF0aW9u
TmFtZSlcJChQbGF0Zm9ybSlcPC9JbnREaXI+CisgICAgPE91dERpcj4uLlwkKENvbmZpZ3VyYXRp
b25OYW1lKVwkKFBsYXRmb3JtKVw8L091dERpcj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SXRl
bUdyb3VwPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Ii4uXHhlbmNvbnNceGVuY29u
cy52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0Pns0Njc0QjhDMi04NzZCLTRGMkEtQUI3MS1CQUM5
NjhBOUI1Mjl9PC9Qcm9qZWN0PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgICA8UHJvamVj
dFJlZmVyZW5jZSBJbmNsdWRlPSIuLlx4ZW5jb25zX2NvaW5zdFx4ZW5jb25zX2NvaW5zdC52Y3hw
cm9qIj4KKyAgICAgIDxQcm9qZWN0Pns2Q0M5QjhERC1BNUFFLTQyN0QtODE1Ny1FOTFEMjFERDdF
MTl9PC9Qcm9qZWN0PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgICA8UHJvamVjdFJlZmVy
ZW5jZSBJbmNsdWRlPSIuLlx4ZW5jb25zX21vbml0b3JceGVuY29uc19tb25pdG9yLnZjeHByb2oi
PgorICAgICAgPFByb2plY3Q+ezg5OTFGMEE1LTQwOEItNDNFMC04OENDLTk1NTBENEFBRTYxNn08
L1Byb2plY3Q+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICAgIDxQcm9qZWN0UmVmZXJlbmNl
IEluY2x1ZGU9Ii4uXHhlbmNvbnNfdHR5XHhlbmNvbnNfdHR5LnZjeHByb2oiPgorICAgICAgPFBy
b2plY3Q+ezc5RDk4RjgzLTVBMkYtNERFNi1CNjJDLTUzMEQ3MEI4OEMzRn08L1Byb2plY3Q+Cisg
ICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAg
ICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChEUElOU1RfUkVESVNUKVx4ODZcZHBpbnN0LmV4
ZSIgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIiAvPgorICAgIDxGaWxlc1RvUGFj
a2FnZSBJbmNsdWRlPSIkKERQSU5TVF9SRURJU1QpXHg2NFxkcGluc3QuZXhlIiBDb25kaXRpb249
IickKFBsYXRmb3JtKSc9PSd4NjQnIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEltcG9ydCBQcm9q
ZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKyAgPEltcG9y
dEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KKyAgPC9JbXBvcnRHcm91cD4KKzwvUHJv
amVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxNy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2VyIGIv
dnMyMDE3L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qLnVzZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNTA0YjJlMwotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy9wYWNrYWdl
L3BhY2thZ2UudmN4cHJvai51c2VyCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iMTUuMCIgeG1sbnM9
Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Cisg
IDxQcm9wZXJ0eUdyb3VwPgorICAgIDxTaWduTW9kZT5UZXN0U2lnbjwvU2lnbk1vZGU+CisgICAg
PFRlc3RDZXJ0aWZpY2F0ZT4uLlwuLlxzcmNceGVuY29ucy5wZng8L1Rlc3RDZXJ0aWZpY2F0ZT4K
KyAgICA8VGltZVN0YW1wU2VydmVyPmh0dHA6Ly90aW1lc3RhbXAudmVyaXNpZ24uY29tL3Njcmlw
dHMvdGltc3RhbXAuZGxsPC9UaW1lU3RhbXBTZXJ2ZXI+CisgIDwvUHJvcGVydHlHcm91cD4KKzwv
UHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxNy90YXJnZXRzLnByb3BzIGIvdnMyMDE3L3Rhcmdl
dHMucHJvcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA0NTQzNAotLS0g
L2Rldi9udWxsCisrKyBiL3ZzMjAxNy90YXJnZXRzLnByb3BzCkBAIC0wLDAgKzEsMzUgQEAKKzw/
eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFy
Z2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTUuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1p
Y3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisJPFByb3BlcnR5R3JvdXAgTGFi
ZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nV2luZG93cyAxMCBEZWJ1Z3xXaW4zMiciPgorCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dz
MTA8L1RhcmdldFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xp
YnJhcmllcz4KKwk8L1Byb3BlcnR5R3JvdXA+CisJPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZp
Z3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2lu
ZG93cyAxMCBSZWxlYXNlfFdpbjMyJyI+CisJCTxUYXJnZXRWZXJzaW9uPldpbmRvd3MxMDwvVGFy
Z2V0VmVyc2lvbj4KKwkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmll
cz4KKwk8L1Byb3BlcnR5R3JvdXA+CisJPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRp
b24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyAx
MCBEZWJ1Z3x4NjQnIj4KKwkJPFRhcmdldFZlcnNpb24+V2luZG93czEwPC9UYXJnZXRWZXJzaW9u
PgorCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+CisJPC9Qcm9w
ZXJ0eUdyb3VwPgorCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgMTAgUmVsZWFzZXx4
NjQnIj4KKwkJPFRhcmdldFZlcnNpb24+V2luZG93czEwPC9UYXJnZXRWZXJzaW9uPgorCQk8VXNl
RGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgorCTwvUHJvcGVydHlHcm91
cD4KKwk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggRGVidWd8V2luMzInIj4KKwkJ
PFRhcmdldFZlcnNpb24+V2luZG93czg8L1RhcmdldFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJh
cmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KKwk8L1Byb3BlcnR5R3JvdXA+CisJPFByb3Bl
cnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IFJlbGVhc2V8V2luMzInIj4KKwkJPFRhcmdldFZl
cnNpb24+V2luZG93czg8L1RhcmdldFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxz
ZTwvVXNlRGVidWdMaWJyYXJpZXM+CisJPC9Qcm9wZXJ0eUdyb3VwPgorCTxQcm9wZXJ0eUdyb3Vw
IExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1dpbmRvd3MgOCBEZWJ1Z3x4NjQnIj4KKwkJPFRhcmdldFZlcnNpb24+V2luZG93
czg8L1RhcmdldFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xp
YnJhcmllcz4KKwk8L1Byb3BlcnR5R3JvdXA+CisJPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZp
Z3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2lu
ZG93cyA4IFJlbGVhc2V8eDY0JyI+CisJCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRW
ZXJzaW9uPgorCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgor
CTwvUHJvcGVydHlHcm91cD4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW5jb25z
LnNsbiBiL3ZzMjAxNy94ZW5jb25zLnNsbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi45NTcwMmRhCi0tLSAvZGV2L251bGwKKysrIGIvdnMyMDE3L3hlbmNvbnMuc2xuCkBAIC0w
LDAgKzEsMTIyIEBACitNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3Jt
YXQgVmVyc2lvbiAxMi4wMAorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBD
OTFCQzk0Mn0iKSA9ICJ4ZW5jb25zIiwgInhlbmNvbnNceGVuY29ucy52Y3hwcm9qIiwgIns0Njc0
QjhDMi04NzZCLTRGMkEtQUI3MS1CQUM5NjhBOUI1Mjl9IgorRW5kUHJvamVjdAorUHJvamVjdCgi
ezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4ZW5jb25zX2NvaW5z
dCIsICJ4ZW5jb25zX2NvaW5zdFx4ZW5jb25zX2NvaW5zdC52Y3hwcm9qIiwgIns2Q0M5QjhERC1B
NUFFLTQyN0QtODE1Ny1FOTFEMjFERDdFMTl9IgorRW5kUHJvamVjdAorUHJvamVjdCgiezhCQzlD
RUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4ZW5jb25zX21vbml0b3IiLCAi
eGVuY29uc19tb25pdG9yXHhlbmNvbnNfbW9uaXRvci52Y3hwcm9qIiwgIns4OTkxRjBBNS00MDhC
LTQzRTAtODhDQy05NTUwRDRBQUU2MTZ9IgorRW5kUHJvamVjdAorUHJvamVjdCgiezhCQzlDRUI4
LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4ZW5jb25zX3R0eSIsICJ4ZW5jb25z
X3R0eVx4ZW5jb25zX3R0eS52Y3hwcm9qIiwgIns3OUQ5OEY4My01QTJGLTRERTYtQjYyQy01MzBE
NzBCODhDM0Z9IgorRW5kUHJvamVjdAorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDEx
LTAwQTBDOTFCQzk0Mn0iKSA9ICJwYWNrYWdlIiwgInBhY2thZ2VccGFja2FnZS52Y3hwcm9qIiwg
Ins4QjVCOEY0Qi03RkYzLTRCNjQtQUM0QS01MjQ2MDI2MjE3RTd9IgorCVByb2plY3RTZWN0aW9u
KFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QKKwkJezQ2NzRCOEMyLTg3NkItNEYy
QS1BQjcxLUJBQzk2OEE5QjUyOX0gPSB7NDY3NEI4QzItODc2Qi00RjJBLUFCNzEtQkFDOTY4QTlC
NTI5fQorCQl7NkNDOUI4REQtQTVBRS00MjdELTgxNTctRTkxRDIxREQ3RTE5fSA9IHs2Q0M5QjhE
RC1BNUFFLTQyN0QtODE1Ny1FOTFEMjFERDdFMTl9CisJCXs4OTkxRjBBNS00MDhCLTQzRTAtODhD
Qy05NTUwRDRBQUU2MTZ9ID0gezg5OTFGMEE1LTQwOEItNDNFMC04OENDLTk1NTBENEFBRTYxNn0K
KwkJezc5RDk4RjgzLTVBMkYtNERFNi1CNjJDLTUzMEQ3MEI4OEMzRn0gPSB7NzlEOThGODMtNUEy
Ri00REU2LUI2MkMtNTMwRDcwQjg4QzNGfQorCUVuZFByb2plY3RTZWN0aW9uCitFbmRQcm9qZWN0
CitHbG9iYWwKKwlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uQ29uZmlndXJhdGlvblBsYXRmb3Jtcykg
PSBwcmVTb2x1dGlvbgorCQlXaW5kb3dzIDEwIERlYnVnfFdpbjMyID0gV2luZG93cyAxMCBEZWJ1
Z3xXaW4zMgorCQlXaW5kb3dzIDEwIERlYnVnfHg2NCA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJ
CVdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMiA9IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQlX
aW5kb3dzIDEwIFJlbGVhc2V8eDY0ID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQlXaW5kb3dz
IDggRGVidWd8V2luMzIgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKKwkJV2luZG93cyA4IERlYnVn
fHg2NCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKKwkJV2luZG93cyA4IFJlbGVhc2V8V2luMzIgPSBX
aW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQlXaW5kb3dzIDggUmVsZWFzZXx4NjQgPSBXaW5kb3dz
IDggUmVsZWFzZXx4NjQKKwlFbmRHbG9iYWxTZWN0aW9uCisJR2xvYmFsU2VjdGlvbihQcm9qZWN0
Q29uZmlndXJhdGlvblBsYXRmb3JtcykgPSBwb3N0U29sdXRpb24KKwkJezQ2NzRCOEMyLTg3NkIt
NEYyQS1BQjcxLUJBQzk2OEE5QjUyOX0uV2luZG93cyAxMCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcg
PSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCXs0Njc0QjhDMi04NzZCLTRGMkEtQUI3MS1CQUM5
NjhBOUI1Mjl9LldpbmRvd3MgMTAgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgMTAgRGVi
dWd8V2luMzIKKwkJezQ2NzRCOEMyLTg3NkItNEYyQS1BQjcxLUJBQzk2OEE5QjUyOX0uV2luZG93
cyAxMCBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJezQ2
NzRCOEMyLTg3NkItNEYyQS1BQjcxLUJBQzk2OEE5QjUyOX0uV2luZG93cyAxMCBEZWJ1Z3x4NjQu
QWN0aXZlQ2ZnID0gV2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJezQ2NzRCOEMyLTg3NkItNEYyQS1B
QjcxLUJBQzk2OEE5QjUyOX0uV2luZG93cyAxMCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3Mg
MTAgRGVidWd8eDY0CisJCXs0Njc0QjhDMi04NzZCLTRGMkEtQUI3MS1CQUM5NjhBOUI1Mjl9Lldp
bmRvd3MgMTAgRGVidWd8eDY0LkRlcGxveS4wID0gV2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJezQ2
NzRCOEMyLTg3NkItNEYyQS1BQjcxLUJBQzk2OEE5QjUyOX0uV2luZG93cyAxMCBSZWxlYXNlfFdp
bjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQl7NDY3NEI4QzItODc2
Qi00RjJBLUFCNzEtQkFDOTY4QTlCNTI5fS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuQnVpbGQu
MCA9IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQl7NDY3NEI4QzItODc2Qi00RjJBLUFCNzEt
QkFDOTY4QTlCNTI5fS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dz
IDEwIFJlbGVhc2V8V2luMzIKKwkJezQ2NzRCOEMyLTg3NkItNEYyQS1BQjcxLUJBQzk2OEE5QjUy
OX0uV2luZG93cyAxMCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIFJlbGVhc2V8
eDY0CisJCXs0Njc0QjhDMi04NzZCLTRGMkEtQUI3MS1CQUM5NjhBOUI1Mjl9LldpbmRvd3MgMTAg
UmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJezQ2NzRCOEMy
LTg3NkItNEYyQS1BQjcxLUJBQzk2OEE5QjUyOX0uV2luZG93cyAxMCBSZWxlYXNlfHg2NC5EZXBs
b3kuMCA9IFdpbmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJezQ2NzRCOEMyLTg3NkItNEYyQS1BQjcx
LUJBQzk2OEE5QjUyOX0uV2luZG93cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3Mg
OCBEZWJ1Z3xXaW4zMgorCQl7NDY3NEI4QzItODc2Qi00RjJBLUFCNzEtQkFDOTY4QTlCNTI5fS5X
aW5kb3dzIDggRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQl7
NDY3NEI4QzItODc2Qi00RjJBLUFCNzEtQkFDOTY4QTlCNTI5fS5XaW5kb3dzIDggRGVidWd8V2lu
MzIuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKKwkJezQ2NzRCOEMyLTg3NkItNEYy
QS1BQjcxLUJBQzk2OEE5QjUyOX0uV2luZG93cyA4IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5k
b3dzIDggRGVidWd8eDY0CisJCXs0Njc0QjhDMi04NzZCLTRGMkEtQUI3MS1CQUM5NjhBOUI1Mjl9
LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKKwkJezQ2
NzRCOEMyLTg3NkItNEYyQS1BQjcxLUJBQzk2OEE5QjUyOX0uV2luZG93cyA4IERlYnVnfHg2NC5E
ZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKKwkJezQ2NzRCOEMyLTg3NkItNEYyQS1BQjcx
LUJBQzk2OEE5QjUyOX0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93
cyA4IFJlbGVhc2V8V2luMzIKKwkJezQ2NzRCOEMyLTg3NkItNEYyQS1BQjcxLUJBQzk2OEE5QjUy
OX0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdp
bjMyCisJCXs0Njc0QjhDMi04NzZCLTRGMkEtQUI3MS1CQUM5NjhBOUI1Mjl9LldpbmRvd3MgOCBS
ZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKKwkJezQ2NzRC
OEMyLTg3NkItNEYyQS1BQjcxLUJBQzk2OEE5QjUyOX0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkFj
dGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAorCQl7NDY3NEI4QzItODc2Qi00RjJBLUFC
NzEtQkFDOTY4QTlCNTI5fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3Mg
OCBSZWxlYXNlfHg2NAorCQl7NDY3NEI4QzItODc2Qi00RjJBLUFCNzEtQkFDOTY4QTlCNTI5fS5X
aW5kb3dzIDggUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKKwkJ
ezZDQzlCOERELUE1QUUtNDI3RC04MTU3LUU5MUQyMUREN0UxOX0uV2luZG93cyAxMCBEZWJ1Z3xX
aW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCXs2Q0M5QjhERC1BNUFF
LTQyN0QtODE1Ny1FOTFEMjFERDdFMTl9LldpbmRvd3MgMTAgRGVidWd8V2luMzIuQnVpbGQuMCA9
IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJezZDQzlCOERELUE1QUUtNDI3RC04MTU3LUU5MUQy
MUREN0UxOX0uV2luZG93cyAxMCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBEZWJ1
Z3x4NjQKKwkJezZDQzlCOERELUE1QUUtNDI3RC04MTU3LUU5MUQyMUREN0UxOX0uV2luZG93cyAx
MCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCXs2Q0M5QjhERC1B
NUFFLTQyN0QtODE1Ny1FOTFEMjFERDdFMTl9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5BY3Rp
dmVDZmcgPSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJezZDQzlCOERELUE1QUUtNDI3RC04
MTU3LUU5MUQyMUREN0UxOX0uV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5k
b3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJezZDQzlCOERELUE1QUUtNDI3RC04MTU3LUU5MUQyMURE
N0UxOX0uV2luZG93cyAxMCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIFJlbGVh
c2V8eDY0CisJCXs2Q0M5QjhERC1BNUFFLTQyN0QtODE1Ny1FOTFEMjFERDdFMTl9LldpbmRvd3Mg
MTAgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJezZDQzlC
OERELUE1QUUtNDI3RC04MTU3LUU5MUQyMUREN0UxOX0uV2luZG93cyA4IERlYnVnfFdpbjMyLkFj
dGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQl7NkNDOUI4REQtQTVBRS00MjdELTgx
NTctRTkxRDIxREQ3RTE5fS5XaW5kb3dzIDggRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3Mg
OCBEZWJ1Z3xXaW4zMgorCQl7NkNDOUI4REQtQTVBRS00MjdELTgxNTctRTkxRDIxREQ3RTE5fS5X
aW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKKwkJezZD
QzlCOERELUE1QUUtNDI3RC04MTU3LUU5MUQyMUREN0UxOX0uV2luZG93cyA4IERlYnVnfHg2NC5C
dWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7NkNDOUI4REQtQTVBRS00MjdELTgxNTct
RTkxRDIxREQ3RTE5fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dz
IDggUmVsZWFzZXxXaW4zMgorCQl7NkNDOUI4REQtQTVBRS00MjdELTgxNTctRTkxRDIxREQ3RTE5
fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8V2lu
MzIKKwkJezZDQzlCOERELUE1QUUtNDI3RC04MTU3LUU5MUQyMUREN0UxOX0uV2luZG93cyA4IFJl
bGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAorCQl7NkNDOUI4REQt
QTVBRS00MjdELTgxNTctRTkxRDIxREQ3RTE5fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQnVpbGQu
MCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAorCQl7ODk5MUYwQTUtNDA4Qi00M0UwLTg4Q0MtOTU1
MEQ0QUFFNjE2fS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAg
RGVidWd8V2luMzIKKwkJezg5OTFGMEE1LTQwOEItNDNFMC04OENDLTk1NTBENEFBRTYxNn0uV2lu
ZG93cyAxMCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7
ODk5MUYwQTUtNDA4Qi00M0UwLTg4Q0MtOTU1MEQ0QUFFNjE2fS5XaW5kb3dzIDEwIERlYnVnfHg2
NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAorCQl7ODk5MUYwQTUtNDA4Qi00M0Uw
LTg4Q0MtOTU1MEQ0QUFFNjE2fS5XaW5kb3dzIDEwIERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93
cyAxMCBEZWJ1Z3x4NjQKKwkJezg5OTFGMEE1LTQwOEItNDNFMC04OENDLTk1NTBENEFBRTYxNn0u
V2luZG93cyAxMCBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgUmVsZWFzZXxX
aW4zMgorCQl7ODk5MUYwQTUtNDA4Qi00M0UwLTg4Q0MtOTU1MEQ0QUFFNjE2fS5XaW5kb3dzIDEw
IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQl7ODk5
MUYwQTUtNDA4Qi00M0UwLTg4Q0MtOTU1MEQ0QUFFNjE2fS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0
LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJezg5OTFGMEE1LTQwOEItNDNF
MC04OENDLTk1NTBENEFBRTYxNn0uV2luZG93cyAxMCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2lu
ZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7ODk5MUYwQTUtNDA4Qi00M0UwLTg4Q0MtOTU1MEQ0QUFF
NjE2fS5XaW5kb3dzIDggRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdp
bjMyCisJCXs4OTkxRjBBNS00MDhCLTQzRTAtODhDQy05NTUwRDRBQUU2MTZ9LldpbmRvd3MgOCBE
ZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCXs4OTkxRjBBNS00
MDhCLTQzRTAtODhDQy05NTUwRDRBQUU2MTZ9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0aXZlQ2Zn
ID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7ODk5MUYwQTUtNDA4Qi00M0UwLTg4Q0MtOTU1MEQ0
QUFFNjE2fS5XaW5kb3dzIDggRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8eDY0
CisJCXs4OTkxRjBBNS00MDhCLTQzRTAtODhDQy05NTUwRDRBQUU2MTZ9LldpbmRvd3MgOCBSZWxl
YXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCisJCXs4OTkxRjBB
NS00MDhCLTQzRTAtODhDQy05NTUwRDRBQUU2MTZ9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1
aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7ODk5MUYwQTUtNDA4Qi00M0UwLTg4
Q0MtOTU1MEQ0QUFFNjE2fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93
cyA4IFJlbGVhc2V8eDY0CisJCXs4OTkxRjBBNS00MDhCLTQzRTAtODhDQy05NTUwRDRBQUU2MTZ9
LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJ
CXs3OUQ5OEY4My01QTJGLTRERTYtQjYyQy01MzBENzBCODhDM0Z9LldpbmRvd3MgMTAgRGVidWd8
V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7NzlEOThGODMtNUEy
Ri00REU2LUI2MkMtNTMwRDcwQjg4QzNGfS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkJ1aWxkLjAg
PSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCXs3OUQ5OEY4My01QTJGLTRERTYtQjYyQy01MzBE
NzBCODhDM0Z9LldpbmRvd3MgMTAgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVi
dWd8eDY0CisJCXs3OUQ5OEY4My01QTJGLTRERTYtQjYyQy01MzBENzBCODhDM0Z9LldpbmRvd3Mg
MTAgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAorCQl7NzlEOThGODMt
NUEyRi00REU2LUI2MkMtNTMwRDcwQjg4QzNGfS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuQWN0
aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXs3OUQ5OEY4My01QTJGLTRERTYt
QjYyQy01MzBENzBCODhDM0Z9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2lu
ZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXs3OUQ5OEY4My01QTJGLTRERTYtQjYyQy01MzBENzBC
ODhDM0Z9LldpbmRvd3MgMTAgUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxl
YXNlfHg2NAorCQl7NzlEOThGODMtNUEyRi00REU2LUI2MkMtNTMwRDcwQjg4QzNGfS5XaW5kb3dz
IDEwIFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJCXs3OUQ5
OEY4My01QTJGLTRERTYtQjYyQy01MzBENzBCODhDM0Z9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5B
Y3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKKwkJezc5RDk4RjgzLTVBMkYtNERFNi1C
NjJDLTUzMEQ3MEI4OEMzRn0uV2luZG93cyA4IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dz
IDggRGVidWd8V2luMzIKKwkJezc5RDk4RjgzLTVBMkYtNERFNi1CNjJDLTUzMEQ3MEI4OEMzRn0u
V2luZG93cyA4IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCXs3
OUQ5OEY4My01QTJGLTRERTYtQjYyQy01MzBENzBCODhDM0Z9LldpbmRvd3MgOCBEZWJ1Z3x4NjQu
QnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKKwkJezc5RDk4RjgzLTVBMkYtNERFNi1CNjJD
LTUzMEQ3MEI4OEMzRn0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93
cyA4IFJlbGVhc2V8V2luMzIKKwkJezc5RDk4RjgzLTVBMkYtNERFNi1CNjJDLTUzMEQ3MEI4OEMz
Rn0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdp
bjMyCisJCXs3OUQ5OEY4My01QTJGLTRERTYtQjYyQy01MzBENzBCODhDM0Z9LldpbmRvd3MgOCBS
ZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKKwkJezc5RDk4Rjgz
LTVBMkYtNERFNi1CNjJDLTUzMEQ3MEI4OEMzRn0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkJ1aWxk
LjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKKwkJezhCNUI4RjRCLTdGRjMtNEI2NC1BQzRBLTUy
NDYwMjYyMTdFN30uV2luZG93cyAxMCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDEw
IERlYnVnfFdpbjMyCisJCXs4QjVCOEY0Qi03RkYzLTRCNjQtQUM0QS01MjQ2MDI2MjE3RTd9Lldp
bmRvd3MgMTAgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJ
ezhCNUI4RjRCLTdGRjMtNEI2NC1BQzRBLTUyNDYwMjYyMTdFN30uV2luZG93cyAxMCBEZWJ1Z3x4
NjQuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJezhCNUI4RjRCLTdGRjMtNEI2
NC1BQzRBLTUyNDYwMjYyMTdFN30uV2luZG93cyAxMCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRv
d3MgMTAgRGVidWd8eDY0CisJCXs4QjVCOEY0Qi03RkYzLTRCNjQtQUM0QS01MjQ2MDI2MjE3RTd9
LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIFJlbGVhc2V8
V2luMzIKKwkJezhCNUI4RjRCLTdGRjMtNEI2NC1BQzRBLTUyNDYwMjYyMTdFN30uV2luZG93cyAx
MCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJezhC
NUI4RjRCLTdGRjMtNEI2NC1BQzRBLTUyNDYwMjYyMTdFN30uV2luZG93cyAxMCBSZWxlYXNlfHg2
NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJCXs4QjVCOEY0Qi03RkYzLTRC
NjQtQUM0QS01MjQ2MDI2MjE3RTd9LldpbmRvd3MgMTAgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdp
bmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJezhCNUI4RjRCLTdGRjMtNEI2NC1BQzRBLTUyNDYwMjYy
MTdFN30uV2luZG93cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xX
aW4zMgorCQl7OEI1QjhGNEItN0ZGMy00QjY0LUFDNEEtNTI0NjAyNjIxN0U3fS5XaW5kb3dzIDgg
RGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQl7OEI1QjhGNEIt
N0ZGMy00QjY0LUFDNEEtNTI0NjAyNjIxN0U3fS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKKwkJezhCNUI4RjRCLTdGRjMtNEI2NC1BQzRBLTUyNDYw
MjYyMTdFN30uV2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2
NAorCQl7OEI1QjhGNEItN0ZGMy00QjY0LUFDNEEtNTI0NjAyNjIxN0U3fS5XaW5kb3dzIDggUmVs
ZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7OEI1QjhG
NEItN0ZGMy00QjY0LUFDNEEtNTI0NjAyNjIxN0U3fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5C
dWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKKwkJezhCNUI4RjRCLTdGRjMtNEI2NC1B
QzRBLTUyNDYwMjYyMTdFN30uV2luZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRv
d3MgOCBSZWxlYXNlfHg2NAorCQl7OEI1QjhGNEItN0ZGMy00QjY0LUFDNEEtNTI0NjAyNjIxN0U3
fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAor
CUVuZEdsb2JhbFNlY3Rpb24KKwlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBw
cmVTb2x1dGlvbgorCQlIaWRlU29sdXRpb25Ob2RlID0gRkFMU0UKKwlFbmRHbG9iYWxTZWN0aW9u
CitFbmRHbG9iYWwKZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW5jb25zL3hlbmNvbnMudmN4cHJvaiBi
L3ZzMjAxNy94ZW5jb25zL3hlbmNvbnMudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5kMDY0Zjk2Ci0tLSAvZGV2L251bGwKKysrIGIvdnMyMDE3L3hlbmNvbnMveGVu
Y29ucy52Y3hwcm9qCkBAIC0wLDAgKzEsODMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rp
bmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lv
bj0iMTUuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21z
YnVpbGQvMjAwMyI+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cY29uZmlncy5wcm9wcyIgLz4KKyAg
PFByb3BlcnR5R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8RHJpdmVyVHlwZT5X
RE08L0RyaXZlclR5cGU+CisgICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2VybmVsTW9kZURy
aXZlcjEwLjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHJpdmVy
PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2pl
Y3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorICA8
UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPns0Njc0QjhD
Mi04NzZCLTRGMkEtQUI3MS1CQUM5NjhBOUI1Mjl9PC9Qcm9qZWN0R3VpZD4KKyAgPC9Qcm9wZXJ0
eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+CisgIDxJbXBv
cnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8
UHJvcGVydHlHcm91cD4KKyAgICA8UnVuQ29kZUFuYWx5c2lzPnRydWU8L1J1bkNvZGVBbmFseXNp
cz4KKyAgICA8RW5hYmxlSW5mMmNhdD5mYWxzZTwvRW5hYmxlSW5mMmNhdD4KKyAgICA8SW50RGly
Pi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvSW50
RGlyPgorICAgIDxPdXREaXI+Li5cJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9P
dXREaXI+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAg
PENsQ29tcGlsZT4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoV2luZG93
c1Nka0RpcilcaW5jbHVkZVxrbTsuLlwuLlxpbmNsdWRlOy4uXC4uXGluY2x1ZGVceGVuOyUoQWRk
aXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+
CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVfXz0iWEVOQ09OUyI7UE9P
TF9OWF9PUFRJTj0xO05UX1BST0NFU1NPUl9HUk9VUFM7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9u
cyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFdhcm5pbmdMZXZlbD5FbmFibGVB
bGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgorICAgICAgPERpc2FibGVTcGVjaWZpY1dhcm5pbmdz
PjQ0NjQ7NDcxMTs0NTQ4OzQ4MjA7NDY2ODs0MjU1OzYwMDE7NjA1NDsyODE5NjszMDAzMDszMDAy
OTslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+Cisg
ICAgICA8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50cnVlPC9NdWx0aVByb2Nlc3NvckNvbXBp
bGF0aW9uPgorICAgICAgPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwvRW5hYmxlUFJFZmFzdD4KKyAgICA8
L0NsQ29tcGlsZT4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPEFkZGl0aW9uYWxJbmNs
dWRlRGlyZWN0b3JpZXM+Li5cLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3Jp
ZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgIDwvUmVzb3VyY2VDb21waWxl
PgorICAgIDxMaW5rPgorICAgICAgPEltYWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJzPmZhbHNl
PC9JbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5k
ZW5jaWVzPiQoRERLX0xJQl9QQVRIKS9SdGx2ZXIubGliOyQoRERLX0xJQl9QQVRIKS9saWJjbnRw
ci5saWI7JChEREtfTElCX1BBVEgpL2F1eF9rbGliLmxpYjskKERES19MSUJfUEFUSCkva3NlY2Rk
LmxpYjskKERES19MSUJfUEFUSCkvcHJvY2dycC5saWI7JChEREtfTElCX1BBVEgpL3dkbXNlYy5s
aWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAg
ICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRGb2xkaW5nPgorICAg
IDwvTGluaz4KKyAgICA8SW5mPgorICAgICAgPFNwZWNpZnlBcmNoaXRlY3R1cmU+dHJ1ZTwvU3Bl
Y2lmeUFyY2hpdGVjdHVyZT4KKyAgICAgIDxTcGVjaWZ5RHJpdmVyVmVyRGlyZWN0aXZlVmVyc2lv
bj50cnVlPC9TcGVjaWZ5RHJpdmVyVmVyRGlyZWN0aXZlVmVyc2lvbj4KKyAgICAgIDxUaW1lU3Rh
bXA+JChNQUpPUl9WRVJTSU9OKS4kKE1JTk9SX1ZFUlNJT04pLiQoTUlDUk9fVkVSU0lPTikuJChC
VUlMRF9OVU1CRVIpPC9UaW1lU3RhbXA+CisgICAgICA8RW5hYmxlVmVyYm9zZT50cnVlPC9FbmFi
bGVWZXJib3NlPgorICAgIDwvSW5mPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVt
RGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+CisgICAg
PENsQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX2kzODZfXzslKFBy
ZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgPC9D
bENvbXBpbGU+CisgICAgPEluZj4KKyAgICAgIDxBcmNoaXRlY3R1cmU+eDg2PC9BcmNoaXRlY3R1
cmU+CisgICAgPC9JbmY+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0
aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyI+CisgICAgPENsQ29tcGls
ZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX3g4Nl82NF9fOyUoUHJlcHJvY2Vz
c29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICA8L0NsQ29tcGls
ZT4KKyAgICA8SW5mPgorICAgICAgPEFyY2hpdGVjdHVyZT5hbWQ2NDwvQXJjaGl0ZWN0dXJlPgor
ICAgIDwvSW5mPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAg
PEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoVGFyZ2V0UGF0aCkiIC8+CisgICAgPEZpbGVzVG9Q
YWNrYWdlIEluY2x1ZGU9IiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkucGRiIiAvPgorICAgIDxGaWxl
c1RvUGFja2FnZSBJbmNsdWRlPSJAKEluZi0+JyUoQ29weU91dHB1dCknKSIgQ29uZGl0aW9uPSIn
QChJbmYpJyE9JyciIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbmNvbnMvZHJpdmVyLmMiIC8+CisgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVuY29ucy9mZG8uYyIgLz4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5jb25zL3JlZ2lzdHJ5LmMiIC8+CisgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVuY29ucy9zdHJlYW0uYyIgLz4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5jb25zL3RocmVhZC5jIiAvPgorICA8L0l0ZW1Hcm91cD4K
KyAgPEl0ZW1Hcm91cD4KKyAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4
ZW5jb25zXHhlbmNvbnMucmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAg
IDxJbmYgSW5jbHVkZT0iLi5ceGVuY29ucy5pbmYiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRl
bUdyb3VwPgorICAgIDxOb25lIEluY2x1ZGU9Ii4uXHBhY2thZ2VccGFja2FnZS52Y3hwcm9qIiAv
PgorICA8L0l0ZW1Hcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1p
Y3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxNy94
ZW5jb25zL3hlbmNvbnMudmN4cHJvai51c2VyIGIvdnMyMDE3L3hlbmNvbnMveGVuY29ucy52Y3hw
cm9qLnVzZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTA0YjJlMwotLS0g
L2Rldi9udWxsCisrKyBiL3ZzMjAxNy94ZW5jb25zL3hlbmNvbnMudmN4cHJvai51c2VyCkBAIC0w
LDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9q
ZWN0IFRvb2xzVmVyc2lvbj0iMTUuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j
b20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxTaWdu
TW9kZT5UZXN0U2lnbjwvU2lnbk1vZGU+CisgICAgPFRlc3RDZXJ0aWZpY2F0ZT4uLlwuLlxzcmNc
eGVuY29ucy5wZng8L1Rlc3RDZXJ0aWZpY2F0ZT4KKyAgICA8VGltZVN0YW1wU2VydmVyPmh0dHA6
Ly90aW1lc3RhbXAudmVyaXNpZ24uY29tL3NjcmlwdHMvdGltc3RhbXAuZGxsPC9UaW1lU3RhbXBT
ZXJ2ZXI+CisgIDwvUHJvcGVydHlHcm91cD4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAx
Ny94ZW5jb25zX2NvaW5zdC94ZW5jb25zX2NvaW5zdC52Y3hwcm9qIGIvdnMyMDE3L3hlbmNvbnNf
Y29pbnN0L3hlbmNvbnNfY29pbnN0LnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uZmIwOTA4NwotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy94ZW5jb25zX2NvaW5z
dC94ZW5jb25zX2NvaW5zdC52Y3hwcm9qCkBAIC0wLDAgKzEsNjAgQEAKKzw/eG1sIHZlcnNpb249
IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQi
IFRvb2xzVmVyc2lvbj0iMTUuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20v
ZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cY29uZmlncy5w
cm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8
RHJpdmVyVHlwZT5XRE08L0RyaXZlclR5cGU+CisgICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dz
QXBwbGljYXRpb25Gb3JEcml2ZXJzMTAuMDwvUGxhdGZvcm1Ub29sc2V0PgorICAgIDxDb25maWd1
cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgIDwvUHJvcGVy
dHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5D
cHAuRGVmYXVsdC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgor
ICAgIDxQcm9qZWN0R3VpZD57NkNDOUI4REQtQTVBRS00MjdELTgxNTctRTkxRDIxREQ3RTE5fTwv
UHJvamVjdEd1aWQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIuLlx0
YXJnZXRzLnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWlj
cm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPERlYnVnZ2VyRmxh
dm9yPkRiZ2VuZ0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4KKyAgICA8SW5jbHVkZVBh
dGg+Li5cLi5caW5jbHVkZTskKEluY2x1ZGVQYXRoKTwvSW5jbHVkZVBhdGg+CisgICAgPFJ1bkNv
ZGVBbmFseXNpcz50cnVlPC9SdW5Db2RlQW5hbHlzaXM+CisgICAgPEVuYWJsZUluZjJjYXQ+ZmFs
c2U8L0VuYWJsZUluZjJjYXQ+CisgICAgPEludERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZp
Z3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L0ludERpcj4KKyAgICA8T3V0RGlyPi4uXCQoQ29u
ZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvT3V0RGlyPgorICA8L1Byb3BlcnR5R3JvdXA+
CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8UHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVfXz0iWEVOQ09OU19DT0lOU1QiOyUoUHJlcHJvY2Vz
c29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxXYXJuaW5n
TGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEaXNhYmxlU3Bl
Y2lmaWNXYXJuaW5ncz40MTI3OzQ1NDg7NDcxMTs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7Mjgx
OTY7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgor
ICAgICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21w
aWxhdGlvbj4KKyAgICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+CisgICAg
ICA8UnVudGltZUxpYnJhcnkgQ29uZGl0aW9uPSInJChVc2VEZWJ1Z0xpYnJhcmllcyknPT0ndHJ1
ZSciPk11bHRpVGhyZWFkZWREZWJ1ZzwvUnVudGltZUxpYnJhcnk+CisgICAgICA8UnVudGltZUxp
YnJhcnkgQ29uZGl0aW9uPSInJChVc2VEZWJ1Z0xpYnJhcmllcyknPT0nZmFsc2UnIj5NdWx0aVRo
cmVhZGVkPC9SdW50aW1lTGlicmFyeT4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAg
ICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZT4uLi8uLi9zcmMvY29pbnN0L3hlbmNvbnNfY29pbnN0
LmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2ll
cz5zZXR1cGFwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVu
ZGVuY2llcz4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1E
ZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIj4KKyAgICA8
Q2xDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9faTM4Nl9fOyUoUHJl
cHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICA8L0Ns
Q29tcGlsZT4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91
cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIj4KKyAgICA8Q2xDb21waWxlPgorICAg
ICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZp
bml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgIDwvQ2xDb21waWxlPgorICA8
L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPEZpbGVzVG9QYWNrYWdl
IEluY2x1ZGU9IiQoVGFyZ2V0UGF0aCkiIC8+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9
IiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkucGRiIiAvPgorICAgIDxGaWxlc1RvUGFja2FnZSBJbmNs
dWRlPSJAKEluZi0+JyUoQ29weU91dHB1dCknKSIgQ29uZGl0aW9uPSInQChJbmYpJyE9JyciIC8+
CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cLi5cc3JjXGNvaW5zdFxjb2luc3QuYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3Jv
dXA+CisgICAgPE5vbmUgSW5jbHVkZT0iLi5cLi5cc3JjXGNvaW5zdFx4ZW5jb25zX2NvaW5zdC5k
ZWYiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0
aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMy
MDE3L3hlbmNvbnNfY29pbnN0L3hlbmNvbnNfY29pbnN0LnZjeHByb2oudXNlciBiL3ZzMjAxNy94
ZW5jb25zX2NvaW5zdC94ZW5jb25zX2NvaW5zdC52Y3hwcm9qLnVzZXIKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uYTQyN2M4MAotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy94
ZW5jb25zX2NvaW5zdC94ZW5jb25zX2NvaW5zdC52Y3hwcm9qLnVzZXIKQEAgLTAsMCArMSw4IEBA
Cis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNW
ZXJzaW9uPSIxNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9w
ZXIvbXNidWlsZC8yMDAzIj4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFNpZ25Nb2RlPlRlc3RT
aWduPC9TaWduTW9kZT4KKyAgICA8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW5jb25zLnBm
eDwvVGVzdENlcnRpZmljYXRlPgorICAgIDxUaW1lU3RhbXBTZXJ2ZXI+aHR0cDovL3RpbWVzdGFt
cC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1RpbWVTdGFtcFNlcnZlcj4KKyAg
PC9Qcm9wZXJ0eUdyb3VwPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3hlbmNvbnNf
bW9uaXRvci94ZW5jb25zX21vbml0b3IudmN4cHJvaiBiL3ZzMjAxNy94ZW5jb25zX21vbml0b3Iv
eGVuY29uc19tb25pdG9yLnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMDViNWU0NQotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy94ZW5jb25zX21vbml0b3IveGVu
Y29uc19tb25pdG9yLnZjeHByb2oKQEAgLTAsMCArMSw3NyBAQAorPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9v
bHNWZXJzaW9uPSIxNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZl
bG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEltcG9ydCBQcm9qZWN0PSIuLlxjb25maWdzLnByb3Bz
IiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxDaGFy
YWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldD5X
aW5kb3dzQXBwbGljYXRpb25Gb3JEcml2ZXJzMTAuMDwvUGxhdGZvcm1Ub29sc2V0PgorICAgIDxD
b25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgIDwvUHJv
cGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29m
dC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMi
PgorICAgIDxQcm9qZWN0R3VpZD57ODk5MUYwQTUtNDA4Qi00M0UwLTg4Q0MtOTU1MEQ0QUFFNjE2
fTwvUHJvamVjdEd1aWQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIu
Llx0YXJnZXRzLnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClc
TWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPEluY2x1ZGVQ
YXRoPiQoSW5jbHVkZVBhdGgpPC9JbmNsdWRlUGF0aD4KKyAgICA8UnVuQ29kZUFuYWx5c2lzPnRy
dWU8L1J1bkNvZGVBbmFseXNpcz4KKyAgICA8RW5hYmxlSW5mMmNhdD5mYWxzZTwvRW5hYmxlSW5m
MmNhdD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8Q3VzdG9t
QnVpbGRBZnRlclRhcmdldHM+TGluazwvQ3VzdG9tQnVpbGRBZnRlclRhcmdldHM+CisgIDwvUHJv
cGVydHlHcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPENsQ29tcGlsZT4KKyAg
ICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoU29sdXRpb25EaXIpLi5caW5jbHVk
ZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19XSU5ET1dTO19D
UlRfU0VDVVJFX05PX1dBUk5JTkdTO19fTU9EVUxFX189IlhFTkNPTlNfTU9OSVRPUiI7JShQcmVw
cm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFdh
cm5pbmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgorICAgICAgPERpc2Fi
bGVTcGVjaWZpY1dhcm5pbmdzPjQxMjc7NDcxMTs0NTQ4OzQ4MjA7NDY2ODs0MjU1OzYwMDE7NjA1
NDsyODE5NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2Fybmlu
Z3M+CisgICAgICA8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50cnVlPC9NdWx0aVByb2Nlc3Nv
ckNvbXBpbGF0aW9uPgorICAgICAgPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwvRW5hYmxlUFJFZmFzdD4K
KyAgICAgIDxSdW50aW1lTGlicmFyeSBDb25kaXRpb249IickKFVzZURlYnVnTGlicmFyaWVzKSc9
PSd0cnVlJyI+TXVsdGlUaHJlYWRlZERlYnVnPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxSdW50
aW1lTGlicmFyeSBDb25kaXRpb249IickKFVzZURlYnVnTGlicmFyaWVzKSc9PSdmYWxzZSciPk11
bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5r
PgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3RzYXBpMzIubGliO2NmZ21ncjMyLmxp
YjtzZXR1cGFwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVu
ZGVuY2llcz4KKyAgICA8L0xpbms+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxBZGRp
dGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoU29sdXRpb25EaXIpLi5caW5jbHVkZTslKEFkZGl0
aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgor
ICAgIDwvUmVzb3VyY2VDb21waWxlPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVt
RGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+CisgICAg
PENsQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX2kzODZfXzslKFBy
ZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgPC9D
bENvbXBpbGU+CisgICAgPEN1c3RvbUJ1aWxkU3RlcD4KKyAgICAgIDxPdXRwdXRzPiQoVGFyZ2V0
RGlyKSQoVGFyZ2V0TmFtZSkuZGxsPC9PdXRwdXRzPgorICAgICAgPElucHV0cz4kKEludERpcikk
KFRhcmdldE5hbWUpLnJlczwvSW5wdXRzPgorICAgICAgPENvbW1hbmQ+bGluayAtbWFjaGluZTp4
ODYgLWRsbCAtbm9lbnRyeSAtb3V0OiUoT3V0cHV0cykgJShJbnB1dHMpPC9Db21tYW5kPgorICAg
IDwvQ3VzdG9tQnVpbGRTdGVwPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVm
aW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgorICAgIDxDbENv
bXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X194ODZfNjRfXzslKFByZXBy
b2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgPC9DbENv
bXBpbGU+CisgICAgPEN1c3RvbUJ1aWxkU3RlcD4KKyAgICAgIDxPdXRwdXRzPiQoVGFyZ2V0RGly
KSQoVGFyZ2V0TmFtZSkuZGxsPC9PdXRwdXRzPgorICAgICAgPElucHV0cz4kKEludERpcikkKFRh
cmdldE5hbWUpLnJlczwvSW5wdXRzPgorICAgICAgPENvbW1hbmQ+bGluayAtbWFjaGluZTp4NjQg
LWRsbCAtbm9lbnRyeSAtb3V0OiUoT3V0cHV0cykgJShJbnB1dHMpPC9Db21tYW5kPgorICAgIDwv
Q3VzdG9tQnVpbGRTdGVwPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtR3JvdXA+
CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoVGFyZ2V0UGF0aCkiIC8+CisgICAgPEZp
bGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkucGRiIiAvPgorICAg
IDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKE91dERpcikkKFRhcmdldE5hbWUpLmRsbCIgLz4K
KyAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iQChJbmYtPiclKENvcHlPdXRwdXQpJykiIENv
bmRpdGlvbj0iJ0AoSW5mKSchPScnIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4K
KyAgICA8TWVzc2FnZUNvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXG1vbml0b3JcbWVzc2FnZXMu
bWMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5cLi5cc3JjXG1vbml0b3JcbW9uaXRvci5jIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAg
PEl0ZW1Hcm91cD4KKyAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1xtb25p
dG9yXHhlbmNvbnNfbW9uaXRvci5yYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJv
amVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Cis8L1Byb2pl
Y3Q+CmRpZmYgLS1naXQgYS92czIwMTcveGVuY29uc19tb25pdG9yL3hlbmNvbnNfbW9uaXRvci52
Y3hwcm9qLnVzZXIgYi92czIwMTcveGVuY29uc19tb25pdG9yL3hlbmNvbnNfbW9uaXRvci52Y3hw
cm9qLnVzZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQyN2M4MAotLS0g
L2Rldi9udWxsCisrKyBiL3ZzMjAxNy94ZW5jb25zX21vbml0b3IveGVuY29uc19tb25pdG9yLnZj
eHByb2oudXNlcgpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9
InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjE0LjAiIHhtbG5zPSJodHRwOi8vc2No
ZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8UHJvcGVydHlH
cm91cD4KKyAgICA8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgorICAgIDxUZXN0Q2VydGlm
aWNhdGU+Li5cLi5cc3JjXHhlbmNvbnMucGZ4PC9UZXN0Q2VydGlmaWNhdGU+CisgICAgPFRpbWVT
dGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRzL3RpbXN0YW1w
LmRsbDwvVGltZVN0YW1wU2VydmVyPgorICA8L1Byb3BlcnR5R3JvdXA+Cis8L1Byb2plY3Q+CmRp
ZmYgLS1naXQgYS92czIwMTcveGVuY29uc190dHkveGVuY29uc190dHkudmN4cHJvaiBiL3ZzMjAx
Ny94ZW5jb25zX3R0eS94ZW5jb25zX3R0eS52Y3hwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjEzNTEyNmMKLS0tIC9kZXYvbnVsbAorKysgYi92czIwMTcveGVuY29uc190
dHkveGVuY29uc190dHkudmN4cHJvagpAQCAtMCwwICsxLDYwIEBACis8P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBU
b29sc1ZlcnNpb249IjE0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2Rl
dmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXGNvbmZpZ3MucHJv
cHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPENo
YXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8UGxhdGZvcm1Ub29sc2V0
PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnMxMC4wPC9QbGF0Zm9ybVRvb2xzZXQ+CisgICAg
PENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgPC9Q
cm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9z
b2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFs
cyI+CisgICAgPFByb2plY3RHdWlkPns3OUQ5OEY4My01QTJGLTRERTYtQjYyQy01MzBENzBCODhD
M0Z9PC9Qcm9qZWN0R3VpZD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9
Ii4uXHRhcmdldHMucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRo
KVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8SW5jbHVk
ZVBhdGg+JChJbmNsdWRlUGF0aCk8L0luY2x1ZGVQYXRoPgorICAgIDxSdW5Db2RlQW5hbHlzaXM+
dHJ1ZTwvUnVuQ29kZUFuYWx5c2lzPgorICAgIDxFbmFibGVJbmYyY2F0PmZhbHNlPC9FbmFibGVJ
bmYyY2F0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgorICAg
IDxDbENvbXBpbGU+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFNvbHV0
aW9uRGlyKS4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRp
b25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5X
SU4zMjtfV0lORE9XUztfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUzslKFByZXByb2Nlc3NvckRlZmlu
aXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8V2FybmluZ0xldmVsPkVu
YWJsZUFsbFdhcm5pbmdzPC9XYXJuaW5nTGV2ZWw+CisgICAgICA8RGlzYWJsZVNwZWNpZmljV2Fy
bmluZ3M+NDEyNzs0NzExOzQ1NDg7NDgyMDs0NjY4OzQyNTU7NjAwMTs2MDU0OzI4MTk2OyUoRGlz
YWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4KKyAgICAgIDxN
dWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+
CisgICAgICA8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFibGVQUkVmYXN0PgorICAgICAgPFJ1bnRp
bWVMaWJyYXJ5IENvbmRpdGlvbj0iJyQoVXNlRGVidWdMaWJyYXJpZXMpJz09J3RydWUnIj5NdWx0
aVRocmVhZGVkRGVidWc8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5IENv
bmRpdGlvbj0iJyQoVXNlRGVidWdMaWJyYXJpZXMpJz09J2ZhbHNlJyI+TXVsdGlUaHJlYWRlZDwv
UnVudGltZUxpYnJhcnk+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRk
aXRpb25hbERlcGVuZGVuY2llcz5zZXR1cGFwaS5saWI7dXNlcmVudi5saWI7JShBZGRpdGlvbmFs
RGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICA8L0xpbms+CisgICAg
PFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQo
U29sdXRpb25EaXIpLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9B
ZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgIDwvUmVzb3VyY2VDb21waWxlPgorICA8
L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0i
JyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucz5fX2kzODZfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJl
cHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgPC9DbENvbXBpbGU+CisgIDwvSXRlbURlZmluaXRp
b25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSkn
PT0neDY0JyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9u
cz5fX3g4Nl82NF9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZp
bml0aW9ucz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8
SXRlbUdyb3VwPgorICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKFRhcmdldFBhdGgpIiAv
PgorICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKE91dERpcikkKFRhcmdldE5hbWUpLnBk
YiIgLz4KKyAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iQChJbmYtPiclKENvcHlPdXRwdXQp
JykiIENvbmRpdGlvbj0iJ0AoSW5mKSchPScnIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1H
cm91cD4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x0dHlcdHR5LmMiIC8+Cisg
IDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVk
ZT0iLi5cLi5cc3JjXHR0eVx4ZW5jb25zX3R0eS5yYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJ
bXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+
Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTcveGVuY29uc190dHkveGVuY29uc190dHku
dmN4cHJvai51c2VyIGIvdnMyMDE3L3hlbmNvbnNfdHR5L3hlbmNvbnNfdHR5LnZjeHByb2oudXNl
cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDI3YzgwCi0tLSAvZGV2L251
bGwKKysrIGIvdnMyMDE3L3hlbmNvbnNfdHR5L3hlbmNvbnNfdHR5LnZjeHByb2oudXNlcgpAQCAt
MCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJv
amVjdCBUb29sc1ZlcnNpb249IjE0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQu
Y29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8U2ln
bk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgorICAgIDxUZXN0Q2VydGlmaWNhdGU+Li5cLi5cc3Jj
XHhlbmNvbnMucGZ4PC9UZXN0Q2VydGlmaWNhdGU+CisgICAgPFRpbWVTdGFtcFNlcnZlcj5odHRw
Oi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRzL3RpbXN0YW1wLmRsbDwvVGltZVN0YW1w
U2VydmVyPgorICA8L1Byb3BlcnR5R3JvdXA+Cis8L1Byb2plY3Q+Ci0tIAoyLjUuMwoKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBt
YWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz
dHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 10:41:09 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 10:41:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egTLg-0006rM-7I; Tue, 30 Jan 2018 10:41:08 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=4jj6=ez=citrix.com=prvs=5611e4cd2=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egTLf-0006qk-G7
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 10:41:07 +0000
X-Inumbo-ID: 0ad95c26-05aa-11e8-ba59-bc764e045a96
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 0ad95c26-05aa-11e8-ba59-bc764e045a96;
 Tue, 30 Jan 2018 11:40:52 +0100 (CET)
X-IronPort-AV: E=Sophos;i="5.46,434,1511827200"; d="scan'208";a="460248659"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Tue, 30 Jan 2018 10:40:24 +0000
Message-ID: <1517308824-2738-2-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1517308824-2738-1-git-send-email-paul.durrant@citrix.com>
References: <1517308824-2738-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xencons 2/2] Do more optimization in release
	builds and add /Qspectre flag
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

U3BlY3RyZSBtaXRpZ2F0aW9ucyBhcHBhcmVudGx5IG9ubHkgd29yayBvbiBvcHRpbWl6ZWQgY29k
ZS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+
Ci0tLQogdnMyMDE3L3hlbmNvbnMveGVuY29ucy52Y3hwcm9qIHwgMTIgKysrKysrKysrKy0tCiAx
IGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n
aXQgYS92czIwMTcveGVuY29ucy94ZW5jb25zLnZjeHByb2ogYi92czIwMTcveGVuY29ucy94ZW5j
b25zLnZjeHByb2oKaW5kZXggZDA2NGY5Ni4uYWM3N2I4MyAxMDA2NDQKLS0tIGEvdnMyMDE3L3hl
bmNvbnMveGVuY29ucy52Y3hwcm9qCisrKyBiL3ZzMjAxNy94ZW5jb25zL3hlbmNvbnMudmN4cHJv
agpAQCAtMjIsOCArMjIsOSBAQAogICAgIDxDbENvbXBpbGU+CiAgICAgICA8QWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz4kKFdpbmRvd3NTZGtEaXIpXGluY2x1ZGVca207Li5cLi5caW5jbHVk
ZTsuLlwuLlxpbmNsdWRlXHhlbjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRp
dGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25z
Pl9fTU9EVUxFX189IlhFTkNPTlMiO1BPT0xfTlhfT1BUSU49MTtOVF9QUk9DRVNTT1JfR1JPVVBT
OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAg
ICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgogICAgICAg
PFdhcm5pbmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgotICAgICAgPERp
c2FibGVTcGVjaWZpY1dhcm5pbmdzPjQ0NjQ7NDcxMTs0NTQ4OzQ4MjA7NDY2ODs0MjU1OzYwMDE7
NjA1NDsyODE5NjszMDAzMDszMDAyOTslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJs
ZVNwZWNpZmljV2FybmluZ3M+CisgICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDQ2NDs0
NzExOzQ3NzA7NDU0ODs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7MzAwMzA7MzAwMjk7
JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgogICAg
ICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxh
dGlvbj4KICAgICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+CiAgICAgPC9D
bENvbXBpbGU+CkBAIC0zMyw3ICszNCw3IEBACiAgICAgPExpbms+CiAgICAgICA8SW1hZ2VIYXNT
YWZlRXhjZXB0aW9uSGFuZGxlcnM+ZmFsc2U8L0ltYWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJz
PgogICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChEREtfTElCX1BBVEgpL1J0bHZlci5s
aWI7JChEREtfTElCX1BBVEgpL2xpYmNudHByLmxpYjskKERES19MSUJfUEFUSCkvYXV4X2tsaWIu
bGliOyQoRERLX0xJQl9QQVRIKS9rc2VjZGQubGliOyQoRERLX0xJQl9QQVRIKS9wcm9jZ3JwLmxp
YjskKERES19MSUJfUEFUSCkvd2Rtc2VjLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9B
ZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8
L0VuYWJsZUNPTURBVEZvbGRpbmc+CisgICAgICA8TGlua1RpbWVDb2RlR2VuZXJhdGlvbj5Vc2VM
aW5rVGltZUNvZGVHZW5lcmF0aW9uPC9MaW5rVGltZUNvZGVHZW5lcmF0aW9uPgogICAgIDwvTGlu
az4KICAgICA8SW5mPgogICAgICAgPFNwZWNpZnlBcmNoaXRlY3R1cmU+dHJ1ZTwvU3BlY2lmeUFy
Y2hpdGVjdHVyZT4KQEAgLTU4LDYgKzU5LDEzIEBACiAgICAgICA8QXJjaGl0ZWN0dXJlPmFtZDY0
PC9BcmNoaXRlY3R1cmU+CiAgICAgPC9JbmY+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAg
PEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKSc9PSdXaW5k
b3dzIDggUmVsZWFzZSciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8RmF2b3JTaXplT3JTcGVl
ZD5TcGVlZDwvRmF2b3JTaXplT3JTcGVlZD4KKyAgICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRp
b24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgICAgPEFkZGl0aW9uYWxPcHRp
b25zPi9Rc3BlY3RyZSAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Cisg
ICAgPC9DbENvbXBpbGU+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4K
ICAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChUYXJnZXRQYXRoKSIgLz4KICAgICA8Rmls
ZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5wZGIiIC8+Ci0tIAoy
LjUuMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndp
bi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn
Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2
ZWw=

From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 10:48:39 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 10:48:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egTSw-00071S-VC; Tue, 30 Jan 2018 10:48:38 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1egTSv-00071M-Of
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 10:48:37 +0000
Date: Tue, 30 Jan 2018 10:48:42 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <3044584.13.1517309328287.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_12_26563340.1517309323006"
X-Jenkins-Job: XENIFACE-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENIFACE-master - Build #72 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_12_26563340.1517309323006
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #72.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENIFACE-master/72/console to view the results.
------=_Part_12_26563340.1517309323006
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_12_26563340.1517309323006--


From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 10:56:23 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 10:56:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egTaQ-0007fH-Ox; Tue, 30 Jan 2018 10:56:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=4jj6=ez=citrix.com=prvs=5611e4cd2=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egTaP-0007et-MT
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 10:56:21 +0000
X-Inumbo-ID: 404f98c8-05ac-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 404f98c8-05ac-11e8-b9b1-635ca7ef6cff;
 Tue, 30 Jan 2018 10:56:41 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,434,1511827200"; d="scan'208";a="460250116"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Tue, 30 Jan 2018 10:56:07 +0000
Message-ID: <1517309767-3027-2-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1517309767-3027-1-git-send-email-paul.durrant@citrix.com>
References: <1517309767-3027-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xenhid 2/2] Do more optimization in release
	builds and add /Qspectre flag
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

U3BlY3RyZSBtaXRpZ2F0aW9ucyBhcHBhcmVudGx5IG9ubHkgd29yayBvbiBvcHRpbWl6ZWQgY29k
ZS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+
Ci0tLQogdnMyMDE3L3hlbmhpZC94ZW5oaWQudmN4cHJvaiB8IDEyICsrKysrKysrKystLQogMSBm
aWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvdnMyMDE3L3hlbmhpZC94ZW5oaWQudmN4cHJvaiBiL3ZzMjAxNy94ZW5oaWQveGVuaGlkLnZj
eHByb2oKaW5kZXggZGRjYmU3Ni4uY2EwZjcwOSAxMDA2NDQKLS0tIGEvdnMyMDE3L3hlbmhpZC94
ZW5oaWQudmN4cHJvagorKysgYi92czIwMTcveGVuaGlkL3hlbmhpZC52Y3hwcm9qCkBAIC0yMiw4
ICsyMiw5IEBACiAgICAgPENsQ29tcGlsZT4KICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPiQoV2luZG93c1Nka0RpcilcaW5jbHVkZVxrbTsuLlwuLlxpbmNsdWRlOy4uXC4uXGlu
Y2x1ZGVceGVuOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNs
dWRlRGlyZWN0b3JpZXM+CiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVf
Xz0iWEVOSElEIjtQT09MX05YX09QVElOPTE7TlRfUFJPQ0VTU09SX0dST1VQUzslKFByZXByb2Nl
c3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8SW50cmlu
c2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KICAgICAgIDxXYXJuaW5nTGV2
ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxEaXNhYmxlU3BlY2lm
aWNXYXJuaW5ncz40NDY0OzQ3MTE7NDU0ODs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7
MzAwMzA7MzAwMjk7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dh
cm5pbmdzPgorICAgICAgPERpc2FibGVTcGVjaWZpY1dhcm5pbmdzPjQ0NjQ7NDcxMTs0NTQ4OzQ3
NzA7NDgyMDs0NjY4OzQyNTU7NjAwMTs2MDU0OzI4MTk2OzMwMDMwOzMwMDI5OyUoRGlzYWJsZVNw
ZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4KICAgICAgIDxNdWx0aVBy
b2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+CiAgICAg
ICA8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFibGVQUkVmYXN0PgogICAgIDwvQ2xDb21waWxlPgpA
QCAtMzMsNyArMzQsNyBAQAogICAgIDxMaW5rPgogICAgICAgPEltYWdlSGFzU2FmZUV4Y2VwdGlv
bkhhbmRsZXJzPmZhbHNlPC9JbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz4KICAgICAgIDxB
ZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoRERLX0xJQl9QQVRIKS9oaWRjbGFzcy5saWI7JChEREtf
TElCX1BBVEgpL1J0bHZlci5saWI7JChEREtfTElCX1BBVEgpL2xpYmNudHByLmxpYjskKERES19M
SUJfUEFUSCkvYXV4X2tsaWIubGliOyQoRERLX0xJQl9QQVRIKS9rc2VjZGQubGliOyQoRERLX0xJ
Ql9QQVRIKS9wcm9jZ3JwLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFs
RGVwZW5kZW5jaWVzPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNP
TURBVEZvbGRpbmc+CisgICAgICA8TGlua1RpbWVDb2RlR2VuZXJhdGlvbj5Vc2VMaW5rVGltZUNv
ZGVHZW5lcmF0aW9uPC9MaW5rVGltZUNvZGVHZW5lcmF0aW9uPgogICAgIDwvTGluaz4KICAgICA8
SW5mPgogICAgICAgPFNwZWNpZnlBcmNoaXRlY3R1cmU+dHJ1ZTwvU3BlY2lmeUFyY2hpdGVjdHVy
ZT4KQEAgLTU4LDYgKzU5LDEzIEBACiAgICAgICA8QXJjaGl0ZWN0dXJlPmFtZDY0PC9BcmNoaXRl
Y3R1cmU+CiAgICAgPC9JbmY+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZp
bml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKSc9PSdXaW5kb3dzIDggUmVs
ZWFzZSciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8RmF2b3JTaXplT3JTcGVlZD5TcGVlZDwv
RmF2b3JTaXplT3JTcGVlZD4KKyAgICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwv
V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9Rc3Bl
Y3RyZSAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgPC9DbENv
bXBpbGU+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Rmls
ZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChUYXJnZXRQYXRoKSIgLz4KICAgICA8RmlsZXNUb1BhY2th
Z2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5wZGIiIC8+Ci0tIAoyLjUuMwoKCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZl
bCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 10:56:23 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 10:56:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egTaR-0007fl-QT; Tue, 30 Jan 2018 10:56:23 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=4jj6=ez=citrix.com=prvs=5611e4cd2=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egTaQ-0007ew-Mv
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 10:56:22 +0000
X-Inumbo-ID: 4103e874-05ac-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 4103e874-05ac-11e8-b9b1-635ca7ef6cff;
 Tue, 30 Jan 2018 10:56:41 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,434,1511827200"; d="scan'208";a="460250117"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Tue, 30 Jan 2018 10:56:06 +0000
Message-ID: <1517309767-3027-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xenhid 1/2] Add support for building with
	Visual Studio 2017
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

QWxzbyByZW1vdmUgbWFwcGluZ3MgZm9yIG9ic29sZXRlIHZlcnNpb25zIG9mIFZTIGluIGJ1aWxk
LnB5LgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNv
bT4KLS0tCiBidWlsZC5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
IDQ2ICsrKysrKystLS0tLQogbXNidWlsZC5iYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgNiArLQogdnMyMDE3L2NvbmZpZ3MucHJvcHMgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCA0NSArKysrKysrKysrKwogdnMyMDE3L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9q
ICAgICAgICAgICAgICAgICAgfCA0OSArKysrKysrKysrKysKIHZzMjAxNy9wYWNrYWdlL3BhY2th
Z2UudmN4cHJvai51c2VyICAgICAgICAgICAgIHwgIDggKysKIHZzMjAxNy90YXJnZXRzLnByb3Bz
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzUgKysrKysrKysrCiB2czIwMTcveGVuaGlk
LnNsbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDk5ICsrKysrKysrKysrKysrKysr
KysrKysrKysKIHZzMjAxNy94ZW5oaWQveGVuaGlkLnZjeHByb2ogICAgICAgICAgICAgICAgICAg
IHwgODAgKysrKysrKysrKysrKysrKysrKysKIHZzMjAxNy94ZW5oaWQveGVuaGlkLnZjeHByb2ou
dXNlciAgICAgICAgICAgICAgIHwgIDggKysKIHZzMjAxNy94ZW5oaWRfY29pbnN0L3hlbmhpZF9j
b2luc3QudmN4cHJvaiAgICAgIHwgNjAgKysrKysrKysrKysrKysrCiB2czIwMTcveGVuaGlkX2Nv
aW5zdC94ZW5oaWRfY29pbnN0LnZjeHByb2oudXNlciB8ICA4ICsrCiAxMSBmaWxlcyBjaGFuZ2Vk
LCA0MjQgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQg
dnMyMDE3L2NvbmZpZ3MucHJvcHMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcvcGFja2FnZS9w
YWNrYWdlLnZjeHByb2oKIGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcvcGFja2FnZS9wYWNrYWdl
LnZjeHByb2oudXNlcgogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy90YXJnZXRzLnByb3BzCiBj
cmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3hlbmhpZC5zbG4KIGNyZWF0ZSBtb2RlIDEwMDY0NCB2
czIwMTcveGVuaGlkL3hlbmhpZC52Y3hwcm9qCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3hl
bmhpZC94ZW5oaWQudmN4cHJvai51c2VyCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3L3hlbmhp
ZF9jb2luc3QveGVuaGlkX2NvaW5zdC52Y3hwcm9qCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3
L3hlbmhpZF9jb2luc3QveGVuaGlkX2NvaW5zdC52Y3hwcm9qLnVzZXIKCmRpZmYgLS1naXQgYS9i
dWlsZC5weSBiL2J1aWxkLnB5CmluZGV4IGNkNzNjNjYuLjZiZTJkMzggMTAwNjQ0Ci0tLSBhL2J1
aWxkLnB5CisrKyBiL2J1aWxkLnB5CkBAIC0xNzIsMTggKzE3MiwyOCBAQCBkZWYgc2hlbGwoY29t
bWFuZCwgZGlyKToKICAgICByZXR1cm4gc3ViLnJldHVybmNvZGUKIAogCitkZWYgZmluZChuYW1l
LCBwYXRoKToKKyAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhwYXRoKToKKyAg
ICAgICAgaWYgbmFtZSBpbiBmaWxlczoKKyAgICAgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4o
cm9vdCwgbmFtZSkKKworCiBjbGFzcyBtc2J1aWxkX2ZhaWx1cmUoRXhjZXB0aW9uKToKICAgICBk
ZWYgX19pbml0X18oc2VsZiwgdmFsdWUpOgogICAgICAgICBzZWxmLnZhbHVlID0gdmFsdWUKICAg
ICBkZWYgX19zdHJfXyhzZWxmKToKICAgICAgICAgcmV0dXJuIHJlcHIoc2VsZi52YWx1ZSkKIAor
CiBkZWYgbXNidWlsZChwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgdGFyZ2V0LCBmaWxlLCBhcmdz
LCBkaXIpOgotICAgIG9zLmVudmlyb25bJ1BMQVRGT1JNJ10gPSBwbGF0Zm9ybQotICAgIG9zLmVu
dmlyb25bJ0NPTkZJR1VSQVRJT04nXSA9IGNvbmZpZ3VyYXRpb24KLSAgICBvcy5lbnZpcm9uWydU
QVJHRVQnXSA9IHRhcmdldAotICAgIG9zLmVudmlyb25bJ0ZJTEUnXSA9IGZpbGUKLSAgICBvcy5l
bnZpcm9uWydFWFRSQSddID0gYXJncworICAgIHZjdmFyc2FsbCA9IGZpbmQoJ3ZjdmFyc2FsbC5i
YXQnLCBvcy5lbnZpcm9uWydWUyddKQorCisgICAgb3MuZW52aXJvblsnTVNCVUlMRF9QTEFURk9S
TSddID0gcGxhdGZvcm0KKyAgICBvcy5lbnZpcm9uWydNU0JVSUxEX0NPTkZJR1VSQVRJT04nXSA9
IGNvbmZpZ3VyYXRpb24KKyAgICBvcy5lbnZpcm9uWydNU0JVSUxEX1RBUkdFVCddID0gdGFyZ2V0
CisgICAgb3MuZW52aXJvblsnTVNCVUlMRF9GSUxFJ10gPSBmaWxlCisgICAgb3MuZW52aXJvblsn
TVNCVUlMRF9FWFRSQSddID0gYXJncworICAgIG9zLmVudmlyb25bJ01TQlVJTERfVkNWQVJTQUxM
J10gPSB2Y3ZhcnNhbGwKIAogICAgIGJpbiA9IG9zLnBhdGguam9pbihvcy5nZXRjd2QoKSwgJ21z
YnVpbGQuYmF0JykKIApAQCAtMjAxLDggKzIxMSw2IEBAIGRlZiBidWlsZF9zbG4obmFtZSwgcmVs
ZWFzZSwgYXJjaCwgZGVidWcsIHZzKToKICAgICBlbGlmIGFyY2ggPT0gJ3g2NCc6CiAgICAgICAg
IHBsYXRmb3JtID0gJ3g2NCcKIAotICAgIGN3ZCA9IG9zLmdldGN3ZCgpCi0KICAgICBtc2J1aWxk
KHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCAnQnVpbGQnLCBuYW1lICsgJy5zbG4nLCAnJywgdnMp
CiAKIGRlZiBjb3B5X3BhY2thZ2UobmFtZSwgcmVsZWFzZSwgYXJjaCwgZGVidWcsIHZzKToKQEAg
LTMyNiwyNCArMzM0LDI0IEBAIGRlZiBhcmNoaXZlKGZpbGVuYW1lLCBmaWxlcywgdGd6PUZhbHNl
KToKIAogCiBkZWYgZ2V0VnNWZXJzaW9uKCk6Ci0gICAgdnNlbnYgPXt9Ci0gICAgdmFycyA9IHN1
YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFtvcy5lbnZpcm9uWydWUyddKydcXFZDXFx2Y3ZhcnNhbGwu
YmF0JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJiYnLCAnc2V0
J10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGVsbD1UcnVlKQorICAg
IHZzZW52ID0ge30KKyAgICB2Y3ZhcnNhbGw9IGZpbmQoJ3ZjdmFyc2FsbC5iYXQnLCBvcy5lbnZp
cm9uWydWUyddKQorCisgICAgdmFycyA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFt2Y3ZhcnNh
bGwsICd4ODZfYW1kNjQnLCAnJiYnLCAnc2V0J10sIHNoZWxsPVRydWUpCisKICAgICBmb3IgdmFy
IGluIHZhcnMuc3BsaXRsaW5lcygpOgogICAgICAgICBrLCBfLCB2ID0gbWFwKHN0ci5zdHJpcCwg
dmFyLnN0cmlwKCkuZGVjb2RlKCd1dGYtOCcpLnBhcnRpdGlvbignPScpKQogICAgICAgICBpZiBr
LnN0YXJ0c3dpdGgoJz8nKToKICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgIHZzZW52W2td
ID0gdgogCi0gICAgbWFwcGluZyA9IHsgJzExLjAnOid2czIwMTInLAotICAgICAgICAgICAgICAg
ICcxMi4wJzondnMyMDEzJywKLSAgICAgICAgICAgICAgICAnMTQuMCc6J3ZzMjAxNScgfQorICAg
IG1hcHBpbmcgPSB7ICcxNC4wJzondnMyMDE1JywKKyAgICAgICAgICAgICAgICAnMTUuMCc6J3Zz
MjAxNyd9CiAKICAgICByZXR1cm4gbWFwcGluZ1t2c2VudlsnVmlzdWFsU3R1ZGlvVmVyc2lvbidd
XQogCiAKLWlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CitkZWYgbWFpbigpOgogICAgIGRlYnVn
ID0geyAnY2hlY2tlZCc6IFRydWUsICdmcmVlJzogRmFsc2UgfQogICAgIGRyaXZlciA9ICd4ZW5o
aWQnCiAgICAgdnMgPSBnZXRWc1ZlcnNpb24oKQpAQCAtMzgzLDkgKzM5MSw4IEBAIGlmIF9fbmFt
ZV9fID09ICdfX21haW5fXyc6CiAKICAgICBzeW1zdG9yZV9kZWwoZHJpdmVyLCAzMCkKIAotICAg
IHJlbGVhc2UgPSB7ICd2czIwMTInOidXaW5kb3dzIFZpc3RhJywKLSAgICAgICAgICAgICAgICAn
dnMyMDEzJzonV2luZG93cyA3JywKLSAgICAgICAgICAgICAgICAndnMyMDE1JzonV2luZG93cyA4
JyB9CisgICAgcmVsZWFzZSA9IHsgJ3ZzMjAxNSc6J1dpbmRvd3MgOCcsCisgICAgICAgICAgICAg
ICAgJ3ZzMjAxNyc6J1dpbmRvd3MgOCcgfQogCiAgICAgc2h1dGlsLnJtdHJlZShkcml2ZXIsIGln
bm9yZV9lcnJvcnM9VHJ1ZSkKIApAQCAtNDAwLDMgKzQwNyw2IEBAIGlmIF9fbmFtZV9fID09ICdf
X21haW5fXyc6CiAKICAgICBhcmNoaXZlKGRyaXZlciArICdcXHNvdXJjZS50Z3onLCBtYW5pZmVz
dCgpLnNwbGl0bGluZXMoKSwgdGd6PVRydWUpCiAgICAgYXJjaGl2ZShkcml2ZXIgKyAnLnRhcics
IFtkcml2ZXIsJ3JldmlzaW9uJ10pCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAg
bWFpbigpCmRpZmYgLS1naXQgYS9tc2J1aWxkLmJhdCBiL21zYnVpbGQuYmF0CmluZGV4IDFiMWZi
YzguLmEyOGY5MzkgMTAwNjQ0Ci0tLSBhL21zYnVpbGQuYmF0CisrKyBiL21zYnVpbGQuYmF0CkBA
IC0xLDYgKzEsOCBAQAotY2FsbCAiJVZTJVxWQ1x2Y3ZhcnNhbGwuYmF0IiB4ODYKK3NldCBNU0JV
SUxEX1JPT1Q9JWNkJQorY2FsbCAiJU1TQlVJTERfVkNWQVJTQUxMJSIgeDg2X2FtZDY0CiBAZWNo
byBvbgotbXNidWlsZC5leGUgL206MSAvcDpDb25maWd1cmF0aW9uPSIlQ09ORklHVVJBVElPTiUi
IC9wOlBsYXRmb3JtPSIlUExBVEZPUk0lIiAvdDoiJVRBUkdFVCUiICVFWFRSQSUgJUZJTEUlCitj
ZCAiJU1TQlVJTERfUk9PVCUiCittc2J1aWxkLmV4ZSAvbToxIC9wOkNvbmZpZ3VyYXRpb249IiVN
U0JVSUxEX0NPTkZJR1VSQVRJT04lIiAvcDpQbGF0Zm9ybT0iJU1TQlVJTERfUExBVEZPUk0lIiAv
dDoiJU1TQlVJTERfVEFSR0VUJSIgJU1TQlVJTERfRVhUUkElICVNU0JVSUxEX0ZJTEUlCiBpZiBl
cnJvcmxldmVsIDEgZ290byBlcnJvcgogZXhpdCAwCiAKZGlmZiAtLWdpdCBhL3ZzMjAxNy9jb25m
aWdzLnByb3BzIGIvdnMyMDE3L2NvbmZpZ3MucHJvcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uNmZlOWEzMwotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy9jb25maWdzLnBy
b3BzCkBAIC0wLDAgKzEsNDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04
Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTUuMCIg
eG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAw
MyI+CisJPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKwkJPFByb2pl
Y3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgMTAgRGVidWd8V2luMzIiPgorCQkJPENv
bmZpZ3VyYXRpb24+V2luZG93cyAxMCBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKwkJCTxQbGF0Zm9y
bT5XaW4zMjwvUGxhdGZvcm0+CisJCQk8V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4xMDwv
V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KKwkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4K
KwkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgMTAgUmVsZWFzZXxXaW4z
MiI+CisJCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDEwIFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+
CisJCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorCQkJPFdpbmRvd3NUYXJnZXRQbGF0Zm9y
bVZlcnNpb24+MTA8L1dpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+CisJCTwvUHJvamVjdENv
bmZpZ3VyYXRpb24+CisJCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDEw
IERlYnVnfHg2NCI+CisJCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDEwIERlYnVnPC9Db25maWd1
cmF0aW9uPgorCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisJCQk8V2luZG93c1RhcmdldFBs
YXRmb3JtVmVyc2lvbj4xMDwvV2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KKwkJPC9Qcm9q
ZWN0Q29uZmlndXJhdGlvbj4KKwkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRv
d3MgMTAgUmVsZWFzZXx4NjQiPgorCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyAxMCBSZWxlYXNl
PC9Db25maWd1cmF0aW9uPgorCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisJCQk8V2luZG93
c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4xMDwvV2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4K
KwkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKwkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1
ZGU9IldpbmRvd3MgOCBEZWJ1Z3xXaW4zMiI+CisJCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDgg
RGVidWc8L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorCQkJ
PFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+OC4xPC9XaW5kb3dzVGFyZ2V0UGxhdGZvcm1W
ZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCQk8UHJvamVjdENvbmZpZ3VyYXRp
b24gSW5jbHVkZT0iV2luZG93cyA4IFJlbGVhc2V8V2luMzIiPgorCQkJPENvbmZpZ3VyYXRpb24+
V2luZG93cyA4IFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+V2luMzI8L1Bs
YXRmb3JtPgorCQkJPFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+OC4xPC9XaW5kb3dzVGFy
Z2V0UGxhdGZvcm1WZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCQk8UHJvamVj
dENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA4IERlYnVnfHg2NCI+CisJCQk8Q29uZmln
dXJhdGlvbj5XaW5kb3dzIDggRGVidWc8L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+eDY0
PC9QbGF0Zm9ybT4KKwkJCTxXaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPjguMTwvV2luZG93
c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4KKwkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKwkJPFBy
b2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgOCBSZWxlYXNlfHg2NCI+CisJCQk8
Q29uZmlndXJhdGlvbj5XaW5kb3dzIDggUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKwkJCTxQbGF0
Zm9ybT54NjQ8L1BsYXRmb3JtPgorCQkJPFdpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+OC4x
PC9XaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9u
PgorCTwvSXRlbUdyb3VwPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3BhY2thZ2Uv
cGFja2FnZS52Y3hwcm9qIGIvdnMyMDE3L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4YWYyNzkKLS0tIC9kZXYvbnVsbAorKysgYi92
czIwMTcvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oKQEAgLTAsMCArMSw0OSBAQAorPD94bWwgdmVy
c2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJC
dWlsZCIgVG9vbHNWZXJzaW9uPSIxNS4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0
LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEltcG9ydCBQcm9qZWN0PSIuLlxjb25m
aWdzLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgor
ICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXIxMC4wPC9QbGF0Zm9y
bVRvb2xzZXQ+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPlV0aWxpdHk8L0NvbmZpZ3VyYXRpb25U
eXBlPgorICAgIDxEcml2ZXJUeXBlPlBhY2thZ2U8L0RyaXZlclR5cGU+CisgICAgPERpc2FibGVG
YXN0VXBUb0RhdGVDaGVjaz50cnVlPC9EaXNhYmxlRmFzdFVwVG9EYXRlQ2hlY2s+CisgICAgPFN1
cHBvcnRzUGFja2FnaW5nPnRydWU8L1N1cHBvcnRzUGFja2FnaW5nPgorICAgIDxEcml2ZXJUYXJn
ZXRQbGF0Zm9ybT5EZXNrdG9wPC9Ecml2ZXJUYXJnZXRQbGF0Zm9ybT4KKyAgPC9Qcm9wZXJ0eUdy
b3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5E
ZWZhdWx0LnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAg
PFByb2plY3RHdWlkPns3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9PC9Qcm9q
ZWN0R3VpZD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdl
dHMucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3Nv
ZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8RW5hYmxlSW5mMmNhdD50
cnVlPC9FbmFibGVJbmYyY2F0PgorICAgIDxJbmYyQ2F0V2luZG93c1ZlcnNpb25MaXN0IENvbmRp
dGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPjhfeDY0O1NlcnZlcjhfeDY0OzEwX3g2NDtTZXJ2
ZXIxMF94NjQ8L0luZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3Q+CisgICAgPEluZjJDYXRXaW5kb3dz
VmVyc2lvbkxpc3QgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIj44X3g4NjsxMF94
ODY8L0luZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3Q+CisgICAgPERlYnVnZ2VyRmxhdm9yPkRiZ2Vu
Z0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4KKyAgICA8RW5hYmxlRGVwbG95bWVudD5G
YWxzZTwvRW5hYmxlRGVwbG95bWVudD4KKyAgICA8SW1wb3J0VG9TdG9yZT5GYWxzZTwvSW1wb3J0
VG9TdG9yZT4KKyAgICA8SW5zdGFsbE1vZGU+Tm9uZTwvSW5zdGFsbE1vZGU+CisgICAgPFNjcmlw
dERldmljZVF1ZXJ5PiVQYXRoVG9JbmYlPC9TY3JpcHREZXZpY2VRdWVyeT4KKyAgICA8RW5hYmxl
VmVyaWZpZXI+RmFsc2U8L0VuYWJsZVZlcmlmaWVyPgorICAgIDxBbGxEcml2ZXJzPkZhbHNlPC9B
bGxEcml2ZXJzPgorICAgIDxWZXJpZnlQcm9qZWN0T3V0cHV0PlRydWU8L1ZlcmlmeVByb2plY3RP
dXRwdXQ+CisgICAgPFZlcmlmeUZsYWdzPjEzMzU2MzwvVmVyaWZ5RmxhZ3M+CisgICAgPEludERp
cj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L0lu
dERpcj4KKyAgICA8T3V0RGlyPi4uXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwv
T3V0RGlyPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPFByb2plY3RS
ZWZlcmVuY2UgSW5jbHVkZT0iLi5ceGVuaGlkXHhlbmhpZC52Y3hwcm9qIj4KKyAgICAgIDxQcm9q
ZWN0PntDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9PC9Qcm9qZWN0PgorICAg
IDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlx4
ZW5oaWRfY29pbnN0XHhlbmhpZF9jb2luc3QudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57MkJG
QUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fTwvUHJvamVjdD4KKyAgICA8L1Byb2pl
Y3RSZWZlcmVuY2U+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxGaWxlc1Rv
UGFja2FnZSBJbmNsdWRlPSIkKERQSU5TVF9SRURJU1QpXHg4NlxkcGluc3QuZXhlIiBDb25kaXRp
b249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciIC8+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1
ZGU9IiQoRFBJTlNUX1JFRElTVClceDY0XGRwaW5zdC5leGUiIENvbmRpdGlvbj0iJyQoUGxhdGZv
cm0pJz09J3g2NCciIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNU
YXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorICA8SW1wb3J0R3JvdXAgTGFi
ZWw9IkV4dGVuc2lvblRhcmdldHMiPgorICA8L0ltcG9ydEdyb3VwPgorPC9Qcm9qZWN0PgpkaWZm
IC0tZ2l0IGEvdnMyMDE3L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qLnVzZXIgYi92czIwMTcvcGFj
a2FnZS9wYWNrYWdlLnZjeHByb2oudXNlcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi42YTJkNzI1Ci0tLSAvZGV2L251bGwKKysrIGIvdnMyMDE3L3BhY2thZ2UvcGFja2FnZS52
Y3hwcm9qLnVzZXIKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5n
PSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSIxNS4wIiB4bWxucz0iaHR0cDovL3Nj
aGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPFByb3BlcnR5
R3JvdXA+CisgICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9kZT4KKyAgICA8VGVzdENlcnRp
ZmljYXRlPi4uXC4uXHNyY1x4ZW5oaWQucGZ4PC9UZXN0Q2VydGlmaWNhdGU+CisgICAgPFRpbWVT
dGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRzL3RpbXN0YW1w
LmRsbDwvVGltZVN0YW1wU2VydmVyPgorICA8L1Byb3BlcnR5R3JvdXA+Cis8L1Byb2plY3Q+CmRp
ZmYgLS1naXQgYS92czIwMTcvdGFyZ2V0cy5wcm9wcyBiL3ZzMjAxNy90YXJnZXRzLnByb3BzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwNDU0MzQKLS0tIC9kZXYvbnVsbAor
KysgYi92czIwMTcvdGFyZ2V0cy5wcm9wcwpAQCAtMCwwICsxLDM1IEBACis8P3htbCB2ZXJzaW9u
PSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxk
IiBUb29sc1ZlcnNpb249IjE1LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29t
L2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1
cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRv
d3MgMTAgRGVidWd8V2luMzInIj4KKwkJPFRhcmdldFZlcnNpb24+V2luZG93czEwPC9UYXJnZXRW
ZXJzaW9uPgorCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+CisJ
PC9Qcm9wZXJ0eUdyb3VwPgorCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgMTAgUmVs
ZWFzZXxXaW4zMiciPgorCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzMTA8L1RhcmdldFZlcnNpb24+
CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+CisJPC9Qcm9w
ZXJ0eUdyb3VwPgorCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgMTAgRGVidWd8eDY0
JyI+CisJCTxUYXJnZXRWZXJzaW9uPldpbmRvd3MxMDwvVGFyZ2V0VmVyc2lvbj4KKwkJPFVzZURl
YnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPgorCTwvUHJvcGVydHlHcm91cD4K
Kwk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDEwIFJlbGVhc2V8eDY0JyI+CisJCTxU
YXJnZXRWZXJzaW9uPldpbmRvd3MxMDwvVGFyZ2V0VmVyc2lvbj4KKwkJPFVzZURlYnVnTGlicmFy
aWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KKwk8L1Byb3BlcnR5R3JvdXA+CisJPFByb3Bl
cnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IERlYnVnfFdpbjMyJyI+CisJCTxUYXJnZXRWZXJz
aW9uPldpbmRvd3M4PC9UYXJnZXRWZXJzaW9uPgorCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwv
VXNlRGVidWdMaWJyYXJpZXM+CisJPC9Qcm9wZXJ0eUdyb3VwPgorCTxQcm9wZXJ0eUdyb3VwIExh
YmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1dpbmRvd3MgOCBSZWxlYXNlfFdpbjMyJyI+CisJCTxUYXJnZXRWZXJzaW9uPldpbmRv
d3M4PC9UYXJnZXRWZXJzaW9uPgorCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVn
TGlicmFyaWVzPgorCTwvUHJvcGVydHlHcm91cD4KKwk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29u
ZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdX
aW5kb3dzIDggRGVidWd8eDY0JyI+CisJCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRW
ZXJzaW9uPgorCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+CisJ
PC9Qcm9wZXJ0eUdyb3VwPgorCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBSZWxl
YXNlfHg2NCciPgorCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwvVGFyZ2V0VmVyc2lvbj4KKwkJ
PFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KKwk8L1Byb3BlcnR5
R3JvdXA+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTcveGVuaGlkLnNsbiBiL3ZzMjAx
Ny94ZW5oaWQuc2xuCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhNTMxZTIK
LS0tIC9kZXYvbnVsbAorKysgYi92czIwMTcveGVuaGlkLnNsbgpAQCAtMCwwICsxLDk5IEBACitN
aWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiAxMi4w
MAorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4
ZW5oaWQiLCAieGVuaGlkXHhlbmhpZC52Y3hwcm9qIiwgIntDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0
Qy1EMkQwNTQzQzFEMTh9IgorRW5kUHJvamVjdAorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFE
MC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4ZW5oaWRfY29pbnN0IiwgInhlbmhpZF9jb2luc3Rc
eGVuaGlkX2NvaW5zdC52Y3hwcm9qIiwgInsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlE
NzhBNDR9IgorCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2pl
Y3QKKwkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0gPSB7QzNGOTZENEMt
RTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fQorCUVuZFByb2plY3RTZWN0aW9uCitFbmRQcm9q
ZWN0CitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0g
InBhY2thZ2UiLCAicGFja2FnZVxwYWNrYWdlLnZjeHByb2oiLCAiezczNzY4Q0M5LURCMjYtNDI5
Ny05RUM4LTEwNDJGODE1RUIxNX0iCisJUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2ll
cykgPSBwb3N0UHJvamVjdAorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4
fSA9IHtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9CisJCXsyQkZBQzdFNi0z
NDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9ID0gezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJE
QzVDOUQ3OEE0NH0KKwlFbmRQcm9qZWN0U2VjdGlvbgorRW5kUHJvamVjdAorR2xvYmFsCisJR2xv
YmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29sdXRpb24K
KwkJV2luZG93cyA4IERlYnVnfFdpbjMyID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCVdpbmRv
d3MgOCBEZWJ1Z3x4NjQgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCVdpbmRvd3MgOCBSZWxlYXNl
fFdpbjMyID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKKwkJV2luZG93cyA4IFJlbGVhc2V8eDY0
ID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCVdpbmRvd3MgMTAgRGVidWd8V2luMzIgPSBXaW5k
b3dzIDEwIERlYnVnfFdpbjMyCisJCVdpbmRvd3MgMTAgRGVidWd8eDY0ID0gV2luZG93cyAxMCBE
ZWJ1Z3x4NjQKKwkJV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyID0gV2luZG93cyAxMCBSZWxlYXNl
fFdpbjMyCisJCVdpbmRvd3MgMTAgUmVsZWFzZXx4NjQgPSBXaW5kb3dzIDEwIFJlbGVhc2V8eDY0
CisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRpb25Q
bGF0Zm9ybXMpID0gcG9zdFNvbHV0aW9uCisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1
QzlENzhBNDR9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVi
dWd8V2luMzIKKwkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93
cyA4IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKKwkJezJCRkFD
N0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyA4IERlYnVnfFdpbjMyLkRl
cGxveS4wID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5
Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4
IERlYnVnfHg2NAorCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5k
b3dzIDggRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCXsyQkZBQzdF
Ni0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkFj
dGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUt
QTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5k
b3dzIDggUmVsZWFzZXxXaW4zMgorCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4
QTQ0fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgOCBSZWxlYXNl
fFdpbjMyCisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3Mg
OCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKKwkJezJCRkFD
N0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkJ1
aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKKwkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDky
LUJEQzVDOUQ3OEE0NH0uV2luZG93cyAxMCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dz
IDEwIERlYnVnfFdpbjMyCisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9
LldpbmRvd3MgMTAgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIK
KwkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyAxMCBEZWJ1
Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJezJCRkFDN0U2LTM0
MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyAxMCBEZWJ1Z3x4NjQuQWN0aXZlQ2Zn
ID0gV2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVD
OUQ3OEE0NH0uV2luZG93cyAxMCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgMTAgRGVidWd8
eDY0CisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgMTAg
UmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJezJC
RkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyAxMCBSZWxlYXNlfFdp
bjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJezJCRkFDN0U2LTM0MjAt
NDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyLkRlcGxveS4w
ID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1C
REM1QzlENzhBNDR9LldpbmRvd3MgMTAgUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyAx
MCBSZWxlYXNlfHg2NAorCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5X
aW5kb3dzIDEwIFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJ
CXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgOCBEZWJ1Z3xX
aW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKKwkJezczNzY4Q0M5LURCMjYt
NDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA4IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBX
aW5kb3dzIDggRGVidWd8V2luMzIKKwkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1
RUIxNX0uV2luZG93cyA4IERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA4IERlYnVnfFdp
bjMyCisJCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgOCBE
ZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7NzM3NjhDQzktREIy
Ni00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDggRGVidWd8eDY0LkJ1aWxkLjAgPSBX
aW5kb3dzIDggRGVidWd8eDY0CisJCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVC
MTV9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJ
CXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgOCBSZWxlYXNl
fFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCisJCXs3Mzc2OENDOS1E
QjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1aWxk
LjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgt
MTA0MkY4MTVFQjE1fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3Mg
OCBSZWxlYXNlfFdpbjMyCisJCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9
LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQK
KwkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA4IFJlbGVh
c2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKKwkJezczNzY4Q0M5LURCMjYt
NDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkRlcGxveS4wID0g
V2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgx
NUVCMTV9LldpbmRvd3MgMTAgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBEZWJ1
Z3xXaW4zMgorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dz
IDEwIERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCXs3Mzc2
OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgMTAgRGVidWd8V2luMzIu
RGVwbG95LjAgPSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCXs3Mzc2OENDOS1EQjI2LTQyOTct
OUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgMTAgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRv
d3MgMTAgRGVidWd8eDY0CisJCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9
LldpbmRvd3MgMTAgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAorCQl7
NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDEwIERlYnVnfHg2
NC5EZXBsb3kuMCA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCXs3Mzc2OENDOS1EQjI2LTQyOTct
OUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBX
aW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJG
ODE1RUIxNX0uV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDEwIFJl
bGVhc2V8V2luMzIKKwkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2lu
ZG93cyAxMCBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMy
CisJCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgMTAgUmVs
ZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7NzM3NjhDQzkt
REIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0LkJ1aWxk
LjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0x
MDQyRjgxNUVCMTV9LldpbmRvd3MgMTAgUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDEw
IFJlbGVhc2V8eDY0CisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9Lldp
bmRvd3MgOCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKKwkJ
e0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA4IERlYnVnfFdp
bjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKKwkJe0MzRjk2RDRDLUU0NDEtNDdG
Ny1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA4IERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2lu
ZG93cyA4IERlYnVnfFdpbjMyCisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFE
MTh9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfHg2NAor
CQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDggRGVidWd8
eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8eDY0CisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3Rjct
QTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dz
IDggRGVidWd8eDY0CisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9Lldp
bmRvd3MgOCBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMy
CisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgOCBSZWxl
YXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7QzNGOTZENEMt
RTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5EZXBs
b3kuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0
Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dz
IDggUmVsZWFzZXx4NjQKKwkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0u
V2luZG93cyA4IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKKwkJ
e0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA4IFJlbGVhc2V8
eDY0LkRlcGxveS4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3
RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgMTAgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0g
V2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0
M0MxRDE4fS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDEwIERlYnVn
fFdpbjMyCisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3Mg
MTAgRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCXtDM0Y5
NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgMTAgRGVidWd8eDY0LkFj
dGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0
Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgMTAgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDEw
IERlYnVnfHg2NAorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5k
b3dzIDEwIERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCXtDM0Y5
NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4z
Mi5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJe0MzRjk2RDRDLUU0NDEt
NDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAg
PSBXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIKKwkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQy
RDA1NDNDMUQxOH0uV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyAx
MCBSZWxlYXNlfFdpbjMyCisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9
LldpbmRvd3MgMTAgUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNlfHg2
NAorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDEwIFJl
bGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJCXtDM0Y5NkQ0Qy1F
NDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgMTAgUmVsZWFzZXx4NjQuRGVwbG95
LjAgPSBXaW5kb3dzIDEwIFJlbGVhc2V8eDY0CisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2JhbFNl
Y3Rpb24oU29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uCisJCUhpZGVTb2x1dGlvbk5v
ZGUgPSBGQUxTRQorCUVuZEdsb2JhbFNlY3Rpb24KK0VuZEdsb2JhbApkaWZmIC0tZ2l0IGEvdnMy
MDE3L3hlbmhpZC94ZW5oaWQudmN4cHJvaiBiL3ZzMjAxNy94ZW5oaWQveGVuaGlkLnZjeHByb2oK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGRjYmU3NgotLS0gL2Rldi9udWxs
CisrKyBiL3ZzMjAxNy94ZW5oaWQveGVuaGlkLnZjeHByb2oKQEAgLTAsMCArMSw4MCBAQAorPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJn
ZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIxNS4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEltcG9ydCBQcm9qZWN0PSIu
Llxjb25maWdzLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVl
dHMiPgorICAgIDxEcml2ZXJUeXBlPldETTwvRHJpdmVyVHlwZT4KKyAgICA8UGxhdGZvcm1Ub29s
c2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyMTAuMDwvUGxhdGZvcm1Ub29sc2V0PgorICAgIDxD
b25maWd1cmF0aW9uVHlwZT5Ecml2ZXI8L0NvbmZpZ3VyYXRpb25UeXBlPgorICA8L1Byb3BlcnR5
R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3Bw
LkRlZmF1bHQucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAg
ICA8UHJvamVjdEd1aWQ+e0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH08L1By
b2plY3RHdWlkPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cdGFy
Z2V0cy5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jv
c29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxSdW5Db2RlQW5hbHlz
aXM+dHJ1ZTwvUnVuQ29kZUFuYWx5c2lzPgorICAgIDxFbmFibGVJbmYyY2F0PmZhbHNlPC9FbmFi
bGVJbmYyY2F0PgorICAgIDxJbnREaXI+Li5cJChQcm9qZWN0TmFtZSlcJChDb25maWd1cmF0aW9u
TmFtZSlcJChQbGF0Zm9ybSlcPC9JbnREaXI+CisgICAgPE91dERpcj4uLlwkKENvbmZpZ3VyYXRp
b25OYW1lKVwkKFBsYXRmb3JtKVw8L091dERpcj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SXRl
bURlZmluaXRpb25Hcm91cD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPEFkZGl0aW9uYWxJbmNs
dWRlRGlyZWN0b3JpZXM+JChXaW5kb3dzU2RrRGlyKVxpbmNsdWRlXGttOy4uXC4uXGluY2x1ZGU7
Li5cLi5caW5jbHVkZVx4ZW47JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRp
b25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5f
X01PRFVMRV9fPSJYRU5ISUQiO1BPT0xfTlhfT1BUSU49MTtOVF9QUk9DRVNTT1JfR1JPVVBTOyUo
UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAg
IDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxE
aXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40NDY0OzQ3MTE7NDU0ODs0ODIwOzQ2Njg7NDI1NTs2MDAx
OzYwNTQ7MjgxOTY7MzAwMzA7MzAwMjk7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2Fi
bGVTcGVjaWZpY1dhcm5pbmdzPgorICAgICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1
ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj4KKyAgICAgIDxFbmFibGVQUkVmYXN0PnRydWU8
L0VuYWJsZVBSRWZhc3Q+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4K
KyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXGluY2x1ZGU7JShBZGRp
dGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4K
KyAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxJbWFnZUhhc1NhZmVF
eGNlcHRpb25IYW5kbGVycz5mYWxzZTwvSW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+Cisg
ICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKERES19MSUJfUEFUSCkvaGlkY2xhc3MubGli
OyQoRERLX0xJQl9QQVRIKS9SdGx2ZXIubGliOyQoRERLX0xJQl9QQVRIKS9saWJjbnRwci5saWI7
JChEREtfTElCX1BBVEgpL2F1eF9rbGliLmxpYjskKERES19MSUJfUEFUSCkva3NlY2RkLmxpYjsk
KERES19MSUJfUEFUSCkvcHJvY2dycC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRk
aXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9F
bmFibGVDT01EQVRGb2xkaW5nPgorICAgIDwvTGluaz4KKyAgICA8SW5mPgorICAgICAgPFNwZWNp
ZnlBcmNoaXRlY3R1cmU+dHJ1ZTwvU3BlY2lmeUFyY2hpdGVjdHVyZT4KKyAgICAgIDxTcGVjaWZ5
RHJpdmVyVmVyRGlyZWN0aXZlVmVyc2lvbj50cnVlPC9TcGVjaWZ5RHJpdmVyVmVyRGlyZWN0aXZl
VmVyc2lvbj4KKyAgICAgIDxUaW1lU3RhbXA+JChNQUpPUl9WRVJTSU9OKS4kKE1JTk9SX1ZFUlNJ
T04pLiQoTUlDUk9fVkVSU0lPTikuJChCVUlMRF9OVU1CRVIpPC9UaW1lU3RhbXA+CisgICAgICA8
RW5hYmxlVmVyYm9zZT50cnVlPC9FbmFibGVWZXJib3NlPgorICAgIDwvSW5mPgorICA8L0l0ZW1E
ZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxh
dGZvcm0pJz09J1dpbjMyJyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JE
ZWZpbml0aW9ucz5fX2kzODZfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vz
c29yRGVmaW5pdGlvbnM+CisgICAgPC9DbENvbXBpbGU+CisgICAgPEluZj4KKyAgICAgIDxBcmNo
aXRlY3R1cmU+eDg2PC9BcmNoaXRlY3R1cmU+CisgICAgPC9JbmY+CisgIDwvSXRlbURlZmluaXRp
b25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSkn
PT0neDY0JyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9u
cz5fX3g4Nl82NF9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZp
bml0aW9ucz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8SW5mPgorICAgICAgPEFyY2hpdGVjdHVy
ZT5hbWQ2NDwvQXJjaGl0ZWN0dXJlPgorICAgIDwvSW5mPgorICA8L0l0ZW1EZWZpbml0aW9uR3Jv
dXA+CisgIDxJdGVtR3JvdXA+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoVGFyZ2V0
UGF0aCkiIC8+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoT3V0RGlyKSQoVGFyZ2V0
TmFtZSkucGRiIiAvPgorICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSJAKEluZi0+JyUoQ29w
eU91dHB1dCknKSIgQ29uZGl0aW9uPSInQChJbmYpJyE9JyciIC8+CisgIDwvSXRlbUdyb3VwPgor
ICA8SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbmhpZC9k
cml2ZXIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5oaWQvZmRv
LmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxSZXNvdXJjZUNvbXBp
bGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmhpZFx4ZW5oaWQucmMiIC8+CisgIDwvSXRlbUdyb3Vw
PgorICA8SXRlbUdyb3VwPgorICAgIDxJbmYgSW5jbHVkZT0iLi5ceGVuaGlkLmluZiIgLz4KKyAg
PC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPE5vbmUgSW5jbHVkZT0iLi5ccGFja2Fn
ZVxwYWNrYWdlLnZjeHByb2oiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9
IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorPC9Qcm9qZWN0Pgpk
aWZmIC0tZ2l0IGEvdnMyMDE3L3hlbmhpZC94ZW5oaWQudmN4cHJvai51c2VyIGIvdnMyMDE3L3hl
bmhpZC94ZW5oaWQudmN4cHJvai51c2VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjZhMmQ3MjUKLS0tIC9kZXYvbnVsbAorKysgYi92czIwMTcveGVuaGlkL3hlbmhpZC52Y3hw
cm9qLnVzZXIKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1
dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSIxNS4wIiB4bWxucz0iaHR0cDovL3NjaGVt
YXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPFByb3BlcnR5R3Jv
dXA+CisgICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9kZT4KKyAgICA8VGVzdENlcnRpZmlj
YXRlPi4uXC4uXHNyY1x4ZW5oaWQucGZ4PC9UZXN0Q2VydGlmaWNhdGU+CisgICAgPFRpbWVTdGFt
cFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRzL3RpbXN0YW1wLmRs
bDwvVGltZVN0YW1wU2VydmVyPgorICA8L1Byb3BlcnR5R3JvdXA+Cis8L1Byb2plY3Q+CmRpZmYg
LS1naXQgYS92czIwMTcveGVuaGlkX2NvaW5zdC94ZW5oaWRfY29pbnN0LnZjeHByb2ogYi92czIw
MTcveGVuaGlkX2NvaW5zdC94ZW5oaWRfY29pbnN0LnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uOWRmMzMyYgotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy94ZW5o
aWRfY29pbnN0L3hlbmhpZF9jb2luc3QudmN4cHJvagpAQCAtMCwwICsxLDYwIEBACis8P3htbCB2
ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9
IkJ1aWxkIiBUb29sc1ZlcnNpb249IjE1LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3Nv
ZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXGNv
bmZpZ3MucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+
CisgICAgPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJUeXBlPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQ+
V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczEwLjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgICA8
Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICA8
L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNy
b3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9i
YWxzIj4KKyAgICA8UHJvamVjdEd1aWQ+ezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3
OEE0NH08L1Byb2plY3RHdWlkPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVj
dD0iLi5cdGFyZ2V0cy5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1Bh
dGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxEZWJ1
Z2dlckZsYXZvcj5EYmdlbmdLZXJuZWxEZWJ1Z2dlcjwvRGVidWdnZXJGbGF2b3I+CisgICAgPElu
Y2x1ZGVQYXRoPi4uXC4uXGluY2x1ZGU7JChJbmNsdWRlUGF0aCk8L0luY2x1ZGVQYXRoPgorICAg
IDxSdW5Db2RlQW5hbHlzaXM+dHJ1ZTwvUnVuQ29kZUFuYWx5c2lzPgorICAgIDxFbmFibGVJbmYy
Y2F0PmZhbHNlPC9FbmFibGVJbmYyY2F0PgorICAgIDxJbnREaXI+Li5cJChQcm9qZWN0TmFtZSlc
JChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9JbnREaXI+CisgICAgPE91dERpcj4u
LlwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L091dERpcj4KKyAgPC9Qcm9wZXJ0
eUdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KKyAgICA8Q2xDb21waWxlPgorICAgICAg
PFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9fTU9EVUxFX189IlhFTkhJRF9DT0lOU1QiOyUoUHJl
cHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxX
YXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KKyAgICAgIDxEaXNh
YmxlU3BlY2lmaWNXYXJuaW5ncz40MTI3OzQ1NDg7NDcxMTs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYw
NTQ7MjgxOTY7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5p
bmdzPgorICAgICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNz
b3JDb21waWxhdGlvbj4KKyAgICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+
CisgICAgICA8UnVudGltZUxpYnJhcnkgQ29uZGl0aW9uPSInJChVc2VEZWJ1Z0xpYnJhcmllcykn
PT0ndHJ1ZSciPk11bHRpVGhyZWFkZWREZWJ1ZzwvUnVudGltZUxpYnJhcnk+CisgICAgICA8UnVu
dGltZUxpYnJhcnkgQ29uZGl0aW9uPSInJChVc2VEZWJ1Z0xpYnJhcmllcyknPT0nZmFsc2UnIj5N
dWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGlu
az4KKyAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZT4uLi8uLi9zcmMvY29pbnN0L3hlbmhpZF9j
b2luc3QuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5k
ZW5jaWVzPnNldHVwYXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFs
RGVwZW5kZW5jaWVzPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8
SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgor
ICAgIDxDbENvbXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19pMzg2X187
JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAg
IDwvQ2xDb21waWxlPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlv
bkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgorICAgIDxDbENvbXBpbGU+
CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X194ODZfNjRfXzslKFByZXByb2Nlc3Nv
ckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgPC9DbENvbXBpbGU+
CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8RmlsZXNUb1Bh
Y2thZ2UgSW5jbHVkZT0iJChUYXJnZXRQYXRoKSIgLz4KKyAgICA8RmlsZXNUb1BhY2thZ2UgSW5j
bHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5wZGIiIC8+CisgICAgPEZpbGVzVG9QYWNrYWdl
IEluY2x1ZGU9IkAoSW5mLT4nJShDb3B5T3V0cHV0KScpIiBDb25kaXRpb249IidAKEluZiknIT0n
JyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlwuLlxzcmNcY29pbnN0XGNvaW5zdC5jIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0
ZW1Hcm91cD4KKyAgICA8Tm9uZSBJbmNsdWRlPSIuLlwuLlxzcmNcY29pbnN0XHhlbmhpZF9jb2lu
c3QuZGVmIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0
c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBh
L3ZzMjAxNy94ZW5oaWRfY29pbnN0L3hlbmhpZF9jb2luc3QudmN4cHJvai51c2VyIGIvdnMyMDE3
L3hlbmhpZF9jb2luc3QveGVuaGlkX2NvaW5zdC52Y3hwcm9qLnVzZXIKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZWNhNGE1ZAotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy94
ZW5oaWRfY29pbnN0L3hlbmhpZF9jb2luc3QudmN4cHJvai51c2VyCkBAIC0wLDAgKzEsOCBAQAor
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVy
c2lvbj0iMTQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVy
L21zYnVpbGQvMjAwMyI+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxTaWduTW9kZT5UZXN0U2ln
bjwvU2lnbk1vZGU+CisgICAgPFRlc3RDZXJ0aWZpY2F0ZT4uLlwuLlxzcmNceGVuaGlkLnBmeDwv
VGVzdENlcnRpZmljYXRlPgorICAgIDxUaW1lU3RhbXBTZXJ2ZXI+aHR0cDovL3RpbWVzdGFtcC52
ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1RpbWVTdGFtcFNlcnZlcj4KKyAgPC9Q
cm9wZXJ0eUdyb3VwPgorPC9Qcm9qZWN0PgotLSAKMi41LjMKCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndp
bi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu
b3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 11:02:41 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 11:02:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egTgW-0008Ol-IY; Tue, 30 Jan 2018 11:02:40 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1egTgV-0008Of-9J
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 11:02:39 +0000
Date: Tue, 30 Jan 2018 11:02:44 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <28812676.15.1517310169819.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_14_21757459.1517310164788"
X-Jenkins-Job: XENHID-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENHID-master - Build #5 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_14_21757459.1517310164788
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #5.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENHID-master/5/console to view the results.
------=_Part_14_21757459.1517310164788
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_14_21757459.1517310164788--


From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 11:08:46 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 11:08:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egTmP-0000KK-MB; Tue, 30 Jan 2018 11:08:45 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=4jj6=ez=citrix.com=prvs=5611e4cd2=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egTmO-0000K8-Sz
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 11:08:44 +0000
X-Inumbo-ID: fb6ac81a-05ad-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id fb6ac81a-05ad-11e8-b9b1-635ca7ef6cff;
 Tue, 30 Jan 2018 11:09:04 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,434,1511827200"; d="scan'208";a="460251718"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Tue, 30 Jan 2018 11:08:30 +0000
Message-ID: <1517310510-3338-2-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1517310510-3338-1-git-send-email-paul.durrant@citrix.com>
References: <1517310510-3338-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xenvkbd 2/2] Do more optimization in release
	builds and add /Qspectre flag
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

U3BlY3RyZSBtaXRpZ2F0aW9ucyBhcHBhcmVudGx5IG9ubHkgd29yayBvbiBvcHRpbWl6ZWQgY29k
ZS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+
Ci0tLQogdnMyMDE3L3hlbnZrYmQveGVudmtiZC52Y3hwcm9qIHwgMTIgKysrKysrKysrKy0tCiAx
IGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n
aXQgYS92czIwMTcveGVudmtiZC94ZW52a2JkLnZjeHByb2ogYi92czIwMTcveGVudmtiZC94ZW52
a2JkLnZjeHByb2oKaW5kZXggMTU3NDVjNC4uM2JhMmViMCAxMDA2NDQKLS0tIGEvdnMyMDE3L3hl
bnZrYmQveGVudmtiZC52Y3hwcm9qCisrKyBiL3ZzMjAxNy94ZW52a2JkL3hlbnZrYmQudmN4cHJv
agpAQCAtMjIsOCArMjIsOSBAQAogICAgIDxDbENvbXBpbGU+CiAgICAgICA8QWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz4kKFdpbmRvd3NTZGtEaXIpXGluY2x1ZGVca207Li5cLi5caW5jbHVk
ZTsuLlwuLlxpbmNsdWRlXHhlbjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRp
dGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25z
Pl9fTU9EVUxFX189IlhFTlZLQkQiO1BPT0xfTlhfT1BUSU49MTtOVF9QUk9DRVNTT1JfR1JPVVBT
OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAg
ICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgogICAgICAg
PFdhcm5pbmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgotICAgICAgPERp
c2FibGVTcGVjaWZpY1dhcm5pbmdzPjQ0NjQ7NDcxMTs0NTQ4OzQ4MjA7NDY2ODs0MjU1OzYwMDE7
NjA1NDsyODE5NjszMDAzMDszMDAyOTslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJs
ZVNwZWNpZmljV2FybmluZ3M+CisgICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDQ2NDs0
NzExOzQ1NDg7NDc3MDs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7MzAwMzA7MzAwMjk7
JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgogICAg
ICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxh
dGlvbj4KICAgICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+CiAgICAgPC9D
bENvbXBpbGU+CkBAIC0zMyw3ICszNCw3IEBACiAgICAgPExpbms+CiAgICAgICA8SW1hZ2VIYXNT
YWZlRXhjZXB0aW9uSGFuZGxlcnM+ZmFsc2U8L0ltYWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJz
PgogICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChEREtfTElCX1BBVEgpL1J0bHZlci5s
aWI7JChEREtfTElCX1BBVEgpL2xpYmNudHByLmxpYjskKERES19MSUJfUEFUSCkvYXV4X2tsaWIu
bGliOyQoRERLX0xJQl9QQVRIKS9rc2VjZGQubGliOyQoRERLX0xJQl9QQVRIKS9wcm9jZ3JwLmxp
YjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAg
ICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNPTURBVEZvbGRpbmc+CisgICAg
ICA8TGlua1RpbWVDb2RlR2VuZXJhdGlvbj5Vc2VMaW5rVGltZUNvZGVHZW5lcmF0aW9uPC9MaW5r
VGltZUNvZGVHZW5lcmF0aW9uPgogICAgIDwvTGluaz4KICAgICA8SW5mPgogICAgICAgPFNwZWNp
ZnlBcmNoaXRlY3R1cmU+dHJ1ZTwvU3BlY2lmeUFyY2hpdGVjdHVyZT4KQEAgLTU4LDYgKzU5LDEz
IEBACiAgICAgICA8QXJjaGl0ZWN0dXJlPmFtZDY0PC9BcmNoaXRlY3R1cmU+CiAgICAgPC9JbmY+
CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKSc9PSdXaW5kb3dzIDggUmVsZWFzZSciPgorICAgIDxDbENv
bXBpbGU+CisgICAgICA8RmF2b3JTaXplT3JTcGVlZD5TcGVlZDwvRmF2b3JTaXplT3JTcGVlZD4K
KyAgICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1p
emF0aW9uPgorICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9Rc3BlY3RyZSAlKEFkZGl0aW9uYWxP
cHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgPC9DbENvbXBpbGU+CisgIDwvSXRlbURl
ZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVk
ZT0iJChUYXJnZXRQYXRoKSIgLz4KICAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChPdXRE
aXIpJChUYXJnZXROYW1lKS5wZGIiIC8+Ci0tIAoyLjUuMwoKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2lu
LXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v
cmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 11:08:46 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 11:08:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egTmQ-0000Ki-NT; Tue, 30 Jan 2018 11:08:46 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=4jj6=ez=citrix.com=prvs=5611e4cd2=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egTmP-0000K9-K7
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 11:08:45 +0000
X-Inumbo-ID: fbcba52d-05ad-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id fbcba52d-05ad-11e8-b9b1-635ca7ef6cff;
 Tue, 30 Jan 2018 11:09:04 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,434,1511827200"; d="scan'208";a="460251720"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Tue, 30 Jan 2018 11:08:29 +0000
Message-ID: <1517310510-3338-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xenvkbd 1/2] Add support for building with
	Visual Studio 2017
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

QWxzbyByZW1vdmUgbWFwcGluZ3MgZm9yIG9ic29sZXRlIHZlcnNpb25zIG9mIFZTIGluIGJ1aWxk
LnB5LgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNv
bT4KLS0tCiBidWlsZC5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgNDYgKysrKysrLS0tLS0KIG1zYnVpbGQuYmF0ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgNiArLQogdnMyMDE3L2NvbmZpZ3MucHJvcHMgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8IDQ1ICsrKysrKysrKysrCiB2czIwMTcvcGFja2FnZS9wYWNrYWdlLnZj
eHByb2ogICAgICAgICAgICAgICAgICAgIHwgNDkgKysrKysrKysrKysKIHZzMjAxNy9wYWNrYWdl
L3BhY2thZ2UudmN4cHJvai51c2VyICAgICAgICAgICAgICAgfCAgOCArKwogdnMyMDE3L3Rhcmdl
dHMucHJvcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDM1ICsrKysrKysrCiB2czIw
MTcveGVudmtiZC5zbG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgOTkgKysrKysr
KysrKysrKysrKysrKysrKysKIHZzMjAxNy94ZW52a2JkL3hlbnZrYmQudmN4cHJvaiAgICAgICAg
ICAgICAgICAgICAgfCA4NyArKysrKysrKysrKysrKysrKysrKwogdnMyMDE3L3hlbnZrYmQveGVu
dmtiZC52Y3hwcm9qLnVzZXIgICAgICAgICAgICAgICB8ICA4ICsrCiB2czIwMTcveGVudmtiZF9j
b2luc3QveGVudmtiZF9jb2luc3QudmN4cHJvaiAgICAgIHwgNjAgKysrKysrKysrKysrKysKIHZz
MjAxNy94ZW52a2JkX2NvaW5zdC94ZW52a2JkX2NvaW5zdC52Y3hwcm9qLnVzZXIgfCAgOCArKwog
MTEgZmlsZXMgY2hhbmdlZCwgNDMxIGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQogY3Jl
YXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy9jb25maWdzLnByb3BzCiBjcmVhdGUgbW9kZSAxMDA2NDQg
dnMyMDE3L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qCiBjcmVhdGUgbW9kZSAxMDA2NDQgdnMyMDE3
L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qLnVzZXIKIGNyZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcv
dGFyZ2V0cy5wcm9wcwogY3JlYXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy94ZW52a2JkLnNsbgogY3Jl
YXRlIG1vZGUgMTAwNjQ0IHZzMjAxNy94ZW52a2JkL3hlbnZrYmQudmN4cHJvagogY3JlYXRlIG1v
ZGUgMTAwNjQ0IHZzMjAxNy94ZW52a2JkL3hlbnZrYmQudmN4cHJvai51c2VyCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgdnMyMDE3L3hlbnZrYmRfY29pbnN0L3hlbnZrYmRfY29pbnN0LnZjeHByb2oKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCB2czIwMTcveGVudmtiZF9jb2luc3QveGVudmtiZF9jb2luc3QudmN4
cHJvai51c2VyCgpkaWZmIC0tZ2l0IGEvYnVpbGQucHkgYi9idWlsZC5weQppbmRleCAzODgzMDk5
Li42NTAxNDU5IDEwMDY0NAotLS0gYS9idWlsZC5weQorKysgYi9idWlsZC5weQpAQCAtMTcyLDE4
ICsxNzIsMjggQEAgZGVmIHNoZWxsKGNvbW1hbmQsIGRpcik6CiAgICAgcmV0dXJuIHN1Yi5yZXR1
cm5jb2RlCiAKIAorZGVmIGZpbmQobmFtZSwgcGF0aCk6CisgICAgZm9yIHJvb3QsIGRpcnMsIGZp
bGVzIGluIG9zLndhbGsocGF0aCk6CisgICAgICAgIGlmIG5hbWUgaW4gZmlsZXM6CisgICAgICAg
ICAgICByZXR1cm4gb3MucGF0aC5qb2luKHJvb3QsIG5hbWUpCisKKwogY2xhc3MgbXNidWlsZF9m
YWlsdXJlKEV4Y2VwdGlvbik6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlKToKICAgICAg
ICAgc2VsZi52YWx1ZSA9IHZhbHVlCiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgIHJl
dHVybiByZXByKHNlbGYudmFsdWUpCiAKKwogZGVmIG1zYnVpbGQocGxhdGZvcm0sIGNvbmZpZ3Vy
YXRpb24sIHRhcmdldCwgZmlsZSwgYXJncywgZGlyKToKLSAgICBvcy5lbnZpcm9uWydQTEFURk9S
TSddID0gcGxhdGZvcm0KLSAgICBvcy5lbnZpcm9uWydDT05GSUdVUkFUSU9OJ10gPSBjb25maWd1
cmF0aW9uCi0gICAgb3MuZW52aXJvblsnVEFSR0VUJ10gPSB0YXJnZXQKLSAgICBvcy5lbnZpcm9u
WydGSUxFJ10gPSBmaWxlCi0gICAgb3MuZW52aXJvblsnRVhUUkEnXSA9IGFyZ3MKKyAgICB2Y3Zh
cnNhbGwgPSBmaW5kKCd2Y3ZhcnNhbGwuYmF0Jywgb3MuZW52aXJvblsnVlMnXSkKKworICAgIG9z
LmVudmlyb25bJ01TQlVJTERfUExBVEZPUk0nXSA9IHBsYXRmb3JtCisgICAgb3MuZW52aXJvblsn
TVNCVUlMRF9DT05GSUdVUkFUSU9OJ10gPSBjb25maWd1cmF0aW9uCisgICAgb3MuZW52aXJvblsn
TVNCVUlMRF9UQVJHRVQnXSA9IHRhcmdldAorICAgIG9zLmVudmlyb25bJ01TQlVJTERfRklMRSdd
ID0gZmlsZQorICAgIG9zLmVudmlyb25bJ01TQlVJTERfRVhUUkEnXSA9IGFyZ3MKKyAgICBvcy5l
bnZpcm9uWydNU0JVSUxEX1ZDVkFSU0FMTCddID0gdmN2YXJzYWxsCiAKICAgICBiaW4gPSBvcy5w
YXRoLmpvaW4ob3MuZ2V0Y3dkKCksICdtc2J1aWxkLmJhdCcpCiAKQEAgLTIwMSw4ICsyMTEsNiBA
QCBkZWYgYnVpbGRfc2xuKG5hbWUsIHJlbGVhc2UsIGFyY2gsIGRlYnVnLCB2cyk6CiAgICAgZWxp
ZiBhcmNoID09ICd4NjQnOgogICAgICAgICBwbGF0Zm9ybSA9ICd4NjQnCiAKLSAgICBjd2QgPSBv
cy5nZXRjd2QoKQotCiAgICAgbXNidWlsZChwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgJ0J1aWxk
JywgbmFtZSArICcuc2xuJywgJycsIHZzKQogCiBkZWYgY29weV9wYWNrYWdlKG5hbWUsIHJlbGVh
c2UsIGFyY2gsIGRlYnVnLCB2cyk6CkBAIC0zMjYsMjQgKzMzNCwyNCBAQCBkZWYgYXJjaGl2ZShm
aWxlbmFtZSwgZmlsZXMsIHRnej1GYWxzZSk6CiAKIAogZGVmIGdldFZzVmVyc2lvbigpOgotICAg
IHZzZW52ID17fQotICAgIHZhcnMgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChbb3MuZW52aXJv
blsnVlMnXSsnXFxWQ1xcdmN2YXJzYWxsLmJhdCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJyYmJywgJ3NldCddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2hlbGw9VHJ1ZSkKKyAgICB2c2VudiA9IHt9CisgICAgdmN2YXJzYWxsPSBmaW5k
KCd2Y3ZhcnNhbGwuYmF0Jywgb3MuZW52aXJvblsnVlMnXSkKKworICAgIHZhcnMgPSBzdWJwcm9j
ZXNzLmNoZWNrX291dHB1dChbdmN2YXJzYWxsLCAneDg2X2FtZDY0JywgJyYmJywgJ3NldCddLCBz
aGVsbD1UcnVlKQorCiAgICAgZm9yIHZhciBpbiB2YXJzLnNwbGl0bGluZXMoKToKICAgICAgICAg
aywgXywgdiA9IG1hcChzdHIuc3RyaXAsIHZhci5zdHJpcCgpLmRlY29kZSgndXRmLTgnKS5wYXJ0
aXRpb24oJz0nKSkKICAgICAgICAgaWYgay5zdGFydHN3aXRoKCc/Jyk6CiAgICAgICAgICAgICBj
b250aW51ZQogICAgICAgICB2c2VudltrXSA9IHYKIAotICAgIG1hcHBpbmcgPSB7ICcxMS4wJzon
dnMyMDEyJywKLSAgICAgICAgICAgICAgICAnMTIuMCc6J3ZzMjAxMycsCi0gICAgICAgICAgICAg
ICAgJzE0LjAnOid2czIwMTUnIH0KKyAgICBtYXBwaW5nID0geyAnMTQuMCc6J3ZzMjAxNScsCisg
ICAgICAgICAgICAgICAgJzE1LjAnOid2czIwMTcnfQogCiAgICAgcmV0dXJuIG1hcHBpbmdbdnNl
bnZbJ1Zpc3VhbFN0dWRpb1ZlcnNpb24nXV0KIAogCi1pZiBfX25hbWVfXyA9PSAnX19tYWluX18n
OgorZGVmIG1haW4oKToKICAgICBkZWJ1ZyA9IHsgJ2NoZWNrZWQnOiBUcnVlLCAnZnJlZSc6IEZh
bHNlIH0KICAgICBkcml2ZXIgPSAneGVudmtiZCcKICAgICB2cyA9IGdldFZzVmVyc2lvbigpCkBA
IC0zODMsOSArMzkxLDggQEAgaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKIAogICAgIHN5bXN0
b3JlX2RlbChkcml2ZXIsIDMwKQogCi0gICAgcmVsZWFzZSA9IHsgJ3ZzMjAxMic6J1dpbmRvd3Mg
VmlzdGEnLAotICAgICAgICAgICAgICAgICd2czIwMTMnOidXaW5kb3dzIDcnLAotICAgICAgICAg
ICAgICAgICd2czIwMTUnOidXaW5kb3dzIDgnIH0KKyAgICByZWxlYXNlID0geyAndnMyMDE1Jzon
V2luZG93cyA4JywKKyAgICAgICAgICAgICAgICAndnMyMDE3JzonV2luZG93cyA4JyB9CiAKICAg
ICBzaHV0aWwucm10cmVlKGRyaXZlciwgaWdub3JlX2Vycm9ycz1UcnVlKQogCkBAIC00MDAsMyAr
NDA3LDYgQEAgaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKIAogICAgIGFyY2hpdmUoZHJpdmVy
ICsgJ1xcc291cmNlLnRneicsIG1hbmlmZXN0KCkuc3BsaXRsaW5lcygpLCB0Z3o9VHJ1ZSkKICAg
ICBhcmNoaXZlKGRyaXZlciArICcudGFyJywgW2RyaXZlciwncmV2aXNpb24nXSkKKworaWYgX19u
YW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICBtYWluKCkKZGlmZiAtLWdpdCBhL21zYnVpbGQuYmF0
IGIvbXNidWlsZC5iYXQKaW5kZXggMWIxZmJjOC4uYTI4ZjkzOSAxMDA3NTUKLS0tIGEvbXNidWls
ZC5iYXQKKysrIGIvbXNidWlsZC5iYXQKQEAgLTEsNiArMSw4IEBACi1jYWxsICIlVlMlXFZDXHZj
dmFyc2FsbC5iYXQiIHg4Ngorc2V0IE1TQlVJTERfUk9PVD0lY2QlCitjYWxsICIlTVNCVUlMRF9W
Q1ZBUlNBTEwlIiB4ODZfYW1kNjQKIEBlY2hvIG9uCi1tc2J1aWxkLmV4ZSAvbToxIC9wOkNvbmZp
Z3VyYXRpb249IiVDT05GSUdVUkFUSU9OJSIgL3A6UGxhdGZvcm09IiVQTEFURk9STSUiIC90OiIl
VEFSR0VUJSIgJUVYVFJBJSAlRklMRSUKK2NkICIlTVNCVUlMRF9ST09UJSIKK21zYnVpbGQuZXhl
IC9tOjEgL3A6Q29uZmlndXJhdGlvbj0iJU1TQlVJTERfQ09ORklHVVJBVElPTiUiIC9wOlBsYXRm
b3JtPSIlTVNCVUlMRF9QTEFURk9STSUiIC90OiIlTVNCVUlMRF9UQVJHRVQlIiAlTVNCVUlMRF9F
WFRSQSUgJU1TQlVJTERfRklMRSUKIGlmIGVycm9ybGV2ZWwgMSBnb3RvIGVycm9yCiBleGl0IDAK
IApkaWZmIC0tZ2l0IGEvdnMyMDE3L2NvbmZpZ3MucHJvcHMgYi92czIwMTcvY29uZmlncy5wcm9w
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZmU5YTMzCi0tLSAvZGV2L251
bGwKKysrIGIvdnMyMDE3L2NvbmZpZ3MucHJvcHMKQEAgLTAsMCArMSw0NSBAQAorPD94bWwgdmVy
c2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJC
dWlsZCIgVG9vbHNWZXJzaW9uPSIxNS4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0
LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKwk8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0
Q29uZmlndXJhdGlvbnMiPgorCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93
cyAxMCBEZWJ1Z3xXaW4zMiI+CisJCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDEwIERlYnVnPC9D
b25maWd1cmF0aW9uPgorCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKwkJCTxXaW5kb3dz
VGFyZ2V0UGxhdGZvcm1WZXJzaW9uPjEwPC9XaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgor
CQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVk
ZT0iV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyIj4KKwkJCTxDb25maWd1cmF0aW9uPldpbmRvd3Mg
MTAgUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKwkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+
CisJCQk8V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj4xMDwvV2luZG93c1RhcmdldFBsYXRm
b3JtVmVyc2lvbj4KKwkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKwkJPFByb2plY3RDb25maWd1
cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgMTAgRGVidWd8eDY0Ij4KKwkJCTxDb25maWd1cmF0aW9u
PldpbmRvd3MgMTAgRGVidWc8L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+eDY0PC9QbGF0
Zm9ybT4KKwkJCTxXaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPjEwPC9XaW5kb3dzVGFyZ2V0
UGxhdGZvcm1WZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCQk8UHJvamVjdENv
bmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyAxMCBSZWxlYXNlfHg2NCI+CisJCQk8Q29uZmln
dXJhdGlvbj5XaW5kb3dzIDEwIFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisJCQk8UGxhdGZvcm0+
eDY0PC9QbGF0Zm9ybT4KKwkJCTxXaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPjEwPC9XaW5k
b3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgorCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPgorCQk8
UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA4IERlYnVnfFdpbjMyIj4KKwkJ
CTxDb25maWd1cmF0aW9uPldpbmRvd3MgOCBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKwkJCTxQbGF0
Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisJCQk8V2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbj44
LjE8L1dpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+CisJCTwvUHJvamVjdENvbmZpZ3VyYXRp
b24+CisJCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDggUmVsZWFzZXxX
aW4zMiI+CisJCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDggUmVsZWFzZTwvQ29uZmlndXJhdGlv
bj4KKwkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisJCQk8V2luZG93c1RhcmdldFBsYXRm
b3JtVmVyc2lvbj44LjE8L1dpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+CisJCTwvUHJvamVj
dENvbmZpZ3VyYXRpb24+CisJCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dz
IDggRGVidWd8eDY0Ij4KKwkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgOCBEZWJ1ZzwvQ29uZmln
dXJhdGlvbj4KKwkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorCQkJPFdpbmRvd3NUYXJnZXRQ
bGF0Zm9ybVZlcnNpb24+OC4xPC9XaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uPgorCQk8L1By
b2plY3RDb25maWd1cmF0aW9uPgorCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2lu
ZG93cyA4IFJlbGVhc2V8eDY0Ij4KKwkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgOCBSZWxlYXNl
PC9Db25maWd1cmF0aW9uPgorCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisJCQk8V2luZG93
c1RhcmdldFBsYXRmb3JtVmVyc2lvbj44LjE8L1dpbmRvd3NUYXJnZXRQbGF0Zm9ybVZlcnNpb24+
CisJCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisJPC9JdGVtR3JvdXA+Cis8L1Byb2plY3Q+CmRp
ZmYgLS1naXQgYS92czIwMTcvcGFja2FnZS9wYWNrYWdlLnZjeHByb2ogYi92czIwMTcvcGFja2Fn
ZS9wYWNrYWdlLnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzgy
N2VhNAotLS0gL2Rldi9udWxsCisrKyBiL3ZzMjAxNy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvagpA
QCAtMCwwICsxLDQ5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/Pgor
PFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjE1LjAiIHhtbG5z
PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgor
ICA8SW1wb3J0IFByb2plY3Q9Ii4uXGNvbmZpZ3MucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3Vw
IExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2Vy
bmVsTW9kZURyaXZlcjEwLjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgICA8Q29uZmlndXJhdGlvblR5
cGU+VXRpbGl0eTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPERyaXZlclR5cGU+UGFja2FnZTwv
RHJpdmVyVHlwZT4KKyAgICA8RGlzYWJsZUZhc3RVcFRvRGF0ZUNoZWNrPnRydWU8L0Rpc2FibGVG
YXN0VXBUb0RhdGVDaGVjaz4KKyAgICA8U3VwcG9ydHNQYWNrYWdpbmc+dHJ1ZTwvU3VwcG9ydHNQ
YWNrYWdpbmc+CisgICAgPERyaXZlclRhcmdldFBsYXRmb3JtPkRlc2t0b3A8L0RyaXZlclRhcmdl
dFBsYXRmb3JtPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1Rh
cmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdy
b3VwIExhYmVsPSJHbG9iYWxzIj4KKyAgICA8UHJvamVjdEd1aWQ+ezczNzY4Q0M5LURCMjYtNDI5
Ny05RUM4LTEwNDJGODE1RUIxNX08L1Byb2plY3RHdWlkPgorICA8L1Byb3BlcnR5R3JvdXA+Cisg
IDxJbXBvcnQgUHJvamVjdD0iLi5cdGFyZ2V0cy5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0
PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdy
b3VwPgorICAgIDxFbmFibGVJbmYyY2F0PnRydWU8L0VuYWJsZUluZjJjYXQ+CisgICAgPEluZjJD
YXRXaW5kb3dzVmVyc2lvbkxpc3QgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyI+OF94
NjQ7U2VydmVyOF94NjQ7MTBfeDY0O1NlcnZlcjEwX3g2NDwvSW5mMkNhdFdpbmRvd3NWZXJzaW9u
TGlzdD4KKyAgICA8SW5mMkNhdFdpbmRvd3NWZXJzaW9uTGlzdCBDb25kaXRpb249IickKFBsYXRm
b3JtKSc9PSdXaW4zMiciPjhfeDg2OzEwX3g4NjwvSW5mMkNhdFdpbmRvd3NWZXJzaW9uTGlzdD4K
KyAgICA8RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8L0RlYnVnZ2VyRmxhdm9y
PgorICAgIDxFbmFibGVEZXBsb3ltZW50PkZhbHNlPC9FbmFibGVEZXBsb3ltZW50PgorICAgIDxJ
bXBvcnRUb1N0b3JlPkZhbHNlPC9JbXBvcnRUb1N0b3JlPgorICAgIDxJbnN0YWxsTW9kZT5Ob25l
PC9JbnN0YWxsTW9kZT4KKyAgICA8U2NyaXB0RGV2aWNlUXVlcnk+JVBhdGhUb0luZiU8L1Njcmlw
dERldmljZVF1ZXJ5PgorICAgIDxFbmFibGVWZXJpZmllcj5GYWxzZTwvRW5hYmxlVmVyaWZpZXI+
CisgICAgPEFsbERyaXZlcnM+RmFsc2U8L0FsbERyaXZlcnM+CisgICAgPFZlcmlmeVByb2plY3RP
dXRwdXQ+VHJ1ZTwvVmVyaWZ5UHJvamVjdE91dHB1dD4KKyAgICA8VmVyaWZ5RmxhZ3M+MTMzNTYz
PC9WZXJpZnlGbGFncz4KKyAgICA8SW50RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJh
dGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvSW50RGlyPgorICAgIDxPdXREaXI+Li5cJChDb25maWd1
cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9PdXREaXI+CisgIDwvUHJvcGVydHlHcm91cD4KKyAg
PEl0ZW1Hcm91cD4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlx4ZW52a2JkXHhl
bnZrYmQudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMt
RDJEMDU0M0MxRDE4fTwvUHJvamVjdD4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CisgICAgPFBy
b2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5ceGVudmtiZF9jb2luc3RceGVudmtiZF9jb2luc3Qu
dmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5
RDc4QTQ0fTwvUHJvamVjdD4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CisgIDwvSXRlbUdyb3Vw
PgorICA8SXRlbUdyb3VwPgorICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKERQSU5TVF9S
RURJU1QpXHg4NlxkcGluc3QuZXhlIiBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMici
IC8+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoRFBJTlNUX1JFRElTVClceDY0XGRw
aW5zdC5leGUiIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciIC8+CisgIDwvSXRlbUdy
b3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50
YXJnZXRzIiAvPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgorICA8
L0ltcG9ydEdyb3VwPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3BhY2thZ2UvcGFj
a2FnZS52Y3hwcm9qLnVzZXIgYi92czIwMTcvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNlcgpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDAxNDYwCi0tLSAvZGV2L251bGwK
KysrIGIvdnMyMDE3L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qLnVzZXIKQEAgLTAsMCArMSw4IEBA
Cis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNW
ZXJzaW9uPSIxNS4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9w
ZXIvbXNidWlsZC8yMDAzIj4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFNpZ25Nb2RlPlRlc3RT
aWduPC9TaWduTW9kZT4KKyAgICA8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW52a2JkLnBm
eDwvVGVzdENlcnRpZmljYXRlPgorICAgIDxUaW1lU3RhbXBTZXJ2ZXI+aHR0cDovL3RpbWVzdGFt
cC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1RpbWVTdGFtcFNlcnZlcj4KKyAg
PC9Qcm9wZXJ0eUdyb3VwPgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3RhcmdldHMu
cHJvcHMgYi92czIwMTcvdGFyZ2V0cy5wcm9wcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5kMDQ1NDM0Ci0tLSAvZGV2L251bGwKKysrIGIvdnMyMDE3L3RhcmdldHMucHJvcHMK
QEAgLTAsMCArMSwzNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4K
KzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIxNS4wIiB4bWxu
cz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4K
Kwk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDEwIERlYnVnfFdpbjMyJyI+CisJCTxU
YXJnZXRWZXJzaW9uPldpbmRvd3MxMDwvVGFyZ2V0VmVyc2lvbj4KKwkJPFVzZURlYnVnTGlicmFy
aWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPgorCTwvUHJvcGVydHlHcm91cD4KKwk8UHJvcGVy
dHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDEwIFJlbGVhc2V8V2luMzInIj4KKwkJPFRhcmdldFZl
cnNpb24+V2luZG93czEwPC9UYXJnZXRWZXJzaW9uPgorCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFs
c2U8L1VzZURlYnVnTGlicmFyaWVzPgorCTwvUHJvcGVydHlHcm91cD4KKwk8UHJvcGVydHlHcm91
cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdXaW5kb3dzIDEwIERlYnVnfHg2NCciPgorCQk8VGFyZ2V0VmVyc2lvbj5XaW5k
b3dzMTA8L1RhcmdldFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1
Z0xpYnJhcmllcz4KKwk8L1Byb3BlcnR5R3JvdXA+CisJPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNv
bmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
V2luZG93cyAxMCBSZWxlYXNlfHg2NCciPgorCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzMTA8L1Rh
cmdldFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJp
ZXM+CisJPC9Qcm9wZXJ0eUdyb3VwPgorCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0
aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3Mg
OCBEZWJ1Z3xXaW4zMiciPgorCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwvVGFyZ2V0VmVyc2lv
bj4KKwkJPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPgorCTwvUHJv
cGVydHlHcm91cD4KKwk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggUmVsZWFzZXxX
aW4zMiciPgorCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwvVGFyZ2V0VmVyc2lvbj4KKwkJPFVz
ZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KKwk8L1Byb3BlcnR5R3Jv
dXA+CisJPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IERlYnVnfHg2NCciPgorCQk8
VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwvVGFyZ2V0VmVyc2lvbj4KKwkJPFVzZURlYnVnTGlicmFy
aWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPgorCTwvUHJvcGVydHlHcm91cD4KKwk8UHJvcGVy
dHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggUmVsZWFzZXx4NjQnIj4KKwkJPFRhcmdldFZlcnNp
b24+V2luZG93czg8L1RhcmdldFZlcnNpb24+CisJCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwv
VXNlRGVidWdMaWJyYXJpZXM+CisJPC9Qcm9wZXJ0eUdyb3VwPgorPC9Qcm9qZWN0PgpkaWZmIC0t
Z2l0IGEvdnMyMDE3L3hlbnZrYmQuc2xuIGIvdnMyMDE3L3hlbnZrYmQuc2xuCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3NjMzYWIKLS0tIC9kZXYvbnVsbAorKysgYi92czIw
MTcveGVudmtiZC5zbG4KQEAgLTAsMCArMSw5OSBAQAorTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8g
U29sdXRpb24gRmlsZSwgRm9ybWF0IFZlcnNpb24gMTIuMDAKK1Byb2plY3QoIns4QkM5Q0VCOC04
QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAieGVudmtiZCIsICJ4ZW52a2JkXHhlbnZr
YmQudmN4cHJvaiIsICJ7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fSIKK0Vu
ZFByb2plY3QKK1Byb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9
IikgPSAieGVudmtiZF9jb2luc3QiLCAieGVudmtiZF9jb2luc3RceGVudmtiZF9jb2luc3QudmN4
cHJvaiIsICJ7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fSIKKwlQcm9qZWN0
U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0CisJCXtDM0Y5NkQ0Qy1F
NDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9ID0ge0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQy
RDA1NDNDMUQxOH0KKwlFbmRQcm9qZWN0U2VjdGlvbgorRW5kUHJvamVjdAorUHJvamVjdCgiezhC
QzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJwYWNrYWdlIiwgInBhY2th
Z2VccGFja2FnZS52Y3hwcm9qIiwgIns3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVC
MTV9IgorCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QK
KwkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0gPSB7QzNGOTZENEMtRTQ0
MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fQorCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRD
NUM5RDc4QTQ0fSA9IHsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9CisJRW5k
UHJvamVjdFNlY3Rpb24KK0VuZFByb2plY3QKK0dsb2JhbAorCUdsb2JhbFNlY3Rpb24oU29sdXRp
b25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uCisJCVdpbmRvd3MgOCBEZWJ1
Z3xXaW4zMiA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQlXaW5kb3dzIDggRGVidWd8eDY0ID0g
V2luZG93cyA4IERlYnVnfHg2NAorCQlXaW5kb3dzIDggUmVsZWFzZXxXaW4zMiA9IFdpbmRvd3Mg
OCBSZWxlYXNlfFdpbjMyCisJCVdpbmRvd3MgOCBSZWxlYXNlfHg2NCA9IFdpbmRvd3MgOCBSZWxl
YXNlfHg2NAorCQlXaW5kb3dzIDEwIERlYnVnfFdpbjMyID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4z
MgorCQlXaW5kb3dzIDEwIERlYnVnfHg2NCA9IFdpbmRvd3MgMTAgRGVidWd8eDY0CisJCVdpbmRv
d3MgMTAgUmVsZWFzZXxXaW4zMiA9IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQlXaW5kb3dz
IDEwIFJlbGVhc2V8eDY0ID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCUVuZEdsb2JhbFNlY3Rp
b24KKwlHbG9iYWxTZWN0aW9uKFByb2plY3RDb25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHBvc3RT
b2x1dGlvbgorCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dz
IDggRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCXsyQkZB
QzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5C
dWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5
Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3Mg
OCBEZWJ1Z3xXaW4zMgorCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5X
aW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKKwkJezJC
RkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyA4IERlYnVnfHg2NC5C
dWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTIt
QkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dz
IDggUmVsZWFzZXxXaW4zMgorCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0
fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8V2lu
MzIKKwkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyA4IFJl
bGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7MkJGQUM3
RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0
aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5
Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA4
IFJlbGVhc2V8eDY0CisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9Lldp
bmRvd3MgMTAgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgor
CQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDEwIERlYnVn
fFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCXsyQkZBQzdFNi0zNDIw
LTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgMTAgRGVidWd8V2luMzIuRGVwbG95LjAg
PSBXaW5kb3dzIDEwIERlYnVnfFdpbjMyCisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1
QzlENzhBNDR9LldpbmRvd3MgMTAgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVi
dWd8eDY0CisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3Mg
MTAgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAorCQl7MkJGQUM3RTYt
MzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuQWN0
aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUt
QTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2lu
ZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlE
NzhBNDR9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgMTAgUmVs
ZWFzZXxXaW4zMgorCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5k
b3dzIDEwIFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJ
ezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyAxMCBSZWxlYXNl
fHg2NC5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7NzM3NjhDQzktREIyNi00
Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDggRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0g
V2luZG93cyA4IERlYnVnfFdpbjMyCisJCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgx
NUVCMTV9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdp
bjMyCisJCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgOCBE
ZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgorCQl7NzM3NjhDQzkt
REIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKKwkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJG
ODE1RUIxNX0uV2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2
NAorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDggRGVi
dWd8eDY0LkRlcGxveS4wID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7NzM3NjhDQzktREIyNi00
Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcg
PSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0
MkY4MTVFQjE1fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IFJl
bGVhc2V8V2luMzIKKwkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2lu
ZG93cyA4IFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgor
CQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDggUmVsZWFz
ZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXs3Mzc2OENDOS1EQjI2
LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWlsZC4wID0g
V2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgx
NUVCMTV9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBSZWxlYXNl
fHg2NAorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDEw
IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVidWd8V2luMzIKKwkJezczNzY4
Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyAxMCBEZWJ1Z3xXaW4zMi5C
dWlsZC4wID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlF
QzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93
cyAxMCBEZWJ1Z3xXaW4zMgorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1
fS5XaW5kb3dzIDEwIERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAor
CQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDEwIERlYnVn
fHg2NC5CdWlsZC4wID0gV2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJezczNzY4Q0M5LURCMjYtNDI5
Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyAxMCBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5k
b3dzIDEwIERlYnVnfHg2NAorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1
fS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyAxMCBSZWxlYXNl
fFdpbjMyCisJCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3Mg
MTAgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXs3
Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgMTAgUmVsZWFzZXxX
aW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgorCQl7NzM3NjhDQzktREIy
Ni00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0LkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEw
NDJGODE1RUIxNX0uV2luZG93cyAxMCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyAxMCBS
ZWxlYXNlfHg2NAorCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5k
b3dzIDEwIFJlbGVhc2V8eDY0LkRlcGxveS4wID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7
QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDggRGVidWd8V2lu
MzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdpbjMyCisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3
RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2lu
ZG93cyA4IERlYnVnfFdpbjMyCisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFE
MTh9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4z
MgorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDggRGVi
dWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKKwkJe0MzRjk2RDRDLUU0NDEt
NDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2lu
ZG93cyA4IERlYnVnfHg2NAorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4
fS5XaW5kb3dzIDggRGVidWd8eDY0LkRlcGxveS4wID0gV2luZG93cyA4IERlYnVnfHg2NAorCQl7
QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDggUmVsZWFzZXxX
aW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgorCQl7QzNGOTZENEMtRTQ0
MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWlsZC4w
ID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKKwkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQy
RDA1NDNDMUQxOH0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDgg
UmVsZWFzZXxXaW4zMgorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5X
aW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJ
CXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgOCBSZWxlYXNl
fHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0CisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3
RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdp
bmRvd3MgOCBSZWxlYXNlfHg2NAorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0Mx
RDE4fS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgRGVidWd8
V2luMzIKKwkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyAx
MCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7QzNGOTZE
NEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDEwIERlYnVnfFdpbjMyLkRl
cGxveS4wID0gV2luZG93cyAxMCBEZWJ1Z3xXaW4zMgorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0
NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDEwIERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dz
IDEwIERlYnVnfHg2NAorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5X
aW5kb3dzIDEwIERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyAxMCBEZWJ1Z3x4NjQKKwkJe0Mz
Rjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyAxMCBEZWJ1Z3x4NjQu
RGVwbG95LjAgPSBXaW5kb3dzIDEwIERlYnVnfHg2NAorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0
NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDEwIFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2lu
ZG93cyAxMCBSZWxlYXNlfFdpbjMyCisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQz
QzFEMTh9LldpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyAxMCBSZWxl
YXNlfFdpbjMyCisJCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRv
d3MgMTAgUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgMTAgUmVsZWFzZXxXaW4zMgor
CQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDEwIFJlbGVh
c2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgMTAgUmVsZWFzZXx4NjQKKwkJe0MzRjk2RDRDLUU0
NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyAxMCBSZWxlYXNlfHg2NC5CdWlsZC4w
ID0gV2luZG93cyAxMCBSZWxlYXNlfHg2NAorCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJE
MDU0M0MxRDE4fS5XaW5kb3dzIDEwIFJlbGVhc2V8eDY0LkRlcGxveS4wID0gV2luZG93cyAxMCBS
ZWxlYXNlfHg2NAorCUVuZEdsb2JhbFNlY3Rpb24KKwlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJv
cGVydGllcykgPSBwcmVTb2x1dGlvbgorCQlIaWRlU29sdXRpb25Ob2RlID0gRkFMU0UKKwlFbmRH
bG9iYWxTZWN0aW9uCitFbmRHbG9iYWwKZGlmZiAtLWdpdCBhL3ZzMjAxNy94ZW52a2JkL3hlbnZr
YmQudmN4cHJvaiBiL3ZzMjAxNy94ZW52a2JkL3hlbnZrYmQudmN4cHJvagpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTc0NWM0Ci0tLSAvZGV2L251bGwKKysrIGIvdnMyMDE3
L3hlbnZrYmQveGVudmtiZC52Y3hwcm9qCkBAIC0wLDAgKzEsODcgQEAKKzw/eG1sIHZlcnNpb249
IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQi
IFRvb2xzVmVyc2lvbj0iMTUuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20v
ZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cY29uZmlncy5w
cm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgICA8
RHJpdmVyVHlwZT5XRE08L0RyaXZlclR5cGU+CisgICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dz
S2VybmVsTW9kZURyaXZlcjEwLjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgICA8Q29uZmlndXJhdGlv
blR5cGU+RHJpdmVyPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8
SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnBy
b3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RH
dWlkPntDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9PC9Qcm9qZWN0R3VpZD4K
KyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMi
IC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnBy
b3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8UnVuQ29kZUFuYWx5c2lzPnRydWU8L1J1
bkNvZGVBbmFseXNpcz4KKyAgICA8RW5hYmxlSW5mMmNhdD5mYWxzZTwvRW5hYmxlSW5mMmNhdD4K
KyAgICA8SW50RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxh
dGZvcm0pXDwvSW50RGlyPgorICAgIDxPdXREaXI+Li5cJChDb25maWd1cmF0aW9uTmFtZSlcJChQ
bGF0Zm9ybSlcPC9PdXREaXI+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9u
R3JvdXA+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9y
aWVzPiQoV2luZG93c1Nka0RpcilcaW5jbHVkZVxrbTsuLlwuLlxpbmNsdWRlOy4uXC4uXGluY2x1
ZGVceGVuOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRl
RGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVfXz0i
WEVOVktCRCI7UE9PTF9OWF9PUFRJTj0xO05UX1BST0NFU1NPUl9HUk9VUFM7JShQcmVwcm9jZXNz
b3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFdhcm5pbmdM
ZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgorICAgICAgPERpc2FibGVTcGVj
aWZpY1dhcm5pbmdzPjQ0NjQ7NDcxMTs0NTQ4OzQ4MjA7NDY2ODs0MjU1OzYwMDE7NjA1NDsyODE5
NjszMDAzMDszMDAyOTslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmlj
V2FybmluZ3M+CisgICAgICA8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50cnVlPC9NdWx0aVBy
b2Nlc3NvckNvbXBpbGF0aW9uPgorICAgICAgPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwvRW5hYmxlUFJF
ZmFzdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8UmVzb3VyY2VDb21waWxlPgorICAgICAgPEFk
ZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNs
dWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgIDwvUmVz
b3VyY2VDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEltYWdlSGFzU2FmZUV4Y2VwdGlvbkhh
bmRsZXJzPmZhbHNlPC9JbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz4KKyAgICAgIDxBZGRp
dGlvbmFsRGVwZW5kZW5jaWVzPiQoRERLX0xJQl9QQVRIKS9SdGx2ZXIubGliOyQoRERLX0xJQl9Q
QVRIKS9saWJjbnRwci5saWI7JChEREtfTElCX1BBVEgpL2F1eF9rbGliLmxpYjskKERES19MSUJf
UEFUSCkva3NlY2RkLmxpYjskKERES19MSUJfUEFUSCkvcHJvY2dycC5saWI7JShBZGRpdGlvbmFs
RGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxFbmFibGVDT01E
QVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRGb2xkaW5nPgorICAgIDwvTGluaz4KKyAgICA8
SW5mPgorICAgICAgPFNwZWNpZnlBcmNoaXRlY3R1cmU+dHJ1ZTwvU3BlY2lmeUFyY2hpdGVjdHVy
ZT4KKyAgICAgIDxTcGVjaWZ5RHJpdmVyVmVyRGlyZWN0aXZlVmVyc2lvbj50cnVlPC9TcGVjaWZ5
RHJpdmVyVmVyRGlyZWN0aXZlVmVyc2lvbj4KKyAgICAgIDxUaW1lU3RhbXA+JChNQUpPUl9WRVJT
SU9OKS4kKE1JTk9SX1ZFUlNJT04pLiQoTUlDUk9fVkVSU0lPTikuJChCVUlMRF9OVU1CRVIpPC9U
aW1lU3RhbXA+CisgICAgICA8RW5hYmxlVmVyYm9zZT50cnVlPC9FbmFibGVWZXJib3NlPgorICAg
IDwvSW5mPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3Vw
IENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+CisgICAgPENsQ29tcGlsZT4KKyAg
ICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX2kzODZfXzslKFByZXByb2Nlc3NvckRlZmlu
aXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgPC9DbENvbXBpbGU+CisgICAg
PEluZj4KKyAgICAgIDxBcmNoaXRlY3R1cmU+eDg2PC9BcmNoaXRlY3R1cmU+CisgICAgPC9JbmY+
CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0
aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxQcmVw
cm9jZXNzb3JEZWZpbml0aW9ucz5fX3g4Nl82NF9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMp
PC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8SW5mPgor
ICAgICAgPEFyY2hpdGVjdHVyZT5hbWQ2NDwvQXJjaGl0ZWN0dXJlPgorICAgIDwvSW5mPgorICA8
L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPEZpbGVzVG9QYWNrYWdl
IEluY2x1ZGU9IiQoVGFyZ2V0UGF0aCkiIC8+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9
IiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkucGRiIiAvPgorICAgIDxGaWxlc1RvUGFja2FnZSBJbmNs
dWRlPSJAKEluZi0+JyUoQ29weU91dHB1dCknKSIgQ29uZGl0aW9uPSInQChJbmYpJyE9JyciIC8+
CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li4vLi4vc3JjL3hlbnZrYmQvYnVzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8u
Li9zcmMveGVudmtiZC9kcml2ZXIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4u
L3NyYy94ZW52a2JkL2Zkby5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3Jj
L3hlbnZrYmQvZnJvbnRlbmQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3Ny
Yy94ZW52a2JkL3Bkby5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hl
bnZrYmQvcmVnaXN0cnkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94
ZW52a2JkL3JpbmcuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52
a2JkL3RocmVhZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZr
YmQvaGlkLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxSZXNvdXJj
ZUNvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbnZrYmRceGVudmtiZC5yYyIgLz4KKyAgPC9J
dGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPEluZiBJbmNsdWRlPSIuLlx4ZW52a2JkLmlu
ZiIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPE5vbmUgSW5jbHVkZT0i
Li5ccGFja2FnZVxwYWNrYWdlLnZjeHByb2oiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SW1wb3J0
IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorPC9Q
cm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3hlbnZrYmQveGVudmtiZC52Y3hwcm9qLnVzZXIg
Yi92czIwMTcveGVudmtiZC94ZW52a2JkLnZjeHByb2oudXNlcgpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi44ZDAxNDYwCi0tLSAvZGV2L251bGwKKysrIGIvdnMyMDE3L3hlbnZr
YmQveGVudmtiZC52Y3hwcm9qLnVzZXIKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSIxNS4wIiB4bWxu
cz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4K
KyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9kZT4KKyAg
ICA8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW52a2JkLnBmeDwvVGVzdENlcnRpZmljYXRl
PgorICAgIDxUaW1lU3RhbXBTZXJ2ZXI+aHR0cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2Ny
aXB0cy90aW1zdGFtcC5kbGw8L1RpbWVTdGFtcFNlcnZlcj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgor
PC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDE3L3hlbnZrYmRfY29pbnN0L3hlbnZrYmRfY29p
bnN0LnZjeHByb2ogYi92czIwMTcveGVudmtiZF9jb2luc3QveGVudmtiZF9jb2luc3QudmN4cHJv
agpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzA2OGMyCi0tLSAvZGV2L251
bGwKKysrIGIvdnMyMDE3L3hlbnZrYmRfY29pbnN0L3hlbnZrYmRfY29pbnN0LnZjeHByb2oKQEAg
LTAsMCArMSw2MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQ
cm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIxNS4wIiB4bWxucz0i
aHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAg
PEltcG9ydCBQcm9qZWN0PSIuLlxjb25maWdzLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBM
YWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxEcml2ZXJUeXBlPldETTwvRHJpdmVyVHlwZT4K
KyAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnMxMC4wPC9Q
bGF0Zm9ybVRvb2xzZXQ+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9D
b25maWd1cmF0aW9uVHlwZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9
IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorICA8UHJv
cGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPnsyQkZBQzdFNi0z
NDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9PC9Qcm9qZWN0R3VpZD4KKyAgPC9Qcm9wZXJ0eUdy
b3VwPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+CisgIDxJbXBvcnQg
UHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJv
cGVydHlHcm91cD4KKyAgICA8RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8L0Rl
YnVnZ2VyRmxhdm9yPgorICAgIDxJbmNsdWRlUGF0aD4uLlwuLlxpbmNsdWRlOyQoSW5jbHVkZVBh
dGgpPC9JbmNsdWRlUGF0aD4KKyAgICA8UnVuQ29kZUFuYWx5c2lzPnRydWU8L1J1bkNvZGVBbmFs
eXNpcz4KKyAgICA8RW5hYmxlSW5mMmNhdD5mYWxzZTwvRW5hYmxlSW5mMmNhdD4KKyAgICA8SW50
RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwv
SW50RGlyPgorICAgIDxPdXREaXI+Li5cJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlc
PC9PdXREaXI+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Cisg
ICAgPENsQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX01PRFVMRV9f
PSJYRU5WS0JEX0NPSU5TVCI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3Nv
ckRlZmluaXRpb25zPgorICAgICAgPFdhcm5pbmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2Fy
bmluZ0xldmVsPgorICAgICAgPERpc2FibGVTcGVjaWZpY1dhcm5pbmdzPjQxMjc7NDU0ODs0NzEx
OzQ4MjA7NDY2ODs0MjU1OzYwMDE7NjA1NDsyODE5NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdz
KTwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+CisgICAgICA8TXVsdGlQcm9jZXNzb3JDb21waWxh
dGlvbj50cnVlPC9NdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPgorICAgICAgPEVuYWJsZVBSRWZh
c3Q+dHJ1ZTwvRW5hYmxlUFJFZmFzdD4KKyAgICAgIDxSdW50aW1lTGlicmFyeSBDb25kaXRpb249
IickKFVzZURlYnVnTGlicmFyaWVzKSc9PSd0cnVlJyI+TXVsdGlUaHJlYWRlZERlYnVnPC9SdW50
aW1lTGlicmFyeT4KKyAgICAgIDxSdW50aW1lTGlicmFyeSBDb25kaXRpb249IickKFVzZURlYnVn
TGlicmFyaWVzKSc9PSdmYWxzZSciPk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgorICAg
IDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxlPi4u
Ly4uL3NyYy9jb2luc3QveGVudmtiZF9jb2luc3QuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4K
KyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnNldHVwYXBpLmxpYjslKEFkZGl0aW9uYWxE
ZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgIDwvTGluaz4KKyAgPC9J
dGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249Iick
KFBsYXRmb3JtKSc9PSdXaW4zMiciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8UHJlcHJvY2Vz
c29yRGVmaW5pdGlvbnM+X19pMzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXBy
b2Nlc3NvckRlZmluaXRpb25zPgorICAgIDwvQ2xDb21waWxlPgorICA8L0l0ZW1EZWZpbml0aW9u
R3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09
J3g2NCciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+
X194ODZfNjRfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5p
dGlvbnM+CisgICAgPC9DbENvbXBpbGU+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0
ZW1Hcm91cD4KKyAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChUYXJnZXRQYXRoKSIgLz4K
KyAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5wZGIi
IC8+CisgICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IkAoSW5mLT4nJShDb3B5T3V0cHV0KScp
IiBDb25kaXRpb249IidAKEluZiknIT0nJyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3Jv
dXA+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNcY29pbnN0XGNvaW5zdC5jIiAv
PgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Tm9uZSBJbmNsdWRlPSIuLlwu
LlxzcmNcY29pbnN0XHhlbnZrYmRfY29pbnN0LmRlZiIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJ
bXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+
Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTcveGVudmtiZF9jb2luc3QveGVudmtiZF9j
b2luc3QudmN4cHJvai51c2VyIGIvdnMyMDE3L3hlbnZrYmRfY29pbnN0L3hlbnZrYmRfY29pbnN0
LnZjeHByb2oudXNlcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODVlYTk3
Ci0tLSAvZGV2L251bGwKKysrIGIvdnMyMDE3L3hlbnZrYmRfY29pbnN0L3hlbnZrYmRfY29pbnN0
LnZjeHByb2oudXNlcgpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rp
bmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjE0LjAiIHhtbG5zPSJodHRwOi8v
c2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8UHJvcGVy
dHlHcm91cD4KKyAgICA8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgorICAgIDxUZXN0Q2Vy
dGlmaWNhdGU+Li5cLi5cc3JjXHhlbnZrYmQucGZ4PC9UZXN0Q2VydGlmaWNhdGU+CisgICAgPFRp
bWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRzL3RpbXN0
YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgorICA8L1Byb3BlcnR5R3JvdXA+Cis8L1Byb2plY3Q+
Ci0tIAoyLjUuMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4t
cHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 11:10:13 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 11:10:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egTnp-0000tm-54; Tue, 30 Jan 2018 11:10:13 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1egTno-0000pw-3R
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 11:10:12 +0000
Date: Tue, 30 Jan 2018 11:10:17 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <26965312.17.1517310622632.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_16_27118243.1517310617491"
X-Jenkins-Job: XENCONS-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENCONS-master - Build #10 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_16_27118243.1517310617491
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #10.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENCONS-master/10/console to view the results.
------=_Part_16_27118243.1517310617491
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_16_27118243.1517310617491--


From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 11:15:06 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 11:15:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egTsX-00015K-HC; Tue, 30 Jan 2018 11:15:05 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1egTsV-000157-RH
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 11:15:03 +0000
Date: Tue, 30 Jan 2018 11:15:09 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <1695266.19.1517310914382.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_18_26865466.1517310909304"
X-Jenkins-Job: XENVKBD-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENVKBD-master - Build #9 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_18_26865466.1517310909304
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #9.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENVKBD-master/9/console to view the results.
------=_Part_18_26865466.1517310909304
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_18_26865466.1517310909304--


From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 12:22:35 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 12:22:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egUvo-0006dA-Sh; Tue, 30 Jan 2018 12:22:32 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1egUvn-0006d4-S5
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 12:22:31 +0000
Date: Tue, 30 Jan 2018 12:22:37 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <19865609.21.1517314962447.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_20_12046361.1517314957353"
X-Jenkins-Job: XENHID-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENHID-master - Build #6 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_20_12046361.1517314957353
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #6.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENHID-master/6/console to view the results.
------=_Part_20_12046361.1517314957353
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_20_12046361.1517314957353--


From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 13:50:08 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 13:50:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egWIZ-0004tf-Si; Tue, 30 Jan 2018 13:50:07 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1egWIZ-0004RM-4C
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 13:50:07 +0000
Date: Tue, 30 Jan 2018 13:50:12 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <15294279.23.1517320217777.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_22_13140810.1517320212668"
X-Jenkins-Job: XENVKBD-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENVKBD-master - Build #10 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_22_13140810.1517320212668
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #10.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENVKBD-master/10/console to view the results.
------=_Part_22_13140810.1517320212668
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_22_13140810.1517320212668--


From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 13:55:37 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 13:55:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egWNt-0005FD-J9; Tue, 30 Jan 2018 13:55:37 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <paul.durrant@xenproject.org>) id 1egWNr-0005Ex-L3
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 13:55:35 +0000
Date: Tue, 30 Jan 2018 13:55:41 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <15550031.25.1517320546293.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_24_7701597.1517320541230"
X-Jenkins-Job: XENHID-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENHID-master - Build #7 - Successful
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

------=_Part_24_7701597.1517320541230
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #7.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENHID-master/7/console to view the results.
------=_Part_24_7701597.1517320541230
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

------=_Part_24_7701597.1517320541230--


From win-pv-devel-bounces@lists.xenproject.org Tue Jan 30 16:01:06 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 Jan 2018 16:01:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egYLI-0007Fs-EN; Tue, 30 Jan 2018 16:01:04 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=akh8=ez=gmail.com=lars.kurth.xen@srs-us1.protection.inumbo.net>)
 id 1egYLH-0007FN-8W
 for win-pv-devel@lists.xenproject.org; Tue, 30 Jan 2018 16:01:03 +0000
X-Inumbo-ID: bc61fbb8-05d6-11e8-ba59-bc764e045a96
Received: from mail-wr0-x241.google.com (unknown [2a00:1450:400c:c0c::241])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id bc61fbb8-05d6-11e8-ba59-bc764e045a96;
 Tue, 30 Jan 2018 17:00:48 +0100 (CET)
Received: by mail-wr0-x241.google.com with SMTP id 39so3025234wrb.10;
 Tue, 30 Jan 2018 08:01:01 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:message-id:mime-version:subject:date:in-reply-to:cc:to
 :references; bh=yiaj0l+bDqalGdWsWdjhsP0TJQj+eSbmtuJq7PmGwwo=;
 b=UC0znMbfZP93Pygs/QoJoOe9P7HamrFxAy/fK83J7uUXb8dJeZIlY30eGBI0/7TAPS
 ElAX3EIFZiG9jqf/Bl4R9hgCd8sHazerg2yPkIvlokhuO7dL8w4UUBDszbqnlRzVUtue
 dT3tOpQsAfJiMlEo4t9iaT065jCzcW8rGDSSf11e6BfSvSjxfzObC/R6Pcs3Oen4Aw5e
 rpnuInH3638zN8Bu0tD+jJwF7tbTJgmW/4tSRn4bJUGJiH/+OLNsi0qqXzJcokg4O5lz
 QlWUVPd923+uNfZhKgm5xRNlCcogE5T6l+KyXDNeDl+56JfJxy2CZ4lsdvjpMBrpSVcD
 tLtg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:message-id:mime-version:subject:date
 :in-reply-to:cc:to:references;
 bh=yiaj0l+bDqalGdWsWdjhsP0TJQj+eSbmtuJq7PmGwwo=;
 b=dNVD1xNPmww/CEXGsSSOqdnUXGKQxsbhm/94Z6G49gzXiLrS2h0NRxbp5nnSjMIpCX
 ou4Pj6kXvzQhkHn3/zRGEs0sjqtKBJD2hMyUP5xczPVjbzYLrp2/Tx2GuRuDHSN0OAXT
 1Nbxos8W7dKKv+PxkBYdRY3jTBQSyMQqguG6K66UDUU0hNqTJeLvS884KHuS8xuBWF0Y
 qHVfKgSg9h3XP2QmEvoWydChWIpLztEZHRkE1D88ZIHWpPrvDY4t/Bad5XH3qWt0dgiR
 mKIbE8QCKqkbGtVqWxxYZzB2m6R9hrA+wP0pMW6nV+ujcxv5Pygg4AGj0CdBgrdYOYTk
 2uJQ==
X-Gm-Message-State: AKwxytcSIsWUKR1aMyYvuef+ePgdut8cg/fKMCg0V99FN1KB5Rj6AZKm
 lhtLfABhjwnlw0lbskSyj3JP92iw
X-Google-Smtp-Source: AH8x224xYJghV5vRIlvZG04zzRicTJupjIPkSF/WXBa/qUpe8ktPhWVFQG7GrRs6QJ2lCdIhCfmdrA==
X-Received: by 10.223.182.19 with SMTP id f19mr24822248wre.46.1517328059474;
 Tue, 30 Jan 2018 08:00:59 -0800 (PST)
Received: from ?IPv6:2a02:c7f:ac18:da00:2000:8cdd:ddc0:4144?
 ([2a02:c7f:ac18:da00:2000:8cdd:ddc0:4144])
 by smtp.gmail.com with ESMTPSA id i16sm13276257wre.30.2018.01.30.08.00.58
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Tue, 30 Jan 2018 08:00:58 -0800 (PST)
From: Lars Kurth <lars.kurth.xen@gmail.com>
Message-Id: <BDD49C8F-CBF3-4C00-B8CF-710D431EB9AA@gmail.com>
Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\))
Date: Tue, 30 Jan 2018 16:00:57 +0000
In-Reply-To: <219B4CE4-9E0A-47CC-BD7B-261BE9FA6F91@gmail.com>
To: xen-devel <xen-devel@lists.xenproject.org>,
 minios-devel@lists.xenproject.org, xapi-devel@lists.xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
References: <219B4CE4-9E0A-47CC-BD7B-261BE9FA6F91@gmail.com>
X-Mailer: Apple Mail (2.3445.5.20)
Cc: Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wei.liu2@citrix.com>,
 Ian Jackson <ian.jackson@eu.citrix.com>, Doug Goldstein <cardoe@cardoe.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien.grall@arm.com>,
 paul.durrant@citrix.com, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 mindy@somerandomidiot.com, Roger Pau Monne <roger.pau@citrix.com>
Subject: [win-pv-devel] Changes to Outreachy program : need URGENT input
 from mentors (was Re: Preparing for GSoC and Outreachy )
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8496844636574687388=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>


--===============8496844636574687388==
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_E36FB8A2-C921-4A4D-92A2-B6D9A2927A6C"


--Apple-Mail=_E36FB8A2-C921-4A4D-92A2-B6D9A2927A6C
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Hi all, (mentors on CC list)

a quick note that there are significant changes to Outreachy this year, =
which in my view will make it a little harder to participate.

Namely
* This round, instead of having communities create landing pages on =
their own websites or wikis coordinators and mentors will create =
accounts on the Outreachy website
* This means we would have to copy projects from our wiki to =
https://www.outreachy.org <https://www.outreachy.org/> - I don't know =
what the template is yet, but this may create some extra work for =
mentors=20
* The Outreachy application period opens in two weeks, on February 12.
* Apart from this, there is fairly little information on the timeline =
and process for this round and Outreachy mail ended up in my spam =
folder: I was polling the website for info and there was not much=20

Current status:
* I have claimed the Xen Project page on https://www.outreachy =
<https://www.outreachy/> - waiting for it to be approved (I tried with =
an xenproject.org <http://xenproject.org/> alias which did not work)
* We have funding for one intern (maybe more) and thus qualify. Whether =
I can find more funds, depends on the cost of the developer summit. =
Hopefully I will know more this week (I expect concrete developer summit =
proposal this week)

Need input:
* For us too participate I need at least 3-4 mentors and projects to be =
added to https://www.outreachy.org <https://www.outreachy.org/>=20
* If you are willing to do this, please raise your hand now by replying =
to this thread or contacting me privately and I will help=20

Best Regards
Lars

> On 8 Jan 2018, at 15:19, Lars Kurth <lars.kurth.xen@gmail.com> wrote:
>=20
> Hi All,
>=20
> it's this time of the year again to prepare for GSoC/Outreachy! The =
application deadline for orgs is January 23 - February 11: ideally we =
will have a good updated lists of projects by then as Google will look =
at the quality of the project list. I will also need co-org admins: =
@Mindy are you willing to do this again? Maybe also someone from the =
Unikraft project. That helps ensure that we have reps from various =
subproject that ensure that we don't miss deadlines.
>=20
>=20
> Best Regards
> Lars
>=20
> Existing Projects (for people on the CC list)
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> If you are CC'ed you have one or several projects listed on =
https://wiki.xenproject.org/wiki/Outreach_Program_Projects ... What I =
need you to do is to
>=20
> a) Weed out any projects that have been completed or are not relevant =
any more
>   @Mindy: For MirageOS folks, please check and update =
https://github.com/mirage/mirage-www/wiki/Pioneer-Projects and do the =
same
>=20
> b) Decide whether you still want to mentor:
>   This requires some of your bandwidth from mid-Feb to March 2018 to =
work on small projects
>   The actual work happens from May 14 - Aug 14
>=20
>   If not, please reply and list projects affected
>   If yes, please also do so and I will update the Verified field =
accordingly
>=20
> c) Add any new information to existing projects as relevant.=20
>=20
>=20
> New Projects
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> Feel free to add new projects to the list, but if you do so please let =
the list know. We are not going to be very strict with =
https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Conventions_for=
_Projects_and_Project_Mentors, but getting someone else to review your =
proposal is a good idea.=20
>=20
> Unikraft
> --------
> I created a place-holder for Unikraft at =
https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Unikraft as =
Unikraft project members indicated they want to participate.
> You probably do want to set expectations with regards to start-up =
tasks and come up with a set of tasks to act as a filter for applicants =
(e.g. showing that they set up the environment, etc.)=20
>=20
>=20
> Specific Improvements to the project documentation
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
>=20
> Hypervisor start-up tasks
> -------------------------
> https://wiki.xenproject.org/wiki/Xen_Project_Development_Projects =
contains: "An easy way to get started (and show that you can set up the =
Xen Development Environment, fix an issue, build and test Xen, submit a =
patch, etc.) is to address a suitable number of Coverity Scan issues. =
Ask on xen-devel@ for a set of suitable Coverity issues. Note that this =
does not require any access to the Coverity scan results. Open bugs to =
fix under the Small Code Contribution Requirement can also be found on =
bugs.xenproject.org"
>=20
> Do we want to change this? Finding small get started projects is =
always a little bit of a problem. Maybe we can prepare a better list =
somewhere.
>=20
> In-tree vs. Wiki based projects
> -------------------------------
> We could also decide to move Hypervisor related ideas in-tree =
somewhere and generate a list if that makes things easier. But this is =
not necessary, in particular given with everything that is going on. I =
just wanted to raise this as an option: I am not particularly wedded to =
using the wiki.
>=20


--Apple-Mail=_E36FB8A2-C921-4A4D-92A2-B6D9A2927A6C
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">Hi =
all, (mentors on CC list)<div class=3D""><br class=3D""><div class=3D"">a =
quick note that there are significant changes to Outreachy this year, =
which in my view will make it a little harder to participate.</div><div =
class=3D""><br class=3D""></div><div class=3D"">Namely</div><div =
class=3D"">* This round, instead of having communities create landing =
pages on their own websites or wikis coordinators and mentors will =
create accounts on the Outreachy website</div><div class=3D"">* This =
means we would have to copy projects from our wiki to <a =
href=3D"https://www.outreachy.org" =
class=3D"">https://www.outreachy.org</a>&nbsp;- I don't know what the =
template is yet, but this may create some extra work for =
mentors&nbsp;</div><div class=3D"">* The Outreachy application period =
opens in two weeks, on February 12.</div><div class=3D"">* Apart from =
this, there is fairly little information on the timeline and process for =
this round and Outreachy mail ended up in my spam folder: I was polling =
the website for info and there was not much&nbsp;<br class=3D""><div><br =
class=3D""></div><div>Current status:</div><div>* I have claimed the Xen =
Project page on <a href=3D"https://www.outreachy" =
class=3D"">https://www.outreachy</a>&nbsp;- waiting for it to be =
approved (I tried with an&nbsp;<a href=3D"http://xenproject.org" =
class=3D"">xenproject.org</a>&nbsp;alias which did not work)</div><div>* =
We have funding for one intern (maybe more) and thus qualify. Whether I =
can find more funds, depends on the cost of the developer summit. =
Hopefully I will know more this week (I expect concrete developer summit =
proposal this week)</div><div><br class=3D""></div><div>Need =
input:</div><div>* For us too participate I need at least 3-4 mentors =
and projects to be added to&nbsp;<a href=3D"https://www.outreachy.org" =
class=3D"">https://www.outreachy.org</a>&nbsp;</div><div>* If you are =
willing to do this, please raise your hand now by replying to this =
thread or contacting me privately and I will help&nbsp;</div><div><br =
class=3D""></div><div>Best Regards</div><div>Lars</div><div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D"">On 8 Jan =
2018, at 15:19, Lars Kurth &lt;<a href=3D"mailto:lars.kurth.xen@gmail.com"=
 class=3D"">lars.kurth.xen@gmail.com</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><div class=3D"">Hi =
All,<br class=3D""><br class=3D"">it's this time of the year again to =
prepare for GSoC/Outreachy! The application deadline for orgs is January =
23 - February 11: ideally we will have a good updated lists of projects =
by then as Google will look at the quality of the project list. I will =
also need co-org admins: @Mindy are you willing to do this again? Maybe =
also someone from the Unikraft project. That helps ensure that we have =
reps from various subproject that ensure that we don't miss =
deadlines.<br class=3D""><br class=3D""><br class=3D"">Best Regards<br =
class=3D"">Lars<br class=3D""><br class=3D"">Existing Projects (for =
people on the CC list)<br class=3D"">=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D<br class=3D"">If you are CC'ed you have one or several =
projects listed on <a =
href=3D"https://wiki.xenproject.org/wiki/Outreach_Program_Projects" =
class=3D"">https://wiki.xenproject.org/wiki/Outreach_Program_Projects</a> =
... What I need you to do is to<br class=3D""><br class=3D"">a) Weed out =
any projects that have been completed or are not relevant any more<br =
class=3D""> &nbsp;&nbsp;@Mindy: For MirageOS folks, please check and =
update <a =
href=3D"https://github.com/mirage/mirage-www/wiki/Pioneer-Projects" =
class=3D"">https://github.com/mirage/mirage-www/wiki/Pioneer-Projects</a> =
and do the same<br class=3D""><br class=3D"">b) Decide whether you still =
want to mentor:<br class=3D""> &nbsp;&nbsp;This requires some of your =
bandwidth from mid-Feb to March 2018 to work on small projects<br =
class=3D""> &nbsp;&nbsp;The actual work happens from May 14 - Aug 14<br =
class=3D""><br class=3D""> &nbsp;&nbsp;If not, please reply and list =
projects affected<br class=3D""> &nbsp;&nbsp;If yes, please also do so =
and I will update the Verified field accordingly<br class=3D""><br =
class=3D"">c) Add any new information to existing projects as relevant. =
<br class=3D""><br class=3D""><br class=3D"">New Projects<br =
class=3D"">=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br class=3D"">Feel free =
to add new projects to the list, but if you do so please let the list =
know. We are not going to be very strict with <a =
href=3D"https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Convent=
ions_for_Projects_and_Project_Mentors" =
class=3D"">https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Conv=
entions_for_Projects_and_Project_Mentors</a>, but getting someone else =
to review your proposal is a good idea. <br class=3D""><br =
class=3D"">Unikraft<br class=3D"">--------<br class=3D"">I created a =
place-holder for Unikraft at <a =
href=3D"https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Unikraf=
t" =
class=3D"">https://wiki.xenproject.org/wiki/Outreach_Program_Projects#Unik=
raft</a> as Unikraft project members indicated they want to =
participate.<br class=3D"">You probably do want to set expectations with =
regards to start-up tasks and come up with a set of tasks to act as a =
filter for applicants (e.g. showing that they set up the environment, =
etc.) <br class=3D""><br class=3D""><br class=3D"">Specific Improvements =
to the project documentation<br =
class=3D"">=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D<br class=3D""><br class=3D"">Hypervisor start-up tasks<br =
class=3D"">-------------------------<br class=3D""><a =
href=3D"https://wiki.xenproject.org/wiki/Xen_Project_Development_Projects"=
 =
class=3D"">https://wiki.xenproject.org/wiki/Xen_Project_Development_Projec=
ts</a> contains: "An easy way to get started (and show that you can set =
up the Xen Development Environment, fix an issue, build and test Xen, =
submit a patch, etc.) is to address a suitable number of Coverity Scan =
issues. Ask on xen-devel@ for a set of suitable Coverity issues. Note =
that this does not require any access to the Coverity scan results. Open =
bugs to fix under the Small Code Contribution Requirement can also be =
found on <a href=3D"http://bugs.xenproject.org" =
class=3D"">bugs.xenproject.org</a>"<br class=3D""><br class=3D"">Do we =
want to change this? Finding small get started projects is always a =
little bit of a problem. Maybe we can prepare a better list =
somewhere.<br class=3D""><br class=3D"">In-tree vs. Wiki based =
projects<br class=3D"">-------------------------------<br class=3D"">We =
could also decide to move Hypervisor related ideas in-tree somewhere and =
generate a list if that makes things easier. But this is not necessary, =
in particular given with everything that is going on. I just wanted to =
raise this as an option: I am not particularly wedded to using the =
wiki.<br class=3D""><br class=3D""></div></div></blockquote></div><br =
class=3D""></div></div></body></html>=

--Apple-Mail=_E36FB8A2-C921-4A4D-92A2-B6D9A2927A6C--


--===============8496844636574687388==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

--===============8496844636574687388==--


From win-pv-devel-bounces@lists.xenproject.org Wed Jan 31 14:59:26 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 Jan 2018 14:59:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egtr9-000242-S6; Wed, 31 Jan 2018 14:59:23 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=pgub=e2=citrix.com=prvs=5620a5ce2=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egtr8-00023q-Ak
 for win-pv-devel@lists.xenproject.org; Wed, 31 Jan 2018 14:59:22 +0000
X-Inumbo-ID: 47ee8150-0697-11e8-ba59-bc764e045a96
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 47ee8150-0697-11e8-ba59-bc764e045a96;
 Wed, 31 Jan 2018 15:59:06 +0100 (CET)
X-IronPort-AV: E=Sophos;i="5.46,440,1511827200"; d="scan'208";a="460478026"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 31 Jan 2018 14:59:08 +0000
Message-ID: <1517410750-4749-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xenbus 1/3] Add Order parameter to
	MemoryDecreaseReservation()...
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

Li4uYW5kIE1lbW9yeVBvcHVsYXRlUGh5c21hcCgpCgpTdG9wIGhhcmQtY29kaW5nIHRoZSBwYWdl
IG9yZGVyIHRvIDAgYW5kIGFsbG93IHRoZSBjYWxsZXIgdG8gc3BlY2lmeSBpdC4KQWxzbyBhZGQg
YSBjb3VwbGUgb2YgI2RlZmluZXMgZm9yIDRrIGFuZCAyTSBwYWdlIG9yZGVycy4KClNpZ25lZC1v
ZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+Ci0tLQogaW5jbHVk
ZS94ZW4uaCAgICAgICAgfCAgNSArKysrKwogc3JjL3hlbi9tZW1vcnkuYyAgICAgfCAgNiArKysr
LS0KIHNyYy94ZW5idXMvYmFsbG9vbi5jIHwgMjQgKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiAz
IGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL2luY2x1ZGUveGVuLmggYi9pbmNsdWRlL3hlbi5oCmluZGV4IGU3OTU2ZjAuLjk4YjA3
NDggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuLmgKKysrIGIvaW5jbHVkZS94ZW4uaApAQCAtMTI2
LDEwICsxMjYsMTQgQEAgTWVtb3J5QWRkVG9QaHlzbWFwKAogICAgIElOICBVTE9OR19QVFIgICBP
ZmZzZXQKICAgICApOwogCisjZGVmaW5lIFBBR0VfT1JERVJfNEsgICAwCisjZGVmaW5lIFBBR0Vf
T1JERVJfMk0gICA5CisKIF9fY2hlY2tSZXR1cm4KIFhFTl9BUEkKIFVMT05HCiBNZW1vcnlEZWNy
ZWFzZVJlc2VydmF0aW9uKAorICAgIElOICBVTE9ORyAgICAgICBPcmRlciwKICAgICBJTiAgVUxP
TkcgICAgICAgQ291bnQsCiAgICAgSU4gIFBQRk5fTlVNQkVSIFBmbkFycmF5CiAgICAgKTsKQEAg
LTEzOCw2ICsxNDIsNyBAQCBfX2NoZWNrUmV0dXJuCiBYRU5fQVBJCiBVTE9ORwogTWVtb3J5UG9w
dWxhdGVQaHlzbWFwKAorICAgIElOICBVTE9ORyAgICAgICBPcmRlciwKICAgICBJTiAgVUxPTkcg
ICAgICAgQ291bnQsCiAgICAgSU4gIFBQRk5fTlVNQkVSIFBmbkFycmF5CiAgICAgKTsKZGlmZiAt
LWdpdCBhL3NyYy94ZW4vbWVtb3J5LmMgYi9zcmMveGVuL21lbW9yeS5jCmluZGV4IDliNTU1ZWMu
LjVjZGJlOWQgMTAwNjQ0Ci0tLSBhL3NyYy94ZW4vbWVtb3J5LmMKKysrIGIvc3JjL3hlbi9tZW1v
cnkuYwpAQCAtODQsNiArODQsNyBAQCBfX2NoZWNrUmV0dXJuCiBYRU5fQVBJCiBVTE9ORwogTWVt
b3J5RGVjcmVhc2VSZXNlcnZhdGlvbigKKyAgICBJTiAgVUxPTkcgICAgICAgICAgICAgICAgICAg
ICAgIE9yZGVyLAogICAgIElOICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgQ291bnQsCiAg
ICAgSU4gIFBQRk5fTlVNQkVSICAgICAgICAgICAgICAgICBQZm5BcnJheQogICAgICkKQEAgLTky
LDcgKzkzLDcgQEAgTWVtb3J5RGVjcmVhc2VSZXNlcnZhdGlvbigKICAgICBMT05HX1BUUiAgICAg
ICAgICAgICAgICAgICAgICAgIHJjOwogCiAgICAgc2V0X3hlbl9ndWVzdF9oYW5kbGUob3AuZXh0
ZW50X3N0YXJ0LCBQZm5BcnJheSk7Ci0gICAgb3AuZXh0ZW50X29yZGVyID0gMDsKKyAgICBvcC5l
eHRlbnRfb3JkZXIgPSBPcmRlcjsKICAgICBvcC5tZW1fZmxhZ3MgPSAwOwogICAgIG9wLmRvbWlk
ID0gRE9NSURfU0VMRjsKICAgICBvcC5ucl9leHRlbnRzID0gQ291bnQ7CkBAIC0xMDYsNiArMTA3
LDcgQEAgX19jaGVja1JldHVybgogWEVOX0FQSQogVUxPTkcKIE1lbW9yeVBvcHVsYXRlUGh5c21h
cCgKKyAgICBJTiAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIE9yZGVyLAogICAgIElOICBV
TE9ORyAgICAgICAgICAgICAgICAgICAgICAgQ291bnQsCiAgICAgSU4gIFBQRk5fTlVNQkVSICAg
ICAgICAgICAgICAgICBQZm5BcnJheQogICAgICkKQEAgLTExNCw3ICsxMTYsNyBAQCBNZW1vcnlQ
b3B1bGF0ZVBoeXNtYXAoCiAgICAgTE9OR19QVFIgICAgICAgICAgICAgICAgICAgICAgICByYzsK
IAogICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxlKG9wLmV4dGVudF9zdGFydCwgUGZuQXJyYXkpOwot
ICAgIG9wLmV4dGVudF9vcmRlciA9IDA7CisgICAgb3AuZXh0ZW50X29yZGVyID0gT3JkZXI7CiAg
ICAgb3AubWVtX2ZsYWdzID0gMDsKICAgICBvcC5kb21pZCA9IERPTUlEX1NFTEY7CiAgICAgb3Au
bnJfZXh0ZW50cyA9IENvdW50OwpkaWZmIC0tZ2l0IGEvc3JjL3hlbmJ1cy9iYWxsb29uLmMgYi9z
cmMveGVuYnVzL2JhbGxvb24uYwppbmRleCBmOTg3MDk2Li42ZjM3NjdjIDEwMDY0NAotLS0gYS9z
cmMveGVuYnVzL2JhbGxvb24uYworKysgYi9zcmMveGVuYnVzL2JhbGxvb24uYwpAQCAtMzQwLDE3
ICszNDAsMTcgQEAgQmFsbG9vblBvcHVsYXRlUGh5c21hcCgKICAgICBJTiAgUFBGTl9OVU1CRVIg
UGZuQXJyYXkKICAgICApCiB7Ci0gICAgTEFSR0VfSU5URUdFUiAgICAgICAgICAgU3RhcnQ7Ci0g
ICAgTEFSR0VfSU5URUdFUiAgICAgICAgICAgRW5kOwotICAgIFVMT05HTE9ORyAgICAgICAgICAg
ICAgIFRpbWVEZWx0YTsKLSAgICBVTE9OR0xPTkcgICAgICAgICAgICAgICBSYXRlOwotICAgIFVM
T05HICAgICAgICAgICAgICAgICAgIENvdW50OworICAgIExBUkdFX0lOVEVHRVIgICBTdGFydDsK
KyAgICBMQVJHRV9JTlRFR0VSICAgRW5kOworICAgIFVMT05HTE9ORyAgICAgICBUaW1lRGVsdGE7
CisgICAgVUxPTkdMT05HICAgICAgIFJhdGU7CisgICAgVUxPTkcgICAgICAgICAgIENvdW50Owog
CiAgICAgQVNTRVJUKFJlcXVlc3RlZCAhPSAwKTsKIAogICAgIEtlUXVlcnlTeXN0ZW1UaW1lKCZT
dGFydCk7CiAKLSAgICBDb3VudCA9IE1lbW9yeVBvcHVsYXRlUGh5c21hcChSZXF1ZXN0ZWQsIFBm
bkFycmF5KTsKKyAgICBDb3VudCA9IE1lbW9yeVBvcHVsYXRlUGh5c21hcChSZXF1ZXN0ZWQsIFBB
R0VfT1JERVJfNEssIFBmbkFycmF5KTsKIAogICAgIEtlUXVlcnlTeXN0ZW1UaW1lKCZFbmQpOwog
ICAgIFRpbWVEZWx0YSA9IF9fbWF4KCgoRW5kLlF1YWRQYXJ0IC0gU3RhcnQuUXVhZFBhcnQpIC8g
MTAwMDB1bGwpLCAxKTsKQEAgLTQyNywxNyArNDI3LDE3IEBAIEJhbGxvb25EZWNyZWFzZVJlc2Vy
dmF0aW9uKAogICAgIElOICBQUEZOX05VTUJFUiBQZm5BcnJheQogICAgICkKIHsKLSAgICBMQVJH
RV9JTlRFR0VSICAgICAgICAgICBTdGFydDsKLSAgICBMQVJHRV9JTlRFR0VSICAgICAgICAgICBF
bmQ7Ci0gICAgVUxPTkdMT05HICAgICAgICAgICAgICAgVGltZURlbHRhOwotICAgIFVMT05HTE9O
RyAgICAgICAgICAgICAgIFJhdGU7Ci0gICAgVUxPTkcgICAgICAgICAgICAgICAgICAgQ291bnQ7
CisgICAgTEFSR0VfSU5URUdFUiAgIFN0YXJ0OworICAgIExBUkdFX0lOVEVHRVIgICBFbmQ7Cisg
ICAgVUxPTkdMT05HICAgICAgIFRpbWVEZWx0YTsKKyAgICBVTE9OR0xPTkcgICAgICAgUmF0ZTsK
KyAgICBVTE9ORyAgICAgICAgICAgQ291bnQ7CiAKICAgICBBU1NFUlQoUmVxdWVzdGVkICE9IDAp
OwogCiAgICAgS2VRdWVyeVN5c3RlbVRpbWUoJlN0YXJ0KTsKIAotICAgIENvdW50ID0gTWVtb3J5
RGVjcmVhc2VSZXNlcnZhdGlvbihSZXF1ZXN0ZWQsIFBmbkFycmF5KTsKKyAgICBDb3VudCA9IE1l
bW9yeURlY3JlYXNlUmVzZXJ2YXRpb24oUmVxdWVzdGVkLCBQQUdFX09SREVSXzRLLCBQZm5BcnJh
eSk7CiAKICAgICBLZVF1ZXJ5U3lzdGVtVGltZSgmRW5kKTsKICAgICBUaW1lRGVsdGEgPSBfX21h
eCgoKEVuZC5RdWFkUGFydCAtIFN0YXJ0LlF1YWRQYXJ0KSAvIDEwMDAwdWxsKSwgMSk7Ci0tIAoy
LjUuMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndp
bi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn
Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2
ZWw=

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 31 14:59:26 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 Jan 2018 14:59:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egtr9-00024A-TH; Wed, 31 Jan 2018 14:59:23 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=pgub=e2=citrix.com=prvs=5620a5ce2=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egtr8-00023w-KD
 for win-pv-devel@lists.xenproject.org; Wed, 31 Jan 2018 14:59:22 +0000
X-Inumbo-ID: 496e6e31-0697-11e8-ba59-bc764e045a96
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 496e6e31-0697-11e8-ba59-bc764e045a96;
 Wed, 31 Jan 2018 15:59:07 +0100 (CET)
X-IronPort-AV: E=Sophos;i="5.46,440,1511827200"; d="scan'208";a="460478025"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 31 Jan 2018 14:59:09 +0000
Message-ID: <1517410750-4749-2-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1517410750-4749-1-git-send-email-paul.durrant@citrix.com>
References: <1517410750-4749-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xenbus 2/3] Add a XEN_API to get the maximum
	physical RAM address
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

VGhlIGluaXRpYWxpemF0aW9uIGNvZGUgaW4gWEVOLkRMTCBhbHJlYWR5IHNjYW5zIHRoZSBwaHlz
aWNhbCBtZW1vcnkKcmFuZ2VzIHNvIGl0J3MgdHJpdmlhbCB0byBzdG9yZSB0aGUgbWF4aW11bSBw
aHlzaWNhbCBhZGRyZXNzIHNlZW4gYW5kIHRoZW4KcHJvdmlkZSBhIGZ1bmN0aW9uIHRvIHJldHVy
biB0aGF0IHZhbHVlLgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRA
Y2l0cml4LmNvbT4KLS0tCiBpbmNsdWRlL3hlbi5oICAgIHwgIDYgKysrKysrCiBzcmMveGVuL3N5
c3RlbS5jIHwgMjIgKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAyOCBp
bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4uaCBiL2luY2x1ZGUveGVuLmgK
aW5kZXggOThiMDc0OC4uZWRmYWRjOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4uaAorKysgYi9p
bmNsdWRlL3hlbi5oCkBAIC00NTIsNCArNDUyLDEwIEBAIFN5c3RlbVZpcnR1YWxDcHVJbmRleCgK
ICAgICBPVVQgdW5zaWduZWQgaW50ICAgICp2Y3B1X2lkCiAgICAgKTsKIAorWEVOX0FQSQorUEhZ
U0lDQUxfQUREUkVTUworU3lzdGVtTWF4aW11bVBoeXNpY2FsQWRkcmVzcygKKyAgICBWT0lECisg
ICAgKTsKKwogI2VuZGlmICAvLyBfWEVOX0gKZGlmZiAtLWdpdCBhL3NyYy94ZW4vc3lzdGVtLmMg
Yi9zcmMveGVuL3N5c3RlbS5jCmluZGV4IGRiZjcwOGQuLmE3YjQ2ZDEgMTAwNjQ0Ci0tLSBhL3Ny
Yy94ZW4vc3lzdGVtLmMKKysrIGIvc3JjL3hlbi9zeXN0ZW0uYwpAQCAtNjIsNiArNjIsNyBAQCB0
eXBlZGVmIHN0cnVjdCBfU1lTVEVNX0NPTlRFWFQgewogICAgIFVMT05HICAgICAgICAgICAgICAg
UHJvY2Vzc29yQ291bnQ7CiAgICAgUFZPSUQgICAgICAgICAgICAgICBQb3dlclN0YXRlSGFuZGxl
OwogICAgIFBWT0lEICAgICAgICAgICAgICAgUHJvY2Vzc29yQ2hhbmdlSGFuZGxlOworICAgIFBI
WVNJQ0FMX0FERFJFU1MgICAgTWF4aW11bVBoeXNpY2FsQWRkcmVzczsKIH0gU1lTVEVNX0NPTlRF
WFQsICpQU1lTVEVNX0NPTlRFWFQ7CiAKIHN0YXRpYyBTWVNURU1fQ09OVEVYVCAgIFN5c3RlbUNv
bnRleHQ7CkBAIC0yMjQsNiArMjI1LDcgQEAgU3lzdGVtR2V0TWVtb3J5SW5mb3JtYXRpb24oCiAg
ICAgVk9JRAogICAgICkKIHsKKyAgICBQU1lTVEVNX0NPTlRFWFQgICAgICAgICBDb250ZXh0ID0g
JlN5c3RlbUNvbnRleHQ7CiAgICAgUEhZU0lDQUxfTUVNT1JZX1JBTkdFICAgKlJhbmdlOwogICAg
IFVMT05HICAgICAgICAgICAgICAgICAgIEluZGV4OwogICAgIE5UU1RBVFVTICAgICAgICAgICAg
ICAgIHN0YXR1czsKQEAgLTI0NywxMCArMjQ5LDE3IEBAIFN5c3RlbUdldE1lbW9yeUluZm9ybWF0
aW9uKAogICAgICAgICAgICAgIEluZGV4LAogICAgICAgICAgICAgIFN0YXJ0LkhpZ2hQYXJ0LCBT
dGFydC5Mb3dQYXJ0LAogICAgICAgICAgICAgIEVuZC5IaWdoUGFydCwgRW5kLkxvd1BhcnQpOwor
CisgICAgICAgIGlmIChFbmQuUXVhZFBhcnQgPiBDb250ZXh0LT5NYXhpbXVtUGh5c2ljYWxBZGRy
ZXNzLlF1YWRQYXJ0KQorICAgICAgICAgICAgQ29udGV4dC0+TWF4aW11bVBoeXNpY2FsQWRkcmVz
cy5RdWFkUGFydCA9IEVuZC5RdWFkUGFydDsKICAgICB9CiAKICAgICBFeEZyZWVQb29sKFJhbmdl
KTsKIAorICAgIEluZm8oIk1heGltdW1QaHlzaWNhbEFkZHJlc3MgPSAlMDh4LiUwOHhcbiIsCisg
ICAgICAgICBDb250ZXh0LT5NYXhpbXVtUGh5c2ljYWxBZGRyZXNzLkhpZ2hQYXJ0LAorICAgICAg
ICAgQ29udGV4dC0+TWF4aW11bVBoeXNpY2FsQWRkcmVzcy5Mb3dQYXJ0KTsKKwogICAgIHJldHVy
biBTVEFUVVNfU1VDQ0VTUzsKIAogZmFpbDE6CkBAIC0xMDE4LDYgKzEwMjcsMTcgQEAgZmFpbDE6
CiAgICAgcmV0dXJuIHN0YXR1czsKIH0KIAorWEVOX0FQSQorUEhZU0lDQUxfQUREUkVTUworU3lz
dGVtTWF4aW11bVBoeXNpY2FsQWRkcmVzcygKKyAgICBWT0lECisgICAgKQoreworICAgIFBTWVNU
RU1fQ09OVEVYVCBDb250ZXh0ID0gJlN5c3RlbUNvbnRleHQ7CisKKyAgICByZXR1cm4gQ29udGV4
dC0+TWF4aW11bVBoeXNpY2FsQWRkcmVzczsKK30KKwogVk9JRAogU3lzdGVtVGVhcmRvd24oCiAg
ICAgVk9JRApAQCAtMTAzMiw2ICsxMDUyLDggQEAgU3lzdGVtVGVhcmRvd24oCiAgICAgX19TeXN0
ZW1GcmVlKENvbnRleHQtPk1hZHQpOwogICAgIENvbnRleHQtPk1hZHQgPSBOVUxMOwogCisgICAg
Q29udGV4dC0+TWF4aW11bVBoeXNpY2FsQWRkcmVzcy5RdWFkUGFydCA9IDA7CisKICAgICAoVk9J
RCkgSW50ZXJsb2NrZWREZWNyZW1lbnQoJkNvbnRleHQtPlJlZmVyZW5jZXMpOwogCiAgICAgQVNT
RVJUKElzWmVyb01lbW9yeShDb250ZXh0LCBzaXplb2YgKFNZU1RFTV9DT05URVhUKSkpOwotLSAK
Mi41LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3
aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 31 14:59:30 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 Jan 2018 14:59:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egtrG-00025W-Ug; Wed, 31 Jan 2018 14:59:30 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=pgub=e2=citrix.com=prvs=5620a5ce2=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egtrF-00024M-UO
 for win-pv-devel@lists.xenproject.org; Wed, 31 Jan 2018 14:59:29 +0000
X-Inumbo-ID: 63668cab-0697-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 63668cab-0697-11e8-b9b1-635ca7ef6cff;
 Wed, 31 Jan 2018 14:59:52 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,440,1511827200"; d="scan'208";a="460478028"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 31 Jan 2018 14:59:10 +0000
Message-ID: <1517410750-4749-3-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1517410750-4749-1-git-send-email-paul.durrant@citrix.com>
References: <1517410750-4749-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xenbus 3/3] Stop using BAR space to host Xen
	data structures
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

Q3VycmVudGx5IFhFTkJVUyBtYWtlcyB1c2Ugb2YgdGhlIG1lbW9yeSBCQVIgb2YgdGhlIFBDSSBk
ZXZpY2UgdG8gd2hpY2ggaXQKYmluZHMgYXMgYSBzb3VyY2Ugb2YgdW5wb3B1bGF0ZWQgR0ZOcyB0
byBob3N0IFhlbiBkYXRhIHN0cnVjdHVyZXMsIHN1Y2ggYXMKdGhlIHNoYXJlZCBpbmZvIGFuZCBn
cmFudCB0YWJsZS4KClRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIGRvaW5nIHRoaXMsIHdoaWNoIGlz
IHRoYXQgV2luZG93cyAodW5zdXJwcmlzaW5nbHkpCnNldHMgdXAgYSBub24tY2FjaGVkIE1UUlIg
Zm9yIHRoZSBwYWdlIHJhbmdlIGNvdmVyaW5nIFBDSSBCQVJzIHNvIGFjY2Vzc2VzCnRvIEJBUiBz
cGFjZSAoYW5kIGhlbmNlIHRoZSBYZW4gZGF0YSBzdHJ1Y3R1cmVzKSBzaG91bGQgYmUgbm9uLWNh
Y2hlZC4KSG93ZXZlciwgWGVuIGl0c2VsZiBjb250YWlucyBhIHdvcmstYXJvdW5kIHRvIGF2b2lk
IHRoZSBzbG93IGFjY2VzcyB0aW1lcwp0aGF0IHdvdWxkIG9yZGluYXJpbHkgcmVzdWx0IGZyb20g
dGhlIHRoaXM7IGl0IGlnbm9yZXMgdGhlIE1UUlJzIGlmIG5vCnJlYWwgZGV2aWNlcyBhcmUgcGFz
c2VkIHRocm91Z2ggdG8gdGhlIGd1ZXN0IHNvIGFjY2Vzc2VzIGFyZSBhY3R1YWxseQpjYWNoZWQu
IFRodXMsIGluIHRoZSBub3JtYWwgY2FzZSwgdGhlcmUgaXMgbm8gcGVuYWx0eSB0byBwYXkuLi4g
YnV0IGFzIHNvb24KYXMgaGFyZHdhcmUgaXMgcGFzc2VkIHRocm91Z2ggdG8gYSBndWVzdCwgdGhl
IHdvcmstYXJvdW5kIG5vIGxvbmdlciBhcHBsaWVzCmFuZCB0aGVyZSBpcyBhIG5vdGljZWFibGUg
ZHJvcCBpbiBQViBkcml2ZXIgcGVyZm9ybWFuY2UuIChFLmcuIG5ldHdvcmsKdGhyb3VnaHB1dCBj
YW4gZHJvcCBieSB+MzAtNDAlKS4KClRoaXMgcGF0Y2ggbW9kaWZpZXMgWEVOQlVTIHRvIGFsbG9j
YXRlIGEgMk1CIGFyZWEgb2YgUkFNICh3aGljaCB3aWxsIGFsd2F5cwpmYWxsIGludG8gYSBjYWNo
ZWQgTVRSUiksIHVzZSBhIGRlY3JlYXNlX3Jlc2VydmF0aW9uIGh5cGVyY2FsbCB0bwpkZS1wb3B1
bGF0ZSB0aGUgYXJlYSwgYW5kIHRoZW4gdXNlIHRoYXQgYXMgYSBzb3VyY2Ugb2YgR0ZOcyBpbnN0
ZWFkIG9mIHRoZQpCQVIuIEhlbmNlLCB0aGUgd29yay1hcm91bmQgaW4gWGVuIG5vIGxvbmdlciBo
YXMgYW55IGJhcmluZyBvbiBhY2Nlc3Npbmcgb2YKWGVuIGRhdGEgc3RydWN0dXJlcyBhbmQgdGh1
cyB0aGVyZSBpcyBubyBsb25nZXIgYW55IHBlcmZvcm1hbmNlIHBlbmFsdHkKd2hlbiBoYXJkd2Fy
ZSBpcyBwYXNzZWQgdGhyb3VnaCB0byBhIGd1ZXN0LgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJy
YW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KLS0tCiBzcmMveGVuYnVzL2Zkby5jICAgICAg
ICAgfCAzMTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0K
IHNyYy94ZW5idXMvZmRvLmggICAgICAgICB8ICAxMyArLQogc3JjL3hlbmJ1cy9nbnR0YWIuYyAg
ICAgIHwgMTAwICsrKysrKy0tLS0tLS0tLQogc3JjL3hlbmJ1cy9zaGFyZWRfaW5mby5jIHwgIDQ0
ICsrKy0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgMjc2IGluc2VydGlvbnMoKyksIDE5OCBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9zcmMveGVuYnVzL2Zkby5jIGIvc3JjL3hlbmJ1cy9mZG8uYwpp
bmRleCAyNWE2Y2ZjLi43ZjY3YjYxIDEwMDY0NAotLS0gYS9zcmMveGVuYnVzL2Zkby5jCisrKyBi
L3NyYy94ZW5idXMvZmRvLmMKQEAgLTEzOCw3ICsxMzgsOSBAQCBzdHJ1Y3QgX1hFTkJVU19GRE8g
ewogICAgIFhFTkJVU19SQU5HRV9TRVRfSU5URVJGQUNFICAgICAgUmFuZ2VTZXRJbnRlcmZhY2U7
CiAgICAgWEVOQlVTX0JBTExPT05fSU5URVJGQUNFICAgICAgICBCYWxsb29uSW50ZXJmYWNlOwog
Ci0gICAgUFhFTkJVU19SQU5HRV9TRVQgICAgICAgICAgICAgICBJb1JhbmdlU2V0OworICAgIFBV
Q0hBUiAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyOworICAgIFBNREwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTWRsOworICAgIFBYRU5CVVNfUkFOR0VfU0VUICAgICAgICAgICAg
ICAgUmFuZ2VTZXQ7CiAgICAgTElTVF9FTlRSWSAgICAgICAgICAgICAgICAgICAgICBJbnRlcnJ1
cHRMaXN0OwogCiAgICAgUFhFTkJVU19FVlRDSE5fQ0hBTk5FTCAgICAgICAgICBDaGFubmVsOwpA
QCAtMjg0MSw2MiArMjg0Myw2MyBAQCBGZG9TdXNwZW5kQ2FsbGJhY2tMYXRlKAogfQogCiBzdGF0
aWMgTlRTVEFUVVMKLUZkb0NyZWF0ZUlvU3BhY2UoCi0gICAgSU4gIFBYRU5CVVNfRkRPICAgICAg
ICAgICAgICAgICBGZG8KK0Zkb0NyZWF0ZUhvbGUoCisgICAgSU4gIFBYRU5CVVNfRkRPIEZkbwog
ICAgICkKIHsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4OwotICAg
IFBDTV9QQVJUSUFMX1JFU09VUkNFX0RFU0NSSVBUT1IgVHJhbnNsYXRlZDsKLSAgICBQSFlTSUNB
TF9BRERSRVNTICAgICAgICAgICAgICAgIEVuZDsKLSAgICBOVFNUQVRVUyAgICAgICAgICAgICAg
ICAgICAgICAgIHN0YXR1czsKLQotICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IEZkby0+VHJh
bnNsYXRlZFJlc291cmNlTGlzdC0+Q291bnQ7IEluZGV4KyspIHsKLSAgICAgICAgVHJhbnNsYXRl
ZCA9ICZGZG8tPlRyYW5zbGF0ZWRSZXNvdXJjZUxpc3QtPlBhcnRpYWxEZXNjcmlwdG9yc1tJbmRl
eF07Ci0KLSAgICAgICAgaWYgKFRyYW5zbGF0ZWQtPlR5cGUgPT0gQ21SZXNvdXJjZVR5cGVNZW1v
cnkpCi0gICAgICAgICAgICBnb3RvIGZvdW5kOwotICAgIH0KLQotICAgIHN0YXR1cyA9IFNUQVRV
U19PQkpFQ1RfTkFNRV9OT1RfRk9VTkQ7Ci0gICAgZ290byBmYWlsMTsKKyAgICBQTURMICAgICAg
ICAgICAgTWRsOworICAgIFBGTl9OVU1CRVIgICAgICBQZm47CisgICAgTE9OR0xPTkcgICAgICAg
IFN0YXJ0OworICAgIFVMT05HICAgICAgICAgICBDb3VudDsKKyAgICBOVFNUQVRVUyAgICAgICAg
c3RhdHVzOwogCi1mb3VuZDoKICAgICBzdGF0dXMgPSBYRU5CVVNfUkFOR0VfU0VUKENyZWF0ZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZGZG8tPlJhbmdlU2V0SW50ZXJmYWNlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlvX3NwYWNlIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZGZG8tPklvUmFuZ2VTZXQpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImhvbGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkZkby0+UmFu
Z2VTZXQpOwogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWwy
OworICAgICAgICBnb3RvIGZhaWwxOworCisgICAgTWRsID0gRmRvLT5NZGw7CisKKyAgICBQZm4g
PSBNbUdldE1kbFBmbkFycmF5KE1kbClbMF07CisKKyAgICBTdGFydCA9IFBmbjsKKyAgICBDb3Vu
dCA9IEJZVEVTX1RPX1BBR0VTKE1kbC0+Qnl0ZUNvdW50KTsKIAogICAgIHN0YXR1cyA9IFhFTkJV
U19SQU5HRV9TRVQoUHV0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkZkby0+UmFu
Z2VTZXRJbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGZG8tPklvUmFu
Z2VTZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2xhdGVkLT51Lk1lbW9y
eS5TdGFydC5RdWFkUGFydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zbGF0
ZWQtPnUuTWVtb3J5Lkxlbmd0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGZG8t
PlJhbmdlU2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBDb3VudCk7CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1
cykpCi0gICAgICAgIGdvdG8gZmFpbDM7CisgICAgICAgIGdvdG8gZmFpbDI7CiAKLSAgICBFbmQu
UXVhZFBhcnQgPSBUcmFuc2xhdGVkLT51Lk1lbW9yeS5TdGFydC5RdWFkUGFydCArIFRyYW5zbGF0
ZWQtPnUuTWVtb3J5Lkxlbmd0aCAtIDE7CisgICAgc3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZV
TDsKKyAgICBpZiAoTWVtb3J5RGVjcmVhc2VSZXNlcnZhdGlvbihQQUdFX09SREVSXzJNLCAxLCAm
UGZuKSAhPSAxKQorICAgICAgICBnb3RvIGZhaWwzOwogCi0gICAgSW5mbygiJTA4eC4lMDh4IC0g
JTA4eC4lMDh4XG4iLAotICAgICAgICAgVHJhbnNsYXRlZC0+dS5NZW1vcnkuU3RhcnQuSGlnaFBh
cnQsCi0gICAgICAgICBUcmFuc2xhdGVkLT51Lk1lbW9yeS5TdGFydC5Mb3dQYXJ0LAotICAgICAg
ICAgRW5kLkhpZ2hQYXJ0LAotICAgICAgICAgRW5kLkxvd1BhcnQpOworICAgIFRyYWNlKCIlMDh4
IC0gJTA4eFxuIiwgU3RhcnQsIFN0YXJ0ICsgQ291bnQgLSAxKTsKIAogICAgIHJldHVybiBTVEFU
VVNfU1VDQ0VTUzsKIAogZmFpbDM6CiAgICAgRXJyb3IoImZhaWwzXG4iKTsKIAotICAgIFhFTkJV
U19SQU5HRV9TRVQoRGVzdHJveSwKKyAgICBYRU5CVVNfUkFOR0VfU0VUKEdldCwKICAgICAgICAg
ICAgICAgICAgICAgICZGZG8tPlJhbmdlU2V0SW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAg
ICAgRmRvLT5Jb1JhbmdlU2V0KTsKLSAgICBGZG8tPklvUmFuZ2VTZXQgPSBOVUxMOworICAgICAg
ICAgICAgICAgICAgICAgRmRvLT5SYW5nZVNldCwKKyAgICAgICAgICAgICAgICAgICAgIFN0YXJ0
LAorICAgICAgICAgICAgICAgICAgICAgQ291bnQpOwogCiBmYWlsMjoKICAgICBFcnJvcigiZmFp
bDJcbiIpOwogCisgICAgWEVOQlVTX1JBTkdFX1NFVChEZXN0cm95LAorICAgICAgICAgICAgICAg
ICAgICAgJkZkby0+UmFuZ2VTZXRJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICBGZG8t
PlJhbmdlU2V0KTsKKyAgICBGZG8tPlJhbmdlU2V0ID0gTlVMTDsKKwogZmFpbDE6CiAgICAgRXJy
b3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVzKTsKIApAQCAtMjkwNCwyNSArMjkwNyw0MCBAQCBm
YWlsMToKIH0KIAogTlRTVEFUVVMKLUZkb0FsbG9jYXRlSW9TcGFjZSgKK0Zkb0FsbG9jYXRlSG9s
ZSgKICAgICBJTiAgUFhFTkJVU19GRE8gICAgICAgICBGZG8sCi0gICAgSU4gIFVMT05HICAgICAg
ICAgICAgICAgU2l6ZSwKLSAgICBPVVQgUFBIWVNJQ0FMX0FERFJFU1MgICBBZGRyZXNzCisgICAg
SU4gIFVMT05HICAgICAgICAgICAgICAgQ291bnQsCisgICAgT1VUIFBWT0lEICAgICAgICAgICAg
ICAgKlZpcnR1YWxBZGRyZXNzIE9QVElPTkFMLAorICAgIE9VVCBQUEhZU0lDQUxfQUREUkVTUyAg
IFBoeXNpY2FsQWRkcmVzcwogICAgICkKIHsKKyAgICBMT05HTE9ORyAgICAgICAgICAgICAgICBT
dGFydDsKICAgICBOVFNUQVRVUyAgICAgICAgICAgICAgICBzdGF0dXM7CiAKLSAgICBBU1NFUlQz
VShTaXplICYgKFBBR0VfU0laRSAtIDEpLCA9PSwgMCk7Ci0KICAgICBzdGF0dXMgPSBYRU5CVVNf
UkFOR0VfU0VUKFBvcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZGZG8tPlJhbmdl
U2V0SW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmRvLT5Jb1Jhbmdl
U2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2l6ZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZBZGRyZXNzLT5RdWFkUGFydCk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBGZG8tPlJhbmdlU2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Q291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmU3RhcnQpOwogICAgIGlmICgh
TlRfU1VDQ0VTUyhzdGF0dXMpKQogICAgICAgICBnb3RvIGZhaWwxOwogCi0gICAgQVNTRVJUM1Uo
QWRkcmVzcy0+UXVhZFBhcnQgJiAoUEFHRV9TSVpFIC0gMSksID09LCAwKTsKKyAgICBUcmFjZSgi
JTA4eCAtICUwOHhcbiIsIFN0YXJ0LCBTdGFydCArIENvdW50IC0gMSk7CisKKyAgICBpZiAoVmly
dHVhbEFkZHJlc3MgIT0gTlVMTCkgeworICAgICAgICBQVUNIQVIgIFN0YXJ0VmEgPSBGZG8tPkJ1
ZmZlcjsKKyAgICAgICAgUE1ETCAgICBNZGwgPSBGZG8tPk1kbDsKKyAgICAgICAgVUxPTkcgICBJ
bmRleDsKKyAgICAgICAgVUxPTkcgICBCeXRlT2Zmc2V0OworCisgICAgICAgIEluZGV4ID0gKFVM
T05HKSgoUEZOX05VTUJFUilTdGFydCAtIE1tR2V0TWRsUGZuQXJyYXkoTWRsKVswXSk7CisgICAg
ICAgIEJ5dGVPZmZzZXQgPSBJbmRleCAqIFBBR0VfU0laRTsKKyAgICAgICAgQVNTRVJUM1UoQnl0
ZU9mZnNldCwgPD0sIE1kbC0+Qnl0ZUNvdW50KTsKKworICAgICAgICAqVmlydHVhbEFkZHJlc3Mg
PSBTdGFydFZhICsgQnl0ZU9mZnNldDsKKyAgICB9CisKKyAgICBQaHlzaWNhbEFkZHJlc3MtPlF1
YWRQYXJ0ID0gU3RhcnQgPDwgUEFHRV9TSElGVDsKIAogICAgIHJldHVybiBTVEFUVVNfU1VDQ0VT
Uzs7CiAKQEAgLTI5MzMsNTYgKzI5NTEsNjIgQEAgZmFpbDE6CiB9CiAKIFZPSUQKLUZkb0ZyZWVJ
b1NwYWNlKAorRmRvRnJlZUhvbGUoCiAgICAgSU4gIFBYRU5CVVNfRkRPICAgICAgICAgRmRvLAot
ICAgIElOICBQSFlTSUNBTF9BRERSRVNTICAgIEFkZHJlc3MsCi0gICAgSU4gIFVMT05HICAgICAg
ICAgICAgICAgU2l6ZQorICAgIElOICBQSFlTSUNBTF9BRERSRVNTICAgIFBoeXNpY2FsQWRkcmVz
cywKKyAgICBJTiAgVUxPTkcgICAgICAgICAgICAgICBDb3VudAogICAgICkKIHsKKyAgICBMT05H
TE9ORyAgICAgICAgICAgICAgICBTdGFydDsKICAgICBOVFNUQVRVUyAgICAgICAgICAgICAgICBz
dGF0dXM7CiAKLSAgICBBU1NFUlQzVShBZGRyZXNzLlF1YWRQYXJ0ICYgKFBBR0VfU0laRSAtIDEp
LCA9PSwgMCk7Ci0gICAgQVNTRVJUM1UoU2l6ZSAmIChQQUdFX1NJWkUgLSAxKSwgPT0sIDApOwor
ICAgIEFTU0VSVDNVKFBoeXNpY2FsQWRkcmVzcy5RdWFkUGFydCAmIChQQUdFX1NJWkUgLSAxKSwg
PT0sIDApOworICAgIFN0YXJ0ID0gUGh5c2ljYWxBZGRyZXNzLlF1YWRQYXJ0ID4+IFBBR0VfU0hJ
RlQ7CisKKyAgICBUcmFjZSgiJTA4eCAtICUwOHhcbiIsIFN0YXJ0LCBTdGFydCArIENvdW50IC0g
MSk7CiAKICAgICBzdGF0dXMgPSBYRU5CVVNfUkFOR0VfU0VUKFB1dCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZGZG8tPlJhbmdlU2V0SW50ZXJmYWNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRmRvLT5Jb1JhbmdlU2V0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgQWRkcmVzcy5RdWFkUGFydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNp
emUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmRvLT5SYW5nZVNldCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgQ291bnQpOwogICAgIEFTU0VSVChOVF9TVUNDRVNTKHN0YXR1cykpOwogfQogCiBzdGF0
aWMgVk9JRAotRmRvRGVzdHJveUlvU3BhY2UoCi0gICAgSU4gIFBYRU5CVVNfRkRPICAgICAgICAg
ICAgICAgICBGZG8KK0Zkb0Rlc3Ryb3lIb2xlKAorICAgIElOICBQWEVOQlVTX0ZETyBGZG8KICAg
ICApCiB7Ci0gICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRleDsKLSAgICBQ
Q01fUEFSVElBTF9SRVNPVVJDRV9ERVNDUklQVE9SIFRyYW5zbGF0ZWQ7Ci0gICAgTlRTVEFUVVMg
ICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM7CisgICAgUE1ETCAgICAgICAgICAgIE1kbDsK
KyAgICBQRk5fTlVNQkVSICAgICAgUGZuOworICAgIExPTkdMT05HICAgICAgICBTdGFydDsKKyAg
ICBVTE9ORyAgICAgICAgICAgQ291bnQ7CisgICAgTlRTVEFUVVMgICAgICAgIHN0YXR1czsKIAot
ICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IEZkby0+VHJhbnNsYXRlZFJlc291cmNlTGlzdC0+
Q291bnQ7IEluZGV4KyspIHsKLSAgICAgICAgVHJhbnNsYXRlZCA9ICZGZG8tPlRyYW5zbGF0ZWRS
ZXNvdXJjZUxpc3QtPlBhcnRpYWxEZXNjcmlwdG9yc1tJbmRleF07CisgICAgTWRsID0gRmRvLT5N
ZGw7CiAKLSAgICAgICAgaWYgKFRyYW5zbGF0ZWQtPlR5cGUgPT0gQ21SZXNvdXJjZVR5cGVNZW1v
cnkpCi0gICAgICAgICAgICBnb3RvIGZvdW5kOwotICAgIH0KKyAgICBQZm4gPSBNbUdldE1kbFBm
bkFycmF5KE1kbClbMF07CiAKLSAgICBBU1NFUlQoRkFMU0UpOwotICAgIHJldHVybjsKKyAgICBT
dGFydCA9IFBmbjsKKyAgICBDb3VudCA9IEJZVEVTX1RPX1BBR0VTKE1kbC0+Qnl0ZUNvdW50KTsK
KworICAgIFRyYWNlKCIlMDh4IC0gJTA4eFxuIiwgU3RhcnQsIFN0YXJ0ICsgQ291bnQgLSAxKTsK
KworICAgIGlmIChNZW1vcnlQb3B1bGF0ZVBoeXNtYXAoUEFHRV9PUkRFUl8yTSwgMSwgJlBmbikg
IT0gMSkKKyAgICAgICAgQlVHKCJGQUlMRUQgVE8gUkUtUE9QVUxBVEUgSE9MRSIpOwogCi1mb3Vu
ZDoKICAgICBzdGF0dXMgPSBYRU5CVVNfUkFOR0VfU0VUKEdldCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZGZG8tPlJhbmdlU2V0SW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgRmRvLT5Jb1JhbmdlU2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgVHJhbnNsYXRlZC0+dS5NZW1vcnkuU3RhcnQuUXVhZFBhcnQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBUcmFuc2xhdGVkLT51Lk1lbW9yeS5MZW5ndGgpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRmRvLT5SYW5nZVNldCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFN0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ291bnQpOwogICAg
IEFTU0VSVChOVF9TVUNDRVNTKHN0YXR1cykpOwogCiAgICAgWEVOQlVTX1JBTkdFX1NFVChEZXN0
cm95LAogICAgICAgICAgICAgICAgICAgICAgJkZkby0+UmFuZ2VTZXRJbnRlcmZhY2UsCi0gICAg
ICAgICAgICAgICAgICAgICBGZG8tPklvUmFuZ2VTZXQpOwotICAgIEZkby0+SW9SYW5nZVNldCA9
IE5VTEw7CisgICAgICAgICAgICAgICAgICAgICBGZG8tPlJhbmdlU2V0KTsKKyAgICBGZG8tPlJh
bmdlU2V0ID0gTlVMTDsKIH0KIAogLy8gVGhpcyBmdW5jdGlvbiBtdXN0IG5vdCB0b3VjaCBwYWdl
YWJsZSBjb2RlIG9yIGRhdGEKQEAgLTMwMTksNyArMzA0Myw3IEBAIEZkb0QzVG9EMCgKICAgICAg
ICAgZ290byBmYWlsMzsKIAogICAgIC8vIFN1YnNlcXVlbnQgaW50ZXJmYWNlcyByZXF1aXJlIHVz
ZSBvZiBCQVIgc3BhY2UKLSAgICBzdGF0dXMgPSBGZG9DcmVhdGVJb1NwYWNlKEZkbyk7CisgICAg
c3RhdHVzID0gRmRvQ3JlYXRlSG9sZShGZG8pOwogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMp
KQogICAgICAgICBnb3RvIGZhaWw0OwogCkBAIC0zMTEyLDcgKzMxMzYsNyBAQCBmYWlsNjoKIGZh
aWw1OgogICAgIEVycm9yKCJmYWlsNVxuIik7CiAKLSAgICBGZG9EZXN0cm95SW9TcGFjZShGZG8p
OworICAgIEZkb0Rlc3Ryb3lIb2xlKEZkbyk7CiAKIGZhaWw0OgogICAgIEVycm9yKCJmYWlsNFxu
Iik7CkBAIC0zMjI3LDcgKzMyNTEsNyBAQCBGZG9EMFRvRDMoCiAKICAgICBYRU5CVVNfRVZUQ0hO
KFJlbGVhc2UsICZGZG8tPkV2dGNobkludGVyZmFjZSk7CiAKLSAgICBGZG9EZXN0cm95SW9TcGFj
ZShGZG8pOworICAgIEZkb0Rlc3Ryb3lIb2xlKEZkbyk7CiAKICAgICBYRU5CVVNfUkFOR0VfU0VU
KFJlbGVhc2UsICZGZG8tPlJhbmdlU2V0SW50ZXJmYWNlKTsKIApAQCAtNTAzMiw2ICs1MDU2LDgy
IEBAIGZhaWwxOgogICAgICAgICAgICAgICAgICAgICAgIChfU2l6ZSksICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAg
ICAgICAgICAgICAoX09wdGlvbmFsKSkKIAorCisjZGVmaW5lIEZET19IT0xFX1NJWkUgICAoMnVs
bCA8PCAyMCkKKworc3RhdGljIEZPUkNFSU5MSU5FIE5UU1RBVFVTCitfX0Zkb0FsbG9jYXRlQnVm
ZmVyKAorICAgIElOICBQWEVOQlVTX0ZETyAgICAgRmRvCisgICAgKQoreworICAgIFVMT05HICAg
ICAgICAgICAgICAgU2l6ZTsKKyAgICBQSFlTSUNBTF9BRERSRVNTICAgIExvdzsKKyAgICBQSFlT
SUNBTF9BRERSRVNTICAgIEhpZ2g7CisgICAgUEhZU0lDQUxfQUREUkVTUyAgICBBbGlnbjsKKyAg
ICBQVk9JRCAgICAgICAgICAgICAgIEJ1ZmZlcjsKKyAgICBQTURMICAgICAgICAgICAgICAgIE1k
bDsKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsKKworICAgIFNpemUgPSAyIDw8IDIw
OworCisgICAgTG93LlF1YWRQYXJ0ID0gMDsKKyAgICBIaWdoID0gU3lzdGVtTWF4aW11bVBoeXNp
Y2FsQWRkcmVzcygpOworICAgIEFsaWduLlF1YWRQYXJ0ID0gU2l6ZTsKKworICAgIEJ1ZmZlciA9
IE1tQWxsb2NhdGVDb250aWd1b3VzTm9kZU1lbW9yeSgoU0laRV9UKVNpemUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvdywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlnaCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgQWxpZ24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFBBR0VfUkVBRFdSSVRFLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBNTV9BTllfTk9ERV9PSyk7CisKKyAgICBzdGF0dXMgPSBTVEFU
VVNfTk9fTUVNT1JZOworICAgIGlmIChCdWZmZXIgPT0gTlVMTCkKKyAgICAgICAgZ290byBmYWls
MTsKKworICAgIE1kbCA9IElvQWxsb2NhdGVNZGwoQnVmZmVyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAg
ICAgICAgICAgICAgRkFMU0UsCisgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKworICAg
IHN0YXR1cyA9IFNUQVRVU19OT19NRU1PUlk7CisgICAgaWYgKE1kbCA9PSBOVUxMKQorICAgICAg
ICBnb3RvIGZhaWwyOworCisgICAgTW1CdWlsZE1kbEZvck5vblBhZ2VkUG9vbChNZGwpOworCisg
ICAgQVNTRVJUM1UoTWRsLT5CeXRlT2Zmc2V0LCA9PSwgMCk7CisgICAgQVNTRVJUM1UoTWRsLT5C
eXRlQ291bnQsID09LCBTaXplKTsKKworICAgIEZkby0+QnVmZmVyID0gTW1HZXRTeXN0ZW1BZGRy
ZXNzRm9yTWRsU2FmZShNZGwsIE5vcm1hbFBhZ2VQcmlvcml0eSk7CisgICAgRmRvLT5NZGwgPSBN
ZGw7CisKKyAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CisKK2ZhaWwyOgorICAgIEVycm9yKCJm
YWlsMlxuIik7CisKKyAgICBNbUZyZWVDb250aWd1b3VzTWVtb3J5KEJ1ZmZlcik7CisKK2ZhaWwx
OgorICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7CisKKyAgICByZXR1cm4gc3Rh
dHVzOworfQorCitzdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAorX19GZG9GcmVlQnVmZmVyKAorICAg
IElOICBQWEVOQlVTX0ZETyBGZG8KKyAgICApCit7CisgICAgRXhGcmVlUG9vbChGZG8tPk1kbCk7
CisgICAgRmRvLT5NZGwgPSBOVUxMOworCisgICAgTW1GcmVlQ29udGlndW91c01lbW9yeShGZG8t
PkJ1ZmZlcik7CisgICAgRmRvLT5CdWZmZXIgPSBOVUxMOworfQorCiBzdGF0aWMgQk9PTEVBTgog
RmRvSXNCYWxsb29uRW5hYmxlZCgKICAgICBJTiAgUFhFTkJVU19GRE8gRmRvCkBAIC01MTM4LDUw
ICs1MjM4LDU0IEBAIEZkb0NyZWF0ZSgKICAgICBpZiAoIV9fRmRvSXNBY3RpdmUoRmRvKSkKICAg
ICAgICAgZ290byBkb25lOwogCi0gICAgc3RhdHVzID0gRGVidWdJbml0aWFsaXplKEZkbywgJkZk
by0+RGVidWdDb250ZXh0KTsKKyAgICBzdGF0dXMgPSBfX0Zkb0FsbG9jYXRlQnVmZmVyKEZkbyk7
CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCiAgICAgICAgIGdvdG8gZmFpbDk7CiAKLSAg
ICBzdGF0dXMgPSBTdXNwZW5kSW5pdGlhbGl6ZShGZG8sICZGZG8tPlN1c3BlbmRDb250ZXh0KTsK
KyAgICBzdGF0dXMgPSBEZWJ1Z0luaXRpYWxpemUoRmRvLCAmRmRvLT5EZWJ1Z0NvbnRleHQpOwog
ICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQogICAgICAgICBnb3RvIGZhaWwxMDsKIAotICAg
IHN0YXR1cyA9IFNoYXJlZEluZm9Jbml0aWFsaXplKEZkbywgJkZkby0+U2hhcmVkSW5mb0NvbnRl
eHQpOworICAgIHN0YXR1cyA9IFN1c3BlbmRJbml0aWFsaXplKEZkbywgJkZkby0+U3VzcGVuZENv
bnRleHQpOwogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQogICAgICAgICBnb3RvIGZhaWwx
MTsKIAotICAgIHN0YXR1cyA9IEV2dGNobkluaXRpYWxpemUoRmRvLCAmRmRvLT5FdnRjaG5Db250
ZXh0KTsKKyAgICBzdGF0dXMgPSBTaGFyZWRJbmZvSW5pdGlhbGl6ZShGZG8sICZGZG8tPlNoYXJl
ZEluZm9Db250ZXh0KTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgZ290
byBmYWlsMTI7CiAKLSAgICBzdGF0dXMgPSBSYW5nZVNldEluaXRpYWxpemUoRmRvLCAmRmRvLT5S
YW5nZVNldENvbnRleHQpOworICAgIHN0YXR1cyA9IEV2dGNobkluaXRpYWxpemUoRmRvLCAmRmRv
LT5FdnRjaG5Db250ZXh0KTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAg
Z290byBmYWlsMTM7CiAKLSAgICBzdGF0dXMgPSBDYWNoZUluaXRpYWxpemUoRmRvLCAmRmRvLT5D
YWNoZUNvbnRleHQpOworICAgIHN0YXR1cyA9IFJhbmdlU2V0SW5pdGlhbGl6ZShGZG8sICZGZG8t
PlJhbmdlU2V0Q29udGV4dCk7CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCiAgICAgICAg
IGdvdG8gZmFpbDE0OwogCi0gICAgc3RhdHVzID0gR250dGFiSW5pdGlhbGl6ZShGZG8sICZGZG8t
PkdudHRhYkNvbnRleHQpOworICAgIHN0YXR1cyA9IENhY2hlSW5pdGlhbGl6ZShGZG8sICZGZG8t
PkNhY2hlQ29udGV4dCk7CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCiAgICAgICAgIGdv
dG8gZmFpbDE1OwogCi0gICAgc3RhdHVzID0gU3RvcmVJbml0aWFsaXplKEZkbywgJkZkby0+U3Rv
cmVDb250ZXh0KTsKKyAgICBzdGF0dXMgPSBHbnR0YWJJbml0aWFsaXplKEZkbywgJkZkby0+R250
dGFiQ29udGV4dCk7CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCiAgICAgICAgIGdvdG8g
ZmFpbDE2OwogCi0gICAgc3RhdHVzID0gQ29uc29sZUluaXRpYWxpemUoRmRvLCAmRmRvLT5Db25z
b2xlQ29udGV4dCk7CisgICAgc3RhdHVzID0gU3RvcmVJbml0aWFsaXplKEZkbywgJkZkby0+U3Rv
cmVDb250ZXh0KTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgZ290byBm
YWlsMTc7CiAKLSAgICBzdGF0dXMgPSBVbnBsdWdJbml0aWFsaXplKEZkbywgJkZkby0+VW5wbHVn
Q29udGV4dCk7CisgICAgc3RhdHVzID0gQ29uc29sZUluaXRpYWxpemUoRmRvLCAmRmRvLT5Db25z
b2xlQ29udGV4dCk7CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCiAgICAgICAgIGdvdG8g
ZmFpbDE4OwogCisgICAgc3RhdHVzID0gVW5wbHVnSW5pdGlhbGl6ZShGZG8sICZGZG8tPlVucGx1
Z0NvbnRleHQpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZh
aWwxOTsKKwogICAgIGlmIChGZG9Jc0JhbGxvb25FbmFibGVkKEZkbykpIHsKICAgICAgICAgc3Rh
dHVzID0gQmFsbG9vbkluaXRpYWxpemUoRmRvLCAmRmRvLT5CYWxsb29uQ29udGV4dCk7CiAgICAg
ICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICAgICAgZ290byBmYWlsMTk7Cisg
ICAgICAgICAgICBnb3RvIGZhaWwyMDsKICAgICB9CiAKICAgICBzdGF0dXMgPSBEZWJ1Z0dldElu
dGVyZmFjZShfX0Zkb0dldERlYnVnQ29udGV4dChGZG8pLApAQCAtNTI1MSw2NiArNTM1NSw3MSBA
QCBkb25lOgogCiAgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwogCi1mYWlsMTk6Ci0gICAgRXJy
b3IoImZhaWwxOVxuIik7CitmYWlsMjA6CisgICAgRXJyb3IoImZhaWwyMFxuIik7CiAKICAgICBV
bnBsdWdUZWFyZG93bihGZG8tPlVucGx1Z0NvbnRleHQpOwogICAgIEZkby0+VW5wbHVnQ29udGV4
dCA9IE5VTEw7CiAKLWZhaWwxODoKLSAgICBFcnJvcigiZmFpbDE4XG4iKTsKK2ZhaWwxOToKKyAg
ICBFcnJvcigiZmFpbDE5XG4iKTsKIAogICAgIENvbnNvbGVUZWFyZG93bihGZG8tPkNvbnNvbGVD
b250ZXh0KTsKICAgICBGZG8tPkNvbnNvbGVDb250ZXh0ID0gTlVMTDsKIAotZmFpbDE3OgotICAg
IEVycm9yKCJmYWlsMTdcbiIpOworZmFpbDE4OgorICAgIEVycm9yKCJmYWlsMThcbiIpOwogCiAg
ICAgU3RvcmVUZWFyZG93bihGZG8tPlN0b3JlQ29udGV4dCk7CiAgICAgRmRvLT5TdG9yZUNvbnRl
eHQgPSBOVUxMOwogCi1mYWlsMTY6Ci0gICAgRXJyb3IoImZhaWwxNlxuIik7CitmYWlsMTc6Cisg
ICAgRXJyb3IoImZhaWwxN1xuIik7CiAKICAgICBHbnR0YWJUZWFyZG93bihGZG8tPkdudHRhYkNv
bnRleHQpOwogICAgIEZkby0+R250dGFiQ29udGV4dCA9IE5VTEw7CiAKLWZhaWwxNToKLSAgICBF
cnJvcigiZmFpbDE1XG4iKTsKK2ZhaWwxNjoKKyAgICBFcnJvcigiZmFpbDE2XG4iKTsKIAogICAg
IENhY2hlVGVhcmRvd24oRmRvLT5DYWNoZUNvbnRleHQpOwogICAgIEZkby0+Q2FjaGVDb250ZXh0
ID0gTlVMTDsKIAotZmFpbDE0OgotICAgIEVycm9yKCJmYWlsMTRcbiIpOworZmFpbDE1OgorICAg
IEVycm9yKCJmYWlsMTVcbiIpOwogCiAgICAgUmFuZ2VTZXRUZWFyZG93bihGZG8tPlJhbmdlU2V0
Q29udGV4dCk7CiAgICAgRmRvLT5SYW5nZVNldENvbnRleHQgPSBOVUxMOwogCi1mYWlsMTM6Ci0g
ICAgRXJyb3IoImZhaWwxM1xuIik7CitmYWlsMTQ6CisgICAgRXJyb3IoImZhaWwxNFxuIik7CiAK
ICAgICBFdnRjaG5UZWFyZG93bihGZG8tPkV2dGNobkNvbnRleHQpOwogICAgIEZkby0+RXZ0Y2hu
Q29udGV4dCA9IE5VTEw7CiAKLWZhaWwxMjoKLSAgICBFcnJvcigiZmFpbDEyXG4iKTsKK2ZhaWwx
MzoKKyAgICBFcnJvcigiZmFpbDEzXG4iKTsKIAogICAgIFNoYXJlZEluZm9UZWFyZG93bihGZG8t
PlNoYXJlZEluZm9Db250ZXh0KTsKICAgICBGZG8tPlNoYXJlZEluZm9Db250ZXh0ID0gTlVMTDsK
IAotZmFpbDExOgotICAgIEVycm9yKCJmYWlsMTFcbiIpOworZmFpbDEyOgorICAgIEVycm9yKCJm
YWlsMTJcbiIpOwogCiAgICAgU3VzcGVuZFRlYXJkb3duKEZkby0+U3VzcGVuZENvbnRleHQpOwog
ICAgIEZkby0+U3VzcGVuZENvbnRleHQgPSBOVUxMOwogCi1mYWlsMTA6Ci0gICAgRXJyb3IoImZh
aWwxMFxuIik7CitmYWlsMTE6CisgICAgRXJyb3IoImZhaWwxMVxuIik7CiAKICAgICBEZWJ1Z1Rl
YXJkb3duKEZkby0+RGVidWdDb250ZXh0KTsKICAgICBGZG8tPkRlYnVnQ29udGV4dCA9IE5VTEw7
CiAKK2ZhaWwxMDoKKyAgICBFcnJvcigiZmFpbDEwXG4iKTsKKworICAgIF9fRmRvRnJlZUJ1ZmZl
cihGZG8pOworCiBmYWlsOToKICAgICBFcnJvcigiZmFpbDlcbiIpOwogCkBAIC01NDUzLDYgKzU1
NjIsOCBAQCBGZG9EZXN0cm95KAogICAgICAgICBEZWJ1Z1RlYXJkb3duKEZkby0+RGVidWdDb250
ZXh0KTsKICAgICAgICAgRmRvLT5EZWJ1Z0NvbnRleHQgPSBOVUxMOwogCisgICAgICAgIF9fRmRv
RnJlZUJ1ZmZlcihGZG8pOworCiAgICAgICAgIEZkb0NsZWFyQWN0aXZlKEZkbyk7CiAgICAgfQog
CmRpZmYgLS1naXQgYS9zcmMveGVuYnVzL2Zkby5oIGIvc3JjL3hlbmJ1cy9mZG8uaAppbmRleCA5
MGY4MWFjLi5kODRmMDJkIDEwMDY0NAotLS0gYS9zcmMveGVuYnVzL2Zkby5oCisrKyBiL3NyYy94
ZW5idXMvZmRvLmgKQEAgLTEzMiwxNyArMTMyLDE4IEBAIEZkb0dldE5hbWUoCiAgICAgKTsKIAog
ZXh0ZXJuIE5UU1RBVFVTCi1GZG9BbGxvY2F0ZUlvU3BhY2UoCitGZG9BbGxvY2F0ZUhvbGUoCiAg
ICAgSU4gIFBYRU5CVVNfRkRPICAgICAgICAgRmRvLAotICAgIElOICBVTE9ORyAgICAgICAgICAg
ICAgIFNpemUsCi0gICAgT1VUIFBQSFlTSUNBTF9BRERSRVNTICAgQWRkcmVzcworICAgIElOICBV
TE9ORyAgICAgICAgICAgICAgIENvdW50LAorICAgIE9VVCBQVk9JRCAgICAgICAgICAgICAgICpW
aXJ0dWFsQWRkcmVzcyBPUFRJT05BTCwKKyAgICBPVVQgUFBIWVNJQ0FMX0FERFJFU1MgICBQaHlz
aWNhbEFkZHJlc3MKICAgICApOwogCiBleHRlcm4gVk9JRAotRmRvRnJlZUlvU3BhY2UoCitGZG9G
cmVlSG9sZSgKICAgICBJTiAgUFhFTkJVU19GRE8gICAgICAgICBGZG8sCi0gICAgSU4gIFBIWVNJ
Q0FMX0FERFJFU1MgICAgQWRkcmVzcywKLSAgICBJTiAgVUxPTkcgICAgICAgICAgICAgICBTaXpl
CisgICAgSU4gIFBIWVNJQ0FMX0FERFJFU1MgICAgUGh5c2ljYWxBZGRyZXNzLAorICAgIElOICBV
TE9ORyAgICAgICAgICAgICAgIENvdW50CiAgICAgKTsKIAogLy8gRGlzYWJsZSBlcnJvbmVvdXMg
U0FMIHdhcm5pbmdzIGFyb3VuZCB1c2Ugb2YgaW50ZXJydXB0IGxvY2tzCmRpZmYgLS1naXQgYS9z
cmMveGVuYnVzL2dudHRhYi5jIGIvc3JjL3hlbmJ1cy9nbnR0YWIuYwppbmRleCAzMzVkMzA2Li5j
YTYwYTQ4IDEwMDY0NAotLS0gYS9zcmMveGVuYnVzL2dudHRhYi5jCisrKyBiL3NyYy94ZW5idXMv
Z250dGFiLmMKQEAgLTU5MCw5ICs1OTAsMTAgQEAgR250dGFiTWFwRm9yZWlnblBhZ2VzKAogICAg
IFBYRU5CVVNfR05UVEFCX01BUF9FTlRSWSAgICBNYXBFbnRyeTsKICAgICBOVFNUQVRVUyAgICAg
ICAgICAgICAgICAgICAgc3RhdHVzOwogCi0gICAgc3RhdHVzID0gRmRvQWxsb2NhdGVJb1NwYWNl
KENvbnRleHQtPkZkbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVtYmVyUGFn
ZXMgKiBQQUdFX1NJWkUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mp
OworICAgIHN0YXR1cyA9IEZkb0FsbG9jYXRlSG9sZShDb250ZXh0LT5GZG8sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIE51bWJlclBhZ2VzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzKTsKICAgICBp
ZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgZ290byBmYWlsMTsKIApAQCAtNjQ0LDcg
KzY0NSw3IEBAIGZhaWwzOgogZmFpbDI6CiAgICAgRXJyb3IoImZhaWwyXG4iKTsKIAotICAgIEZk
b0ZyZWVJb1NwYWNlKENvbnRleHQtPkZkbywgKkFkZHJlc3MsIE51bWJlclBhZ2VzICogUEFHRV9T
SVpFKTsKKyAgICBGZG9GcmVlSG9sZShDb250ZXh0LT5GZG8sICpBZGRyZXNzLCBOdW1iZXJQYWdl
cyk7CiAKIGZhaWwxOgogICAgIEVycm9yKCJmYWlsMTogKCUwOHgpXG4iLCBzdGF0dXMpOwpAQCAt
Njg1LDkgKzY4Niw5IEBAIEdudHRhYlVubWFwRm9yZWlnblBhZ2VzKAogICAgICAgICBQYWdlQWRk
cmVzcy5RdWFkUGFydCArPSBQQUdFX1NJWkU7CiAgICAgfQogCi0gICAgRmRvRnJlZUlvU3BhY2Uo
Q29udGV4dC0+RmRvLAotICAgICAgICAgICAgICAgICAgIEFkZHJlc3MsCi0gICAgICAgICAgICAg
ICAgICAgTWFwRW50cnktPk51bWJlclBhZ2VzICogUEFHRV9TSVpFKTsKKyAgICBGZG9GcmVlSG9s
ZShDb250ZXh0LT5GZG8sCisgICAgICAgICAgICAgICAgQWRkcmVzcywKKyAgICAgICAgICAgICAg
ICBNYXBFbnRyeS0+TnVtYmVyUGFnZXMpOwogCiAgICAgX19HbnR0YWJGcmVlKE1hcEVudHJ5KTsK
IApAQCAtNzQyLDcgKzc0Myw2IEBAIEdudHRhYkFjcXVpcmUoCiAgICAgUFhFTkJVU19HTlRUQUJf
Q09OVEVYVCAgQ29udGV4dCA9IEludGVyZmFjZS0+Q29udGV4dDsKICAgICBQWEVOQlVTX0ZETyAg
ICAgICAgICAgICBGZG8gPSBDb250ZXh0LT5GZG87CiAgICAgS0lSUUwgICAgICAgICAgICAgICAg
ICAgSXJxbDsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICBTaXplOwogICAgIE5UU1RBVFVT
ICAgICAgICAgICAgICAgIHN0YXR1czsKIAogICAgIEtlQWNxdWlyZVNwaW5Mb2NrKCZDb250ZXh0
LT5Mb2NrLCAmSXJxbCk7CkBAIC03NjAsNDEgKzc2MCwzMyBAQCBHbnR0YWJBY3F1aXJlKAogICAg
ICAgICAgICAgICAiR05UVEFCOiBNQVggRlJBTUVTID0gJXVcbiIsCiAgICAgICAgICAgICAgIENv
bnRleHQtPk1heGltdW1GcmFtZUNvdW50KTsKIAotICAgIFNpemUgPSBDb250ZXh0LT5NYXhpbXVt
RnJhbWVDb3VudCAqIFBBR0VfU0laRTsKLQotICAgIHN0YXR1cyA9IEZkb0FsbG9jYXRlSW9TcGFj
ZShGZG8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpemUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZDb250ZXh0LT5BZGRyZXNzKTsKKyAgICBzdGF0dXMgPSBG
ZG9BbGxvY2F0ZUhvbGUoRmRvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250ZXh0
LT5NYXhpbXVtRnJhbWVDb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkNvbnRl
eHQtPlRhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmQ29udGV4dC0+QWRkcmVz
cyk7CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCiAgICAgICAgIGdvdG8gZmFpbDI7CiAK
LSAgICBDb250ZXh0LT5UYWJsZSA9IChncmFudF9lbnRyeV92MV90ICopTW1NYXBJb1NwYWNlKENv
bnRleHQtPkFkZHJlc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTW1DYWNoZWQpOwotICAgIHN0YXR1cyA9IFNUQVRVU19VTlNVQ0NF
U1NGVUw7Ci0gICAgaWYgKENvbnRleHQtPlRhYmxlID09IE5VTEwpCi0gICAgICAgIGdvdG8gZmFp
bDM7Ci0KICAgICBDb250ZXh0LT5GcmFtZUluZGV4ID0gLTE7CiAKICAgICBzdGF0dXMgPSBYRU5C
VVNfUkFOR0VfU0VUKEFjcXVpcmUsICZDb250ZXh0LT5SYW5nZVNldEludGVyZmFjZSk7CiAgICAg
aWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDQ7CisgICAgICAgIGdv
dG8gZmFpbDM7CiAKICAgICBzdGF0dXMgPSBYRU5CVVNfUkFOR0VfU0VUKENyZWF0ZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZDb250ZXh0LT5SYW5nZVNldEludGVyZmFjZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnbnR0YWIiLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJkNvbnRleHQtPlJhbmdlU2V0KTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3Rh
dHVzKSkKLSAgICAgICAgZ290byBmYWlsNTsKKyAgICAgICAgZ290byBmYWlsNDsKIAogICAgIHN0
YXR1cyA9IFhFTkJVU19DQUNIRShBY3F1aXJlLCAmQ29udGV4dC0+Q2FjaGVJbnRlcmZhY2UpOwog
ICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWw2OworICAgICAg
ICBnb3RvIGZhaWw1OwogICAgIAogICAgIHN0YXR1cyA9IFhFTkJVU19TVVNQRU5EKEFjcXVpcmUs
ICZDb250ZXh0LT5TdXNwZW5kSW50ZXJmYWNlKTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVz
KSkKLSAgICAgICAgZ290byBmYWlsNzsKKyAgICAgICAgZ290byBmYWlsNjsKIAogICAgIHN0YXR1
cyA9IFhFTkJVU19TVVNQRU5EKFJlZ2lzdGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZDb250ZXh0LT5TdXNwZW5kSW50ZXJmYWNlLApAQCAtODAzLDExICs3OTUsMTEgQEAgR250dGFi
QWNxdWlyZSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250ZXh0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZDb250ZXh0LT5TdXNwZW5kQ2FsbGJhY2tFYXJseSk7CiAgICAg
aWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDg7CisgICAgICAgIGdv
dG8gZmFpbDc7CiAKICAgICBzdGF0dXMgPSBYRU5CVVNfREVCVUcoQWNxdWlyZSwgJkNvbnRleHQt
PkRlYnVnSW50ZXJmYWNlKTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAg
Z290byBmYWlsOTsKKyAgICAgICAgZ290byBmYWlsODsKIAogICAgIHN0YXR1cyA9IFhFTkJVU19E
RUJVRyhSZWdpc3RlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJkNvbnRleHQtPkRlYnVn
SW50ZXJmYWNlLApAQCAtODE2LDEyICs4MDgsMTIgQEAgR250dGFiQWNxdWlyZSgKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQ29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJkNv
bnRleHQtPkRlYnVnQ2FsbGJhY2spOwogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAg
ICAgICBnb3RvIGZhaWwxMDsKKyAgICAgICAgZ290byBmYWlsOTsKIAogICAgIC8qIE1ha2Ugc3Vy
ZSBhdCBsZWFzdCB0aGUgcmVzZXJ2ZWQgcmVmcmVuY2VzIGFyZSBwcmVzZW50ICovCiAgICAgc3Rh
dHVzID0gR250dGFiRXhwYW5kKENvbnRleHQpOwogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMp
KQotICAgICAgICBnb3RvIGZhaWwxMTsKKyAgICAgICAgZ290byBmYWlsMTA7CiAKICAgICBUcmFj
ZSgiPD09PT1cbiIpOwogCkBAIC04MzAsNDAgKzgyMiw0MCBAQCBkb25lOgogCiAgICAgcmV0dXJu
IFNUQVRVU19TVUNDRVNTOwogCi1mYWlsMTE6Ci0gICAgRXJyb3IoImZhaWwxMVxuIik7CitmYWls
MTA6CisgICAgRXJyb3IoImZhaWwxMFxuIik7CiAKICAgICBYRU5CVVNfREVCVUcoRGVyZWdpc3Rl
ciwKICAgICAgICAgICAgICAgICAgJkNvbnRleHQtPkRlYnVnSW50ZXJmYWNlLAogICAgICAgICAg
ICAgICAgICBDb250ZXh0LT5EZWJ1Z0NhbGxiYWNrKTsKICAgICBDb250ZXh0LT5EZWJ1Z0NhbGxi
YWNrID0gTlVMTDsKIAotZmFpbDEwOgotICAgIEVycm9yKCJmYWlsMTBcbiIpOworZmFpbDk6Cisg
ICAgRXJyb3IoImZhaWw5XG4iKTsKIAogICAgIFhFTkJVU19ERUJVRyhSZWxlYXNlLCAmQ29udGV4
dC0+RGVidWdJbnRlcmZhY2UpOwogCi1mYWlsOToKLSAgICBFcnJvcigiZmFpbDlcbiIpOworZmFp
bDg6CisgICAgRXJyb3IoImZhaWw4XG4iKTsKIAogICAgIFhFTkJVU19TVVNQRU5EKERlcmVnaXN0
ZXIsCiAgICAgICAgICAgICAgICAgICAgJkNvbnRleHQtPlN1c3BlbmRJbnRlcmZhY2UsCiAgICAg
ICAgICAgICAgICAgICAgQ29udGV4dC0+U3VzcGVuZENhbGxiYWNrRWFybHkpOwogICAgIENvbnRl
eHQtPlN1c3BlbmRDYWxsYmFja0Vhcmx5ID0gTlVMTDsKIAotZmFpbDg6Ci0gICAgRXJyb3IoImZh
aWw4XG4iKTsKLQotICAgIFhFTkJVU19TVVNQRU5EKFJlbGVhc2UsICZDb250ZXh0LT5TdXNwZW5k
SW50ZXJmYWNlKTsKLQogZmFpbDc6CiAgICAgRXJyb3IoImZhaWw3XG4iKTsKIAotICAgIFhFTkJV
U19DQUNIRShSZWxlYXNlLCAmQ29udGV4dC0+Q2FjaGVJbnRlcmZhY2UpOworICAgIFhFTkJVU19T
VVNQRU5EKFJlbGVhc2UsICZDb250ZXh0LT5TdXNwZW5kSW50ZXJmYWNlKTsKIAogZmFpbDY6CiAg
ICAgRXJyb3IoImZhaWw2XG4iKTsKIAorICAgIFhFTkJVU19DQUNIRShSZWxlYXNlLCAmQ29udGV4
dC0+Q2FjaGVJbnRlcmZhY2UpOworCitmYWlsNToKKyAgICBFcnJvcigiZmFpbDVcbiIpOworCiAg
ICAgR250dGFiQ29udHJhY3QoQ29udGV4dCk7CiAgICAgQVNTRVJUM1MoQ29udGV4dC0+RnJhbWVJ
bmRleCwgPT0sIC0xKTsKIApAQCAtODc0LDI0ICs4NjYsMTkgQEAgZmFpbDY6CiAKICAgICBDb250
ZXh0LT5GcmFtZUluZGV4ID0gMDsKIAotZmFpbDU6Ci0gICAgRXJyb3IoImZhaWw1XG4iKTsKLQot
ICAgIFhFTkJVU19SQU5HRV9TRVQoUmVsZWFzZSwgJkNvbnRleHQtPlJhbmdlU2V0SW50ZXJmYWNl
KTsKLQogZmFpbDQ6CiAgICAgRXJyb3IoImZhaWw0XG4iKTsKIAotICAgIE1tVW5tYXBJb1NwYWNl
KENvbnRleHQtPlRhYmxlLCBTaXplKTsKLSAgICBDb250ZXh0LT5UYWJsZSA9IE5VTEw7CisgICAg
WEVOQlVTX1JBTkdFX1NFVChSZWxlYXNlLCAmQ29udGV4dC0+UmFuZ2VTZXRJbnRlcmZhY2UpOwog
CiBmYWlsMzoKICAgICBFcnJvcigiZmFpbDNcbiIpOwogCi0gICAgRmRvRnJlZUlvU3BhY2UoRmRv
LAotICAgICAgICAgICAgICAgICAgIENvbnRleHQtPkFkZHJlc3MsCi0gICAgICAgICAgICAgICAg
ICAgU2l6ZSk7CisgICAgRmRvRnJlZUhvbGUoRmRvLAorICAgICAgICAgICAgICAgIENvbnRleHQt
PkFkZHJlc3MsCisgICAgICAgICAgICAgICAgQ29udGV4dC0+TWF4aW11bUZyYW1lQ291bnQpOwog
ICAgIENvbnRleHQtPkFkZHJlc3MuUXVhZFBhcnQgPSAwOworICAgIENvbnRleHQtPlRhYmxlID0g
TlVMTDsKIAogZmFpbDI6CiAgICAgRXJyb3IoImZhaWwyXG4iKTsKQEAgLTkxNiw3ICs5MDMsNiBA
QCBHbnR0YWJSZWxlYXNlKAogICAgIFBYRU5CVVNfR05UVEFCX0NPTlRFWFQgIENvbnRleHQgPSBJ
bnRlcmZhY2UtPkNvbnRleHQ7CiAgICAgUFhFTkJVU19GRE8gICAgICAgICAgICAgRmRvID0gQ29u
dGV4dC0+RmRvOwogICAgIEtJUlFMICAgICAgICAgICAgICAgICAgIElycWw7Ci0gICAgVUxPTkcg
ICAgICAgICAgICAgICAgICAgU2l6ZTsKIAogICAgIEtlQWNxdWlyZVNwaW5Mb2NrKCZDb250ZXh0
LT5Mb2NrLCAmSXJxbCk7CiAKQEAgLTk1NiwxNSArOTQyLDExIEBAIEdudHRhYlJlbGVhc2UoCiAK
ICAgICBYRU5CVVNfUkFOR0VfU0VUKFJlbGVhc2UsICZDb250ZXh0LT5SYW5nZVNldEludGVyZmFj
ZSk7CiAKLSAgICBTaXplID0gQ29udGV4dC0+TWF4aW11bUZyYW1lQ291bnQgKiBQQUdFX1NJWkU7
Ci0KLSAgICBNbVVubWFwSW9TcGFjZShDb250ZXh0LT5UYWJsZSwgU2l6ZSk7Ci0gICAgQ29udGV4
dC0+VGFibGUgPSBOVUxMOwotCi0gICAgRmRvRnJlZUlvU3BhY2UoRmRvLAotICAgICAgICAgICAg
ICAgICAgIENvbnRleHQtPkFkZHJlc3MsCi0gICAgICAgICAgICAgICAgICAgU2l6ZSk7CisgICAg
RmRvRnJlZUhvbGUoRmRvLAorICAgICAgICAgICAgICAgIENvbnRleHQtPkFkZHJlc3MsCisgICAg
ICAgICAgICAgICAgQ29udGV4dC0+TWF4aW11bUZyYW1lQ291bnQpOwogICAgIENvbnRleHQtPkFk
ZHJlc3MuUXVhZFBhcnQgPSAwOworICAgIENvbnRleHQtPlRhYmxlID0gTlVMTDsKIAogICAgIENv
bnRleHQtPk1heGltdW1GcmFtZUNvdW50ID0gMDsKIApkaWZmIC0tZ2l0IGEvc3JjL3hlbmJ1cy9z
aGFyZWRfaW5mby5jIGIvc3JjL3hlbmJ1cy9zaGFyZWRfaW5mby5jCmluZGV4IDFlMzZhOTIuLmFk
YWU3ZmYgMTAwNjQ0Ci0tLSBhL3NyYy94ZW5idXMvc2hhcmVkX2luZm8uYworKysgYi9zcmMveGVu
YnVzL3NoYXJlZF9pbmZvLmMKQEAgLTU0MiwyNSArNTQyLDE2IEBAIFNoYXJlZEluZm9BY3F1aXJl
KAogCiAgICAgVHJhY2UoIj09PT0+XG4iKTsKIAotICAgIHN0YXR1cyA9IEZkb0FsbG9jYXRlSW9T
cGFjZShGZG8sIFBBR0VfU0laRSwgJkNvbnRleHQtPkFkZHJlc3MpOworICAgIHN0YXR1cyA9IEZk
b0FsbG9jYXRlSG9sZShGZG8sIDEsICZDb250ZXh0LT5TaGFyZWQsICZDb250ZXh0LT5BZGRyZXNz
KTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgZ290byBmYWlsMTsKIAog
ICAgIFNoYXJlZEluZm9NYXAoQ29udGV4dCk7Ci0KLSAgICBDb250ZXh0LT5TaGFyZWQgPSAoc2hh
cmVkX2luZm9fdCAqKU1tTWFwSW9TcGFjZShDb250ZXh0LT5BZGRyZXNzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBBR0VfU0laRSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNbUNhY2hlZCk7
Ci0KLSAgICBzdGF0dXMgPSBTVEFUVVNfVU5TVUNDRVNTRlVMOwotICAgIGlmIChDb250ZXh0LT5T
aGFyZWQgPT0gTlVMTCkKLSAgICAgICAgZ290byBmYWlsMjsKLQogICAgIFNoYXJlZEluZm9FdnRj
aG5NYXNrQWxsKENvbnRleHQpOwogCiAgICAgc3RhdHVzID0gWEVOQlVTX1NVU1BFTkQoQWNxdWly
ZSwgJkNvbnRleHQtPlN1c3BlbmRJbnRlcmZhY2UpOwogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0
dXMpKQotICAgICAgICBnb3RvIGZhaWwzOyAgIAorICAgICAgICBnb3RvIGZhaWwyOwogCiAgICAg
c3RhdHVzID0gWEVOQlVTX1NVU1BFTkQoUmVnaXN0ZXIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJkNvbnRleHQtPlN1c3BlbmRJbnRlcmZhY2UsCkBAIC01NjksMTEgKzU2MCwxMSBAQCBT
aGFyZWRJbmZvQWNxdWlyZSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250ZXh0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZDb250ZXh0LT5TdXNwZW5kQ2FsbGJhY2tFYXJs
eSk7CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDQ7Cisg
ICAgICAgIGdvdG8gZmFpbDM7CiAKICAgICBzdGF0dXMgPSBYRU5CVVNfREVCVUcoQWNxdWlyZSwg
JkNvbnRleHQtPkRlYnVnSW50ZXJmYWNlKTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkK
LSAgICAgICAgZ290byBmYWlsNTsKKyAgICAgICAgZ290byBmYWlsNDsKIAogICAgIHN0YXR1cyA9
IFhFTkJVU19ERUJVRyhSZWdpc3RlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJkNvbnRl
eHQtPkRlYnVnSW50ZXJmYWNlLApAQCAtNTgyLDcgKzU3Myw3IEBAIFNoYXJlZEluZm9BY3F1aXJl
KAogICAgICAgICAgICAgICAgICAgICAgICAgICBDb250ZXh0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAmQ29udGV4dC0+RGVidWdDYWxsYmFjayk7CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0
YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDY7CisgICAgICAgIGdvdG8gZmFpbDU7CiAKICAgICBU
cmFjZSgiPD09PT1cbiIpOwogCkBAIC01OTEsMzcgKzU4MiwzMiBAQCBkb25lOgogCiAgICAgcmV0
dXJuIFNUQVRVU19TVUNDRVNTOwogCi1mYWlsNjoKLSAgICBFcnJvcigiZmFpbDZcbiIpOworZmFp
bDU6CisgICAgRXJyb3IoImZhaWw1XG4iKTsKIAogICAgIFhFTkJVU19ERUJVRyhSZWxlYXNlLCAm
Q29udGV4dC0+RGVidWdJbnRlcmZhY2UpOwogCi1mYWlsNToKLSAgICBFcnJvcigiZmFpbDVcbiIp
OworZmFpbDQ6CisgICAgRXJyb3IoImZhaWw0XG4iKTsKIAogICAgIFhFTkJVU19TVVNQRU5EKERl
cmVnaXN0ZXIsCiAgICAgICAgICAgICAgICAgICAgJkNvbnRleHQtPlN1c3BlbmRJbnRlcmZhY2Us
CiAgICAgICAgICAgICAgICAgICAgQ29udGV4dC0+U3VzcGVuZENhbGxiYWNrRWFybHkpOwogICAg
IENvbnRleHQtPlN1c3BlbmRDYWxsYmFja0Vhcmx5ID0gTlVMTDsKIAotZmFpbDQ6Ci0gICAgRXJy
b3IoImZhaWw0XG4iKTsKLQotICAgIFhFTkJVU19TVVNQRU5EKFJlbGVhc2UsICZDb250ZXh0LT5T
dXNwZW5kSW50ZXJmYWNlKTsKLQogZmFpbDM6CiAgICAgRXJyb3IoImZhaWwzXG4iKTsKIAotICAg
IE1tVW5tYXBJb1NwYWNlKENvbnRleHQtPlNoYXJlZCwgUEFHRV9TSVpFKTsKLSAgICBDb250ZXh0
LT5TaGFyZWQgPSBOVUxMOworICAgIFhFTkJVU19TVVNQRU5EKFJlbGVhc2UsICZDb250ZXh0LT5T
dXNwZW5kSW50ZXJmYWNlKTsKIAogZmFpbDI6CiAgICAgRXJyb3IoImZhaWwyXG4iKTsKIAogICAg
IFNoYXJlZEluZm9Vbm1hcChDb250ZXh0KTsKIAotICAgIEZkb0ZyZWVJb1NwYWNlKEZkbywgQ29u
dGV4dC0+QWRkcmVzcywgUEFHRV9TSVpFKTsKKyAgICBGZG9GcmVlSG9sZShGZG8sIENvbnRleHQt
PkFkZHJlc3MsIDEpOwogICAgIENvbnRleHQtPkFkZHJlc3MuUXVhZFBhcnQgPSAwOworICAgIENv
bnRleHQtPlNoYXJlZCA9IE5VTEw7CiAKIGZhaWwxOgogICAgIEVycm9yKCJmYWlsMSAoJTA4eClc
biIsIHN0YXR1cyk7CkBAIC02NjUsMTMgKzY1MSwxMSBAQCBTaGFyZWRJbmZvUmVsZWFzZSAoCiAK
ICAgICBYRU5CVVNfU1VTUEVORChSZWxlYXNlLCAmQ29udGV4dC0+U3VzcGVuZEludGVyZmFjZSk7
CiAKLSAgICBNbVVubWFwSW9TcGFjZShDb250ZXh0LT5TaGFyZWQsIFBBR0VfU0laRSk7Ci0gICAg
Q29udGV4dC0+U2hhcmVkID0gTlVMTDsKLQogICAgIFNoYXJlZEluZm9Vbm1hcChDb250ZXh0KTsK
IAotICAgIEZkb0ZyZWVJb1NwYWNlKEZkbywgQ29udGV4dC0+QWRkcmVzcywgUEFHRV9TSVpFKTsK
KyAgICBGZG9GcmVlSG9sZShGZG8sIENvbnRleHQtPkFkZHJlc3MsIDEpOwogICAgIENvbnRleHQt
PkFkZHJlc3MuUXVhZFBhcnQgPSAwOworICAgIENvbnRleHQtPlNoYXJlZCA9IE5VTEw7CiAKICAg
ICBUcmFjZSgiPD09PT1cbiIpOwogCi0tIAoyLjUuMwoKCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2
LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcv
bWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 31 17:09:31 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 Jan 2018 17:09:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egvt2-0005tZ-Hd; Wed, 31 Jan 2018 17:09:28 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=pgub=e2=citrix.com=prvs=5620a5ce2=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egvt1-0005tE-9i
 for win-pv-devel@lists.xenproject.org; Wed, 31 Jan 2018 17:09:27 +0000
X-Inumbo-ID: 8c2ed228-06a9-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 8c2ed228-06a9-11e8-b9b1-635ca7ef6cff;
 Wed, 31 Jan 2018 17:09:50 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,440,1511827200"; d="scan'208";a="460508570"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 31 Jan 2018 17:09:08 +0000
Message-ID: <1517418549-5141-1-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xenvkbd 1/2] Fix line endings
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KLS0t
CiBJTlRFUkZBQ0VTLm1kICAgICAgICAgICB8ICA2NiArKysrLS0tLS0KIGluY2x1ZGUvaGlkX2lu
dGVyZmFjZS5oIHwgICA2ICstCiBzcmMveGVudmtiZC92a2JkLmggICAgICB8IDM2MiArKysrKysr
KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdl
ZCwgMjE3IGluc2VydGlvbnMoKyksIDIxNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9JTlRF
UkZBQ0VTLm1kIGIvSU5URVJGQUNFUy5tZAppbmRleCA5ZDI5NmQ1Li4wNzdkODg5IDEwMDY0NAot
LS0gYS9JTlRFUkZBQ0VTLm1kCisrKyBiL0lOVEVSRkFDRVMubWQKQEAgLTEsMzMgKzEsMzMgQEAK
LUludGVyZmFjZSBWZXJzaW9ucyBhbmQgUERPIFJldmlzaW9ucwotPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0KLUl0IGlzIGltcG9ydGFudCB0aGF0IGludHJvZHVjdGlvbiBv
ZiBhIG5ldyBBUEksIGludHJvZHVjdGlvbiBvZiBhIG5ldwotdmVyc2lvbiBvZiBhbiBleGlzdGlu
ZyBBUEkgb3IgcmV0aXJlbWVudCBvZiBhbiBvbGQgdmVyc2lvbiBvZiBhbiBBUEkgaXMKLW1hbmFn
ZWQgY2FyZWZ1bGx5IHRvIGF2b2lkIGluY29tcGF0aWJpbGl0aWVzIGJldHdlZW4gY2xpZW50cyBh
bmQKLXByb3ZpZGVycy4gVGhlIGdlbmVyYWwgQVBJIHZlcnNpb25pbmcgcG9saWN5IGlzIGRlc2Ny
aWJlZCBiZWxvdzoKLQotRWFjaCBkaXN0aW5jdCBzZXQgb2YgQVBJIHZlcnNpb25zIGV4cG9ydGVk
IGJ5IGEgYnVzIGRyaXZlciBtYXBzIHRvIGEgUERPCi1yZXZpc2lvbi4gVGhlIERldmljZUlEIG9m
IGVhY2ggUERPIGNyZWF0ZWQgd2lsbCBzcGVjaWZ5IHRoZSBsYXRlc3QKLXJldmlzaW9uIHN1cHBv
cnRlZCBhbmQgYWxsIG90aGVycyB3aWxsIGJlIGNvbnRhaW5lZCB3aXRoaW4gdGhlCi1IYXJkd2Fy
ZUlEcyBhbmQgQ29tcGF0aWJsZUlEcy4gV2hlbiBhIG5ldyB2ZXJzaW9uIG9mIGFuIEFQSSBpcyBh
ZGRlZCwKLWEgbmV3IFBETyByZXZpc2lvbiBtdXN0IGJlIGFkZGVkLiBXaGVuIGEgdmVyc2lvbiBv
ZiBhbiBBUEkgaXMgcmVtb3ZlZAotdGhlbiBBTEwgcmV2aXNpb25zIHRoYXQgQVBJIHZlcnNpb24g
bWFwcyB0byBtdXN0IGJlIHJlbW92ZWQuIFRoZSBtYXBwaW5nCi1vZiBpbnRlcmZhY2UgdmVyc2lv
bnMgdG8gUERPIHJldmlzaW9ucyBpcyBzcGVjaWZpZWQgaW4gdGhlIGhlYWRlciBmaWxlCi1pbmNs
dWRlL3JldmlzaW9uLmggaW4gdGhlIGJ1cyBkcml2ZXIgc291cmNlIHJlcG9zaXRvcnkuCi0KLVdo
ZSBpbnRyb2R1Y2luZyBhIG5ldyB2ZXJzaW9uIG9mIGFuIGludGVyZmFjZSBpbiBhIGJ1cyBkcml2
ZXIgaXQgaXMgZ29vZAotcHJhY3RpY2UgdG8gY29udGludWUgdG8gc3VwcG9ydCB0aGUgcHJldmlv
dXMgdmVyc2lvbiBzbyBpdCBpcyBub3QKLW5lY2Vzc2FyeSB0byBzaW11bHRhbmVvdXNseSBpbnRy
b2R1Y2UgYSBuZXcgUERPIHJldmlzaW9uIGFuZCByZXRpcmUgYQotcHJldmlvdXMgb25lIHRoYXQg
Y2hpbGQgZHJpdmVycyBtYXkgc3RpbGwgYmUgYmluZGluZyB0by4KLUNoaWxkIGRyaXZlcnMgc2hv
dWxkLCBvZiBjb3Vyc2UsIGFsd2F5cyBiZSBidWlsdCB0byB1c2UgdGhlIGxhdGVzdAotaW50ZXJm
YWNlIHZlcnNpb25zICh3aGljaCBjYW4gYmUgY29waWVkIGZyb20gdGhlIGluY2x1ZGUgZGlyZWN0
b3J5IGluIHRoZQotc291cmNlIHJlcG9zaXRvcnkgb2YgdGhlIGJ1cyBkcml2ZXIgcHJvdmlkaW5n
IHRoZW0pIGJ1dCBpdCBtYXkgdGFrZQotc29tZSB0aW1lIHRvIG1ha2UgdGhlIG5lY2Vzc2FyeSBj
aGFuZ2VzIGFuZCBkZXBsb3kgbmV3IGJ1aWxkcyBvZiBjaGlsZAotZHJpdmVycyBhbmQgc28gc29t
ZSBvdmVybGFwIGlzIGRlc2lyYWJsZS4KLQotVG8gdHJ5IHRvIGF2b2lkIGluc3RhbGxhdGlvbiBv
ZiBhIHZlcnNpb24gb2YgYSBidXMgZHJpdmVyIHRoYXQgaXMKLWluY29tcGF0aWJsZSB3aXRoIGNo
aWxkIGRyaXZlcnMgaW5zdGFsbGVkIG9uIGEgc3lzdGVtLiBUaGVyZSBpcyBhIGNoZWNrCi1pbiB0
aGUgcHJlLWluc3RhbGwgcGhhc2UgaW4gdGhlIGNvLWludGFsbGVyIHdoaWNoIGNvbXBhcmVzIHRo
ZQotTWF0Y2hpbmdEZXZpY2VJZCB2YWx1ZXMgZm9yIGVhY2ggY2hpbGQgZHJpdmVyIGFnYWluc3Qg
dGhlIHRhYmxlIGluCi1pbmNsdWRlL3JldmlzaW9uLmggaW4gdGhlIGJ1cyBkcml2ZXIgc291cmNl
IHRvIG1ha2Ugc3VyZSB0aGF0IHRoZQotbWF0Y2hpbmcgcmV2aXNpb24gbnVtYmVyIGlzIHByZXNl
bnQuCitJbnRlcmZhY2UgVmVyc2lvbnMgYW5kIFBETyBSZXZpc2lvbnMKKz09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQorCitJdCBpcyBpbXBvcnRhbnQgdGhhdCBpbnRyb2R1Y3Rp
b24gb2YgYSBuZXcgQVBJLCBpbnRyb2R1Y3Rpb24gb2YgYSBuZXcKK3ZlcnNpb24gb2YgYW4gZXhp
c3RpbmcgQVBJIG9yIHJldGlyZW1lbnQgb2YgYW4gb2xkIHZlcnNpb24gb2YgYW4gQVBJIGlzCitt
YW5hZ2VkIGNhcmVmdWxseSB0byBhdm9pZCBpbmNvbXBhdGliaWxpdGllcyBiZXR3ZWVuIGNsaWVu
dHMgYW5kCitwcm92aWRlcnMuIFRoZSBnZW5lcmFsIEFQSSB2ZXJzaW9uaW5nIHBvbGljeSBpcyBk
ZXNjcmliZWQgYmVsb3c6CisKK0VhY2ggZGlzdGluY3Qgc2V0IG9mIEFQSSB2ZXJzaW9ucyBleHBv
cnRlZCBieSBhIGJ1cyBkcml2ZXIgbWFwcyB0byBhIFBETworcmV2aXNpb24uIFRoZSBEZXZpY2VJ
RCBvZiBlYWNoIFBETyBjcmVhdGVkIHdpbGwgc3BlY2lmeSB0aGUgbGF0ZXN0CityZXZpc2lvbiBz
dXBwb3J0ZWQgYW5kIGFsbCBvdGhlcnMgd2lsbCBiZSBjb250YWluZWQgd2l0aGluIHRoZQorSGFy
ZHdhcmVJRHMgYW5kIENvbXBhdGlibGVJRHMuIFdoZW4gYSBuZXcgdmVyc2lvbiBvZiBhbiBBUEkg
aXMgYWRkZWQsCithIG5ldyBQRE8gcmV2aXNpb24gbXVzdCBiZSBhZGRlZC4gV2hlbiBhIHZlcnNp
b24gb2YgYW4gQVBJIGlzIHJlbW92ZWQKK3RoZW4gQUxMIHJldmlzaW9ucyB0aGF0IEFQSSB2ZXJz
aW9uIG1hcHMgdG8gbXVzdCBiZSByZW1vdmVkLiBUaGUgbWFwcGluZworb2YgaW50ZXJmYWNlIHZl
cnNpb25zIHRvIFBETyByZXZpc2lvbnMgaXMgc3BlY2lmaWVkIGluIHRoZSBoZWFkZXIgZmlsZQor
aW5jbHVkZS9yZXZpc2lvbi5oIGluIHRoZSBidXMgZHJpdmVyIHNvdXJjZSByZXBvc2l0b3J5Lgor
CitXaGUgaW50cm9kdWNpbmcgYSBuZXcgdmVyc2lvbiBvZiBhbiBpbnRlcmZhY2UgaW4gYSBidXMg
ZHJpdmVyIGl0IGlzIGdvb2QKK3ByYWN0aWNlIHRvIGNvbnRpbnVlIHRvIHN1cHBvcnQgdGhlIHBy
ZXZpb3VzIHZlcnNpb24gc28gaXQgaXMgbm90CituZWNlc3NhcnkgdG8gc2ltdWx0YW5lb3VzbHkg
aW50cm9kdWNlIGEgbmV3IFBETyByZXZpc2lvbiBhbmQgcmV0aXJlIGEKK3ByZXZpb3VzIG9uZSB0
aGF0IGNoaWxkIGRyaXZlcnMgbWF5IHN0aWxsIGJlIGJpbmRpbmcgdG8uCitDaGlsZCBkcml2ZXJz
IHNob3VsZCwgb2YgY291cnNlLCBhbHdheXMgYmUgYnVpbHQgdG8gdXNlIHRoZSBsYXRlc3QKK2lu
dGVyZmFjZSB2ZXJzaW9ucyAod2hpY2ggY2FuIGJlIGNvcGllZCBmcm9tIHRoZSBpbmNsdWRlIGRp
cmVjdG9yeSBpbiB0aGUKK3NvdXJjZSByZXBvc2l0b3J5IG9mIHRoZSBidXMgZHJpdmVyIHByb3Zp
ZGluZyB0aGVtKSBidXQgaXQgbWF5IHRha2UKK3NvbWUgdGltZSB0byBtYWtlIHRoZSBuZWNlc3Nh
cnkgY2hhbmdlcyBhbmQgZGVwbG95IG5ldyBidWlsZHMgb2YgY2hpbGQKK2RyaXZlcnMgYW5kIHNv
IHNvbWUgb3ZlcmxhcCBpcyBkZXNpcmFibGUuCisKK1RvIHRyeSB0byBhdm9pZCBpbnN0YWxsYXRp
b24gb2YgYSB2ZXJzaW9uIG9mIGEgYnVzIGRyaXZlciB0aGF0IGlzCitpbmNvbXBhdGlibGUgd2l0
aCBjaGlsZCBkcml2ZXJzIGluc3RhbGxlZCBvbiBhIHN5c3RlbS4gVGhlcmUgaXMgYSBjaGVjawor
aW4gdGhlIHByZS1pbnN0YWxsIHBoYXNlIGluIHRoZSBjby1pbnRhbGxlciB3aGljaCBjb21wYXJl
cyB0aGUKK01hdGNoaW5nRGV2aWNlSWQgdmFsdWVzIGZvciBlYWNoIGNoaWxkIGRyaXZlciBhZ2Fp
bnN0IHRoZSB0YWJsZSBpbgoraW5jbHVkZS9yZXZpc2lvbi5oIGluIHRoZSBidXMgZHJpdmVyIHNv
dXJjZSB0byBtYWtlIHN1cmUgdGhhdCB0aGUKK21hdGNoaW5nIHJldmlzaW9uIG51bWJlciBpcyBw
cmVzZW50LgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9oaWRfaW50ZXJmYWNlLmggYi9pbmNsdWRlL2hp
ZF9pbnRlcmZhY2UuaAppbmRleCAwOGJlNWUwLi45M2E4ODUxIDEwMDY0NAotLS0gYS9pbmNsdWRl
L2hpZF9pbnRlcmZhY2UuaAorKysgYi9pbmNsdWRlL2hpZF9pbnRlcmZhY2UuaApAQCAtMjgwLDkg
KzI4MCw5IEBAIHR5cGVkZWYgTlRTVEFUVVMKICAgICBJTiAgVUxPTkcgICAgICAgICAgIExlbmd0
aAogICAgICk7CiAKLS8vIHtEMjE1RTFCNS04QzM4LTQyMEEtQUVBNi0wMjUyMERGM0E2MjF9Ci1E
RUZJTkVfR1VJRChHVUlEX1hFTkhJRF9ISURfSU5URVJGQUNFLAotMHhkMjE1ZTFiNSwgMHg4YzM4
LCAweDQyMGEsIDB4YWUsIDB4YTYsIDB4MiwgMHg1MiwgMHhkLCAweGYzLCAweGE2LCAweDIxKTsK
Ky8vIHtEMjE1RTFCNS04QzM4LTQyMEEtQUVBNi0wMjUyMERGM0E2MjF9CitERUZJTkVfR1VJRChH
VUlEX1hFTkhJRF9ISURfSU5URVJGQUNFLAorMHhkMjE1ZTFiNSwgMHg4YzM4LCAweDQyMGEsIDB4
YWUsIDB4YTYsIDB4MiwgMHg1MiwgMHhkLCAweGYzLCAweGE2LCAweDIxKTsKIAogLyohIFxzdHJ1
Y3QgX1hFTkhJRF9ISURfSU5URVJGQUNFX1YxCiAgICAgXGJyaWVmIEhJRCBpbnRlcmZhY2UgdmVy
c2lvbiAxCmRpZmYgLS1naXQgYS9zcmMveGVudmtiZC92a2JkLmggYi9zcmMveGVudmtiZC92a2Jk
LmgKaW5kZXggMDEwNTIzOC4uZWFjYzM5YiAxMDA2NDQKLS0tIGEvc3JjL3hlbnZrYmQvdmtiZC5o
CisrKyBiL3NyYy94ZW52a2JkL3ZrYmQuaApAQCAtNTEsNjEgKzUxLDYxIEBAIHR5cGVkZWYgc3Ry
dWN0IF9YRU5WS0JEX0hJRF9BQlNNT1VTRSB7CiAKIHN0YXRpYyBjb25zdCBVQ0hBUiBWa2JkUmVw
b3J0RGVzY3JpcHRvcltdID0gewogICAgIC8qIFJlcG9ydElkIDEgOiBLZXlib2FyZCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSAgICAweDA1LCAweDAx
LCAgICAgICAgIC8qIFVTQUdFX1BBR0UgKEdlbmVyaWMgRGVza3RvcCkgICAgICAgICAgICAgICAg
ICAgICovCi0gICAgMHgwOSwgMHgwNiwgICAgICAgICAvKiBVU0FHRSAoS2V5Ym9hcmQgNikgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotICAgIDB4YTEsIDB4MDEsICAgICAgICAgLyog
Q09MTEVDVElPTiAoQXBwbGljYXRpb24pICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSAgICAw
eDg1LCAweDAxLCAgICAgICAgIC8qICAgUkVQT1JUX0lEICgxKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICovCi0gICAgMHgwNSwgMHgwNywgICAgICAgICAvKiAgIFVTQUdFX1BBR0Ug
KEtleWJvYXJkKSAgICAgICAgICAgICAgICAgICAgICAgICAqLwotICAgIDB4MTksIDB4ZTAsICAg
ICAgICAgLyogICBVU0FHRV9NSU5JTVVNIChLZXlib2FyZCBMZWZ0Q29udHJvbCkgICAgICAgICAg
Ki8KLSAgICAweDI5LCAweGU3LCAgICAgICAgIC8qICAgVVNBR0VfTUFYSU1VTSAoS2V5Ym9hcmQg
UmlnaHQgR1VJKSAgICAgICAgICAgICovCi0gICAgMHgxNSwgMHgwMCwgICAgICAgICAvKiAgIExP
R0lDQUxfTUlOSU1VTSAoMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotICAgIDB4MjUs
IDB4MDEsICAgICAgICAgLyogICBMT0dJQ0FMX01BWElNVU0gKDEpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKi8KLSAgICAweDc1LCAweDAxLCAgICAgICAgIC8qICAgUkVQT1JUX1NJWkUgKDEp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0gICAgMHg5NSwgMHgwOCwgICAgICAg
ICAvKiAgIFJFUE9SVF9DT1VOVCAoOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwot
ICAgIDB4ODEsIDB4MDIsICAgICAgICAgLyogICBJTlBVVCAoRGF0YSxWYXIsQWJzKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgKi8KLSAgICAweDk1LCAweDA2LCAgICAgICAgIC8qICAgUkVQT1JU
X0NPVU5UICg2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0gICAgMHg3NSwgMHgw
OCwgICAgICAgICAvKiAgIFJFUE9SVF9TSVpFICg4KSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAqLwotICAgIDB4MTUsIDB4MDAsICAgICAgICAgLyogICBMT0dJQ0FMX01JTklNVU0gKDAp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSAgICAweDI1LCAweDY1LCAgICAgICAgIC8q
ICAgTE9HSUNBTF9NQVhJTVVNICgxMDEpICAgICAgICAgICAgICAgICAgICAgICAgICovCi0gICAg
MHgwNSwgMHgwNywgICAgICAgICAvKiAgIFVTQUdFX1BBR0UgKEtleWJvYXJkKSAgICAgICAgICAg
ICAgICAgICAgICAgICAqLwotICAgIDB4MTksIDB4MDAsICAgICAgICAgLyogICBVU0FHRV9NSU5J
TVVNIChSZXNlcnZlZCAobm8gZXZlbnQgaW5kaWNhdGVkKSkgKi8KLSAgICAweDI5LCAweDY1LCAg
ICAgICAgIC8qICAgVVNBR0VfTUFYSU1VTSAoS2V5Ym9hcmQgQXBwbGljYXRpb24pICAgICAgICAg
ICovCi0gICAgMHg4MSwgMHgwMCwgICAgICAgICAvKiAgIElOUFVUIChEYXRhLEFyeSxBYnMpICAg
ICAgICAgICAgICAgICAgICAgICAgICAqLworICAgIDB4MDUsIDB4MDEsICAgICAgICAgLyogVVNB
R0VfUEFHRSAoR2VuZXJpYyBEZXNrdG9wKSAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAweDA5
LCAweDA2LCAgICAgICAgIC8qIFVTQUdFIChLZXlib2FyZCA2KSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICovCisgICAgMHhhMSwgMHgwMSwgICAgICAgICAvKiBDT0xMRUNUSU9OIChBcHBs
aWNhdGlvbikgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgIDB4ODUsIDB4MDEsICAgICAg
ICAgLyogICBSRVBPUlRfSUQgKDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8K
KyAgICAweDA1LCAweDA3LCAgICAgICAgIC8qICAgVVNBR0VfUEFHRSAoS2V5Ym9hcmQpICAgICAg
ICAgICAgICAgICAgICAgICAgICovCisgICAgMHgxOSwgMHhlMCwgICAgICAgICAvKiAgIFVTQUdF
X01JTklNVU0gKEtleWJvYXJkIExlZnRDb250cm9sKSAgICAgICAgICAqLworICAgIDB4MjksIDB4
ZTcsICAgICAgICAgLyogICBVU0FHRV9NQVhJTVVNIChLZXlib2FyZCBSaWdodCBHVUkpICAgICAg
ICAgICAgKi8KKyAgICAweDE1LCAweDAwLCAgICAgICAgIC8qICAgTE9HSUNBTF9NSU5JTVVNICgw
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgMHgyNSwgMHgwMSwgICAgICAgICAv
KiAgIExPR0lDQUxfTUFYSU1VTSAoMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAg
IDB4NzUsIDB4MDEsICAgICAgICAgLyogICBSRVBPUlRfU0laRSAoMSkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKi8KKyAgICAweDk1LCAweDA4LCAgICAgICAgIC8qICAgUkVQT1JUX0NP
VU5UICg4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgMHg4MSwgMHgwMiwg
ICAgICAgICAvKiAgIElOUFVUIChEYXRhLFZhcixBYnMpICAgICAgICAgICAgICAgICAgICAgICAg
ICAqLworICAgIDB4OTUsIDB4MDYsICAgICAgICAgLyogICBSRVBPUlRfQ09VTlQgKDYpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAweDc1LCAweDA4LCAgICAgICAgIC8qICAg
UkVQT1JUX1NJWkUgKDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgMHgx
NSwgMHgwMCwgICAgICAgICAvKiAgIExPR0lDQUxfTUlOSU1VTSAoMCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAqLworICAgIDB4MjUsIDB4NjUsICAgICAgICAgLyogICBMT0dJQ0FMX01BWElN
VU0gKDEwMSkgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAweDA1LCAweDA3LCAgICAg
ICAgIC8qICAgVVNBR0VfUEFHRSAoS2V5Ym9hcmQpICAgICAgICAgICAgICAgICAgICAgICAgICov
CisgICAgMHgxOSwgMHgwMCwgICAgICAgICAvKiAgIFVTQUdFX01JTklNVU0gKFJlc2VydmVkIChu
byBldmVudCBpbmRpY2F0ZWQpKSAqLworICAgIDB4MjksIDB4NjUsICAgICAgICAgLyogICBVU0FH
RV9NQVhJTVVNIChLZXlib2FyZCBBcHBsaWNhdGlvbikgICAgICAgICAgKi8KKyAgICAweDgxLCAw
eDAwLCAgICAgICAgIC8qICAgSU5QVVQgKERhdGEsQXJ5LEFicykgICAgICAgICAgICAgICAgICAg
ICAgICAgICovCiAgICAgMHhjMCwgICAgICAgICAgICAgICAvKiBFTkRfQ09MTEVDVElPTiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogICAgIC8qIFJlcG9ydCBJZCAyIDogQWJz
b2x1dGUgTW91c2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSAg
ICAweDA1LCAweDAxLCAgICAgICAgIC8qIFVTQUdFX1BBR0UgKEdlbmVyaWMgRGVza3RvcCkgICAg
ICAgICAgICAgICAgICAgICovCi0gICAgMHgwOSwgMHgwMiwgICAgICAgICAvKiBVU0FHRSAoTW91
c2UgMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotICAgIDB4YTEsIDB4MDEs
ICAgICAgICAgLyogQ09MTEVDVElPTiAoQXBwbGljYXRpb24pICAgICAgICAgICAgICAgICAgICAg
ICAgKi8KLSAgICAweDg1LCAweDAyLCAgICAgICAgIC8qICAgUkVQT1JUX0lEICgyKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICovCi0gICAgMHgwOSwgMHgwMSwgICAgICAgICAvKiAg
IFVTQUdFIChQb2ludGVyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotICAgIDB4
YTEsIDB4MDAsICAgICAgICAgLyogICBDT0xMRUNUSU9OIChQaHlzaWNhbCkgICAgICAgICAgICAg
ICAgICAgICAgICAgKi8KLSAgICAweDA1LCAweDA5LCAgICAgICAgIC8qICAgICBVU0FHRV9QQUdF
IChCdXR0b24pICAgICAgICAgICAgICAgICAgICAgICAgICovCi0gICAgMHgxOSwgMHgwMSwgICAg
ICAgICAvKiAgICAgVVNBR0VfTUlOSU1VTSAoQnV0dG9uIDEpICAgICAgICAgICAgICAgICAgICAq
LwotICAgIDB4MjksIDB4MDUsICAgICAgICAgLyogICAgIFVTQUdFX01BWElNVU0gKEJ1dHRvbiA1
KSAgICAgICAgICAgICAgICAgICAgKi8KLSAgICAweDE1LCAweDAwLCAgICAgICAgIC8qICAgICBM
T0dJQ0FMX01JTklNVU0gKDApICAgICAgICAgICAgICAgICAgICAgICAgICovCi0gICAgMHgyNSwg
MHgwMSwgICAgICAgICAvKiAgICAgTE9HSUNBTF9NQVhJTVVNICgxKSAgICAgICAgICAgICAgICAg
ICAgICAgICAqLwotICAgIDB4OTUsIDB4MDUsICAgICAgICAgLyogICAgIFJFUE9SVF9DT1VOVCAo
NSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSAgICAweDc1LCAweDAxLCAgICAgICAg
IC8qICAgICBSRVBPUlRfU0laRSAoMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0g
ICAgMHg4MSwgMHgwMiwgICAgICAgICAvKiAgICAgSU5QVVQgKERhdGEsVmFyLEFicykgICAgICAg
ICAgICAgICAgICAgICAgICAqLwotICAgIDB4OTUsIDB4MDEsICAgICAgICAgLyogICAgIFJFUE9S
VF9DT1VOVCAoMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSAgICAweDc1LCAweDAz
LCAgICAgICAgIC8qICAgICBSRVBPUlRfU0laRSAoMykgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICovCi0gICAgMHg4MSwgMHgwMywgICAgICAgICAvKiAgICAgSU5QVVQgKENuc3QsVmFyLEFi
cykgICAgICAgICAgICAgICAgICAgICAgICAqLwotICAgIDB4MDUsIDB4MDEsICAgICAgICAgLyog
ICAgIFVTQUdFX1BBR0UgKEdlbmVyaWMgRGVza3RvcCkgICAgICAgICAgICAgICAgKi8KLSAgICAw
eDA5LCAweDMwLCAgICAgICAgIC8qICAgICBVU0FHRSAoWCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICovCi0gICAgMHgwOSwgMHgzMSwgICAgICAgICAvKiAgICAgVVNBR0UgKFkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotICAgIDB4MTYsIDB4MDAsIDB4
MDAsICAgLyogICAgIExPR0lDQUxfTUlOSU1VTSAoMCkgICAgICAgICAgICAgICAgICAgICAgICAg
Ki8KLSAgICAweDI2LCAweGZmLCAweDdmLCAgIC8qICAgICBMT0dJQ0FMX01BWElNVU0gKDMyNzY3
KSAgICAgICAgICAgICAgICAgICAgICovCi0gICAgMHg3NSwgMHgxMCwgICAgICAgICAvKiAgICAg
UkVQT1JUX1NJWkUgKDE2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotICAgIDB4OTUs
IDB4MDIsICAgICAgICAgLyogICAgIFJFUE9SVF9DT1VOVCAoMikgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKi8KLSAgICAweDgxLCAweDAyLCAgICAgICAgIC8qICAgICBJTlBVVCAoRGF0YSxW
YXIsQWJzKSAgICAgICAgICAgICAgICAgICAgICAgICovCi0gICAgMHgwOSwgMHgzOCwgICAgICAg
ICAvKiAgICAgVVNBR0UgKFopICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwot
ICAgIDB4MTUsIDB4ODEsICAgICAgICAgLyogICAgIExPR0lDQUxfTUlOSU1VTSAoLTEyNykgICAg
ICAgICAgICAgICAgICAgICAgKi8KLSAgICAweDI1LCAweDdmLCAgICAgICAgIC8qICAgICBMT0dJ
Q0FMX01BWElNVU0gKDEyNykgICAgICAgICAgICAgICAgICAgICAgICovCi0gICAgMHg3NSwgMHgw
OCwgICAgICAgICAvKiAgICAgUkVQT1JUX1NJWkUgKDgpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAqLwotICAgIDB4OTUsIDB4MDEsICAgICAgICAgLyogICAgIFJFUE9SVF9DT1VOVCAoMSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSAgICAweDgxLCAweDA2LCAgICAgICAgIC8q
ICAgICBJTlBVVCAoRGF0YSxWYXIsUmVsKSAgICAgICAgICAgICAgICAgICAgICAgICovCi0gICAg
MHhjMCwgICAgICAgICAgICAgICAvKiAgIEVORF9DT0xMRUNUSU9OICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAqLwotICAgIDB4YzAgICAgICAgICAgICAgICAgLyogRU5EX0NPTExFQ1RJ
T04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAweDA1LCAweDAxLCAg
ICAgICAgIC8qIFVTQUdFX1BBR0UgKEdlbmVyaWMgRGVza3RvcCkgICAgICAgICAgICAgICAgICAg
ICovCisgICAgMHgwOSwgMHgwMiwgICAgICAgICAvKiBVU0FHRSAoTW91c2UgMikgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAqLworICAgIDB4YTEsIDB4MDEsICAgICAgICAgLyogQ09M
TEVDVElPTiAoQXBwbGljYXRpb24pICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAweDg1
LCAweDAyLCAgICAgICAgIC8qICAgUkVQT1JUX0lEICgyKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICovCisgICAgMHgwOSwgMHgwMSwgICAgICAgICAvKiAgIFVTQUdFIChQb2ludGVy
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgIDB4YTEsIDB4MDAsICAgICAg
ICAgLyogICBDT0xMRUNUSU9OIChQaHlzaWNhbCkgICAgICAgICAgICAgICAgICAgICAgICAgKi8K
KyAgICAweDA1LCAweDA5LCAgICAgICAgIC8qICAgICBVU0FHRV9QQUdFIChCdXR0b24pICAgICAg
ICAgICAgICAgICAgICAgICAgICovCisgICAgMHgxOSwgMHgwMSwgICAgICAgICAvKiAgICAgVVNB
R0VfTUlOSU1VTSAoQnV0dG9uIDEpICAgICAgICAgICAgICAgICAgICAqLworICAgIDB4MjksIDB4
MDUsICAgICAgICAgLyogICAgIFVTQUdFX01BWElNVU0gKEJ1dHRvbiA1KSAgICAgICAgICAgICAg
ICAgICAgKi8KKyAgICAweDE1LCAweDAwLCAgICAgICAgIC8qICAgICBMT0dJQ0FMX01JTklNVU0g
KDApICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgMHgyNSwgMHgwMSwgICAgICAgICAv
KiAgICAgTE9HSUNBTF9NQVhJTVVNICgxKSAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAg
IDB4OTUsIDB4MDUsICAgICAgICAgLyogICAgIFJFUE9SVF9DT1VOVCAoNSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKi8KKyAgICAweDc1LCAweDAxLCAgICAgICAgIC8qICAgICBSRVBPUlRf
U0laRSAoMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgMHg4MSwgMHgwMiwg
ICAgICAgICAvKiAgICAgSU5QVVQgKERhdGEsVmFyLEFicykgICAgICAgICAgICAgICAgICAgICAg
ICAqLworICAgIDB4OTUsIDB4MDEsICAgICAgICAgLyogICAgIFJFUE9SVF9DT1VOVCAoMSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAweDc1LCAweDAzLCAgICAgICAgIC8qICAg
ICBSRVBPUlRfU0laRSAoMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgMHg4
MSwgMHgwMywgICAgICAgICAvKiAgICAgSU5QVVQgKENuc3QsVmFyLEFicykgICAgICAgICAgICAg
ICAgICAgICAgICAqLworICAgIDB4MDUsIDB4MDEsICAgICAgICAgLyogICAgIFVTQUdFX1BBR0Ug
KEdlbmVyaWMgRGVza3RvcCkgICAgICAgICAgICAgICAgKi8KKyAgICAweDA5LCAweDMwLCAgICAg
ICAgIC8qICAgICBVU0FHRSAoWCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICov
CisgICAgMHgwOSwgMHgzMSwgICAgICAgICAvKiAgICAgVVNBR0UgKFkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAqLworICAgIDB4MTYsIDB4MDAsIDB4MDAsICAgLyogICAgIExP
R0lDQUxfTUlOSU1VTSAoMCkgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAweDI2LCAw
eGZmLCAweDdmLCAgIC8qICAgICBMT0dJQ0FMX01BWElNVU0gKDMyNzY3KSAgICAgICAgICAgICAg
ICAgICAgICovCisgICAgMHg3NSwgMHgxMCwgICAgICAgICAvKiAgICAgUkVQT1JUX1NJWkUgKDE2
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgIDB4OTUsIDB4MDIsICAgICAgICAg
LyogICAgIFJFUE9SVF9DT1VOVCAoMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAg
ICAweDgxLCAweDAyLCAgICAgICAgIC8qICAgICBJTlBVVCAoRGF0YSxWYXIsQWJzKSAgICAgICAg
ICAgICAgICAgICAgICAgICovCisgICAgMHgwOSwgMHgzOCwgICAgICAgICAvKiAgICAgVVNBR0Ug
KFopICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgIDB4MTUsIDB4ODEs
ICAgICAgICAgLyogICAgIExPR0lDQUxfTUlOSU1VTSAoLTEyNykgICAgICAgICAgICAgICAgICAg
ICAgKi8KKyAgICAweDI1LCAweDdmLCAgICAgICAgIC8qICAgICBMT0dJQ0FMX01BWElNVU0gKDEy
NykgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgMHg3NSwgMHgwOCwgICAgICAgICAvKiAg
ICAgUkVQT1JUX1NJWkUgKDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgIDB4
OTUsIDB4MDEsICAgICAgICAgLyogICAgIFJFUE9SVF9DT1VOVCAoMSkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKi8KKyAgICAweDgxLCAweDA2LCAgICAgICAgIC8qICAgICBJTlBVVCAoRGF0
YSxWYXIsUmVsKSAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgMHhjMCwgICAgICAgICAg
ICAgICAvKiAgIEVORF9DT0xMRUNUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
LworICAgIDB4YzAgICAgICAgICAgICAgICAgLyogRU5EX0NPTExFQ1RJT04gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi8KIAogfTsKIApAQCAtMTI2LDEzNCArMTI2LDEzNCBAQCBz
dGF0aWMgY29uc3QgSElEX0RFVklDRV9BVFRSSUJVVEVTIFZrYmREZXZpY2VBdHRyaWJ1dGVzID0g
ewogfTsKIAogc3RhdGljIGNvbnN0IFVTSE9SVCBWa2JkS2V5Q29kZVRvVXNhZ2VbXSA9IHsKLSAg
ICAweDAwLCAvLyBLRVlfUkVTRVJWRUQKLSAgICAweDI5LCAvLyBLRVlfRVNDCi0gICAgMHgxRSwg
Ly8gS0VZXzEKLSAgICAweDFGLCAvLyBLRVlfMgotICAgIDB4MjAsIC8vIEtFWV8zCi0gICAgMHgy
MSwgLy8gS0VZXzQKLSAgICAweDIyLCAvLyBLRVlfNQotICAgIDB4MjMsIC8vIEtFWV82Ci0gICAg
MHgyNCwgLy8gS0VZXzcKLSAgICAweDI1LCAvLyBLRVlfOAotICAgIDB4MjYsIC8vIEtFWV85Ci0g
ICAgMHgyNywgLy8gS0VZXzAKLSAgICAweDJELCAvLyBLRVlfTUlOVVMKLSAgICAweDJFLCAvLyBL
RVlfRVFVQUwKLSAgICAweDJBLCAvLyBLRVlfQkFDS1NQQUNFCi0gICAgMHgyQiwgLy8gS0VZX1RB
QgotICAgIDB4MTQsIC8vIEtFWV9RCi0gICAgMHgxQSwgLy8gS0VZX1cKLSAgICAweDA4LCAvLyBL
RVlfRQotICAgIDB4MTUsIC8vIEtFWV9SCi0gICAgMHgxNywgLy8gS0VZX1QKLSAgICAweDFDLCAv
LyBLRVlfWQotICAgIDB4MTgsIC8vIEtFWV9VCi0gICAgMHgwQywgLy8gS0VZX0kKLSAgICAweDEy
LCAvLyBLRVlfTwotICAgIDB4MTMsIC8vIEtFWV9QCi0gICAgMHgyRiwgLy8gS0VZX0xFRlRCUkFD
RQotICAgIDB4MzAsIC8vIEtFWV9SSUdIVEJSQUNFCi0gICAgMHgyOSwgLy8gS0VZX0VOVEVSCi0g
ICAgMHhFMCwgLy8gS0VZX0xFRlRDVFJMCi0gICAgMHgwNCwgLy8gS0VZX0EKLSAgICAweDE2LCAv
LyBLRVlfUwotICAgIDB4MDcsIC8vIEtFWV9ECi0gICAgMHgwOSwgLy8gS0VZX0YKLSAgICAweDBB
LCAvLyBLRVlfRwotICAgIDB4MEIsIC8vIEtFWV9ICi0gICAgMHgwRCwgLy8gS0VZX0oKLSAgICAw
eDBFLCAvLyBLRVlfSwotICAgIDB4MEYsIC8vIEtFWV9MCi0gICAgMHgzMywgLy8gS0VZX1NFTUlD
T0xPTgotICAgIDB4MjQsIC8vIEtFWV9BUE9TVFJPUEhFCi0gICAgMHgzNSwgLy8gS0VZX0dSQVZF
Ci0gICAgMHhFMSwgLy8gS0VZX0xFRlRTSElGVAotICAgIDB4MzEsIC8vIEtFWV9CQUNLU0xBU0gK
LSAgICAweDFELCAvLyBLRVlfWgotICAgIDB4MUIsIC8vIEtFWV9YCi0gICAgMHgwNiwgLy8gS0VZ
X0MKLSAgICAweDE5LCAvLyBLRVlfVgotICAgIDB4MDUsIC8vIEtFWV9CCi0gICAgMHgxMSwgLy8g
S0VZX04KLSAgICAweDEwLCAvLyBLRVlfTQotICAgIDB4MzYsIC8vIEtFWV9DT01NQQotICAgIDB4
MzcsIC8vIEtFWV9ET1QKLSAgICAweDM4LCAvLyBLRVlfU0xBU0gKLSAgICAweEU1LCAvLyBLRVlf
UklHSFRTSElGVAotICAgIDB4NTUsIC8vIEtFWV9LUEFTVEVSSVNLCi0gICAgMHhFMiwgLy8gS0VZ
X0xFRlRBTFQKLSAgICAweDJDLCAvLyBLRVlfU1BBQ0UKLSAgICAweDM5LCAvLyBLRVlfQ0FQU0xP
Q0sKLSAgICAweDNBLCAvLyBLRVlfRjEKLSAgICAweDNCLCAvLyBLRVlfRjIKLSAgICAweDNDLCAv
LyBLRVlfRjMKLSAgICAweDNELCAvLyBLRVlfRjQKLSAgICAweDNFLCAvLyBLRVlfRjUKLSAgICAw
eDNGLCAvLyBLRVlfRjYKLSAgICAweDQwLCAvLyBLRVlfRjcKLSAgICAweDQxLCAvLyBLRVlfRjgK
LSAgICAweDQyLCAvLyBLRVlfRjkKLSAgICAweDQzLCAvLyBLRVlfRjEwCi0gICAgMHg1MywgLy8g
S0VZX05VTUxPQ0sKLSAgICAweDQ3LCAvLyBLRVlfU0NST0xMTE9DSwotICAgIDB4NUYsIC8vIEtF
WV9LUDcKLSAgICAweDYwLCAvLyBLRVlfS1A4Ci0gICAgMHg2MSwgLy8gS0VZX0tQOQotICAgIDB4
NTYsIC8vIEtFWV9LUE1JTlVTCi0gICAgMHg1QywgLy8gS0VZX0tQNAotICAgIDB4NUQsIC8vIEtF
WV9LUDUKLSAgICAweDVFLCAvLyBLRVlfS1A2Ci0gICAgMHg1NywgLy8gS0VZX0tQUExVUwotICAg
IDB4NTksIC8vIEtFWV9LUDEKLSAgICAweDVBLCAvLyBLRVlfS1AyCi0gICAgMHg1QiwgLy8gS0VZ
X0tQMwotICAgIDB4NjIsIC8vIEtFWV9LUDAKLSAgICAweDYzLCAvLyBLRVlfS1BET1QKLSAgICAw
eDAwLCAvLyBnYXAgaW4gc2VxdWVuY2UKLSAgICAweDhGLCAvLyBLRVlfWkVOS0FLVUhBTktBS1UK
LSAgICAweDY0LCAvLyBLRVlfMTAyTkQKLSAgICAweDQ0LCAvLyBLRVlfRjExCi0gICAgMHg0NSwg
Ly8gS0VZX0YxMgotICAgIDB4ODcsIC8vIEtFWV9STwotICAgIDB4ODgsIC8vIEtFWV9LQVRBS0FO
QQotICAgIDB4OEEsIC8vIEtFWV9ISVJBR0FOQQotICAgIDB4OEIsIC8vIEtFWV9IRU5LQU4KLSAg
ICAweDhDLCAvLyBLRVlfS0FUQUtBTkFISVJBR0FOQQotICAgIDB4OEQsIC8vIEtFWV9NVUhFTktB
TgotICAgIDB4OEUsIC8vIEtFWV9LUEpQQ09NTUEKLSAgICAweDU4LCAvLyBLRVlfS1BFTlRFUgot
ICAgIDB4RTQsIC8vIEtFWV9SSUdIVENUUkwKLSAgICAweDU0LCAvLyBLRVlfS1BTTEFTSAotICAg
IDB4NDgsIC8vIEtFWV9TWVNSUQotICAgIDB4RTYsIC8vIEtFWV9SSUdIVEFMVAotICAgIDB4MDAs
IC8vIGdhcCBpbiBzZXF1ZW5jZQotICAgIDB4NEEsIC8vIEtFWV9IT01FCi0gICAgMHg1MiwgLy8g
S0VZX1VQCi0gICAgMHg0QiwgLy8gS0VZX1BBR0VVUAotICAgIDB4NTAsIC8vIEtFWV9MRUZUCi0g
ICAgMHg0RiwgLy8gS0VZX1JJR0hUCi0gICAgMHg0RCwgLy8gS0VZX0VORAotICAgIDB4NTEsIC8v
IEtFWV9ET1dOCi0gICAgMHg0RSwgLy8gS0VZX1BBR0VET1dOCi0gICAgMHg0OSwgLy8gS0VZX0lO
U0VSVAotICAgIDB4NEQsIC8vIEtFWV9ERUxFVEUKLSAgICAweDAwLCAvLyBnYXAgaW4gc2VxdWVu
Y2UKLSAgICAweDdGLCAvLyBLRVlfTVVURQotICAgIDB4ODEsIC8vIEtFWV9WT0xVTUVET1dOCi0g
ICAgMHg4MCwgLy8gS0VZX1ZPTFVNRVVQCi0gICAgMHg2NiwgLy8gS0VZX1BPV0VSCi0gICAgMHg2
NywgLy8gS0VZX0tQRVFVQUwKLSAgICAweDAwLCAvLyBLRVlfS1BQTFVTTUlOVVMKLSAgICAweDAw
LCAvLyBnYXAgaW4gc2VxdWVuY2UKLSAgICAweDAwLCAvLyBnYXAgaW4gc2VxdWVuY2UKLSAgICAw
eDAwLCAvLyBnYXAgaW4gc2VxdWVuY2UKLSAgICAweDg1LCAvLyBLRVlfS1BDT01NQQotICAgIDB4
OTAsIC8vIEtFWV9IQU5HRVVMCi0gICAgMHg5MSwgLy8gS0VZX0hBTkpBCi0gICAgMHg4OSwgLy8g
S0VZX1lFTgotICAgIDB4RTMsIC8vIEtFWV9MRUZUTUVUQQotICAgIDB4RTcsIC8vIEtFWV9SSUdI
VE1FVEEKKyAgICAweDAwLCAvLyBLRVlfUkVTRVJWRUQKKyAgICAweDI5LCAvLyBLRVlfRVNDCisg
ICAgMHgxRSwgLy8gS0VZXzEKKyAgICAweDFGLCAvLyBLRVlfMgorICAgIDB4MjAsIC8vIEtFWV8z
CisgICAgMHgyMSwgLy8gS0VZXzQKKyAgICAweDIyLCAvLyBLRVlfNQorICAgIDB4MjMsIC8vIEtF
WV82CisgICAgMHgyNCwgLy8gS0VZXzcKKyAgICAweDI1LCAvLyBLRVlfOAorICAgIDB4MjYsIC8v
IEtFWV85CisgICAgMHgyNywgLy8gS0VZXzAKKyAgICAweDJELCAvLyBLRVlfTUlOVVMKKyAgICAw
eDJFLCAvLyBLRVlfRVFVQUwKKyAgICAweDJBLCAvLyBLRVlfQkFDS1NQQUNFCisgICAgMHgyQiwg
Ly8gS0VZX1RBQgorICAgIDB4MTQsIC8vIEtFWV9RCisgICAgMHgxQSwgLy8gS0VZX1cKKyAgICAw
eDA4LCAvLyBLRVlfRQorICAgIDB4MTUsIC8vIEtFWV9SCisgICAgMHgxNywgLy8gS0VZX1QKKyAg
ICAweDFDLCAvLyBLRVlfWQorICAgIDB4MTgsIC8vIEtFWV9VCisgICAgMHgwQywgLy8gS0VZX0kK
KyAgICAweDEyLCAvLyBLRVlfTworICAgIDB4MTMsIC8vIEtFWV9QCisgICAgMHgyRiwgLy8gS0VZ
X0xFRlRCUkFDRQorICAgIDB4MzAsIC8vIEtFWV9SSUdIVEJSQUNFCisgICAgMHgyOSwgLy8gS0VZ
X0VOVEVSCisgICAgMHhFMCwgLy8gS0VZX0xFRlRDVFJMCisgICAgMHgwNCwgLy8gS0VZX0EKKyAg
ICAweDE2LCAvLyBLRVlfUworICAgIDB4MDcsIC8vIEtFWV9ECisgICAgMHgwOSwgLy8gS0VZX0YK
KyAgICAweDBBLCAvLyBLRVlfRworICAgIDB4MEIsIC8vIEtFWV9ICisgICAgMHgwRCwgLy8gS0VZ
X0oKKyAgICAweDBFLCAvLyBLRVlfSworICAgIDB4MEYsIC8vIEtFWV9MCisgICAgMHgzMywgLy8g
S0VZX1NFTUlDT0xPTgorICAgIDB4MjQsIC8vIEtFWV9BUE9TVFJPUEhFCisgICAgMHgzNSwgLy8g
S0VZX0dSQVZFCisgICAgMHhFMSwgLy8gS0VZX0xFRlRTSElGVAorICAgIDB4MzEsIC8vIEtFWV9C
QUNLU0xBU0gKKyAgICAweDFELCAvLyBLRVlfWgorICAgIDB4MUIsIC8vIEtFWV9YCisgICAgMHgw
NiwgLy8gS0VZX0MKKyAgICAweDE5LCAvLyBLRVlfVgorICAgIDB4MDUsIC8vIEtFWV9CCisgICAg
MHgxMSwgLy8gS0VZX04KKyAgICAweDEwLCAvLyBLRVlfTQorICAgIDB4MzYsIC8vIEtFWV9DT01N
QQorICAgIDB4MzcsIC8vIEtFWV9ET1QKKyAgICAweDM4LCAvLyBLRVlfU0xBU0gKKyAgICAweEU1
LCAvLyBLRVlfUklHSFRTSElGVAorICAgIDB4NTUsIC8vIEtFWV9LUEFTVEVSSVNLCisgICAgMHhF
MiwgLy8gS0VZX0xFRlRBTFQKKyAgICAweDJDLCAvLyBLRVlfU1BBQ0UKKyAgICAweDM5LCAvLyBL
RVlfQ0FQU0xPQ0sKKyAgICAweDNBLCAvLyBLRVlfRjEKKyAgICAweDNCLCAvLyBLRVlfRjIKKyAg
ICAweDNDLCAvLyBLRVlfRjMKKyAgICAweDNELCAvLyBLRVlfRjQKKyAgICAweDNFLCAvLyBLRVlf
RjUKKyAgICAweDNGLCAvLyBLRVlfRjYKKyAgICAweDQwLCAvLyBLRVlfRjcKKyAgICAweDQxLCAv
LyBLRVlfRjgKKyAgICAweDQyLCAvLyBLRVlfRjkKKyAgICAweDQzLCAvLyBLRVlfRjEwCisgICAg
MHg1MywgLy8gS0VZX05VTUxPQ0sKKyAgICAweDQ3LCAvLyBLRVlfU0NST0xMTE9DSworICAgIDB4
NUYsIC8vIEtFWV9LUDcKKyAgICAweDYwLCAvLyBLRVlfS1A4CisgICAgMHg2MSwgLy8gS0VZX0tQ
OQorICAgIDB4NTYsIC8vIEtFWV9LUE1JTlVTCisgICAgMHg1QywgLy8gS0VZX0tQNAorICAgIDB4
NUQsIC8vIEtFWV9LUDUKKyAgICAweDVFLCAvLyBLRVlfS1A2CisgICAgMHg1NywgLy8gS0VZX0tQ
UExVUworICAgIDB4NTksIC8vIEtFWV9LUDEKKyAgICAweDVBLCAvLyBLRVlfS1AyCisgICAgMHg1
QiwgLy8gS0VZX0tQMworICAgIDB4NjIsIC8vIEtFWV9LUDAKKyAgICAweDYzLCAvLyBLRVlfS1BE
T1QKKyAgICAweDAwLCAvLyBnYXAgaW4gc2VxdWVuY2UKKyAgICAweDhGLCAvLyBLRVlfWkVOS0FL
VUhBTktBS1UKKyAgICAweDY0LCAvLyBLRVlfMTAyTkQKKyAgICAweDQ0LCAvLyBLRVlfRjExCisg
ICAgMHg0NSwgLy8gS0VZX0YxMgorICAgIDB4ODcsIC8vIEtFWV9STworICAgIDB4ODgsIC8vIEtF
WV9LQVRBS0FOQQorICAgIDB4OEEsIC8vIEtFWV9ISVJBR0FOQQorICAgIDB4OEIsIC8vIEtFWV9I
RU5LQU4KKyAgICAweDhDLCAvLyBLRVlfS0FUQUtBTkFISVJBR0FOQQorICAgIDB4OEQsIC8vIEtF
WV9NVUhFTktBTgorICAgIDB4OEUsIC8vIEtFWV9LUEpQQ09NTUEKKyAgICAweDU4LCAvLyBLRVlf
S1BFTlRFUgorICAgIDB4RTQsIC8vIEtFWV9SSUdIVENUUkwKKyAgICAweDU0LCAvLyBLRVlfS1BT
TEFTSAorICAgIDB4NDgsIC8vIEtFWV9TWVNSUQorICAgIDB4RTYsIC8vIEtFWV9SSUdIVEFMVAor
ICAgIDB4MDAsIC8vIGdhcCBpbiBzZXF1ZW5jZQorICAgIDB4NEEsIC8vIEtFWV9IT01FCisgICAg
MHg1MiwgLy8gS0VZX1VQCisgICAgMHg0QiwgLy8gS0VZX1BBR0VVUAorICAgIDB4NTAsIC8vIEtF
WV9MRUZUCisgICAgMHg0RiwgLy8gS0VZX1JJR0hUCisgICAgMHg0RCwgLy8gS0VZX0VORAorICAg
IDB4NTEsIC8vIEtFWV9ET1dOCisgICAgMHg0RSwgLy8gS0VZX1BBR0VET1dOCisgICAgMHg0OSwg
Ly8gS0VZX0lOU0VSVAorICAgIDB4NEQsIC8vIEtFWV9ERUxFVEUKKyAgICAweDAwLCAvLyBnYXAg
aW4gc2VxdWVuY2UKKyAgICAweDdGLCAvLyBLRVlfTVVURQorICAgIDB4ODEsIC8vIEtFWV9WT0xV
TUVET1dOCisgICAgMHg4MCwgLy8gS0VZX1ZPTFVNRVVQCisgICAgMHg2NiwgLy8gS0VZX1BPV0VS
CisgICAgMHg2NywgLy8gS0VZX0tQRVFVQUwKKyAgICAweDAwLCAvLyBLRVlfS1BQTFVTTUlOVVMK
KyAgICAweDAwLCAvLyBnYXAgaW4gc2VxdWVuY2UKKyAgICAweDAwLCAvLyBnYXAgaW4gc2VxdWVu
Y2UKKyAgICAweDAwLCAvLyBnYXAgaW4gc2VxdWVuY2UKKyAgICAweDg1LCAvLyBLRVlfS1BDT01N
QQorICAgIDB4OTAsIC8vIEtFWV9IQU5HRVVMCisgICAgMHg5MSwgLy8gS0VZX0hBTkpBCisgICAg
MHg4OSwgLy8gS0VZX1lFTgorICAgIDB4RTMsIC8vIEtFWV9MRUZUTUVUQQorICAgIDB4RTcsIC8v
IEtFWV9SSUdIVE1FVEEKIH07CiAKICNlbmRpZiAgLy8gX1hFTlZLQkRfVktCRF9ICi0tIAoyLjUu
MwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1w
di1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Wed Jan 31 17:09:31 2018
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 Jan 2018 17:09:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.84_2)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1egvt1-0005tP-GH; Wed, 31 Jan 2018 17:09:27 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from
 <srs0=pgub=e2=citrix.com=prvs=5620a5ce2=paul.durrant@srs-us1.protection.inumbo.net>)
 id 1egvt0-0005tD-DL
 for win-pv-devel@lists.xenproject.org; Wed, 31 Jan 2018 17:09:26 +0000
X-Inumbo-ID: 8b2cda1a-06a9-11e8-b9b1-635ca7ef6cff
Received: from SMTP.CITRIX.COM (unknown [66.165.176.89])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 8b2cda1a-06a9-11e8-b9b1-635ca7ef6cff;
 Wed, 31 Jan 2018 17:09:49 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.46,440,1511827200"; d="scan'208";a="460508568"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Wed, 31 Jan 2018 17:09:09 +0000
Message-ID: <1517418549-5141-2-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1517418549-5141-1-git-send-email-paul.durrant@citrix.com>
References: <1517418549-5141-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH xenvkbd 2/2] Fix HID code for KEY_ENTER
X-BeenThere: win-pv-devel@lists.xenproject.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

VGhlIFZrYmRLZXlDb2RlVG9Vc2FnZSBhcnJheSBoYXMgdGhlIHZhbHVlIGZvciBLRVlfRVNDQVBF
ICgweDI5KQppbmNvcnJlY3RseSBwbGFjZWQgaW4gdGhpcyBlbnRyeS4gVGhpcyBwYXRjaCByZXBs
YWNlcyB0aGF0IHdpdGggMHgyOCwgd2hpY2gKaXMgdGhlIGNvcnJlY3QgY29kZSBmb3IgdGhlIEVO
VEVSIGtleS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJp
eC5jb20+Ci0tLQogc3JjL3hlbnZrYmQvdmtiZC5oIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEg
aW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZrYmQvdmti
ZC5oIGIvc3JjL3hlbnZrYmQvdmtiZC5oCmluZGV4IGVhY2MzOWIuLmU0NTUwNzggMTAwNjQ0Ci0t
LSBhL3NyYy94ZW52a2JkL3ZrYmQuaAorKysgYi9zcmMveGVudmtiZC92a2JkLmgKQEAgLTE1NCw3
ICsxNTQsNyBAQCBzdGF0aWMgY29uc3QgVVNIT1JUIFZrYmRLZXlDb2RlVG9Vc2FnZVtdID0gewog
ICAgIDB4MTMsIC8vIEtFWV9QCiAgICAgMHgyRiwgLy8gS0VZX0xFRlRCUkFDRQogICAgIDB4MzAs
IC8vIEtFWV9SSUdIVEJSQUNFCi0gICAgMHgyOSwgLy8gS0VZX0VOVEVSCisgICAgMHgyOCwgLy8g
S0VZX0VOVEVSCiAgICAgMHhFMCwgLy8gS0VZX0xFRlRDVFJMCiAgICAgMHgwNCwgLy8gS0VZX0EK
ICAgICAweDE2LCAvLyBLRVlfUwotLSAKMi41LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h
aWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

