From win-pv-devel-bounces@lists.xenproject.org Wed May 03 06:45:05 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 03 May 2017 06:45:05 +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 1d5o24-000868-6Z; Wed, 03 May 2017 06:45:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <alexis.pellicier@nds.k12.tr>) id 1d5o22-00085y-SA
 for win-pv-devel@lists.xenproject.org; Wed, 03 May 2017 06:45:03 +0000
Received: from [85.158.139.211] by server-9.bemta-5.messagelabs.com id
 DF/21-01999-E6C79095; Wed, 03 May 2017 06:45:02 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrAIsWRWlGSWpSXmKPExsXiVRukq5tbwxl
 psHWliMWfxYkOjB6HP1xhCWCMYs3MS8qvSGDNOPflEmvBd5mKJUcXMTUwnpLsYuTiEBKYwyhx
 ZeIlRhCHRWAGq8TlJ6/BHAmBOawSL2Y+Y+1i5ARy8iQeXZ4JZRdKnHx8mR3E5hUQlDg58wkLi
 C0k4CUx6cwzNhCbU8BD4sHMF4wQK3oZJbZ+eAfWzCZgIvHv82tmEJtFQEXiyJdrzBCDAiS+b+
 8EGsrBISygJ3HxkwxIWERATeLPrIVgM5kFvCXOzZnEDGED7frwkmUCo8AsJGfMQpKaBTSJWUB
 dYv08IYiwmsTtbVfZIWxtiWULXzMvYGRdxahRnFpUllqka2igl1SUmZ5RkpuYmQPkmerlphYX
 J6an5iQmFesl5+duYgSGMwMQ7GBcM9X5EKMkB5OSKK/6K/ZIIb6k/JTKjMTijPii0pzU4kOMM
 hwcShK8etWckUKCRanpqRVpmTnAyIJJS3DwKInwLgZJ8xYXJOYWZ6ZDpE4xGnO8W/rhPRPHo5
 U/3jMJseTl56VKifPagJQKgJRmlObBDYJF/CVGWSlhXkag04R4ClKLcjNLUOVfMYpzMCoJ864
 HmcKTmVcCt+8V0ClMQKc0y3KAnFKSiJCSamDUFOiPz/F731Jwe2M739Pgz31f5H4+fTJl28wN
 M8pLSleumLr83PnVC8J+u/z/cdHT4nr97RuvmC6lTzhh3qedMOuJcu21D88tn9ysPnnvbt0mv
 sS50ltSujfderBjyZ03MUKH/97wVRIpd791c/eb6xmTW9mCN+1dsSP4WFYP1+/bPo4/H086/1
 iJpTgj0VCLuag4EQBhs8k/8wIAAA==
X-Env-Sender: alexis.pellicier@nds.k12.tr
X-Msg-Ref: server-5.tower-206.messagelabs.com!1493793901!94474151!1
X-Originating-IP: [74.125.82.45]
X-SpamReason: No, hits=0.6 required=7.0 tests=HTML_60_70,HTML_MESSAGE,
 RCVD_BY_IP
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46000 invoked from network); 3 May 2017 06:45:01 -0000
Received: from mail-wm0-f45.google.com (HELO mail-wm0-f45.google.com)
 (74.125.82.45)
 by server-5.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 3 May 2017 06:45:01 -0000
Received: by mail-wm0-f45.google.com with SMTP id m123so45164099wma.0
 for <win-pv-devel@lists.xenproject.org>; Tue, 02 May 2017 23:45:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=nds-k12-tr.20150623.gappssmtp.com; s=20150623;
 h=mime-version:in-reply-to:references:from:date:message-id:subject:to
 :cc; bh=2NyqzZ9Wp2+LScwGiXUI8GH2ORMxiM0dyQlMOGsQwMI=;
 b=PN9EtUOOxgVimAD8xSxUWLdrP95mdre14apPanJnHgEdpUzOLkVZyqsW3bnwcVwUjD
 T4OyotPboW40TcatBl0pMXBJL3WWRzhVYg40NL2PHLb7qhjQRwmFK0WvXnNYY8lWYIu0
 EX/bWsED7nJCJlPEbQ9eXvyhsB4v9vPbAzgGHMGBHwBS9f9N5HVJyCm1bhT8opHJXEbd
 gAfPphvo5ADVSCJ38EEf3FHrdACVp4Z776iRjZUyGEtiMYykG935MAaH3dlyVfdc9mKZ
 f/nopX4c/HKpov1bVIAN74Mgj+u1mCkNTJeulqNKPhYkbjWDhBdCVSAe/kZADSClHE3C
 yX1A==
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=2NyqzZ9Wp2+LScwGiXUI8GH2ORMxiM0dyQlMOGsQwMI=;
 b=H9cira9HPkUoKiScNuQvKSSfDb0xVIjSXgoSIgubJEl98eqzizykickWxJYGw+UFhE
 PVj5DhJpaQAR/7R++BzSwJ/9SXS4kSD3TUYGkiT1tr0ztIBVVyCfXeIAqGYxbRl1S1NR
 UonUwf8S6E4MBXlDoaUIWb99Y5pye3pWvjXKco+UD7oFiu4wmI4+Zpi9QlALMU9vzVfX
 tmQ8FuT0nLi1jgMGqhx5dZKf/7egWk8Y1lmIJcUvOx6h9qIKY1VsbfFCSNiNBC67p1Ce
 g42JBWdh84tBUQz0ELKIyarN4egte74IJIr3jmwavSEFMNHcss7UAVlqyc8oVJHOiRBN
 u9ow==
X-Gm-Message-State: AN3rC/6MhHTh2rv/AYZqqd2qKoBMKuIXp3YQnpFFrqbUvC/B3ukePfJP
 c6QZsXZHTGtF0nGbof2B0TpnFIU3BT7h
X-Received: by 10.28.197.12 with SMTP id v12mr4519291wmf.82.1493793900917;
 Tue, 02 May 2017 23:45:00 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.28.208.135 with HTTP; Tue, 2 May 2017 23:44:40 -0700 (PDT)
In-Reply-To: <8ba6f47a24b94456bbd8c205d4f68edf@AMSPEX02CL02.citrite.net>
References: <CACfWNiZa79gKMH8Qxq_mBRdkWE3Eevc_xFJEiG5CA4COnAqmcA@mail.gmail.com>
 <8ba6f47a24b94456bbd8c205d4f68edf@AMSPEX02CL02.citrite.net>
From: Alexis Pellicier <alexis.pellicier@nds.k12.tr>
Date: Wed, 3 May 2017 09:44:40 +0300
Message-ID: <CACfWNiZAK2_8SyvJciTBRtpNXeOfnx1_Qc2FydT0BJJU9YCpaw@mail.gmail.com>
To: Owen Smith <owen.smith@citrix.com>
Cc: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Subject: Re: [win-pv-devel] Network card speed
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/cgi-bin/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/cgi-bin/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8135852352170754685=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

--===============8135852352170754685==
Content-Type: multipart/alternative; boundary=94eb2c0d478cd50919054e98fee5

--94eb2c0d478cd50919054e98fee5
Content-Type: text/plain; charset=UTF-8

Sorry for the late following.

What do you mean by "suitable environment" ?
The only thing I did is switching from gplpv to winpv. The hardware
environment didn't change.

2017-04-13 13:51 GMT+03:00 Owen Smith <owen.smith@citrix.com>:

> The reported speed is a constant that the GPLPV drivers define at
> 10GBit/s, and the WinPV 8.2 use 1GBit/s.
>
> Actual speeds should not be limited by this value (I.e. you will be able
> to get > 1GBit/s with WinPV 8.2 with a suitable environment).
>
>
>
> Owen
>
>
>
> *From: *Alexis Pellicier <alexis.pellicier@nds.k12.tr>
> *Sent: *13 April 2017 09:09
> *To: *win-pv-devel@lists.xenproject.org
> *Subject: *[win-pv-devel] Network card speed
>
>
> Hello,
>
> Just a quick question on the network card drivers in win-pv 8.2
>
> With gplpv my HVMs  connect to network at 10Gbits/s
> With win-pv 8.2 it's only 1Gbits/s.
>
> Is this normal behavior or did I miss something somewhere?
>
> Thank for your work.
>
>
>

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

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-size:small">Sor=
ry for the late following.<br><br></div><div class=3D"gmail_default" style=
=3D"font-size:small">What do you mean by &quot;suitable environment&quot; ?=
 <br></div><div class=3D"gmail_default" style=3D"font-size:small">The only =
thing I did is switching from gplpv to winpv. The hardware environment didn=
&#39;t change.<br></div></div><div class=3D"gmail_extra"><br><div class=3D"=
gmail_quote">2017-04-13 13:51 GMT+03:00 Owen Smith <span dir=3D"ltr">&lt;<a=
 href=3D"mailto:owen.smith@citrix.com" target=3D"_blank">owen.smith@citrix.=
com</a>&gt;</span>:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 =
0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div>


<div class=3D"m_6864135532764291177WordSection1">
<p class=3D"MsoNormal">The reported speed is a constant that the GPLPV driv=
ers define at 10GBit/s, and the WinPV 8.2 use 1GBit/s.</p>
<p class=3D"MsoNormal">Actual speeds should not be limited by this value (I=
.e. you will be able to get &gt; 1GBit/s with WinPV 8.2 with a suitable env=
ironment).</p>
<p class=3D"MsoNormal">=C2=A0</p>
<p class=3D"MsoNormal">Owen</p>
<p class=3D"MsoNormal">=C2=A0</p>
<div style=3D"border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal" style=3D"border:none;padding:0cm"><b>From: </b><a hr=
ef=3D"mailto:alexis.pellicier@nds.k12.tr" target=3D"_blank">Alexis Pellicie=
r</a><br>
<b>Sent: </b>13 April 2017 09:09<br>
<b>To: </b><a href=3D"mailto:win-pv-devel@lists.xenproject.org" target=3D"_=
blank">win-pv-devel@lists.xenproject.<wbr>org</a><br>
<b>Subject: </b>[win-pv-devel] Network card speed</p>
</div>
<p class=3D"MsoNormal">=C2=A0</p>
</div><div><div class=3D"h5">
<div>
<div dir=3D"ltr">
<div class=3D"gmail_default" style=3D"font-size:small">Hello,<br>
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small">Just a quick questio=
n on the network card drivers in win-pv 8.2<br>
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small">With gplpv my HVMs=
=C2=A0 connect to network at 10Gbits/s<br>
With win-pv 8.2 it&#39;s only 1Gbits/s. <br>
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small">Is this normal behav=
ior or did I miss something somewhere?<br>
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small">Thank for your work.=
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small"><br>
<br>
</div>
</div>
</div>
</div></div></div>

</blockquote></div><br></div>

--94eb2c0d478cd50919054e98fee5--


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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

--===============8135852352170754685==--


From win-pv-devel-bounces@lists.xenproject.org Wed May 03 08:01:05 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 03 May 2017 08:01:05 +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 1d5pDb-0005KL-6J; Wed, 03 May 2017 08:01:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=289d27061=ben.chalmers@citrix.com>)
 id 1d5pDa-0005KF-2M
 for win-pv-devel@lists.xenproject.org; Wed, 03 May 2017 08:01:02 +0000
Received: from [85.158.137.68] by server-16.bemta-3.messagelabs.com id
 64/41-01721-D3E89095; Wed, 03 May 2017 08:01:01 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpnleJIrShJLcpLzFFi42LZKekooWvTxxl
 pcPKGlMWfxYkOjB6HP1xhCWCMYs3MS8qvSGDNuL3oE3vBH6OKz/v2szUwHtTtYuTkkBAIkrh7
 YSE7iM0moCMxa8E9ZhBbRCBcYvPRQ2BxZgFviasnDzKC2MICehJN7behavQl5j5ZyNTFyAFkO
 0lcuQMWZhFQkVj4vpUNxOYVcJdY3vsMyObiEBK4xCix8OBKsJmcAoES/R9fgDUwCshKfGlczQ
 yxS1yi6ctKVojbBCSW7DnPDGGLSrx8/A8qbiCxdek+Foj6XIn+F+/ZIZYJSpyc+YRlAqPQLCS
 jZiEpm4WkDCJuIPH+3HxmCFtbYtnC11C2vsTGL2cZkcUXMLKvYlQvTi0qSy3SNdNLKspMzyjJ
 TczM0TU0MNbLTS0uTkxPzUlMKtZLzs/dxAiMlHoGBsYdjFfanA8xSnIwKYnyqr9ijxTiS8pPq
 cxILM6ILyrNSS0+xCjDwaEkwavWyxkpJFiUmp5akZaZA4xZmLQEB4+SCG8LSJq3uCAxtzgzHS
 J1ilGX493SD++ZhFjy8vNSpcR5pUGKBECKMkrz4EbA0sclRlkpYV5GBgYGIZ6C1KLczBJU+Ve
 M4hyMSsK8EiBTeDLzSuA2vQI6ggnoiGZZDpAjShIRUlINjCenryy5n5inPOn5swlNO253r03v
 T7q4Q6NVauHaFHP9M6ckrl1aFTCRf8qD+XVe7W0LT7lNf8wrcW7DPj21b4u1/1so3N7/c2Jl0
 ZqJy9+3cpv1X9s3Raec8+Gptu2xvSEuLZ9sHrbJ7C8z+GXzvDoyba/AlE8NJ8IYpB8Jfi25f9
 uc4dubMyFKLMUZiYZazEXFiQDNlMFxGgMAAA==
X-Env-Sender: prvs=289d27061=ben.chalmers@citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1493798460!59931354!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.3 required=7.0 tests=HTML_60_70,HTML_MESSAGE,
 received_headers: No Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27554 invoked from network); 3 May 2017 08:01:00 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
 by server-6.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
 3 May 2017 08:01:00 -0000
X-IronPort-AV: E=Sophos;i="5.38,283,1491264000"; d="scan'208,217";a="45329689"
From: Ben Chalmers <ben.chalmers@citrix.com>
To: Alexis Pellicier <alexis.pellicier@nds.k12.tr>, Owen Smith
 <owen.smith@citrix.com>
Thread-Topic: [win-pv-devel] Network card speed
Thread-Index: AQHStC1Idm5mf4OefkqugxEcx7oT5KHC/hGAgB8phwCAADbaIQ==
Date: Wed, 3 May 2017 08:00:58 +0000
Message-ID: <feae0166e7da4bf9b0b521f8e9b0c60b@AMSPEX02CL03.citrite.net>
References: <CACfWNiZa79gKMH8Qxq_mBRdkWE3Eevc_xFJEiG5CA4COnAqmcA@mail.gmail.com>
 <8ba6f47a24b94456bbd8c205d4f68edf@AMSPEX02CL02.citrite.net>,
 <CACfWNiZAK2_8SyvJciTBRtpNXeOfnx1_Qc2FydT0BJJU9YCpaw@mail.gmail.com>
In-Reply-To: <CACfWNiZAK2_8SyvJciTBRtpNXeOfnx1_Qc2FydT0BJJU9YCpaw@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
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] Network card speed
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/cgi-bin/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/cgi-bin/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3833735033907197034=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

--===============3833735033907197034==
Content-Language: en-GB
Content-Type: multipart/alternative;
	boundary="_000_feae0166e7da4bf9b0b521f8e9b0c60bAMSPEX02CL03citritenet_"

--_000_feae0166e7da4bf9b0b521f8e9b0c60bAMSPEX02CL03citritenet_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

=91Suitable environment=92 here means you have a network/nic/cpu capable of=
 coping with >1GB speed

The speed reported by the PV drivers is entirely arbitrary and unrelated to=
 the performance you will get =96 and you can measure the actual performanc=
e you get with a tool such as netperf.

Ben Chalmers

Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=3D550986> for Window=
s 10

From: Alexis Pellicier<mailto:alexis.pellicier@nds.k12.tr>
Sent: 03 May 2017 07:45
To: Owen Smith<mailto:owen.smith@citrix.com>
Cc: win-pv-devel@lists.xenproject.org<mailto:win-pv-devel@lists.xenproject.=
org>
Subject: Re: [win-pv-devel] Network card speed

Sorry for the late following.

What do you mean by "suitable environment" ?
The only thing I did is switching from gplpv to winpv. The hardware environ=
ment didn't change.

2017-04-13 13:51 GMT+03:00 Owen Smith <owen.smith@citrix.com<mailto:owen.sm=
ith@citrix.com>>:
The reported speed is a constant that the GPLPV drivers define at 10GBit/s,=
 and the WinPV 8.2 use 1GBit/s.
Actual speeds should not be limited by this value (I.e. you will be able to=
 get > 1GBit/s with WinPV 8.2 with a suitable environment).

Owen

From: Alexis Pellicier<mailto:alexis.pellicier@nds.k12.tr>
Sent: 13 April 2017 09:09
To: win-pv-devel@lists.xenproject.org<mailto:win-pv-devel@lists.xenproject.=
org>
Subject: [win-pv-devel] Network card speed

Hello,

Just a quick question on the network card drivers in win-pv 8.2

With gplpv my HVMs  connect to network at 10Gbits/s
With win-pv 8.2 it's only 1Gbits/s.

Is this normal behavior or did I miss something somewhere?

Thank for your work.




--_000_feae0166e7da4bf9b0b521f8e9b0c60bAMSPEX02CL03citritenet_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DWindows-1=
252">
<meta content=3D"text/html; charset=3Dutf-8">
</head>
<body>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style>
<!--
@font-face
	{font-family:"Cambria Math"}
@font-face
	{font-family:Calibri}
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline}
a:visited, span.MsoHyperlinkFollowed
	{color:#954F72;
	text-decoration:underline}
.MsoChpDefault
	{}
@page WordSection1
	{margin:72.0pt 72.0pt 72.0pt 72.0pt}
div.WordSection1
	{}
-->
</style>
<div class=3D"WordSection1">
<p class=3D"MsoNormal">=91Suitable environment=92 here means you have a net=
work/nic/cpu capable of coping with &gt;1GB speed</p>
<p class=3D"MsoNormal">&nbsp;</p>
<p class=3D"MsoNormal">The speed reported by the PV drivers is entirely arb=
itrary and unrelated to the performance you will get =96 and you can measur=
e the actual performance you get with a tool such as netperf.</p>
<p class=3D"MsoNormal">&nbsp;</p>
<p class=3D"MsoNormal">Ben Chalmers</p>
<p class=3D"MsoNormal">&nbsp;</p>
<p class=3D"MsoNormal">Sent from <a href=3D"https://go.microsoft.com/fwlink=
/?LinkId=3D550986">
Mail</a> for Windows 10</p>
<p class=3D"MsoNormal">&nbsp;</p>
<div style=3D"border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0c=
m 0cm 0cm">
<p class=3D"MsoNormal" style=3D"border:none; padding:0cm"><b>From: </b><a h=
ref=3D"mailto:alexis.pellicier@nds.k12.tr">Alexis Pellicier</a><br>
<b>Sent: </b>03 May 2017 07:45<br>
<b>To: </b><a href=3D"mailto:owen.smith@citrix.com">Owen Smith</a><br>
<b>Cc: </b><a href=3D"mailto:win-pv-devel@lists.xenproject.org">win-pv-deve=
l@lists.xenproject.org</a><br>
<b>Subject: </b>Re: [win-pv-devel] Network card speed</p>
</div>
<p class=3D"MsoNormal">&nbsp;</p>
</div>
<div>
<div dir=3D"ltr">
<div class=3D"gmail_default" style=3D"font-size:small">Sorry for the late f=
ollowing.<br>
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small">What do you mean by =
&quot;suitable environment&quot; ?
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small">The only thing I did=
 is switching from gplpv to winpv. The hardware environment didn't change.<=
br>
</div>
</div>
<div class=3D"gmail_extra"><br>
<div class=3D"gmail_quote">2017-04-13 13:51 GMT&#43;03:00 Owen Smith <span =
dir=3D"ltr">&lt;<a href=3D"mailto:owen.smith@citrix.com" target=3D"_blank">=
owen.smith@citrix.com</a>&gt;</span>:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex; border-left:1=
px #ccc solid; padding-left:1ex">
<div>
<div class=3D"m_6864135532764291177WordSection1">
<p class=3D"MsoNormal">The reported speed is a constant that the GPLPV driv=
ers define at 10GBit/s, and the WinPV 8.2 use 1GBit/s.</p>
<p class=3D"MsoNormal">Actual speeds should not be limited by this value (I=
.e. you will be able to get &gt; 1GBit/s with WinPV 8.2 with a suitable env=
ironment).</p>
<p class=3D"MsoNormal">&nbsp;</p>
<p class=3D"MsoNormal">Owen</p>
<p class=3D"MsoNormal">&nbsp;</p>
<div style=3D"border:none; border-top:solid #e1e1e1 1.0pt; padding:3.0pt 0c=
m 0cm 0cm">
<p class=3D"MsoNormal" style=3D"border:none; padding:0cm"><b>From: </b><a h=
ref=3D"mailto:alexis.pellicier@nds.k12.tr" target=3D"_blank">Alexis Pellici=
er</a><br>
<b>Sent: </b>13 April 2017 09:09<br>
<b>To: </b><a href=3D"mailto:win-pv-devel@lists.xenproject.org" target=3D"_=
blank">win-pv-devel@lists.xenproject.<wbr>org</a><br>
<b>Subject: </b>[win-pv-devel] Network card speed</p>
</div>
<p class=3D"MsoNormal">&nbsp;</p>
</div>
<div>
<div class=3D"h5">
<div>
<div dir=3D"ltr">
<div class=3D"gmail_default" style=3D"font-size:small">Hello,<br>
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small">Just a quick questio=
n on the network card drivers in win-pv 8.2<br>
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small">With gplpv my HVMs&n=
bsp; connect to network at 10Gbits/s<br>
With win-pv 8.2 it's only 1Gbits/s. <br>
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small">Is this normal behav=
ior or did I miss something somewhere?<br>
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small">Thank for your work.=
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small"><br>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</body>
</html>

--_000_feae0166e7da4bf9b0b521f8e9b0c60bAMSPEX02CL03citritenet_--


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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

--===============3833735033907197034==--


From win-pv-devel-bounces@lists.xenproject.org Wed May 03 09:13:01 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 03 May 2017 09:13: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 1d5qLD-0005fX-Ud; Wed, 03 May 2017 09:12:59 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <alexis.pellicier@nds.k12.tr>) id 1d5qLC-0005fN-02
 for win-pv-devel@lists.xenproject.org; Wed, 03 May 2017 09:12:58 +0000
Received: from [193.109.254.147] by server-4.bemta-6.messagelabs.com id
 BA/37-02956-91F99095; Wed, 03 May 2017 09:12:57 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrAIsWRWlGSWpSXmKPExsVyMbRhs67EfM5
 Ig439YhZ/Fic6MHoc/nCFJYAxijUzLym/IoE1Y+8ao4JDJhWPFnxibmA8o9fFyMUhJDCXUeLP
 zI/sIA6LwAxWicc9F9hAHAmBOawSr9vWATmcQE6exJSGBVB2qcSh+3vZQWxeAUGJkzOfsIDYQ
 gJeEt8WnwCLcwp4SOy4Op0VYkU/k8SfU7/AEmwCJhL/Pr9mBrFZBFQkLux+wAgxKEBi2pdupi
 5GDg5hAT2Ji59kQMIiAloSe2avZgYJMwsUSsw9ZgYSZgZa9avlGtsERoFZSK6YhSQ1C6xDXWL
 9PCGIsLbEsoWvmSFsNYnb266yI4svYGRbxahRnFpUllqka2ikl1SUmZ5RkpuYmaNraGCml5ta
 XJyYnpqTmFSsl5yfu4kRGOIMQLCD8fLGgEOMkhxMSqK86q/YI4X4kvJTKjMSizPii0pzUosPM
 cpwcChJ8N6fyxkpJFiUmp5akZaZA4w2mLQEB4+SCO8RkDRvcUFibnFmOkTqFKMlx4vL798zcb
 xb+gFIPln54z2TEEtefl6qlDhvBEiDAEhDRmke3DhYQrjEKCslzMsIdKAQT0FqUW5mCar8K0Z
 xDkYlYd5rIFN4MvNK4La+AjqICeigZlkOkINKEhFSUg2Myrr3dSq6Tn4zi/yU1lrMx7qi7hLD
 oYiTnzT/PZg2wXYm17VPX+XElNkvCuuYf2p79Udwdm30A9Vfggqnv14KfLl42veXgU42fCtb2
 CKmLTz249O1RUkm1dUbOM2MbHrr/kvsXrbySK98u/KcU1Nc97XNa96imqj16ZCkw4NJ+9fN+9
 3wLShHQ4mlOCPRUIu5qDgRAB6KNGYDAwAA
X-Env-Sender: alexis.pellicier@nds.k12.tr
X-Msg-Ref: server-12.tower-27.messagelabs.com!1493802776!98668812!1
X-Originating-IP: [209.85.128.179]
X-SpamReason: No, hits=0.6 required=7.0 tests=HTML_60_70,HTML_MESSAGE,
 RCVD_BY_IP
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20998 invoked from network); 3 May 2017 09:12:56 -0000
Received: from mail-wr0-f179.google.com (HELO mail-wr0-f179.google.com)
 (209.85.128.179)
 by server-12.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 3 May 2017 09:12:56 -0000
Received: by mail-wr0-f179.google.com with SMTP id z52so101293032wrc.2
 for <win-pv-devel@lists.xenproject.org>; Wed, 03 May 2017 02:12:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=nds-k12-tr.20150623.gappssmtp.com; s=20150623;
 h=mime-version:in-reply-to:references:from:date:message-id:subject:to
 :cc; bh=j8wI8Bdf9mH9Wqy8luu6xvXtWriEPl6sxYBjpid0kAI=;
 b=N0rKbIugm+FvbxE+Ym7w/fqzH9vHehgTSkjvfpn2O88A+UCeSF02X+ci56GCl3BVaK
 Lgd6qSxxfRV5dOVWPNZRvZUssQpaWFXpRwkJQ+uQ0+hK7w62agtOE9xuPoOUa/GJMmiM
 ZgJQWoyopdFqAnJmhWzHrHy/OAkZz4yCp/JXRx1WTRZOSs5uLtaWV+Szhts33C98NyIH
 xVc5zlnwqIwx2OyhLzvGUo2aKqfHFLtAN6u/IDjxSbXcL5Ou4UowkZnq4RL8qU+7UFFY
 Gn4l24RjoGJ/VjfCxRnJ0lE5iaaf2SuyRKihgX5bZtqgnIKudIKcyloyNQRMlpGAgkj+
 ghGQ==
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=j8wI8Bdf9mH9Wqy8luu6xvXtWriEPl6sxYBjpid0kAI=;
 b=kafM3AolP/U9vUpTC+cQUZPupMDqYxN6hBb1EZlXRZBYM30tnQD1Gh6GFLQePiPfZv
 ciJPLmiAmwTb7SEpMgWsTAvHHJWT4lncWI257A2FDQOJK17BQ2UECdz6x6GikVAsf7Mj
 FDcPA+do1ZkYptScbDyRlDdQdLMARosvwrp19/U0m5uHKYRR4VN6mhhxV/1NSdBCxUyi
 Jp7k4Oj4GkBd5B0ckbEP4lLZzorxQv6NwaYEedmMGdraFCC67vv805CiuFEY6ZfQpSly
 V2WZ8vaKXc6TzKHABYqv5FU/Cdp8DD6YG85w22iUBzZdenHbBtAvd3pz/y/qUUTpI+yd
 zJsA==
X-Gm-Message-State: AN3rC/4cC3yiU2EskB2Rs6lcu0uwy2Qk7Oz5CHckrFpbsqOgetjmvnBq
 0VNoUwlfTp4JIEL+tGHFYRp73iIC+YP4
X-Received: by 10.223.178.236 with SMTP id g99mr21539561wrd.126.1493802775942; 
 Wed, 03 May 2017 02:12:55 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.28.208.135 with HTTP; Wed, 3 May 2017 02:12:35 -0700 (PDT)
In-Reply-To: <feae0166e7da4bf9b0b521f8e9b0c60b@AMSPEX02CL03.citrite.net>
References: <CACfWNiZa79gKMH8Qxq_mBRdkWE3Eevc_xFJEiG5CA4COnAqmcA@mail.gmail.com>
 <8ba6f47a24b94456bbd8c205d4f68edf@AMSPEX02CL02.citrite.net>
 <CACfWNiZAK2_8SyvJciTBRtpNXeOfnx1_Qc2FydT0BJJU9YCpaw@mail.gmail.com>
 <feae0166e7da4bf9b0b521f8e9b0c60b@AMSPEX02CL03.citrite.net>
From: Alexis Pellicier <alexis.pellicier@nds.k12.tr>
Date: Wed, 3 May 2017 12:12:35 +0300
Message-ID: <CACfWNiauO+hmqVue33=+UZKxOy5mUsgKCwKz3ghx5zryyDN34w@mail.gmail.com>
To: Ben Chalmers <ben.chalmers@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] Network card speed
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/cgi-bin/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/cgi-bin/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3676322280083025631=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

--===============3676322280083025631==
Content-Type: multipart/alternative; boundary=f403045cf790d32e16054e9b0f4f

--f403045cf790d32e16054e9b0f4f
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

=E2=80=8BIndeed I've done some iperf tests on the 2 drivers and measure the=
 same
speed performance.

Thank you for this precisions.

=E2=80=8B
2017-05-03 11:00 GMT+03:00 Ben Chalmers <ben.chalmers@citrix.com>:

> =E2=80=98Suitable environment=E2=80=99 here means you have a network/nic/=
cpu capable of
> coping with >1GB speed
>
>
>
> The speed reported by the PV drivers is entirely arbitrary and unrelated
> to the performance you will get =E2=80=93 and you can measure the actual
> performance you get with a tool such as netperf.
>
>
>
> Ben Chalmers
>
>
>
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=3D550986> for
> Windows 10
>
>
>
> *From: *Alexis Pellicier <alexis.pellicier@nds.k12.tr>
> *Sent: *03 May 2017 07:45
> *To: *Owen Smith <owen.smith@citrix.com>
> *Cc: *win-pv-devel@lists.xenproject.org
> *Subject: *Re: [win-pv-devel] Network card speed
>
>
> Sorry for the late following.
>
> What do you mean by "suitable environment" ?
> The only thing I did is switching from gplpv to winpv. The hardware
> environment didn't change.
>
> 2017-04-13 13:51 GMT+03:00 Owen Smith <owen.smith@citrix.com>:
>
>> The reported speed is a constant that the GPLPV drivers define at
>> 10GBit/s, and the WinPV 8.2 use 1GBit/s.
>>
>> Actual speeds should not be limited by this value (I.e. you will be able
>> to get > 1GBit/s with WinPV 8.2 with a suitable environment).
>>
>>
>>
>> Owen
>>
>>
>>
>> *From: *Alexis Pellicier <alexis.pellicier@nds.k12.tr>
>> *Sent: *13 April 2017 09:09
>> *To: *win-pv-devel@lists.xenproject.org
>> *Subject: *[win-pv-devel] Network card speed
>>
>>
>> Hello,
>>
>> Just a quick question on the network card drivers in win-pv 8.2
>>
>> With gplpv my HVMs  connect to network at 10Gbits/s
>> With win-pv 8.2 it's only 1Gbits/s.
>>
>> Is this normal behavior or did I miss something somewhere?
>>
>> Thank for your work.
>>
>>
>>
>

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

<div dir=3D"ltr"><div style=3D"font-size:small;display:inline" class=3D"gma=
il_default">=E2=80=8BIndeed I&#39;ve done some iperf tests on the 2 drivers=
 and measure the same speed performance.<br><br></div><div style=3D"font-si=
ze:small;display:inline" class=3D"gmail_default">Thank you for this precisi=
ons.<br></div><div style=3D"font-size:small;display:inline" class=3D"gmail_=
default"><br>=E2=80=8B<br></div><div><div class=3D"gmail_extra"><div class=
=3D"gmail_quote">2017-05-03 11:00 GMT+03:00 Ben Chalmers <span dir=3D"ltr">=
&lt;<a href=3D"mailto:ben.chalmers@citrix.com" target=3D"_blank">ben.chalme=
rs@citrix.com</a>&gt;</span>:<br><blockquote class=3D"gmail_quote" style=3D=
"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div>


<div class=3D"m_-9088007786449315389WordSection1">
<p class=3D"MsoNormal">=E2=80=98Suitable environment=E2=80=99 here means yo=
u have a network/nic/cpu capable of coping with &gt;1GB speed</p>
<p class=3D"MsoNormal">=C2=A0</p>
<p class=3D"MsoNormal">The speed reported by the PV drivers is entirely arb=
itrary and unrelated to the performance you will get =E2=80=93 and you can =
measure the actual performance you get with a tool such as netperf.</p>
<p class=3D"MsoNormal">=C2=A0</p>
<p class=3D"MsoNormal">Ben Chalmers</p>
<p class=3D"MsoNormal">=C2=A0</p>
<p class=3D"MsoNormal">Sent from <a href=3D"https://go.microsoft.com/fwlink=
/?LinkId=3D550986" target=3D"_blank">
Mail</a> for Windows 10</p>
<p class=3D"MsoNormal">=C2=A0</p>
<div style=3D"border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal" style=3D"border:none;padding:0cm"><b>From: </b><a hr=
ef=3D"mailto:alexis.pellicier@nds.k12.tr" target=3D"_blank">Alexis Pellicie=
r</a><br>
<b>Sent: </b>03 May 2017 07:45<br>
<b>To: </b><a href=3D"mailto:owen.smith@citrix.com" target=3D"_blank">Owen =
Smith</a><br>
<b>Cc: </b><a href=3D"mailto:win-pv-devel@lists.xenproject.org" target=3D"_=
blank">win-pv-devel@lists.xenproject.<wbr>org</a><br>
<b>Subject: </b>Re: [win-pv-devel] Network card speed</p>
</div>
<p class=3D"MsoNormal">=C2=A0</p>
</div><div><div class=3D"h5">
<div>
<div dir=3D"ltr">
<div style=3D"font-size:small">Sorry for the late following.<br>
<br>
</div>
<div style=3D"font-size:small">What do you mean by &quot;suitable environme=
nt&quot; ?
<br>
</div>
<div style=3D"font-size:small">The only thing I did is switching from gplpv=
 to winpv. The hardware environment didn&#39;t change.<br>
</div>
</div>
<div class=3D"gmail_extra"><br>
<div class=3D"gmail_quote">2017-04-13 13:51 GMT+03:00 Owen Smith <span dir=
=3D"ltr">&lt;<a href=3D"mailto:owen.smith@citrix.com" target=3D"_blank">owe=
n.smith@citrix.com</a>&gt;</span>:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
<div>
<div class=3D"m_-9088007786449315389m_6864135532764291177WordSection1">
<p class=3D"MsoNormal">The reported speed is a constant that the GPLPV driv=
ers define at 10GBit/s, and the WinPV 8.2 use 1GBit/s.</p>
<p class=3D"MsoNormal">Actual speeds should not be limited by this value (I=
.e. you will be able to get &gt; 1GBit/s with WinPV 8.2 with a suitable env=
ironment).</p>
<p class=3D"MsoNormal">=C2=A0</p>
<p class=3D"MsoNormal">Owen</p>
<p class=3D"MsoNormal">=C2=A0</p>
<div style=3D"border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal" style=3D"border:none;padding:0cm"><b>From: </b><a hr=
ef=3D"mailto:alexis.pellicier@nds.k12.tr" target=3D"_blank">Alexis Pellicie=
r</a><br>
<b>Sent: </b>13 April 2017 09:09<br>
<b>To: </b><a href=3D"mailto:win-pv-devel@lists.xenproject.org" target=3D"_=
blank">win-pv-devel@lists.xenproject.<wbr>org</a><br>
<b>Subject: </b>[win-pv-devel] Network card speed</p>
</div>
<p class=3D"MsoNormal">=C2=A0</p>
</div>
<div>
<div class=3D"m_-9088007786449315389h5">
<div>
<div dir=3D"ltr">
<div style=3D"font-size:small">Hello,<br>
<br>
</div>
<div style=3D"font-size:small">Just a quick question on the network card dr=
ivers in win-pv 8.2<br>
<br>
</div>
<div style=3D"font-size:small">With gplpv my HVMs=C2=A0 connect to network =
at 10Gbits/s<br>
With win-pv 8.2 it&#39;s only 1Gbits/s. <br>
<br>
</div>
<div style=3D"font-size:small">Is this normal behavior or did I miss someth=
ing somewhere?<br>
<br>
</div>
<div style=3D"font-size:small">Thank for your work.<br>
</div>
<div style=3D"font-size:small"><br>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div></div></div>

</blockquote></div><br></div></div></div>

--f403045cf790d32e16054e9b0f4f--


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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

--===============3676322280083025631==--


From win-pv-devel-bounces@lists.xenproject.org Wed May 03 11:01:51 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 03 May 2017 11:01:51 +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 1d5s2Y-0008OA-Az; Wed, 03 May 2017 11:01:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=289a1955a=owen.smith@citrix.com>)
 id 1d5s2W-0008Nw-Of
 for win-pv-devel@lists.xenproject.org; Wed, 03 May 2017 11:01:48 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
 33/66-02183-B98B9095; Wed, 03 May 2017 11:01:47 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupgleJIrShJLcpLzFFi42LZKekooTtrB2e
 kwYrrphZ/Fic6MHoc/nCFJYAxijUzLym/IoE148fxlewFtwwq/k+cyN7AuEO7i5GDQ0IgSOLA
 OtsuRk4ONgENiRmdi1lAbBEBI4lt9xpYQWxmAW+JqycPMoLYwgJ6Ek3tt5khavQl5j5ZyARhO
 0lMvzCDHcRmEVCRuDZlG1gvr4C7xMuDP4FmcnEICVxilFh4cCVYEadAoET/xxdggxgFZCW+NK
 5mhlgmLtH0ZSVYs4SAgMSSPeeZIWxRiZeP/0HFDSS2Lt3HAlGfK9F37CgTxDJBiZMzn7BMYBS
 ahWTULCRls5CUQcQNJN6fm88MYWtLLFv4GsrWl9j45SwjsvgCRvZVjBrFqUVlqUW6RiZ6SUWZ
 6RkluYmZObqGBsZ6uanFxYnpqTmJScV6yfm5mxiBsVLPwMC4g/HVcb9DjJIcTEqivOqv2COF+
 JLyUyozEosz4otKc1KLDzHKcHAoSfBWbueMFBIsSk1PrUjLzAFGLUxagoNHSYR3Mkiat7ggMb
 c4Mx0idYpRl+Pd0g/vmYRY8vLzUqXEeb1BigRAijJK8+BGwBLIJUZZKWFeRgYGBiGegtSi3Mw
 SVPlXjOIcjErCvKUgU3gy80rgNr0COoIJ6IhmWQ6QI0oSEVJSDYzuncvPx042erp1V87Wb1cW
 8ug2HejckuLuM128+YLXjK/LJqT+041qVD7/OHiv7l8BbTX+1t3yMzeWLHJ9uqtbeuequNlB9
 nlrEr5euL126VPrLyzLTMLaNNak1ly+Y82m7vbqufPafKMp+h8yDktM3eX48ebZq/6rQ3y6Lj
 h7RLrfTEw+ay2jxFKckWioxVxUnAgAHNSibBsDAAA=
X-Env-Sender: prvs=289a1955a=owen.smith@citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1493809306!59976541!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.3 required=7.0 tests=HTML_60_70,HTML_MESSAGE,
 received_headers: No Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20031 invoked from network); 3 May 2017 11:01:46 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
 by server-6.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
 3 May 2017 11:01:46 -0000
X-IronPort-AV: E=Sophos;i="5.38,283,1491264000"; d="scan'208,217";a="45338072"
From: Owen Smith <owen.smith@citrix.com>
To: Alexis Pellicier <alexis.pellicier@nds.k12.tr>
Thread-Topic: [win-pv-devel] Network card speed
Thread-Index: AQHStC1Ip6h6b1nsxU6vftQbF+Z7Z6HDH5kMgB8H/wCAAGlclA==
Date: Wed, 3 May 2017 11:01:45 +0000
Message-ID: <087e366ae7d04413893ed35a526acbca@AMSPEX02CL02.citrite.net>
References: <CACfWNiZa79gKMH8Qxq_mBRdkWE3Eevc_xFJEiG5CA4COnAqmcA@mail.gmail.com>
 <8ba6f47a24b94456bbd8c205d4f68edf@AMSPEX02CL02.citrite.net>,
 <CACfWNiZAK2_8SyvJciTBRtpNXeOfnx1_Qc2FydT0BJJU9YCpaw@mail.gmail.com>
In-Reply-To: <CACfWNiZAK2_8SyvJciTBRtpNXeOfnx1_Qc2FydT0BJJU9YCpaw@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
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] Network card speed
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/cgi-bin/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/cgi-bin/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3938295382525208090=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

--===============3938295382525208090==
Content-Language: en-GB
Content-Type: multipart/alternative;
	boundary="_000_087e366ae7d04413893ed35a526acbcaAMSPEX02CL02citritenet_"

--_000_087e366ae7d04413893ed35a526acbcaAMSPEX02CL02citritenet_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

If your hardware/environment can handle > 1GBit/s, then your throughput sho=
uld be capable of reaching > 1GBit/s
I=92ve not tried the gplpv myself, but it should be possible to get similar=
 (or better) speeds with winpv. Winpv reports a 1GBit link, but will use al=
l the available capacity.

Owen

From: Alexis Pellicier<mailto:alexis.pellicier@nds.k12.tr>
Sent: 03 May 2017 07:45
To: Owen Smith<mailto:owen.smith@citrix.com>
Cc: win-pv-devel@lists.xenproject.org<mailto:win-pv-devel@lists.xenproject.=
org>
Subject: Re: [win-pv-devel] Network card speed

Sorry for the late following.

What do you mean by "suitable environment" ?
The only thing I did is switching from gplpv to winpv. The hardware environ=
ment didn't change.

2017-04-13 13:51 GMT+03:00 Owen Smith <owen.smith@citrix.com<mailto:owen.sm=
ith@citrix.com>>:
The reported speed is a constant that the GPLPV drivers define at 10GBit/s,=
 and the WinPV 8.2 use 1GBit/s.
Actual speeds should not be limited by this value (I.e. you will be able to=
 get > 1GBit/s with WinPV 8.2 with a suitable environment).

Owen

From: Alexis Pellicier<mailto:alexis.pellicier@nds.k12.tr>
Sent: 13 April 2017 09:09
To: win-pv-devel@lists.xenproject.org<mailto:win-pv-devel@lists.xenproject.=
org>
Subject: [win-pv-devel] Network card speed

Hello,

Just a quick question on the network card drivers in win-pv 8.2

With gplpv my HVMs  connect to network at 10Gbits/s
With win-pv 8.2 it's only 1Gbits/s.

Is this normal behavior or did I miss something somewhere?

Thank for your work.




--_000_087e366ae7d04413893ed35a526acbcaAMSPEX02CL02citritenet_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DWindows-1=
252">
<meta content=3D"text/html; charset=3Dutf-8">
</head>
<body>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style>
<!--
@font-face
	{font-family:"Cambria Math"}
@font-face
	{font-family:Calibri}
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline}
a:visited, span.MsoHyperlinkFollowed
	{color:#954F72;
	text-decoration:underline}
.MsoChpDefault
	{}
@page WordSection1
	{margin:72.0pt 72.0pt 72.0pt 72.0pt}
div.WordSection1
	{}
-->
</style>
<div class=3D"WordSection1">
<p class=3D"MsoNormal">If your hardware/environment can handle &gt; 1GBit/s=
, then your throughput should be capable of reaching &gt; 1GBit/s</p>
<p class=3D"MsoNormal">I=92ve not tried the gplpv myself, but it should be =
possible to get similar (or better) speeds with winpv. Winpv reports a 1GBi=
t link, but will use all the available capacity.</p>
<p class=3D"MsoNormal">&nbsp;</p>
<p class=3D"MsoNormal">Owen</p>
<p class=3D"MsoNormal">&nbsp;</p>
<div style=3D"border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0c=
m 0cm 0cm">
<p class=3D"MsoNormal" style=3D"border:none; padding:0cm"><b>From: </b><a h=
ref=3D"mailto:alexis.pellicier@nds.k12.tr">Alexis Pellicier</a><br>
<b>Sent: </b>03 May 2017 07:45<br>
<b>To: </b><a href=3D"mailto:owen.smith@citrix.com">Owen Smith</a><br>
<b>Cc: </b><a href=3D"mailto:win-pv-devel@lists.xenproject.org">win-pv-deve=
l@lists.xenproject.org</a><br>
<b>Subject: </b>Re: [win-pv-devel] Network card speed</p>
</div>
<p class=3D"MsoNormal">&nbsp;</p>
</div>
<div>
<div dir=3D"ltr">
<div class=3D"gmail_default" style=3D"font-size:small">Sorry for the late f=
ollowing.<br>
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small">What do you mean by =
&quot;suitable environment&quot; ?
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small">The only thing I did=
 is switching from gplpv to winpv. The hardware environment didn't change.<=
br>
</div>
</div>
<div class=3D"gmail_extra"><br>
<div class=3D"gmail_quote">2017-04-13 13:51 GMT&#43;03:00 Owen Smith <span =
dir=3D"ltr">&lt;<a href=3D"mailto:owen.smith@citrix.com" target=3D"_blank">=
owen.smith@citrix.com</a>&gt;</span>:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex; border-left:1=
px #ccc solid; padding-left:1ex">
<div>
<div class=3D"m_6864135532764291177WordSection1">
<p class=3D"MsoNormal">The reported speed is a constant that the GPLPV driv=
ers define at 10GBit/s, and the WinPV 8.2 use 1GBit/s.</p>
<p class=3D"MsoNormal">Actual speeds should not be limited by this value (I=
.e. you will be able to get &gt; 1GBit/s with WinPV 8.2 with a suitable env=
ironment).</p>
<p class=3D"MsoNormal">&nbsp;</p>
<p class=3D"MsoNormal">Owen</p>
<p class=3D"MsoNormal">&nbsp;</p>
<div style=3D"border:none; border-top:solid #e1e1e1 1.0pt; padding:3.0pt 0c=
m 0cm 0cm">
<p class=3D"MsoNormal" style=3D"border:none; padding:0cm"><b>From: </b><a h=
ref=3D"mailto:alexis.pellicier@nds.k12.tr" target=3D"_blank">Alexis Pellici=
er</a><br>
<b>Sent: </b>13 April 2017 09:09<br>
<b>To: </b><a href=3D"mailto:win-pv-devel@lists.xenproject.org" target=3D"_=
blank">win-pv-devel@lists.xenproject.<wbr>org</a><br>
<b>Subject: </b>[win-pv-devel] Network card speed</p>
</div>
<p class=3D"MsoNormal">&nbsp;</p>
</div>
<div>
<div class=3D"h5">
<div>
<div dir=3D"ltr">
<div class=3D"gmail_default" style=3D"font-size:small">Hello,<br>
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small">Just a quick questio=
n on the network card drivers in win-pv 8.2<br>
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small">With gplpv my HVMs&n=
bsp; connect to network at 10Gbits/s<br>
With win-pv 8.2 it's only 1Gbits/s. <br>
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small">Is this normal behav=
ior or did I miss something somewhere?<br>
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small">Thank for your work.=
<br>
</div>
<div class=3D"gmail_default" style=3D"font-size:small"><br>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</body>
</html>

--_000_087e366ae7d04413893ed35a526acbcaAMSPEX02CL02citritenet_--


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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

--===============3938295382525208090==--


From win-pv-devel-bounces@lists.xenproject.org Fri May 05 15:58:30 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 05 May 2017 15:58: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 1d6fci-0000ux-Ra; Fri, 05 May 2017 15:58:28 +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 1d6fch-0000uJ-M6
 for win-pv-devel@lists.xenproject.org; Fri, 05 May 2017 15:58:27 +0000
Date: Fri, 5 May 2017 15:58:28 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <13757677.1.1493999909200.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_0_28891323.1493999909121"
X-Jenkins-Job: XENCONS-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENCONS-master - Build #1 - 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/cgi-bin/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/cgi-bin/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_28891323.1493999909121
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #1.

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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_0_28891323.1493999909121--


From win-pv-devel-bounces@lists.xenproject.org Fri May 05 16:00:18 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 05 May 2017 16:00:18 +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 1d6feU-0001yX-0Q; Fri, 05 May 2017 16:00:18 +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 1d6feT-0001yR-Pz
 for win-pv-devel@lists.xenproject.org; Fri, 05 May 2017 16:00:17 +0000
Date: Fri, 5 May 2017 16:00:19 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <12081128.3.1494000019418.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_2_14779436.1494000019418"
X-Jenkins-Job: XENCONS-master
X-Jenkins-Result: FAILURE
Subject: [win-pv-devel] XENCONS-master - Build #2 - Failure
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/cgi-bin/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/cgi-bin/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_14779436.1494000019418
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #2.

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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_2_14779436.1494000019418--


From win-pv-devel-bounces@lists.xenproject.org Fri May 05 16:33:39 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 05 May 2017 16:33: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 1d6gAl-0004zP-89; Fri, 05 May 2017 16:33:39 +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 1d6gAj-0004zA-Sn
 for win-pv-devel@lists.xenproject.org; Fri, 05 May 2017 16:33:37 +0000
Date: Fri, 5 May 2017 16:33:39 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <28486122.5.1494002019451.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
In-Reply-To: <12081128.3.1494000019418.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
References: <12081128.3.1494000019418.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_4_29032158.1494002019451"
X-Jenkins-Job: XENCONS-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENCONS-master - Build #3 - Fixed
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/cgi-bin/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/cgi-bin/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_29032158.1494002019451
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #3.

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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_4_29032158.1494002019451--


From win-pv-devel-bounces@lists.xenproject.org Fri May 05 16:52:06 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 05 May 2017 16:52: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 1d6gSb-000716-U5; Fri, 05 May 2017 16:52: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 1d6gSa-00070r-Ns
 for win-pv-devel@lists.xenproject.org; Fri, 05 May 2017 16:52:04 +0000
Date: Fri, 5 May 2017 16:52:06 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <5996226.7.1494003126279.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_6_8906545.1494003126264"
X-Jenkins-Job: XENBUS-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENBUS-master - Build #139 - 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/cgi-bin/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/cgi-bin/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_8906545.1494003126264
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #139.

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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_6_8906545.1494003126264--


From win-pv-devel-bounces@lists.xenproject.org Mon May 08 09:32:46 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 08 May 2017 09:32: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 1d7f23-00068q-RV; Mon, 08 May 2017 09:32:43 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <lars.kurth.xen@gmail.com>)
 id 1d7f22-00068X-89; Mon, 08 May 2017 09:32:42 +0000
Received: from [85.158.137.68] by server-11.bemta-3.messagelabs.com id
 5C/F9-01744-83B30195; Mon, 08 May 2017 09:32:40 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmphleJIrShJLcpLzFFi42Lxqg1y0TWzFog
 0eHHYyGJlz0Vmi97WuywWfxYnWnzfMpnJ4t2+v8wOrB6HP1xhCWCMYs3MS8qvSGDNuNIyj7lg
 xm7mitNbXrI0ME7vZe5i5OQQEiiUuPfwBGsXIxcHi8B9Foktc5YwgzgSAr9ZJBY8fc0EUiUhE
 Cex6ekFKLtS4tvq0+wQ3eoS9xbdZgdpEBJYwSQx7eJqsCI2AW2JTTcegK1gFkiQ6JlymRXE5h
 WwkXi4qYcJwtaTeHULIs4ioCJx7s1KRhBbWMBU4mpjOxPIUGaBjUwSW3f3gt0nIvCNUeLgrqN
 sEGfISuz+/YhpAqPALCRLZiEZDBHXlli28DXzLEYOIFtDYuvlZFRhEFtd4uraq6wLGNlWMWoU
 pxaVpRbpGlroJRVlpmeU5CZm5ugaGhjr5aYWFyemp+YkJhXrJefnbmIExkU9AwPjDsbfpz0PM
 UpyMCmJ8kYxCEQK8SXlp1RmJBZnxBeV5qQWH2KU4eBQkuANtwLKCRalpqdWpGXmACMUJi3Bwa
 MkwnvLEijNW1yQmFucmQ6ROsVozPFu6Yf3TByPVv54zyTEkpeflyolzisPMkkApDSjNA9uECx
 xXGKUlRLmZWRgYBDiKUgtys0sQZV/xSjOwagkzBsGMoUnM68Ebt8roFOYgE4JZAA7pSQRISXV
 wDj71SHz/MT42EXhdiVsFzZeafx118Kh0+Xt8Wf9DAZ8dd2sj5lbH74SbpVlNX2u5rjZ9WmBQ
 m7qpffn7JXKuzN+CR3ikZ4ddbx48xbNvWuVTnvvrG20kAgpKBLxff9FZ4bAxulqL/dyvS9xnS
 EgdKry+ZyYYFunE0c2Sjqt9+cvY89epbzTX4mlOCPRUIu5qDgRAJooAqwXAwAA
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-15.tower-31.messagelabs.com!1494235958!95191200!1
X-Originating-IP: [74.125.82.68]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG, HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 37344 invoked from network); 8 May 2017 09:32:38 -0000
Received: from mail-wm0-f68.google.com (HELO mail-wm0-f68.google.com)
 (74.125.82.68)
 by server-15.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 8 May 2017 09:32:38 -0000
Received: by mail-wm0-f68.google.com with SMTP id v4so9263798wmb.2;
 Mon, 08 May 2017 02:32:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:message-id:mime-version:date:subject:cc:to;
 bh=HwBaBbK/QpjrDyEWnPoug9t+BlIZv5HN7zoNCmds2K8=;
 b=WJcnY0NFoRj9+xXZyDV9QoDbvRS73rz9ZpqvD5eM9RnvHsBntZ0WEi2fnWA2ReKAuf
 m3plC/UkpBGjIYvKi8Re/n2fUnYV115vPovMp0mCR1qVo3TRn8gjx3/wz/C8JIFcVrAA
 HRWGOjuXdR3G/LGOmAacIDQTIxgusOeqBP0xO6DUP/G62KYOgknbnIl6sojEzGdu/nAW
 cQ5khYyn0cmJPdjtt8ZTjikTppGTHCJ2JWRT5E9DtaF5DmOEVSTORjH6jObnorzmzHyM
 40LOhtmkJVwHBJDGG6CJnq+KyyMTi9ZSjn6hs1nlfnWFtFffLJ7JFykREu8MNP6AGxct
 GGrg==
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:date:subject:cc:to;
 bh=HwBaBbK/QpjrDyEWnPoug9t+BlIZv5HN7zoNCmds2K8=;
 b=TFx+RKJ9oCKf8VFGOoH/W05kZhT8I8BcBor4XXEgl1kiGYe1RuM7TBwmcVZDHnf8gv
 za5hDJp59u0RVbuicZ8hRlGV9iv5Q/tQR4wlT3/3/w6BnUTY9xWcL6AaYcPqenlxUIEJ
 WB9GSVoudiGUtR2Gk4gJO8L7mQu/mmj8TwjgUL7/uGx5PzwTtlqsSmTVNoJHquB+xtNf
 0cqpw68FLNqsSifpJy9/vWA8Awgf/WNyAO14eTSQCcIctetNVFsCkzHiHjz1CqkJjL4S
 HRB+Ebna/cXbOJo2IoeAdjRax16oafkpxfn8IukfDZ+FUy3yXr2tY0f/IKkWyq3rXJqH
 K94Q==
X-Gm-Message-State: AN3rC/55pc2zjck7eY2WrF2posfvBNEaikrt1cuCnATnk1M9/MHPeFVj
 Axrl70qssxcj/Q==
X-Received: by 10.28.12.211 with SMTP id 202mr12020677wmm.32.1494235957687;
 Mon, 08 May 2017 02:32:37 -0700 (PDT)
Received: from ?IPv6:2a02:c7f:ac18:da00:8c55:526b:4416:d29f?
 ([2a02:c7f:ac18:da00:8c55:526b:4416:d29f])
 by smtp.gmail.com with ESMTPSA id y63sm15901694wme.31.2017.05.08.02.32.36
 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
 Mon, 08 May 2017 02:32:36 -0700 (PDT)
From: Lars Kurth <lars.kurth.xen@gmail.com>
Message-Id: <90DD5747-E161-4792-B890-1973EB7ED568@gmail.com>
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
Date: Mon, 8 May 2017 10:32:35 +0100
To: xen-devel <xen-devel@lists.xenproject.org>, xen-users@lists.xenproject.org,
 mirageos-devel <mirageos-devel@lists.xenproject.org>,
 win-pv-devel <Win-pv-devel@lists.xenproject.org>,
 embedded-pv-devel <embedded-pv-devel@lists.xenproject.org>
X-Mailer: Apple Mail (2.2104)
Cc: Wei Liu <wei.liu2@citrix.com>, Daniel Kiper <daniel.kiper@oracle.com>,
 cardoe <cardoe@cardoe.com>, George Dunlap <george.dunlap@citrix.com>,
 pdurrant@gmail.com, Rich Persaud <persaur@gmail.com>,
 anastassios.nanos@onapp.com, joao.m.martins@oracle.com,
 Dario Faggioli <dario.faggioli@citrix.com>
Subject: [win-pv-devel] Xen Project Developer Summit Design Sessions
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/cgi-bin/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/cgi-bin/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4027697307153015813=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>


--===============4027697307153015813==
Content-Type: multipart/alternative; boundary="Apple-Mail=_A5BB4A92-989F-4D10-A4E1-4FCC96A1EDF9"


--Apple-Mail=_A5BB4A92-989F-4D10-A4E1-4FCC96A1EDF9
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Dear community members (I CC'ed people who submitted design sessions so =
far)

I got a few questions regarding "acceptance" and scheduling of Design =
Sessions for the Developer and Design Summit. As you may recall, the =
Developer and Design Summit mixes the formats of past Summits and =
Hackathons. The afternoons are reserved for Design sessions, which will =
follow the format of Hackathons.

Thus, in the tradition of the Xen Project Hackathons, we will not run =
Design Sessions through the Program Management Committee, as long as we =
have enough space to host sessions. The submission system is still open =
for Design Sessions at =
http://events.linuxfoundation.org/events/xen-developer-and-design-summit/p=
rogram/cfp =
<http://events.linuxfoundation.org/events/xen-developer-and-design-summit/=
program/cfp> (although the website says otherwise, which I will get =
fixed) and sessions can be submitted until Friday 7th of July. Sessions =
can still be proposed on the day of the event (using A5 post-it-notes) =
as in the past.=20

Whenever new sessions come in, I will once a week put them live the =
afternoon Design Sessions on the summit schedule, using the following =
criteria
Schedule sessions on a day which has similar topics to the ones already =
proposed (makes the live scheduling sessions at the event easier)
Schedule sessions on (or after) a day where related talks take place =
(creates more valuable discussions)
Schedule such that people which have multiple sessions get some =
breathing space (aka avoid that everyone has all their sessions on one =
day)

Note that we will have room rooms with a projector, others won't.=20
If you submit design sessions and you need a projector, please add this =
under "List any technical requirements that you have for your =
presentation over and above the standard projector, screen and wireless =
internet"=20
If you need to have your session on a specific day due to travel =
constraints, please add this under "List any technical requirements..."
The purpose of publishing design sessions as they come in is twofold:=20
let you know what others are planning to do (avoids duplicate sessions)
marketing (attracts attendees)
You can propose new design sessions every day of the event, but we =
prefer if you proposed them using the submission system.=20

As in the past at Hackathons we will try and balance the schedule and =
merge related sessions as a group in a 30 minute scheduling session.  I =
am also happy getting feedback from community members on this thread: to =
facilitate this, I will post schedule updates every other week or so.=20

As we have Linux Foundation staff on hand, we should also be able to =
update the on-line schedule immediately afterwards. But we will also =
have a paper schedule (using post-it notes), as it is easier to manage =
the scheduling session.

I attached the schedule for Design sessions as we will publish by the =
end of this week

Legend	Additional Notes
AV, Projector, Podium, Recording=09
AV, Projector, Podium, NO Recording	SCHEDULING sessions
AV, Projector, Podium, Recording if we can afford it	If not, we may =
have to drop or maybe find a vendor to do a special sponsorship
Projector only, Flipchart or whiteboard=09
Flipchart or whiteboard, NO AV=09

Time / Duration	July 11
14:00 - 14:30	ANNOUNCEMENT OF NEW DESIGN SESSIONS, SCHEDULING OF =
DESIGN SESSIONS
Tas	Huba/Tohotom	Dery/Jokai	Krudy/Arany	Mikszath/Petrofi	=
Valletta II
14:30 - 15:15	45 min Design	45 min Design	45 min Design	EFI =
secure boot + shim + GRUB2 + Xen - how to make it work - Daniel Kiper - =
Oracle	45 min Design	Contributing to Xen: An Introduction - George =
Dunlap - Citrix
15:20 - 16:05	45 min Design	45 min Design	45 min Design	EFI + =
Intel TXT and TPM + Xen/Linux - how to make it work - Daniel Kiper - =
Oracle	PV-IOMMU - Paul Durrant - Citrix	45 min Design
16:05 - 16:35	BREAK - Foyer
16:35 - 17:35	60 min Design	60 min Design	60 min Design	60 min =
Design	Graphics Virtualization - Rich Persaud - BAE Systems	60 min =
Design

Time / Duration	July 12
14:00 - 14:30	ANNOUNCEMENT OF NEW DESIGN SESSIONS, SCHEDULING OF =
DESIGN SESSIONS
Tas	Huba/Tohotom	Dery/Jokai	Krudy/Arany	Mikszath/Petrofi	=
Valletta II
14:30 - 15:15	45 min Design	45 min Design	45 min Design	45 min =
Design	Improvements to Continuous Integration Workflow - Doug Goldstein =
- Star Lab	45 min Design
15:20 - 16:05	45 min Design	45 min Design	45 min Design	45 min =
Design	Default Tests and Configuration of Server and Edge Hypervisors - =
Rich Persaud - BAE Systems	45 min Design
16:05 - 16:35	BREAK - Foyer
16:35 - 17:35	60 min Design	60 min Design	60 min Design	60 min =
Design	Unikernel support for NFV-like applications on Xen ARM 64bit - =
Anastassios Nanos - OnApp	Zerocopy on Xen PV drivers - Jo=C3=A3o =
Martins - Oracle

Time / Duration	July 13
14:00 - 14:30	ANNOUNCEMENT OF NEW DESIGN SESSIONS, SCHEDULING OF =
DESIGN SESSIONS
Tas	Huba/Tohotom	Dery/Jokai	Krudy/Arany	Mikszath/Petrofi	=
Valletta II
14:30 - 15:15	45 min Design	45 min Design	45 min Design	45 min =
Design	Credit2 Scheduler: Are We There Yet? - Dario Faggioli - Citrix	=
Fuzzing Xen hypervisor - Wei Liu - Citrix
15:20 - 16:05	45 min Design	45 min Design	45 min Design	45 min =
Design	45 min Design	Versioning: A.B.C - Doug Goldstein - Star Lab
16:05 - 16:35	BREAK - Foyer
16:35 - 17:35	60 min Design	60 min Design	60 min Design	60 min =
Design	60 min Design	The Future of Xen Toolstacks for Server and Edge =
Use Cases - Rich Persaud - BAE Systems

Best Regards
Lars=

--Apple-Mail=_A5BB4A92-989F-4D10-A4E1-4FCC96A1EDF9
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; -webkit-line-break: after-white-space;" =
class=3D""><div class=3D"">Dear community members (I CC'ed people who =
submitted design sessions so far)</div><div class=3D""><br =
class=3D""></div><div class=3D"">I got a few questions regarding =
"acceptance" and scheduling of Design Sessions for the Developer and =
Design Summit. As you may recall, the Developer and Design Summit mixes =
the formats of past Summits and Hackathons. The afternoons are reserved =
for Design sessions, which will follow the format of =
Hackathons.</div><div class=3D""><br class=3D""></div><div =
class=3D"">Thus, in the tradition of the Xen Project Hackathons, we will =
not run Design Sessions through the Program Management Committee, as =
long as we have enough space to host sessions. The submission system is =
still open for Design Sessions at&nbsp;<a =
href=3D"http://events.linuxfoundation.org/events/xen-developer-and-design-=
summit/program/cfp" =
class=3D"">http://events.linuxfoundation.org/events/xen-developer-and-desi=
gn-summit/program/cfp</a>&nbsp;(although the website says otherwise, =
which I will get fixed) and sessions can be submitted until Friday 7th =
of July. Sessions can still be proposed on the day of the event (using =
A5 post-it-notes) as in the past.&nbsp;</div><div class=3D""><br =
class=3D""></div><div class=3D"">Whenever new sessions come in, I will =
once a week put them live the afternoon Design Sessions on the summit =
schedule, using the following criteria</div><div class=3D""><ul =
class=3D""><li class=3D"">Schedule sessions <b class=3D"">on a day which =
has similar topics</b> to the ones already proposed (makes the live =
scheduling sessions at the event easier)</li><li class=3D"">Schedule =
sessions&nbsp;<b class=3D"">on&nbsp;(or after)</b> a day where related =
talks take place (creates more valuable discussions)</li><li =
class=3D"">Schedule such that people which have multiple sessions get =
some breathing space (aka avoid that everyone has all their sessions on =
one day)</li></ul></div><div class=3D""><br class=3D""></div><div =
class=3D"">Note that we will have room rooms with a projector, others =
won't.&nbsp;</div><div class=3D""><ul class=3D""><li class=3D"">If you =
submit design sessions and you need a projector, please add this under =
"<b class=3D"">List any technical requirements</b> that you have for =
your presentation over and above the standard projector, screen and =
wireless internet"&nbsp;</li><li class=3D"">If you need to have your =
session on a specific day due to travel constraints, please add this =
under "<b class=3D"">List any technical =
requirements</b>..."</li></ul></div><div class=3D"">The purpose of =
publishing design sessions as they come in is twofold:&nbsp;</div><div =
class=3D""><ul class=3D""><li class=3D"">let you know what others are =
planning to do (avoids duplicate sessions)</li><li class=3D"">marketing =
(attracts attendees)</li></ul></div><div class=3D"">You can propose =
new&nbsp;<b class=3D"">design sessions every day of the event</b>, but =
we prefer if you proposed them using the submission =
system.&nbsp;</div><div class=3D""><br class=3D""></div><div class=3D"">As=
 in the past at Hackathons we will try and <b class=3D"">balance the =
schedule and merge related sessions as a group in a 30 minute scheduling =
session</b>. &nbsp;I am also happy getting feedback from community =
members on this thread: to facilitate this, I will post schedule updates =
every other week or so.&nbsp;</div><div class=3D""><br =
class=3D""></div><div class=3D"">As we have Linux Foundation staff on =
hand, we should also be able to update the on-line schedule immediately =
afterwards. But we will also have a paper schedule (using post-it =
notes), as it is easier to manage the scheduling session.</div><div =
class=3D""><br class=3D""></div><div class=3D"">I attached the schedule =
for Design sessions as we will publish by the end of this week</div><div =
class=3D""><br class=3D""></div><div class=3D""><table cellspacing=3D"0" =
cellpadding=3D"0" dir=3D"ltr" border=3D"1" =
style=3D"table-layout:fixed;font-size:13px;font-family:arial,sans,sans-ser=
if;border-collapse:collapse;border:none" class=3D""><colgroup =
class=3D""><col width=3D"284" class=3D""><col width=3D"299" =
class=3D""></colgroup><tbody class=3D""><tr style=3D"height:21px;" =
class=3D""><td style=3D"padding: 2px 3px; font-family: Calibri; =
font-size: 80%; font-weight: bold; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Legend&quot;}" =
class=3D"">Legend</td><td style=3D"padding: 2px 3px; font-family: =
Calibri; font-size: 80%; font-weight: bold; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Additional =
Notes&quot;}" class=3D"">Additional Notes</td></tr><tr =
style=3D"height:21px;" class=3D""><td style=3D"padding: 2px 3px; =
background-color: rgb(235, 241, 222); font-family: Calibri; font-size: =
80%; word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;AV, Projector, =
Podium, Recording&quot;}" class=3D"">AV, Projector, Podium, =
Recording</td><td style=3D"padding:2px 3px 2px =
3px;vertical-align:bottom;background-color:#ebf1de;font-size:80%;" =
class=3D""></td></tr><tr style=3D"height:21px;" class=3D""><td =
style=3D"padding: 2px 3px; background-color: rgb(228, 223, 236); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;AV, Projector, =
Podium, NO Recording&quot;}" class=3D"">AV, Projector, Podium, NO =
Recording</td><td style=3D"padding: 2px 3px; background-color: rgb(228, =
223, 236); font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;SCHEDULING =
sessions&quot;}" class=3D"">SCHEDULING sessions</td></tr><tr =
style=3D"height:21px;" class=3D""><td style=3D"padding: 2px 3px; =
background-color: rgb(196, 215, 155); font-family: Calibri; font-size: =
80%; word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;AV, Projector, =
Podium, Recording if we can afford it&quot;}" class=3D"">AV, Projector, =
Podium, Recording if we can afford it</td><td style=3D"padding: 2px 3px; =
background-color: rgb(196, 215, 155); font-family: Calibri; font-size: =
80%; word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;If not, we may =
have to drop or maybe find a vendor to do a special sponsorship&quot;}" =
class=3D"">If not, we may have to drop or maybe find a vendor to do a =
special sponsorship</td></tr><tr style=3D"height:21px;" class=3D""><td =
style=3D"padding: 2px 3px; background-color: rgb(253, 233, 217); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Projector =
only, Flipchart or whiteboard&quot;}" class=3D"">Projector only, =
Flipchart or whiteboard</td><td style=3D"padding:2px 3px 2px =
3px;vertical-align:bottom;background-color:#fde9d9;font-size:80%;" =
class=3D""></td></tr><tr style=3D"height:21px;" class=3D""><td =
style=3D"padding: 2px 3px; background-color: rgb(242, 220, 219); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Flipchart or =
whiteboard, NO AV&quot;}" class=3D"">Flipchart or whiteboard, NO =
AV</td><td style=3D"padding:2px 3px 2px =
3px;vertical-align:bottom;background-color:#f2dcdb;font-size:80%;" =
class=3D""></td></tr></tbody></table><div class=3D""><br =
class=3D""></div></div><div class=3D""><table cellspacing=3D"0" =
cellpadding=3D"0" dir=3D"ltr" border=3D"1" =
style=3D"table-layout:fixed;font-size:13px;font-family:arial,sans,sans-ser=
if;border-collapse:collapse;border:none" class=3D""><colgroup =
class=3D""><col width=3D"84" class=3D""><col width=3D"186" class=3D""><col=
 width=3D"100" class=3D""><col width=3D"100" class=3D""><col width=3D"100"=
 class=3D""><col width=3D"100" class=3D""><col width=3D"100" =
class=3D""><col width=3D"100" class=3D""><col width=3D"191" =
class=3D""></colgroup><tbody class=3D""><tr style=3D"height:21px;" =
class=3D""><td style=3D"padding: 2px 3px; font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Time / =
Duration&quot;}" class=3D"">Time / Duration</td><td style=3D"padding: =
2px 3px; background-color: rgb(217, 234, 211); border-top-width: 1px; =
border-top-style: solid; border-top-color: rgb(0, 0, 0); =
border-right-width: 1px; border-right-style: solid; border-right-color: =
rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0); font-family: Calibri; font-size: 80%; =
font-weight: bold; word-wrap: break-word; vertical-align: top;" =
rowspan=3D"1" colspan=3D"8" =
data-sheets-value=3D"{&quot;1&quot;:3,&quot;3&quot;:42927}" =
data-sheets-numberformat=3D"[null,5,&quot;mmmm d&quot;,1]" class=3D"">July=
 11</td></tr></tbody></table><div class=3D""><table cellspacing=3D"0" =
cellpadding=3D"0" dir=3D"ltr" border=3D"1" =
style=3D"table-layout:fixed;font-size:13px;font-family:arial,sans,sans-ser=
if;border-collapse:collapse;border:none" class=3D""><colgroup =
class=3D""><col width=3D"84" class=3D""><col width=3D"186" class=3D""><col=
 width=3D"100" class=3D""><col width=3D"100" class=3D""><col width=3D"100"=
 class=3D""><col width=3D"100" class=3D""><col width=3D"100" =
class=3D""><col width=3D"100" class=3D""><col width=3D"191" =
class=3D""></colgroup><tbody class=3D""><tr style=3D"height:21px;" =
class=3D""><td style=3D"padding: 2px 3px; font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;14:00 - =
14:30&quot;}" class=3D"">14:00 - 14:30</td><td style=3D"padding: 2px =
3px; background-color: rgb(228, 223, 236); border-top-width: 1px; =
border-top-style: solid; border-top-color: rgb(0, 0, 0); =
border-right-width: 1px; border-right-style: solid; border-right-color: =
rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0); font-family: Calibri; font-size: 80%; =
word-wrap: break-word; vertical-align: top;" rowspan=3D"1" colspan=3D"8" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;ANNOUNCEMENT =
OF NEW DESIGN SESSIONS, SCHEDULING OF DESIGN SESSIONS&quot;}" =
class=3D"">ANNOUNCEMENT OF NEW DESIGN SESSIONS, SCHEDULING OF DESIGN =
SESSIONS</td></tr><tr style=3D"height:21px;" class=3D""><td =
style=3D"padding:2px 3px 2px =
3px;vertical-align:bottom;background-color:#d9d9d9;font-size:80%;" =
class=3D""></td><td style=3D"padding: 2px 3px; background-color: =
rgb(217, 217, 217); font-family: Calibri; font-size: 80%; word-wrap: =
break-word; vertical-align: top; border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Tas&quot;}" =
class=3D"">Tas</td><td style=3D"padding: 2px 3px; background-color: =
rgb(217, 217, 217); font-family: Calibri; font-size: 80%; word-wrap: =
break-word; vertical-align: top; border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Huba/Tohotom&quo=
t;}" class=3D"">Huba/Tohotom</td><td style=3D"padding: 2px 3px; =
background-color: rgb(217, 217, 217); font-family: Calibri; font-size: =
80%; word-wrap: break-word; vertical-align: top; border-bottom-width: =
1px; border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Dery/Jokai&quot;=
}" class=3D"">Dery/Jokai</td><td style=3D"padding: 2px 3px; =
background-color: rgb(217, 217, 217); font-family: Calibri; font-size: =
80%; word-wrap: break-word; vertical-align: top; border-bottom-width: =
1px; border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Krudy/Arany&quot=
;}" class=3D"">Krudy/Arany</td><td style=3D"padding: 2px 3px; =
background-color: rgb(217, 217, 217); font-family: Calibri; font-size: =
80%; word-wrap: break-word; vertical-align: top; border-bottom-width: =
1px; border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Mikszath/Petrofi=
&quot;}" class=3D"">Mikszath/Petrofi</td><td style=3D"padding: 2px 3px; =
background-color: rgb(217, 217, 217); border-right-width: 1px; =
border-right-style: solid; border-right-color: rgb(0, 0, 0); =
border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0); font-family: Calibri; font-size: 80%; =
word-wrap: break-word; vertical-align: top;" rowspan=3D"1" colspan=3D"3" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Valletta =
II&quot;}" class=3D"">Valletta II</td></tr><tr style=3D"height:21px;" =
class=3D""><td style=3D"padding: 2px 3px; font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;14:30 - =
15:15&quot;}" class=3D"">14:30 - 15:15</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;EFI secure =
boot + shim + GRUB2 + Xen - how to make it work - Daniel  Kiper - =
Oracle&quot;}" class=3D"">EFI secure boot + shim + GRUB2 + Xen - how to =
make it work - Daniel  Kiper - Oracle</td><td style=3D"padding: 2px 3px; =
background-color: rgb(253, 233, 217); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(155, 187, 89); border-right-width: 1px; =
border-right-style: solid; border-right-color: rgb(0, 0, 0); =
border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0); font-family: Calibri; font-size: 80%; =
word-wrap: break-word; vertical-align: top;" rowspan=3D"1" colspan=3D"3" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Contributing =
to Xen: An Introduction - George Dunlap - Citrix &quot;}" =
class=3D"">Contributing to Xen: An Introduction - George Dunlap - Citrix =
</td></tr><tr style=3D"height:21px;" class=3D""><td style=3D"padding: =
2px 3px; font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;15:20 - =
16:05&quot;}" class=3D"">15:20 - 16:05</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top; =
border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;EFI + Intel =
TXT and TPM + Xen/Linux - how to make it work - Daniel Kiper - =
Oracle&quot;}" class=3D"">EFI + Intel TXT and TPM + Xen/Linux - how to =
make it work - Daniel Kiper - Oracle</td><td style=3D"padding: 2px 3px; =
background-color: rgb(253, 233, 217); font-family: Calibri; font-size: =
80%; word-wrap: break-word; vertical-align: top; border-bottom-width: =
1px; border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;PV-IOMMU - =
Paul Durrant  - Citrix&quot;}" class=3D"">PV-IOMMU - Paul Durrant  - =
Citrix</td><td style=3D"padding: 2px 3px; background-color: rgb(253, =
233, 217); border-right-width: 1px; border-right-style: solid; =
border-right-color: rgb(0, 0, 0); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" rowspan=3D"1" colspan=3D"3" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td></tr><tr =
style=3D"height:21px;" class=3D""><td style=3D"padding: 2px 3px; =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;16:05 - =
16:35&quot;}" class=3D"">16:05 - 16:35</td><td style=3D"padding: 2px =
3px; border-right-width: 1px; border-right-style: solid; =
border-right-color: rgb(0, 0, 0); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" rowspan=3D"1" colspan=3D"8" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;BREAK - =
Foyer&quot;}" class=3D"">BREAK - Foyer</td></tr><tr style=3D"height:21px;"=
 class=3D""><td style=3D"padding: 2px 3px; font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;16:35 - =
17:35&quot;}" class=3D"">16:35 - 17:35</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;60 min =
Design&quot;}" class=3D"">60 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;60 min =
Design&quot;}" class=3D"">60 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;60 min =
Design&quot;}" class=3D"">60 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;60 min =
Design&quot;}" class=3D"">60 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(253, 233, 217); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Graphics =
Virtualization - Rich Persaud -  BAE Systems&quot;}" class=3D"">Graphics =
Virtualization - Rich Persaud -  BAE Systems</td><td style=3D"padding: =
2px 3px; background-color: rgb(253, 233, 217); border-right-width: 1px; =
border-right-style: solid; border-right-color: rgb(0, 0, 0); =
border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0); font-family: Calibri; font-size: 80%; =
word-wrap: break-word; vertical-align: top;" rowspan=3D"1" colspan=3D"3" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;60 min =
Design&quot;}" class=3D"">60 min Design</td></tr></tbody></table><div =
class=3D""><br class=3D""></div></div></div><div class=3D""><table =
cellspacing=3D"0" cellpadding=3D"0" dir=3D"ltr" border=3D"1" =
style=3D"table-layout:fixed;font-size:13px;font-family:arial,sans,sans-ser=
if;border-collapse:collapse;border:none" class=3D""><colgroup =
class=3D""><col width=3D"84" class=3D""><col width=3D"186" class=3D""><col=
 width=3D"100" class=3D""><col width=3D"100" class=3D""><col width=3D"100"=
 class=3D""><col width=3D"100" class=3D""><col width=3D"100" =
class=3D""><col width=3D"100" class=3D""><col width=3D"191" =
class=3D""></colgroup><tbody class=3D""><tr style=3D"height:21px;" =
class=3D""><td style=3D"padding: 2px 3px; font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Time / =
Duration&quot;}" class=3D"">Time / Duration</td><td style=3D"padding: =
2px 3px; background-color: rgb(217, 234, 211); border-top-width: 1px; =
border-top-style: solid; border-top-color: rgb(0, 0, 0); =
border-right-width: 1px; border-right-style: solid; border-right-color: =
rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0); font-family: Calibri; font-size: 80%; =
font-weight: bold; word-wrap: break-word; vertical-align: top;" =
rowspan=3D"1" colspan=3D"8" =
data-sheets-value=3D"{&quot;1&quot;:3,&quot;3&quot;:42928}" =
data-sheets-numberformat=3D"[null,5,&quot;mmmm d&quot;,1]" class=3D"">July=
 12</td></tr></tbody></table><div class=3D""><table cellspacing=3D"0" =
cellpadding=3D"0" dir=3D"ltr" border=3D"1" =
style=3D"table-layout:fixed;font-size:13px;font-family:arial,sans,sans-ser=
if;border-collapse:collapse;border:none" class=3D""><colgroup =
class=3D""><col width=3D"84" class=3D""><col width=3D"186" class=3D""><col=
 width=3D"100" class=3D""><col width=3D"100" class=3D""><col width=3D"100"=
 class=3D""><col width=3D"100" class=3D""><col width=3D"100" =
class=3D""><col width=3D"100" class=3D""><col width=3D"191" =
class=3D""></colgroup><tbody class=3D""><tr style=3D"height:21px;" =
class=3D""><td style=3D"padding: 2px 3px; font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;14:00 - =
14:30&quot;}" class=3D"">14:00 - 14:30</td><td style=3D"padding: 2px =
3px; background-color: rgb(228, 223, 236); border-top-width: 1px; =
border-top-style: solid; border-top-color: rgb(0, 0, 0); =
border-right-width: 1px; border-right-style: solid; border-right-color: =
rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0); font-family: Calibri; font-size: 80%; =
word-wrap: break-word; vertical-align: top;" rowspan=3D"1" colspan=3D"8" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;ANNOUNCEMENT =
OF NEW DESIGN SESSIONS, SCHEDULING OF DESIGN SESSIONS&quot;}" =
class=3D"">ANNOUNCEMENT OF NEW DESIGN SESSIONS, SCHEDULING OF DESIGN =
SESSIONS</td></tr><tr style=3D"height:21px;" class=3D""><td =
style=3D"padding:2px 3px 2px =
3px;vertical-align:bottom;background-color:#d9d9d9;font-size:80%;" =
class=3D""></td><td style=3D"padding: 2px 3px; background-color: =
rgb(217, 217, 217); font-family: Calibri; font-size: 80%; word-wrap: =
break-word; vertical-align: top; border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Tas&quot;}" =
class=3D"">Tas</td><td style=3D"padding: 2px 3px; background-color: =
rgb(217, 217, 217); font-family: Calibri; font-size: 80%; word-wrap: =
break-word; vertical-align: top; border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Huba/Tohotom&quo=
t;}" class=3D"">Huba/Tohotom</td><td style=3D"padding: 2px 3px; =
background-color: rgb(217, 217, 217); font-family: Calibri; font-size: =
80%; word-wrap: break-word; vertical-align: top; border-bottom-width: =
1px; border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Dery/Jokai&quot;=
}" class=3D"">Dery/Jokai</td><td style=3D"padding: 2px 3px; =
background-color: rgb(217, 217, 217); font-family: Calibri; font-size: =
80%; word-wrap: break-word; vertical-align: top; border-bottom-width: =
1px; border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Krudy/Arany&quot=
;}" class=3D"">Krudy/Arany</td><td style=3D"padding: 2px 3px; =
background-color: rgb(217, 217, 217); font-family: Calibri; font-size: =
80%; word-wrap: break-word; vertical-align: top; border-bottom-width: =
1px; border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Mikszath/Petrofi=
&quot;}" class=3D"">Mikszath/Petrofi</td><td style=3D"padding: 2px 3px; =
background-color: rgb(217, 217, 217); border-right-width: 1px; =
border-right-style: solid; border-right-color: rgb(0, 0, 0); =
border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0); font-family: Calibri; font-size: 80%; =
word-wrap: break-word; vertical-align: top;" rowspan=3D"1" colspan=3D"3" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Valletta =
II&quot;}" class=3D"">Valletta II</td></tr><tr style=3D"height:21px;" =
class=3D""><td style=3D"padding: 2px 3px; font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;14:30 - =
15:15&quot;}" class=3D"">14:30 - 15:15</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(253, 233, 217); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Improvements =
to Continuous Integration Workflow - Doug Goldstein - Star Lab&quot;}" =
class=3D"">Improvements to Continuous Integration Workflow - Doug =
Goldstein - Star Lab</td><td style=3D"padding: 2px 3px; =
background-color: rgb(253, 233, 217); border-right-width: 1px; =
border-right-style: solid; border-right-color: rgb(0, 0, 0); =
border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0); font-family: Calibri; font-size: 80%; =
word-wrap: break-word; vertical-align: top;" rowspan=3D"1" colspan=3D"3" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td></tr><tr =
style=3D"height:21px;" class=3D""><td style=3D"padding: 2px 3px; =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;15:20 - =
16:05&quot;}" class=3D"">15:20 - 16:05</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top; =
border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(253, 233, 217); font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top; =
border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Default Tests =
and Configuration of Server and Edge Hypervisors - Rich Persaud - BAE =
Systems&quot;}" class=3D"">Default Tests and Configuration of Server and =
Edge Hypervisors - Rich Persaud - BAE Systems</td><td style=3D"padding: =
2px 3px; background-color: rgb(253, 233, 217); border-right-width: 1px; =
border-right-style: solid; border-right-color: rgb(0, 0, 0); =
border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0); font-family: Calibri; font-size: 80%; =
word-wrap: break-word; vertical-align: top;" rowspan=3D"1" colspan=3D"3" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td></tr><tr =
style=3D"height:21px;" class=3D""><td style=3D"padding: 2px 3px; =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;16:05 - =
16:35&quot;}" class=3D"">16:05 - 16:35</td><td style=3D"padding: 2px =
3px; border-right-width: 1px; border-right-style: solid; =
border-right-color: rgb(0, 0, 0); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" rowspan=3D"1" colspan=3D"8" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;BREAK - =
Foyer&quot;}" class=3D"">BREAK - Foyer</td></tr><tr style=3D"height:21px;"=
 class=3D""><td style=3D"padding: 2px 3px; font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;16:35 - =
17:35&quot;}" class=3D"">16:35 - 17:35</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;60 min =
Design&quot;}" class=3D"">60 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;60 min =
Design&quot;}" class=3D"">60 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;60 min =
Design&quot;}" class=3D"">60 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;60 min =
Design&quot;}" class=3D"">60 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(253, 233, 217); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Unikernel =
support for NFV-like applications on Xen ARM 64bit - Anastassios Nanos - =
OnApp&quot;}" class=3D"">Unikernel support for NFV-like applications on =
Xen ARM 64bit - Anastassios Nanos - OnApp</td><td style=3D"padding: 2px =
3px; background-color: rgb(253, 233, 217); border-right-width: 1px; =
border-right-style: solid; border-right-color: rgb(0, 0, 0); =
border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0); font-family: Calibri; font-size: 80%; =
word-wrap: break-word; vertical-align: top;" rowspan=3D"1" colspan=3D"3" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Zerocopy on =
Xen PV drivers - Jo\u00e3o Martins - Oracle&quot;}" class=3D"">Zerocopy =
on Xen PV drivers - Jo=C3=A3o Martins - =
Oracle</td></tr></tbody></table><br class=3D""><table cellspacing=3D"0" =
cellpadding=3D"0" dir=3D"ltr" border=3D"1" =
style=3D"table-layout:fixed;font-size:13px;font-family:arial,sans,sans-ser=
if;border-collapse:collapse;border:none" class=3D""><colgroup =
class=3D""><col width=3D"84" class=3D""><col width=3D"186" class=3D""><col=
 width=3D"100" class=3D""><col width=3D"100" class=3D""><col width=3D"100"=
 class=3D""><col width=3D"100" class=3D""><col width=3D"100" =
class=3D""><col width=3D"100" class=3D""><col width=3D"191" =
class=3D""></colgroup><tbody class=3D""><tr style=3D"height:21px;" =
class=3D""><td style=3D"padding: 2px 3px; font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Time / =
Duration&quot;}" class=3D"">Time / Duration</td><td style=3D"padding: =
2px 3px; background-color: rgb(217, 234, 211); border-top-width: 1px; =
border-top-style: solid; border-top-color: rgb(0, 0, 0); =
border-right-width: 1px; border-right-style: solid; border-right-color: =
rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0); font-family: Calibri; font-size: 80%; =
font-weight: bold; word-wrap: break-word; vertical-align: top;" =
rowspan=3D"1" colspan=3D"8" =
data-sheets-value=3D"{&quot;1&quot;:3,&quot;3&quot;:42929}" =
data-sheets-numberformat=3D"[null,5,&quot;mmmm d&quot;,1]" class=3D"">July=
 13</td></tr></tbody></table><div class=3D""><table cellspacing=3D"0" =
cellpadding=3D"0" dir=3D"ltr" border=3D"1" =
style=3D"table-layout:fixed;font-size:13px;font-family:arial,sans,sans-ser=
if;border-collapse:collapse;border:none" class=3D""><colgroup =
class=3D""><col width=3D"84" class=3D""><col width=3D"186" class=3D""><col=
 width=3D"100" class=3D""><col width=3D"100" class=3D""><col width=3D"100"=
 class=3D""><col width=3D"100" class=3D""><col width=3D"100" =
class=3D""><col width=3D"100" class=3D""><col width=3D"191" =
class=3D""></colgroup><tbody class=3D""><tr style=3D"height:21px;" =
class=3D""><td style=3D"padding: 2px 3px; font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;14:00 - =
14:30&quot;}" class=3D"">14:00 - 14:30</td><td style=3D"padding: 2px =
3px; background-color: rgb(228, 223, 236); border-top-width: 1px; =
border-top-style: solid; border-top-color: rgb(0, 0, 0); =
border-right-width: 1px; border-right-style: solid; border-right-color: =
rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0); font-family: Calibri; font-size: 80%; =
word-wrap: break-word; vertical-align: top;" rowspan=3D"1" colspan=3D"8" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;ANNOUNCEMENT =
OF NEW DESIGN SESSIONS, SCHEDULING OF DESIGN SESSIONS&quot;}" =
class=3D"">ANNOUNCEMENT OF NEW DESIGN SESSIONS, SCHEDULING OF DESIGN =
SESSIONS</td></tr><tr style=3D"height:21px;" class=3D""><td =
style=3D"padding:2px 3px 2px =
3px;vertical-align:bottom;background-color:#d9d9d9;font-size:80%;" =
class=3D""></td><td style=3D"padding: 2px 3px; background-color: =
rgb(217, 217, 217); font-family: Calibri; font-size: 80%; word-wrap: =
break-word; vertical-align: top; border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Tas&quot;}" =
class=3D"">Tas</td><td style=3D"padding: 2px 3px; background-color: =
rgb(217, 217, 217); font-family: Calibri; font-size: 80%; word-wrap: =
break-word; vertical-align: top; border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Huba/Tohotom&quo=
t;}" class=3D"">Huba/Tohotom</td><td style=3D"padding: 2px 3px; =
background-color: rgb(217, 217, 217); font-family: Calibri; font-size: =
80%; word-wrap: break-word; vertical-align: top; border-bottom-width: =
1px; border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Dery/Jokai&quot;=
}" class=3D"">Dery/Jokai</td><td style=3D"padding: 2px 3px; =
background-color: rgb(217, 217, 217); font-family: Calibri; font-size: =
80%; word-wrap: break-word; vertical-align: top; border-bottom-width: =
1px; border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Krudy/Arany&quot=
;}" class=3D"">Krudy/Arany</td><td style=3D"padding: 2px 3px; =
background-color: rgb(217, 217, 217); font-family: Calibri; font-size: =
80%; word-wrap: break-word; vertical-align: top; border-bottom-width: =
1px; border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Mikszath/Petrofi=
&quot;}" class=3D"">Mikszath/Petrofi</td><td style=3D"padding: 2px 3px; =
background-color: rgb(217, 217, 217); border-right-width: 1px; =
border-right-style: solid; border-right-color: rgb(0, 0, 0); =
border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0); font-family: Calibri; font-size: 80%; =
word-wrap: break-word; vertical-align: top;" rowspan=3D"1" colspan=3D"3" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Valletta =
II&quot;}" class=3D"">Valletta II</td></tr><tr style=3D"height:21px;" =
class=3D""><td style=3D"padding: 2px 3px; font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;14:30 - =
15:15&quot;}" class=3D"">14:30 - 15:15</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(253, 233, 217); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Credit2 =
Scheduler: Are We There Yet? - Dario Faggioli - Citrix&quot;}" =
class=3D"">Credit2 Scheduler: Are We There Yet? - Dario Faggioli - =
Citrix</td><td style=3D"padding: 2px 3px; background-color: rgb(253, =
233, 217); border-right-width: 1px; border-right-style: solid; =
border-right-color: rgb(0, 0, 0); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" rowspan=3D"1" colspan=3D"3" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Fuzzing Xen =
hypervisor - Wei Liu - Citrix&quot;}" class=3D"">Fuzzing Xen hypervisor =
- Wei Liu - Citrix</td></tr><tr style=3D"height:21px;" class=3D""><td =
style=3D"padding: 2px 3px; font-family: Calibri; font-size: 80%; =
word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;15:20 - =
16:05&quot;}" class=3D"">15:20 - 16:05</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top; =
border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(253, 233, 217); font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top; =
border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0);" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;45 min =
Design&quot;}" class=3D"">45 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(253, 233, 217); border-right-width: 1px; =
border-right-style: solid; border-right-color: rgb(0, 0, 0); =
border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0); font-family: Calibri; font-size: 80%; =
word-wrap: break-word; vertical-align: top;" rowspan=3D"1" colspan=3D"3" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;Versioning: =
A.B.C - Doug Goldstein - Star Lab&quot;}" class=3D"">Versioning: A.B.C - =
Doug Goldstein - Star Lab</td></tr><tr style=3D"height:21px;" =
class=3D""><td style=3D"padding: 2px 3px; font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;16:05 - =
16:35&quot;}" class=3D"">16:05 - 16:35</td><td style=3D"padding: 2px =
3px; border-right-width: 1px; border-right-style: solid; =
border-right-color: rgb(0, 0, 0); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" rowspan=3D"1" colspan=3D"8" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;BREAK - =
Foyer&quot;}" class=3D"">BREAK - Foyer</td></tr><tr style=3D"height:21px;"=
 class=3D""><td style=3D"padding: 2px 3px; font-family: Calibri; =
font-size: 80%; word-wrap: break-word; vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;16:35 - =
17:35&quot;}" class=3D"">16:35 - 17:35</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;60 min =
Design&quot;}" class=3D"">60 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;60 min =
Design&quot;}" class=3D"">60 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;60 min =
Design&quot;}" class=3D"">60 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(242, 220, 219); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;60 min =
Design&quot;}" class=3D"">60 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(253, 233, 217); border-bottom-width: 1px; =
border-bottom-style: solid; border-bottom-color: rgb(0, 0, 0); =
font-family: Calibri; font-size: 80%; word-wrap: break-word; =
vertical-align: top;" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;60 min =
Design&quot;}" class=3D"">60 min Design</td><td style=3D"padding: 2px =
3px; background-color: rgb(253, 233, 217); border-right-width: 1px; =
border-right-style: solid; border-right-color: rgb(0, 0, 0); =
border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(0, 0, 0); font-family: Calibri; font-size: 80%; =
word-wrap: break-word; vertical-align: top;" rowspan=3D"1" colspan=3D"3" =
data-sheets-value=3D"{&quot;1&quot;:2,&quot;2&quot;:&quot;The Future of =
Xen Toolstacks for Server and Edge Use Cases - Rich Persaud - BAE =
Systems&quot;}" class=3D"">The Future of Xen Toolstacks for Server and =
Edge Use Cases - Rich Persaud - BAE =
Systems</td></tr></tbody></table><div class=3D""><br =
class=3D""></div></div><div class=3D"">Best =
Regards</div></div></div><div class=3D"">Lars</div></body></html>=

--Apple-Mail=_A5BB4A92-989F-4D10-A4E1-4FCC96A1EDF9--


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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

--===============4027697307153015813==--


From win-pv-devel-bounces@lists.xenproject.org Mon May 08 16:04:35 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 08 May 2017 16:04: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 1d7l9G-0003XB-9X; Mon, 08 May 2017 16:04:34 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=29420a362=Paul.Durrant@citrix.com>)
 id 1d7l9F-0003WM-Kc
 for win-pv-devel@lists.xenproject.org; Mon, 08 May 2017 16:04:33 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
 B3/14-02006-01790195; Mon, 08 May 2017 16:04:32 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrOLMWRWlGSWpSXmKPExsXitHSDvS7vdIF
 Igwmb5C3+LE50YPQ4/OEKSwBjFGtmXlJ+RQJrxrYF81kL5rJXfN/0j7WBcQZrFyMnh4SAv0RL
 8zFmEJtNQEdi6tNLYHERAXWJfZ+3MoHYzAJaEg0Tl4DZwgLmEsdebWMBsVkEVCR2f10DFucVc
 JWYuaSbsYuRA2imnET3TjeQsBBQyfqps9ggSgQlTs58wgIxUkLi4IsXzBMYuWchSc1CklrAyL
 SKUaM4tagstUjX0EgvqSgzPaMkNzEzR9fQwFQvN7W4ODE9NScxqVgvOT93EyMwEBiAYAdj3yz
 nQ4ySHExKorw+xQKRQnxJ+SmVGYnFGfFFpTmpxYcYZTg4lCR4t0wFygkWpaanVqRl5gBDEiYt
 wcGjJMKbBJLmLS5IzC3OTIdInWLU5Zhz7+t7JiGWvPy8VClx3o0gRQIgRRmleXAjYPFxiVFWS
 piXEegoIZ6C1KLczBJU+VeM4hyMSsK8+0Gm8GTmlcBtegV0BBPQEYEMYEeUJCKkpBoYXQ8/6q
 o+uW7h5uDSRLPy+R0t17Waiw9Z3TG9PXe/ZVIUf8hLKdtfvFNMp+l+TFW4wbhHXlH948GCLf/
 fq3xYV8uwdO7CjGtMgUtK+ZIO9S1p+NMSO2nfh/dC17Sez5uq/EDb49CWHmlVjfqrnlnqHw/8
 i9nH9P98dvZmtSUTvDf83VW1xa5VWomlOCPRUIu5qDgRAAVRqTmKAgAA
X-Env-Sender: prvs=29420a362=Paul.Durrant@citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1494259467!76329170!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 63491 invoked from network); 8 May 2017 16:04:29 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
 by server-2.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
 8 May 2017 16:04:29 -0000
X-IronPort-AV: E=Sophos;i="5.38,309,1491264000"; d="scan'208";a="431375580"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 8 May 2017 17:04:18 +0100
Message-ID: <1494259458-123-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] Reboot request keys should be volatile
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/cgi-bin/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/cgi-bin/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>

V2hlbiBhIGRyaXZlciBtYWtlcyBhIHJlYm9vdCByZXF1ZXN0IGl0IHNob3VsZCB1c2UgYSB2b2xh
dGlsZSByZWdpc3RyeSBrZXkuClRoZSBtb25pdG9yIHNlcnZpY2Ugd2lsbCBleHBsaWNpdGx5IHJl
bW92ZSB0aGUga2V5IHByaW9yIHRvIHJlYm9vdCBidXQsCmlmIHRoZSByZWJvb3QgaXMgaW5pdGlh
dGVkIGluIHNvbWUgb3RoZXIgd2F5IGFuZCB0aGUga2V5IGlzIG5vbi12b2xhdGlsZSwKdGhlIG1v
bml0b3Igc2VydmljZSB3aWxsIHRoZW4gbmVlZGxlc3NseSBwcm9tcHQgZm9yIGEgc2Vjb25kIHJl
Ym9vdC4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5j
b20+Ci0tLQogc3JjL3hlbmJ1cy9kcml2ZXIuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu
c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy94ZW5idXMvZHJpdmVy
LmMgYi9zcmMveGVuYnVzL2RyaXZlci5jCmluZGV4IGU5Y2I2ZjQuLmJiYmRhNmMgMTAwNjQ0Ci0t
LSBhL3NyYy94ZW5idXMvZHJpdmVyLmMKKysrIGIvc3JjL3hlbmJ1cy9kcml2ZXIuYwpAQCAtMTYx
LDcgKzE2MSw3IEBAIF9fRHJpdmVyUmVxdWVzdFJlYm9vdCgKIAogICAgIHN0YXR1cyA9IFJlZ2lz
dHJ5Q3JlYXRlU3ViS2V5KFJlcXVlc3RLZXksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgX19NT0RVTEVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRUdf
T1BUSU9OX05PTl9WT0xBVElMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS
RUdfT1BUSU9OX1ZPTEFUSUxFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZT
dWJLZXkpOwogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQogICAgICAgICBnb3RvIGZhaWwz
OwotLSAKMi41LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0
aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Mon May 08 16:10:13 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 08 May 2017 16: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 1d7lEi-0004Aj-To; Mon, 08 May 2017 16:10:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=29420a362=Paul.Durrant@citrix.com>)
 id 1d7lEh-0004Ad-TL
 for win-pv-devel@lists.xenproject.org; Mon, 08 May 2017 16:10:12 +0000
Received: from [85.158.139.211] by server-3.bemta-5.messagelabs.com id
 EB/99-02022-36890195; Mon, 08 May 2017 16:10:11 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrKLMWRWlGSWpSXmKPExsXitHRDpG7SDIF
 Ig9+PjC3+LE50YPQ4/OEKSwBjFGtmXlJ+RQJrxvFrx1gLZrNXdN2YxdLAOI21i5GDQ0LAX6J/
 n0UXIycHm4COxNSnl1hBbBEBdYl9n7cygdjMAloSDROXgNnCAuYSx15tYwGxWQRUJN40TmcGs
 XkFXCXmnNnDCDFSTqJ7pxtIWAioZP3UWWwQJYISJ2c+YYEYKSFx8MUL5gmM3LOQpGYhSS1gZF
 rFqF6cWlSWWqRrqZdUlJmeUZKbmJmja2hgqpebWlycmJ6ak5hUrJecn7uJERgEDECwg3Ftq/M
 hRkkOJiVRXp9igUghvqT8lMqMxOKM+KLSnNTiQ4wyHBxKErxrpgHlBItS01Mr0jJzgOEIk5bg
 4FES4XWeDpTmLS5IzC3OTIdInWLU5Zhz7+t7JiGWvPy8VClx3u0gMwRAijJK8+BGwGLjEqOsl
 DAvI9BRQjwFqUW5mSWo8q8YxTkYlYR5VUFW8WTmlcBtegV0BBPQEYEMYEeUJCKkpBoYnbeqBt
 x6bHD7xyUH259vFtj835PQHfPip77Uwit7AvsTD63LOquz3WmdxdfgjcdWi4bc3fKuUMn5wu3
 0hdLS54PW9X1marS4GPt1W+J+/23R/laJh1J3f7qd/kTHf4a4Ree5iVtqn04MKSjvumsiffvC
 mj8F3lLysy9tq9/IP+2fTHrFvuPb3yixFGckGmoxFxUnAgCuKGsbiAIAAA==
X-Env-Sender: prvs=29420a362=Paul.Durrant@citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1494259809!81432671!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6625 invoked from network); 8 May 2017 16:10:10 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
 by server-13.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
 8 May 2017 16:10:10 -0000
X-IronPort-AV: E=Sophos;i="5.38,309,1491264000"; d="scan'208";a="422703153"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 8 May 2017 17:10:00 +0100
Message-ID: <1494259800-179-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] Reboot request keys should be volatile
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/cgi-bin/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/cgi-bin/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>

V2hlbiBhIGRyaXZlciBtYWtlcyBhIHJlYm9vdCByZXF1ZXN0IGl0IHNob3VsZCB1c2UgYSB2b2xh
dGlsZSByZWdpc3RyeSBrZXkuClRoZSBtb25pdG9yIHNlcnZpY2Ugd2lsbCBleHBsaWNpdGx5IHJl
bW92ZSB0aGUga2V5IHByaW9yIHRvIHJlYm9vdCBidXQsCmlmIHRoZSByZWJvb3QgaXMgaW5pdGlh
dGVkIGluIHNvbWUgb3RoZXIgd2F5IGFuZCB0aGUga2V5IGlzIG5vbi12b2xhdGlsZSwKdGhlIG1v
bml0b3Igc2VydmljZSB3aWxsIHRoZW4gbmVlZGxlc3NseSBwcm9tcHQgZm9yIGEgc2Vjb25kIHJl
Ym9vdC4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5j
b20+Ci0tLQogc3JjL3hlbnZiZC9kcml2ZXIuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu
c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy94ZW52YmQvZHJpdmVy
LmMgYi9zcmMveGVudmJkL2RyaXZlci5jCmluZGV4IDFmNzEzYzQuLjgzMWY4MjkgMTAwNjQ0Ci0t
LSBhL3NyYy94ZW52YmQvZHJpdmVyLmMKKysrIGIvc3JjL3hlbnZiZC9kcml2ZXIuYwpAQCAtMjAx
LDcgKzIwMSw3IEBAIERyaXZlclJlcXVlc3RSZWJvb3QoCiAKICAgICBzdGF0dXMgPSBSZWdpc3Ry
eUNyZWF0ZVN1YktleShSZXF1ZXN0S2V5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIF9fTU9EVUxFX18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVHX09Q
VElPTl9OT05fVk9MQVRJTEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVH
X09QVElPTl9WT0xBVElMRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmU3Vi
S2V5KTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgZ290byBmYWlsMzsK
LS0gCjIuNS4zCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGlu
Zm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Mon May 08 16:13:10 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 08 May 2017 16:13:10 +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 1d7lHa-0004MT-CQ; Mon, 08 May 2017 16:13:10 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=29420a362=Paul.Durrant@citrix.com>)
 id 1d7lHY-0004MK-Sy
 for win-pv-devel@lists.xenproject.org; Mon, 08 May 2017 16:13:08 +0000
Received: from [193.109.254.147] by server-6.bemta-6.messagelabs.com id
 67/F9-03920-41990195; Mon, 08 May 2017 16:13:08 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrOLMWRWlGSWpSXmKPExsXitHSDva7wTIF
 Ig/3rLC3+LE50YPQ4/OEKSwBjFGtmXlJ+RQJrxoN7Z5gL5rJX9Oy+wNbAOIO1i5GTQ0LAX2LV
 lnMsIDabgI7E1KeXwOIiAuoS+z5vZQKxmQW0JBomLgGzhQXMJY692gZWzyKgInFh/XFmEJtXw
 FWif905oF4OoJlyEt073UDCQkAl66fOYoMoEZQ4OfMJC8RICYmDL14wT2DknoUkNQtJagEj0y
 pGjeLUorLUIl1jQ72kosz0jJLcxMwcXUMDM73c1OLixPTUnMSkYr3k/NxNjMBAYACCHYxNiwI
 PMUpyMCmJ8voUC0QK8SXlp1RmJBZnxBeV5qQWH2KU4eBQkuCVngGUEyxKTU+tSMvMAYYkTFqC
 g0dJhLdhOlCat7ggMbc4Mx0idYpRl2POva/vmYRY8vLzUqXEeRVAZgiAFGWU5sGNgMXHJUZZK
 WFeRqCjhHgKUotyM0tQ5V8xinMwKgnz3gVZxZOZVwK36RXQEUxARwQygB1RkoiQkmpgLFfvbi
 1hSpl6+etqATHD3a5fhIXWR6zj95hhfD+SQSP8UNOFiKJzs3YrrOCbuTP2m9nLv7v9N9tqm3Z
 pCbrlrCluedrd8uz+r27RFVtKnXg+Ou38fHem4ek5KstksziebNBWZXFbIG5xZ/vxt27FIX/b
 pXZprOm3YLRbu+v5ge76Nx3p+1OmK7EUZyQaajEXFScCAPLQKqGKAgAA
X-Env-Sender: prvs=29420a362=Paul.Durrant@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1494259986!48111093!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1181 invoked from network); 8 May 2017 16:13:07 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
 by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
 8 May 2017 16:13:07 -0000
X-IronPort-AV: E=Sophos;i="5.38,309,1491264000"; d="scan'208";a="431377591"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 8 May 2017 17:12:57 +0100
Message-ID: <1494259977-266-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] Reboot request keys should be volatile
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/cgi-bin/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/cgi-bin/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>

V2hlbiBhIGRyaXZlciBtYWtlcyBhIHJlYm9vdCByZXF1ZXN0IGl0IHNob3VsZCB1c2UgYSB2b2xh
dGlsZSByZWdpc3RyeSBrZXkuClRoZSBtb25pdG9yIHNlcnZpY2Ugd2lsbCBleHBsaWNpdGx5IHJl
bW92ZSB0aGUga2V5IHByaW9yIHRvIHJlYm9vdCBidXQsCmlmIHRoZSByZWJvb3QgaXMgaW5pdGlh
dGVkIGluIHNvbWUgb3RoZXIgd2F5IGFuZCB0aGUga2V5IGlzIG5vbi12b2xhdGlsZSwKdGhlIG1v
bml0b3Igc2VydmljZSB3aWxsIHRoZW4gbmVlZGxlc3NseSBwcm9tcHQgZm9yIGEgc2Vjb25kIHJl
Ym9vdC4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5j
b20+Ci0tLQogc3JjL3hlbnZpZi9kcml2ZXIuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu
c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy94ZW52aWYvZHJpdmVy
LmMgYi9zcmMveGVudmlmL2RyaXZlci5jCmluZGV4IDQzYTljN2IuLjhiYzA5N2EgMTAwNjQ0Ci0t
LSBhL3NyYy94ZW52aWYvZHJpdmVyLmMKKysrIGIvc3JjL3hlbnZpZi9kcml2ZXIuYwpAQCAtMjA2
LDcgKzIwNiw3IEBAIF9fRHJpdmVyUmVxdWVzdFJlYm9vdCgKIAogICAgIHN0YXR1cyA9IFJlZ2lz
dHJ5Q3JlYXRlU3ViS2V5KFJlcXVlc3RLZXksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgX19NT0RVTEVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRUdf
T1BUSU9OX05PTl9WT0xBVElMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS
RUdfT1BUSU9OX1ZPTEFUSUxFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZT
dWJLZXkpOwogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQogICAgICAgICBnb3RvIGZhaWwz
OwotLSAKMi41LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0
aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Mon May 08 20:16:02 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 08 May 2017 20:16: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 1d7p4a-00079h-Uv; Mon, 08 May 2017 20:16:00 +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 1d7p4a-00079b-6G
 for win-pv-devel@lists.xenproject.org; Mon, 08 May 2017 20:16:00 +0000
Date: Mon, 8 May 2017 20:15:57 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <3889337.9.1494274557491.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_8_3675706.1494274557491"
X-Jenkins-Job: XENVBD-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENVBD-master - Build #93 - 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/cgi-bin/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/cgi-bin/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_3675706.1494274557491
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #93.

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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_8_3675706.1494274557491--


From win-pv-devel-bounces@lists.xenproject.org Tue May 09 02:23:36 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 09 May 2017 02:23: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 1d7uoH-00029W-VR; Tue, 09 May 2017 02:23:33 +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 1d7uoG-00029O-Ph
 for win-pv-devel@lists.xenproject.org; Tue, 09 May 2017 02:23:32 +0000
Date: Tue, 9 May 2017 02:23:30 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <27436811.11.1494296610456.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_10_2099907.1494296610409"
X-Jenkins-Job: XENVIF-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENVIF-master - Build #141 - 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/cgi-bin/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/cgi-bin/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_2099907.1494296610409
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #141.

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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_10_2099907.1494296610409--


From win-pv-devel-bounces@lists.xenproject.org Tue May 09 08:24:46 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 09 May 2017 08:24: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 1d80Rp-0003eC-0N; Tue, 09 May 2017 08:24: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 1d80Ro-0003ds-Cw
 for win-pv-devel@lists.xenproject.org; Tue, 09 May 2017 08:24:44 +0000
Date: Tue, 9 May 2017 08:24:42 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <5383214.13.1494318282373.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_12_30076926.1494318282357"
X-Jenkins-Job: XENBUS-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENBUS-master - Build #140 - 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/cgi-bin/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/cgi-bin/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_30076926.1494318282357
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #140.

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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_12_30076926.1494318282357--


From win-pv-devel-bounces@lists.xenproject.org Tue May 09 13:20:29 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 09 May 2017 13:20: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 1d8540-0003oI-8B; Tue, 09 May 2017 13:20:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=295e23c49=Paul.Durrant@citrix.com>)
 id 1d853y-0003lf-Jd
 for win-pv-devel@lists.xenproject.org; Tue, 09 May 2017 13:20:26 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
 31/7E-01992-812C1195; Tue, 09 May 2017 13:20:24 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrFIsWRWlGSWpSXmKPExsWyU9JRQlf0kGC
 kwZfD0hZ/Fic6MHoc/nCFJYAxijUzLym/IoE1Y9HzTewFLxkrbs09ytTAuJ+xi5GTQ0LAT2LG
 t352EJtNQEdi6dH5TF2MHBwiAt4St1fwg4SFBQwlvtz8zApiiwiYSWzd3MIOUaInsWQCWAmLg
 IrE7d3nwabwCrhLPG7ZwQJiMwrISnxpXM0MYjMLiEvcegIyHWSrgMSSPeeZIWxRiZeP/7FC2A
 YSW5fuY4Go15FYsPsTG4StLbFs4WtmiPmCEidnPmGZwCgwC8nYWUhaZiFpmYWkZQEjyypGjeL
 UorLUIl1DE72kosz0jJLcxMwcXUMDU73c1OLixPTUnMSkYr3k/NxNjMBwZQCCHYxnT3seYpTk
 YFIS5fUpFogU4kvKT6nMSCzOiC8qzUktPsQow8GhJMHLelAwUkiwKDU9tSItMwcYOTBpCQ4eJ
 RHeTJA0b3FBYm5xZjpE6hSjLsece1/fMwmx5OXnpUqJ8+4+AFQkAFKUUZoHNwIWxZcYZaWEeR
 mBjhLiKUgtys0sQZV/xSjOwagkzPsNZApPZl4J3KZXQEcwAR0RyCAAckRJIkJKqoFRtDBwUl5
 tfw9XbahH8WnLZ3/XFntM/nqiVn0374uUA7nBywQMA06oTHxwtM4joE5GU6mufYE3s6o754LG
 8I8Jlt8bn7w4vX6l3o0rjy6cOpbQ3q3gyDnx15Gfpg9+LTlaONf44flNSf5C/54x3+ZkLly7/
 tOT33M4z9ht4pKeK3qTwZxxqrmHEktxRqKhFnNRcSIAxq0jyN0CAAA=
X-Env-Sender: prvs=295e23c49=Paul.Durrant@citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1494336021!93505343!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25313 invoked from network); 9 May 2017 13:20:21 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
 by server-3.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
 9 May 2017 13:20:21 -0000
X-IronPort-AV: E=Sophos;i="5.38,314,1491264000"; d="scan'208";a="45681199"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Thread-Topic: Announcing the Windows PV Console Driver
Thread-Index: AdLIxfQMJYTjdbSYREuK+Xzpg20F0Q==
Date: Tue, 9 May 2017 13:14:04 +0000
Message-ID: <2d190718bb724e16982a7f6568fe1a55@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
Subject: [win-pv-devel] Announcing the Windows PV Console 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/cgi-bin/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/cgi-bin/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>

QWxsLAoKICBNeSBibG9nIGVudHJ5IGFubm91bmNpbmcgdGhlIG5ldyBYRU5DT05TIFBWIGRyaXZl
ciBoYXMganVzdCBnb25lIGxpdmUgYXQ6CgpodHRwczovL2Jsb2cueGVucHJvamVjdC5vcmcvMjAx
Ny8wNS8wOS9hbm5vdW5jaW5nLXRoZS13aW5kb3dzLXB2LWNvbnNvbGUtZHJpdmVyLwoKICBUaGUg
cmVwbyBpcyBub3cgb3BlbiBmb3IgY29udHJpYnV0aW9ucyA6LSkKCiAgQ2hlZXJzLAoKICAgIFBh
dWwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1w
di1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3dpbi1w
di1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Tue May 09 15:10:45 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 09 May 2017 15:10:45 +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 1d86mi-0005HM-Ll; Tue, 09 May 2017 15:10:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <lars.kurth.xen@gmail.com>)
 id 1d86mg-0005Gy-TX; Tue, 09 May 2017 15:10:43 +0000
Received: from [85.158.137.68] by server-14.bemta-3.messagelabs.com id
 94/C9-01870-1FBD1195; Tue, 09 May 2017 15:10:41 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprMKsWRWlGSWpSXmKPExsVyMbThoO6H24K
 RBh+nilus7LnIbNHbepfF4s/iRIvvWyYzWbzb95fZgdXj8IcrLAGMUayZeUn5FQmsGV8nf2Ev
 OOZRcfzYfMYGxut2XYycHEICRRJvt79j6WLk4mAR+MwisXvXZUYQR0JgJqvE3IuXWECqJASSJ
 NpXfmWHsMskNm2byArRrS5xb9FtdpAGIYGlTBKnH51kBEmwCWhLbLrxgBnEZhZIkJhx7BVYA6
 +AjcTqff/YIGw9iVe3LgPFOTiEgWp+XJEECbMIqEg0/dvBBDHfRuLa6hOsIPNFBL4xShzcdRS
 sl1PAVuL5pqWsEAfJSuz+/YhpAqPgLCTrZiFZARHXlli28DUzjH390gVGTHEtifczL7EvYGRb
 xahRnFpUllqka2iul1SUmZ5RkpuYmaNraGCsl5taXJyYnpqTmFSsl5yfu4kRGCkMQLCD8eVpz
 0OMkhxMSqK8PsUCkUJ8SfkplRmJxRnxRaU5qcWHGGU4OJQkeDNuCUYKCRalpqdWpGXmAGMWJi
 3BwaMkwnscJM1bXJCYW5yZDpE6xWjJ8eLy+/dMHO+WfgCST1b+eM8kxJKXn5cqJc67FKRBAKQ
 hozQPbhwsrVxilJUS5mUEOlCIpyC1KDezBFX+FaM4B6OSMO85kCk8mXklcFtfAR3EBHRQIIMA
 yEEliQgpqQbGCpFpuxged09ISHeMNeSYbn8tbCaXFeMUpu/THCWcTf6aH6mc8LnyXe+b1DBDb
 Znvvun3r/c4zRFbLuCU89xF0G5mrqHB9+RtqoIpTyyO3l7K5Bph9k3V8erjyUVHDs5Z9DpR3N
 KZaZdytfwBwa0Td92vv7xTyoH1DnNzuPy6PrljuZpbmLcosRRnJBpqMRcVJwIALk27TSYDAAA
 =
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1494342640!99510925!1
X-Originating-IP: [209.85.128.193]
X-SpamReason: No, hits=0.6 required=7.0 tests=BODY_RANDOM_LONG,
 HTML_30_40,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 64397 invoked from network); 9 May 2017 15:10:40 -0000
Received: from mail-wr0-f193.google.com (HELO mail-wr0-f193.google.com)
 (209.85.128.193)
 by server-3.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 9 May 2017 15:10:40 -0000
Received: by mail-wr0-f193.google.com with SMTP id w50so875803wrc.0;
 Tue, 09 May 2017 08:10:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:message-id:mime-version:subject:date:references:to:in-reply-to;
 bh=NAv+KPvD+CLSyBwouoD1XIxVzSVdKEUF/9jHhPkBoVU=;
 b=C+4Wdy186aYe7t22rse7AEx+VOxGXcm3A02VsidhKE2gfvXEIvd6uwRJuv9onE2tti
 iExGg7cwS0QhrQjIaQDWYUv1vfpOPDywtZg0+341OMJynqYkGFcjFxoWzEKPg+cr7nDp
 ILFNz9dd6MsN15fpH/9coeuiWLt+mS+xXrgm+mvmwEuZSNja38so4iWWImNefqT7qEZL
 O2o8LCACCdTR7F4X/KQ/RkOfJoNg+VBHsohRAD9Koyf3LgXbW0S673FQsY92W+JdASke
 /MjhqDYvvLKiyc9d1Zom2+uY7x5qdZr8HVo5srjzn/ca6Vo+PQfMfW8aLWB+23tlpnzc
 Otbg==
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
 :references:to:in-reply-to;
 bh=NAv+KPvD+CLSyBwouoD1XIxVzSVdKEUF/9jHhPkBoVU=;
 b=PQwAEgw3xikVnDGsjDbRZz7whSLo12HS6kk20gl6p56JeougUZJqBR9Sgkas30Lisj
 CGB9ztO3WRZ57YrXFVL128Dj/clSKeQWDdVeB0GEk6bVIrEmhdjYCq+nsC1nEVMrkSss
 TkTbrM57Ls4Flmw6jR1VUm8boZmFxnpu6mLNa5h1st4SelV0gx5AFd/eDmtNVUiZ0T0d
 x+QFixPLtaJAbQlpk+2b5x4kYLqtrYyb9t9lwhtSehSrGSoJ2xyYlopJdqFucX5YG80C
 YxxM8OEiLYSYzSGIxhCkCdD5sKmFgurIoyo6PevxwKvsztGKaKlBS+75H4mhqdb8iRE6
 uA6g==
X-Gm-Message-State: AODbwcCiJjY77Cym/pq0cT7xUWqE22IwXaxEnaaXWcp/Krmugys6S1+6
 mKf9b3jHmnV33ltRoqI=
X-Received: by 10.28.99.9 with SMTP id x9mr1472581wmb.102.1494342639373;
 Tue, 09 May 2017 08:10:39 -0700 (PDT)
Received: from ?IPv6:2a02:c7f:ac18:da00:adf2:af7f:e452:27c8?
 ([2a02:c7f:ac18:da00:adf2:af7f:e452:27c8])
 by smtp.gmail.com with ESMTPSA id y3sm192697wrd.23.2017.05.09.08.10.38
 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
 Tue, 09 May 2017 08:10:38 -0700 (PDT)
From: Lars Kurth <lars.kurth.xen@gmail.com>
Message-Id: <F60D60D4-7E51-43C5-BC44-B79F706997DE@gmail.com>
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
Date: Tue, 9 May 2017 16:10:37 +0100
References: <90DD5747-E161-4792-B890-1973EB7ED568@gmail.com>
To: xen-devel <xen-devel@lists.xenproject.org>, xen-users@lists.xenproject.org,
 mirageos-devel <mirageos-devel@lists.xenproject.org>,
 win-pv-devel <Win-pv-devel@lists.xenproject.org>,
 embedded-pv-devel <embedded-pv-devel@lists.xenproject.org>
In-Reply-To: <90DD5747-E161-4792-B890-1973EB7ED568@gmail.com>
X-Mailer: Apple Mail (2.2104)
Subject: Re: [win-pv-devel] Xen Project Developer Summit Design Sessions
	(updated link for Design Sessions CFP)
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/cgi-bin/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/cgi-bin/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============6151390829038597275=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>


--===============6151390829038597275==
Content-Type: multipart/alternative; boundary="Apple-Mail=_22B0D3DC-51FB-4EC3-864C-18849F2F6793"


--Apple-Mail=_22B0D3DC-51FB-4EC3-864C-18849F2F6793
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Hi everyone,
we created a simplified page to submit Design Sessions at =
http://events.linuxfoundation.org/events/xen-developer-and-design-summit/p=
rogram/cfp-design-session =
<http://events.linuxfoundation.org/events/xen-developer-and-design-summit/=
program/cfp-design-session>, which is also available from the event page =
menu under "Program > CFP - DESIGN SESSIONS". The old link will still =
work, but contains all the extra info related to regular 30 minute =
sessions and panels, which are not accepted any more.
Regards
Lars

> On 8 May 2017, at 10:32, Lars Kurth <lars.kurth.xen@gmail.com> wrote:
>=20
> Dear community members (I CC'ed people who submitted design sessions =
so far)
>=20
> I got a few questions regarding "acceptance" and scheduling of Design =
Sessions for the Developer and Design Summit. As you may recall, the =
Developer and Design Summit mixes the formats of past Summits and =
Hackathons. The afternoons are reserved for Design sessions, which will =
follow the format of Hackathons.
>=20
> Thus, in the tradition of the Xen Project Hackathons, we will not run =
Design Sessions through the Program Management Committee, as long as we =
have enough space to host sessions. The submission system is still open =
for Design Sessions at =
http://events.linuxfoundation.org/events/xen-developer-and-design-summit/p=
rogram/cfp =
<http://events.linuxfoundation.org/events/xen-developer-and-design-summit/=
program/cfp> (although the website says otherwise, which I will get =
fixed) and sessions can be submitted until Friday 7th of July. Sessions =
can still be proposed on the day of the event (using A5 post-it-notes) =
as in the past.=20
>=20
> Whenever new sessions come in, I will once a week put them live the =
afternoon Design Sessions on the summit schedule, using the following =
criteria
> Schedule sessions on a day which has similar topics to the ones =
already proposed (makes the live scheduling sessions at the event =
easier)
> Schedule sessions on (or after) a day where related talks take place =
(creates more valuable discussions)
> Schedule such that people which have multiple sessions get some =
breathing space (aka avoid that everyone has all their sessions on one =
day)
>=20
> Note that we will have room rooms with a projector, others won't.=20
> If you submit design sessions and you need a projector, please add =
this under "List any technical requirements that you have for your =
presentation over and above the standard projector, screen and wireless =
internet"=20
> If you need to have your session on a specific day due to travel =
constraints, please add this under "List any technical requirements..."
> The purpose of publishing design sessions as they come in is twofold:=20=

> let you know what others are planning to do (avoids duplicate =
sessions)
> marketing (attracts attendees)
> You can propose new design sessions every day of the event, but we =
prefer if you proposed them using the submission system.=20
>=20
> As in the past at Hackathons we will try and balance the schedule and =
merge related sessions as a group in a 30 minute scheduling session.  I =
am also happy getting feedback from community members on this thread: to =
facilitate this, I will post schedule updates every other week or so.=20
>=20
> As we have Linux Foundation staff on hand, we should also be able to =
update the on-line schedule immediately afterwards. But we will also =
have a paper schedule (using post-it notes), as it is easier to manage =
the scheduling session.
>=20
> I attached the schedule for Design sessions as we will publish by the =
end of this week

--Apple-Mail=_22B0D3DC-51FB-4EC3-864C-18849F2F6793
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; -webkit-line-break: after-white-space;" =
class=3D"">Hi everyone,<div class=3D"">we created a simplified page to =
submit Design Sessions at&nbsp;<a =
href=3D"http://events.linuxfoundation.org/events/xen-developer-and-design-=
summit/program/cfp-design-session" =
class=3D"">http://events.linuxfoundation.org/events/xen-developer-and-desi=
gn-summit/program/cfp-design-session</a>, which is also available from =
the event page menu under "Program &gt; CFP - DESIGN SESSIONS". The old =
link will still work, but contains all the extra info related to regular =
30 minute sessions and panels, which are not accepted any more.<br =
class=3D""><div class=3D"">Regards</div><div class=3D"">Lars</div><div =
class=3D""><br class=3D""><div><blockquote type=3D"cite" class=3D""><div =
class=3D"">On 8 May 2017, at 10:32, 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""><meta =
http-equiv=3D"Content-Type" content=3D"text/html charset=3Dutf-8" =
class=3D""><div style=3D"word-wrap: break-word; -webkit-nbsp-mode: =
space; -webkit-line-break: after-white-space;" class=3D""><div =
class=3D"">Dear community members (I CC'ed people who submitted design =
sessions so far)</div><div class=3D""><br class=3D""></div><div =
class=3D"">I got a few questions regarding "acceptance" and scheduling =
of Design Sessions for the Developer and Design Summit. As you may =
recall, the Developer and Design Summit mixes the formats of past =
Summits and Hackathons. The afternoons are reserved for Design sessions, =
which will follow the format of Hackathons.</div><div class=3D""><br =
class=3D""></div><div class=3D"">Thus, in the tradition of the Xen =
Project Hackathons, we will not run Design Sessions through the Program =
Management Committee, as long as we have enough space to host sessions. =
The submission system is still open for Design Sessions at&nbsp;<a =
href=3D"http://events.linuxfoundation.org/events/xen-developer-and-design-=
summit/program/cfp" =
class=3D"">http://events.linuxfoundation.org/events/xen-developer-and-desi=
gn-summit/program/cfp</a>&nbsp;(although the website says otherwise, =
which I will get fixed) and sessions can be submitted until Friday 7th =
of July. Sessions can still be proposed on the day of the event (using =
A5 post-it-notes) as in the past.&nbsp;</div><div class=3D""><br =
class=3D""></div><div class=3D"">Whenever new sessions come in, I will =
once a week put them live the afternoon Design Sessions on the summit =
schedule, using the following criteria</div><div class=3D""><ul =
class=3D""><li class=3D"">Schedule sessions <b class=3D"">on a day which =
has similar topics</b> to the ones already proposed (makes the live =
scheduling sessions at the event easier)</li><li class=3D"">Schedule =
sessions&nbsp;<b class=3D"">on&nbsp;(or after)</b> a day where related =
talks take place (creates more valuable discussions)</li><li =
class=3D"">Schedule such that people which have multiple sessions get =
some breathing space (aka avoid that everyone has all their sessions on =
one day)</li></ul></div><div class=3D""><br class=3D""></div><div =
class=3D"">Note that we will have room rooms with a projector, others =
won't.&nbsp;</div><div class=3D""><ul class=3D""><li class=3D"">If you =
submit design sessions and you need a projector, please add this under =
"<b class=3D"">List any technical requirements</b> that you have for =
your presentation over and above the standard projector, screen and =
wireless internet"&nbsp;</li><li class=3D"">If you need to have your =
session on a specific day due to travel constraints, please add this =
under "<b class=3D"">List any technical =
requirements</b>..."</li></ul></div><div class=3D"">The purpose of =
publishing design sessions as they come in is twofold:&nbsp;</div><div =
class=3D""><ul class=3D""><li class=3D"">let you know what others are =
planning to do (avoids duplicate sessions)</li><li class=3D"">marketing =
(attracts attendees)</li></ul></div><div class=3D"">You can propose =
new&nbsp;<b class=3D"">design sessions every day of the event</b>, but =
we prefer if you proposed them using the submission =
system.&nbsp;</div><div class=3D""><br class=3D""></div><div class=3D"">As=
 in the past at Hackathons we will try and <b class=3D"">balance the =
schedule and merge related sessions as a group in a 30 minute scheduling =
session</b>. &nbsp;I am also happy getting feedback from community =
members on this thread: to facilitate this, I will post schedule updates =
every other week or so.&nbsp;</div><div class=3D""><br =
class=3D""></div><div class=3D"">As we have Linux Foundation staff on =
hand, we should also be able to update the on-line schedule immediately =
afterwards. But we will also have a paper schedule (using post-it =
notes), as it is easier to manage the scheduling session.</div><div =
class=3D""><br class=3D""></div><div class=3D"">I attached the schedule =
for Design sessions as we will publish by the end of this =
week</div></div></div></blockquote></div></div></div></body></html>=

--Apple-Mail=_22B0D3DC-51FB-4EC3-864C-18849F2F6793--


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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

--===============6151390829038597275==--


From win-pv-devel-bounces@lists.xenproject.org Wed May 10 08:41:16 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 May 2017 08:41: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 1d8NBK-0002wH-Oh; Wed, 10 May 2017 08:41:14 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <lars.kurth.xen@gmail.com>)
 id 1d8NBJ-0002vy-EI; Wed, 10 May 2017 08:41:13 +0000
Received: from [85.158.143.35] by server-8.bemta-6.messagelabs.com id
 96/84-03696-822D2195; Wed, 10 May 2017 08:41:12 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprAKsWRWlGSWpSXmKPExsVyMbThoK7aJaF
 IgyezDSxW9lxktuhtvcti8WdxosX3LZOZLN7t+8vswOpx+MMVlgDGKNbMvKT8igTWjF2LDjAV
 XAuuOL54BWMD42uPLkZODiGBYokXp/azdDFycbAIfGaRmPpoIxuIIyEwk1XiwPQt7F2MHEBOk
 sS5bhWQBgmBKolfG08yQTSrS9xbdJsdwl7KJPFnigKIzSagLbHpxgNmEJtZIEGia+sVNhCbV8
 BG4ubvbmYIW0/i1a3LrCC2sICvxITN21hAbBYBVYlXz86zgKwVEsiVePTVCuQcEYFvjBIHdx0
 Fm8MpYCtxaUcDE8Q9shK7fz9imsAoOAvJullIVkDEtSWWLXzNDGNfv3SBEVNcS+L9zEvsCxjZ
 VjGqF6cWlaUW6ZroJRVlpmeU5CZm5ugaGpjp5aYWFyemp+YkJhXrJefnbmIExggDEOxg7L7sf
 4hRkoNJSZRXd5dQpBBfUn5KZUZicUZ8UWlOavEhRhkODiUJXseLQDnBotT01Iq0zBxgtMKkJT
 h4lER4X10ASvMWFyTmFmemQ6ROMVpyvLj8/j0Tx7ulH4Dkk5U/3jMJseTl56VKifPeBWkQAGn
 IKM2DGwdLKJcYZaWEeRmBDhTiKUgtys0sQZV/xSjOwagkzDsb5CqezLwSuK2vgA5iAjookEEA
 5KCSRISUVANj0E+B9U/ETHbdXL5c9t7+E1E3Duy6wd5898LfmSnaPmsj+QxXcpxMVHQ/8GBW0
 5ftJlz31dflfVpblLAhyY2XOS3RRmGjy+Mzct4RylsSmd5l79Y9LD7f3GGu27a+r90bHDmqnu
 575rXk7/bTISdcs+zyz5mc3GhUd8nu8+Pfx6qup27403yiRYmlOCPRUIu5qDgRAMaWKEgjAwA
 A
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1494405670!67570149!1
X-Originating-IP: [209.85.128.193]
X-SpamReason: No, hits=0.6 required=7.0 tests=BODY_RANDOM_LONG,
 HTML_30_40,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 43447 invoked from network); 10 May 2017 08:41:10 -0000
Received: from mail-wr0-f193.google.com (HELO mail-wr0-f193.google.com)
 (209.85.128.193)
 by server-12.tower-21.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 10 May 2017 08:41:10 -0000
Received: by mail-wr0-f193.google.com with SMTP id v42so6313260wrc.3;
 Wed, 10 May 2017 01:41:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:message-id:mime-version:subject:date:references:to:in-reply-to;
 bh=ri/CHQJ4sswW8PwVZGjeIxxrKy/rhjJEcDANQQEu2Sk=;
 b=fbe85DFlNazONgZm64on0PDQw4cVMQ+X0S+9jQw+sK/DCCyx1oziXYjCa8nHtngiT3
 FogWdy4rvDwmtYfGWBdIKnfHTta8gNabmTxY4frNxR2nd17XhPcFHpkM2DQUEdzc0p8/
 4ivdk7JGUbNJRrwEVJRP+CgY16u2STzYjQaEuV7OeQ6bcde+1Y6UmjI23OPYwC5urPT/
 A6Rho3/Z/suWVLOpyp+mHlemBnPdrWq6kZy5SKDs5nXvZvCkQONapn8rqv+dl/hsBjqD
 xGRjiHjrdQFpxhj925lPdqugWIMzq+2zclYjvMPkyl1gX1+Z0uUPW41C1eeRp8InDJYG
 pTcQ==
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
 :references:to:in-reply-to;
 bh=ri/CHQJ4sswW8PwVZGjeIxxrKy/rhjJEcDANQQEu2Sk=;
 b=OeoBFc2iw0DWwlPRee3zXMLYri97LPAfoOQZpEO5lHUOOhSClezIxF490FzuPWOy/S
 +vba+ZsG0rnzcBRFt2KIwOKJzto8tNZSo2KG3gTOpZj4l6Sal2VjhHn51kqRDvWjJKts
 oYicJ9qrst1dXhAGNresaW6uw3uMVvRAu3bpVh1S6BzxBRn+dcaea3mEdhkf1TNDNSYD
 8XnDIpEqn5jjMlyt/5yXDJNmUv/N+3cfNqTLxIPZk3wtAVda/b+hj6rlq/vYun/5wa9r
 mbpQZNnrYXgD7Jq3fB+taHJEEYUdUYVOyFzQ54gTTKEBBy/KCpw9lsKw0KmzHAR52yFD
 f+XA==
X-Gm-Message-State: AODbwcDu8fRDEAHICtUfPBmZN8LkW+gKnlPCoMMeMytrybSKcQ0t2avO
 +BSVOqUH4QiBmLTAA3Y=
X-Received: by 10.223.136.134 with SMTP id f6mr2658460wrf.187.1494405669988;
 Wed, 10 May 2017 01:41:09 -0700 (PDT)
Received: from ?IPv6:2a02:c7f:ac18:da00:75ef:55ee:be8a:6c3?
 ([2a02:c7f:ac18:da00:75ef:55ee:be8a:6c3])
 by smtp.gmail.com with ESMTPSA id h199sm3102389wme.4.2017.05.10.01.41.08
 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
 Wed, 10 May 2017 01:41:09 -0700 (PDT)
From: Lars Kurth <lars.kurth.xen@gmail.com>
Message-Id: <ED8F08FC-2B93-4398-A60A-A9CF3340CA9B@gmail.com>
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
Date: Wed, 10 May 2017 09:41:08 +0100
References: <90DD5747-E161-4792-B890-1973EB7ED568@gmail.com>
 <F60D60D4-7E51-43C5-BC44-B79F706997DE@gmail.com>
To: xen-devel <xen-devel@lists.xenproject.org>, xen-users@lists.xenproject.org,
 mirageos-devel <mirageos-devel@lists.xenproject.org>,
 win-pv-devel <Win-pv-devel@lists.xenproject.org>,
 embedded-pv-devel <embedded-pv-devel@lists.xenproject.org>
In-Reply-To: <F60D60D4-7E51-43C5-BC44-B79F706997DE@gmail.com>
X-Mailer: Apple Mail (2.2104)
Subject: Re: [win-pv-devel] Xen Project Developer Summit Design Sessions
	(Program published)
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/cgi-bin/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/cgi-bin/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0331016967860553278=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>


--===============0331016967860553278==
Content-Type: multipart/alternative; boundary="Apple-Mail=_D5CB4374-72B6-40F6-B080-AA6294C83C5F"


--Apple-Mail=_D5CB4374-72B6-40F6-B080-AA6294C83C5F
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

The link to the published program is at =
http://events.linuxfoundation.org/events/xen-developer-and-design-summit/p=
rogram/schedule =
<http://events.linuxfoundation.org/events/xen-developer-and-design-summit/=
program/schedule>
We will do PR in the coming weeks (we were ahead of schedule with the =
program)
Lars

> On 9 May 2017, at 16:10, Lars Kurth <lars.kurth.xen@gmail.com> wrote:
>=20
> Hi everyone,
> we created a simplified page to submit Design Sessions at =
http://events.linuxfoundation.org/events/xen-developer-and-design-summit/p=
rogram/cfp-design-session =
<http://events.linuxfoundation.org/events/xen-developer-and-design-summit/=
program/cfp-design-session>, which is also available from the event page =
menu under "Program > CFP - DESIGN SESSIONS". The old link will still =
work, but contains all the extra info related to regular 30 minute =
sessions and panels, which are not accepted any more.
> Regards
> Lars
>=20
>> On 8 May 2017, at 10:32, Lars Kurth <lars.kurth.xen@gmail.com =
<mailto:lars.kurth.xen@gmail.com>> wrote:
>>=20
>> Dear community members (I CC'ed people who submitted design sessions =
so far)
>>=20
>> I got a few questions regarding "acceptance" and scheduling of Design =
Sessions for the Developer and Design Summit. As you may recall, the =
Developer and Design Summit mixes the formats of past Summits and =
Hackathons. The afternoons are reserved for Design sessions, which will =
follow the format of Hackathons.
>>=20
>> Thus, in the tradition of the Xen Project Hackathons, we will not run =
Design Sessions through the Program Management Committee, as long as we =
have enough space to host sessions. The submission system is still open =
for Design Sessions at =
http://events.linuxfoundation.org/events/xen-developer-and-design-summit/p=
rogram/cfp =
<http://events.linuxfoundation.org/events/xen-developer-and-design-summit/=
program/cfp> (although the website says otherwise, which I will get =
fixed) and sessions can be submitted until Friday 7th of July. Sessions =
can still be proposed on the day of the event (using A5 post-it-notes) =
as in the past.=20
>>=20
>> Whenever new sessions come in, I will once a week put them live the =
afternoon Design Sessions on the summit schedule, using the following =
criteria
>> Schedule sessions on a day which has similar topics to the ones =
already proposed (makes the live scheduling sessions at the event =
easier)
>> Schedule sessions on (or after) a day where related talks take place =
(creates more valuable discussions)
>> Schedule such that people which have multiple sessions get some =
breathing space (aka avoid that everyone has all their sessions on one =
day)
>>=20
>> Note that we will have room rooms with a projector, others won't.=20
>> If you submit design sessions and you need a projector, please add =
this under "List any technical requirements that you have for your =
presentation over and above the standard projector, screen and wireless =
internet"=20
>> If you need to have your session on a specific day due to travel =
constraints, please add this under "List any technical requirements..."
>> The purpose of publishing design sessions as they come in is twofold:=20=

>> let you know what others are planning to do (avoids duplicate =
sessions)
>> marketing (attracts attendees)
>> You can propose new design sessions every day of the event, but we =
prefer if you proposed them using the submission system.=20
>>=20
>> As in the past at Hackathons we will try and balance the schedule and =
merge related sessions as a group in a 30 minute scheduling session.  I =
am also happy getting feedback from community members on this thread: to =
facilitate this, I will post schedule updates every other week or so.=20
>>=20
>> As we have Linux Foundation staff on hand, we should also be able to =
update the on-line schedule immediately afterwards. But we will also =
have a paper schedule (using post-it notes), as it is easier to manage =
the scheduling session.
>>=20
>> I attached the schedule for Design sessions as we will publish by the =
end of this week


--Apple-Mail=_D5CB4374-72B6-40F6-B080-AA6294C83C5F
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; -webkit-line-break: after-white-space;" =
class=3D"">The link to the published program is at&nbsp;<a =
href=3D"http://events.linuxfoundation.org/events/xen-developer-and-design-=
summit/program/schedule" =
class=3D"">http://events.linuxfoundation.org/events/xen-developer-and-desi=
gn-summit/program/schedule</a><div class=3D"">We will do PR in the =
coming weeks (we were ahead of schedule with the program)</div><div =
class=3D"">Lars</div><div class=3D""><br class=3D""><div><blockquote =
type=3D"cite" class=3D""><div class=3D"">On 9 May 2017, at 16:10, 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""><meta =
http-equiv=3D"Content-Type" content=3D"text/html charset=3Dus-ascii" =
class=3D""><div style=3D"word-wrap: break-word; -webkit-nbsp-mode: =
space; -webkit-line-break: after-white-space;" class=3D"">Hi =
everyone,<div class=3D"">we created a simplified page to submit Design =
Sessions at&nbsp;<a =
href=3D"http://events.linuxfoundation.org/events/xen-developer-and-design-=
summit/program/cfp-design-session" =
class=3D"">http://events.linuxfoundation.org/events/xen-developer-and-desi=
gn-summit/program/cfp-design-session</a>, which is also available from =
the event page menu under "Program &gt; CFP - DESIGN SESSIONS". The old =
link will still work, but contains all the extra info related to regular =
30 minute sessions and panels, which are not accepted any more.<br =
class=3D""><div class=3D"">Regards</div><div class=3D"">Lars</div><div =
class=3D""><br class=3D""><div class=3D""><blockquote type=3D"cite" =
class=3D""><div class=3D"">On 8 May 2017, at 10:32, 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""><meta =
http-equiv=3D"Content-Type" content=3D"text/html charset=3Dutf-8" =
class=3D""><div style=3D"word-wrap: break-word; -webkit-nbsp-mode: =
space; -webkit-line-break: after-white-space;" class=3D""><div =
class=3D"">Dear community members (I CC'ed people who submitted design =
sessions so far)</div><div class=3D""><br class=3D""></div><div =
class=3D"">I got a few questions regarding "acceptance" and scheduling =
of Design Sessions for the Developer and Design Summit. As you may =
recall, the Developer and Design Summit mixes the formats of past =
Summits and Hackathons. The afternoons are reserved for Design sessions, =
which will follow the format of Hackathons.</div><div class=3D""><br =
class=3D""></div><div class=3D"">Thus, in the tradition of the Xen =
Project Hackathons, we will not run Design Sessions through the Program =
Management Committee, as long as we have enough space to host sessions. =
The submission system is still open for Design Sessions at&nbsp;<a =
href=3D"http://events.linuxfoundation.org/events/xen-developer-and-design-=
summit/program/cfp" =
class=3D"">http://events.linuxfoundation.org/events/xen-developer-and-desi=
gn-summit/program/cfp</a>&nbsp;(although the website says otherwise, =
which I will get fixed) and sessions can be submitted until Friday 7th =
of July. Sessions can still be proposed on the day of the event (using =
A5 post-it-notes) as in the past.&nbsp;</div><div class=3D""><br =
class=3D""></div><div class=3D"">Whenever new sessions come in, I will =
once a week put them live the afternoon Design Sessions on the summit =
schedule, using the following criteria</div><div class=3D""><ul =
class=3D""><li class=3D"">Schedule sessions <b class=3D"">on a day which =
has similar topics</b> to the ones already proposed (makes the live =
scheduling sessions at the event easier)</li><li class=3D"">Schedule =
sessions&nbsp;<b class=3D"">on&nbsp;(or after)</b> a day where related =
talks take place (creates more valuable discussions)</li><li =
class=3D"">Schedule such that people which have multiple sessions get =
some breathing space (aka avoid that everyone has all their sessions on =
one day)</li></ul></div><div class=3D""><br class=3D""></div><div =
class=3D"">Note that we will have room rooms with a projector, others =
won't.&nbsp;</div><div class=3D""><ul class=3D""><li class=3D"">If you =
submit design sessions and you need a projector, please add this under =
"<b class=3D"">List any technical requirements</b> that you have for =
your presentation over and above the standard projector, screen and =
wireless internet"&nbsp;</li><li class=3D"">If you need to have your =
session on a specific day due to travel constraints, please add this =
under "<b class=3D"">List any technical =
requirements</b>..."</li></ul></div><div class=3D"">The purpose of =
publishing design sessions as they come in is twofold:&nbsp;</div><div =
class=3D""><ul class=3D""><li class=3D"">let you know what others are =
planning to do (avoids duplicate sessions)</li><li class=3D"">marketing =
(attracts attendees)</li></ul></div><div class=3D"">You can propose =
new&nbsp;<b class=3D"">design sessions every day of the event</b>, but =
we prefer if you proposed them using the submission =
system.&nbsp;</div><div class=3D""><br class=3D""></div><div class=3D"">As=
 in the past at Hackathons we will try and <b class=3D"">balance the =
schedule and merge related sessions as a group in a 30 minute scheduling =
session</b>. &nbsp;I am also happy getting feedback from community =
members on this thread: to facilitate this, I will post schedule updates =
every other week or so.&nbsp;</div><div class=3D""><br =
class=3D""></div><div class=3D"">As we have Linux Foundation staff on =
hand, we should also be able to update the on-line schedule immediately =
afterwards. But we will also have a paper schedule (using post-it =
notes), as it is easier to manage the scheduling session.</div><div =
class=3D""><br class=3D""></div><div class=3D"">I attached the schedule =
for Design sessions as we will publish by the end of this =
week</div></div></div></blockquote></div></div></div></div></div></blockqu=
ote></div><br class=3D""></div></body></html>=

--Apple-Mail=_D5CB4374-72B6-40F6-B080-AA6294C83C5F--


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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

--===============0331016967860553278==--


From win-pv-devel-bounces@lists.xenproject.org Mon May 15 13:04:50 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 15 May 2017 13:04: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 1dAFg9-0006yL-Fh; Mon, 15 May 2017 13:04:49 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=301e7c014=owen.smith@citrix.com>)
 id 1dAFg8-0006y9-Du
 for win-pv-devel@lists.xenproject.org; Mon, 15 May 2017 13:04:48 +0000
Received: from [193.109.254.147] by server-6.bemta-6.messagelabs.com id
 C3/0D-03920-F67A9195; Mon, 15 May 2017 13:04:47 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmplkeJIrShJLcpLzFFi42JxWrrBXjdvuWS
 kQd97U4s/ixMdGD0Of7jCEsAYxZqZl5RfkcCacbqti6XgxRmOir8v1rI2MDbdYe1i5OSQEPCX
 +HzhKQuIzSYgK/Fx5WdmEFtEQF1i3+etTCA2s4CaxPX9XWD1wgKaEmdu3AaLswioSvzuaGIHs
 XkFrCTWzbjABDFTTmLy4kuMIDangLXEizc/wWwhoJqNP5qZIWwliW+LXzBD9ApKnJz5hAVil4
 TEwRcvmCcw8s5CkpqFJLWAkWkVo3pxalFZapGuoV5SUWZ6RkluYmaOrqGBmV5uanFxYnpqTmJ
 SsV5yfu4mRmDwMADBDsadz50OMUpyMCmJ8rq+FI8U4kvKT6nMSCzOiC8qzUktPsQow8GhJMEb
 tkwyUkiwKDU9tSItMwcYxjBpCQ4eJRGING9xQWJucWY6ROoUo6KUOK8XSEIAJJFRmgfXBoudS
 4yyUsK8jECHCPEUpBblZpagyr9iFOdgVBLmTQOZwpOZVwI3/RXQYiaQxSA38xaXJCKkpBoY/e
 5x3lt841XCDTV31zNsUuc1e2qK3X52Fe0NzxP4L2qQxZj3b5eGj3f9s5knZ0xwmGgn8exH7tY
 dezlLCi5KSLx/UvxNsnJLyeGju59NOfcywOXPvYisX3ahi97xFnezc/fv1n7N8F/s5sHHf9X3
 +J/NXRVRdLNH83Jo3cKU1cknF8eLPHmbqsRSnJFoqMVcVJwIAEp6U2SYAgAA
X-Env-Sender: prvs=301e7c014=owen.smith@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1494853484!89888049!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15306 invoked from network); 15 May 2017 13:04:46 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
 by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
 15 May 2017 13:04:46 -0000
X-IronPort-AV: E=Sophos;i="5.38,345,1491264000"; d="scan'208";a="432394851"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 15 May 2017 14:04:07 +0100
Message-ID: <20170515130429.20580-5-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20170515130429.20580-1-owen.smith@citrix.com>
References: <20170515130429.20580-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 04/26] Refactor Adapter.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/cgi-bin/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/cgi-bin/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
T3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW52YmQvYWRhcHRl
ci5jICAgIHwgMjMwMSArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogc3JjL3hlbnZiZC9hZGFwdGVyLmggICAgfCAgMTIzICstLQogc3JjL3hlbnZiZC9ibG9j
a3JpbmcuYyAgfCAgIDIyICstCiBzcmMveGVudmJkL2RyaXZlci5jICAgICB8ICAxODUgKy0tLQog
c3JjL3hlbnZiZC9kcml2ZXIuaCAgICAgfCAgICA1ICsKIHNyYy94ZW52YmQvZnJvbnRlbmQuYyAg
IHwgIDEzMyArLS0KIHNyYy94ZW52YmQvZnJvbnRlbmQuaCAgIHwgICAgNCArCiBzcmMveGVudmJk
L2dyYW50ZXIuYyAgICB8ICAgMjYgKy0KIHNyYy94ZW52YmQvbm90aWZpZXIuYyAgIHwgICA1MSAr
LQogc3JjL3hlbnZiZC9wZG9pbnF1aXJ5LmMgfCAgIDQ0ICstCiBzcmMveGVudmJkL3Bkb2lucXVp
cnkuaCB8ICAgIDMgKy0KIHNyYy94ZW52YmQvdGFyZ2V0LmMgICAgIHwgIDEzMyArKy0KIHNyYy94
ZW52YmQvdGFyZ2V0LmggICAgIHwgICAyNyArLQogMTMgZmlsZXMgY2hhbmdlZCwgMTI5MiBpbnNl
cnRpb25zKCspLCAxNzY1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy94ZW52YmQvYWRh
cHRlci5jIGIvc3JjL3hlbnZiZC9hZGFwdGVyLmMKaW5kZXggMWUwMzQwYi4uN2ZiNzg2ZiAxMDA2
NDQKLS0tIGEvc3JjL3hlbnZiZC9hZGFwdGVyLmMKKysrIGIvc3JjL3hlbnZiZC9hZGFwdGVyLmMK
QEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlIDxkZWJ1Z19pbnRlcmZhY2UuaD4KICNpbmNsdWRl
IDxzdXNwZW5kX2ludGVyZmFjZS5oPgogI2luY2x1ZGUgPGVtdWxhdGVkX2ludGVyZmFjZS5oPgor
I2luY2x1ZGUgPHVucGx1Z19pbnRlcmZhY2UuaD4KIAogI2luY2x1ZGUgImFkYXB0ZXIuaCIKICNp
bmNsdWRlICJkcml2ZXIuaCIKQEAgLTU4LDU1MyArNTksNTkgQEAKICNpbmNsdWRlICJhc3NlcnQu
aCIKIAogI2RlZmluZSBNQVhOQU1FTEVOICAxMjgKLQotI2RlZmluZSBBREFQVEVSX1NJR05BVFVS
RSAgICdvZGZYJworI2RlZmluZSBBREFQVEVSX1BPT0xfVEFHICAgICAgICAnYWRBWCcKIAogc3Ry
dWN0IF9YRU5WQkRfQURBUFRFUiB7Ci0gICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIFNp
Z25hdHVyZTsKICAgICBQREVWSUNFX09CSkVDVCAgICAgICAgICAgICAgRGV2aWNlT2JqZWN0Owog
ICAgIFBERVZJQ0VfT0JKRUNUICAgICAgICAgICAgICBMb3dlckRldmljZU9iamVjdDsKICAgICBQ
REVWSUNFX09CSkVDVCAgICAgICAgICAgICAgUGh5c2ljYWxEZXZpY2VPYmplY3Q7CiAgICAgS1NQ
SU5fTE9DSyAgICAgICAgICAgICAgICAgIExvY2s7CiAgICAgREVWSUNFX1BPV0VSX1NUQVRFICAg
ICAgICAgIERldmljZVBvd2VyOwotICAgIEFOU0lfU1RSSU5HICAgICAgICAgICAgICAgICBFbnVt
ZXJhdG9yOwotCi0gICAgLy8gUG93ZXIKICAgICBQWEVOVkJEX1RIUkVBRCAgICAgICAgICAgICAg
RGV2aWNlUG93ZXJUaHJlYWQ7CiAgICAgUElSUCAgICAgICAgICAgICAgICAgICAgICAgIERldmlj
ZVBvd2VySXJwOwogCi0gICAgLy8gSW50ZXJmYWNlcyB0byBYZW5CdXMKLSAgICBYRU5CVVNfRVZU
Q0hOX0lOVEVSRkFDRSAgICAgRXZ0Y2huOwotICAgIFhFTkJVU19TVE9SRV9JTlRFUkZBQ0UgICAg
ICBTdG9yZTsKLSAgICBYRU5CVVNfR05UVEFCX0lOVEVSRkFDRSAgICAgR250dGFiOwotICAgIFhF
TkJVU19ERUJVR19JTlRFUkZBQ0UgICAgICBEZWJ1ZzsKLSAgICBYRU5CVVNfU1VTUEVORF9JTlRF
UkZBQ0UgICAgU3VzcGVuZDsKLSAgICBYRU5CVVNfVU5QTFVHX0lOVEVSRkFDRSAgICAgVW5wbHVn
OwotICAgIFhFTkZJTFRfRU1VTEFURURfSU5URVJGQUNFICBFbXVsYXRlZDsKKyAgICBYRU5CVVNf
RVZUQ0hOX0lOVEVSRkFDRSAgICAgRXZ0Y2huSW50ZXJmYWNlOworICAgIFhFTkJVU19TVE9SRV9J
TlRFUkZBQ0UgICAgICBTdG9yZUludGVyZmFjZTsKKyAgICBYRU5CVVNfR05UVEFCX0lOVEVSRkFD
RSAgICAgR250dGFiSW50ZXJmYWNlOworICAgIFhFTkJVU19ERUJVR19JTlRFUkZBQ0UgICAgICBE
ZWJ1Z0ludGVyZmFjZTsKKyAgICBYRU5CVVNfU1VTUEVORF9JTlRFUkZBQ0UgICAgU3VzcGVuZElu
dGVyZmFjZTsKKyAgICBYRU5CVVNfVU5QTFVHX0lOVEVSRkFDRSAgICAgVW5wbHVnSW50ZXJmYWNl
OworICAgIFhFTkZJTFRfRU1VTEFURURfSU5URVJGQUNFICBFbXVsYXRlZEludGVyZmFjZTsKICAg
ICAKLSAgICAvLyBEZWJ1ZyBDYWxsYmFjawogICAgIFBYRU5CVVNfREVCVUdfQ0FMTEJBQ0sgICAg
ICBEZWJ1Z0NhbGxiYWNrOwogICAgIFBYRU5CVVNfU1VTUEVORF9DQUxMQkFDSyAgICBTdXNwZW5k
Q2FsbGJhY2s7CiAKLSAgICAvLyBUYXJnZXRzCiAgICAgS1NQSU5fTE9DSyAgICAgICAgICAgICAg
ICAgIFRhcmdldExvY2s7Ci0gICAgUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgICAgIFRhcmdl
dHNbWEVOVkJEX01BWF9UQVJHRVRTXTsKLQotICAgIC8vIFRhcmdldCBFbnVtZXJhdGlvbgorICAg
IFBYRU5WQkRfVEFSR0VUICAgICAgICAgICAgICBUYXJnZXRMaXN0W1hFTlZCRF9NQVhfVEFSR0VU
U107CiAgICAgUFhFTlZCRF9USFJFQUQgICAgICAgICAgICAgIFNjYW5UaHJlYWQ7CiAgICAgS0VW
RU5UICAgICAgICAgICAgICAgICAgICAgIFNjYW5FdmVudDsKICAgICBQWEVOQlVTX1NUT1JFX1dB
VENIICAgICAgICAgU2NhbldhdGNoOwogCi0gICAgLy8gU3RhdGlzdGljcwotICAgIExPTkcgICAg
ICAgICAgICAgICAgICAgICAgICBDdXJyZW50U3JiczsKLSAgICBMT05HICAgICAgICAgICAgICAg
ICAgICAgICAgTWF4aW11bVNyYnM7Ci0gICAgTE9ORyAgICAgICAgICAgICAgICAgICAgICAgIFRv
dGFsU3JiczsKKyAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgQnVpbGRJbzsKKyAgICBV
TE9ORyAgICAgICAgICAgICAgICAgICAgICAgU3RhcnRJbzsKKyAgICBVTE9ORyAgICAgICAgICAg
ICAgICAgICAgICAgQ29tcGxldGVkOwogfTsKIAotLy89PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotc3Rh
dGljIEZPUkNFSU5MSU5FIEJPT0xFQU4KLV9fQWRhcHRlclNldERldmljZVBvd2VyU3RhdGUoCi0g
ICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgICAgIEFkYXB0ZXIsCi0gICAgX19p
biBERVZJQ0VfUE9XRVJfU1RBVEUgICAgICAgICAgU3RhdGUKLSAgICApCi17Ci0gICAgS0lSUUwg
ICAgICAgSXJxbDsKLSAgICBCT09MRUFOICAgICBDaGFuZ2VkID0gRkFMU0U7Ci0KLSAgICBLZUFj
cXVpcmVTcGluTG9jaygmQWRhcHRlci0+TG9jaywgJklycWwpOwotCi0gICAgaWYgKEFkYXB0ZXIt
PkRldmljZVBvd2VyICE9IFN0YXRlKSB7Ci0gICAgICAgIFZlcmJvc2UoIlBPV0VSICVzIHRvICVz
XG4iLCBQb3dlckRldmljZVN0YXRlTmFtZShBZGFwdGVyLT5EZXZpY2VQb3dlciksIFBvd2VyRGV2
aWNlU3RhdGVOYW1lKFN0YXRlKSk7Ci0gICAgICAgIENoYW5nZWQgPSBUUlVFOwotICAgICAgICBB
ZGFwdGVyLT5EZXZpY2VQb3dlciA9IFN0YXRlOwotICAgIH0KLQotICAgIEtlUmVsZWFzZVNwaW5M
b2NrKCZBZGFwdGVyLT5Mb2NrLCBJcnFsKTsKLQotICAgIHJldHVybiBDaGFuZ2VkOwotfQotCi1z
dGF0aWMgRk9SQ0VJTkxJTkUgREVWSUNFX1BPV0VSX1NUQVRFCi1fX0FkYXB0ZXJHZXREZXZpY2VQ
b3dlclN0YXRlKAotICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAgICAgICAgIEFkYXB0
ZXIKLSAgICApCi17Ci0gICAgS0lSUUwgICAgICAgICAgICAgICBJcnFsOwotICAgIERFVklDRV9Q
T1dFUl9TVEFURSAgU3RhdGU7Ci0KLSAgICBLZUFjcXVpcmVTcGluTG9jaygmQWRhcHRlci0+TG9j
aywgJklycWwpOwotICAgIFN0YXRlID0gQWRhcHRlci0+RGV2aWNlUG93ZXI7Ci0gICAgS2VSZWxl
YXNlU3BpbkxvY2soJkFkYXB0ZXItPkxvY2ssIElycWwpOwotCi0gICAgcmV0dXJuIFN0YXRlOwot
fQotCi1fX2NoZWNrUmV0dXJuCi1zdGF0aWMgRk9SQ0VJTkxJTkUgUFhFTlZCRF9UQVJHRVQKLV9f
QWRhcHRlckdldFRhcmdldEFsd2F5cygKLSAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAg
ICAgICAgICAgQWRhcHRlciwKLSAgICBfX2luIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBU
YXJnZXRJZCwKLSAgICBfX2luIFBDSEFSICAgICAgICAgICAgICAgICAgICAgICBDYWxsZXIKLSAg
ICApCi17Ci0gICAgUFhFTlZCRF9UQVJHRVQgVGFyZ2V0OwotICAgIEtJUlFMICAgICAgIElycWw7
Ci0KLSAgICBBU1NFUlQzVShUYXJnZXRJZCwgPCwgWEVOVkJEX01BWF9UQVJHRVRTKTsKLQotICAg
IEtlQWNxdWlyZVNwaW5Mb2NrKCZBZGFwdGVyLT5UYXJnZXRMb2NrLCAmSXJxbCk7Ci0gICAgVGFy
Z2V0ID0gQWRhcHRlci0+VGFyZ2V0c1tUYXJnZXRJZF07Ci0gICAgaWYgKFRhcmdldCkgewotICAg
ICAgICBfX1RhcmdldFJlZmVyZW5jZShUYXJnZXQsIENhbGxlcik7Ci0gICAgfQotICAgIEtlUmVs
ZWFzZVNwaW5Mb2NrKCZBZGFwdGVyLT5UYXJnZXRMb2NrLCBJcnFsKTsKLSAgICAKLSAgICByZXR1
cm4gVGFyZ2V0OwotfQotCi1fX2NoZWNrUmV0dXJuCi1zdGF0aWMgRk9SQ0VJTkxJTkUgUFhFTlZC
RF9UQVJHRVQKLV9fX0FkYXB0ZXJHZXRUYXJnZXQoCi0gICAgX19pbiBQWEVOVkJEX0FEQVBURVIg
ICAgICAgICAgICAgICAgIEFkYXB0ZXIsCi0gICAgX19pbiBVTE9ORyAgICAgICAgICAgICAgICAg
ICAgICAgVGFyZ2V0SWQsCi0gICAgX19pbiBQQ0hBUiAgICAgICAgICAgICAgICAgICAgICAgQ2Fs
bGVyCi0gICAgKQotewotICAgIFBYRU5WQkRfVEFSR0VUIFRhcmdldCA9IE5VTEw7Ci0gICAgS0lS
UUwgICAgICAgSXJxbDsKLQotICAgIEFTU0VSVDNVKFRhcmdldElkLCA8LCBYRU5WQkRfTUFYX1RB
UkdFVFMpOwotCi0gICAgS2VBY3F1aXJlU3BpbkxvY2soJkFkYXB0ZXItPlRhcmdldExvY2ssICZJ
cnFsKTsKLSAgICBpZiAoQWRhcHRlci0+VGFyZ2V0c1tUYXJnZXRJZF0gJiYgCi0gICAgICAgIF9f
VGFyZ2V0UmVmZXJlbmNlKEFkYXB0ZXItPlRhcmdldHNbVGFyZ2V0SWRdLCBDYWxsZXIpID4gMCkg
ewotICAgICAgICBUYXJnZXQgPSBBZGFwdGVyLT5UYXJnZXRzW1RhcmdldElkXTsKLSAgICB9Ci0g
ICAgS2VSZWxlYXNlU3BpbkxvY2soJkFkYXB0ZXItPlRhcmdldExvY2ssIElycWwpOwotICAgIAot
ICAgIHJldHVybiBUYXJnZXQ7Ci19Ci0jZGVmaW5lIF9fQWRhcHRlckdldFRhcmdldChmLCB0KSBf
X19BZGFwdGVyR2V0VGFyZ2V0KGYsIHQsIF9fRlVOQ1RJT05fXykKLQotQk9PTEVBTgotQWRhcHRl
ckxpbmtUYXJnZXQoCi0gICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgICAgIEFk
YXB0ZXIsCi0gICAgX19pbiBQWEVOVkJEX1RBUkdFVCAgICAgICAgICAgICAgICAgVGFyZ2V0Ci0g
ICAgKQotewotICAgIEtJUlFMICAgICAgIElycWw7Ci0gICAgUFhFTlZCRF9UQVJHRVQgQ3VycmVu
dDsKLSAgICBCT09MRUFOICAgICBSZXN1bHQgPSBGQUxTRTsKLSAgICBVTE9ORyAgICAgICBUYXJn
ZXRJZCA9IFRhcmdldEdldFRhcmdldElkKFRhcmdldCk7Ci0KLSAgICBLZUFjcXVpcmVTcGluTG9j
aygmQWRhcHRlci0+VGFyZ2V0TG9jaywgJklycWwpOwotICAgIEN1cnJlbnQgPSBBZGFwdGVyLT5U
YXJnZXRzW1RhcmdldElkXTsKLSAgICBpZiAoQWRhcHRlci0+VGFyZ2V0c1tUYXJnZXRJZF0gPT0g
TlVMTCkgewotICAgICAgICBBZGFwdGVyLT5UYXJnZXRzW1RhcmdldElkXSA9IFRhcmdldDsKLSAg
ICAgICAgUmVzdWx0ID0gVFJVRTsKLSAgICB9Ci0gICAgS2VSZWxlYXNlU3BpbkxvY2soJkFkYXB0
ZXItPlRhcmdldExvY2ssIElycWwpOwotCi0gICAgaWYgKCFSZXN1bHQpIHsKLSAgICAgICAgV2Fy
bmluZygiVGFyZ2V0WyVkXSA6IEN1cnJlbnQgMHglcCwgTmV3IDB4JXBcbiIsIFRhcmdldElkLCBD
dXJyZW50LCBUYXJnZXQpOwotICAgIH0KLSAgICByZXR1cm4gUmVzdWx0OwotfQotQk9PTEVBTgot
QWRhcHRlclVubGlua1RhcmdldCgKLSAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAg
ICAgICAgQWRhcHRlciwKLSAgICBfX2luIFBYRU5WQkRfVEFSR0VUICAgICAgICAgICAgICAgICBU
YXJnZXQKLSAgICApCi17Ci0gICAgS0lSUUwgICAgICAgSXJxbDsKLSAgICBQWEVOVkJEX1RBUkdF
VCBDdXJyZW50OwotICAgIEJPT0xFQU4gICAgIFJlc3VsdCA9IEZBTFNFOwotICAgIFVMT05HICAg
ICAgIFRhcmdldElkID0gVGFyZ2V0R2V0VGFyZ2V0SWQoVGFyZ2V0KTsKLQotICAgIEtlQWNxdWly
ZVNwaW5Mb2NrKCZBZGFwdGVyLT5UYXJnZXRMb2NrLCAmSXJxbCk7Ci0gICAgQ3VycmVudCA9IEFk
YXB0ZXItPlRhcmdldHNbVGFyZ2V0SWRdOwotICAgIGlmIChBZGFwdGVyLT5UYXJnZXRzW1Rhcmdl
dElkXSA9PSBUYXJnZXQpIHsKLSAgICAgICAgQWRhcHRlci0+VGFyZ2V0c1tUYXJnZXRJZF0gPSBO
VUxMOwotICAgICAgICBSZXN1bHQgPSBUUlVFOwotICAgIH0KLSAgICBLZVJlbGVhc2VTcGluTG9j
aygmQWRhcHRlci0+VGFyZ2V0TG9jaywgSXJxbCk7Ci0KLSAgICBpZiAoIVJlc3VsdCkgewotICAg
ICAgICBXYXJuaW5nKCJUYXJnZXRbJWRdIDogQ3VycmVudCAweCVwLCBFeHBlY3RlZCAweCVwXG4i
LCBUYXJnZXRJZCwgQ3VycmVudCwgVGFyZ2V0KTsKLSAgICB9Ci0gICAgcmV0dXJuIFJlc3VsdDsK
LX0KLQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLy8gUXVlcnlJbnRlcmZhY2UKLQotX19kcnZf
cmVxdWlyZXNJUlFMKFBBU1NJVkVfTEVWRUwpCi1zdGF0aWMgTlRTVEFUVVMKLUFkYXB0ZXJRdWVy
eUludGVyZmFjZSgKLSAgICBJTiAgUFhFTlZCRF9BREFQVEVSICAgICBBZGFwdGVyLAotICAgIElO
ICBjb25zdCBHVUlEICAgICAgKkd1aWQsCi0gICAgSU4gIFVMT05HICAgICAgICAgICBWZXJzaW9u
LAotICAgIE9VVCBQSU5URVJGQUNFICAgICAgSW50ZXJmYWNlLAotICAgIElOICBVTE9ORyAgICAg
ICAgICAgU2l6ZSwKLSAgICBJTiAgQk9PTEVBTiAgICAgICAgIE9wdGlvbmFsCi0gICAgKQotewot
ICAgIEtFVkVOVCAgICAgICAgICAgICAgRXZlbnQ7Ci0gICAgSU9fU1RBVFVTX0JMT0NLICAgICBT
dGF0dXNCbG9jazsKLSAgICBQSVJQICAgICAgICAgICAgICAgIElycDsKLSAgICBQSU9fU1RBQ0tf
TE9DQVRJT04gIFN0YWNrTG9jYXRpb247Ci0gICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7
Ci0KLSAgICBBU1NFUlQzVShLZUdldEN1cnJlbnRJcnFsKCksID09LCBQQVNTSVZFX0xFVkVMKTsK
LQotICAgIEtlSW5pdGlhbGl6ZUV2ZW50KCZFdmVudCwgTm90aWZpY2F0aW9uRXZlbnQsIEZBTFNF
KTsKLSAgICBSdGxaZXJvTWVtb3J5KCZTdGF0dXNCbG9jaywgc2l6ZW9mKElPX1NUQVRVU19CTE9D
SykpOwotCi0gICAgSXJwID0gSW9CdWlsZFN5bmNocm9ub3VzRnNkUmVxdWVzdChJUlBfTUpfUE5Q
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRhcHRlci0+TG93ZXJE
ZXZpY2VPYmplY3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxM
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmRXZlbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmU3RhdHVzQmxvY2spOwotCi0gICAgc3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZV
TDsKLSAgICBpZiAoSXJwID09IE5VTEwpCi0gICAgICAgIGdvdG8gZmFpbDE7Ci0KLSAgICBTdGFj
a0xvY2F0aW9uID0gSW9HZXROZXh0SXJwU3RhY2tMb2NhdGlvbihJcnApOwotICAgIFN0YWNrTG9j
YXRpb24tPk1pbm9yRnVuY3Rpb24gPSBJUlBfTU5fUVVFUllfSU5URVJGQUNFOwotCi0gICAgU3Rh
Y2tMb2NhdGlvbi0+UGFyYW1ldGVycy5RdWVyeUludGVyZmFjZS5JbnRlcmZhY2VUeXBlID0gR3Vp
ZDsKLSAgICBTdGFja0xvY2F0aW9uLT5QYXJhbWV0ZXJzLlF1ZXJ5SW50ZXJmYWNlLlNpemUgPSAo
VVNIT1JUKVNpemU7Ci0gICAgU3RhY2tMb2NhdGlvbi0+UGFyYW1ldGVycy5RdWVyeUludGVyZmFj
ZS5WZXJzaW9uID0gKFVTSE9SVClWZXJzaW9uOwotICAgIFN0YWNrTG9jYXRpb24tPlBhcmFtZXRl
cnMuUXVlcnlJbnRlcmZhY2UuSW50ZXJmYWNlID0gSW50ZXJmYWNlOwotICAgIAotICAgIElycC0+
SW9TdGF0dXMuU3RhdHVzID0gU1RBVFVTX05PVF9TVVBQT1JURUQ7Ci0KLSAgICBzdGF0dXMgPSBJ
b0NhbGxEcml2ZXIoQWRhcHRlci0+TG93ZXJEZXZpY2VPYmplY3QsIElycCk7Ci0gICAgaWYgKHN0
YXR1cyA9PSBTVEFUVVNfUEVORElORykgewotICAgICAgICAoVk9JRCkgS2VXYWl0Rm9yU2luZ2xl
T2JqZWN0KCZFdmVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeGVj
dXRpdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2VybmVsTW9kZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKLSAgICAgICAgc3RhdHVzID0gU3RhdHVz
QmxvY2suU3RhdHVzOwotICAgIH0KLQotICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKSB7Ci0g
ICAgICAgIGlmIChzdGF0dXMgPT0gU1RBVFVTX05PVF9TVVBQT1JURUQgJiYgT3B0aW9uYWwpCi0g
ICAgICAgICAgICBnb3RvIGRvbmU7Ci0KLSAgICAgICAgZ290byBmYWlsMjsKLSAgICB9Ci0KLWRv
bmU6Ci0gICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwotCi1mYWlsMjoKLSAgICBFcnJvcigiZmFp
bDJcbiIpOwotCi1mYWlsMToKLSAgICBFcnJvcigiZmFpbDEgKCUwOHgpXG4iLCBzdGF0dXMpOwot
Ci0gICAgcmV0dXJuIHN0YXR1czsKLX0KLQotI2RlZmluZSBRVUVSWV9JTlRFUkZBQ0UoICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgIF9BZGFwdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX1Byb3ZpZGVyTmFtZSwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIF9JbnRlcmZhY2VOYW1lLCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBfSW50
ZXJmYWNlLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX1NpemUsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgIF9PcHRpb25hbCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBBZGFwdGVyUXVlcnlJbnRl
cmZhY2UoKF9BZGFwdGVyKSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAmR1VJRF8gIyMgX1By
b3ZpZGVyTmFtZSAjIyBfICMjIF9JbnRlcmZhY2VOYW1lICMjIF9JTlRFUkZBQ0UsICAgICBcCi0g
ICAgICAgICAgICAgICAgICAgICAgX1Byb3ZpZGVyTmFtZSAjIyBfICMjIF9JbnRlcmZhY2VOYW1l
ICMjIF9JTlRFUkZBQ0VfVkVSU0lPTl9NQVgsICAgXAotICAgICAgICAgICAgICAgICAgICAgIChf
SW50ZXJmYWNlKSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAoX1NpemUpLCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAg
ICAgICAgICAgKF9PcHRpb25hbCkpCi0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS8vIERlYnVn
Ci0KLXN0YXRpYyBERUNMU1BFQ19OT0lOTElORSBWT0lECi1BZGFwdGVyRGVidWdDYWxsYmFjaygK
LSAgICBfX2luIFBWT0lEICAgICAgICAgICAgICAgICAgICAgICBDb250ZXh0LAotICAgIF9faW4g
Qk9PTEVBTiAgICAgICAgICAgICAgICAgICAgIENyYXNoaW5nCi0gICAgKQotewotICAgIFBYRU5W
QkRfQURBUFRFUiAgICAgQWRhcHRlciA9IENvbnRleHQ7Ci0gICAgVUxPTkcgICAgICAgICAgIFRh
cmdldElkOwotCi0gICAgaWYgKEFkYXB0ZXIgPT0gTlVMTCB8fCBBZGFwdGVyLT5EZWJ1Z0NhbGxi
YWNrID09IE5VTEwpCi0gICAgICAgIHJldHVybjsKLQotICAgIFhFTkJVU19ERUJVRyhQcmludGYs
ICZBZGFwdGVyLT5EZWJ1ZywKLSAgICAgICAgICAgICAgICAgIkFEQVBURVI6IFZlcnNpb246ICVk
LiVkLiVkLiVkICglZC8lZC8lZClcbiIsCi0gICAgICAgICAgICAgICAgIE1BSk9SX1ZFUlNJT04s
IE1JTk9SX1ZFUlNJT04sIE1JQ1JPX1ZFUlNJT04sIEJVSUxEX05VTUJFUiwKLSAgICAgICAgICAg
ICAgICAgREFZLCBNT05USCwgWUVBUik7IAotICAgIFhFTkJVU19ERUJVRyhQcmludGYsICZBZGFw
dGVyLT5EZWJ1ZywKLSAgICAgICAgICAgICAgICAgIkFEQVBURVI6IEFkYXB0ZXI6IDB4JXAgJXNc
biIsCi0gICAgICAgICAgICAgICAgIENvbnRleHQsCi0gICAgICAgICAgICAgICAgIENyYXNoaW5n
ID8gIkNSQVNISU5HIiA6ICIiKTsKLSAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCAmQWRhcHRlci0+
RGVidWcsCi0gICAgICAgICAgICAgICAgICJBREFQVEVSOiBEZXZPYmogMHglcCBMb3dlckRldk9i
aiAweCVwIFBoeXNEZXZPYmogMHglcFxuIiwKLSAgICAgICAgICAgICAgICAgQWRhcHRlci0+RGV2
aWNlT2JqZWN0LAotICAgICAgICAgICAgICAgICBBZGFwdGVyLT5Mb3dlckRldmljZU9iamVjdCwK
LSAgICAgICAgICAgICAgICAgQWRhcHRlci0+UGh5c2ljYWxEZXZpY2VPYmplY3QpOwotICAgIFhF
TkJVU19ERUJVRyhQcmludGYsICZBZGFwdGVyLT5EZWJ1ZywKLSAgICAgICAgICAgICAgICAgIkFE
QVBURVI6IERldmljZVBvd2VyU3RhdGU6ICVzXG4iLAotICAgICAgICAgICAgICAgICBQb3dlckRl
dmljZVN0YXRlTmFtZShBZGFwdGVyLT5EZXZpY2VQb3dlcikpOwotICAgIFhFTkJVU19ERUJVRyhQ
cmludGYsICZBZGFwdGVyLT5EZWJ1ZywKLSAgICAgICAgICAgICAgICAgIkFEQVBURVI6IEVudW1l
cmF0b3IgICAgICA6ICVzICgweCVwKVxuIiwKLSAgICAgICAgICAgICAgICAgQWRhcHRlckVudW0o
QWRhcHRlciksIEFkYXB0ZXItPkVudW1lcmF0b3IuQnVmZmVyKTsKLSAgICBYRU5CVVNfREVCVUco
UHJpbnRmLCAmQWRhcHRlci0+RGVidWcsCi0gICAgICAgICAgICAgICAgICJBREFQVEVSOiBTcmJz
ICAgICAgICAgICAgOiAlZCAvICVkICglZCBUb3RhbClcbiIsCi0gICAgICAgICAgICAgICAgIEFk
YXB0ZXItPkN1cnJlbnRTcmJzLCBBZGFwdGVyLT5NYXhpbXVtU3JicywgQWRhcHRlci0+VG90YWxT
cmJzKTsKLQotICAgIEJ1ZmZlckRlYnVnQ2FsbGJhY2soJkFkYXB0ZXItPkRlYnVnKTsKLSAgICAK
LSAgICBmb3IgKFRhcmdldElkID0gMDsgVGFyZ2V0SWQgPCBYRU5WQkRfTUFYX1RBUkdFVFM7ICsr
VGFyZ2V0SWQpIHsKLSAgICAgICAgLy8gbm8gbmVlZCB0byB1c2UgX19BZGFwdGVyR2V0VGFyZ2V0
ICh3aGljaCBpcyBsb2NrZWQgYXQgRElTUEFUQ0gpIGFzIGNhbGxlZCBhdCBISUdIX0xFVkVMCi0g
ICAgICAgIFBYRU5WQkRfVEFSR0VUIFRhcmdldCA9IEFkYXB0ZXItPlRhcmdldHNbVGFyZ2V0SWRd
OwotICAgICAgICBpZiAoVGFyZ2V0ID09IE5VTEwpCi0gICAgICAgICAgICBjb250aW51ZTsKLQot
ICAgICAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCAmQWRhcHRlci0+RGVidWcsCi0gICAgICAgICAg
ICAgICAgICAgICAiQURBUFRFUjogPT09PT4gVGFyZ2V0WyUtM2RdICAgIDogMHglcFxuIiwgICAg
ICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgIFRhcmdldElkLCBUYXJnZXQpOwot
Ci0gICAgICAgIC8vIGNhbGwgVGFyZ2V0J3MgZGVidWcgY2FsbGJhY2sgZGlyZWN0bHkKLSAgICAg
ICAgVGFyZ2V0RGVidWdDYWxsYmFjayhUYXJnZXQsICZBZGFwdGVyLT5EZWJ1Zyk7Ci0KLSAgICAg
ICAgWEVOQlVTX0RFQlVHKFByaW50ZiwgJkFkYXB0ZXItPkRlYnVnLAotICAgICAgICAgICAgICAg
ICAgICAgIkFEQVBURVI6IDw9PT09IFRhcmdldFslLTNkXSAgICA6IDB4JXBcbiIsICAgICAgICAg
ICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgICBUYXJnZXRJZCwgVGFyZ2V0KTsKLSAgICB9
Ci0KLSAgICBBZGFwdGVyLT5NYXhpbXVtU3JicyA9IEFkYXB0ZXItPkN1cnJlbnRTcmJzOwotICAg
IEFkYXB0ZXItPlRvdGFsU3JicyA9IDA7Ci19Ci0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS8v
IEVudW1lcmF0aW9uCi1zdGF0aWMgRk9SQ0VJTkxJTkUgVUxPTkcKLV9fUGFyc2VWYmQoCi0gICAg
X19pbiBQQ0hBUiAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlSWRTdHIKLSAgICApCi17Ci0g
ICAgVUxPTkcgICBEZXZpY2VJZCA9IHN0cnRvdWwoRGV2aWNlSWRTdHIsIE5VTEwsIDEwKTsKLSAg
ICAKLSAgICBBU1NFUlQzVSgoRGV2aWNlSWQgJiB+KCgxIDw8IDI5KSAtIDEpKSwgPT0sIDApOwot
Ci0gICAgaWYgKERldmljZUlkICYgKDEgPDwgMjgpKSB7IAotICAgICAgICByZXR1cm4gKERldmlj
ZUlkICYgKCgxIDw8IDIwKSAtIDEpKSA+PiA4OyAgICAgICAgICAgLyogeHZkICAgICovCi0gICAg
fSBlbHNlIHsKLSAgICAgICAgc3dpdGNoIChEZXZpY2VJZCA+PiA4KSB7Ci0gICAgICAgIGNhc2Ug
MjAyOiAgIHJldHVybiAoRGV2aWNlSWQgJiAweEYwKSA+PiA0OyAgICAgICAgICAvKiB4dmQgICAg
Ki8KLSAgICAgICAgY2FzZSA4OiAgICAgcmV0dXJuIChEZXZpY2VJZCAmIDB4RjApID4+IDQ7ICAg
ICAgICAgIC8qIHNkICAgICAqLwotICAgICAgICBjYXNlIDM6ICAgICByZXR1cm4gKERldmljZUlk
ICYgMHhDMCkgPj4gNjsgICAgICAgICAgLyogaGRhLi5iICovCi0gICAgICAgIGNhc2UgMjI6ICAg
IHJldHVybiAoKERldmljZUlkICYgMHhDMCkgPj4gNikgKyAyOyAgICAvKiBoZGMuLmQgKi8KLSAg
ICAgICAgY2FzZSAzMzogICAgcmV0dXJuICgoRGV2aWNlSWQgJiAweEMwKSA+PiA2KSArIDQ7ICAg
IC8qIGhkZS4uZiAqLwotICAgICAgICBjYXNlIDM0OiAgICByZXR1cm4gKChEZXZpY2VJZCAmIDB4
QzApID4+IDYpICsgNjsgICAgLyogaGRnLi5oICovCi0gICAgICAgIGNhc2UgNTY6ICAgIHJldHVy
biAoKERldmljZUlkICYgMHhDMCkgPj4gNikgKyA4OyAgICAvKiBoZGkuLmogKi8KLSAgICAgICAg
Y2FzZSA1NzogICAgcmV0dXJuICgoRGV2aWNlSWQgJiAweEMwKSA+PiA2KSArIDEwOyAgIC8qIGhk
ay4ubCAqLwotICAgICAgICBjYXNlIDg4OiAgICByZXR1cm4gKChEZXZpY2VJZCAmIDB4QzApID4+
IDYpICsgMTI7ICAgLyogaGRtLi5uICovCi0gICAgICAgIGNhc2UgODk6ICAgIHJldHVybiAoKERl
dmljZUlkICYgMHhDMCkgPj4gNikgKyAxNDsgICAvKiBoZG8uLnAgKi8KLSAgICAgICAgZGVmYXVs
dDogICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgRXJyb3IoIkludmFsaWQgRGV2aWNl
SWQgJXMgKCUwOHgpXG4iLCBEZXZpY2VJZFN0ciwgRGV2aWNlSWQpOwotICAgIHJldHVybiAweEZG
RkZGRkZGOyAvLyBPQlZJT1VTIEVSUk9SIFZBTFVFCi19Ci1zdGF0aWMgRk9SQ0VJTkxJTkUgWEVO
VkJEX0RFVklDRV9UWVBFCi1fX0RldmljZVR5cGUoCi0gICAgX19pbiBQQ0hBUiAgICAgICAgICAg
ICAgICAgICAgICBUeXBlCi0gICAgKQotewotICAgIGlmIChzdHJjbXAoVHlwZSwgImRpc2siKSA9
PSAwKQotICAgICAgICByZXR1cm4gWEVOVkJEX0RFVklDRV9UWVBFX0RJU0s7Ci0gICAgaWYgKHN0
cmNtcChUeXBlLCAiY2Ryb20iKSA9PSAwKQotICAgICAgICByZXR1cm4gWEVOVkJEX0RFVklDRV9U
WVBFX0NEUk9NOwotICAgIHJldHVybiBYRU5WQkRfREVWSUNFX1RZUEVfVU5LTk9XTjsKLX0KLQot
c3RhdGljIEZPUkNFSU5MSU5FIEJPT0xFQU4KLV9fQWRhcHRlckhpZGRlblRhcmdldCgKLSAgICBJ
TiAgUFhFTlZCRF9BREFQVEVSICAgICBBZGFwdGVyLAotICAgIElOICBQQ0hBUiAgICAgICAgICAg
ICAgIERldmljZUlkLAotICAgIE9VVCBQWEVOVkJEX0RFVklDRV9UWVBFIERldmljZVR5cGUKLSAg
ICApCi17Ci0gICAgTlRTVEFUVVMgICAgc3RhdHVzOwotICAgIFBDSEFSICAgICAgIEJ1ZmZlcjsK
LSAgICBDSEFSICAgICAgICBQYXRoW3NpemVvZigiZGV2aWNlL3ZiZC9YWFhYWFhYWCIpXTsKLSAg
ICBVTE9ORyAgICAgICBWYWx1ZTsKLSAgICAKLSAgICAqRGV2aWNlVHlwZSA9IFhFTlZCRF9ERVZJ
Q0VfVFlQRV9VTktOT1dOOwotICAgIHN0YXR1cyA9IFJ0bFN0cmluZ0NiUHJpbnRmQShQYXRoLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoUGF0aCksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJkZXZpY2UvdmJkLyVzIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRGV2aWNlSWQpOwotICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQot
ICAgICAgICBnb3RvIGZhaWw7Ci0KLSAgICAvLyBFamVjdGVkPwotICAgIHN0YXR1cyA9IFhFTkJV
U19TVE9SRShSZWFkLCAmQWRhcHRlci0+U3RvcmUsIE5VTEwsIFBhdGgsICJlamVjdGVkIiwgJkJ1
ZmZlcik7Ci0gICAgaWYgKE5UX1NVQ0NFU1Moc3RhdHVzKSkgewotICAgICAgICBWYWx1ZSA9IHN0
cnRvdWwoQnVmZmVyLCBOVUxMLCAxMCk7Ci0gICAgICAgIFhFTkJVU19TVE9SRShGcmVlLCAmQWRh
cHRlci0+U3RvcmUsIEJ1ZmZlcik7Ci0KLSAgICAgICAgaWYgKFZhbHVlKQotICAgICAgICAgICAg
Z290byBpZ25vcmU7Ci0gICAgfQotCi0gICAgLy8gTm90IERpc2s/Ci0gICAgc3RhdHVzID0gWEVO
QlVTX1NUT1JFKFJlYWQsICZBZGFwdGVyLT5TdG9yZSwgTlVMTCwgUGF0aCwgImRldmljZS10eXBl
IiwgJkJ1ZmZlcik7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgIGdvdG8g
aWdub3JlOwotICAgICpEZXZpY2VUeXBlID0gX19EZXZpY2VUeXBlKEJ1ZmZlcik7Ci0gICAgWEVO
QlVTX1NUT1JFKEZyZWUsICZBZGFwdGVyLT5TdG9yZSwgQnVmZmVyKTsKLSAgICAKLSAgICBzd2l0
Y2ggKCpEZXZpY2VUeXBlKSB7Ci0gICAgY2FzZSBYRU5WQkRfREVWSUNFX1RZUEVfRElTSzogICAK
LSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDogICAgICAgICAgICAgICAgICAgICAgICAKLSAg
ICAgICAgZ290byBpZ25vcmU7Ci0gICAgfQotCi0gICAgLy8gVHJ5IHRvIENyZWF0ZQotICAgIHJl
dHVybiBGQUxTRTsKLQotZmFpbDoKLSAgICBFcnJvcigiRmFpbFxuIik7Ci0gICAgcmV0dXJuIFRS
VUU7Ci0KLWlnbm9yZToKLSAgICByZXR1cm4gVFJVRTsKLX0KLV9fY2hlY2tSZXR1cm4KLXN0YXRp
YyBGT1JDRUlOTElORSBCT09MRUFOCi1fX0FkYXB0ZXJJc1RhcmdldFVucGx1Z2dlZCgKLSAgICBf
X2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICAgICAgQWRhcHRlciwKLSAgICBfX2luIFBD
SEFSICAgICAgICAgICAgICAgICAgICAgICBFbnVtZXJhdG9yLAotICAgIF9faW4gUENIQVIgICAg
ICAgICAgICAgICAgICAgICAgIERldmljZSwKLSAgICBfX2luIFVMT05HICAgICAgICAgICAgICAg
ICAgICAgICBUYXJnZXQKK3N0YXRpYyBGT1JDRUlOTElORSBQVk9JRAorX19BZGFwdGVyQWxsb2Nh
dGUoCisgICAgSU4gIFVMT05HICAgU2l6ZQogICAgICkKIHsKLSAgICAvLyBPbmx5IGNoZWNrIHRh
cmdldHMgdGhhdCBjb3VsZCBiZSBlbXVsYXRlZAotICAgIGlmIChUYXJnZXQgPiAzKSB7Ci0gICAg
ICAgIFZlcmJvc2UoIlRhcmdldFslZF0gOiAoJXMvJXMpIEVtdWxhdGVkIE5PVF9BUFBMSUNBQkxF
IChub24tSURFIGRldmljZSlcbiIsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdl
dCwgRW51bWVyYXRvciwgRGV2aWNlKTsKLSAgICAgICAgcmV0dXJuIFRSVUU7Ci0gICAgfQotICAg
ICAKLSAgICAvLyBDaGVjayBwcmVzZW5zZSBvZiBFbXVsYXRlZCBpbnRlcmZhY2UuIEFic2VuY2Ug
aW5kaWNhdGVzIGVtdWxhdGVkIGNhbm5vdCBiZSB1bnBsdWdnZWQKLSAgICBpZiAoQWRhcHRlci0+
RW11bGF0ZWQuSW50ZXJmYWNlLkNvbnRleHQgPT0gTlVMTCkgewotICAgICAgICBXYXJuaW5nKCJU
YXJnZXRbJWRdIDogKCVzLyVzKSBFbXVsYXRlZCBOT1RfS05PV04gKGFzc3VtZWQgUFJFU0VOVClc
biIsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldCwgRW51bWVyYXRvciwgRGV2
aWNlKTsKLSAgICAgICAgcmV0dXJuIEZBTFNFOwotICAgIH0KLQotICAgIC8vIEFzayBYZW5GaWx0
IGlmIEN0cmxyKDApLCBUYXJnZXQoVGFyZ2V0KSwgTHVuKDApIGlzIHByZXNlbnQKLSAgICBpZiAo
WEVORklMVF9FTVVMQVRFRChJc0Rpc2tQcmVzZW50LCAmQWRhcHRlci0+RW11bGF0ZWQsIDAsIFRh
cmdldCwgMCkpIHsKLSAgICAgICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6ICglcy8lcykgRW11bGF0
ZWQgUFJFU0VOVFxuIiwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0LCBFbnVt
ZXJhdG9yLCBEZXZpY2UpOwotICAgICAgICByZXR1cm4gRkFMU0U7Ci0gICAgfSBlbHNlIHsKLSAg
ICAgICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6ICglcy8lcykgRW11bGF0ZWQgTk9UX1BSRVNFTlRc
biIsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldCwgRW51bWVyYXRvciwgRGV2
aWNlKTsKLSAgICAgICAgcmV0dXJuIFRSVUU7Ci0gICAgfQorICAgIFBWT0lEICAgICAgIEJ1ZmZl
cjsKKyAgICBCdWZmZXIgPSBFeEFsbG9jYXRlUG9vbFdpdGhUYWcoTm9uUGFnZWRQb29sLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaXplLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBBREFQVEVSX1BPT0xfVEFHKTsKKyAgICBpZiAoQnVmZmVyKQorICAg
ICAgICBSdGxaZXJvTWVtb3J5KEJ1ZmZlciwgU2l6ZSk7CisgICAgcmV0dXJuIEJ1ZmZlcjsKIH0K
IAogc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKLV9fQWRhcHRlckVudW1lcmF0ZSgKLSAgICBfX2lu
ICAgIFBYRU5WQkRfQURBUFRFUiAgICAgQWRhcHRlciwKLSAgICBfX2luICAgIFBBTlNJX1NUUklO
RyAgICBEZXZpY2VzLAotICAgIF9fb3V0ICAgUEJPT0xFQU4gICAgICAgIE5lZWRJbnZhbGlkYXRl
LAotICAgIF9fb3V0ICAgUEJPT0xFQU4gICAgICAgIE5lZWRSZWJvb3QKK19fQWRhcHRlckZyZWUo
CisgICAgSU4gIFBWT0lEICAgQnVmZmVyCiAgICAgKQogewotICAgIFVMT05HICAgICAgICAgICAg
ICAgVGFyZ2V0SWQ7Ci0gICAgUEFOU0lfU1RSSU5HICAgICAgICBEZXZpY2U7Ci0gICAgVUxPTkcg
ICAgICAgICAgICAgICBJbmRleDsKLSAgICBQWEVOVkJEX1RBUkdFVCAgICAgICAgIFRhcmdldDsK
LQotICAgICpOZWVkSW52YWxpZGF0ZSA9IEZBTFNFOwotICAgICpOZWVkUmVib290ID0gRkFMU0U7
Ci0KLSAgICBmb3IgKFRhcmdldElkID0gMDsgVGFyZ2V0SWQgPCBYRU5WQkRfTUFYX1RBUkdFVFM7
ICsrVGFyZ2V0SWQpIHsKLSAgICAgICAgQk9PTEVBTiAgICAgTWlzc2luZyA9IFRSVUU7Ci0KLSAg
ICAgICAgVGFyZ2V0ID0gX19BZGFwdGVyR2V0VGFyZ2V0KEFkYXB0ZXIsIFRhcmdldElkKTsKLSAg
ICAgICAgaWYgKFRhcmdldCA9PSBOVUxMKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAg
ICAgZm9yIChJbmRleCA9IDA7IERldmljZXNbSW5kZXhdLkJ1ZmZlciAhPSBOVUxMOyArK0luZGV4
KSB7Ci0gICAgICAgICAgICBVTE9ORyBEZXZpY2VUYXJnZXRJZDsKLSAgICAgICAgICAgIERldmlj
ZSA9ICZEZXZpY2VzW0luZGV4XTsKLSAgICAgICAgICAgIERldmljZVRhcmdldElkID0gX19QYXJz
ZVZiZChEZXZpY2UtPkJ1ZmZlcik7Ci0gICAgICAgICAgICBpZiAoVGFyZ2V0SWQgPT0gRGV2aWNl
VGFyZ2V0SWQpIHsKLSAgICAgICAgICAgICAgICBNaXNzaW5nID0gRkFMU0U7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoTWlz
c2luZyAmJiAhVGFyZ2V0SXNNaXNzaW5nKFRhcmdldCkpIHsKLSAgICAgICAgICAgIFRhcmdldFNl
dE1pc3NpbmcoVGFyZ2V0LCAiRGV2aWNlIERpc2FwcGVhcmVkIik7Ci0gICAgICAgICAgICBpZiAo
VGFyZ2V0R2V0RGV2aWNlUG5wU3RhdGUoVGFyZ2V0KSA9PSBQcmVzZW50KQotICAgICAgICAgICAg
ICAgIFRhcmdldFNldERldmljZVBucFN0YXRlKFRhcmdldCwgRGVsZXRlZCk7Ci0gICAgICAgICAg
ICBlbHNlCi0gICAgICAgICAgICAgICAgKk5lZWRJbnZhbGlkYXRlID0gVFJVRTsKLSAgICAgICAg
fQotCi0gICAgICAgIGlmIChUYXJnZXRHZXREZXZpY2VQbnBTdGF0ZShUYXJnZXQpID09IERlbGV0
ZWQpIHsKLSAgICAgICAgICAgIFRhcmdldERlcmVmZXJlbmNlKFRhcmdldCk7Ci0gICAgICAgICAg
ICBUYXJnZXREZXN0cm95KFRhcmdldCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBU
YXJnZXREZXJlZmVyZW5jZShUYXJnZXQpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgLy8gYWRk
IG5ldyB0YXJnZXRzCi0gICAgZm9yIChJbmRleCA9IDA7IERldmljZXNbSW5kZXhdLkJ1ZmZlciAh
PSBOVUxMOyArK0luZGV4KSB7Ci0gICAgICAgIFhFTlZCRF9ERVZJQ0VfVFlQRSAgRGV2aWNlVHlw
ZTsKLQotICAgICAgICBEZXZpY2UgPSAmRGV2aWNlc1tJbmRleF07Ci0KLSAgICAgICAgVGFyZ2V0
SWQgPSBfX1BhcnNlVmJkKERldmljZS0+QnVmZmVyKTsKLSAgICAgICAgaWYgKFRhcmdldElkID09
IDB4RkZGRkZGRkYpIHsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0KLSAgICAg
ICAgVGFyZ2V0ID0gX19BZGFwdGVyR2V0VGFyZ2V0KEFkYXB0ZXIsIFRhcmdldElkKTsKLSAgICAg
ICAgaWYgKFRhcmdldCkgewotICAgICAgICAgICAgVGFyZ2V0RGVyZWZlcmVuY2UoVGFyZ2V0KTsK
LSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKF9fQWRhcHRl
ckhpZGRlblRhcmdldChBZGFwdGVyLCBEZXZpY2UtPkJ1ZmZlciwgJkRldmljZVR5cGUpKSB7Ci0g
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICghX19BZGFwdGVy
SXNUYXJnZXRVbnBsdWdnZWQoQWRhcHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgQWRhcHRlckVudW0oQWRhcHRlciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IERldmljZS0+QnVmZmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXRJ
ZCkpIHsKLSAgICAgICAgICAgICpOZWVkUmVib290ID0gVFJVRTsKLSAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKFRhcmdldENyZWF0ZShBZGFwdGVyLAotICAg
ICAgICAgICAgICAgICAgICAgIERldmljZS0+QnVmZmVyLAotICAgICAgICAgICAgICAgICAgICAg
IFRhcmdldElkLAotICAgICAgICAgICAgICAgICAgICAgIERldmljZVR5cGUpKSB7Ci0gICAgICAg
ICAgICAqTmVlZEludmFsaWRhdGUgPSBUUlVFOwotICAgICAgICB9Ci0gICAgfQorICAgIEV4RnJl
ZVBvb2xXaXRoVGFnKEJ1ZmZlciwgQURBUFRFUl9QT09MX1RBRyk7CiB9CiAKIHN0YXRpYyBGT1JD
RUlOTElORSBQQU5TSV9TVFJJTkcKQEAgLTYzMiwxMCArMTM5LDcgQEAgX19BZGFwdGVyTXVsdGlT
elRvQW5zaSgKICAgICAgICAgfQogICAgIH0KIAotICAgIEFuc2kgPSBfX0FsbG9jYXRlUG9vbFdp
dGhUYWcoTm9uUGFnZWRQb29sLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6
ZW9mIChBTlNJX1NUUklORykgKiAoQ291bnQgKyAxKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEFEQVBURVJfU0lHTkFUVVJFKTsKLQorICAgIEFuc2kgPSBfX0FkYXB0ZXJBbGxv
Y2F0ZShzaXplb2YgKEFOU0lfU1RSSU5HKSAqIChDb3VudCArIDEpKTsKICAgICBzdGF0dXMgPSBT
VEFUVVNfTk9fTUVNT1JZOwogICAgIGlmIChBbnNpID09IE5VTEwpCiAgICAgICAgIGdvdG8gZmFp
bDE7CkBAIC02NDUsOSArMTQ5LDcgQEAgX19BZGFwdGVyTXVsdGlTelRvQW5zaSgKIAogICAgICAg
ICBMZW5ndGggPSAoVUxPTkcpc3RybGVuKEJ1ZmZlcik7CiAgICAgICAgIEFuc2lbSW5kZXhdLk1h
eGltdW1MZW5ndGggPSAoVVNIT1JUKShMZW5ndGggKyAxKTsKLSAgICAgICAgQW5zaVtJbmRleF0u
QnVmZmVyID0gX19BbGxvY2F0ZVBvb2xXaXRoVGFnKE5vblBhZ2VkUG9vbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuc2lbSW5kZXhdLk1heGlt
dW1MZW5ndGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBBREFQVEVSX1NJR05BVFVSRSk7CisgICAgICAgIEFuc2lbSW5kZXhdLkJ1ZmZlciA9IF9f
QWRhcHRlckFsbG9jYXRlKEFuc2lbSW5kZXhdLk1heGltdW1MZW5ndGgpOwogCiAgICAgICAgIHN0
YXR1cyA9IFNUQVRVU19OT19NRU1PUlk7CiAgICAgICAgIGlmIChBbnNpW0luZGV4XS5CdWZmZXIg
PT0gTlVMTCkKQEAgLTY2NSw5ICsxNjcsOSBAQCBmYWlsMjoKICAgICBFcnJvcigiZmFpbDJcbiIp
OwogCiAgICAgd2hpbGUgKC0tSW5kZXggPj0gMCkKLSAgICAgICAgICAgIF9fRnJlZVBvb2xXaXRo
VGFnKEFuc2lbSW5kZXhdLkJ1ZmZlciwgQURBUFRFUl9TSUdOQVRVUkUpOworICAgICAgICAgICAg
X19BZGFwdGVyRnJlZShBbnNpW0luZGV4XS5CdWZmZXIpOwogCi0gICAgX19GcmVlUG9vbFdpdGhU
YWcoQW5zaSwgQURBUFRFUl9TSUdOQVRVUkUpOworICAgIF9fQWRhcHRlckZyZWUoQW5zaSk7CiAK
IGZhaWwxOgogICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7CkBAIC03MDEsMTA1
ICsyMDMsMzIyIEBAIF9fQWRhcHRlck11bHRpU3pUb1VwY2FzZUFuc2koCiAgICAgICAgIH0KICAg
ICB9CiAKLSAgICBBbnNpID0gX19BbGxvY2F0ZVBvb2xXaXRoVGFnKE5vblBhZ2VkUG9vbCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZiAoQU5TSV9TVFJJTkcpICogKENv
dW50ICsgMSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBREFQVEVSX1NJR05B
VFVSRSk7Ci0KKyAgICBBbnNpID0gX19BZGFwdGVyQWxsb2NhdGUoc2l6ZW9mIChBTlNJX1NUUklO
RykgKiAoQ291bnQgKyAxKSk7CiAgICAgc3RhdHVzID0gU1RBVFVTX05PX01FTU9SWTsKICAgICBp
ZiAoQW5zaSA9PSBOVUxMKQogICAgICAgICBnb3RvIGZhaWwxOwogCi0gICAgZm9yIChJbmRleCA9
IDA7IEluZGV4IDwgQ291bnQ7IEluZGV4KyspIHsKLSAgICAgICAgVUxPTkcgICBMZW5ndGg7Cisg
ICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgQ291bnQ7IEluZGV4KyspIHsKKyAgICAgICAgVUxP
TkcgICBMZW5ndGg7CisKKyAgICAgICAgTGVuZ3RoID0gKFVMT05HKXN0cmxlbihCdWZmZXIpOwor
ICAgICAgICBBbnNpW0luZGV4XS5NYXhpbXVtTGVuZ3RoID0gKFVTSE9SVCkoTGVuZ3RoICsgMSk7
CisgICAgICAgIEFuc2lbSW5kZXhdLkJ1ZmZlciA9IF9fQWRhcHRlckFsbG9jYXRlKEFuc2lbSW5k
ZXhdLk1heGltdW1MZW5ndGgpOworCisgICAgICAgIHN0YXR1cyA9IFNUQVRVU19OT19NRU1PUlk7
CisgICAgICAgIGlmIChBbnNpW0luZGV4XS5CdWZmZXIgPT0gTlVMTCkKKyAgICAgICAgICAgIGdv
dG8gZmFpbDI7CisKKyAgICAgICAgUnRsQ29weU1lbW9yeShBbnNpW0luZGV4XS5CdWZmZXIsIEJ1
ZmZlciwgTGVuZ3RoKTsKKyAgICAgICAgQW5zaVtJbmRleF0uTGVuZ3RoID0gKFVTSE9SVClMZW5n
dGg7CisKKyAgICAgICAgQnVmZmVyICs9IExlbmd0aCArIDE7CisgICAgfQorCisgICAgcmV0dXJu
IEFuc2k7CisKK2ZhaWwyOgorICAgIEVycm9yKCJmYWlsMlxuIik7CisKKyAgICB3aGlsZSAoLS1J
bmRleCA+PSAwKQorICAgICAgICAgICAgX19BZGFwdGVyRnJlZShBbnNpW0luZGV4XS5CdWZmZXIp
OworCisgICAgX19BZGFwdGVyRnJlZShBbnNpKTsKKworZmFpbDE6CisgICAgRXJyb3IoImZhaWwx
ICglMDh4KVxuIiwgc3RhdHVzKTsKKworICAgIHJldHVybiBOVUxMOworfQorCitzdGF0aWMgRk9S
Q0VJTkxJTkUgVk9JRAorX19BZGFwdGVyRnJlZUFuc2koCisgICAgSU4gIFBBTlNJX1NUUklORyAg
ICBBbnNpCisgICAgKQoreworICAgIFVMT05HICAgICAgICAgICAgICAgSW5kZXg7CisKKyAgICBm
b3IgKEluZGV4ID0gMDsgQW5zaVtJbmRleF0uQnVmZmVyICE9IE5VTEw7IEluZGV4KyspCisgICAg
ICAgICAgICBfX0FkYXB0ZXJGcmVlKEFuc2lbSW5kZXhdLkJ1ZmZlcik7CisKKyAgICBfX0FkYXB0
ZXJGcmVlKEFuc2kpOworfQorCitzdGF0aWMgRk9SQ0VJTkxJTkUgQk9PTEVBTgorX19BZGFwdGVy
U2V0RGV2aWNlUG93ZXJTdGF0ZSgKKyAgICBJTiAgUFhFTlZCRF9BREFQVEVSICAgICBBZGFwdGVy
LAorICAgIElOICBERVZJQ0VfUE9XRVJfU1RBVEUgIFN0YXRlCisgICAgKQoreworICAgIEtJUlFM
ICAgICAgICAgICAgICAgICAgIElycWw7CisgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgQ2hh
bmdlZCA9IEZBTFNFOworCisgICAgS2VBY3F1aXJlU3BpbkxvY2soJkFkYXB0ZXItPkxvY2ssICZJ
cnFsKTsKKworICAgIGlmIChBZGFwdGVyLT5EZXZpY2VQb3dlciAhPSBTdGF0ZSkgeworICAgICAg
ICBWZXJib3NlKCJQT1dFUiAlcyB0byAlc1xuIiwgUG93ZXJEZXZpY2VTdGF0ZU5hbWUoQWRhcHRl
ci0+RGV2aWNlUG93ZXIpLCBQb3dlckRldmljZVN0YXRlTmFtZShTdGF0ZSkpOworICAgICAgICBD
aGFuZ2VkID0gVFJVRTsKKyAgICAgICAgQWRhcHRlci0+RGV2aWNlUG93ZXIgPSBTdGF0ZTsKKyAg
ICB9CisKKyAgICBLZVJlbGVhc2VTcGluTG9jaygmQWRhcHRlci0+TG9jaywgSXJxbCk7CisKKyAg
ICByZXR1cm4gQ2hhbmdlZDsKK30KKworc3RhdGljIEZPUkNFSU5MSU5FIERFVklDRV9QT1dFUl9T
VEFURQorX19BZGFwdGVyR2V0RGV2aWNlUG93ZXJTdGF0ZSgKKyAgICBJTiAgUFhFTlZCRF9BREFQ
VEVSIEFkYXB0ZXIKKyAgICApCit7CisgICAgS0lSUUwgICAgICAgICAgICAgICBJcnFsOworICAg
IERFVklDRV9QT1dFUl9TVEFURSAgU3RhdGU7CisKKyAgICBLZUFjcXVpcmVTcGluTG9jaygmQWRh
cHRlci0+TG9jaywgJklycWwpOworICAgIFN0YXRlID0gQWRhcHRlci0+RGV2aWNlUG93ZXI7Cisg
ICAgS2VSZWxlYXNlU3BpbkxvY2soJkFkYXB0ZXItPkxvY2ssIElycWwpOworCisgICAgcmV0dXJu
IFN0YXRlOworfQorCitzdGF0aWMgRk9SQ0VJTkxJTkUgUFhFTlZCRF9UQVJHRVQKK0FkYXB0ZXJH
ZXRUYXJnZXQoCisgICAgSU4gIFBYRU5WQkRfQURBUFRFUiBBZGFwdGVyLAorICAgIElOICBVTE9O
RyAgICAgICAgICAgVGFyZ2V0SWQKKyAgICApCit7CisgICAgUFhFTlZCRF9UQVJHRVQgICAgICBU
YXJnZXQ7CisgICAgS0lSUUwgICAgICAgICAgICAgICBJcnFsOworCisgICAgQVNTRVJUM1UoVGFy
Z2V0SWQsIDwsIFhFTlZCRF9NQVhfVEFSR0VUUyk7CisKKyAgICBLZUFjcXVpcmVTcGluTG9jaygm
QWRhcHRlci0+VGFyZ2V0TG9jaywgJklycWwpOworICAgIFRhcmdldCA9IEFkYXB0ZXItPlRhcmdl
dExpc3RbVGFyZ2V0SWRdOworICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZBZGFwdGVyLT5UYXJnZXRM
b2NrLCBJcnFsKTsKKyAgICAKKyAgICByZXR1cm4gVGFyZ2V0OworfQorCitzdGF0aWMgRk9SQ0VJ
TkxJTkUgQk9PTEVBTgorX19BZGFwdGVySGlkZGVuVGFyZ2V0KAorICAgIElOICBQWEVOVkJEX0FE
QVBURVIgICAgIEFkYXB0ZXIsCisgICAgSU4gIFBDSEFSICAgICAgICAgICAgICAgRGV2aWNlSWQK
KyAgICApCit7CisgICAgTlRTVEFUVVMgICAgICAgICAgICAgICAgc3RhdHVzOworICAgIFBDSEFS
ICAgICAgICAgICAgICAgICAgIEJ1ZmZlcjsKKyAgICBDSEFSICAgICAgICAgICAgICAgICAgICBQ
YXRoW3NpemVvZigiZGV2aWNlL3ZiZC9YWFhYWFhYWCIpXTsKKyAgICBCT09MRUFOICAgICAgICAg
ICAgICAgICBFamVjdGVkOworICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgIElzRGlzazsKKyAg
ICAKKyAgICBzdGF0dXMgPSBSdGxTdHJpbmdDYlByaW50ZkEoUGF0aCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2l6ZW9mKFBhdGgpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZGV2aWNlL3ZiZC8lcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IERldmljZUlkKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBm
YWlsMTsKKworICAgIC8vIEVqZWN0ZWQ/CisgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFJlYWQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICZBZGFwdGVyLT5TdG9yZUludGVyZmFjZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
UGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgImVqZWN0ZWQiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAmQnVmZmVyKTsKKyAgICBpZiAoTlRfU1VDQ0VTUyhzdGF0dXMpKSB7Cisg
ICAgICAgIEVqZWN0ZWQgPSAoQk9PTEVBTilzdHJ0b3VsKEJ1ZmZlciwgTlVMTCwgMik7CisKKyAg
ICAgICAgWEVOQlVTX1NUT1JFKEZyZWUsCisgICAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+
U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICBCdWZmZXIpOworCisgICAgICAg
IGlmIChFamVjdGVkKQorICAgICAgICAgICAgZ290byBpZ25vcmU7CisgICAgfQorCisgICAgLy8g
Tm90IERpc2s/CisgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFJlYWQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICZBZGFwdGVyLT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUGF0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgImRldmljZS10eXBlIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgJkJ1ZmZlcik7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8g
aWdub3JlOworCisgICAgSXNEaXNrID0gKHN0cmNtcChCdWZmZXIsICJkaXNrIikgPT0gMCk7Cisg
ICAKKyAgICBYRU5CVVNfU1RPUkUoRnJlZSwKKyAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPlN0
b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICBCdWZmZXIpOworICAgIAorICAgIGlmICgh
SXNEaXNrKQorICAgICAgICBnb3RvIGlnbm9yZTsKIAotICAgICAgICBMZW5ndGggPSAoVUxPTkcp
c3RybGVuKEJ1ZmZlcik7Ci0gICAgICAgIEFuc2lbSW5kZXhdLk1heGltdW1MZW5ndGggPSAoVVNI
T1JUKShMZW5ndGggKyAxKTsKLSAgICAgICAgQW5zaVtJbmRleF0uQnVmZmVyID0gX19BbGxvY2F0
ZVBvb2xXaXRoVGFnKE5vblBhZ2VkUG9vbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEFuc2lbSW5kZXhdLk1heGltdW1MZW5ndGgsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBREFQVEVSX1NJR05B
VFVSRSk7CisgICAgLy8gVHJ5IHRvIENyZWF0ZQorICAgIHJldHVybiBGQUxTRTsKIAotICAgICAg
ICBzdGF0dXMgPSBTVEFUVVNfTk9fTUVNT1JZOwotICAgICAgICBpZiAoQW5zaVtJbmRleF0uQnVm
ZmVyID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGZhaWwyOworZmFpbDE6CisgICAgRXJyb3Io
ImZhaWwxXG4iKTsKKyAgICByZXR1cm4gVFJVRTsKIAotICAgICAgICBSdGxDb3B5TWVtb3J5KEFu
c2lbSW5kZXhdLkJ1ZmZlciwgQnVmZmVyLCBMZW5ndGgpOwotICAgICAgICBBbnNpW0luZGV4XS5M
ZW5ndGggPSAoVVNIT1JUKUxlbmd0aDsKK2lnbm9yZToKKyAgICByZXR1cm4gVFJVRTsKK30KIAot
ICAgICAgICBCdWZmZXIgKz0gTGVuZ3RoICsgMTsKLSAgICB9CitCT09MRUFOCitBZGFwdGVySXNU
YXJnZXRFbXVsYXRlZCgKKyAgICBJTiAgUFhFTlZCRF9BREFQVEVSIEFkYXB0ZXIsCisgICAgSU4g
IFVMT05HICAgICAgICAgICBUYXJnZXRJZAorICAgICkKK3sKKyAgICBCT09MRUFOICAgICAgICAg
ICAgIEVtdWxhdGVkOworICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVzOwogCi0gICAgcmV0
dXJuIEFuc2k7CisgICAgLy8gT25seSBjaGVjayB0YXJnZXRzIHRoYXQgY291bGQgYmUgZW11bGF0
ZWQKKyAgICBpZiAoVGFyZ2V0SWQgPiAzKQorICAgICAgICByZXR1cm4gRkFMU0U7CiAKLWZhaWwy
OgotICAgIEVycm9yKCJmYWlsMlxuIik7CisgICAgLy8gQ2hlY2sgcHJlc2Vuc2Ugb2YgRW11bGF0
ZWQgaW50ZXJmYWNlLiBBYnNlbmNlIGluZGljYXRlcyBlbXVsYXRlZCBjYW5ub3QgYmUgdW5wbHVn
Z2VkCisgICAgaWYgKEFkYXB0ZXItPkVtdWxhdGVkSW50ZXJmYWNlLkludGVyZmFjZS5Db250ZXh0
ID09IE5VTEwpCisgICAgICAgIHJldHVybiBUUlVFOwogCi0gICAgd2hpbGUgKC0tSW5kZXggPj0g
MCkKLSAgICAgICAgICAgIF9fRnJlZVBvb2xXaXRoVGFnKEFuc2lbSW5kZXhdLkJ1ZmZlciwgQURB
UFRFUl9TSUdOQVRVUkUpOworICAgIC8vIEFjcXVpcmUgZmFpbGVkLCBhc3N1bWUgZW11bGF0ZWQK
KyAgICBzdGF0dXMgPSBYRU5GSUxUX0VNVUxBVEVEKEFjcXVpcmUsICZBZGFwdGVyLT5FbXVsYXRl
ZEludGVyZmFjZSk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIHJldHVy
biBUUlVFOwogCi0gICAgX19GcmVlUG9vbFdpdGhUYWcoQW5zaSwgQURBUFRFUl9TSUdOQVRVUkUp
OworICAgIC8vIEFzayBYZW5GaWx0IGlmIEN0cmxyKDApLCBUYXJnZXQoVGFyZ2V0KSwgTHVuKDAp
IGlzIHByZXNlbnQKKyAgICBFbXVsYXRlZCA9IFhFTkZJTFRfRU1VTEFURUQoSXNEaXNrUHJlc2Vu
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPkVtdWxhdGVkSW50
ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBUYXJnZXRJZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMCk7CiAKLWZhaWwxOgotICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7
CisgICAgWEVORklMVF9FTVVMQVRFRChSZWxlYXNlLCAmQWRhcHRlci0+RW11bGF0ZWRJbnRlcmZh
Y2UpOwogCi0gICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIEVtdWxhdGVkOwogfQogCiBzdGF0
aWMgRk9SQ0VJTkxJTkUgVk9JRAotX19BZGFwdGVyRnJlZUFuc2koCi0gICAgSU4gIFBBTlNJX1NU
UklORyAgICBBbnNpCitfX0FkYXB0ZXJFbnVtZXJhdGUoCisgICAgSU4gIFBYRU5WQkRfQURBUFRF
UiBBZGFwdGVyLAorICAgIElOICBQQU5TSV9TVFJJTkcgICAgRGV2aWNlcwogICAgICkKIHsKKyAg
ICBLSVJRTCAgICAgICAgICAgICAgIElycWw7CisgICAgVUxPTkcgICAgICAgICAgICAgICBUYXJn
ZXRJZDsKKyAgICBVTE9ORyAgICAgICAgICAgICAgIERldmljZUlkOworICAgIFBBTlNJX1NUUklO
RyAgICAgICAgRGV2aWNlOwogICAgIFVMT05HICAgICAgICAgICAgICAgSW5kZXg7CisgICAgUFhF
TlZCRF9UQVJHRVQgICAgICBUYXJnZXQ7CisgICAgQk9PTEVBTiAgICAgICAgICAgICBOZWVkSW52
YWxpZGF0ZTsKKyAgICBCT09MRUFOICAgICAgICAgICAgIE5lZWRSZWJvb3Q7CiAKLSAgICBmb3Ig
KEluZGV4ID0gMDsgQW5zaVtJbmRleF0uQnVmZmVyICE9IE5VTEw7IEluZGV4KyspCi0gICAgICAg
ICAgICBfX0ZyZWVQb29sV2l0aFRhZyhBbnNpW0luZGV4XS5CdWZmZXIsIEFEQVBURVJfU0lHTkFU
VVJFKTsKKyAgICBOZWVkSW52YWxpZGF0ZSA9IEZBTFNFOworICAgIE5lZWRSZWJvb3QgPSBGQUxT
RTsKIAotICAgIF9fRnJlZVBvb2xXaXRoVGFnKEFuc2ksIEFEQVBURVJfU0lHTkFUVVJFKTsKLX0K
KyAgICBmb3IgKFRhcmdldElkID0gMDsgVGFyZ2V0SWQgPCBYRU5WQkRfTUFYX1RBUkdFVFM7ICsr
VGFyZ2V0SWQpIHsKKyAgICAgICAgQk9PTEVBTiAgICAgTWlzc2luZyA9IFRSVUU7CiAKLXN0YXRp
YyBERUNMU1BFQ19OT0lOTElORSBWT0lECi1BZGFwdGVyU2NhblRhcmdldHMoCi0gICAgX19pbiAg
ICBQWEVOVkJEX0FEQVBURVIgQWRhcHRlcgotICAgICkKLXsKLSAgICBOVFNUQVRVUyAgICAgICAg
U3RhdHVzOwotICAgIFBDSEFSICAgICAgICAgICBCdWZmZXI7Ci0gICAgUEFOU0lfU1RSSU5HICAg
IERldmljZXM7Ci0gICAgQk9PTEVBTiAgICAgICAgIE5lZWRJbnZhbGlkYXRlOwotICAgIEJPT0xF
QU4gICAgICAgICBOZWVkUmVib290OworICAgICAgICBUYXJnZXQgPSBBZGFwdGVyR2V0VGFyZ2V0
KEFkYXB0ZXIsIFRhcmdldElkKTsKKyAgICAgICAgaWYgKFRhcmdldCA9PSBOVUxMKQorICAgICAg
ICAgICAgY29udGludWU7CiAKLSAgICBTdGF0dXMgPSBYRU5CVVNfU1RPUkUoRGlyZWN0b3J5LCAm
QWRhcHRlci0+U3RvcmUsIE5VTEwsICJkZXZpY2UiLCBBZGFwdGVyRW51bShBZGFwdGVyKSwgJkJ1
ZmZlcik7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIHJldHVybjsKKyAg
ICAgICAgZm9yIChJbmRleCA9IDA7IERldmljZXNbSW5kZXhdLkJ1ZmZlciAhPSBOVUxMOyArK0lu
ZGV4KSB7CisgICAgICAgICAgICBEZXZpY2UgPSAmRGV2aWNlc1tJbmRleF07CiAKLSAgICBEZXZp
Y2VzID0gX19BZGFwdGVyTXVsdGlTelRvQW5zaShCdWZmZXIpOwotICAgIFhFTkJVU19TVE9SRShG
cmVlLCAmQWRhcHRlci0+U3RvcmUsIEJ1ZmZlcik7CisgICAgICAgICAgICBpZiAoRGV2aWNlLT5M
ZW5ndGggPT0gMCkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgIGlmIChEZXZpY2Vz
ID09IE5VTEwpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIERldmljZUlkID0gc3RydG91
bChEZXZpY2UtPkJ1ZmZlciwgTlVMTCwgMTApOworICAgICAgICAgICAgaWYgKFRhcmdldEdldERl
dmljZUlkKFRhcmdldCkgPT0gRGV2aWNlSWQpIHsKKyAgICAgICAgICAgICAgICBEZXZpY2UtPkxl
bmd0aCA9IDA7CisgICAgICAgICAgICAgICAgTWlzc2luZyA9IEZBTFNFOworICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgaWYgKE1pc3Np
bmcgJiYgIVRhcmdldElzTWlzc2luZyhUYXJnZXQpKSB7CisgICAgICAgICAgICBUYXJnZXRTZXRN
aXNzaW5nKFRhcmdldCwgIkRldmljZSBEaXNhcHBlYXJlZCIpOworICAgICAgICAgICAgaWYgKFRh
cmdldEdldERldmljZVBucFN0YXRlKFRhcmdldCkgPT0gUHJlc2VudCkKKyAgICAgICAgICAgICAg
ICBUYXJnZXRTZXREZXZpY2VQbnBTdGF0ZShUYXJnZXQsIERlbGV0ZWQpOworICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgIE5lZWRJbnZhbGlkYXRlID0gVFJVRTsKKyAgICAgICAgfQog
Ci0gICAgX19BZGFwdGVyRW51bWVyYXRlKEFkYXB0ZXIsIERldmljZXMsICZOZWVkSW52YWxpZGF0
ZSwgJk5lZWRSZWJvb3QpOwotICAgIF9fQWRhcHRlckZyZWVBbnNpKERldmljZXMpOworICAgICAg
ICBpZiAoVGFyZ2V0R2V0RGV2aWNlUG5wU3RhdGUoVGFyZ2V0KSA9PSBEZWxldGVkKSB7CisgICAg
ICAgICAgICBLZUFjcXVpcmVTcGluTG9jaygmQWRhcHRlci0+VGFyZ2V0TG9jaywgJklycWwpOwor
ICAgICAgICAgICAgQVNTRVJUM1AoQWRhcHRlci0+VGFyZ2V0TGlzdFtUYXJnZXRJZF0sID09LCBU
YXJnZXQpOworICAgICAgICAgICAgQWRhcHRlci0+VGFyZ2V0TGlzdFtUYXJnZXRJZF0gPSBOVUxM
OworICAgICAgICAgICAgS2VSZWxlYXNlU3BpbkxvY2soJkFkYXB0ZXItPlRhcmdldExvY2ssIEly
cWwpOwogCi0gICAgaWYgKE5lZWRJbnZhbGlkYXRlKSB7Ci0gICAgICAgIFN0b3JQb3J0Tm90aWZp
Y2F0aW9uKEJ1c0NoYW5nZURldGVjdGVkLCBBZGFwdGVyLCAwKTsKKyAgICAgICAgICAgIFRhcmdl
dERlc3Ryb3koVGFyZ2V0KTsKKyAgICAgICAgfQogICAgIH0KLSAgICBpZiAoTmVlZFJlYm9vdCkg
ewotICAgICAgICBEcml2ZXJSZXF1ZXN0UmVib290KCk7CisKKyAgICAvLyBhZGQgbmV3IHRhcmdl
dHMKKyAgICBmb3IgKEluZGV4ID0gMDsgRGV2aWNlc1tJbmRleF0uQnVmZmVyICE9IE5VTEw7ICsr
SW5kZXgpIHsKKyAgICAgICAgTlRTVEFUVVMgICAgICAgIHN0YXR1czsKKworICAgICAgICBEZXZp
Y2UgPSAmRGV2aWNlc1tJbmRleF07CisKKyAgICAgICAgaWYgKERldmljZS0+TGVuZ3RoID09IDAp
CisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBpZiAoX19BZGFwdGVySGlkZGVuVGFy
Z2V0KEFkYXB0ZXIsIERldmljZS0+QnVmZmVyKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisg
ICAgICAgIHN0YXR1cyA9IFRhcmdldENyZWF0ZShBZGFwdGVyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgRGV2aWNlLT5CdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAmVGFyZ2V0KTsKKyAgICAgICAgaWYgKHN0YXR1cyA9PSBTVEFUVVNfUkVUUlkpCisgICAgICAg
ICAgICBOZWVkUmVib290ID0gVFJVRTsKKyAgICAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykp
CisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBUYXJnZXRJZCA9IFRhcmdldEdldFRh
cmdldElkKFRhcmdldCk7CisKKyAgICAgICAgS2VBY3F1aXJlU3BpbkxvY2soJkFkYXB0ZXItPlRh
cmdldExvY2ssICZJcnFsKTsKKyAgICAgICAgQVNTRVJUM1AoQWRhcHRlci0+VGFyZ2V0TGlzdFtU
YXJnZXRJZF0sID09LCBOVUxMKTsKKyAgICAgICAgQWRhcHRlci0+VGFyZ2V0TGlzdFtUYXJnZXRJ
ZF0gPSBUYXJnZXQ7CisgICAgICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZBZGFwdGVyLT5UYXJnZXRM
b2NrLCBJcnFsKTsKKworICAgICAgICBOZWVkSW52YWxpZGF0ZSA9IFRSVUU7CiAgICAgfQorCisg
ICAgaWYgKE5lZWRJbnZhbGlkYXRlKQorICAgICAgICBTdG9yUG9ydE5vdGlmaWNhdGlvbihCdXND
aGFuZ2VEZXRlY3RlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRhcHRlciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgaWYgKE5lZWRSZWJvb3QpCisg
ICAgICAgIERyaXZlclJlcXVlc3RSZWJvb3QoKTsKIH0KIAotX19jaGVja1JldHVybgogc3RhdGlj
IERFQ0xTUEVDX05PSU5MSU5FIE5UU1RBVFVTCi1BZGFwdGVyU2NhbigKLSAgICBfX2luIFBYRU5W
QkRfVEhSRUFEICAgICAgICAgICAgICBUaHJlYWQsCi0gICAgX19pbiBQVk9JRCAgICAgICAgICAg
ICAgICAgICAgICAgQ29udGV4dAorQWRhcHRlclNjYW5UaHJlYWQoCisgICAgSU4gIFBYRU5WQkRf
VEhSRUFEICBUaHJlYWQsCisgICAgSU4gIFBWT0lEICAgICAgICAgICBDb250ZXh0CiAgICAgKQog
ewogICAgIFBYRU5WQkRfQURBUFRFUiAgICAgQWRhcHRlciA9IENvbnRleHQ7Ci0gICAgUEtFVkVO
VCAgICAgICAgIEV2ZW50ID0gVGhyZWFkR2V0RXZlbnQoVGhyZWFkKTsKKyAgICBQS0VWRU5UICAg
ICAgICAgICAgIEV2ZW50ID0gVGhyZWFkR2V0RXZlbnQoVGhyZWFkKTsKIAogICAgIGZvciAoOzsp
IHsKKyAgICAgICAgTlRTVEFUVVMgICAgICAgIHN0YXR1czsKKyAgICAgICAgUENIQVIgICAgICAg
ICAgIEJ1ZmZlcjsKKyAgICAgICAgUEFOU0lfU1RSSU5HICAgIERldmljZXM7CisKICAgICAgICAg
VHJhY2UoIndhaXRpbmcuLi5cbiIpOwogCiAgICAgICAgIChWT0lEKSBLZVdhaXRGb3JTaW5nbGVP
YmplY3QoRXZlbnQsCkBAIC04MTEsMjA0ICs1MzAsMzkgQEAgQWRhcHRlclNjYW4oCiAKICAgICAg
ICAgaWYgKFRocmVhZElzQWxlcnRlZChUaHJlYWQpKQogICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGlmIChfX0FkYXB0ZXJHZXREZXZpY2VQb3dlclN0YXRlKEFkYXB0ZXIpICE9IFBvd2VyRGV2
aWNlRDApCisgICAgICAgICAgICBnb3RvIGRvbmU7CisgICAgICAgICAgICAKKyAgICAgICAgc3Rh
dHVzID0gWEVOQlVTX1NUT1JFKERpcmVjdG9yeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZBZGFwdGVyLT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGV2aWNlIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ2YmQiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJkJ1ZmZlcik7CisgICAgICAgIGlmIChOVF9TVUNDRVNTKHN0YXR1cykpIHsKKyAgICAg
ICAgICAgIERldmljZXMgPSBfX0FkYXB0ZXJNdWx0aVN6VG9BbnNpKEJ1ZmZlcik7CiAKLSAgICAg
ICAgaWYgKF9fQWRhcHRlckdldERldmljZVBvd2VyU3RhdGUoQWRhcHRlcikgPT0gUG93ZXJEZXZp
Y2VEMCkKLSAgICAgICAgICAgIEFkYXB0ZXJTY2FuVGFyZ2V0cyhBZGFwdGVyKTsKLQotICAgICAg
ICBLZVNldEV2ZW50KCZBZGFwdGVyLT5TY2FuRXZlbnQsIElPX05PX0lOQ1JFTUVOVCwgRkFMU0Up
OwotICAgIH0KLSAgICBLZVNldEV2ZW50KCZBZGFwdGVyLT5TY2FuRXZlbnQsIElPX05PX0lOQ1JF
TUVOVCwgRkFMU0UpOwotCi0gICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwotfQotCi0vLz09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0vLyBJbml0aWFsaXplLCBTdGFydCwgU3RvcAotCi1fX2Rydl9yZXF1
aXJlc0lSUUwoUEFTU0lWRV9MRVZFTCkKLXN0YXRpYyBGT1JDRUlOTElORSBOVFNUQVRVUwotX19B
ZGFwdGVyUXVlcnlJbnRlcmZhY2VzKAotICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAg
ICAgIEFkYXB0ZXIKLSAgICApCi17Ci0gICAgTlRTVEFUVVMgICAgICAgIFN0YXR1czsKLQotICAg
IEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwoKSwgPT0sIFBBU1NJVkVfTEVWRUwpOwotCi0gICAg
Ly8gR2V0IFNUT1JFIEludGVyZmFjZQotICAgIFN0YXR1cyA9IFFVRVJZX0lOVEVSRkFDRShBZGFw
dGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5CVVMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFNUT1JFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUElO
VEVSRkFDRSkmQWRhcHRlci0+U3RvcmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNp
emVvZiAoQWRhcHRlci0+U3RvcmUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxT
RSk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDE7Ci0K
LSAgICAvLyBHZXQgRVZUQ0hOIEludGVyZmFjZQotICAgIFN0YXR1cyA9IFFVRVJZX0lOVEVSRkFD
RShBZGFwdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5CVVMsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEVWVENITiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKFBJTlRFUkZBQ0UpJkFkYXB0ZXItPkV2dGNobiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2l6ZW9mIChBZGFwdGVyLT5FdnRjaG4pLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBGQUxTRSk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8g
ZmFpbDI7Ci0KLSAgICAvLyBHZXQgR05UVEFCIEludGVyZmFjZQotICAgIFN0YXR1cyA9IFFVRVJZ
X0lOVEVSRkFDRShBZGFwdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5CVVMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdOVFRBQiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKFBJTlRFUkZBQ0UpJkFkYXB0ZXItPkdudHRhYiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2l6ZW9mIChBZGFwdGVyLT5HbnR0YWIpLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBGQUxTRSk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAg
ICAgIGdvdG8gZmFpbDM7Ci0KLSAgICAvLyBHZXQgU1VTUEVORCBJbnRlcmZhY2UKLSAgICBTdGF0
dXMgPSBRVUVSWV9JTlRFUkZBQ0UoQWRhcHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgWEVOQlVTLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVVNQRU5ELAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoUElOVEVSRkFDRSkmQWRhcHRlci0+U3VzcGVuZCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChBZGFwdGVyLT5TdXNwZW5kKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UpOwotICAgIGlmICghTlRfU1VDQ0VTUyhT
dGF0dXMpKQotICAgICAgICBnb3RvIGZhaWw0OwotCi0gICAgLy8gR2V0IERFQlVHIEludGVyZmFj
ZQotICAgIFN0YXR1cyA9IFFVRVJZX0lOVEVSRkFDRShBZGFwdGVyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBYRU5CVVMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFQlVH
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUElOVEVSRkFDRSkmQWRhcHRlci0+RGVi
dWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZiAoQWRhcHRlci0+RGVidWcp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSk7Ci0gICAgaWYgKCFOVF9TVUND
RVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDU7Ci0KLSAgICAvLyBHZXQgVU5QTFVHIElu
dGVyZmFjZQotICAgIFN0YXR1cyA9IFFVRVJZX0lOVEVSRkFDRShBZGFwdGVyLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBYRU5CVVMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFVOUExVRywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFBJTlRFUkZBQ0UpJkFkYXB0
ZXItPlVucGx1ZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChBZGFwdGVy
LT5VbnBsdWcpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSk7Ci0gICAgaWYg
KCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDY7CisgICAgICAgICAgICBY
RU5CVVNfU1RPUkUoRnJlZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+U3Rv
cmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIERldmljZXMgPSBOVUxMOworICAgICAgICB9CiAKLSAgICAv
LyBHZXQgRU1VTEFURUQgSW50ZXJmYWNlIChvcHRpb25hbCkKLSAgICBTdGF0dXMgPSBRVUVSWV9J
TlRFUkZBQ0UoQWRhcHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVORklMVCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRU1VTEFURUQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChQSU5URVJGQUNFKSZBZGFwdGVyLT5FbXVsYXRlZCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2l6ZW9mIChBZGFwdGVyLT5FbXVsYXRlZCksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFRSVUUpOwotICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQot
ICAgICAgICBnb3RvIGZhaWw3OworICAgICAgICBpZiAoRGV2aWNlcyA9PSBOVUxMKQorICAgICAg
ICAgICAgZ290byBkb25lOwogCi0gICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOworICAgICAgICBf
X0FkYXB0ZXJFbnVtZXJhdGUoQWRhcHRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIERl
dmljZXMpOwogCi1mYWlsNzoKLSAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5VbnBsdWcsCi0g
ICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkJVU19VTlBMVUdfSU5URVJGQUNFKSk7Ci1mYWls
NjoKLSAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5EZWJ1ZywKLSAgICAgICAgICAgICAgICAg
IHNpemVvZiAoWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSkpOwotZmFpbDU6Ci0gICAgUnRsWmVyb01l
bW9yeSgmQWRhcHRlci0+U3VzcGVuZCwKLSAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVT
X1NVU1BFTkRfSU5URVJGQUNFKSk7Ci1mYWlsNDoKLSAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVy
LT5HbnR0YWIsCi0gICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkJVU19HTlRUQUJfSU5URVJG
QUNFKSk7Ci1mYWlsMzoKLSAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5FdnRjaG4sCi0gICAg
ICAgICAgICAgICAgICBzaXplb2YgKFhFTkJVU19FVlRDSE5fSU5URVJGQUNFKSk7Ci1mYWlsMjoK
LSAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5TdG9yZSwKLSAgICAgICAgICAgICAgICAgIHNp
emVvZiAoWEVOQlVTX1NUT1JFX0lOVEVSRkFDRSkpOwotZmFpbDE6Ci0gICAgcmV0dXJuIFN0YXR1
czsKLX0KLXN0YXRpYyBGT1JDRUlOTElORSBWT0lECi1fX0FkYXB0ZXJaZXJvSW50ZXJmYWNlcygK
LSAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICBBZGFwdGVyCi0gICAgKQotewot
ICAgIFJ0bFplcm9NZW1vcnkoJkFkYXB0ZXItPkVtdWxhdGVkLAotICAgICAgICAgICAgICAgICAg
c2l6ZW9mIChYRU5GSUxUX0VNVUxBVEVEX0lOVEVSRkFDRSkpOwotICAgIFJ0bFplcm9NZW1vcnko
JkFkYXB0ZXItPlVucGx1ZywKLSAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX1VOUExV
R19JTlRFUkZBQ0UpKTsKLSAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5EZWJ1ZywKLSAgICAg
ICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSkpOwotICAgIFJ0bFpl
cm9NZW1vcnkoJkFkYXB0ZXItPlN1c3BlbmQsCi0gICAgICAgICAgICAgICAgICBzaXplb2YgKFhF
TkJVU19TVVNQRU5EX0lOVEVSRkFDRSkpOwotICAgIFJ0bFplcm9NZW1vcnkoJkFkYXB0ZXItPkdu
dHRhYiwKLSAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX0dOVFRBQl9JTlRFUkZBQ0Up
KTsKLSAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5FdnRjaG4sCi0gICAgICAgICAgICAgICAg
ICBzaXplb2YgKFhFTkJVU19FVlRDSE5fSU5URVJGQUNFKSk7Ci0gICAgUnRsWmVyb01lbW9yeSgm
QWRhcHRlci0+U3RvcmUsCi0gICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkJVU19TVE9SRV9J
TlRFUkZBQ0UpKTsKLX0KLXN0YXRpYyBGT1JDRUlOTElORSBOVFNUQVRVUwotX19BZGFwdGVyQWNx
dWlyZSgKLSAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICBBZGFwdGVyCi0gICAgKQotewotICAg
IE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVzOworICAgICAgICBfX0FkYXB0ZXJGcmVlQW5zaShE
ZXZpY2VzKTsKIAotICAgIGlmIChBZGFwdGVyLT5FbXVsYXRlZC5JbnRlcmZhY2UuQ29udGV4dCkg
ewotICAgICAgICBzdGF0dXMgPSBYRU5GSUxUX0VNVUxBVEVEKEFjcXVpcmUsICZBZGFwdGVyLT5F
bXVsYXRlZCk7Ci0gICAgICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICAgICAg
Z290byBmYWlsMTsKK2RvbmU6CisgICAgICAgIEtlU2V0RXZlbnQoJkFkYXB0ZXItPlNjYW5FdmVu
dCwgSU9fTk9fSU5DUkVNRU5ULCBGQUxTRSk7CiAgICAgfQotCi0gICAgc3RhdHVzID0gWEVOQlVT
X1NVU1BFTkQoQWNxdWlyZSwgJkFkYXB0ZXItPlN1c3BlbmQpOwotICAgIGlmICghTlRfU1VDQ0VT
UyhzdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWwyOwotCi0gICAgc3RhdHVzID0gWEVOQlVTX0RF
QlVHKEFjcXVpcmUsICZBZGFwdGVyLT5EZWJ1Zyk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1
cykpCi0gICAgICAgIGdvdG8gZmFpbDM7Ci0KLSAgICBzdGF0dXMgPSBYRU5CVVNfR05UVEFCKEFj
cXVpcmUsICZBZGFwdGVyLT5HbnR0YWIpOwotICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQot
ICAgICAgICBnb3RvIGZhaWw0OwotCi0gICAgc3RhdHVzID0gWEVOQlVTX0VWVENITihBY3F1aXJl
LCAmQWRhcHRlci0+RXZ0Y2huKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAg
ICAgZ290byBmYWlsNTsKLQotICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShBY3F1aXJlLCAmQWRh
cHRlci0+U3RvcmUpOwotICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICBnb3Rv
IGZhaWw2OworICAgIEtlU2V0RXZlbnQoJkFkYXB0ZXItPlNjYW5FdmVudCwgSU9fTk9fSU5DUkVN
RU5ULCBGQUxTRSk7CiAKICAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7Ci0KLWZhaWw2OgotICAg
IFhFTkJVU19FVlRDSE4oUmVsZWFzZSwgJkFkYXB0ZXItPkV2dGNobik7Ci1mYWlsNToKLSAgICBY
RU5CVVNfR05UVEFCKFJlbGVhc2UsICZBZGFwdGVyLT5HbnR0YWIpOwotZmFpbDQ6Ci0gICAgWEVO
QlVTX0RFQlVHKFJlbGVhc2UsICZBZGFwdGVyLT5EZWJ1Zyk7Ci1mYWlsMzoKLSAgICBYRU5CVVNf
U1VTUEVORChSZWxlYXNlLCAmQWRhcHRlci0+U3VzcGVuZCk7Ci1mYWlsMjoKLSAgICBpZiAoQWRh
cHRlci0+RW11bGF0ZWQuSW50ZXJmYWNlLkNvbnRleHQpCi0gICAgICAgIFhFTkZJTFRfRU1VTEFU
RUQoUmVsZWFzZSwgJkFkYXB0ZXItPkVtdWxhdGVkKTsKLWZhaWwxOgotICAgIHJldHVybiBzdGF0
dXM7Ci19Ci1zdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAotX19BZGFwdGVyUmVsZWFzZSgKLSAgICBf
X2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICBBZGFwdGVyCi0gICAgKQotewotICAgIFhF
TkJVU19TVE9SRShSZWxlYXNlLCAmQWRhcHRlci0+U3RvcmUpOwotICAgIFhFTkJVU19FVlRDSE4o
UmVsZWFzZSwgJkFkYXB0ZXItPkV2dGNobik7Ci0gICAgWEVOQlVTX0dOVFRBQihSZWxlYXNlLCAm
QWRhcHRlci0+R250dGFiKTsKLSAgICBYRU5CVVNfREVCVUcoUmVsZWFzZSwgJkFkYXB0ZXItPkRl
YnVnKTsKLSAgICBYRU5CVVNfU1VTUEVORChSZWxlYXNlLCAmQWRhcHRlci0+U3VzcGVuZCk7Ci0g
ICAgaWYgKEFkYXB0ZXItPkVtdWxhdGVkLkludGVyZmFjZS5Db250ZXh0KQotICAgICAgICBYRU5G
SUxUX0VNVUxBVEVEKFJlbGVhc2UsICZBZGFwdGVyLT5FbXVsYXRlZCk7CiB9CiAKIHN0YXRpYyBG
T1JDRUlOTElORSBCT09MRUFOCkBAIC0xMDg0LDcgKzYzOCw3IEBAIEFkYXB0ZXJDbGVhckRpc3Ry
aWJ1dGlvbigKICAgICBUcmFjZSgiPT09PT5cbiIpOwogCiAgICAgc3RhdHVzID0gWEVOQlVTX1NU
T1JFKERpcmVjdG9yeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPlN0b3Jl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+U3RvcmVJbnRlcmZhY2UsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
IE5VTEwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJkcml2ZXJzIiwKQEAgLTEwOTMsNyAr
NjQ3LDcgQEAgQWRhcHRlckNsZWFyRGlzdHJpYnV0aW9uKAogICAgICAgICBEaXN0cmlidXRpb25z
ID0gX19BZGFwdGVyTXVsdGlTelRvVXBjYXNlQW5zaShCdWZmZXIpOwogCiAgICAgICAgIFhFTkJV
U19TVE9SRShGcmVlLAotICAgICAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPlN0b3JlLAorICAg
ICAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPlN0b3JlSW50ZXJmYWNlLAogICAgICAgICAgICAg
ICAgICAgICAgQnVmZmVyKTsKICAgICB9IGVsc2UgewogICAgICAgICBEaXN0cmlidXRpb25zID0g
TlVMTDsKQEAgLTExMDYsNyArNjYwLDcgQEAgQWRhcHRlckNsZWFyRGlzdHJpYnV0aW9uKAogICAg
ICAgICBQQU5TSV9TVFJJTkcgICAgRGlzdHJpYnV0aW9uID0gJkRpc3RyaWJ1dGlvbnNbSW5kZXhd
OwogCiAgICAgICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShSZWFkLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJkFkYXB0ZXItPlN0b3JlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJkFkYXB0ZXItPlN0b3JlSW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTlVMTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkcml2ZXJzIiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpc3RyaWJ1dGlvbi0+QnVmZmVyLApAQCAtMTEx
NiwxMyArNjcwLDEzIEBAIEFkYXB0ZXJDbGVhckRpc3RyaWJ1dGlvbigKIAogICAgICAgICBpZiAo
X19BZGFwdGVyTWF0Y2hEaXN0cmlidXRpb24oQWRhcHRlciwgQnVmZmVyKSkKICAgICAgICAgICAg
IChWT0lEKSBYRU5CVVNfU1RPUkUoUmVtb3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmQWRhcHRlci0+U3RvcmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZB
ZGFwdGVyLT5TdG9yZUludGVyZmFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TlVMTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRyaXZlcnMiLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0cmlidXRpb24tPkJ1ZmZlcik7CiAKICAgICAg
ICAgWEVOQlVTX1NUT1JFKEZyZWUsCi0gICAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+U3Rv
cmUsCisgICAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+U3RvcmVJbnRlcmZhY2UsCiAgICAg
ICAgICAgICAgICAgICAgICBCdWZmZXIpOwogICAgIH0KIApAQCAtMTE1OCw3ICs3MTIsNyBAQCBB
ZGFwdGVyU2V0RGlzdHJpYnV0aW9uKAogICAgICAgICBBU1NFUlQoTlRfU1VDQ0VTUyhzdGF0dXMp
KTsKIAogICAgICAgICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUoUmVhZCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZBZGFwdGVyLT5TdG9yZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZBZGFwdGVyLT5TdG9yZUludGVyZmFjZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE5VTEwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZHJpdmVycyIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0cmlidXRpb24sCkBAIC0xMTcxLDcgKzcy
NSw3IEBAIEFkYXB0ZXJTZXREaXN0cmlidXRpb24oCiAgICAgICAgIH0KIAogICAgICAgICBYRU5C
VVNfU1RPUkUoRnJlZSwKLSAgICAgICAgICAgICAgICAgICAgICZBZGFwdGVyLT5TdG9yZSwKKyAg
ICAgICAgICAgICAgICAgICAgICZBZGFwdGVyLT5TdG9yZUludGVyZmFjZSwKICAgICAgICAgICAg
ICAgICAgICAgIEJ1ZmZlcik7CiAKICAgICAgICAgSW5kZXgrKzsKQEAgLTEyMDAsNyArNzU0LDcg
QEAgdXBkYXRlOgogI2VuZGlmCiAKICAgICAoVk9JRCkgWEVOQlVTX1NUT1JFKFByaW50ZiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICZBZGFwdGVyLT5TdG9yZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICZBZGFwdGVyLT5TdG9yZUludGVyZmFjZSwKICAgICAgICAgICAgICAgICAgICAgICAg
IE5VTEwsCiAgICAgICAgICAgICAgICAgICAgICAgICAiZHJpdmVycyIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICBEaXN0cmlidXRpb24sCkBAIC0xMjI5LDI3ICs3ODMsMzAgQEAgZmFpbDE6CiAK
IHN0YXRpYyBGT1JDRUlOTElORSBOVFNUQVRVUwogX19BZGFwdGVyRDNUb0QwKAotICAgIF9faW4g
UFhFTlZCRF9BREFQVEVSICAgIEFkYXB0ZXIKKyAgICBJTiAgUFhFTlZCRF9BREFQVEVSIEFkYXB0
ZXIKICAgICApCiB7Ci0gICAgTlRTVEFUVVMgICAgICAgICAgICBTdGF0dXM7CisgICAgTlRTVEFU
VVMgICAgICAgICAgICBzdGF0dXM7CiAKICAgICBUcmFjZSgiPT09PT0+XG4iKTsKIAorICAgIHN0
YXR1cyA9IFhFTkJVU19TVE9SRShBY3F1aXJlLCAmQWRhcHRlci0+U3RvcmVJbnRlcmZhY2UpOwor
ICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwxOworICAgIAog
ICAgIChWT0lEKSBBZGFwdGVyU2V0RGlzdHJpYnV0aW9uKEFkYXB0ZXIpOwogCi0gICAgQVNTRVJU
M1AoQWRhcHRlci0+U2NhbldhdGNoLCA9PSwgTlVMTCk7Ci0gICAgU3RhdHVzID0gWEVOQlVTX1NU
T1JFKFdhdGNoQWRkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+U3RvcmUs
CisgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFdhdGNoQWRkLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAmQWRhcHRlci0+U3RvcmVJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJkZXZpY2UiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBBZGFwdGVyRW51bShBZGFw
dGVyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgInZiZCIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFRocmVhZEdldEV2ZW50KEFkYXB0ZXItPlNjYW5UaHJlYWQpLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAmQWRhcHRlci0+U2NhbldhdGNoKTsKLSAgICBpZiAoIU5UX1NVQ0NF
U1MoU3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsMTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3Rh
dHVzKSkKKyAgICAgICAgZ290byBmYWlsMjsKIAogICAgIChWT0lEKSBYRU5CVVNfU1RPUkUoUHJp
bnRmLAotICAgICAgICAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPlN0b3JlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgJkFkYXB0ZXItPlN0b3JlSW50ZXJmYWNlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgTlVMTCwKICAgICAgICAgICAgICAgICAgICAgICAgICJmZWF0dXJlL2hvdHBsdWci
LAogICAgICAgICAgICAgICAgICAgICAgICAgInZiZCIsCkBAIC0xMjU5LDE5MyArODE2LDI1NyBA
QCBfX0FkYXB0ZXJEM1RvRDAoCiAgICAgVHJhY2UoIjw9PT09PVxuIik7CiAgICAgcmV0dXJuIFNU
QVRVU19TVUNDRVNTOwogCitmYWlsMjoKKyAgICBFcnJvcigiZmFpbDJcbiIpOworCisgICAgWEVO
QlVTX1NUT1JFKFJlbGVhc2UsICZBZGFwdGVyLT5TdG9yZUludGVyZmFjZSk7CisKIGZhaWwxOgot
ICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIFN0YXR1cyk7CisgICAgRXJyb3IoImZhaWwxICgl
MDh4KVxuIiwgc3RhdHVzKTsKIAotICAgIHJldHVybiBTdGF0dXM7CisgICAgcmV0dXJuIHN0YXR1
czsKIH0KIAogc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKIF9fQWRhcHRlckQwVG9EMygKLSAgICBf
X2luIFBYRU5WQkRfQURBUFRFUiAgICBBZGFwdGVyCisgICAgSU4gIFBYRU5WQkRfQURBUFRFUiBB
ZGFwdGVyCiAgICAgKQogewogICAgIFRyYWNlKCI9PT09PT5cbiIpOwogCiAgICAgKFZPSUQpIFhF
TkJVU19TVE9SRShSZW1vdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+U3Rv
cmUsCisgICAgICAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+U3RvcmVJbnRlcmZhY2UsCiAg
ICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgImZl
YXR1cmUvaG90cGx1ZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAidmJkIik7CiAKICAgICAo
Vk9JRCkgWEVOQlVTX1NUT1JFKFdhdGNoUmVtb3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAg
JkFkYXB0ZXItPlN0b3JlLAorICAgICAgICAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPlN0b3Jl
SW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgQWRhcHRlci0+U2NhbldhdGNoKTsK
ICAgICBBZGFwdGVyLT5TY2FuV2F0Y2ggPSBOVUxMOwogCiAgICAgQWRhcHRlckNsZWFyRGlzdHJp
YnV0aW9uKEFkYXB0ZXIpOwogCisgICAgWEVOQlVTX1NUT1JFKFJlbGVhc2UsICZBZGFwdGVyLT5T
dG9yZUludGVyZmFjZSk7CisKICAgICBUcmFjZSgiPD09PT09XG4iKTsKIH0KIAotX19kcnZfcmVx
dWlyZXNJUlFMKERJU1BBVENIX0xFVkVMKQogc3RhdGljIFZPSUQKIEFkYXB0ZXJTdXNwZW5kTGF0
ZUNhbGxiYWNrKAotICAgIF9faW4gUFZPSUQgICAgICAgICAgICAgICAgICAgQXJndW1lbnQKKyAg
ICBJTiAgUFZPSUQgICAgICAgQXJndW1lbnQKICAgICApCiB7Ci0gICAgUFhFTlZCRF9BREFQVEVS
ICAgICBBZGFwdGVyID0gQXJndW1lbnQ7Ci0gICAgTlRTVEFUVVMgICAgICAgIFN0YXR1czsKKyAg
ICBQWEVOVkJEX0FEQVBURVIgQWRhcHRlciA9IEFyZ3VtZW50OworICAgIE5UU1RBVFVTICAgICAg
ICBzdGF0dXM7CiAKLSAgICBWZXJib3NlKCIlcyAoJXMpXG4iLAotICAgICAgICAgTUFKT1JfVkVS
U0lPTl9TVFIgIi4iIE1JTk9SX1ZFUlNJT05fU1RSICIuIiBNSUNST19WRVJTSU9OX1NUUiAiLiIg
QlVJTERfTlVNQkVSX1NUUiwKLSAgICAgICAgIERBWV9TVFIgIi8iIE1PTlRIX1NUUiAiLyIgWUVB
Ul9TVFIpOworICAgIFZlcmJvc2UoIiV1LiV1LiV1LiV1ICglMDJ1LyUwMnUvJTA0dSlcbiIsCisg
ICAgICAgICBNQUpPUl9WRVJTSU9OLAorICAgICAgICAgTUlOT1JfVkVSU0lPTiwKKyAgICAgICAg
IE1JQ1JPX1ZFUlNJT04sCisgICAgICAgICBCVUlMRF9OVU1CRVIsCisgICAgICAgICBEQVksCisg
ICAgICAgICBNT05USCwKKyAgICAgICAgIFlFQVIpOwogCiAgICAgX19BZGFwdGVyRDBUb0QzKEFk
YXB0ZXIpOwogCi0gICAgU3RhdHVzID0gX19BZGFwdGVyRDNUb0QwKEFkYXB0ZXIpOwotICAgIEFT
U0VSVChOVF9TVUNDRVNTKFN0YXR1cykpOworICAgIHN0YXR1cyA9IF9fQWRhcHRlckQzVG9EMChB
ZGFwdGVyKTsKKyAgICBBU1NFUlQoTlRfU1VDQ0VTUyhzdGF0dXMpKTsKK30KKworc3RhdGljIERF
Q0xTUEVDX05PSU5MSU5FIFZPSUQKK0FkYXB0ZXJEZWJ1Z0NhbGxiYWNrKAorICAgIElOICBQVk9J
RCAgICAgICBDb250ZXh0LAorICAgIElOICBCT09MRUFOICAgICBDcmFzaGluZworICAgICkKK3sK
KyAgICBQWEVOVkJEX0FEQVBURVIgQWRhcHRlciA9IENvbnRleHQ7CisgICAgVUxPTkcgICAgICAg
ICAgIFRhcmdldElkOworCisgICAgWEVOQlVTX0RFQlVHKFByaW50ZiwgCisgICAgICAgICAgICAg
ICAgICZBZGFwdGVyLT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIkFEQVBURVI6
IFZlcnNpb246ICV1LiV1LiV1LiV1ICglMDJ1LyUwMnUvJTA0dSlcbiIsCisgICAgICAgICAgICAg
ICAgIE1BSk9SX1ZFUlNJT04sIE1JTk9SX1ZFUlNJT04sIE1JQ1JPX1ZFUlNJT04sIEJVSUxEX05V
TUJFUiwKKyAgICAgICAgICAgICAgICAgREFZLCBNT05USCwgWUVBUik7IAorICAgIFhFTkJVU19E
RUJVRyhQcmludGYsIAorICAgICAgICAgICAgICAgICAmQWRhcHRlci0+RGVidWdJbnRlcmZhY2Us
CisgICAgICAgICAgICAgICAgICJBREFQVEVSOiBBZGFwdGVyOiAweCVwICVzXG4iLAorICAgICAg
ICAgICAgICAgICBDb250ZXh0LAorICAgICAgICAgICAgICAgICBDcmFzaGluZyA/ICJDUkFTSElO
RyIgOiAiIik7CisgICAgWEVOQlVTX0RFQlVHKFByaW50ZiwgCisgICAgICAgICAgICAgICAgICZB
ZGFwdGVyLT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIkFEQVBURVI6IERldk9i
aiAweCVwIExvd2VyRGV2T2JqIDB4JXAgUGh5c0Rldk9iaiAweCVwXG4iLAorICAgICAgICAgICAg
ICAgICBBZGFwdGVyLT5EZXZpY2VPYmplY3QsCisgICAgICAgICAgICAgICAgIEFkYXB0ZXItPkxv
d2VyRGV2aWNlT2JqZWN0LAorICAgICAgICAgICAgICAgICBBZGFwdGVyLT5QaHlzaWNhbERldmlj
ZU9iamVjdCk7CisgICAgWEVOQlVTX0RFQlVHKFByaW50ZiwgCisgICAgICAgICAgICAgICAgICZB
ZGFwdGVyLT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIkFEQVBURVI6IERldmlj
ZVBvd2VyU3RhdGU6ICVzXG4iLAorICAgICAgICAgICAgICAgICBQb3dlckRldmljZVN0YXRlTmFt
ZShBZGFwdGVyLT5EZXZpY2VQb3dlcikpOworICAgIFhFTkJVU19ERUJVRyhQcmludGYsIAorICAg
ICAgICAgICAgICAgICAmQWRhcHRlci0+RGVidWdJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAg
ICJBREFQVEVSOiBTcmJzICAgICAgICAgICAgOiAldSBidWlsdCwgJXUgc3RhcnRlZCwgJXUgY29t
cGxldGVkXG4iLAorICAgICAgICAgICAgICAgICBBZGFwdGVyLT5CdWlsZElvLAorICAgICAgICAg
ICAgICAgICBBZGFwdGVyLT5TdGFydElvLAorICAgICAgICAgICAgICAgICBBZGFwdGVyLT5Db21w
bGV0ZWQpOworCisgICAgQnVmZmVyRGVidWdDYWxsYmFjaygmQWRhcHRlci0+RGVidWdJbnRlcmZh
Y2UpOworICAgIAorICAgIGZvciAoVGFyZ2V0SWQgPSAwOyBUYXJnZXRJZCA8IFhFTlZCRF9NQVhf
VEFSR0VUUzsgKytUYXJnZXRJZCkgeworICAgICAgICAvLyBubyBuZWVkIHRvIHVzZSBBZGFwdGVy
R2V0VGFyZ2V0ICh3aGljaCBpcyBsb2NrZWQgYXQgRElTUEFUQ0gpIGFzIGNhbGxlZCBhdCBISUdI
X0xFVkVMCisgICAgICAgIFBYRU5WQkRfVEFSR0VUIFRhcmdldCA9IEFkYXB0ZXItPlRhcmdldExp
c3RbVGFyZ2V0SWRdOworICAgICAgICBpZiAoVGFyZ2V0ID09IE5VTEwpCisgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCAmQWRhcHRlci0+RGVidWdJ
bnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAiQURBUFRFUjogPT09PT4gVGFyZ2V0WyUt
M2RdICAgIDogMHglcFxuIiwgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAg
IFRhcmdldElkLCBUYXJnZXQpOworCisgICAgICAgIC8vIGNhbGwgVGFyZ2V0J3MgZGVidWcgY2Fs
bGJhY2sgZGlyZWN0bHkKKyAgICAgICAgVGFyZ2V0RGVidWdDYWxsYmFjayhUYXJnZXQsICZBZGFw
dGVyLT5EZWJ1Z0ludGVyZmFjZSk7CisKKyAgICAgICAgWEVOQlVTX0RFQlVHKFByaW50ZiwgJkFk
YXB0ZXItPkRlYnVnSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgIkFEQVBURVI6IDw9
PT09IFRhcmdldFslLTNkXSAgICA6IDB4JXBcbiIsICAgICAgICAgICAgICAgICAgCisgICAgICAg
ICAgICAgICAgICAgICBUYXJnZXRJZCwgVGFyZ2V0KTsKKyAgICB9CiB9CiAKIHN0YXRpYyBOVFNU
QVRVUwogQWRhcHRlckQzVG9EMCgKLSAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAg
ICBBZGFwdGVyCisgICAgSU4gIFBYRU5WQkRfQURBUFRFUiBBZGFwdGVyCiAgICAgKQogewotICAg
IE5UU1RBVFVTICAgIFN0YXR1czsKLSAgICBVTE9ORyAgICAgICBUYXJnZXRJZDsKKyAgICBOVFNU
QVRVUyAgICAgICAgICAgIHN0YXR1czsKKyAgICBVTE9ORyAgICAgICAgICAgICAgIFRhcmdldElk
OwogCiAgICAgaWYgKCFfX0FkYXB0ZXJTZXREZXZpY2VQb3dlclN0YXRlKEFkYXB0ZXIsIFBvd2Vy
RGV2aWNlRDApKQogICAgICAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CiAKLSAgICBUcmFjZSgi
PT09PT0+ICglZClcbiIsIEtlR2V0Q3VycmVudElycWwoKSk7CiAgICAgVmVyYm9zZSgiRDMtPkQw
XG4iKTsKIAotICAgIC8vIEdldCBJbnRlcmZhY2VzCi0gICAgU3RhdHVzID0gX19BZGFwdGVyQWNx
dWlyZShBZGFwdGVyKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKKyAgICBzdGF0dXMg
PSBYRU5CVVNfU1VTUEVORChBY3F1aXJlLCAmQWRhcHRlci0+U3VzcGVuZEludGVyZmFjZSk7Cisg
ICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCiAgICAgICAgIGdvdG8gZmFpbDE7Ci0gICAgCi0g
ICAgLy8gcmVnaXN0ZXIgZGVidWcgY2FsbGJhY2sKLSAgICBBU1NFUlQzUChBZGFwdGVyLT5EZWJ1
Z0NhbGxiYWNrLCA9PSwgTlVMTCk7Ci0gICAgU3RhdHVzID0gWEVOQlVTX0RFQlVHKFJlZ2lzdGVy
LCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPkRlYnVnLCAKKworICAgIHN0
YXR1cyA9IFhFTkJVU19ERUJVRyhBY3F1aXJlLCAmQWRhcHRlci0+RGVidWdJbnRlcmZhY2UpOwor
ICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwyOworCisgICAg
c3RhdHVzID0gWEVOQlVTX0RFQlVHKFJlZ2lzdGVyLCAKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgJkFkYXB0ZXItPkRlYnVnSW50ZXJmYWNlLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
X19NT0RVTEVfXywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkYXB0ZXJEZWJ1Z0NhbGxi
YWNrLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRhcHRlciwgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZBZGFwdGVyLT5EZWJ1Z0NhbGxiYWNrKTsKLSAgICBpZiAoIU5UX1NVQ0NF
U1MoU3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsMjsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3Rh
dHVzKSkKKyAgICAgICAgZ290byBmYWlsMzsKKworICAgIHN0YXR1cyA9IF9fQWRhcHRlckQzVG9E
MChBZGFwdGVyKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBm
YWlsNDsKIAotICAgIC8vIFBvd2VyIFVQIGFueSBUQVJHRVRzCiAgICAgZm9yIChUYXJnZXRJZCA9
IDA7IFRhcmdldElkIDwgWEVOVkJEX01BWF9UQVJHRVRTOyArK1RhcmdldElkKSB7Ci0gICAgICAg
IFBYRU5WQkRfVEFSR0VUIFRhcmdldCA9IF9fQWRhcHRlckdldFRhcmdldChBZGFwdGVyLCBUYXJn
ZXRJZCk7Ci0gICAgICAgIGlmIChUYXJnZXQpIHsKLSAgICAgICAgICAgIFN0YXR1cyA9IFRhcmdl
dEQzVG9EMChUYXJnZXQpOwotICAgICAgICAgICAgVGFyZ2V0RGVyZWZlcmVuY2UoVGFyZ2V0KTsK
KyAgICAgICAgUFhFTlZCRF9UQVJHRVQgVGFyZ2V0ID0gQWRhcHRlckdldFRhcmdldChBZGFwdGVy
LCBUYXJnZXRJZCk7CisgICAgICAgIGlmIChUYXJnZXQgPT0gTlVMTCkKKyAgICAgICAgICAgIGNv
bnRpbnVlOwogCi0gICAgICAgICAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKLSAgICAgICAg
ICAgICAgICBnb3RvIGZhaWwzOwotICAgICAgICB9Ci0gICAgfQorICAgICAgICBzdGF0dXMgPSBU
YXJnZXREM1RvRDAoVGFyZ2V0KTsKIAotICAgIFN0YXR1cyA9IF9fQWRhcHRlckQzVG9EMChBZGFw
dGVyKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsNDsK
KyAgICAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgICAgICBnb3RvIGZhaWw1
OworICAgIH0KIAotICAgIC8vIHJlZ2lzdGVyIHN1c3BlbmQgY2FsbGJhY2sgdG8gcmUtcmVnaXN0
ZXIgdGhlIHdhdGNoCi0gICAgQVNTRVJUM1AoQWRhcHRlci0+U3VzcGVuZENhbGxiYWNrLCA9PSwg
TlVMTCk7Ci0gICAgU3RhdHVzID0gWEVOQlVTX1NVU1BFTkQoUmVnaXN0ZXIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPlN1c3BlbmQsCisgICAgc3RhdHVzID0gWEVOQlVT
X1NVU1BFTkQoUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkFkYXB0ZXIt
PlN1c3BlbmRJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VTUEVORF9D
QUxMQkFDS19MQVRFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkYXB0ZXJTdXNwZW5k
TGF0ZUNhbGxiYWNrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkYXB0ZXIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPlN1c3BlbmRDYWxsYmFjayk7Ci0gICAg
aWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDU7CisgICAgaWYgKCFO
VF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDY7CiAKLSAgICBUcmFjZSgiPD09
PT09ICglZClcbiIsIEtlR2V0Q3VycmVudElycWwoKSk7CiAgICAgcmV0dXJuIFNUQVRVU19TVUND
RVNTOwogCitmYWlsNjoKKyAgICBFcnJvcigiZmFpbDZcbiIpOwogZmFpbDU6Ci0gICAgRXJyb3Io
IkZhaWw1XG4iKTsKKyAgICBFcnJvcigiZmFpbDVcbiIpOworCisgICAgZm9yIChUYXJnZXRJZCA9
IDA7IFRhcmdldElkIDwgWEVOVkJEX01BWF9UQVJHRVRTOyArK1RhcmdldElkKSB7CisgICAgICAg
IFBYRU5WQkRfVEFSR0VUIFRhcmdldCA9IEFkYXB0ZXJHZXRUYXJnZXQoQWRhcHRlciwgVGFyZ2V0
SWQpOworICAgICAgICBpZiAoVGFyZ2V0ID09IE5VTEwpCisgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgVGFyZ2V0RDBUb0QzKFRhcmdldCk7CisgICAgfQogCiAgICAgX19BZGFwdGVyRDBU
b0QzKEFkYXB0ZXIpOwogCiBmYWlsNDoKLSAgICBFcnJvcigiRmFpbDRcbiIpOworICAgIEVycm9y
KCJmYWlsNFxuIik7CiAKLWZhaWwzOgotICAgIEVycm9yKCJGYWlsM1xuIik7CisgICAgWEVOQlVT
X0RFQlVHKERlcmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICZBZGFwdGVyLT5EZWJ1Z0ludGVy
ZmFjZSwKKyAgICAgICAgICAgICAgICAgQWRhcHRlci0+RGVidWdDYWxsYmFjayk7CisgICAgQWRh
cHRlci0+RGVidWdDYWxsYmFjayA9IE5VTEw7CiAKLSAgICBmb3IgKFRhcmdldElkID0gMDsgVGFy
Z2V0SWQgPCBYRU5WQkRfTUFYX1RBUkdFVFM7ICsrVGFyZ2V0SWQpIHsKLSAgICAgICAgUFhFTlZC
RF9UQVJHRVQgVGFyZ2V0ID0gX19BZGFwdGVyR2V0VGFyZ2V0KEFkYXB0ZXIsIFRhcmdldElkKTsK
LSAgICAgICAgaWYgKFRhcmdldCkgewotICAgICAgICAgICAgVGFyZ2V0RDBUb0QzKFRhcmdldCk7
Ci0gICAgICAgICAgICBUYXJnZXREZXJlZmVyZW5jZShUYXJnZXQpOwotICAgICAgICB9Ci0gICAg
fQorZmFpbDM6CisgICAgRXJyb3IoImZhaWwzXG4iKTsKIAotICAgIFhFTkJVU19ERUJVRyhEZXJl
Z2lzdGVyLCAmQWRhcHRlci0+RGVidWcsIEFkYXB0ZXItPkRlYnVnQ2FsbGJhY2spOwotICAgIEFk
YXB0ZXItPkRlYnVnQ2FsbGJhY2sgPSBOVUxMOworICAgIFhFTkJVU19ERUJVRyhSZWxlYXNlLCAm
QWRhcHRlci0+RGVidWdJbnRlcmZhY2UpOwogCiBmYWlsMjoKLSAgICBFcnJvcigiRmFpbDJcbiIp
OworICAgIEVycm9yKCJmYWlsMlxuIik7CisKKyAgICBYRU5CVVNfU1VTUEVORChSZWxlYXNlLCAm
QWRhcHRlci0+U3VzcGVuZEludGVyZmFjZSk7CiAKLSAgICBfX0FkYXB0ZXJSZWxlYXNlKEFkYXB0
ZXIpOwotICAgCiBmYWlsMToKLSAgICBFcnJvcigiRmFpbDEgKCUwOHgpXG4iLCBTdGF0dXMpOwor
ICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7CiAKICAgICBfX0FkYXB0ZXJTZXRE
ZXZpY2VQb3dlclN0YXRlKEFkYXB0ZXIsIFBvd2VyRGV2aWNlRDMpOwotICAgIHJldHVybiBTdGF0
dXM7CisgICAgcmV0dXJuIHN0YXR1czsKIH0KIAogc3RhdGljIFZPSUQKIEFkYXB0ZXJEMFRvRDMo
Ci0gICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgQWRhcHRlcgorICAgIElOICBQ
WEVOVkJEX0FEQVBURVIgQWRhcHRlcgogICAgICkKIHsKLSAgICBVTE9ORyAgICAgICBUYXJnZXRJ
ZDsKKyAgICBVTE9ORyAgICAgICAgICAgICAgIFRhcmdldElkOwogCiAgICAgaWYgKCFfX0FkYXB0
ZXJTZXREZXZpY2VQb3dlclN0YXRlKEFkYXB0ZXIsIFBvd2VyRGV2aWNlRDMpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBUcmFjZSgiPT09PT0+ICglZClcbiIsIEtlR2V0Q3VycmVudElycWwoKSk7
CiAgICAgVmVyYm9zZSgiRDAtPkQzXG4iKTsKIAotICAgIC8vIHJlbW92ZSBzdXNwZW5kIGNhbGxi
YWNrCi0gICAgWEVOQlVTX1NVU1BFTkQoRGVyZWdpc3RlciwgJkFkYXB0ZXItPlN1c3BlbmQsIEFk
YXB0ZXItPlN1c3BlbmRDYWxsYmFjayk7CisgICAgWEVOQlVTX1NVU1BFTkQoRGVyZWdpc3RlciwK
KyAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+U3VzcGVuZEludGVyZmFjZSwKKyAgICAgICAg
ICAgICAgICAgICBBZGFwdGVyLT5TdXNwZW5kQ2FsbGJhY2spOwogICAgIEFkYXB0ZXItPlN1c3Bl
bmRDYWxsYmFjayA9IE5VTEw7CiAKLSAgICBfX0FkYXB0ZXJEMFRvRDMoQWRhcHRlcik7Ci0KLSAg
ICAvLyBQb3dlciBET1dOIGFueSBUQVJHRVRzCiAgICAgZm9yIChUYXJnZXRJZCA9IDA7IFRhcmdl
dElkIDwgWEVOVkJEX01BWF9UQVJHRVRTOyArK1RhcmdldElkKSB7Ci0gICAgICAgIFBYRU5WQkRf
VEFSR0VUIFRhcmdldCA9IF9fQWRhcHRlckdldFRhcmdldChBZGFwdGVyLCBUYXJnZXRJZCk7Ci0g
ICAgICAgIGlmIChUYXJnZXQpIHsKLSAgICAgICAgICAgIFRhcmdldEQwVG9EMyhUYXJnZXQpOwot
ICAgICAgICAgICAgVGFyZ2V0RGVyZWZlcmVuY2UoVGFyZ2V0KTsKLSAgICAgICAgfQorICAgICAg
ICBQWEVOVkJEX1RBUkdFVCBUYXJnZXQgPSBBZGFwdGVyR2V0VGFyZ2V0KEFkYXB0ZXIsIFRhcmdl
dElkKTsKKyAgICAgICAgaWYgKFRhcmdldCA9PSBOVUxMKQorICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgIFRhcmdldEQwVG9EMyhUYXJnZXQpOwogICAgIH0KIAotICAgIC8vIGZyZWUgZGVi
dWcgY2FsbGJhY2sKLSAgICBpZiAoQWRhcHRlci0+RGVidWdDYWxsYmFjayAhPSBOVUxMKSB7Ci0g
ICAgICAgIFhFTkJVU19ERUJVRyhEZXJlZ2lzdGVyLCAmQWRhcHRlci0+RGVidWcsIEFkYXB0ZXIt
PkRlYnVnQ2FsbGJhY2spOwotICAgICAgICBBZGFwdGVyLT5EZWJ1Z0NhbGxiYWNrID0gTlVMTDsK
LSAgICB9CisgICAgX19BZGFwdGVyRDBUb0QzKEFkYXB0ZXIpOwogCi0gICAgLy8gUmVsZWFzZSBJ
bnRlcmZhY2VzCi0gICAgX19BZGFwdGVyUmVsZWFzZShBZGFwdGVyKTsKKyAgICBYRU5CVVNfREVC
VUcoRGVyZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPkRlYnVnSW50ZXJmYWNl
LAorICAgICAgICAgICAgICAgICBBZGFwdGVyLT5EZWJ1Z0NhbGxiYWNrKTsKKyAgICBBZGFwdGVy
LT5EZWJ1Z0NhbGxiYWNrID0gTlVMTDsKIAotICAgIFRyYWNlKCI8PT09PT0gKCVkKVxuIiwgS2VH
ZXRDdXJyZW50SXJxbCgpKTsKKyAgICBYRU5CVVNfREVCVUcoUmVsZWFzZSwgJkFkYXB0ZXItPkRl
YnVnSW50ZXJmYWNlKTsKKworICAgIFhFTkJVU19TVVNQRU5EKFJlbGVhc2UsICZBZGFwdGVyLT5T
dXNwZW5kSW50ZXJmYWNlKTsKIH0KIAotX19jaGVja1JldHVybgogc3RhdGljIERFQ0xTUEVDX05P
SU5MSU5FIE5UU1RBVFVTCi1BZGFwdGVyRGV2aWNlUG93ZXIoCi0gICAgX19pbiBQWEVOVkJEX1RI
UkVBRCAgICAgICAgICAgICBUaHJlYWQsCi0gICAgX19pbiBQVk9JRCAgICAgICAgICAgICAgICAg
ICAgICBDb250ZXh0CitBZGFwdGVyRGV2aWNlUG93ZXJUaHJlYWQoCisgICAgSU4gIFBYRU5WQkRf
VEhSRUFEICBUaHJlYWQsCisgICAgSU4gIFBWT0lEICAgICAgICAgICBDb250ZXh0CiAgICAgKQog
ewogICAgIFBYRU5WQkRfQURBUFRFUiAgICAgQWRhcHRlciA9IENvbnRleHQ7CkBAIC0xNDU1LDcg
KzEwNzYsNiBAQCBBZGFwdGVyRGV2aWNlUG93ZXIoCiAgICAgICAgIFBJT19TVEFDS19MT0NBVElP
TiAgU3RhY2s7CiAgICAgICAgIERFVklDRV9QT1dFUl9TVEFURSAgRGV2aWNlU3RhdGU7CiAgICAg
ICAgIFBPV0VSX0FDVElPTiAgICAgICAgQWN0aW9uOwotICAgICAgICBOVFNUQVRVUyAgICAgICAg
ICAgIFN0YXR1czsKIAogICAgICAgICBpZiAoIVRocmVhZFdhaXQoVGhyZWFkKSkKICAgICAgICAg
ICAgIGJyZWFrOwpAQCAtMTQ3NCwxMiArMTA5NCwxMCBAQCBBZGFwdGVyRGV2aWNlUG93ZXIoCiAg
ICAgICAgIGNhc2UgSVJQX01OX1NFVF9QT1dFUjoKICAgICAgICAgICAgIHN3aXRjaCAoRGV2aWNl
U3RhdGUpIHsKICAgICAgICAgICAgIGNhc2UgUG93ZXJEZXZpY2VEMDoKLSAgICAgICAgICAgICAg
ICBWZXJib3NlKCJBREFQVEVSOlBvd2VyRGV2aWNlRDBcbiIpOwogICAgICAgICAgICAgICAgIEFk
YXB0ZXJEM1RvRDAoQWRhcHRlcik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAg
ICAgIGNhc2UgUG93ZXJEZXZpY2VEMzoKLSAgICAgICAgICAgICAgICBWZXJib3NlKCJBREFQVEVS
OlBvd2VyRGV2aWNlRDMgKCVzKVxuIiwgUG93ZXJBY3Rpb25OYW1lKEFjdGlvbikpOwogICAgICAg
ICAgICAgICAgIEFkYXB0ZXJEMFRvRDMoQWRhcHRlcik7CiAgICAgICAgICAgICAgICAgYnJlYWs7
CiAKQEAgLTE0OTEsMzgxICsxMTA5LDM0MSBAQCBBZGFwdGVyRGV2aWNlUG93ZXIoCiAgICAgICAg
IGRlZmF1bHQ6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICBTdGF0dXMg
PSBEcml2ZXJEaXNwYXRjaFBvd2VyKEFkYXB0ZXItPkRldmljZU9iamVjdCwgSXJwKTsKLSAgICAg
ICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpIHsKLSAgICAgICAgICAgIFdhcm5pbmcoIlN0b3JQ
b3J0IGZhaWxlZCBQb3dlcklSUCB3aXRoICUwOHhcbiIsIFN0YXR1cyk7Ci0gICAgICAgIH0KKyAg
ICAgICAgKFZPSUQpIERyaXZlckRpc3BhdGNoUG93ZXIoQWRhcHRlci0+RGV2aWNlT2JqZWN0LCBJ
cnApOwogICAgIH0KIAogICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKIH0KIAotX19jaGVja1Jl
dHVybgotX19kcnZfcmVxdWlyZXNJUlFMKFBBU1NJVkVfTEVWRUwpCiBzdGF0aWMgTlRTVEFUVVMK
LV9fQWRhcHRlckluaXRpYWxpemUoCi0gICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAg
ICAgQWRhcHRlcgorX19BZGFwdGVyUXVlcnlJbnRlcmZhY2UoCisgICAgSU4gIFBYRU5WQkRfQURB
UFRFUiBBZGFwdGVyLAorICAgIElOICBjb25zdCBHVUlEICAgICAgKkd1aWQsCisgICAgSU4gIFVM
T05HICAgICAgICAgICBWZXJzaW9uLAorICAgIE9VVCBQSU5URVJGQUNFICAgICAgSW50ZXJmYWNl
LAorICAgIElOICBVTE9ORyAgICAgICAgICAgU2l6ZSwKKyAgICBJTiAgQk9PTEVBTiAgICAgICAg
IE9wdGlvbmFsCiAgICAgKQogewotICAgIFVMT05HICAgICAgIFN0b3JTdGF0dXM7Ci0gICAgTlRT
VEFUVVMgICAgU3RhdHVzOworICAgIEtFVkVOVCAgICAgICAgICAgICAgRXZlbnQ7CisgICAgSU9f
U1RBVFVTX0JMT0NLICAgICBTdGF0dXNCbG9jazsKKyAgICBQSVJQICAgICAgICAgICAgICAgIEly
cDsKKyAgICBQSU9fU1RBQ0tfTE9DQVRJT04gIFN0YWNrTG9jYXRpb247CisgICAgTlRTVEFUVVMg
ICAgICAgICAgICBzdGF0dXM7CisKKyAgICBBU1NFUlQzVShLZUdldEN1cnJlbnRJcnFsKCksID09
LCBQQVNTSVZFX0xFVkVMKTsKKworICAgIEtlSW5pdGlhbGl6ZUV2ZW50KCZFdmVudCwgTm90aWZp
Y2F0aW9uRXZlbnQsIEZBTFNFKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZTdGF0dXNCbG9jaywgc2l6
ZW9mKElPX1NUQVRVU19CTE9DSykpOworCisgICAgSXJwID0gSW9CdWlsZFN5bmNocm9ub3VzRnNk
UmVxdWVzdChJUlBfTUpfUE5QLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgQWRhcHRlci0+TG93ZXJEZXZpY2VPYmplY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRXZlbnQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmU3RhdHVzQmxvY2spOworCisgICAgc3RhdHVzID0g
U1RBVFVTX1VOU1VDQ0VTU0ZVTDsKKyAgICBpZiAoSXJwID09IE5VTEwpCisgICAgICAgIGdvdG8g
ZmFpbDE7CisKKyAgICBTdGFja0xvY2F0aW9uID0gSW9HZXROZXh0SXJwU3RhY2tMb2NhdGlvbihJ
cnApOworICAgIFN0YWNrTG9jYXRpb24tPk1pbm9yRnVuY3Rpb24gPSBJUlBfTU5fUVVFUllfSU5U
RVJGQUNFOworCisgICAgU3RhY2tMb2NhdGlvbi0+UGFyYW1ldGVycy5RdWVyeUludGVyZmFjZS5J
bnRlcmZhY2VUeXBlID0gR3VpZDsKKyAgICBTdGFja0xvY2F0aW9uLT5QYXJhbWV0ZXJzLlF1ZXJ5
SW50ZXJmYWNlLlNpemUgPSAoVVNIT1JUKVNpemU7CisgICAgU3RhY2tMb2NhdGlvbi0+UGFyYW1l
dGVycy5RdWVyeUludGVyZmFjZS5WZXJzaW9uID0gKFVTSE9SVClWZXJzaW9uOworICAgIFN0YWNr
TG9jYXRpb24tPlBhcmFtZXRlcnMuUXVlcnlJbnRlcmZhY2UuSW50ZXJmYWNlID0gSW50ZXJmYWNl
OworICAgIAorICAgIElycC0+SW9TdGF0dXMuU3RhdHVzID0gU1RBVFVTX05PVF9TVVBQT1JURUQ7
CisKKyAgICBzdGF0dXMgPSBJb0NhbGxEcml2ZXIoQWRhcHRlci0+TG93ZXJEZXZpY2VPYmplY3Qs
IElycCk7CisgICAgaWYgKHN0YXR1cyA9PSBTVEFUVVNfUEVORElORykgeworICAgICAgICAoVk9J
RCkgS2VXYWl0Rm9yU2luZ2xlT2JqZWN0KCZFdmVudCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBFeGVjdXRpdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgS2VybmVsTW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG
QUxTRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAg
ICAgc3RhdHVzID0gU3RhdHVzQmxvY2suU3RhdHVzOworICAgIH0KKworICAgIGlmICghTlRfU1VD
Q0VTUyhzdGF0dXMpKSB7CisgICAgICAgIGlmIChzdGF0dXMgPT0gU1RBVFVTX05PVF9TVVBQT1JU
RUQgJiYgT3B0aW9uYWwpCisgICAgICAgICAgICBnb3RvIGRvbmU7CisKKyAgICAgICAgZ290byBm
YWlsMjsKKyAgICB9CisKK2RvbmU6CisgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOworCitmYWls
MjoKKyAgICBFcnJvcigiZmFpbDJcbiIpOworCitmYWlsMToKKyAgICBFcnJvcigiZmFpbDEgKCUw
OHgpXG4iLCBzdGF0dXMpOwogCi0gICAgVHJhY2UoIj09PT09PiAoJWQpXG4iLCBLZUdldEN1cnJl
bnRJcnFsKCkpOworICAgIHJldHVybiBzdGF0dXM7Cit9CisKKyNkZWZpbmUgQWRhcHRlclF1ZXJ5
SW50ZXJmYWNlKF9hZGFwdGVyLCBfbmFtZSwgX2l0ZiwgX29wdCkgICAgICBcCisgICAgX19BZGFw
dGVyUXVlcnlJbnRlcmZhY2UoKF9hZGFwdGVyKSwgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZHVUlEXyAjIyBfbmFtZSAjIyBfSU5URVJGQUNF
LCAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbmFtZSAjIyBfSU5URVJGQUNF
X1ZFUlNJT05fTUFYLCAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFBJTlRFUkZB
Q0UpKF9pdGYpLCAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNpemVvZiggIyMgX25hbWUgIyMgX0lOVEVSRkFDRSksICAgIFwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoX29wdCkpCitzdGF0aWMgTlRTVEFUVVMKK0FkYXB0ZXJJbml0aWFsaXplKAor
ICAgIElOICBQWEVOVkJEX0FEQVBURVIgQWRhcHRlciwKKyAgICBJTiAgUERFVklDRV9PQkpFQ1Qg
IERldmljZU9iamVjdCwKKyAgICBJTiAgUERFVklDRV9PQkpFQ1QgIFBoeXNpY2FsRGV2aWNlT2Jq
ZWN0LAorICAgIElOICBQREVWSUNFX09CSkVDVCAgTG93ZXJEZXZpY2VPYmplY3QKKyAgICApCit7
CisgICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7CiAgICAgCiAgICAgQVNTRVJUM1UoS2VH
ZXRDdXJyZW50SXJxbCgpLCA8PSwgRElTUEFUQ0hfTEVWRUwpOwotICAgIC8vIGluaXRpYWxpemUg
dGhlIG1lbW9yeQotICAgIEFkYXB0ZXItPkRldmljZVBvd2VyID0gUG93ZXJEZXZpY2VEMzsKKwor
ICAgIEFkYXB0ZXItPkRldmljZU9iamVjdCAgICAgICAgICAgPSBEZXZpY2VPYmplY3Q7CisgICAg
QWRhcHRlci0+UGh5c2ljYWxEZXZpY2VPYmplY3QgICA9IFBoeXNpY2FsRGV2aWNlT2JqZWN0Owor
ICAgIEFkYXB0ZXItPkxvd2VyRGV2aWNlT2JqZWN0ICAgICAgPSBMb3dlckRldmljZU9iamVjdDsK
KyAgICBBZGFwdGVyLT5EZXZpY2VQb3dlciAgICAgICAgICAgID0gUG93ZXJEZXZpY2VEMzsKKwog
ICAgIEtlSW5pdGlhbGl6ZVNwaW5Mb2NrKCZBZGFwdGVyLT5UYXJnZXRMb2NrKTsKICAgICBLZUlu
aXRpYWxpemVTcGluTG9jaygmQWRhcHRlci0+TG9jayk7CiAgICAgS2VJbml0aWFsaXplRXZlbnQo
JkFkYXB0ZXItPlNjYW5FdmVudCwgU3luY2hyb25pemF0aW9uRXZlbnQsIEZBTFNFKTsKIAotICAg
IEFkYXB0ZXItPlNpZ25hdHVyZSA9IEFEQVBURVJfU0lHTkFUVVJFOwotCi0gICAgU3RvclN0YXR1
cyA9IFN0b3JQb3J0R2V0RGV2aWNlT2JqZWN0cyhBZGFwdGVyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPkRldmljZU9iamVjdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZBZGFwdGVyLT5QaHlzaWNhbERldmlj
ZU9iamVjdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZBZGFw
dGVyLT5Mb3dlckRldmljZU9iamVjdCk7Ci0gICAgU3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZV
TDsKLSAgICBpZiAoU3RvclN0YXR1cyAhPSBTVE9SX1NUQVRVU19TVUNDRVNTKSB7Ci0gICAgICAg
IEVycm9yKCJTdG9yUG9ydEdldERldmljZU9iamVjdHMoKSAoJXg6JXMpXG4iLCBTdG9yU3RhdHVz
LCBTdG9yU3RhdHVzTmFtZShTdG9yU3RhdHVzKSk7CisgICAgc3RhdHVzID0gQWRhcHRlclF1ZXJ5
SW50ZXJmYWNlKEFkYXB0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhF
TkJVU19TVE9SRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkFkYXB0ZXIt
PlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxT
RSk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCiAgICAgICAgIGdvdG8gZmFpbDE7Ci0g
ICAgfQogCi0gICAgLy8gZ2V0IGludGVyZmFjZXMKLSAgICBTdGF0dXMgPSBfX0FkYXB0ZXJRdWVy
eUludGVyZmFjZXMoQWRhcHRlcik7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCisgICAg
c3RhdHVzID0gQWRhcHRlclF1ZXJ5SW50ZXJmYWNlKEFkYXB0ZXIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFhFTkJVU19FVlRDSE4sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZBZGFwdGVyLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEZBTFNFKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkK
ICAgICAgICAgZ290byBmYWlsMjsKIAotICAgIC8vIHN0YXJ0IGVudW0gdGhyZWFkCi0gICAgU3Rh
dHVzID0gVGhyZWFkQ3JlYXRlKEFkYXB0ZXJTY2FuLCBBZGFwdGVyLCAmQWRhcHRlci0+U2NhblRo
cmVhZCk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCisgICAgc3RhdHVzID0gQWRhcHRl
clF1ZXJ5SW50ZXJmYWNlKEFkYXB0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFhFTkJVU19HTlRUQUIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZB
ZGFwdGVyLT5HbnR0YWJJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEZBTFNFKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgZ290byBm
YWlsMzsKIAotICAgIFN0YXR1cyA9IFRocmVhZENyZWF0ZShBZGFwdGVyRGV2aWNlUG93ZXIsIEFk
YXB0ZXIsICZBZGFwdGVyLT5EZXZpY2VQb3dlclRocmVhZCk7Ci0gICAgaWYgKCFOVF9TVUNDRVNT
KFN0YXR1cykpCisgICAgc3RhdHVzID0gQWRhcHRlclF1ZXJ5SW50ZXJmYWNlKEFkYXB0ZXIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTkJVU19TVVNQRU5ELAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+U3VzcGVuZEludGVyZmFjZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UpOworICAgIGlmICghTlRf
U1VDQ0VTUyhzdGF0dXMpKQogICAgICAgICBnb3RvIGZhaWw0OwogCi0gICAgVHJhY2UoIjw9PT09
PSAoJWQpXG4iLCBLZUdldEN1cnJlbnRJcnFsKCkpOworICAgIHN0YXR1cyA9IEFkYXB0ZXJRdWVy
eUludGVyZmFjZShBZGFwdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBY
RU5CVVNfREVCVUcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZBZGFwdGVy
LT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFM
U0UpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWw1Owor
CisgICAgc3RhdHVzID0gQWRhcHRlclF1ZXJ5SW50ZXJmYWNlKEFkYXB0ZXIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFhFTkJVU19VTlBMVUcsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZBZGFwdGVyLT5VbnBsdWdJbnRlcmZhY2UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3Rh
dHVzKSkKKyAgICAgICAgZ290byBmYWlsNjsKKworICAgIHN0YXR1cyA9IEFkYXB0ZXJRdWVyeUlu
dGVyZmFjZShBZGFwdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5G
SUxUX0VNVUxBVEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmQWRhcHRl
ci0+RW11bGF0ZWRJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFRSVUUpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWw3
OworCisgICAgc3RhdHVzID0gVGhyZWFkQ3JlYXRlKEFkYXB0ZXJTY2FuVGhyZWFkLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBBZGFwdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAm
QWRhcHRlci0+U2NhblRocmVhZCk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAg
ICAgIGdvdG8gZmFpbDg7CisKKyAgICBzdGF0dXMgPSBUaHJlYWRDcmVhdGUoQWRhcHRlckRldmlj
ZVBvd2VyVGhyZWFkLAorICAgICAgICAgICAgICAgICAgICAgICAgICBBZGFwdGVyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+RGV2aWNlUG93ZXJUaHJlYWQpOworICAgIGlm
ICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWw5OworCiAgICAgcmV0dXJu
IFNUQVRVU19TVUNDRVNTOwogCi1mYWlsNDoKLSAgICBFcnJvcigiZmFpbDRcbiIpOworZmFpbDk6
CisgICAgRXJyb3IoImZhaWw5XG4iKTsKICAgICBUaHJlYWRBbGVydChBZGFwdGVyLT5TY2FuVGhy
ZWFkKTsKICAgICBUaHJlYWRKb2luKEFkYXB0ZXItPlNjYW5UaHJlYWQpOwogICAgIEFkYXB0ZXIt
PlNjYW5UaHJlYWQgPSBOVUxMOworZmFpbDg6CisgICAgRXJyb3IoImZhaWw4XG4iKTsKKyAgICBS
dGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5FbXVsYXRlZEludGVyZmFjZSwKKyAgICAgICAgICAgICAg
ICAgIHNpemVvZiAoWEVORklMVF9FTVVMQVRFRF9JTlRFUkZBQ0UpKTsKK2ZhaWw3OgorICAgIEVy
cm9yKCJmYWlsN1xuIik7CisgICAgUnRsWmVyb01lbW9yeSgmQWRhcHRlci0+VW5wbHVnSW50ZXJm
YWNlLAorICAgICAgICAgICAgICAgICAgc2l6ZW9mIChYRU5CVVNfVU5QTFVHX0lOVEVSRkFDRSkp
OworZmFpbDY6CisgICAgRXJyb3IoImZhaWw2XG4iKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZBZGFw
dGVyLT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX0RF
QlVHX0lOVEVSRkFDRSkpOworZmFpbDU6CisgICAgRXJyb3IoImZhaWw1XG4iKTsKKyAgICBSdGxa
ZXJvTWVtb3J5KCZBZGFwdGVyLT5TdXNwZW5kSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAg
c2l6ZW9mIChYRU5CVVNfU1VTUEVORF9JTlRFUkZBQ0UpKTsKK2ZhaWw0OgorICAgIEVycm9yKCJm
YWlsNFxuIik7CisgICAgUnRsWmVyb01lbW9yeSgmQWRhcHRlci0+R250dGFiSW50ZXJmYWNlLAor
ICAgICAgICAgICAgICAgICAgc2l6ZW9mIChYRU5CVVNfR05UVEFCX0lOVEVSRkFDRSkpOwogZmFp
bDM6CiAgICAgRXJyb3IoImZhaWwzXG4iKTsKLSAgICBfX0FkYXB0ZXJaZXJvSW50ZXJmYWNlcyhB
ZGFwdGVyKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5FdnRjaG5JbnRlcmZhY2UsCisg
ICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkJVU19FVlRDSE5fSU5URVJGQUNFKSk7CiBmYWls
MjoKICAgICBFcnJvcigiZmFpbDJcbiIpOwotICAgIEFkYXB0ZXItPkRldmljZU9iamVjdCA9IE5V
TEw7Ci0gICAgQWRhcHRlci0+UGh5c2ljYWxEZXZpY2VPYmplY3QgPSBOVUxMOwotICAgIEFkYXB0
ZXItPkxvd2VyRGV2aWNlT2JqZWN0ID0gTlVMTDsKKyAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVy
LT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX1NUT1JF
X0lOVEVSRkFDRSkpOwogZmFpbDE6Ci0gICAgRXJyb3IoImZhaWwxICglMDh4KVxuIiwgU3RhdHVz
KTsKLSAgICByZXR1cm4gU3RhdHVzOworICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1
cyk7CisKKyAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5UYXJnZXRMb2NrLCBzaXplb2YoS1NQ
SU5fTE9DSykpOworICAgIFJ0bFplcm9NZW1vcnkoJkFkYXB0ZXItPkxvY2ssIHNpemVvZihLU1BJ
Tl9MT0NLKSk7CisgICAgUnRsWmVyb01lbW9yeSgmQWRhcHRlci0+U2NhbkV2ZW50LCBzaXplb2Yo
S0VWRU5UKSk7CisKKyAgICBBZGFwdGVyLT5EZXZpY2VQb3dlciAgICAgICAgICAgID0gMDsKKyAg
ICBBZGFwdGVyLT5EZXZpY2VPYmplY3QgICAgICAgICAgID0gTlVMTDsKKyAgICBBZGFwdGVyLT5Q
aHlzaWNhbERldmljZU9iamVjdCAgID0gTlVMTDsKKyAgICBBZGFwdGVyLT5Mb3dlckRldmljZU9i
amVjdCAgICAgID0gTlVMTDsKKworICAgIHJldHVybiBzdGF0dXM7CiB9Ci1fX2Rydl9tYXhJUlFM
KFBBU1NJVkVfTEVWRUwpCisKIHN0YXRpYyBWT0lECi1fX0FkYXB0ZXJUZXJtaW5hdGUoCi0gICAg
X19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgQWRhcHRlcgorQWRhcHRlclRlYXJkb3du
KAorICAgIElOICBQWEVOVkJEX0FEQVBURVIgQWRhcHRlcgogICAgICkKIHsKLSAgICBVTE9ORyAg
IFRhcmdldElkOwotCi0gICAgVHJhY2UoIj09PT09PiAoJWQpXG4iLCBLZUdldEN1cnJlbnRJcnFs
KCkpOworICAgIFVMT05HICAgICAgICAgICAgICAgVGFyZ2V0SWQ7CiAKICAgICBBU1NFUlQzVShB
ZGFwdGVyLT5EZXZpY2VQb3dlciwgPT0sIFBvd2VyRGV2aWNlRDMpOwogCi0gICAgLy8gc3RvcCBk
ZXZpY2UgcG93ZXIgdGhyZWFkCiAgICAgVGhyZWFkQWxlcnQoQWRhcHRlci0+RGV2aWNlUG93ZXJU
aHJlYWQpOwogICAgIFRocmVhZEpvaW4oQWRhcHRlci0+RGV2aWNlUG93ZXJUaHJlYWQpOwogICAg
IEFkYXB0ZXItPkRldmljZVBvd2VyVGhyZWFkID0gTlVMTDsKIAotICAgIC8vIHN0b3AgZW51bSB0
aHJlYWQKICAgICBUaHJlYWRBbGVydChBZGFwdGVyLT5TY2FuVGhyZWFkKTsKICAgICBUaHJlYWRK
b2luKEFkYXB0ZXItPlNjYW5UaHJlYWQpOwogICAgIEFkYXB0ZXItPlNjYW5UaHJlYWQgPSBOVUxM
OwogCi0gICAgLy8gY2xlYXIgZGV2aWNlIG9iamVjdHMKLSAgICBBZGFwdGVyLT5EZXZpY2VPYmpl
Y3QgPSBOVUxMOwotICAgIEFkYXB0ZXItPlBoeXNpY2FsRGV2aWNlT2JqZWN0ID0gTlVMTDsKLSAg
ICBBZGFwdGVyLT5Mb3dlckRldmljZU9iamVjdCA9IE5VTEw7Ci0gICAgCi0gICAgLy8gZGVsZXRl
IHRhcmdldHMKLSAgICBmb3IgKFRhcmdldElkID0gMDsgVGFyZ2V0SWQgPCBYRU5WQkRfTUFYX1RB
UkdFVFM7ICsrVGFyZ2V0SWQpIHsKLSAgICAgICAgUFhFTlZCRF9UQVJHRVQgVGFyZ2V0ID0gX19B
ZGFwdGVyR2V0VGFyZ2V0QWx3YXlzKEFkYXB0ZXIsIFRhcmdldElkLCBfX0ZVTkNUSU9OX18pOwot
ICAgICAgICBpZiAoVGFyZ2V0KSB7Ci0gICAgICAgICAgICAvLyBUYXJnZXQgbWF5IG5vdCBiZSBp
biBEZWxldGVkIHN0YXRlIHlldCwgZm9yY2UgaXQgYXMgQWRhcHRlciBpcyB0ZXJtaW5hdGluZwot
ICAgICAgICAgICAgaWYgKFRhcmdldEdldERldmljZVBucFN0YXRlKFRhcmdldCkgIT0gRGVsZXRl
ZCkKLSAgICAgICAgICAgICAgICBUYXJnZXRTZXREZXZpY2VQbnBTdGF0ZShUYXJnZXQsIERlbGV0
ZWQpOwotICAgICAgICAgICAgLy8gdXBkYXRlIG1pc3NpbmcgKGZvciBkZWJ1ZyBvdXRwdXQgbW9y
ZSB0aGFuIGFueXRoaW5nIGVsc2UKLSAgICAgICAgICAgIFRhcmdldFNldE1pc3NpbmcoVGFyZ2V0
LCAiQWRhcHRlclRlcm1pbmF0ZSIpOwotICAgICAgICAgICAgLy8gZHJvcCByZWYtY291bnQgYWNx
dWlyZWQgaW4gX19BZGFwdGVyR2V0VGFyZ2V0ICpiZWZvcmUqIGRlc3Ryb3lpbmcgVGFyZ2V0Ci0g
ICAgICAgICAgICBUYXJnZXREZXJlZmVyZW5jZShUYXJnZXQpOwotICAgICAgICAgICAgVGFyZ2V0
RGVzdHJveShUYXJnZXQpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgLy8gY2xlYW51cCBtZW1v
cnkKLSAgICBBU1NFUlQzVShBZGFwdGVyLT5EZXZpY2VQb3dlciwgPT0sIFBvd2VyRGV2aWNlRDMp
OwotICAgIEFTU0VSVDNQKEFkYXB0ZXItPkRlYnVnQ2FsbGJhY2ssID09LCBOVUxMKTsKLSAgICBB
U1NFUlQzUChBZGFwdGVyLT5TdXNwZW5kQ2FsbGJhY2ssID09LCBOVUxMKTsKLQotICAgIEFkYXB0
ZXItPlNpZ25hdHVyZSA9IDA7Ci0gICAgQWRhcHRlci0+RGV2aWNlUG93ZXIgPSAwOwotICAgIEFk
YXB0ZXItPkN1cnJlbnRTcmJzID0gQWRhcHRlci0+TWF4aW11bVNyYnMgPSBBZGFwdGVyLT5Ub3Rh
bFNyYnMgPSAwOwotICAgIFJ0bFplcm9NZW1vcnkoJkFkYXB0ZXItPkVudW1lcmF0b3IsIHNpemVv
ZihBTlNJX1NUUklORykpOwotICAgIFJ0bFplcm9NZW1vcnkoJkFkYXB0ZXItPlRhcmdldExvY2ss
IHNpemVvZihLU1BJTl9MT0NLKSk7Ci0gICAgUnRsWmVyb01lbW9yeSgmQWRhcHRlci0+TG9jaywg
c2l6ZW9mKEtTUElOX0xPQ0spKTsKLSAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5TY2FuRXZl
bnQsIHNpemVvZihLRVZFTlQpKTsKLSAgICBfX0FkYXB0ZXJaZXJvSW50ZXJmYWNlcyhBZGFwdGVy
KTsKLQotICAgIEFTU0VSVChJc1plcm9NZW1vcnkoQWRhcHRlciwgc2l6ZW9mKFhFTlZCRF9BREFQ
VEVSKSkpOwotICAgIFRyYWNlKCI8PT09PT0gKCVkKVxuIiwgS2VHZXRDdXJyZW50SXJxbCgpKTsK
LX0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS8vIFF1ZXJ5IE1ldGhvZHMKLV9fY2hlY2tSZXR1
cm4KLUZPUkNFSU5MSU5FIFBERVZJQ0VfT0JKRUNUCi1BZGFwdGVyR2V0RGV2aWNlT2JqZWN0KAot
ICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAgICAgICAgICBBZGFwdGVyCi0gICAgKQot
ewotICAgIGlmIChBZGFwdGVyKQotICAgICAgICByZXR1cm4gQWRhcHRlci0+RGV2aWNlT2JqZWN0
OwotICAgIHJldHVybiBOVUxMOwotfQotCi1GT1JDRUlOTElORSBVTE9ORwotQWRhcHRlclNpemVv
ZlhlbnZiZEFkYXB0ZXIoCi0gICAgKQotewotICAgIHJldHVybiAoVUxPTkcpc2l6ZW9mKFhFTlZC
RF9BREFQVEVSKTsKLX0KLQotRk9SQ0VJTkxJTkUgUENIQVIKLUFkYXB0ZXJFbnVtKAotICAgIF9f
aW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAgICAgICAgICBBZGFwdGVyCi0gICAgKQotewotICAg
IGlmIChBZGFwdGVyLT5FbnVtZXJhdG9yLkJ1ZmZlcikKLSAgICAgICAgcmV0dXJuIEFkYXB0ZXIt
PkVudW1lcmF0b3IuQnVmZmVyOwotICAgIGVsc2UKLSAgICAgICAgcmV0dXJuICJ2YmQiOwotfQot
Ci0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0vLyBTUkIgTWV0aG9kcwotRk9SQ0VJTkxJTkUgVk9J
RAotQWRhcHRlclN0YXJ0U3JiKAotICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAgICAg
ICAgICBBZGFwdGVyLAotICAgIF9faW4gUFNDU0lfUkVRVUVTVF9CTE9DSyAgICAgICAgIFNyYgot
ICAgICkKLXsKLSAgICBMT05HICAgIFZhbHVlOwotCi0gICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRF
UihTcmIpOwotCi0gICAgVmFsdWUgPSBJbnRlcmxvY2tlZEluY3JlbWVudCgmQWRhcHRlci0+Q3Vy
cmVudFNyYnMpOwotICAgIGlmIChWYWx1ZSA+IEFkYXB0ZXItPk1heGltdW1TcmJzKQotICAgICAg
ICBBZGFwdGVyLT5NYXhpbXVtU3JicyA9IFZhbHVlOwotICAgIEludGVybG9ja2VkSW5jcmVtZW50
KCZBZGFwdGVyLT5Ub3RhbFNyYnMpOwotfQotCi1GT1JDRUlOTElORSBWT0lECi1BZGFwdGVyQ29t
cGxldGVTcmIoCi0gICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgICAgIEFkYXB0
ZXIsCi0gICAgX19pbiBQU0NTSV9SRVFVRVNUX0JMT0NLICAgICAgICAgU3JiCi0gICAgKQotewot
ICAgIEFTU0VSVDNVKFNyYi0+U3JiU3RhdHVzLCAhPSwgU1JCX1NUQVRVU19QRU5ESU5HKTsKLQot
ICAgIEludGVybG9ja2VkRGVjcmVtZW50KCZBZGFwdGVyLT5DdXJyZW50U3Jicyk7Ci0KLSAgICBT
dG9yUG9ydE5vdGlmaWNhdGlvbihSZXF1ZXN0Q29tcGxldGUsIEFkYXB0ZXIsIFNyYik7Ci19Ci0K
LS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS8vIFN0b3JQb3J0IE1ldGhvZHMKLUJPT0xFQU4KLUFk
YXB0ZXJSZXNldEJ1cygKLSAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICAgICAg
QWRhcHRlcgotICAgICkKLXsKLSAgICBVTE9ORyAgICAgICAgICAgVGFyZ2V0SWQ7Ci0KLSAgICBW
ZXJib3NlKCI9PT09PlxuIik7CiAgICAgZm9yIChUYXJnZXRJZCA9IDA7IFRhcmdldElkIDwgWEVO
VkJEX01BWF9UQVJHRVRTOyArK1RhcmdldElkKSB7Ci0gICAgICAgIFBYRU5WQkRfVEFSR0VUIFRh
cmdldCA9IF9fQWRhcHRlckdldFRhcmdldChBZGFwdGVyLCBUYXJnZXRJZCk7Ci0gICAgICAgIGlm
IChUYXJnZXQpIHsKLSAgICAgICAgICAgIFRhcmdldFJlc2V0KFRhcmdldCk7Ci0gICAgICAgICAg
ICBUYXJnZXREZXJlZmVyZW5jZShUYXJnZXQpOwotICAgICAgICB9Ci0gICAgfQotICAgIFZlcmJv
c2UoIjw9PT09XG4iKTsKLQotICAgIHJldHVybiBUUlVFOwotfQotCi1zdGF0aWMgVk9JRAotQWRh
cHRlclVucGx1Z1JlcXVlc3QoCi0gICAgSU4gIFBYRU5WQkRfQURBUFRFUiBBZGFwdGVyLAotICAg
IElOICBCT09MRUFOICAgICBNYWtlCi0gICAgKQotewotICAgIE5UU1RBVFVTICAgICAgICBzdGF0
dXM7Ci0KLSAgICBzdGF0dXMgPSBYRU5CVVNfVU5QTFVHKEFjcXVpcmUsICZBZGFwdGVyLT5VbnBs
dWcpOwotICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICByZXR1cm47CisgICAg
ICAgIFBYRU5WQkRfVEFSR0VUIFRhcmdldCA9IEFkYXB0ZXJHZXRUYXJnZXQoQWRhcHRlciwgVGFy
Z2V0SWQpOworICAgICAgICBpZiAoVGFyZ2V0ID09IE5VTEwpCisgICAgICAgICAgICBjb250aW51
ZTsKIAotICAgIFhFTkJVU19VTlBMVUcoUmVxdWVzdCwKLSAgICAgICAgICAgICAgICAgICZBZGFw
dGVyLT5VbnBsdWcsCi0gICAgICAgICAgICAgICAgICBYRU5CVVNfVU5QTFVHX0RFVklDRV9UWVBF
X0RJU0tTLAotICAgICAgICAgICAgICAgICAgTWFrZSk7CisgICAgICAgIC8vIFRhcmdldCBtYXkg
bm90IGJlIGluIERlbGV0ZWQgc3RhdGUgeWV0LCBmb3JjZSBpdCBhcyBBZGFwdGVyIGlzIHRlcm1p
bmF0aW5nCisgICAgICAgIGlmIChUYXJnZXRHZXREZXZpY2VQbnBTdGF0ZShUYXJnZXQpICE9IERl
bGV0ZWQpCisgICAgICAgICAgICBUYXJnZXRTZXREZXZpY2VQbnBTdGF0ZShUYXJnZXQsIERlbGV0
ZWQpOworICAgICAgICAvLyB1cGRhdGUgbWlzc2luZyAoZm9yIGRlYnVnIG91dHB1dCBtb3JlIHRo
YW4gYW55dGhpbmcgZWxzZQorICAgICAgICBUYXJnZXRTZXRNaXNzaW5nKFRhcmdldCwgIkFkYXB0
ZXJUZWFyZG93biIpOworICAgICAgICAvLyBkcm9wIHJlZi1jb3VudCBhY3F1aXJlZCBpbiBfX0Fk
YXB0ZXJHZXRUYXJnZXQgKmJlZm9yZSogZGVzdHJveWluZyBUYXJnZXQKKyAgICAgICAgVGFyZ2V0
RGVzdHJveShUYXJnZXQpOworICAgIH0KIAotICAgIFhFTkJVU19VTlBMVUcoUmVsZWFzZSwgJkFk
YXB0ZXItPlVucGx1Zyk7Ci19CisgICAgUnRsWmVyb01lbW9yeSgmQWRhcHRlci0+RW11bGF0ZWRJ
bnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkZJTFRfRU1VTEFURURfSU5U
RVJGQUNFKSk7CiAKLVVMT05HCi1BZGFwdGVyRmluZEFkYXB0ZXIoCi0gICAgX19pbiBQWEVOVkJE
X0FEQVBURVIgICAgICAgICAgICAgICAgIEFkYXB0ZXIsCi0gICAgX19pbm91dCBQUE9SVF9DT05G
SUdVUkFUSU9OX0lORk9STUFUSU9OICBDb25maWdJbmZvCi0gICAgKQotewotICAgIC8vIHNldHVw
IGNvbmZpZyBpbmZvCi0gICAgQ29uZmlnSW5mby0+TWF4aW11bVRyYW5zZmVyTGVuZ3RoICAgICAg
ID0gWEVOVkJEX01BWF9UUkFOU0ZFUl9MRU5HVEg7Ci0gICAgQ29uZmlnSW5mby0+TnVtYmVyT2ZQ
aHlzaWNhbEJyZWFrcyAgICAgID0gWEVOVkJEX01BWF9QSFlTSUNBTF9CUkVBS1M7Ci0gICAgQ29u
ZmlnSW5mby0+QWxpZ25tZW50TWFzayAgICAgICAgICAgICAgID0gMDsgLy8gQnl0ZS1BbGlnbmVk
Ci0gICAgQ29uZmlnSW5mby0+TnVtYmVyT2ZCdXNlcyAgICAgICAgICAgICAgID0gMTsKLSAgICBD
b25maWdJbmZvLT5Jbml0aWF0b3JCdXNJZFswXSAgICAgICAgICAgPSAxOwotICAgIENvbmZpZ0lu
Zm8tPlNjYXR0ZXJHYXRoZXIgICAgICAgICAgICAgICA9IFRSVUU7Ci0gICAgQ29uZmlnSW5mby0+
TWFzdGVyICAgICAgICAgICAgICAgICAgICAgID0gVFJVRTsKLSAgICBDb25maWdJbmZvLT5DYWNo
ZXNEYXRhICAgICAgICAgICAgICAgICAgPSBGQUxTRTsKLSAgICBDb25maWdJbmZvLT5NYXBCdWZm
ZXJzICAgICAgICAgICAgICAgICAgPSBTVE9SX01BUF9OT05fUkVBRF9XUklURV9CVUZGRVJTOwot
ICAgIENvbmZpZ0luZm8tPk1heGltdW1OdW1iZXJPZlRhcmdldHMgICAgICA9IFhFTlZCRF9NQVhf
VEFSR0VUUzsKLSAgICBDb25maWdJbmZvLT5NYXhpbXVtTnVtYmVyT2ZMb2dpY2FsVW5pdHMgPSAx
OwotICAgIENvbmZpZ0luZm8tPldtaURhdGFQcm92aWRlciAgICAgICAgICAgICA9IEZBTFNFOyAv
LyBzaG91bGQgYmUgVFJVRQotICAgIENvbmZpZ0luZm8tPlN5bmNocm9uaXphdGlvbk1vZGVsICAg
ICAgICA9IFN0b3JTeW5jaHJvbml6ZUZ1bGxEdXBsZXg7CisgICAgUnRsWmVyb01lbW9yeSgmQWRh
cHRlci0+VW5wbHVnSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgc2l6ZW9mIChYRU5CVVNf
VU5QTFVHX0lOVEVSRkFDRSkpOwogCi0gICAgaWYgKENvbmZpZ0luZm8tPkRtYTY0Qml0QWRkcmVz
c2VzID09IFNDU0lfRE1BNjRfU1lTVEVNX1NVUFBPUlRFRCkgewotICAgICAgICBUcmFjZSgiNjRi
aXQgRE1BXG4iKTsKLSAgICAgICAgQ29uZmlnSW5mby0+RG1hNjRCaXRBZGRyZXNzZXMgPSBTQ1NJ
X0RNQTY0X01JTklQT1JUX1NVUFBPUlRFRDsKLSAgICB9CisgICAgUnRsWmVyb01lbW9yeSgmQWRh
cHRlci0+RGVidWdJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkJVU19E
RUJVR19JTlRFUkZBQ0UpKTsKIAotICAgIC8vIGdldHMgY2FsbGVkIG9uIHJlc3VtZSBmcm9tIGhp
YmVybmF0ZSwgc28gb25seSBzZXR1cCBpZiBub3QgYWxyZWFkeSBkb25lCi0gICAgaWYgKEFkYXB0
ZXItPlNpZ25hdHVyZSA9PSBBREFQVEVSX1NJR05BVFVSRSkgewotICAgICAgICBWZXJib3NlKCJB
REFQVEVSIGFscmVhZHkgaW5pdGFsaXplZCAoMHglcClcbiIsIEFkYXB0ZXIpOwotICAgICAgICBy
ZXR1cm4gU1BfUkVUVVJOX0ZPVU5EOwotICAgIH0KKyAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVy
LT5TdXNwZW5kSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgc2l6ZW9mIChYRU5CVVNfU1VT
UEVORF9JTlRFUkZBQ0UpKTsKIAotICAgIC8vIFdlIG5lZWQgdG8gZG8gdGhpcyB0byBhdm9pZCBh
biBhc3NlcnRpb24gaW4gYSBjaGVja2VkIGtlcm5lbAotICAgIChWT0lEKSBTdG9yUG9ydEdldFVu
Y2FjaGVkRXh0ZW5zaW9uKEFkYXB0ZXIsIENvbmZpZ0luZm8sIFBBR0VfU0laRSk7CisgICAgUnRs
WmVyb01lbW9yeSgmQWRhcHRlci0+R250dGFiSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAg
c2l6ZW9mIChYRU5CVVNfR05UVEFCX0lOVEVSRkFDRSkpOwogCi0gICAgaWYgKCFOVF9TVUNDRVNT
KF9fQWRhcHRlckluaXRpYWxpemUoQWRhcHRlcikpKQotICAgICAgICByZXR1cm4gU1BfUkVUVVJO
X0VSUk9SOworICAgIFJ0bFplcm9NZW1vcnkoJkFkYXB0ZXItPkV2dGNobkludGVyZmFjZSwKKyAg
ICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX0VWVENITl9JTlRFUkZBQ0UpKTsKIAotICAg
IEFkYXB0ZXJVbnBsdWdSZXF1ZXN0KEFkYXB0ZXIsIFRSVUUpOworICAgIFJ0bFplcm9NZW1vcnko
JkFkYXB0ZXItPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgc2l6ZW9mIChYRU5C
VVNfU1RPUkVfSU5URVJGQUNFKSk7CiAKLSAgICBpZiAoIU5UX1NVQ0NFU1MoQWRhcHRlckQzVG9E
MChBZGFwdGVyKSkpCi0gICAgICAgIHJldHVybiBTUF9SRVRVUk5fRVJST1I7CisgICAgUnRsWmVy
b01lbW9yeSgmQWRhcHRlci0+VGFyZ2V0TG9jaywgc2l6ZW9mKEtTUElOX0xPQ0spKTsKKyAgICBS
dGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5Mb2NrLCBzaXplb2YoS1NQSU5fTE9DSykpOworICAgIFJ0
bFplcm9NZW1vcnkoJkFkYXB0ZXItPlNjYW5FdmVudCwgc2l6ZW9mKEtFVkVOVCkpOwogCi0gICAg
cmV0dXJuIFNQX1JFVFVSTl9GT1VORDsKLX0KKyAgICBBZGFwdGVyLT5EZXZpY2VQb3dlciAgICAg
ICAgICAgID0gMDsKKyAgICBBZGFwdGVyLT5EZXZpY2VPYmplY3QgICAgICAgICAgID0gTlVMTDsK
KyAgICBBZGFwdGVyLT5QaHlzaWNhbERldmljZU9iamVjdCAgID0gTlVMTDsKKyAgICBBZGFwdGVy
LT5Mb3dlckRldmljZU9iamVjdCAgICAgID0gTlVMTDsKIAotc3RhdGljIEZPUkNFSU5MSU5FIFZP
SUQKLV9fQWRhcHRlclNyYlBucCgKLSAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAg
ICAgICAgQWRhcHRlciwKLSAgICBfX2luIFBTQ1NJX1BOUF9SRVFVRVNUX0JMT0NLICAgICBTcmIK
LSAgICApCi17Ci0gICAgaWYgKCEoU3JiLT5TcmJQblBGbGFncyAmIFNSQl9QTlBfRkxBR1NfQURB
UFRFUl9SRVFVRVNUKSkgewotICAgICAgICBQWEVOVkJEX1RBUkdFVCAgICAgVGFyZ2V0OworICAg
IEFkYXB0ZXItPkJ1aWxkSW8gICAgICAgICAgICAgICAgPSAwOworICAgIEFkYXB0ZXItPlN0YXJ0
SW8gICAgICAgICAgICAgICAgPSAwOworICAgIEFkYXB0ZXItPkNvbXBsZXRlZCAgICAgICAgICAg
ICAgPSAwOwogCi0gICAgICAgIFRhcmdldCA9IF9fQWRhcHRlckdldFRhcmdldChBZGFwdGVyLCBT
cmItPlRhcmdldElkKTsKLSAgICAgICAgaWYgKFRhcmdldCkgewotICAgICAgICAgICAgVGFyZ2V0
U3JiUG5wKFRhcmdldCwgU3JiKTsKLSAgICAgICAgICAgIFRhcmdldERlcmVmZXJlbmNlKFRhcmdl
dCk7Ci0gICAgICAgIH0KLSAgICB9CisgICAgQVNTRVJUKElzWmVyb01lbW9yeShBZGFwdGVyLCBz
aXplb2YoWEVOVkJEX0FEQVBURVIpKSk7CisgICAgVHJhY2UoIjw9PT09PSAoJWQpXG4iLCBLZUdl
dEN1cnJlbnRJcnFsKCkpOwogfQogCi1CT09MRUFOIAotQWRhcHRlckJ1aWxkSW8oCi0gICAgX19p
biBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgICAgIEFkYXB0ZXIsCi0gICAgX19pbiBQU0NT
SV9SRVFVRVNUX0JMT0NLICAgICAgICAgU3JiCitWT0lECitBZGFwdGVyQ29tcGxldGVTcmIoCisg
ICAgSU4gIFBYRU5WQkRfQURBUFRFUiAgICAgQWRhcHRlciwKKyAgICBJTiAgUFNDU0lfUkVRVUVT
VF9CTE9DSyBTcmIKICAgICApCiB7Ci0gICAgSW5pdFNyYkV4dChTcmIpOworICAgIEFTU0VSVDNV
KFNyYi0+U3JiU3RhdHVzLCAhPSwgU1JCX1NUQVRVU19QRU5ESU5HKTsKIAotICAgIHN3aXRjaCAo
U3JiLT5GdW5jdGlvbikgewotICAgIGNhc2UgU1JCX0ZVTkNUSU9OX0VYRUNVVEVfU0NTSToKLSAg
ICBjYXNlIFNSQl9GVU5DVElPTl9SRVNFVF9ERVZJQ0U6Ci0gICAgY2FzZSBTUkJfRlVOQ1RJT05f
RkxVU0g6Ci0gICAgY2FzZSBTUkJfRlVOQ1RJT05fU0hVVERPV046Ci0gICAgICAgIEFkYXB0ZXJT
dGFydFNyYihBZGFwdGVyLCBTcmIpOwotICAgICAgICByZXR1cm4gVFJVRTsKKyAgICArK0FkYXB0
ZXItPkNvbXBsZXRlZDsKIAotICAgICAgICAvLyBkb250IHBhc3MgdG8gU3RhcnRJbwotICAgIGNh
c2UgU1JCX0ZVTkNUSU9OX1BOUDoKLSAgICAgICAgX19BZGFwdGVyU3JiUG5wKEFkYXB0ZXIsIChQ
U0NTSV9QTlBfUkVRVUVTVF9CTE9DSylTcmIpOwotICAgICAgICBTcmItPlNyYlN0YXR1cyA9IFNS
Ql9TVEFUVVNfU1VDQ0VTUzsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTUkJfRlVOQ1RJT05f
QUJPUlRfQ09NTUFORDoKLSAgICAgICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX0FCT1JU
X0ZBSUxFRDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTUkJfRlVOQ1RJT05fUkVTRVRfQlVT
OgotICAgICAgICBTcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfU1VDQ0VTUzsKLSAgICAgICAg
QWRhcHRlclJlc2V0QnVzKEFkYXB0ZXIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgCi0gICAg
ZGVmYXVsdDoKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIAogICAgIFN0b3JQb3J0Tm90aWZp
Y2F0aW9uKFJlcXVlc3RDb21wbGV0ZSwgQWRhcHRlciwgU3JiKTsKLSAgICByZXR1cm4gRkFMU0U7
Ci19ICAgCit9CiAKLUJPT0xFQU4gCi1BZGFwdGVyU3RhcnRJbygKLSAgICBfX2luIFBYRU5WQkRf
QURBUFRFUiAgICAgICAgICAgICAgICAgQWRhcHRlciwKLSAgICBfX2luIFBTQ1NJX1JFUVVFU1Rf
QkxPQ0sgICAgICAgICBTcmIKK3N0YXRpYyBWT0lECitBZGFwdGVyVW5wbHVnUmVxdWVzdCgKKyAg
ICBJTiAgUFhFTlZCRF9BREFQVEVSIEFkYXB0ZXIsCisgICAgSU4gIEJPT0xFQU4gICAgICAgICBN
YWtlCiAgICAgKQogewotICAgIFBYRU5WQkRfVEFSR0VUIFRhcmdldDsKLSAgICBCT09MRUFOICAg
ICBDb21wbGV0ZVNyYiA9IFRSVUU7CisgICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7CiAK
LSAgICBUYXJnZXQgPSBfX0FkYXB0ZXJHZXRUYXJnZXQoQWRhcHRlciwgU3JiLT5UYXJnZXRJZCk7
Ci0gICAgaWYgKFRhcmdldCkgewotICAgICAgICBDb21wbGV0ZVNyYiA9IFRhcmdldFN0YXJ0SW8o
VGFyZ2V0LCBTcmIpOwotICAgICAgICBUYXJnZXREZXJlZmVyZW5jZShUYXJnZXQpOwotICAgIH0K
KyAgICBzdGF0dXMgPSBYRU5CVVNfVU5QTFVHKEFjcXVpcmUsICZBZGFwdGVyLT5VbnBsdWdJbnRl
cmZhY2UpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICByZXR1cm47CiAK
LSAgICBpZiAoQ29tcGxldGVTcmIpIHsKLSAgICAgICAgQWRhcHRlckNvbXBsZXRlU3JiKEFkYXB0
ZXIsIFNyYik7Ci0gICAgfQotICAgIHJldHVybiBUUlVFOworICAgIFhFTkJVU19VTlBMVUcoUmVx
dWVzdCwKKyAgICAgICAgICAgICAgICAgICZBZGFwdGVyLT5VbnBsdWdJbnRlcmZhY2UsCisgICAg
ICAgICAgICAgICAgICBYRU5CVVNfVU5QTFVHX0RFVklDRV9UWVBFX0RJU0tTLAorICAgICAgICAg
ICAgICAgICAgTWFrZSk7CisKKyAgICBYRU5CVVNfVU5QTFVHKFJlbGVhc2UsICZBZGFwdGVyLT5V
bnBsdWdJbnRlcmZhY2UpOwogfQogCiBzdGF0aWMgUFhFTlZCRF9UQVJHRVQKIEFkYXB0ZXJHZXRU
YXJnZXRGcm9tRGV2aWNlT2JqZWN0KAotICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAg
ICAgICAgICBBZGFwdGVyLAotICAgIF9faW4gUERFVklDRV9PQkpFQ1QgICAgICAgICAgICAgIERl
dmljZU9iamVjdAorICAgIElOICBQWEVOVkJEX0FEQVBURVIgQWRhcHRlciwKKyAgICBJTiAgUERF
VklDRV9PQkpFQ1QgIERldmljZU9iamVjdAogICAgICkKIHsKLSAgICBVTE9ORyAgICAgICAgICAg
VGFyZ2V0SWQ7CisgICAgVUxPTkcgICAgICAgICAgICAgICBUYXJnZXRJZDsKIAogICAgIEFTU0VS
VDNQKERldmljZU9iamVjdCwgIT0sIE5VTEwpOwogCiAgICAgZm9yIChUYXJnZXRJZCA9IDA7IFRh
cmdldElkIDwgWEVOVkJEX01BWF9UQVJHRVRTOyArK1RhcmdldElkKSB7Ci0gICAgICAgIFBYRU5W
QkRfVEFSR0VUIFRhcmdldCA9IF9fQWRhcHRlckdldFRhcmdldChBZGFwdGVyLCBUYXJnZXRJZCk7
Ci0gICAgICAgIGlmIChUYXJnZXQpIHsKLSAgICAgICAgICAgIGlmIChUYXJnZXRHZXREZXZpY2VP
YmplY3QoVGFyZ2V0KSA9PSBEZXZpY2VPYmplY3QpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFRh
cmdldDsKLSAgICAgICAgICAgIFRhcmdldERlcmVmZXJlbmNlKFRhcmdldCk7Ci0gICAgICAgIH0K
KyAgICAgICAgUFhFTlZCRF9UQVJHRVQgVGFyZ2V0ID0gQWRhcHRlckdldFRhcmdldChBZGFwdGVy
LCBUYXJnZXRJZCk7CisgICAgICAgIGlmIChUYXJnZXQgPT0gTlVMTCkKKyAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICBpZiAoVGFyZ2V0R2V0RGV2aWNlT2JqZWN0KFRhcmdldCkgPT0gRGV2
aWNlT2JqZWN0KQorICAgICAgICAgICAgcmV0dXJuIFRhcmdldDsKICAgICB9CiAKICAgICByZXR1
cm4gTlVMTDsKQEAgLTE4NzMsMTggKzE0NTEsMTggQEAgQWRhcHRlckdldFRhcmdldEZyb21EZXZp
Y2VPYmplY3QoCiAKIHN0YXRpYyBQWEVOVkJEX1RBUkdFVAogQWRhcHRlck1hcERldmljZU9iamVj
dFRvVGFyZ2V0KAotICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAgICAgICAgIEFkYXB0
ZXIsCi0gICAgX19pbiBQREVWSUNFX09CSkVDVCAgICAgICAgICAgICBEZXZpY2VPYmplY3QKKyAg
ICBJTiAgUFhFTlZCRF9BREFQVEVSIEFkYXB0ZXIsCisgICAgSU4gIFBERVZJQ0VfT0JKRUNUICBE
ZXZpY2VPYmplY3QKICAgICApCiB7Ci0gICAgUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgICAg
IFRhcmdldDsKLSAgICBLRVZFTlQgICAgICAgICAgICAgICAgICAgICAgQ29tcGxldGU7Ci0gICAg
UElSUCAgICAgICAgICAgICAgICAgICAgICAgIElycDsKLSAgICBJT19TVEFUVVNfQkxPQ0sgICAg
ICAgICAgICAgU3RhdHVzQmxvY2s7Ci0gICAgUElPX1NUQUNLX0xPQ0FUSU9OICAgICAgICAgIFN0
YWNrOwotICAgIE5UU1RBVFVTICAgICAgICAgICAgICAgICAgICBTdGF0dXM7Ci0gICAgUFdDSEFS
ICAgICAgICAgICAgICAgICAgICAgIFN0cmluZzsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAg
ICAgICAgVGFyZ2V0SWQ7CisgICAgUFhFTlZCRF9UQVJHRVQgICAgICBUYXJnZXQ7CisgICAgS0VW
RU5UICAgICAgICAgICAgICBDb21wbGV0ZTsKKyAgICBQSVJQICAgICAgICAgICAgICAgIElycDsK
KyAgICBJT19TVEFUVVNfQkxPQ0sgICAgIFN0YXR1c0Jsb2NrOworICAgIFBJT19TVEFDS19MT0NB
VElPTiAgU3RhY2s7CisgICAgTlRTVEFUVVMgICAgICAgICAgICBTdGF0dXM7CisgICAgUFdDSEFS
ICAgICAgICAgICAgICBTdHJpbmc7CisgICAgVUxPTkcgICAgICAgICAgICAgICBUYXJnZXRJZDsK
ICAgICBERUNMQVJFX1VOSUNPREVfU1RSSU5HX1NJWkUoVW5pU3RyLCA0KTsKIAogICAgIEtlSW5p
dGlhbGl6ZUV2ZW50KCZDb21wbGV0ZSwgTm90aWZpY2F0aW9uRXZlbnQsIEZBTFNFKTsKQEAgLTE5
MjgsNyArMTUwNiw3IEBAIEFkYXB0ZXJNYXBEZXZpY2VPYmplY3RUb1RhcmdldCgKICAgICBpZiAo
IU5UX1NVQ0NFU1MoU3RhdHVzKSkKICAgICAgICAgZ290byBmYWlsNDsKIAotICAgIFRhcmdldCA9
IF9fQWRhcHRlckdldFRhcmdldChBZGFwdGVyLCBUYXJnZXRJZCk7CisgICAgVGFyZ2V0ID0gQWRh
cHRlckdldFRhcmdldChBZGFwdGVyLCBUYXJnZXRJZCk7CiAgICAgaWYgKFRhcmdldCA9PSBOVUxM
KQogICAgICAgICBnb3RvIGZhaWw1OwogCkBAIC0xOTQ2LDE2ICsxNTI0LDE1IEBAIGZhaWwxOgog
ICAgIHJldHVybiBOVUxMOwogfQogCi1fX2NoZWNrUmV0dXJuCi1OVFNUQVRVUworc3RhdGljIE5U
U1RBVFVTCiBBZGFwdGVyRm9yd2FyZFBucCgKLSAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAg
ICAgICAgICAgICBBZGFwdGVyLAotICAgIF9faW4gUERFVklDRV9PQkpFQ1QgICAgICAgICAgICAg
RGV2aWNlT2JqZWN0LAotICAgIF9faW4gUElSUCAgICAgICAgICAgICAgICAgICAgICAgSXJwCisg
ICAgSU4gIFBYRU5WQkRfQURBUFRFUiBBZGFwdGVyLAorICAgIElOICBQREVWSUNFX09CSkVDVCAg
RGV2aWNlT2JqZWN0LAorICAgIElOICBQSVJQICAgICAgICAgICAgSXJwCiAgICAgKQogewogICAg
IFBJT19TVEFDS19MT0NBVElPTiAgU3RhY2s7Ci0gICAgUFhFTlZCRF9UQVJHRVQgICAgICAgICBU
YXJnZXQ7CisgICAgUFhFTlZCRF9UQVJHRVQgICAgICBUYXJnZXQ7CiAKICAgICBBU1NFUlQzUChE
ZXZpY2VPYmplY3QsICE9LCBBZGFwdGVyLT5EZXZpY2VPYmplY3QpOwogCkBAIC0xOTc2LDI2ICsx
NTUzLDI1IEBAIEFkYXB0ZXJGb3J3YXJkUG5wKAogICAgIHJldHVybiBEcml2ZXJEaXNwYXRjaFBu
cChEZXZpY2VPYmplY3QsIElycCk7CiB9CiAKLV9fY2hlY2tSZXR1cm4KIE5UU1RBVFVTCiBBZGFw
dGVyRGlzcGF0Y2hQbnAoCi0gICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgICAg
IEFkYXB0ZXIsCi0gICAgX19pbiBQREVWSUNFX09CSkVDVCAgICAgICAgICAgICAgRGV2aWNlT2Jq
ZWN0LAotICAgIF9faW4gUElSUCAgICAgICAgICAgICAgICAgICAgICAgIElycAorICAgIElOICBQ
WEVOVkJEX0FEQVBURVIgQWRhcHRlciwKKyAgICBJTiAgUERFVklDRV9PQkpFQ1QgIERldmljZU9i
amVjdCwKKyAgICBJTiAgUElSUCAgICAgICAgICAgIElycAogICAgICkKIHsKICAgICBQSU9fU1RB
Q0tfTE9DQVRJT04gIFN0YWNrOwogCi0gICAgQVNTRVJUM1AoRGV2aWNlT2JqZWN0LCA9PSwgQWRh
cHRlci0+RGV2aWNlT2JqZWN0KTsKKyAgICBpZiAoQWRhcHRlci0+RGV2aWNlT2JqZWN0ICE9IERl
dmljZU9iamVjdCkKKyAgICAgICAgcmV0dXJuIEFkYXB0ZXJGb3J3YXJkUG5wKEFkYXB0ZXIsIERl
dmljZU9iamVjdCwgSXJwKTsKIAogICAgIFN0YWNrID0gSW9HZXRDdXJyZW50SXJwU3RhY2tMb2Nh
dGlvbihJcnApOwogCiAgICAgc3dpdGNoIChTdGFjay0+TWlub3JGdW5jdGlvbikgewogICAgIGNh
c2UgSVJQX01OX1JFTU9WRV9ERVZJQ0U6Ci0gICAgICAgIFZlcmJvc2UoIkFEQVBURVI6SVJQX01O
X1JFTU9WRV9ERVZJQ0VcbiIpOwogICAgICAgICBBZGFwdGVyRDBUb0QzKEFkYXB0ZXIpOwogICAg
ICAgICBBZGFwdGVyVW5wbHVnUmVxdWVzdChBZGFwdGVyLCBGQUxTRSk7Ci0gICAgICAgIF9fQWRh
cHRlclRlcm1pbmF0ZShBZGFwdGVyKTsKKyAgICAgICAgQWRhcHRlclRlYXJkb3duKEFkYXB0ZXIp
OwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgSVJQX01OX1FVRVJZX0RFVklDRV9SRUxBVElP
TlM6CkBAIC0yMDA0LDEyICsxNTgwLDEyIEBAIEFkYXB0ZXJEaXNwYXRjaFBucCgKICAgICAgICAg
ICAgIFRocmVhZFdha2UoQWRhcHRlci0+U2NhblRocmVhZCk7CiAKICAgICAgICAgICAgIFRyYWNl
KCJ3YWl0aW5nIGZvciBzY2FuIHRocmVhZFxuIik7Ci0KICAgICAgICAgICAgIChWT0lEKSBLZVdh
aXRGb3JTaW5nbGVPYmplY3QoJkFkYXB0ZXItPlNjYW5FdmVudCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRXhlY3V0aXZlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBLZXJuZWxNb2RlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBGQUxTRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTlVMTCk7CisgICAgICAgICAgICBUcmFjZSgic2NhbiB0aHJlYWQgd2FpdCBjb21w
bGV0ZVxuIik7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAKQEAgLTIwMjAsMTkgKzE1OTYs
MTkgQEAgQWRhcHRlckRpc3BhdGNoUG5wKAogICAgIHJldHVybiBEcml2ZXJEaXNwYXRjaFBucChE
ZXZpY2VPYmplY3QsIElycCk7CiB9CiAKLV9fY2hlY2tSZXR1cm4KIE5UU1RBVFVTCiBBZGFwdGVy
RGlzcGF0Y2hQb3dlcigKLSAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICAgICAg
QWRhcHRlciwKLSAgICBfX2luIFBERVZJQ0VfT0JKRUNUICAgICAgICAgICAgICBEZXZpY2VPYmpl
Y3QsCi0gICAgX19pbiBQSVJQICAgICAgICAgICAgICAgICAgICAgICAgSXJwCisgICAgSU4gIFBY
RU5WQkRfQURBUFRFUiBBZGFwdGVyLAorICAgIElOICBQREVWSUNFX09CSkVDVCAgRGV2aWNlT2Jq
ZWN0LAorICAgIElOICBQSVJQICAgICAgICAgICAgSXJwCiAgICAgKQogewogICAgIFBJT19TVEFD
S19MT0NBVElPTiAgU3RhY2s7CiAgICAgUE9XRVJfU1RBVEVfVFlQRSAgICBQb3dlclR5cGU7CiAg
ICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7CiAKLSAgICBBU1NFUlQzUChEZXZpY2VPYmpl
Y3QsID09LCBBZGFwdGVyLT5EZXZpY2VPYmplY3QpOworICAgIGlmIChBZGFwdGVyLT5EZXZpY2VP
YmplY3QgIT0gRGV2aWNlT2JqZWN0KQorICAgICAgICByZXR1cm4gRHJpdmVyRGlzcGF0Y2hQb3dl
cihEZXZpY2VPYmplY3QsIElycCk7CiAKICAgICBTdGFjayA9IElvR2V0Q3VycmVudElycFN0YWNr
TG9jYXRpb24oSXJwKTsKICAgICBQb3dlclR5cGUgPSBTdGFjay0+UGFyYW1ldGVycy5Qb3dlci5U
eXBlOwpAQCAtMjA2NSw3MiArMTY0MSwyOTkgQEAgQWRhcHRlckRpc3BhdGNoUG93ZXIoCiAgICAg
cmV0dXJuIHN0YXR1czsKIH0KIAotUFhFTkJVU19TVE9SRV9JTlRFUkZBQ0UKLUFkYXB0ZXJBY3F1
aXJlU3RvcmUoCi0gICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgQWRhcHRlcgorSFdfUkVTRVRf
QlVTICAgICAgICBBZGFwdGVySHdSZXNldEJ1czsKKworQk9PTEVBTgorQWRhcHRlckh3UmVzZXRC
dXMoCisgICAgSU4gIFBWT0lEICAgICAgIERldkV4dCwKKyAgICBJTiAgVUxPTkcgICAgICAgUGF0
aElkCiAgICAgKQogewotICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVzOworICAgIFBYRU5W
QkRfQURBUFRFUiBBZGFwdGVyID0gRGV2RXh0OworICAgIFVMT05HICAgICAgICAgICBUYXJnZXRJ
ZDsKIAotICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShBY3F1aXJlLCAmQWRhcHRlci0+U3RvcmUp
OwotICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAg
ICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKFBhdGhJZCk7CisKKyAgICBWZXJib3NlKCI9PT09Plxu
Iik7CisgICAgZm9yIChUYXJnZXRJZCA9IDA7IFRhcmdldElkIDwgWEVOVkJEX01BWF9UQVJHRVRT
OyArK1RhcmdldElkKSB7CisgICAgICAgIFBYRU5WQkRfVEFSR0VUIFRhcmdldCA9IEFkYXB0ZXJH
ZXRUYXJnZXQoQWRhcHRlciwgVGFyZ2V0SWQpOworICAgICAgICBpZiAoVGFyZ2V0ID09IE5VTEwp
CisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBUYXJnZXRSZXNldChUYXJnZXQpOwor
ICAgIH0KKyAgICBWZXJib3NlKCI8PT09PVxuIik7CiAKLSAgICByZXR1cm4gJkFkYXB0ZXItPlN0
b3JlOworICAgIHJldHVybiBUUlVFOwogfQogCi1QWEVOQlVTX0VWVENITl9JTlRFUkZBQ0UKLUFk
YXB0ZXJBY3F1aXJlRXZ0Y2huKAotICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgIEFkYXB0ZXIK
Kworc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKK19fQWRhcHRlclNyYlBucCgKKyAgICBJTiAgUFhF
TlZCRF9BREFQVEVSICAgICAgICAgQWRhcHRlciwKKyAgICBJTiAgUFNDU0lfUE5QX1JFUVVFU1Rf
QkxPQ0sgU3JiCiAgICAgKQogewotICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVzOworICAg
IGlmICghKFNyYi0+U3JiUG5QRmxhZ3MgJiBTUkJfUE5QX0ZMQUdTX0FEQVBURVJfUkVRVUVTVCkp
IHsKKyAgICAgICAgUFhFTlZCRF9UQVJHRVQgICAgICAgICAgVGFyZ2V0OwogCi0gICAgc3RhdHVz
ID0gWEVOQlVTX0VWVENITihBY3F1aXJlLCAmQWRhcHRlci0+RXZ0Y2huKTsKLSAgICBpZiAoIU5U
X1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIFRhcmdldCA9
IEFkYXB0ZXJHZXRUYXJnZXQoQWRhcHRlciwgU3JiLT5UYXJnZXRJZCk7CisgICAgICAgIGlmIChU
YXJnZXQpIHsKKyAgICAgICAgICAgIFRhcmdldFNyYlBucChUYXJnZXQsIFNyYik7CisgICAgICAg
IH0KKyAgICB9Cit9CisKK0hXX0JVSUxESU8gICAgICAgICAgQWRhcHRlckh3QnVpbGRJbzsKKwor
Qk9PTEVBTiAKK0FkYXB0ZXJId0J1aWxkSW8oCisgICAgSU4gIFBWT0lEICAgICAgICAgICAgICAg
RGV2RXh0LAorICAgIElOICBQU0NTSV9SRVFVRVNUX0JMT0NLIFNyYgorICAgICkKK3sKKyAgICBQ
WEVOVkJEX0FEQVBURVIgICAgICAgICBBZGFwdGVyID0gRGV2RXh0OworCisgICAgSW5pdFNyYkV4
dChTcmIpOworCisgICAgc3dpdGNoIChTcmItPkZ1bmN0aW9uKSB7CisgICAgY2FzZSBTUkJfRlVO
Q1RJT05fRVhFQ1VURV9TQ1NJOgorICAgIGNhc2UgU1JCX0ZVTkNUSU9OX1JFU0VUX0RFVklDRToK
KyAgICBjYXNlIFNSQl9GVU5DVElPTl9GTFVTSDoKKyAgICBjYXNlIFNSQl9GVU5DVElPTl9TSFVU
RE9XTjoKKyAgICAgICAgKytBZGFwdGVyLT5CdWlsZElvOworICAgICAgICByZXR1cm4gVFJVRTsK
IAotICAgIHJldHVybiAmQWRhcHRlci0+RXZ0Y2huOworICAgICAgICAvLyBkb250IHBhc3MgdG8g
U3RhcnRJbworICAgIGNhc2UgU1JCX0ZVTkNUSU9OX1BOUDoKKyAgICAgICAgX19BZGFwdGVyU3Ji
UG5wKEFkYXB0ZXIsIChQU0NTSV9QTlBfUkVRVUVTVF9CTE9DSylTcmIpOworICAgICAgICBTcmIt
PlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfU1VDQ0VTUzsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBTUkJfRlVOQ1RJT05fQUJPUlRfQ09NTUFORDoKKyAgICAgICAgU3JiLT5TcmJTdGF0dXMgPSBT
UkJfU1RBVFVTX0FCT1JUX0ZBSUxFRDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTUkJfRlVO
Q1RJT05fUkVTRVRfQlVTOgorICAgICAgICBTcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfU1VD
Q0VTUzsKKyAgICAgICAgQWRhcHRlckh3UmVzZXRCdXMoQWRhcHRlciwgU3JiLT5QYXRoSWQpOwor
ICAgICAgICBicmVhazsKKyAgICAgICAgCisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7Cisg
ICAgfQorICAgIAorICAgIFN0b3JQb3J0Tm90aWZpY2F0aW9uKFJlcXVlc3RDb21wbGV0ZSwgQWRh
cHRlciwgU3JiKTsKKyAgICByZXR1cm4gRkFMU0U7CiB9CiAKLVBYRU5CVVNfR05UVEFCX0lOVEVS
RkFDRQotQWRhcHRlckFjcXVpcmVHbnR0YWIoCi0gICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAg
QWRhcHRlcgorSFdfU1RBUlRJTyAgICAgICAgICBBZGFwdGVySHdTdGFydElvOworCitCT09MRUFO
IAorQWRhcHRlckh3U3RhcnRJbygKKyAgICBJTiAgUFZPSUQgICAgICAgICAgICAgICBEZXZFeHQs
CisgICAgSU4gIFBTQ1NJX1JFUVVFU1RfQkxPQ0sgU3JiCiAgICAgKQogewotICAgIE5UU1RBVFVT
ICAgICAgICAgICAgc3RhdHVzOworICAgIFBYRU5WQkRfQURBUFRFUiAgICAgICAgIEFkYXB0ZXIg
PSBEZXZFeHQ7CisgICAgUFhFTlZCRF9UQVJHRVQgICAgICAgICAgVGFyZ2V0OwogCi0gICAgc3Rh
dHVzID0gWEVOQlVTX0dOVFRBQihBY3F1aXJlLCAmQWRhcHRlci0+R250dGFiKTsKLSAgICBpZiAo
IU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgVGFyZ2V0ID0g
QWRhcHRlckdldFRhcmdldChBZGFwdGVyLCBTcmItPlRhcmdldElkKTsKKyAgICBpZiAoVGFyZ2V0
ID09IE5VTEwpCisgICAgICAgIGdvdG8gZmFpbDE7CisKKyAgICArK0FkYXB0ZXItPlN0YXJ0SW87
CisgICAgaWYgKFRhcmdldFN0YXJ0SW8oVGFyZ2V0LCBTcmIpKQorICAgICAgICBBZGFwdGVyQ29t
cGxldGVTcmIoQWRhcHRlciwgU3JiKTsKIAotICAgIHJldHVybiAmQWRhcHRlci0+R250dGFiOwor
ICAgIHJldHVybiBUUlVFOworCitmYWlsMToKKyAgICBBZGFwdGVyQ29tcGxldGVTcmIoQWRhcHRl
ciwgU3JiKTsKKyAgICByZXR1cm4gVFJVRTsKIH0KIAotUFhFTkJVU19ERUJVR19JTlRFUkZBQ0UK
LUFkYXB0ZXJBY3F1aXJlRGVidWcoCi0gICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgQWRhcHRl
cgorSFdfQURBUFRFUl9DT05UUk9MICBBZGFwdGVySHdBZGFwdGVyQ29udHJvbDsKKworU0NTSV9B
REFQVEVSX0NPTlRST0xfU1RBVFVTCitBZGFwdGVySHdBZGFwdGVyQ29udHJvbCgKKyAgICBJTiAg
UFZPSUQgICAgICAgICAgICAgICAgICAgICAgIERldkV4dCwKKyAgICBJTiAgU0NTSV9BREFQVEVS
X0NPTlRST0xfVFlQRSAgIENvbnRyb2xUeXBlLAorICAgIElOICBQVk9JRCAgICAgICAgICAgICAg
ICAgICAgICAgUGFyYW1ldGVycwogICAgICkKIHsKLSAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0
YXR1czsKKyAgICBQU0NTSV9TVVBQT1JURURfQ09OVFJPTF9UWVBFX0xJU1QgICBMaXN0OworCisg
ICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihEZXZFeHQpOworCisgICAgc3dpdGNoIChDb250cm9s
VHlwZSkgeworICAgIGNhc2UgU2NzaVF1ZXJ5U3VwcG9ydGVkQ29udHJvbFR5cGVzOgorICAgICAg
ICBMaXN0ID0gUGFyYW1ldGVyczsKKyAgICAgICAgTGlzdC0+U3VwcG9ydGVkVHlwZUxpc3RbU2Nz
aVF1ZXJ5U3VwcG9ydGVkQ29udHJvbFR5cGVzXSA9IFRSVUU7CisgICAgICAgIGJyZWFrOworCisg
ICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybiBTY3NpQWRhcHRl
ckNvbnRyb2xTdWNjZXNzOworfQorCitIV19GSU5EX0FEQVBURVIgICAgIEFkYXB0ZXJId0ZpbmRB
ZGFwdGVyOworCitVTE9ORworQWRhcHRlckh3RmluZEFkYXB0ZXIoCisgICAgSU4gIFBWT0lEICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldkV4dCwKKyAgICBJTiAgUFZPSUQgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgQ29udGV4dCwKKyAgICBJTiAgUFZPSUQgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgQnVzSW5mb3JtYXRpb24sCisgICAgSU4gIFBDSEFSICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEFyZ3VtZW50U3RyaW5nLAorICAgIElOIE9VVCBQUE9S
VF9DT05GSUdVUkFUSU9OX0lORk9STUFUSU9OICBDb25maWdJbmZvLAorICAgIE9VVCBQQk9PTEVB
TiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ2FpbgorICAgICkKK3sKKyAgICBQWEVOVkJE
X0FEQVBURVIgICAgICAgICAgICAgICAgICAgICAgICAgQWRhcHRlciA9IERldkV4dDsKKyAgICBQ
REVWSUNFX09CSkVDVCAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlT2JqZWN0OworICAg
IFBERVZJQ0VfT0JKRUNUICAgICAgICAgICAgICAgICAgICAgICAgICBQaHlzaWNhbERldmljZU9i
amVjdDsKKyAgICBQREVWSUNFX09CSkVDVCAgICAgICAgICAgICAgICAgICAgICAgICAgTG93ZXJE
ZXZpY2VPYmplY3Q7CisgICAgTlRTVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0YXR1czsKKworICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoQ29udGV4dCk7CisgICAgVU5S
RUZFUkVOQ0VEX1BBUkFNRVRFUihCdXNJbmZvcm1hdGlvbik7CisgICAgVU5SRUZFUkVOQ0VEX1BB
UkFNRVRFUihBcmd1bWVudFN0cmluZyk7CisgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihBZ2Fp
bik7CisKKyAgICAvLyBzZXR1cCBjb25maWcgaW5mbworICAgIENvbmZpZ0luZm8tPk1heGltdW1U
cmFuc2Zlckxlbmd0aCAgICAgICA9IFhFTlZCRF9NQVhfVFJBTlNGRVJfTEVOR1RIOworICAgIENv
bmZpZ0luZm8tPk51bWJlck9mUGh5c2ljYWxCcmVha3MgICAgICA9IFhFTlZCRF9NQVhfUEhZU0lD
QUxfQlJFQUtTOworICAgIENvbmZpZ0luZm8tPkFsaWdubWVudE1hc2sgICAgICAgICAgICAgICA9
IDA7IC8vIEJ5dGUtQWxpZ25lZAorICAgIENvbmZpZ0luZm8tPk51bWJlck9mQnVzZXMgICAgICAg
ICAgICAgICA9IDE7CisgICAgQ29uZmlnSW5mby0+SW5pdGlhdG9yQnVzSWRbMF0gICAgICAgICAg
ID0gMTsKKyAgICBDb25maWdJbmZvLT5TY2F0dGVyR2F0aGVyICAgICAgICAgICAgICAgPSBUUlVF
OworICAgIENvbmZpZ0luZm8tPk1hc3RlciAgICAgICAgICAgICAgICAgICAgICA9IFRSVUU7Cisg
ICAgQ29uZmlnSW5mby0+Q2FjaGVzRGF0YSAgICAgICAgICAgICAgICAgID0gRkFMU0U7CisgICAg
Q29uZmlnSW5mby0+TWFwQnVmZmVycyAgICAgICAgICAgICAgICAgID0gU1RPUl9NQVBfTk9OX1JF
QURfV1JJVEVfQlVGRkVSUzsKKyAgICBDb25maWdJbmZvLT5NYXhpbXVtTnVtYmVyT2ZUYXJnZXRz
ICAgICAgPSBYRU5WQkRfTUFYX1RBUkdFVFM7CisgICAgQ29uZmlnSW5mby0+TWF4aW11bU51bWJl
ck9mTG9naWNhbFVuaXRzID0gMTsKKyAgICBDb25maWdJbmZvLT5XbWlEYXRhUHJvdmlkZXIgICAg
ICAgICAgICAgPSBGQUxTRTsgLy8gc2hvdWxkIGJlIFRSVUUKKyAgICBDb25maWdJbmZvLT5TeW5j
aHJvbml6YXRpb25Nb2RlbCAgICAgICAgPSBTdG9yU3luY2hyb25pemVGdWxsRHVwbGV4OworCisg
ICAgaWYgKENvbmZpZ0luZm8tPkRtYTY0Qml0QWRkcmVzc2VzID09IFNDU0lfRE1BNjRfU1lTVEVN
X1NVUFBPUlRFRCkKKyAgICAgICAgQ29uZmlnSW5mby0+RG1hNjRCaXRBZGRyZXNzZXMgPSBTQ1NJ
X0RNQTY0X01JTklQT1JUX1NVUFBPUlRFRDsKKworICAgIC8vIFdlIG5lZWQgdG8gZG8gdGhpcyB0
byBhdm9pZCBhbiBhc3NlcnRpb24gaW4gYSBjaGVja2VkIGtlcm5lbAorICAgIChWT0lEKSBTdG9y
UG9ydEdldFVuY2FjaGVkRXh0ZW5zaW9uKERldkV4dCwgQ29uZmlnSW5mbywgUEFHRV9TSVpFKTsK
KworICAgIChWT0lEKSBTdG9yUG9ydEdldERldmljZU9iamVjdHMoRGV2RXh0LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJkRldmljZU9iamVjdCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZQaHlzaWNhbERldmljZU9iamVjdCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZMb3dlckRldmljZU9iamVjdCk7CisgICAgaWYgKEFk
YXB0ZXItPkRldmljZU9iamVjdCA9PSBEZXZpY2VPYmplY3QpCisgICAgICAgIHJldHVybiBTUF9S
RVRVUk5fRk9VTkQ7CisKKyAgICBzdGF0dXMgPSBBZGFwdGVySW5pdGlhbGl6ZShBZGFwdGVyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmljZU9iamVjdCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBQaHlzaWNhbERldmljZU9iamVjdCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBMb3dlckRldmljZU9iamVjdCk7CisgICAgaWYgKCFOVF9TVUNDRVNT
KHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDE7CiAKLSAgICBzdGF0dXMgPSBYRU5CVVNfREVC
VUcoQWNxdWlyZSwgJkFkYXB0ZXItPkRlYnVnKTsKKyAgICBBZGFwdGVyVW5wbHVnUmVxdWVzdChB
ZGFwdGVyLCBUUlVFKTsKKworICAgIHN0YXR1cyA9IEFkYXB0ZXJEM1RvRDAoQWRhcHRlcik7CiAg
ICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgICAg
ICBnb3RvIGZhaWwyOworCisgICAgRHJpdmVyU2V0QWRhcHRlcihBZGFwdGVyKTsKKyAgICByZXR1
cm4gU1BfUkVUVVJOX0ZPVU5EOwogCi0gICAgcmV0dXJuICZBZGFwdGVyLT5EZWJ1ZzsKK2ZhaWwy
OgorICAgIEVycm9yKCJmYWlsMlxuIik7CisgICAgQWRhcHRlclVucGx1Z1JlcXVlc3QoQWRhcHRl
ciwgRkFMU0UpOworICAgIEFkYXB0ZXJUZWFyZG93bihBZGFwdGVyKTsKK2ZhaWwxOgorICAgIEVy
cm9yKCJmYWlsMVxuIik7CisgICAgcmV0dXJuIFNQX1JFVFVSTl9FUlJPUjsKIH0KIAotUFhFTkJV
U19TVVNQRU5EX0lOVEVSRkFDRQotQWRhcHRlckFjcXVpcmVTdXNwZW5kKAotICAgIF9faW4gUFhF
TlZCRF9BREFQVEVSICAgIEFkYXB0ZXIgICAgCitIV19JTklUSUFMSVpFICAgQWRhcHRlckh3SW5p
dGlhbGl6ZTsKKworQk9PTEVBTiAKK0FkYXB0ZXJId0luaXRpYWxpemUoCisgICAgSU4gIFBWT0lE
ICAgRGV2RXh0CiAgICAgKQogewotICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVzOworICAg
IFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoRGV2RXh0KTsKKyAgICByZXR1cm4gVFJVRTsKK30KKwor
SFdfSU5URVJSVVBUICAgIEFkYXB0ZXJId0ludGVycnVwdDsKKworQk9PTEVBTiAKK0FkYXB0ZXJI
d0ludGVycnVwdCgKKyAgICBJTiAgUFZPSUQgICBEZXZFeHQKKyAgICApCit7CisgICAgVU5SRUZF
UkVOQ0VEX1BBUkFNRVRFUihEZXZFeHQpOworICAgIHJldHVybiBUUlVFOworfQogCi0gICAgc3Rh
dHVzID0gWEVOQlVTX1NVU1BFTkQoQWNxdWlyZSwgJkFkYXB0ZXItPlN1c3BlbmQpOworTlRTVEFU
VVMKK0FkYXB0ZXJEcml2ZXJFbnRyeSgKKyAgICBJTiAgUFVOSUNPREVfU1RSSU5HICAgICBSZWdp
c3RyeVBhdGgsCisgICAgSU4gIFBEUklWRVJfT0JKRUNUICAgICAgRHJpdmVyT2JqZWN0CisgICAg
KQoreworICAgIEhXX0lOSVRJQUxJWkFUSU9OX0RBVEEgIEluaXREYXRhOworICAgIE5UU1RBVFVT
ICAgICAgICAgICAgICAgIHN0YXR1czsKKworICAgIFJ0bFplcm9NZW1vcnkoJkluaXREYXRhLCBz
aXplb2YoSW5pdERhdGEpKTsKKyAgICBJbml0RGF0YS5Id0luaXRpYWxpemF0aW9uRGF0YVNpemUg
ICA9IHNpemVvZihJbml0RGF0YSk7CisgICAgSW5pdERhdGEuQWRhcHRlckludGVyZmFjZVR5cGUg
ICAgICAgPSBJbnRlcm5hbDsKKyAgICBJbml0RGF0YS5Id0luaXRpYWxpemUgICAgICAgICAgICAg
ICA9IEFkYXB0ZXJId0luaXRpYWxpemU7CisgICAgSW5pdERhdGEuSHdTdGFydElvICAgICAgICAg
ICAgICAgICAgPSBBZGFwdGVySHdTdGFydElvOworICAgIEluaXREYXRhLkh3SW50ZXJydXB0ICAg
ICAgICAgICAgICAgID0gQWRhcHRlckh3SW50ZXJydXB0OworI3ByYWdtYSB3YXJuaW5nKHN1cHBy
ZXNzIDogNDE1MikKKyAgICBJbml0RGF0YS5Id0ZpbmRBZGFwdGVyICAgICAgICAgICAgICA9IEFk
YXB0ZXJId0ZpbmRBZGFwdGVyOworICAgIEluaXREYXRhLkh3UmVzZXRCdXMgICAgICAgICAgICAg
ICAgID0gQWRhcHRlckh3UmVzZXRCdXM7CisgICAgSW5pdERhdGEuSHdEbWFTdGFydGVkICAgICAg
ICAgICAgICAgPSBOVUxMOworICAgIEluaXREYXRhLkh3QWRhcHRlclN0YXRlICAgICAgICAgICAg
ID0gTlVMTDsKKyAgICBJbml0RGF0YS5EZXZpY2VFeHRlbnNpb25TaXplICAgICAgICA9IHNpemVv
ZihYRU5WQkRfQURBUFRFUik7CisgICAgSW5pdERhdGEuU3BlY2lmaWNMdUV4dGVuc2lvblNpemUg
ICAgPSBzaXplb2YoVUxPTkcpOyAvLyBub3QgYWN0dWFsbHkgdXNlZAorICAgIEluaXREYXRhLlNy
YkV4dGVuc2lvblNpemUgICAgICAgICAgID0gc2l6ZW9mKFhFTlZCRF9TUkJFWFQpOworICAgIElu
aXREYXRhLk51bWJlck9mQWNjZXNzUmFuZ2VzICAgICAgID0gMjsKKyAgICBJbml0RGF0YS5NYXBC
dWZmZXJzICAgICAgICAgICAgICAgICA9IFNUT1JfTUFQX05PTl9SRUFEX1dSSVRFX0JVRkZFUlM7
CisgICAgSW5pdERhdGEuTmVlZFBoeXNpY2FsQWRkcmVzc2VzICAgICAgPSBUUlVFOworICAgIElu
aXREYXRhLlRhZ2dlZFF1ZXVpbmcgICAgICAgICAgICAgID0gVFJVRTsKKyAgICBJbml0RGF0YS5B
dXRvUmVxdWVzdFNlbnNlICAgICAgICAgICA9IFRSVUU7CisgICAgSW5pdERhdGEuTXVsdGlwbGVS
ZXF1ZXN0UGVyTHUgICAgICAgPSBUUlVFOworICAgIEluaXREYXRhLkh3QWRhcHRlckNvbnRyb2wg
ICAgICAgICAgID0gQWRhcHRlckh3QWRhcHRlckNvbnRyb2w7CisgICAgSW5pdERhdGEuSHdCdWls
ZElvICAgICAgICAgICAgICAgICAgPSBBZGFwdGVySHdCdWlsZElvOworCisgICAgc3RhdHVzID0g
U3RvclBvcnRJbml0aWFsaXplKERyaXZlck9iamVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUmVnaXN0cnlQYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
SW5pdERhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwogICAgIGlm
ICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgZ290
byBmYWlsMTsKIAotICAgIHJldHVybiAmQWRhcHRlci0+U3VzcGVuZDsKKyAgICByZXR1cm4gU1RB
VFVTX1NVQ0NFU1M7CisKK2ZhaWwxOgorICAgIEVycm9yKCJmYWlsMSAlMDh4XG4iLCBzdGF0dXMp
OworICAgIHJldHVybiBzdGF0dXM7CiB9CisKKyNkZWZpbmUgQURBUFRFUl9HRVRfSU5URVJGQUNF
KF9uYW1lLCBfdHlwZSkgICAgICAgICAgICAgICAgICAgICBcCitWT0lEICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorQWRhcHRlckdl
dCAjIyBfbmFtZSAjIyBJbnRlcmZhY2UoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBJTiAgUFhFTlZCRF9BREFQVEVSIEFkYXB0ZXIsICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgT1VUIF90eXBlICAgICAgICAgICBfbmFtZSAjIyBJbnRlcmZhY2UgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK3sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKiAjIyBfbmFtZSAj
IyBJbnRlcmZhY2UgPSBBZGFwdGVyLT4gIyMgX25hbWUgIyMgSW50ZXJmYWNlOyAgXAorfQorCitB
REFQVEVSX0dFVF9JTlRFUkZBQ0UoU3RvcmUsIFBYRU5CVVNfU1RPUkVfSU5URVJGQUNFKQorQURB
UFRFUl9HRVRfSU5URVJGQUNFKERlYnVnLCBQWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSkKK0FEQVBU
RVJfR0VUX0lOVEVSRkFDRShFdnRjaG4sIFBYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRSkKK0FEQVBU
RVJfR0VUX0lOVEVSRkFDRShHbnR0YWIsIFBYRU5CVVNfR05UVEFCX0lOVEVSRkFDRSkKK0FEQVBU
RVJfR0VUX0lOVEVSRkFDRShTdXNwZW5kLCBQWEVOQlVTX1NVU1BFTkRfSU5URVJGQUNFKQorCisj
dW5kZWYgQURBUFRFUl9HRVRfSU5URVJGQUNFCmRpZmYgLS1naXQgYS9zcmMveGVudmJkL2FkYXB0
ZXIuaCBiL3NyYy94ZW52YmQvYWRhcHRlci5oCmluZGV4IDA5ZDVlZTYuLjI4NjczOTggMTAwNjQ0
Ci0tLSBhL3NyYy94ZW52YmQvYWRhcHRlci5oCisrKyBiL3NyYy94ZW52YmQvYWRhcHRlci5oCkBA
IC0zNywxMjYgKzM3LDU3IEBACiB0eXBlZGVmIHN0cnVjdCBfWEVOVkJEX0FEQVBURVIgWEVOVkJE
X0FEQVBURVIsICpQWEVOVkJEX0FEQVBURVI7CiAKICNpbmNsdWRlIDxzdG9ycG9ydC5oPgotI2lu
Y2x1ZGUgInRhcmdldC5oIgogI2luY2x1ZGUgPHN0b3JlX2ludGVyZmFjZS5oPgogI2luY2x1ZGUg
PGV2dGNobl9pbnRlcmZhY2UuaD4KICNpbmNsdWRlIDxnbnR0YWJfaW50ZXJmYWNlLmg+CiAjaW5j
bHVkZSA8ZGVidWdfaW50ZXJmYWNlLmg+CiAjaW5jbHVkZSA8c3VzcGVuZF9pbnRlcmZhY2UuaD4K
LSNpbmNsdWRlIDx1bnBsdWdfaW50ZXJmYWNlLmg+CiAKLS8vIExpbmsgVEFSR0VUcwotZXh0ZXJu
IEJPT0xFQU4KLUFkYXB0ZXJMaW5rVGFyZ2V0KAotICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAg
ICAgICAgICAgICAgICBBZGFwdGVyLAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAg
ICAgICAgIFRhcmdldAotICAgICk7Ci0KLWV4dGVybiBCT09MRUFOCi1BZGFwdGVyVW5saW5rVGFy
Z2V0KAotICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAgICAgICAgICBBZGFwdGVyLAot
ICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgICAgIFRhcmdldAotICAgICk7Ci0v
LyBRdWVyeSBNZXRob2RzCi1fX2NoZWNrUmV0dXJuCi1leHRlcm4gUERFVklDRV9PQkpFQ1QKLUFk
YXB0ZXJHZXREZXZpY2VPYmplY3QoCi0gICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAg
ICAgICAgIEFkYXB0ZXIKKyNkZWZpbmUgQURBUFRFUl9HRVRfSU5URVJGQUNFKF9uYW1lLCBfdHlw
ZSkgICAgIFwKK2V4dGVybiBWT0lEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKK0FkYXB0ZXJHZXQgIyMgX25hbWUgIyMgSW50ZXJmYWNlKCAgICAgICAgICAgICAgIFwKKyAg
ICBJTiAgUFhFTlZCRF9BREFQVEVSIEFkYXB0ZXIsICAgICAgICAgICAgICAgIFwKKyAgICBPVVQg
X3R5cGUgICAgICAgICAgIF9uYW1lICMjIEludGVyZmFjZSAgICAgIFwKICAgICApOwogCi1leHRl
cm4gVUxPTkcKLUFkYXB0ZXJTaXplb2ZYZW52YmRBZGFwdGVyKAotICAgICk7CitBREFQVEVSX0dF
VF9JTlRFUkZBQ0UoU3RvcmUsIFBYRU5CVVNfU1RPUkVfSU5URVJGQUNFKQorQURBUFRFUl9HRVRf
SU5URVJGQUNFKERlYnVnLCBQWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSkKK0FEQVBURVJfR0VUX0lO
VEVSRkFDRShFdnRjaG4sIFBYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRSkKK0FEQVBURVJfR0VUX0lO
VEVSRkFDRShHbnR0YWIsIFBYRU5CVVNfR05UVEFCX0lOVEVSRkFDRSkKK0FEQVBURVJfR0VUX0lO
VEVSRkFDRShTdXNwZW5kLCBQWEVOQlVTX1NVU1BFTkRfSU5URVJGQUNFKQogCi1leHRlcm4gUENI
QVIKLUFkYXB0ZXJFbnVtKAotICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAgICAgICAg
ICBBZGFwdGVyCi0gICAgKTsKKyN1bmRlZiBBREFQVEVSX0dFVF9JTlRFUkZBQ0UKIAotLy8gU1JC
IE1ldGhvZHMKLWV4dGVybiBWT0lECi1BZGFwdGVyU3RhcnRTcmIoCi0gICAgX19pbiBQWEVOVkJE
X0FEQVBURVIgICAgICAgICAgICAgICAgIEFkYXB0ZXIsCi0gICAgX19pbiBQU0NTSV9SRVFVRVNU
X0JMT0NLICAgICAgICAgU3JiCitleHRlcm4gQk9PTEVBTgorQWRhcHRlcklzVGFyZ2V0RW11bGF0
ZWQoCisgICAgSU4gIFBYRU5WQkRfQURBUFRFUiBBZGFwdGVyLAorICAgIElOICBVTE9ORyAgICAg
ICAgICAgVGFyZ2V0SWQKICAgICApOwogCiBleHRlcm4gVk9JRAogQWRhcHRlckNvbXBsZXRlU3Ji
KAotICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAgICAgICAgICBBZGFwdGVyLAotICAg
IF9faW4gUFNDU0lfUkVRVUVTVF9CTE9DSyAgICAgICAgIFNyYgotICAgICk7Ci0KLS8vIFN0b3JQ
b3J0IE1ldGhvZHMKLWV4dGVybiBCT09MRUFOCi1BZGFwdGVyUmVzZXRCdXMoCi0gICAgX19pbiBQ
WEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgICAgIEFkYXB0ZXIKLSAgICApOwotCi1leHRlcm4g
VUxPTkcKLUFkYXB0ZXJGaW5kQWRhcHRlcigKLSAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAg
ICAgICAgICAgICAgQWRhcHRlciwKLSAgICBfX2lub3V0IFBQT1JUX0NPTkZJR1VSQVRJT05fSU5G
T1JNQVRJT04gIENvbmZpZ0luZm8KLSAgICApOwotCi1leHRlcm4gQk9PTEVBTiAKLUFkYXB0ZXJC
dWlsZElvKAotICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAgICAgICAgICBBZGFwdGVy
LAotICAgIF9faW4gUFNDU0lfUkVRVUVTVF9CTE9DSyAgICAgICAgIFNyYgotICAgICk7Ci0KLWV4
dGVybiBCT09MRUFOIAotQWRhcHRlclN0YXJ0SW8oCi0gICAgX19pbiBQWEVOVkJEX0FEQVBURVIg
ICAgICAgICAgICAgICAgIEFkYXB0ZXIsCi0gICAgX19pbiBQU0NTSV9SRVFVRVNUX0JMT0NLICAg
ICAgICAgU3JiCi0gICAgKTsKLQotX19jaGVja1JldHVybgotZXh0ZXJuIE5UU1RBVFVTCi1BZGFw
dGVyRm9yd2FyZFBucCgKLSAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICAgICBB
ZGFwdGVyLAotICAgIF9faW4gUERFVklDRV9PQkpFQ1QgICAgICAgICAgICAgRGV2aWNlT2JqZWN0
LAotICAgIF9faW4gUElSUCAgICAgICAgICAgICAgICAgICAgICAgSXJwCisgICAgSU4gIFBYRU5W
QkRfQURBUFRFUiAgICAgQWRhcHRlciwKKyAgICBJTiAgUFNDU0lfUkVRVUVTVF9CTE9DSyBTcmIK
ICAgICApOwogCi1fX2NoZWNrUmV0dXJuCiBleHRlcm4gTlRTVEFUVVMKIEFkYXB0ZXJEaXNwYXRj
aFBucCgKLSAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICAgICAgQWRhcHRlciwK
LSAgICBfX2luIFBERVZJQ0VfT0JKRUNUICAgICAgICAgICAgICBEZXZpY2VPYmplY3QsCi0gICAg
X19pbiBQSVJQICAgICAgICAgICAgICAgICAgICAgICAgSXJwCisgICAgSU4gIFBYRU5WQkRfQURB
UFRFUiBBZGFwdGVyLAorICAgIElOICBQREVWSUNFX09CSkVDVCAgRGV2aWNlT2JqZWN0LAorICAg
IElOICBQSVJQICAgICAgICAgICAgSXJwCiAgICAgKTsKIAotX19jaGVja1JldHVybgogZXh0ZXJu
IE5UU1RBVFVTCiBBZGFwdGVyRGlzcGF0Y2hQb3dlcigKLSAgICBfX2luIFBYRU5WQkRfQURBUFRF
UiAgICAgICAgICAgICAgICAgQWRhcHRlciwKLSAgICBfX2luIFBERVZJQ0VfT0JKRUNUICAgICAg
ICAgICAgICBEZXZpY2VPYmplY3QsCi0gICAgX19pbiBQSVJQICAgICAgICAgICAgICAgICAgICAg
ICAgSXJwCi0gICAgKTsKLQotZXh0ZXJuIFBYRU5CVVNfU1RPUkVfSU5URVJGQUNFCi1BZGFwdGVy
QWNxdWlyZVN0b3JlKAotICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAgICAgICAgICBB
ZGFwdGVyCisgICAgSU4gIFBYRU5WQkRfQURBUFRFUiBBZGFwdGVyLAorICAgIElOICBQREVWSUNF
X09CSkVDVCAgRGV2aWNlT2JqZWN0LAorICAgIElOICBQSVJQICAgICAgICAgICAgSXJwCiAgICAg
KTsKIAotZXh0ZXJuIFBYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRQotQWRhcHRlckFjcXVpcmVFdnRj
aG4oCi0gICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgICAgIEFkYXB0ZXIKLSAg
ICApOwotCi1leHRlcm4gUFhFTkJVU19HTlRUQUJfSU5URVJGQUNFCi1BZGFwdGVyQWNxdWlyZUdu
dHRhYigKLSAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICAgICAgQWRhcHRlcgot
ICAgICk7Ci0KLWV4dGVybiBQWEVOQlVTX0RFQlVHX0lOVEVSRkFDRQotQWRhcHRlckFjcXVpcmVE
ZWJ1ZygKLSAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICAgICAgQWRhcHRlcgot
ICAgICk7Ci0KLWV4dGVybiBQWEVOQlVTX1NVU1BFTkRfSU5URVJGQUNFCi1BZGFwdGVyQWNxdWly
ZVN1c3BlbmQoCi0gICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgICAgIEFkYXB0
ZXIKK2V4dGVybiBOVFNUQVRVUworQWRhcHRlckRyaXZlckVudHJ5KAorICAgIElOICBQVU5JQ09E
RV9TVFJJTkcgUmVnaXN0cnlQYXRoLAorICAgIElOICBQRFJJVkVSX09CSkVDVCAgRHJpdmVyT2Jq
ZWN0CiAgICAgKTsKIAogI2VuZGlmIC8vIF9YRU5WQkRfQURBUFRFUl9ICmRpZmYgLS1naXQgYS9z
cmMveGVudmJkL2Jsb2NrcmluZy5jIGIvc3JjL3hlbnZiZC9ibG9ja3JpbmcuYwppbmRleCBhMGJh
N2M3Li5iY2VmODc3IDEwMDY0NAotLS0gYS9zcmMveGVudmJkL2Jsb2NrcmluZy5jCisrKyBiL3Ny
Yy94ZW52YmQvYmxvY2tyaW5nLmMKQEAgLTQ5LDcgKzQ5LDcgQEAgc3RydWN0IF9YRU5WQkRfQkxP
Q0tSSU5HIHsKICAgICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgIENvbm5lY3RlZDsK
ICAgICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgIEVuYWJsZWQ7CiAKLSAgICBQWEVO
QlVTX1NUT1JFX0lOVEVSRkFDRSAgICAgICAgIFN0b3JlSW50ZXJmYWNlOworICAgIFhFTkJVU19T
VE9SRV9JTlRFUkZBQ0UgICAgICAgICAgU3RvcmVJbnRlcmZhY2U7CiAKICAgICBLU1BJTl9MT0NL
ICAgICAgICAgICAgICAgICAgICAgIExvY2s7CiAgICAgUE1ETCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBNZGw7CkBAIC0yODQsMTAgKzI4NCwxMCBAQCBCbG9ja1JpbmdDb25uZWN0KAogCiAg
ICAgQVNTRVJUKEJsb2NrUmluZy0+Q29ubmVjdGVkID09IEZBTFNFKTsKIAotICAgIEJsb2NrUmlu
Zy0+U3RvcmVJbnRlcmZhY2UgPSBBZGFwdGVyQWNxdWlyZVN0b3JlKEFkYXB0ZXIpOwotCi0gICAg
c3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZVTDsKLSAgICBpZiAoQmxvY2tSaW5nLT5TdG9yZUlu
dGVyZmFjZSA9PSBOVUxMKQorICAgIEFkYXB0ZXJHZXRTdG9yZUludGVyZmFjZShBZGFwdGVyLCAm
QmxvY2tSaW5nLT5TdG9yZUludGVyZmFjZSk7CisgICAKKyAgICBzdGF0dXMgPSBYRU5CVVNfU1RP
UkUoQWNxdWlyZSwgJkJsb2NrUmluZy0+U3RvcmVJbnRlcmZhY2UpOworICAgIGlmICghTlRfU1VD
Q0VTUyhzdGF0dXMpKQogICAgICAgICBnb3RvIGZhaWwxOwogCiAgICAgc3RhdHVzID0gRnJvbnRl
bmRTdG9yZVJlYWRCYWNrZW5kKEJsb2NrUmluZy0+RnJvbnRlbmQsICJtYXgtcmluZy1wYWdlLW9y
ZGVyIiwgJlZhbHVlKTsKQEAgLTM1NSw3ICszNTUsNyBAQCBCbG9ja1JpbmdTdG9yZVdyaXRlKAog
CiAgICAgaWYgKEJsb2NrUmluZy0+T3JkZXIgPT0gMCkgewogICAgICAgICBzdGF0dXMgPSBYRU5C
VVNfU1RPUkUoUHJpbnRmLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2NrUmlu
Zy0+U3RvcmVJbnRlcmZhY2UsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkJsb2Nr
UmluZy0+U3RvcmVJbnRlcmZhY2UsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJh
bnNhY3Rpb24sIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmRQYXRoLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJpbmctcmVmIiwgCkBAIC0zNjcsNyArMzY3
LDcgQEAgQmxvY2tSaW5nU3RvcmVXcml0ZSgKICAgICAgICAgVUxPTkcgICBJbmRleCwgUmluZ1Bh
Z2VzOwogCiAgICAgICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShQcmludGYsIAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgQmxvY2tSaW5nLT5TdG9yZUludGVyZmFjZSwgCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmQmxvY2tSaW5nLT5TdG9yZUludGVyZmFjZSwgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2FjdGlvbiwgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBGcm9udGVuZFBhdGgsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInJpbmctcGFnZS1vcmRlciIsIApAQCAtMzgzLDcgKzM4Myw3IEBAIEJsb2NrUmluZ1N0b3Jl
V3JpdGUoCiAgICAgICAgICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gc3RhdHVzOwogICAgICAgICAgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFBy
aW50ZiwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tSaW5nLT5TdG9y
ZUludGVyZmFjZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkJsb2NrUmlu
Zy0+U3RvcmVJbnRlcmZhY2UsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRy
YW5zYWN0aW9uLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZFBh
dGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSwgCkBAIC0zOTUsNyAr
Mzk1LDcgQEAgQmxvY2tSaW5nU3RvcmVXcml0ZSgKICAgICB9CiAKICAgICBzdGF0dXMgPSBYRU5C
VVNfU1RPUkUoUHJpbnRmLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tSaW5nLT5T
dG9yZUludGVyZmFjZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICZCbG9ja1JpbmctPlN0
b3JlSW50ZXJmYWNlLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNhY3Rpb24sIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZFBhdGgsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJwcm90b2NvbCIsIApAQCAtNDUzLDggKzQ1Myw4IEBAIEJsb2NrUmluZ0Rpc2Nv
bm5lY3QoCiAKICAgICBCbG9ja1JpbmctPk9yZGVyID0gMDsKIAotICAgIFhFTkJVU19TVE9SRShS
ZWxlYXNlLCBCbG9ja1JpbmctPlN0b3JlSW50ZXJmYWNlKTsKLSAgICBCbG9ja1JpbmctPlN0b3Jl
SW50ZXJmYWNlID0gTlVMTDsKKyAgICBYRU5CVVNfU1RPUkUoUmVsZWFzZSwgJkJsb2NrUmluZy0+
U3RvcmVJbnRlcmZhY2UpOworICAgIFJ0bFplcm9NZW1vcnkoJkJsb2NrUmluZy0+U3RvcmVJbnRl
cmZhY2UsIHNpemVvZihYRU5CVVNfU1RPUkVfSU5URVJGQUNFKSk7CiAKICAgICBCbG9ja1Jpbmct
PkNvbm5lY3RlZCA9IEZBTFNFOwogfQpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC9kcml2ZXIuYyBi
L3NyYy94ZW52YmQvZHJpdmVyLmMKaW5kZXggMjMzMzE4Zi4uZDQ1YzZiNiAxMDA2NDQKLS0tIGEv
c3JjL3hlbnZiZC9kcml2ZXIuYworKysgYi9zcmMveGVudmJkL2RyaXZlci5jCkBAIC01OSw2ICs1
OSwxNiBAQCBzdGF0aWMgWEVOVkJEX0RSSVZFUiBEcml2ZXI7CiAKICNkZWZpbmUgWEVOVkJEX1BP
T0xfVEFHICAgICAnZGJ2WCcKIAorVk9JRAorRHJpdmVyU2V0QWRhcHRlcigKKyAgICBJTiAgUFZP
SUQgICBBZGFwdGVyCisgICAgKQoreworICAgIEFTU0VSVDNQKERyaXZlci5BZGFwdGVyLCA9PSwg
TlVMTCk7CisgICAgQVNTRVJUM1AoQWRhcHRlciwgIT0sIE5VTEwpOworICAgIERyaXZlci5BZGFw
dGVyID0gQWRhcHRlcjsKK30KKwogc3RhdGljIEZPUkNFSU5MSU5FIEhBTkRMRQogX19Ecml2ZXJH
ZXRQYXJhbWV0ZXJzS2V5KAogICAgIFZPSUQKQEAgLTE2OCwxNDEgKzE3OCw2IEBAIGZhaWwxOgog
ICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7CiB9CiAKLUhXX0lOSVRJQUxJWkUg
ICBId0luaXRpYWxpemU7Ci0KLUJPT0xFQU4gCi1Id0luaXRpYWxpemUoCi0gICAgSU4gIFBWT0lE
ICAgRGV2RXh0Ci0gICAgKQotewotICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoRGV2RXh0KTsK
LSAgICByZXR1cm4gVFJVRTsKLX0KLQotSFdfSU5URVJSVVBUICAgIEh3SW50ZXJydXB0OwotCi1C
T09MRUFOIAotSHdJbnRlcnJ1cHQoCi0gICAgSU4gIFBWT0lEICAgRGV2RXh0Ci0gICAgKQotewot
ICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoRGV2RXh0KTsKLSAgICByZXR1cm4gVFJVRTsKLX0K
LQotSFdfQURBUFRFUl9DT05UUk9MICBId0FkYXB0ZXJDb250cm9sOwotCi1TQ1NJX0FEQVBURVJf
Q09OVFJPTF9TVEFUVVMKLUh3QWRhcHRlckNvbnRyb2woCi0gICAgSU4gIFBWT0lEICAgICAgICAg
ICAgICAgICAgICAgICBEZXZFeHQsCi0gICAgSU4gIFNDU0lfQURBUFRFUl9DT05UUk9MX1RZUEUg
ICBDb250cm9sVHlwZSwKLSAgICBJTiAgUFZPSUQgICAgICAgICAgICAgICAgICAgICAgIFBhcmFt
ZXRlcnMKLSAgICApCi17Ci0gICAgUFNDU0lfU1VQUE9SVEVEX0NPTlRST0xfVFlQRV9MSVNUICAg
TGlzdDsKLQotICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoRGV2RXh0KTsKLQotICAgIHN3aXRj
aCAoQ29udHJvbFR5cGUpIHsKLSAgICBjYXNlIFNjc2lRdWVyeVN1cHBvcnRlZENvbnRyb2xUeXBl
czoKLSAgICAgICAgTGlzdCA9IFBhcmFtZXRlcnM7Ci0gICAgICAgIExpc3QtPlN1cHBvcnRlZFR5
cGVMaXN0W1Njc2lRdWVyeVN1cHBvcnRlZENvbnRyb2xUeXBlc10gPSBUUlVFOwotICAgICAgICBi
cmVhazsKLQotICAgIGNhc2UgU2NzaVN0b3BBZGFwdGVyOgotICAgIGNhc2UgU2NzaVJlc3RhcnRB
ZGFwdGVyOgotICAgIGNhc2UgU2NzaVNldEJvb3RDb25maWc6Ci0gICAgY2FzZSBTY3NpU2V0UnVu
bmluZ0NvbmZpZzoKLSAgICBkZWZhdWx0OgotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgcmV0
dXJuIFNjc2lBZGFwdGVyQ29udHJvbFN1Y2Nlc3M7Ci19Ci0KLUhXX1JFU0VUX0JVUyAgICAgICAg
SHdSZXNldEJ1czsKLQotQk9PTEVBTgotSHdSZXNldEJ1cygKLSAgICBJTiAgUFZPSUQgICBEZXZF
eHQsCi0gICAgSU4gIFVMT05HICAgUGF0aElkCi0gICAgKQotewotICAgIFVOUkVGRVJFTkNFRF9Q
QVJBTUVURVIoUGF0aElkKTsKLQotICAgIHJldHVybiBBZGFwdGVyUmVzZXRCdXMoRGV2RXh0KTsK
LX0KLQotSFdfRklORF9BREFQVEVSICAgICBId0ZpbmRBZGFwdGVyOwotCi1VTE9ORwotSHdGaW5k
QWRhcHRlcigKLSAgICBJTiAgUFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2
RXh0LAotICAgIElOICBQVk9JRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250ZXh0
LAotICAgIElOICBQVk9JRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdXNJbmZvcm1h
dGlvbiwKLSAgICBJTiAgUENIQVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJndW1l
bnRTdHJpbmcsCi0gICAgSU4gT1VUIFBQT1JUX0NPTkZJR1VSQVRJT05fSU5GT1JNQVRJT04gIENv
bmZpZ0luZm8sCi0gICAgT1VUIFBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFn
YWluCi0gICAgKQotewotICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBSZXR1cm47Ci0KLSAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKENvbnRleHQpOwotICAgIFVO
UkVGRVJFTkNFRF9QQVJBTUVURVIoQnVzSW5mb3JtYXRpb24pOwotICAgIFVOUkVGRVJFTkNFRF9Q
QVJBTUVURVIoQXJndW1lbnRTdHJpbmcpOwotICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoQWdh
aW4pOwotCi0gICAgUmV0dXJuID0gQWRhcHRlckZpbmRBZGFwdGVyKERldkV4dCwgQ29uZmlnSW5m
byk7Ci0gICAgaWYgKFJldHVybiA9PSBTUF9SRVRVUk5fRk9VTkQpCi0gICAgICAgIERyaXZlci5B
ZGFwdGVyID0gRGV2RXh0OwotICAgIHJldHVybiBSZXR1cm47Ci19Ci0KLXN0YXRpYyBGT1JDRUlO
TElORSBCT09MRUFOCi1fX0ZhaWxTdG9yYWdlUmVxdWVzdCgKLSAgICBJTiAgUFZPSUQgICAgICAg
ICAgICAgICBEZXZFeHQsCi0gICAgSU4gIFBTQ1NJX1JFUVVFU1RfQkxPQ0sgU3JiCi0gICAgKQot
ewotICAgIGlmIChTcmItPkZ1bmN0aW9uID09IFNSQl9GVU5DVElPTl9TVE9SQUdFX1JFUVVFU1Rf
QkxPQ0spIHsKLSAgICAgICAgLy8gV2luOCBhbmQgYWJvdmUgc3RvcnBvcnQgcmVxdWVzdC4gbm90
IHN1cHBvcnRlZAotICAgICAgICAvLyBjb21wbGV0ZSB0aGUgcmVxdWVzdCAod2l0aCBmYWlsIGNv
ZGUpCi0gICAgICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19JTlZBTElEX1JFUVVFU1Q7
Ci0gICAgICAgIFN0b3JQb3J0Tm90aWZpY2F0aW9uKFJlcXVlc3RDb21wbGV0ZSwgRGV2RXh0LCBT
cmIpOwotICAgICAgICBFcnJvcigiKDB4JXApIFNUT1JBR0VfUkVRVUVTVF9CTE9DSyBub3Qgc3Vw
cG9ydGVkXG4iLCBEZXZFeHQpOwotICAgICAgICByZXR1cm4gVFJVRTsKLSAgICB9Ci0KLSAgICBy
ZXR1cm4gRkFMU0U7Ci19Ci0KLUhXX0JVSUxESU8gICAgICAgICAgSHdCdWlsZElvOwotCi1CT09M
RUFOIAotSHdCdWlsZElvKAotICAgIElOICBQVk9JRCAgICAgICAgICAgICAgIERldkV4dCwKLSAg
ICBJTiAgUFNDU0lfUkVRVUVTVF9CTE9DSyBTcmIKLSAgICApCi17Ci0gICAgaWYgKF9fRmFpbFN0
b3JhZ2VSZXF1ZXN0KERldkV4dCwgU3JiKSkKLSAgICAgICAgcmV0dXJuIEZBTFNFOyAvLyBkb250
IHBhc3MgdG8gSHdTdGFydElvCi0KLSAgICByZXR1cm4gQWRhcHRlckJ1aWxkSW8oRGV2RXh0LCBT
cmIpOwotfQotCi1IV19TVEFSVElPICAgICAgICAgIEh3U3RhcnRJbzsKLQotQk9PTEVBTiAKLUh3
U3RhcnRJbygKLSAgICBJTiAgUFZPSUQgICAgICAgICAgICAgICBEZXZFeHQsCi0gICAgSU4gIFBT
Q1NJX1JFUVVFU1RfQkxPQ0sgU3JiCi0gICAgKQotewotICAgIGlmIChfX0ZhaWxTdG9yYWdlUmVx
dWVzdChEZXZFeHQsIFNyYikpCi0gICAgICAgIHJldHVybiBUUlVFOyAvLyBhY2tub3dsZWRnZSB0
aGUgc3JiCi0KLSAgICByZXR1cm4gQWRhcHRlclN0YXJ0SW8oRGV2RXh0LCBTcmIpOwotfQotCiBf
X2Rydl9kaXNwYXRjaFR5cGUoSVJQX01KX1BOUCkKIERSSVZFUl9ESVNQQVRDSCAgICAgICAgICAg
ICBEaXNwYXRjaFBucDsKIApAQCAtMzE1LDEwICsxOTAsNyBAQCBEaXNwYXRjaFBucCgKICAgICBp
ZiAoRHJpdmVyLkFkYXB0ZXIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIERyaXZlckRpc3BhdGNo
UG5wKERldmljZU9iamVjdCwgSXJwKTsKIAotICAgIGlmIChBZGFwdGVyR2V0RGV2aWNlT2JqZWN0
KERyaXZlci5BZGFwdGVyKSA9PSBEZXZpY2VPYmplY3QpCi0gICAgICAgIHJldHVybiBBZGFwdGVy
RGlzcGF0Y2hQbnAoRHJpdmVyLkFkYXB0ZXIsIERldmljZU9iamVjdCwgSXJwKTsKLQotICAgIHJl
dHVybiBBZGFwdGVyRm9yd2FyZFBucChEcml2ZXIuQWRhcHRlciwgRGV2aWNlT2JqZWN0LCBJcnAp
OworICAgIHJldHVybiBBZGFwdGVyRGlzcGF0Y2hQbnAoRHJpdmVyLkFkYXB0ZXIsIERldmljZU9i
amVjdCwgSXJwKTsKIH0KIAogX19kcnZfZGlzcGF0Y2hUeXBlKElSUF9NSl9QT1dFUikKQEAgLTMz
MywxMCArMjA1LDcgQEAgRGlzcGF0Y2hQb3dlcigKICAgICBpZiAoRHJpdmVyLkFkYXB0ZXIgPT0g
TlVMTCkKICAgICAgICAgcmV0dXJuIERyaXZlckRpc3BhdGNoUG93ZXIoRGV2aWNlT2JqZWN0LCBJ
cnApOwogCi0gICAgaWYgKEFkYXB0ZXJHZXREZXZpY2VPYmplY3QoRHJpdmVyLkFkYXB0ZXIpID09
IERldmljZU9iamVjdCkKLSAgICAgICAgcmV0dXJuIEFkYXB0ZXJEaXNwYXRjaFBvd2VyKERyaXZl
ci5BZGFwdGVyLCBEZXZpY2VPYmplY3QsIElycCk7Ci0KLSAgICByZXR1cm4gRHJpdmVyRGlzcGF0
Y2hQb3dlcihEZXZpY2VPYmplY3QsIElycCk7CisgICAgcmV0dXJuIEFkYXB0ZXJEaXNwYXRjaFBv
d2VyKERyaXZlci5BZGFwdGVyLCBEZXZpY2VPYmplY3QsIElycCk7CiB9CiAKIERSSVZFUl9VTkxP
QUQgICAgICAgICAgIERyaXZlclVubG9hZDsKQEAgLTM3OCw3ICsyNDcsNiBAQCBEcml2ZXJFbnRy
eSgKICAgICBJTiAgUFVOSUNPREVfU1RSSU5HICAgICBSZWdpc3RyeVBhdGgKICAgICApCiB7Ci0g
ICAgSFdfSU5JVElBTElaQVRJT05fREFUQSAgSW5pdERhdGE7CiAgICAgSEFORExFICAgICAgICAg
ICAgICAgICAgU2VydmljZUtleTsKICAgICBIQU5ETEUgICAgICAgICAgICAgICAgICBQYXJhbWV0
ZXJzS2V5OwogICAgIE5UU1RBVFVTICAgICAgICAgICAgICAgIHN0YXR1czsKQEAgLTQxOCwzMyAr
Mjg2LDggQEAgRHJpdmVyRW50cnkoCiAgICAgRHJpdmVyLkFkYXB0ZXIgPSBOVUxMOwogICAgIEJ1
ZmZlckluaXRpYWxpemUoKTsKIAotICAgIFJ0bFplcm9NZW1vcnkoJkluaXREYXRhLCBzaXplb2Yo
SW5pdERhdGEpKTsKLSAgICBJbml0RGF0YS5Id0luaXRpYWxpemF0aW9uRGF0YVNpemUgICA9IHNp
emVvZihJbml0RGF0YSk7Ci0gICAgSW5pdERhdGEuQWRhcHRlckludGVyZmFjZVR5cGUgICAgICAg
PSBJbnRlcm5hbDsKLSAgICBJbml0RGF0YS5Id0luaXRpYWxpemUgICAgICAgICAgICAgICA9IEh3
SW5pdGlhbGl6ZTsKLSAgICBJbml0RGF0YS5Id1N0YXJ0SW8gICAgICAgICAgICAgICAgICA9IEh3
U3RhcnRJbzsKLSAgICBJbml0RGF0YS5Id0ludGVycnVwdCAgICAgICAgICAgICAgICA9IEh3SW50
ZXJydXB0OwotI3ByYWdtYSB3YXJuaW5nKHN1cHByZXNzIDogNDE1MikKLSAgICBJbml0RGF0YS5I
d0ZpbmRBZGFwdGVyICAgICAgICAgICAgICA9IEh3RmluZEFkYXB0ZXI7Ci0gICAgSW5pdERhdGEu
SHdSZXNldEJ1cyAgICAgICAgICAgICAgICAgPSBId1Jlc2V0QnVzOwotICAgIEluaXREYXRhLkh3
RG1hU3RhcnRlZCAgICAgICAgICAgICAgID0gTlVMTDsKLSAgICBJbml0RGF0YS5Id0FkYXB0ZXJT
dGF0ZSAgICAgICAgICAgICA9IE5VTEw7Ci0gICAgSW5pdERhdGEuRGV2aWNlRXh0ZW5zaW9uU2l6
ZSAgICAgICAgPSBBZGFwdGVyU2l6ZW9mWGVudmJkQWRhcHRlcigpOwotICAgIEluaXREYXRhLlNw
ZWNpZmljTHVFeHRlbnNpb25TaXplICAgID0gc2l6ZW9mKFVMT05HKTsgLy8gbm90IGFjdHVhbGx5
IHVzZWQKLSAgICBJbml0RGF0YS5TcmJFeHRlbnNpb25TaXplICAgICAgICAgICA9IHNpemVvZihY
RU5WQkRfU1JCRVhUKTsKLSAgICBJbml0RGF0YS5OdW1iZXJPZkFjY2Vzc1JhbmdlcyAgICAgICA9
IDI7Ci0gICAgSW5pdERhdGEuTWFwQnVmZmVycyAgICAgICAgICAgICAgICAgPSBTVE9SX01BUF9O
T05fUkVBRF9XUklURV9CVUZGRVJTOwotICAgIEluaXREYXRhLk5lZWRQaHlzaWNhbEFkZHJlc3Nl
cyAgICAgID0gVFJVRTsKLSAgICBJbml0RGF0YS5UYWdnZWRRdWV1aW5nICAgICAgICAgICAgICA9
IFRSVUU7Ci0gICAgSW5pdERhdGEuQXV0b1JlcXVlc3RTZW5zZSAgICAgICAgICAgPSBUUlVFOwot
ICAgIEluaXREYXRhLk11bHRpcGxlUmVxdWVzdFBlckx1ICAgICAgID0gVFJVRTsKLSAgICBJbml0
RGF0YS5Id0FkYXB0ZXJDb250cm9sICAgICAgICAgICA9IEh3QWRhcHRlckNvbnRyb2w7Ci0gICAg
SW5pdERhdGEuSHdCdWlsZElvICAgICAgICAgICAgICAgICAgPSBId0J1aWxkSW87Ci0KLSAgICBz
dGF0dXMgPSBTdG9yUG9ydEluaXRpYWxpemUoRHJpdmVyT2JqZWN0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBSZWdpc3RyeVBhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZJbml0RGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7
CisgICAgc3RhdHVzID0gQWRhcHRlckRyaXZlckVudHJ5KFJlZ2lzdHJ5UGF0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRHJpdmVyT2JqZWN0KTsKICAgICBpZiAoIU5UX1NVQ0NF
U1Moc3RhdHVzKSkKICAgICAgICAgZ290byBmYWlsNDsKIApkaWZmIC0tZ2l0IGEvc3JjL3hlbnZi
ZC9kcml2ZXIuaCBiL3NyYy94ZW52YmQvZHJpdmVyLmgKaW5kZXggMTNjNjEzNS4uNmI3M2M0ZCAx
MDA2NDQKLS0tIGEvc3JjL3hlbnZiZC9kcml2ZXIuaAorKysgYi9zcmMveGVudmJkL2RyaXZlci5o
CkBAIC0zOSw2ICszOSwxMSBAQAogI2RlZmluZSBYRU5WQkRfTUFYX1RSQU5TRkVSX0xFTkdUSCAg
ICAgIChYRU5WQkRfTUFYX1BBR0VTX1BFUl9TUkIgKiBQQUdFX1NJWkUpCiAjZGVmaW5lIFhFTlZC
RF9NQVhfUEhZU0lDQUxfQlJFQUtTICAgICAgKFhFTlZCRF9NQVhfUEFHRVNfUEVSX1NSQiAtIDEp
CiAKK2V4dGVybiBWT0lECitEcml2ZXJTZXRBZGFwdGVyKAorICAgIElOICBQVk9JRCAgIEFkYXB0
ZXIKKyAgICApOyAKKwogZXh0ZXJuIEhBTkRMRQogRHJpdmVyR2V0UGFyYW1ldGVyc0tleSgKICAg
ICBWT0lECmRpZmYgLS1naXQgYS9zcmMveGVudmJkL2Zyb250ZW5kLmMgYi9zcmMveGVudmJkL2Zy
b250ZW5kLmMKaW5kZXggMTUwNzEwZC4uZDgyZWFhMiAxMDA2NDQKLS0tIGEvc3JjL3hlbnZiZC9m
cm9udGVuZC5jCisrKyBiL3NyYy94ZW52YmQvZnJvbnRlbmQuYwpAQCAtNjYsOCArNjYsOCBAQCBz
dHJ1Y3QgX1hFTlZCRF9GUk9OVEVORCB7CiAgICAgUFZPSUQgICAgICAgICAgICAgICAgICAgICAg
IElucXVpcnk7CiAKICAgICAvLyBJbnRlcmZhY2VzIHRvIFhlbkJ1cwotICAgIFBYRU5CVVNfU1RP
UkVfSU5URVJGQUNFICAgICBTdG9yZTsKLSAgICBQWEVOQlVTX1NVU1BFTkRfSU5URVJGQUNFICAg
U3VzcGVuZDsKKyAgICBYRU5CVVNfU1RPUkVfSU5URVJGQUNFICAgICAgU3RvcmVJbnRlcmZhY2U7
CisgICAgWEVOQlVTX1NVU1BFTkRfSU5URVJGQUNFICAgIFN1c3BlbmRJbnRlcmZhY2U7CiAKICAg
ICBQWEVOQlVTX1NVU1BFTkRfQ0FMTEJBQ0sgICAgU3VzcGVuZExhdGVDYWxsYmFjazsKIApAQCAt
MTgxLDYgKzE4MSwxMyBAQCBGcm9udGVuZEdldFRhcmdldElkKAogewogICAgIHJldHVybiBGcm9u
dGVuZC0+VGFyZ2V0SWQ7CiB9CitVTE9ORworRnJvbnRlbmRHZXREZXZpY2VJZCgKKyAgICBfX2lu
ICBQWEVOVkJEX0ZST05URU5EICAgICAgRnJvbnRlbmQKKyAgICApCit7CisgICAgIHJldHVybiBG
cm9udGVuZC0+RGV2aWNlSWQ7Cit9CiBQVk9JRAogRnJvbnRlbmRHZXRJbnF1aXJ5KAogICAgIF9f
aW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICBGcm9udGVuZApAQCAtMjI1LDcgKzIzMiw3IEBAIEZy
b250ZW5kU3RvcmVXcml0ZUZyb250ZW5kKAogICAgICkKIHsKICAgICByZXR1cm4gWEVOQlVTX1NU
T1JFKFByaW50ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5TdG9yZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UsCiAgICAgICAg
ICAgICAgICAgICAgICAgICBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQt
PkZyb250ZW5kUGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUsCkBAIC0yNDEsMjQg
KzI0OCwyMCBAQCBGcm9udGVuZFN0b3JlUmVhZEJhY2tlbmQoCiAgICAgTlRTVEFUVVMgICAgU3Rh
dHVzOwogCiAgICAgU3RhdHVzID0gU1RBVFVTX0lOVkFMSURfUEFSQU1FVEVSOwotICAgIGlmIChG
cm9udGVuZC0+U3RvcmUgPT0gTlVMTCkgCi0gICAgICAgIGdvdG8gZmFpbDE7Ci0KICAgICBpZiAo
RnJvbnRlbmQtPkJhY2tlbmRQYXRoID09IE5VTEwpCi0gICAgICAgIGdvdG8gZmFpbDI7CisgICAg
ICAgIGdvdG8gZmFpbDE7CiAKICAgICBTdGF0dXMgPSBYRU5CVVNfU1RPUkUoUmVhZCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPlN0b3JlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+QmFja2VuZFBh
dGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFZhbHVlKTsKICAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKLSAgICAgICAgZ290
byBmYWlsMzsKKyAgICAgICAgZ290byBmYWlsMjsKIAogICAgIHJldHVybiBTVEFUVVNfU1VDQ0VT
UzsKIAotZmFpbDM6CiBmYWlsMjoKIGZhaWwxOgogICAgIHJldHVybiBTdGF0dXM7CkBAIC0yNzAs
NyArMjczLDcgQEAgRnJvbnRlbmRTdG9yZUZyZWUoCiAgICAgKQogewogICAgIFhFTkJVU19TVE9S
RShGcmVlLAotICAgICAgICAgICAgICAgICBGcm9udGVuZC0+U3RvcmUsCisgICAgICAgICAgICAg
ICAgICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgIFZhbHVlKTsK
IH0KIF9fZHJ2X21heElSUUwoRElTUEFUQ0hfTEVWRUwpCkBAIC0yODIsNyArMjg1LDcgQEAgRnJv
bnRlbmRXcml0ZVVzYWdlKAogICAgIE5UU1RBVFVTICAgIFN0YXR1czsKIAogICAgIFN0YXR1cyA9
IFhFTkJVU19TVE9SRShQcmludGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5k
LT5TdG9yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVy
ZmFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgRnJvbnRlbmQtPlRhcmdldFBhdGgsIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAicGFnaW5nIiwKQEAgLTI5Miw3ICsyOTUsNyBAQCBGcm9udGVuZFdyaXRlVXNhZ2UoCiAgICAg
ICAgIGdvdG8gb3V0OwogCiAgICAgU3RhdHVzID0gWEVOQlVTX1NUT1JFKFByaW50ZiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPlN0b3JlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+VGFyZ2V0UGF0
aCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWJlcm5hdGlvbiIsCkBAIC0zMDIsNyAr
MzA1LDcgQEAgRnJvbnRlbmRXcml0ZVVzYWdlKAogICAgICAgICBnb3RvIG91dDsKIAogICAgIFN0
YXR1cyA9IFhFTkJVU19TVE9SRShQcmludGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEZy
b250ZW5kLT5TdG9yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9y
ZUludGVyZmFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRnJvbnRlbmQtPlRhcmdldFBhdGgsIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZHVtcCIsCkBAIC0zNDMsNyArMzQ2LDcgQEAgX19VcGRhdGVCYWNrZW5kUGF0aCgK
ICAgICBVTE9ORyAgICAgICBMZW5ndGg7CiAKICAgICBTdGF0dXMgPSBYRU5CVVNfU1RPUkUoUmVh
ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPlN0b3JlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+
RnJvbnRlbmRQYXRoLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgImJhY2tlbmQtaWQiLApA
QCAtMzUxLDE0ICszNTQsMTQgQEAgX19VcGRhdGVCYWNrZW5kUGF0aCgKICAgICBpZiAoTlRfU1VD
Q0VTUyhTdGF0dXMpKSB7CiAgICAgICAgIEZyb250ZW5kLT5CYWNrZW5kSWQgPSAoVVNIT1JUKXN0
cnRvdWwoVmFsdWUsIE5VTEwsIDEwKTsKICAgICAgICAgWEVOQlVTX1NUT1JFKEZyZWUsCi0gICAg
ICAgICAgICAgICAgICAgICBGcm9udGVuZC0+U3RvcmUsCisgICAgICAgICAgICAgICAgICAgICAm
RnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgICAgVmFsdWUpOwog
ICAgIH0gZWxzZSB7CiAgICAgICAgIEZyb250ZW5kLT5CYWNrZW5kSWQgPSAwOwogICAgIH0KIAog
ICAgIFN0YXR1cyA9IFhFTkJVU19TVE9SRShSZWFkLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBGcm9udGVuZC0+U3RvcmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+
U3RvcmVJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5Gcm9udGVuZFBhdGgsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJiYWNrZW5kIiwKQEAgLTM3OSw3ICszODIsNyBAQCBfX1VwZGF0ZUJhY2tl
bmRQYXRoKAogICAgICAgICB9CiAKICAgICAgICAgWEVOQlVTX1NUT1JFKEZyZWUsCi0gICAgICAg
ICAgICAgICAgICAgICBGcm9udGVuZC0+U3RvcmUsCisgICAgICAgICAgICAgICAgICAgICAmRnJv
bnRlbmQtPlN0b3JlSW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgICAgVmFsdWUpOwogICAg
IH0gZWxzZSB7CiAgICAgICAgIFdhcm5pbmcoIkZhaWxlZCB0byByZWFkIFwnYmFja2VuZFwnIGZy
b20gXCclc1wnICglMDh4KVxuIiwgCkBAIC00MDEsNyArNDA0LDcgQEAgX19SZWFkU3RhdGUoCiAg
ICAgUENIQVIgICAgICAgICAgIEJ1ZmZlcjsKIAogICAgIFN0YXR1cyA9IFhFTkJVU19TVE9SRShS
ZWFkLAotICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+U3RvcmUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFRyYW5zYWN0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICBQ
YXRoLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXRlIiwKQEAgLTQxMSw3ICs0MTQs
NyBAQCBfX1JlYWRTdGF0ZSgKIAogICAgICpTdGF0ZSA9IChYZW5idXNTdGF0ZSlzdHJ0b3VsKEJ1
ZmZlciwgTlVMTCwgMTApOwogICAgIFhFTkJVU19TVE9SRShGcmVlLAotICAgICAgICAgICAgICAg
ICBGcm9udGVuZC0+U3RvcmUsCisgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRl
cmZhY2UsCiAgICAgICAgICAgICAgICAgIEJ1ZmZlcik7CiAKICAgICByZXR1cm4gU1RBVFVTX1NV
Q0NFU1M7CkBAIC00NDIsNyArNDQ1LDcgQEAgX19XYWl0U3RhdGUoCiAKICAgICBBU1NFUlQzUChG
cm9udGVuZC0+QmFja2VuZFBhdGgsICE9LCBOVUxMKTsKICAgICBTdGF0dXMgPSBYRU5CVVNfU1RP
UkUoV2F0Y2hBZGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5TdG9yZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPkJhY2tlbmRQYXRoLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAic3RhdGUiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgJkV2
ZW50LApAQCAtNDU4LDcgKzQ2MSw3IEBAIF9fV2FpdFN0YXRlKAogICAgICAgICBpZiAoS2VXYWl0
Rm9yU2luZ2xlT2JqZWN0KCZFdmVudCwgRXhlY3V0aXZlLCBLZXJuZWxNb2RlLCAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLCAmVGltZW91dCkgPT0gU1RBVFVTX1RJ
TUVPVVQpIHsKICAgICAgICAgICAgIFhFTkJVU19TVE9SRShQb2xsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIEZyb250ZW5kLT5TdG9yZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgJkZy
b250ZW5kLT5TdG9yZUludGVyZmFjZSk7CiAKICAgICAgICAgICAgIEtlUXVlcnlTeXN0ZW1UaW1l
KCZDdXJyZW50VGltZSk7CiAgICAgICAgICAgICBpZiAoKEN1cnJlbnRUaW1lLlF1YWRQYXJ0IC0g
U3RhcnRUaW1lLlF1YWRQYXJ0KSA+IDEwMDAwKSB7CkBAIC00NzcsNyArNDgwLDcgQEAgX19XYWl0
U3RhdGUoCiAgICAgfQogCiAgICAgWEVOQlVTX1NUT1JFKFdhdGNoUmVtb3ZlLAotICAgICAgICAg
ICAgICAgICBGcm9udGVuZC0+U3RvcmUsCisgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3Rv
cmVJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgIFdhdGNoKTsKIAogICAgIFRyYWNlKCJUYXJn
ZXRbJWRdIDogQkFDS0VORF9TVEFURSAgLT4gJXNcbiIsCkBAIC00OTAsNyArNDkzLDcgQEAgZmFp
bDI6CiAgICAgRXJyb3IoIkZhaWwyXG4iKTsKIAogICAgIFhFTkJVU19TVE9SRShXYXRjaFJlbW92
ZSwKLSAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPlN0b3JlLAorICAgICAgICAgICAgICAgICAm
RnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICBXYXRjaCk7CiBmYWls
MToKICAgICBFcnJvcigiRmFpbDEgKCUwOHgpXG4iLCBTdGF0dXMpOwpAQCAtNTA3LDcgKzUxMCw3
IEBAIF9fX1NldFN0YXRlKAogICAgIE5UU1RBVFVTICAgIFN0YXR1czsKIAogICAgIFN0YXR1cyA9
IFhFTkJVU19TVE9SRShQcmludGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5k
LT5TdG9yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVy
ZmFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgRnJvbnRlbmQtPkZyb250ZW5kUGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInN0YXRlIiwKQEAgLTUzNSw4ICs1MzgsNiBAQCBfX0NoZWNrQmFja2VuZEZvckVqZWN0KAog
ICAgIFVMT05HICAgICAgICAgICBBdHRlbXB0OwogICAgIE5UU1RBVFVTICAgICAgICBTdGF0dXM7
CiAKLSAgICBpZiAoRnJvbnRlbmQtPlN0b3JlID09IE5VTEwpCi0gICAgICAgIHJldHVybjsKICAg
ICBpZiAoRnJvbnRlbmQtPkZyb250ZW5kUGF0aCA9PSBOVUxMKQogICAgICAgICByZXR1cm47CiAg
ICAgaWYgKEZyb250ZW5kLT5CYWNrZW5kUGF0aCA9PSBOVUxMKQpAQCAtNTUyLDcgKzU1Myw3IEBA
IF9fQ2hlY2tCYWNrZW5kRm9yRWplY3QoCiAgICAgICAgIFBDSEFSICAgICAgICAgICAgICAgICAg
ICAgICBCdWZmZXI7CiAKICAgICAgICAgU3RhdHVzID0gWEVOQlVTX1NUT1JFKFRyYW5zYWN0aW9u
U3RhcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+U3RvcmUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlRyYW5zYWN0aW9uKTsKICAgICAgICAgaWYg
KCFOVF9TVUNDRVNTKFN0YXR1cykpCiAgICAgICAgICAgICBicmVhazsKQEAgLTU3Miw3ICs1NzMs
NyBAQCBfX0NoZWNrQmFja2VuZEZvckVqZWN0KAogICAgICAgICAgICAgZ290byBhYm9ydDsKIAog
ICAgICAgICBTdGF0dXMgPSBYRU5CVVNfU1RPUkUoUmVhZCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEZyb250ZW5kLT5TdG9yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBUcmFuc2FjdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5C
YWNrZW5kUGF0aCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib25saW5lIiwKQEAg
LTU4MiwxMSArNTgzLDExIEBAIF9fQ2hlY2tCYWNrZW5kRm9yRWplY3QoCiAKICAgICAgICAgT25s
aW5lID0gKEJPT0xFQU4pc3RydG9sKEJ1ZmZlciwgTlVMTCwgMik7CiAgICAgICAgIFhFTkJVU19T
VE9SRShGcmVlLAotICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPlN0b3JlLAorICAgICAg
ICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKICAgICAgICAgICAgICAg
ICAgICAgIEJ1ZmZlcik7CiAKICAgICAgICAgU3RhdHVzID0gWEVOQlVTX1NUT1JFKFRyYW5zYWN0
aW9uRW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPlN0b3JlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zYWN0aW9uLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVFJVRSk7CiAgICAgICAgIGlmIChTdGF0dXMgIT0gU1RBVFVTX1JF
VFJZIHx8ICsrQXR0ZW1wdCA+IDEwKQpAQCAtNTk2LDcgKzU5Nyw3IEBAIF9fQ2hlY2tCYWNrZW5k
Rm9yRWplY3QoCiAKIGFib3J0OgogICAgICAgICAoVk9JRCkgWEVOQlVTX1NUT1JFKFRyYW5zYWN0
aW9uRW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5TdG9yZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zYWN0aW9uLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEZBTFNFKTsKICAgICAgICAgYnJlYWs7CkBAIC02MjYsNyArNjI3LDcgQEAgRnJv
bnRlbmRSZWFkRmVhdHVyZSgKICAgICBCT09MRUFOICAgICAgICAgT2xkID0gKlZhbHVlOwogCiAg
ICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFJlYWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IEZyb250ZW5kLT5TdG9yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5T
dG9yZUludGVyZmFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPkJhY2tlbmRQYXRoLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICBOYW1lLApAQCAtNjM2LDcgKzYzNyw3IEBAIEZyb250ZW5kUmVhZEZlYXR1cmUo
CiAKICAgICAqVmFsdWUgPSAhIShzdHJ0b3VsKEJ1ZmZlciwgTlVMTCwgMTApKTsKICAgICBYRU5C
VVNfU1RPUkUoRnJlZSwKLSAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPlN0b3JlLAorICAg
ICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAogICAgICAgICAgICAg
ICAgICAgICBCdWZmZXIpOwogCiAgICAgLy8gY2hlY2sgcmVnaXN0cnkgZm9yIGRpc2FibGUtb3Zl
cnJpZGUKQEAgLTY2NSw3ICs2NjYsNyBAQCBGcm9udGVuZFJlYWRWYWx1ZTMyKAogICAgIFVMT05H
ICAgICAgICAgICBPbGQgPSAqVmFsdWU7CiAKICAgICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUoUmVh
ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPlN0b3JlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+
QmFja2VuZFBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUsCkBAIC02NzUsNyAr
Njc2LDcgQEAgRnJvbnRlbmRSZWFkVmFsdWUzMigKIAogICAgICpWYWx1ZSA9IHN0cnRvdWwoQnVm
ZmVyLCBOVUxMLCAxMCk7CiAgICAgWEVOQlVTX1NUT1JFKEZyZWUsCi0gICAgICAgICAgICAgICAg
ICAgIEZyb250ZW5kLT5TdG9yZSwKKyAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9y
ZUludGVyZmFjZSwKICAgICAgICAgICAgICAgICAgICAgQnVmZmVyKTsKIAogICAgIC8vIGNoZWNr
IHJlZ2lzdHJ5IGZvciBkaXNhYmxlLW92ZXJyaWRlCkBAIC03MDMsNyArNzA0LDcgQEAgRnJvbnRl
bmRSZWFkVmFsdWU2NCgKICAgICBVTE9ORzY0ICAgICAgICAgT2xkID0gKlZhbHVlOwogCiAgICAg
c3RhdHVzID0gWEVOQlVTX1NUT1JFKFJlYWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEZy
b250ZW5kLT5TdG9yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9y
ZUludGVyZmFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRnJvbnRlbmQtPkJhY2tlbmRQYXRoLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICBOYW1lLApAQCAtNzEzLDcgKzcxNCw3IEBAIEZyb250ZW5kUmVhZFZhbHVlNjQoCiAK
ICAgICAqVmFsdWUgPSBfc3RydG91aTY0KEJ1ZmZlciwgTlVMTCwgMTApOwogICAgIFhFTkJVU19T
VE9SRShGcmVlLAotICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+U3RvcmUsCisgICAgICAg
ICAgICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAg
ICAgIEJ1ZmZlcik7CiAKICAgICByZXR1cm4gT2xkICE9ICpWYWx1ZTsKQEAgLTg5Niw3ICs4OTcs
NyBAQCBGcm9udGVuZENsb3NlKAogICAgIC8vIHVud2F0Y2ggYmFja2VuZCAobnVsbCBjaGVjayBm
b3IgaW5pdGlhbCBjbG9zZSBvcGVyYXRpb24pCiAgICAgaWYgKEZyb250ZW5kLT5CYWNrZW5kV2F0
Y2gpCiAgICAgICAgIFhFTkJVU19TVE9SRShXYXRjaFJlbW92ZSwKLSAgICAgICAgICAgICAgICAg
ICAgIEZyb250ZW5kLT5TdG9yZSwKKyAgICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3Rv
cmVJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+QmFja2VuZFdhdGNo
KTsKICAgICBGcm9udGVuZC0+QmFja2VuZFdhdGNoID0gTlVMTDsKICAgICAKQEAgLTk2NCw3ICs5
NjUsNyBAQCBGcm9udGVuZFByZXBhcmUoCiAKICAgICAvLyB3YXRjaCBiYWNrZW5kICg0IHBhdGhz
IG5lZWRlZCkKICAgICBTdGF0dXMgPSBYRU5CVVNfU1RPUkUoV2F0Y2hBZGQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIEZyb250ZW5kLT5TdG9yZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
TlVMTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPkJhY2tlbmRQYXRoLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICBUaHJlYWRHZXRFdmVudChGcm9udGVuZC0+QmFja2Vu
ZFRocmVhZCksCkBAIC05NzgsNyArOTc5LDcgQEAgRnJvbnRlbmRQcmVwYXJlKAogICAgICAgICBn
b3RvIGZhaWwzOwogCiAgICAgU3RhdHVzID0gWEVOQlVTX1NUT1JFKFByaW50ZiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPlN0b3JlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+VGFyZ2V0UGF0aCwg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9udGVuZCIsCkBAIC05ODgsNyArOTg5LDcg
QEAgRnJvbnRlbmRQcmVwYXJlKAogICAgICAgICBnb3RvIGZhaWw0OwogCiAgICAgU3RhdHVzID0g
WEVOQlVTX1NUT1JFKFByaW50ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQt
PlN0b3JlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJm
YWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICBGcm9udGVuZC0+VGFyZ2V0UGF0aCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJkZXZpY2UiLApAQCAtMTA0Miw3ICsxMDQzLDcgQEAgZmFpbDQ6CiBmYWlsMzoKICAgICBFcnJv
cigiRmFpbDNcbiIpOwogICAgIChWT0lEKSBYRU5CVVNfU1RPUkUoV2F0Y2hSZW1vdmUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+U3RvcmUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgICAgICAg
RnJvbnRlbmQtPkJhY2tlbmRXYXRjaCk7CiAgICAgRnJvbnRlbmQtPkJhY2tlbmRXYXRjaCA9IE5V
TEw7CiBmYWlsMjoKQEAgLTEwNzgsNyArMTA3OSw3IEBAIEZyb250ZW5kQ29ubmVjdCgKICAgICAg
ICAgUFhFTkJVU19TVE9SRV9UUkFOU0FDVElPTiAgIFRyYW5zYWN0aW9uOwogICAgICAgICAKICAg
ICAgICAgU3RhdHVzID0gWEVOQlVTX1NUT1JFKFRyYW5zYWN0aW9uU3RhcnQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+U3RvcmUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJlRyYW5zYWN0aW9uKTsKICAgICAgICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1
cykpCiAgICAgICAgICAgICBicmVhazsKQEAgLTEwOTYsNyArMTA5Nyw3IEBAIEZyb250ZW5kQ29u
bmVjdCgKICAgICAgICAgICAgIGdvdG8gYWJvcnQ7CiAKICAgICAgICAgU3RhdHVzID0gWEVOQlVT
X1NUT1JFKFByaW50ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5T
dG9yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRl
cmZhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2FjdGlvbiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5Gcm9udGVuZFBhdGgsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidGFyZ2V0LWlkIiwKQEAgLTExMDYsNyArMTEwNyw3IEBA
IEZyb250ZW5kQ29ubmVjdCgKICAgICAgICAgICAgIGdvdG8gYWJvcnQ7CiAKICAgICAgICAgU3Rh
dHVzID0gWEVOQlVTX1NUT1JFKFByaW50ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEZyb250ZW5kLT5TdG9yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZGcm9udGVu
ZC0+U3RvcmVJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Fj
dGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5Gcm9udGVuZFBh
dGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmVhdHVyZS1zdXJwcmlzZS1yZW1v
dmUiLApAQCAtMTExNiw3ICsxMTE3LDcgQEAgRnJvbnRlbmRDb25uZWN0KAogICAgICAgICAgICAg
Z290byBhYm9ydDsKIAogICAgICAgICBTdGF0dXMgPSBYRU5CVVNfU1RPUkUoUHJpbnRmLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPlN0b3JlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFRyYW5zYWN0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgRnJvbnRlbmQtPkZyb250ZW5kUGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJmZWF0dXJlLW9ubGluZS1yZXNpemUiLApAQCAtMTEyNiw3ICsxMTI3LDcgQEAgRnJvbnRl
bmRDb25uZWN0KAogICAgICAgICAgICAgZ290byBhYm9ydDsKIAogICAgICAgICBTdGF0dXMgPSBY
RU5CVVNfU1RPUkUoVHJhbnNhY3Rpb25FbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBGcm9udGVuZC0+U3RvcmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRl
bmQtPlN0b3JlSW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNh
Y3Rpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFKTsKICAgICAgICAgaWYg
KFN0YXR1cyA9PSBTVEFUVVNfUkVUUlkpCkBAIC0xMTM2LDcgKzExMzcsNyBAQCBGcm9udGVuZENv
bm5lY3QoCiAKIGFib3J0OgogICAgICAgICAoVk9JRCkgWEVOQlVTX1NUT1JFKFRyYW5zYWN0aW9u
RW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5TdG9yZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFRyYW5zYWN0aW9uLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEZBTFNFKTsKICAgICAgICAgYnJlYWs7CkBAIC0xNDM2LDI4ICsxNDM3LDI4IEBAIEZy
b250ZW5kRDNUb0QwKAogICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICAgIEZyb250ZW5k
CiAgICAgKQogeworICAgIFBYRU5WQkRfQURBUFRFUiBBZGFwdGVyID0gVGFyZ2V0R2V0QWRhcHRl
cihGcm9udGVuZC0+VGFyZ2V0KTsKICAgICBOVFNUQVRVUyAgICBTdGF0dXM7CiAgICAgS0lSUUwg
ICAgICAgSXJxbDsKIAogICAgIEtlQWNxdWlyZVNwaW5Mb2NrKCZGcm9udGVuZC0+U3RhdGVMb2Nr
LCAmSXJxbCk7CiAKICAgICAvLyBhY3F1aXJlIGludGVyZmFjZXMKLSAgICBGcm9udGVuZC0+U3Rv
cmUgICA9IEFkYXB0ZXJBY3F1aXJlU3RvcmUoVGFyZ2V0R2V0QWRhcHRlcihGcm9udGVuZC0+VGFy
Z2V0KSk7CisgICAgQWRhcHRlckdldFN0b3JlSW50ZXJmYWNlKEFkYXB0ZXIsICZGcm9udGVuZC0+
U3RvcmVJbnRlcmZhY2UpOworICAgIEFkYXB0ZXJHZXRTdXNwZW5kSW50ZXJmYWNlKEFkYXB0ZXIs
ICZGcm9udGVuZC0+U3VzcGVuZEludGVyZmFjZSk7CiAKLSAgICBTdGF0dXMgPSBTVEFUVVNfVU5T
VUNDRVNTRlVMOwotICAgIGlmIChGcm9udGVuZC0+U3RvcmUgPT0gTlVMTCkKKyAgICBTdGF0dXMg
PSBYRU5CVVNfU1RPUkUoQWNxdWlyZSwgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSk7CisgICAg
aWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCiAgICAgICAgIGdvdG8gZmFpbDE7CiAKLSAgICBGcm9u
dGVuZC0+U3VzcGVuZCA9IEFkYXB0ZXJBY3F1aXJlU3VzcGVuZChUYXJnZXRHZXRBZGFwdGVyKEZy
b250ZW5kLT5UYXJnZXQpKTsKLQotICAgIFN0YXR1cyA9IFNUQVRVU19VTlNVQ0NFU1NGVUw7Ci0g
ICAgaWYgKEZyb250ZW5kLT5TdXNwZW5kID09IE5VTEwpCisgICAgU3RhdHVzID0gWEVOQlVTX1NV
U1BFTkQoQWNxdWlyZSwgJkZyb250ZW5kLT5TdXNwZW5kSW50ZXJmYWNlKTsKKyAgICBpZiAoIU5U
X1NVQ0NFU1MoU3RhdHVzKSkKICAgICAgICAgZ290byBmYWlsMjsKIAogICAgIC8vIHJlZ2lzdGVy
IHN1c3BlbmQgY2FsbGJhY2sKICAgICBBU1NFUlQzUChGcm9udGVuZC0+U3VzcGVuZExhdGVDYWxs
YmFjaywgPT0sIE5VTEwpOwogICAgIFN0YXR1cyA9IFhFTkJVU19TVVNQRU5EKFJlZ2lzdGVyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5TdXNwZW5kLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3VzcGVuZEludGVyZmFjZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTVVNQRU5EX0NBTExCQUNLX0xBVEUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRnJvbnRlbmRTdXNwZW5kTGF0ZUNhbGxiYWNrLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEZyb250ZW5kLApAQCAtMTQ3NCwxNCArMTQ3NSwxNCBAQCBGcm9udGVu
ZEQzVG9EMCgKIGZhaWwzOgogICAgIEVycm9yKCJGYWlsM1xuIik7CiAKLSAgICBYRU5CVVNfU1VT
UEVORChSZWxlYXNlLCBGcm9udGVuZC0+U3VzcGVuZCk7Ci0gICAgRnJvbnRlbmQtPlN1c3BlbmQg
PSBOVUxMOworICAgIFhFTkJVU19TVVNQRU5EKFJlbGVhc2UsICZGcm9udGVuZC0+U3VzcGVuZElu
dGVyZmFjZSk7CisgICAgUnRsWmVyb01lbW9yeSgmRnJvbnRlbmQtPlN1c3BlbmRJbnRlcmZhY2Us
IHNpemVvZihYRU5CVVNfU1VTUEVORF9JTlRFUkZBQ0UpKTsKIAogZmFpbDI6CiAgICAgRXJyb3Io
IkZhaWwyXG4iKTsKIAotICAgIFhFTkJVU19TVE9SRShSZWxlYXNlLCBGcm9udGVuZC0+U3RvcmUp
OwotICAgIEZyb250ZW5kLT5TdG9yZSA9IE5VTEw7CisgICAgWEVOQlVTX1NUT1JFKFJlbGVhc2Us
ICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UpOworICAgIFJ0bFplcm9NZW1vcnkoJkZyb250ZW5k
LT5TdG9yZUludGVyZmFjZSwgc2l6ZW9mKFhFTkJVU19TVE9SRV9JTlRFUkZBQ0UpKTsKIAogZmFp
bDE6CiAgICAgRXJyb3IoIkZhaWwxICglMDh4KVxuIiwgU3RhdHVzKTsKQEAgLTE1MDYsNyArMTUw
Nyw3IEBAIEZyb250ZW5kRDBUb0QzKAogICAgIC8vIGRlcmVnaXN0ZXIgc3VzcGVuZCBjYWxsYmFj
awogICAgIGlmIChGcm9udGVuZC0+U3VzcGVuZExhdGVDYWxsYmFjayAhPSBOVUxMKSB7CiAgICAg
ICAgIFhFTkJVU19TVVNQRU5EKERlcmVnaXN0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgIEZy
b250ZW5kLT5TdXNwZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN1c3Bl
bmRJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5TdXNwZW5kTGF0
ZUNhbGxiYWNrKTsKICAgICAgICAgRnJvbnRlbmQtPlN1c3BlbmRMYXRlQ2FsbGJhY2sgPSBOVUxM
OwogICAgIH0KQEAgLTE1MTcsMTEgKzE1MTgsMTEgQEAgRnJvbnRlbmREMFRvRDMoCiAgICAgfQog
CiAgICAgLy8gcmVsZWFzZSBpbnRlcmZhY2VzCi0gICAgWEVOQlVTX1NVU1BFTkQoUmVsZWFzZSwg
RnJvbnRlbmQtPlN1c3BlbmQpOwotICAgIEZyb250ZW5kLT5TdXNwZW5kID0gTlVMTDsKKyAgICBY
RU5CVVNfU1VTUEVORChSZWxlYXNlLCAmRnJvbnRlbmQtPlN1c3BlbmRJbnRlcmZhY2UpOworICAg
IFJ0bFplcm9NZW1vcnkoJkZyb250ZW5kLT5TdXNwZW5kSW50ZXJmYWNlLCBzaXplb2YoWEVOQlVT
X1NVU1BFTkRfSU5URVJGQUNFKSk7CiAgICAgCi0gICAgWEVOQlVTX1NUT1JFKFJlbGVhc2UsIEZy
b250ZW5kLT5TdG9yZSk7Ci0gICAgRnJvbnRlbmQtPlN0b3JlID0gTlVMTDsKKyAgICBYRU5CVVNf
U1RPUkUoUmVsZWFzZSwgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSk7CisgICAgUnRsWmVyb01l
bW9yeSgmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLCBzaXplb2YoWEVOQlVTX1NUT1JFX0lOVEVS
RkFDRSkpOwogCiAgICAgS2VSZWxlYXNlU3BpbkxvY2soJkZyb250ZW5kLT5TdGF0ZUxvY2ssIEly
cWwpOwogfQpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC9mcm9udGVuZC5oIGIvc3JjL3hlbnZiZC9m
cm9udGVuZC5oCmluZGV4IDY5ZGQxM2IuLmY0NjZlZjggMTAwNjQ0Ci0tLSBhL3NyYy94ZW52YmQv
ZnJvbnRlbmQuaAorKysgYi9zcmMveGVudmJkL2Zyb250ZW5kLmgKQEAgLTk2LDYgKzk2LDEwIEBA
IGV4dGVybiBVTE9ORwogRnJvbnRlbmRHZXRUYXJnZXRJZCgKICAgICBfX2luICBQWEVOVkJEX0ZS
T05URU5EICAgICAgRnJvbnRlbmQKICAgICApOworZXh0ZXJuIFVMT05HCitGcm9udGVuZEdldERl
dmljZUlkKAorICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICBGcm9udGVuZAorICAgICk7
CiBleHRlcm4gUFZPSUQKIEZyb250ZW5kR2V0SW5xdWlyeSgKICAgICBfX2luICBQWEVOVkJEX0ZS
T05URU5EICAgICAgRnJvbnRlbmQKZGlmZiAtLWdpdCBhL3NyYy94ZW52YmQvZ3JhbnRlci5jIGIv
c3JjL3hlbnZiZC9ncmFudGVyLmMKaW5kZXggYmQwZmE1Yi4uNTdiN2RmOCAxMDA2NDQKLS0tIGEv
c3JjL3hlbnZiZC9ncmFudGVyLmMKKysrIGIvc3JjL3hlbnZiZC9ncmFudGVyLmMKQEAgLTQyLDcg
KzQyLDcgQEAgc3RydWN0IF9YRU5WQkRfR1JBTlRFUiB7CiAgICAgQk9PTEVBTiAgICAgICAgICAg
ICAgICAgICAgICAgICBDb25uZWN0ZWQ7CiAgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAg
ICAgICBFbmFibGVkOwogCi0gICAgUFhFTkJVU19HTlRUQUJfSU5URVJGQUNFICAgICAgICBHbnR0
YWJJbnRlcmZhY2U7CisgICAgWEVOQlVTX0dOVFRBQl9JTlRFUkZBQ0UgICAgICAgICBHbnR0YWJJ
bnRlcmZhY2U7CiAgICAgUFhFTkJVU19HTlRUQUJfQ0FDSEUgICAgICAgICAgICBDYWNoZTsKICAg
ICBLU1BJTl9MT0NLICAgICAgICAgICAgICAgICAgICAgIExvY2s7CiAKQEAgLTE0NSwxMCArMTQ1
LDEwIEBAIEdyYW50ZXJDb25uZWN0KAogCiAgICAgQVNTRVJUKEdyYW50ZXItPkNvbm5lY3RlZCA9
PSBGQUxTRSk7CiAKLSAgICBHcmFudGVyLT5HbnR0YWJJbnRlcmZhY2UgPSBBZGFwdGVyQWNxdWly
ZUdudHRhYihBZGFwdGVyKTsKKyAgICBBZGFwdGVyR2V0R250dGFiSW50ZXJmYWNlKEFkYXB0ZXIs
ICZHcmFudGVyLT5HbnR0YWJJbnRlcmZhY2UpOwogCi0gICAgc3RhdHVzID0gU1RBVFVTX1VOU1VD
Q0VTU0ZVTDsKLSAgICBpZiAoR3JhbnRlci0+R250dGFiSW50ZXJmYWNlID09IE5VTEwpCisgICAg
c3RhdHVzID0gWEVOQlVTX0dOVFRBQihBY3F1aXJlLCAmR3JhbnRlci0+R250dGFiSW50ZXJmYWNl
KTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgZ290byBmYWlsMTsKIAog
ICAgIEdyYW50ZXItPkJhY2tlbmREb21haW4gPSBCYWNrZW5kRG9tYWluOwpAQCAtMTYxLDcgKzE2
MSw3IEBAIEdyYW50ZXJDb25uZWN0KAogICAgICAgICBnb3RvIGZhaWwyOwogCiAgICAgc3RhdHVz
ID0gWEVOQlVTX0dOVFRBQihDcmVhdGVDYWNoZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdyYW50ZXItPkdudHRhYkludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZH
cmFudGVyLT5HbnR0YWJJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1l
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdyYW50ZXJBY3F1aXJlTG9jaywKQEAgLTE3Nyw4ICsxNzcsOCBAQCBHcmFudGVyQ29ubmVj
dCgKIGZhaWwzOgogZmFpbDI6CiAgICAgR3JhbnRlci0+QmFja2VuZERvbWFpbiA9IDA7Ci0gICAg
WEVOQlVTX0dOVFRBQihSZWxlYXNlLCBHcmFudGVyLT5HbnR0YWJJbnRlcmZhY2UpOwotICAgIEdy
YW50ZXItPkdudHRhYkludGVyZmFjZSA9IE5VTEw7CisgICAgWEVOQlVTX0dOVFRBQihSZWxlYXNl
LCAmR3JhbnRlci0+R250dGFiSW50ZXJmYWNlKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZHcmFudGVy
LT5HbnR0YWJJbnRlcmZhY2UsIHNpemVvZihYRU5CVVNfR05UVEFCX0lOVEVSRkFDRSkpOwogZmFp
bDE6CiAgICAgcmV0dXJuIHN0YXR1czsKIH0KQEAgLTIyOCwxMiArMjI4LDEyIEBAIEdyYW50ZXJE
aXNjb25uZWN0KAogICAgIEdyYW50ZXItPk1heGltdW0gPSAwOwogCiAgICAgWEVOQlVTX0dOVFRB
QihEZXN0cm95Q2FjaGUsCi0gICAgICAgICAgICAgICAgICBHcmFudGVyLT5HbnR0YWJJbnRlcmZh
Y2UsCisgICAgICAgICAgICAgICAgICAmR3JhbnRlci0+R250dGFiSW50ZXJmYWNlLAogICAgICAg
ICAgICAgICAgICAgR3JhbnRlci0+Q2FjaGUpOwogICAgIEdyYW50ZXItPkNhY2hlID0gTlVMTDsK
IAotICAgIFhFTkJVU19HTlRUQUIoUmVsZWFzZSwgR3JhbnRlci0+R250dGFiSW50ZXJmYWNlKTsK
LSAgICBHcmFudGVyLT5HbnR0YWJJbnRlcmZhY2UgPSBOVUxMOworICAgIFhFTkJVU19HTlRUQUIo
UmVsZWFzZSwgJkdyYW50ZXItPkdudHRhYkludGVyZmFjZSk7CisgICAgUnRsWmVyb01lbW9yeSgm
R3JhbnRlci0+R250dGFiSW50ZXJmYWNlLCBzaXplb2YoWEVOQlVTX0dOVFRBQl9JTlRFUkZBQ0Up
KTsKIAogICAgIEdyYW50ZXItPkJhY2tlbmREb21haW4gPSAwOwogICAgIEdyYW50ZXItPkNvbm5l
Y3RlZCA9IEZBTFNFOwpAQCAtMjczLDcgKzI3Myw3IEBAIEdyYW50ZXJHZXQoCiAgICAgICAgIGdv
dG8gZmFpbDE7CiAKICAgICBzdGF0dXMgPSBYRU5CVVNfR05UVEFCKFBlcm1pdEZvcmVpZ25BY2Nl
c3MsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JhbnRlci0+R250dGFiSW50ZXJmYWNl
LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZHcmFudGVyLT5HbnR0YWJJbnRlcmZhY2Us
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JhbnRlci0+Q2FjaGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBGQUxTRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyYW50
ZXItPkJhY2tlbmREb21haW4sCkBAIC0zMDgsNyArMzA4LDcgQEAgR3JhbnRlclB1dCgKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgc3RhdHVzID0gWEVOQlVTX0dOVFRBQihSZXZva2VGb3JlaWduQWNj
ZXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JhbnRlci0+R250dGFiSW50ZXJmYWNl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJkdyYW50ZXItPkdudHRhYkludGVyZmFjZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyYW50ZXItPkNhY2hlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnRyeSk7
CkBAIC0zMjksNiArMzI5LDYgQEAgR3JhbnRlclJlZmVyZW5jZSgKICAgICAgICAgcmV0dXJuIDA7
CiAKICAgICByZXR1cm4gWEVOQlVTX0dOVFRBQihHZXRSZWZlcmVuY2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgR3JhbnRlci0+R250dGFiSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICZHcmFudGVyLT5HbnR0YWJJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgRW50cnkpOwogfQpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC9ub3RpZmllci5jIGIvc3JjL3hl
bnZiZC9ub3RpZmllci5jCmluZGV4IDQ4MzVhNDYuLjFlMGMwNTcgMTAwNjQ0Ci0tLSBhL3NyYy94
ZW52YmQvbm90aWZpZXIuYworKysgYi9zcmMveGVudmJkL25vdGlmaWVyLmMKQEAgLTQyLDggKzQy
LDggQEAgc3RydWN0IF9YRU5WQkRfTk9USUZJRVIgewogICAgIEJPT0xFQU4gICAgICAgICAgICAg
ICAgICAgICAgICAgQ29ubmVjdGVkOwogICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAg
ICAgRW5hYmxlZDsKIAotICAgIFBYRU5CVVNfU1RPUkVfSU5URVJGQUNFICAgICAgICAgU3RvcmVJ
bnRlcmZhY2U7Ci0gICAgUFhFTkJVU19FVlRDSE5fSU5URVJGQUNFICAgICAgICBFdnRjaG5JbnRl
cmZhY2U7CisgICAgWEVOQlVTX1NUT1JFX0lOVEVSRkFDRSAgICAgICAgICBTdG9yZUludGVyZmFj
ZTsKKyAgICBYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRSAgICAgICAgIEV2dGNobkludGVyZmFjZTsK
IAogICAgIFBYRU5CVVNfRVZUQ0hOX0NIQU5ORUwgICAgICAgICAgQ2hhbm5lbDsKICAgICBVTE9O
RyAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnQ7CkBAIC0xMTksNyArMTE5LDcgQEAgTm90
aWZpZXJEcGMoCiAgICAgRnJvbnRlbmROb3RpZnlSZXNwb25zZXMoTm90aWZpZXItPkZyb250ZW5k
KTsKIAogICAgIFhFTkJVU19FVlRDSE4oVW5tYXNrLAotICAgICAgICAgICAgICAgICAgTm90aWZp
ZXItPkV2dGNobkludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICZOb3RpZmllci0+RXZ0Y2hu
SW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgTm90aWZpZXItPkNoYW5uZWwsCiAgICAgICAg
ICAgICAgICAgICBGQUxTRSk7CiB9CkBAIC0xNjcsMjAgKzE2NywxOSBAQCBOb3RpZmllckNvbm5l
Y3QoCiAKICAgICBBU1NFUlQoTm90aWZpZXItPkNvbm5lY3RlZCA9PSBGQUxTRSk7CiAKLSAgICBO
b3RpZmllci0+U3RvcmVJbnRlcmZhY2UgPSBBZGFwdGVyQWNxdWlyZVN0b3JlKEFkYXB0ZXIpOwor
ICAgIEFkYXB0ZXJHZXRTdG9yZUludGVyZmFjZShBZGFwdGVyLCAmTm90aWZpZXItPlN0b3JlSW50
ZXJmYWNlKTsKKyAgICBBZGFwdGVyR2V0RXZ0Y2huSW50ZXJmYWNlKEFkYXB0ZXIsICZOb3RpZmll
ci0+RXZ0Y2huSW50ZXJmYWNlKTsKIAotICAgIHN0YXR1cyA9IFNUQVRVU19VTlNVQ0NFU1NGVUw7
Ci0gICAgaWYgKE5vdGlmaWVyLT5TdG9yZUludGVyZmFjZSA9PSBOVUxMKQorICAgIHN0YXR1cyA9
IFhFTkJVU19TVE9SRShBY3F1aXJlLCAmTm90aWZpZXItPlN0b3JlSW50ZXJmYWNlKTsKKyAgICBp
ZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgZ290byBmYWlsMTsKIAotICAgIE5vdGlm
aWVyLT5FdnRjaG5JbnRlcmZhY2UgPSBBZGFwdGVyQWNxdWlyZUV2dGNobihBZGFwdGVyKTsKLQot
ICAgIHN0YXR1cyA9IFNUQVRVU19VTlNVQ0NFU1NGVUw7Ci0gICAgaWYgKE5vdGlmaWVyLT5FdnRj
aG5JbnRlcmZhY2UgPT0gTlVMTCkKKyAgICBzdGF0dXMgPSBYRU5CVVNfRVZUQ0hOKEFjcXVpcmUs
ICZOb3RpZmllci0+RXZ0Y2huSW50ZXJmYWNlKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVz
KSkKICAgICAgICAgZ290byBmYWlsMjsKIAogICAgIE5vdGlmaWVyLT5DaGFubmVsID0gWEVOQlVT
X0VWVENITihPcGVuLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90
aWZpZXItPkV2dGNobkludGVyZmFjZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZOb3RpZmllci0+RXZ0Y2huSW50ZXJmYWNlLCAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgWEVOQlVTX0VWVENITl9UWVBFX1VOQk9VTkQsIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZmllckludGVycnVwdCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZpZXIsIApAQCAtMTkyLDExICsxOTEs
MTEgQEAgTm90aWZpZXJDb25uZWN0KAogICAgICAgICBnb3RvIGZhaWwzOwogCiAgICAgTm90aWZp
ZXItPlBvcnQgPSBYRU5CVVNfRVZUQ0hOKEdldFBvcnQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIE5vdGlmaWVyLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZOb3RpZmllci0+RXZ0Y2huSW50ZXJmYWNlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZmllci0+Q2hhbm5lbCk7CiAKICAgICBYRU5C
VVNfRVZUQ0hOKFVubWFzaywKLSAgICAgICAgICAgICAgICAgIE5vdGlmaWVyLT5FdnRjaG5JbnRl
cmZhY2UsCisgICAgICAgICAgICAgICAgICAmTm90aWZpZXItPkV2dGNobkludGVyZmFjZSwKICAg
ICAgICAgICAgICAgICAgIE5vdGlmaWVyLT5DaGFubmVsLAogICAgICAgICAgICAgICAgICAgRkFM
U0UpOwogCkBAIC0yMDQsMTIgKzIwMywxMiBAQCBOb3RpZmllckNvbm5lY3QoCiAgICAgcmV0dXJu
IFNUQVRVU19TVUNDRVNTOwogCiBmYWlsMzoKLSAgICBYRU5CVVNfRVZUQ0hOKFJlbGVhc2UsIE5v
dGlmaWVyLT5FdnRjaG5JbnRlcmZhY2UpOwotICAgIE5vdGlmaWVyLT5FdnRjaG5JbnRlcmZhY2Ug
PSBOVUxMOworICAgIFhFTkJVU19FVlRDSE4oUmVsZWFzZSwgJk5vdGlmaWVyLT5FdnRjaG5JbnRl
cmZhY2UpOworICAgIFJ0bFplcm9NZW1vcnkoJk5vdGlmaWVyLT5FdnRjaG5JbnRlcmZhY2UsIHNp
emVvZihYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRSkpOwogCiBmYWlsMjoKLSAgICBYRU5CVVNfU1RP
UkUoUmVsZWFzZSwgTm90aWZpZXItPlN0b3JlSW50ZXJmYWNlKTsKLSAgICBOb3RpZmllci0+U3Rv
cmVJbnRlcmZhY2UgPSBOVUxMOworICAgIFhFTkJVU19TVE9SRShSZWxlYXNlLCAmTm90aWZpZXIt
PlN0b3JlSW50ZXJmYWNlKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZOb3RpZmllci0+U3RvcmVJbnRl
cmZhY2UsIHNpemVvZihYRU5CVVNfU1RPUkVfSU5URVJGQUNFKSk7CiAKIGZhaWwxOgogICAgIHJl
dHVybiBzdGF0dXM7CkBAIC0yMjMsNyArMjIyLDcgQEAgTm90aWZpZXJTdG9yZVdyaXRlKAogICAg
ICkKIHsKICAgICByZXR1cm4gWEVOQlVTX1NUT1JFKFByaW50ZiwgCi0gICAgICAgICAgICAgICAg
ICAgICAgICBOb3RpZmllci0+U3RvcmVJbnRlcmZhY2UsIAorICAgICAgICAgICAgICAgICAgICAg
ICAgJk5vdGlmaWVyLT5TdG9yZUludGVyZmFjZSwgCiAgICAgICAgICAgICAgICAgICAgICAgICBU
cmFuc2FjdGlvbiwgCiAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZFBhdGgsIAogICAg
ICAgICAgICAgICAgICAgICAgICAgImV2ZW50LWNoYW5uZWwiLCAKQEAgLTIzOSw3ICsyMzgsNyBA
QCBOb3RpZmllckVuYWJsZSgKICAgICBBU1NFUlQoTm90aWZpZXItPkVuYWJsZWQgPT0gRkFMU0Up
OwogCiAgICAgWEVOQlVTX0VWVENITihUcmlnZ2VyLAotICAgICAgICAgICAgICAgICAgTm90aWZp
ZXItPkV2dGNobkludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICZOb3RpZmllci0+RXZ0Y2hu
SW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgTm90aWZpZXItPkNoYW5uZWwpOwogCiAgICAg
Tm90aWZpZXItPkVuYWJsZWQgPSBUUlVFOwpAQCAtMjYzLDE2ICsyNjIsMTYgQEAgTm90aWZpZXJE
aXNjb25uZWN0KAogICAgIEFTU0VSVChOb3RpZmllci0+Q29ubmVjdGVkID09IFRSVUUpOwogCiAg
ICAgWEVOQlVTX0VWVENITihDbG9zZSwKLSAgICAgICAgICAgICAgICAgIE5vdGlmaWVyLT5FdnRj
aG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAmTm90aWZpZXItPkV2dGNobkludGVyZmFj
ZSwKICAgICAgICAgICAgICAgICAgIE5vdGlmaWVyLT5DaGFubmVsKTsKICAgICBOb3RpZmllci0+
Q2hhbm5lbCA9IE5VTEw7CiAgICAgTm90aWZpZXItPlBvcnQgPSAwOwogCi0gICAgWEVOQlVTX0VW
VENITihSZWxlYXNlLCBOb3RpZmllci0+RXZ0Y2huSW50ZXJmYWNlKTsKLSAgICBOb3RpZmllci0+
RXZ0Y2huSW50ZXJmYWNlID0gTlVMTDsKKyAgICBYRU5CVVNfRVZUQ0hOKFJlbGVhc2UsICZOb3Rp
Zmllci0+RXZ0Y2huSW50ZXJmYWNlKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZOb3RpZmllci0+RXZ0
Y2huSW50ZXJmYWNlLCBzaXplb2YoWEVOQlVTX0VWVENITl9JTlRFUkZBQ0UpKTsKIAotICAgIFhF
TkJVU19TVE9SRShSZWxlYXNlLCBOb3RpZmllci0+U3RvcmVJbnRlcmZhY2UpOwotICAgIE5vdGlm
aWVyLT5TdG9yZUludGVyZmFjZSA9IE5VTEw7CisgICAgWEVOQlVTX1NUT1JFKFJlbGVhc2UsICZO
b3RpZmllci0+U3RvcmVJbnRlcmZhY2UpOworICAgIFJ0bFplcm9NZW1vcnkoJk5vdGlmaWVyLT5T
dG9yZUludGVyZmFjZSwgc2l6ZW9mKFhFTkJVU19TVE9SRV9JTlRFUkZBQ0UpKTsKIAogICAgIE5v
dGlmaWVyLT5OdW1JbnRzID0gTm90aWZpZXItPk51bURwY3MgPSAwOwogCkBAIC0zMTgsNyArMzE3
LDcgQEAgTm90aWZpZXJUcmlnZ2VyKAogewogICAgIGlmIChOb3RpZmllci0+RW5hYmxlZCkKICAg
ICAgICAgWEVOQlVTX0VWVENITihUcmlnZ2VyLAotICAgICAgICAgICAgICAgICAgICAgIE5vdGlm
aWVyLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgJk5vdGlmaWVyLT5F
dnRjaG5JbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgTm90aWZpZXItPkNoYW5uZWwp
OwogfQogCkBAIC0zMjksNyArMzI4LDcgQEAgTm90aWZpZXJTZW5kKAogewogICAgIGlmIChOb3Rp
Zmllci0+RW5hYmxlZCkKICAgICAgICAgWEVOQlVTX0VWVENITihTZW5kLAotICAgICAgICAgICAg
ICAgICAgICAgIE5vdGlmaWVyLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAg
ICAgJk5vdGlmaWVyLT5FdnRjaG5JbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgTm90
aWZpZXItPkNoYW5uZWwpOwogfQogCmRpZmYgLS1naXQgYS9zcmMveGVudmJkL3Bkb2lucXVpcnku
YyBiL3NyYy94ZW52YmQvcGRvaW5xdWlyeS5jCmluZGV4IGMxY2EzY2IuLjI2MDhmYmYgMTAwNjQ0
Ci0tLSBhL3NyYy94ZW52YmQvcGRvaW5xdWlyeS5jCisrKyBiL3NyYy94ZW52YmQvcGRvaW5xdWly
eS5jCkBAIC0yMTEsNyArMjExLDYgQEAgZmFpbDE6CiAKIHN0YXRpYyBGT1JDRUlOTElORSBCT09M
RUFOCiBfX0hhbmRsZVBhZ2VTdGQoCi0gICAgX19pbiBYRU5WQkRfREVWSUNFX1RZUEUgICAgICAg
ICBEZXZpY2VUeXBlLAogICAgIF9faW4gUFNDU0lfUkVRVUVTVF9CTE9DSyAgICAgICAgU3JiCiAg
ICAgKQogewpAQCAtMjIxLDM1ICsyMjAsMTUgQEAgX19IYW5kbGVQYWdlU3RkKAogICAgIGlmIChM
ZW5ndGggPCBJTlFVSVJZREFUQUJVRkZFUlNJWkUpCiAgICAgICAgIHJldHVybiBGQUxTRTsKIAot
ICAgIHN3aXRjaCAoRGV2aWNlVHlwZSkgewotICAgIGNhc2UgWEVOVkJEX0RFVklDRV9UWVBFX0RJ
U0s6Ci0gICAgICAgIERhdGEtPkRldmljZVR5cGUgICAgICAgICAgICA9IERJUkVDVF9BQ0NFU1Nf
REVWSUNFOwotICAgICAgICBEYXRhLT5EZXZpY2VUeXBlUXVhbGlmaWVyICAgPSBERVZJQ0VfQ09O
TkVDVEVEOwotICAgICAgICBEYXRhLT5WZXJzaW9ucyAgICAgICAgICAgICAgPSA0OwotICAgICAg
ICBEYXRhLT5SZXNwb25zZURhdGFGb3JtYXQgICAgPSAyOwotICAgICAgICBEYXRhLT5BZGRpdGlv
bmFsTGVuZ3RoICAgICAgPSBJTlFVSVJZREFUQUJVRkZFUlNJWkUgLSA0OwotICAgICAgICBEYXRh
LT5Db21tYW5kUXVldWUgICAgICAgICAgPSAxOwotICAgICAgICBSdGxDb3B5TWVtb3J5KERhdGEt
PlZlbmRvcklkLCAgICAgICAgICAgICAgICJYRU5TUkMgICIsIDgpOwotICAgICAgICBSdGxDb3B5
TWVtb3J5KERhdGEtPlByb2R1Y3RJZCwgICAgICAgICAgICAgICJQVkRJU0sgICAgICAgICAgIiwg
MTYpOwotICAgICAgICBSdGxDb3B5TWVtb3J5KERhdGEtPlByb2R1Y3RSZXZpc2lvbkxldmVsLCAg
ICIyLjAgIiwgNCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgWEVOVkJEX0RFVklDRV9UWVBF
X0NEUk9NOgotICAgICAgICBEYXRhLT5EZXZpY2VUeXBlICAgICAgICAgICAgPSBSRUFEX09OTFlf
RElSRUNUX0FDQ0VTU19ERVZJQ0U7Ci0gICAgICAgIERhdGEtPkRldmljZVR5cGVRdWFsaWZpZXIg
ICA9IERFVklDRV9DT05ORUNURUQ7Ci0gICAgICAgIERhdGEtPlJlbW92YWJsZU1lZGlhICAgICAg
ICA9IFRSVUU7Ci0gICAgICAgIERhdGEtPlZlcnNpb25zICAgICAgICAgICAgICA9IDI7Ci0gICAg
ICAgIERhdGEtPlJlc3BvbnNlRGF0YUZvcm1hdCAgICA9IDI7Ci0gICAgICAgIERhdGEtPldpZGUz
MkJpdCAgICAgICAgICAgICA9IFRSVUU7Ci0gICAgICAgIERhdGEtPlN5bmNocm9ub3VzICAgICAg
ICAgICA9IFRSVUU7Ci0gICAgICAgIERhdGEtPkFkZGl0aW9uYWxMZW5ndGggICAgICA9IElOUVVJ
UllEQVRBQlVGRkVSU0laRSAtIDQ7Ci0gICAgICAgIFJ0bENvcHlNZW1vcnkoRGF0YS0+VmVuZG9y
SWQsICAgICAgICAgICAgICAgIlhFTlNSQyAgIiwgOCk7Ci0gICAgICAgIFJ0bENvcHlNZW1vcnko
RGF0YS0+UHJvZHVjdElkLCAgICAgICAgICAgICAgIlBWQ0RST00gICAgICAgICAiLCAxNik7Ci0g
ICAgICAgIFJ0bENvcHlNZW1vcnkoRGF0YS0+UHJvZHVjdFJldmlzaW9uTGV2ZWwsICAgIjIuMCAi
LCA0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIEZBTFNF
OwotICAgICAgICBicmVhazsKLSAgICB9CisgICAgRGF0YS0+RGV2aWNlVHlwZSAgICAgICAgICAg
ID0gRElSRUNUX0FDQ0VTU19ERVZJQ0U7CisgICAgRGF0YS0+RGV2aWNlVHlwZVF1YWxpZmllciAg
ID0gREVWSUNFX0NPTk5FQ1RFRDsKKyAgICBEYXRhLT5WZXJzaW9ucyAgICAgICAgICAgICAgPSA0
OworICAgIERhdGEtPlJlc3BvbnNlRGF0YUZvcm1hdCAgICA9IDI7CisgICAgRGF0YS0+QWRkaXRp
b25hbExlbmd0aCAgICAgID0gSU5RVUlSWURBVEFCVUZGRVJTSVpFIC0gNDsKKyAgICBEYXRhLT5D
b21tYW5kUXVldWUgICAgICAgICAgPSAxOworICAgIFJ0bENvcHlNZW1vcnkoRGF0YS0+VmVuZG9y
SWQsICAgICAgICAgICAgICAgIlhFTlNSQyAgIiwgOCk7CisgICAgUnRsQ29weU1lbW9yeShEYXRh
LT5Qcm9kdWN0SWQsICAgICAgICAgICAgICAiUFZESVNLICAgICAgICAgICIsIDE2KTsKKyAgICBS
dGxDb3B5TWVtb3J5KERhdGEtPlByb2R1Y3RSZXZpc2lvbkxldmVsLCAgICIyLjAgIiwgNCk7CiAK
ICAgICBTcmItPkRhdGFUcmFuc2Zlckxlbmd0aCA9IElOUVVJUllEQVRBQlVGRkVSU0laRTsKICAg
ICByZXR1cm4gVFJVRTsKQEAgLTUxOCw4ICs0OTcsNyBAQCBWT0lECiBQZG9JbnF1aXJ5KAogICAg
IF9faW4gVUxPTkcgICAgICAgICAgICAgICAgICAgVGFyZ2V0SWQsCiAgICAgX19pbiBQVk9JRCAg
ICAgICAgICAgICAgICAgICBJbnF1aXJ5LAotICAgIF9faW4gUFNDU0lfUkVRVUVTVF9CTE9DSyAg
ICAgU3JiLAotICAgIF9faW4gWEVOVkJEX0RFVklDRV9UWVBFICAgICAgRGV2aWNlVHlwZQorICAg
IF9faW4gUFNDU0lfUkVRVUVTVF9CTE9DSyAgICAgU3JiCiAgICAgKQogewogICAgIEJPT0xFQU4g
ICAgICAgICBTdWNjZXNzOwpAQCAtNTM2LDcgKzUxNCw3IEBAIFBkb0lucXVpcnkoCiAgICAgICAg
IH0KICAgICB9IGVsc2UgewogICAgICAgICBzd2l0Y2ggKFBhZ2VDb2RlKSB7Ci0gICAgICAgIGNh
c2UgMHgwMDogIFN1Y2Nlc3MgPSBfX0hhbmRsZVBhZ2VTdGQoRGV2aWNlVHlwZSwgU3JiKTsgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSAweDAwOiAgU3VjY2VzcyA9IF9fSGFuZGxlUGFnZVN0
ZChTcmIpOyAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OiAgICBT
dWNjZXNzID0gRkFMU0U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9zcmMveGVudmJkL3Bkb2lucXVpcnkuaCBi
L3NyYy94ZW52YmQvcGRvaW5xdWlyeS5oCmluZGV4IDQxZDdjMzAuLmE4Y2IxNTUgMTAwNjQ0Ci0t
LSBhL3NyYy94ZW52YmQvcGRvaW5xdWlyeS5oCisrKyBiL3NyYy94ZW52YmQvcGRvaW5xdWlyeS5o
CkBAIC01Nyw4ICs1Nyw3IEBAIGV4dGVybiBWT0lECiBQZG9JbnF1aXJ5KAogICAgIF9faW4gVUxP
TkcgICAgICAgICAgICAgICAgICAgVGFyZ2V0SWQsCiAgICAgX19pbiBQVk9JRCAgICAgICAgICAg
ICAgICAgICBJbnF1aXJ5LAotICAgIF9faW4gUFNDU0lfUkVRVUVTVF9CTE9DSyAgICAgU3JiLAot
ICAgIF9faW4gWEVOVkJEX0RFVklDRV9UWVBFICAgICAgRGV2aWNlVHlwZQorICAgIF9faW4gUFND
U0lfUkVRVUVTVF9CTE9DSyAgICAgU3JiCiAgICAgKTsKIAogI2VuZGlmIC8vIF9YRU5WQkRfUERP
X0lOUVVJUllfSApkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC90YXJnZXQuYyBiL3NyYy94ZW52YmQv
dGFyZ2V0LmMKaW5kZXggMmE0OGYwYS4uNTc2NDI5MiAxMDA2NDQKLS0tIGEvc3JjL3hlbnZiZC90
YXJnZXQuYworKysgYi9zcmMveGVudmJkL3RhcmdldC5jCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5j
bHVkZSA8Z250dGFiX2ludGVyZmFjZS5oPgogI2luY2x1ZGUgPGRlYnVnX2ludGVyZmFjZS5oPgog
I2luY2x1ZGUgPHN1c3BlbmRfaW50ZXJmYWNlLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CiAKICNk
ZWZpbmUgWEVOVkJEX01BWF9RVUVVRV9ERVBUSCAgICAgICAgICAoMjU0KQogCkBAIC03Nyw4ICs3
OCw2IEBAIHN0cnVjdCBfWEVOVkJEX1RBUkdFVCB7CiAgICAgVUxPTkcgICAgICAgICAgICAgICAg
ICAgICAgIFNpZ25hdHVyZTsKICAgICBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgICAgIEFk
YXB0ZXI7CiAgICAgUERFVklDRV9PQkpFQ1QgICAgICAgICAgICAgIERldmljZU9iamVjdDsKLSAg
ICBLRVZFTlQgICAgICAgICAgICAgICAgICAgICAgUmVtb3ZlRXZlbnQ7Ci0gICAgTE9ORyAgICAg
ICAgICAgICAgICAgICAgICAgIFJlZmVyZW5jZUNvdW50OwogICAgIERFVklDRV9QTlBfU1RBVEUg
ICAgICAgICAgICBEZXZpY2VQbnBTdGF0ZTsKICAgICBERVZJQ0VfUE5QX1NUQVRFICAgICAgICAg
ICAgUHJldlBucFN0YXRlOwogICAgIERFVklDRV9QT1dFUl9TVEFURSAgICAgICAgICBEZXZpY2VQ
b3dlclN0YXRlOwpAQCAtODYsNyArODUsNiBAQCBzdHJ1Y3QgX1hFTlZCRF9UQVJHRVQgewogCiAg
ICAgLy8gRnJvbnRlbmQgKFJpbmcsIGluY2x1ZGVzIFhlbkJ1cyBpbnRlcmZhY2VzKQogICAgIFBY
RU5WQkRfRlJPTlRFTkQgICAgICAgICAgICBGcm9udGVuZDsKLSAgICBYRU5WQkRfREVWSUNFX1RZ
UEUgICAgICAgICAgRGV2aWNlVHlwZTsKIAogICAgIC8vIFN0YXRlCiAgICAgTE9ORyAgICAgICAg
ICAgICAgICAgICAgICAgIFBhdXNlZDsKQEAgLTI3NCw5ICsyNzIsNiBAQCBUYXJnZXREZWJ1Z0Nh
bGxiYWNrKAogICAgICAgICAgICAgICAgICBUYXJnZXQtPkFkYXB0ZXIsCiAgICAgICAgICAgICAg
ICAgIFRhcmdldC0+RGV2aWNlT2JqZWN0KTsKICAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCBEZWJ1
Z0ludGVyZmFjZSwKLSAgICAgICAgICAgICAgICAgIlRBUkdFVDogUmVmZXJlbmNlQ291bnQgJWRc
biIsCi0gICAgICAgICAgICAgICAgIFRhcmdldC0+UmVmZXJlbmNlQ291bnQpOwotICAgIFhFTkJV
U19ERUJVRyhQcmludGYsIERlYnVnSW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAiVEFSR0VU
OiBEZXZpY2VQbnBTdGF0ZSAlcyAoJXMpXG4iLAogICAgICAgICAgICAgICAgICBfX1BucFN0YXRl
TmFtZShUYXJnZXQtPkRldmljZVBucFN0YXRlKSwKICAgICAgICAgICAgICAgICAgX19QbnBTdGF0
ZU5hbWUoVGFyZ2V0LT5QcmV2UG5wU3RhdGUpKTsKQEAgLTQzOCw1NyArNDMzLDIzIEBAIF9fVGFy
Z2V0UmVzdG9yZURldmljZVBucFN0YXRlKAogfQogCiAvLz09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0v
LyBSZWZlcmVuY2UgQ291bnRpbmcKLUZPUkNFSU5MSU5FIExPTkcKLV9fVGFyZ2V0UmVmZXJlbmNl
KAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0LAotICAgIF9faW4g
UENIQVIgICAgICAgICAgICAgICAgICAgQ2FsbGVyCi0gICAgKQotewotICAgIExPTkcgUmVzdWx0
OwotCi0gICAgQVNTRVJUM1AoVGFyZ2V0LCAhPSwgTlVMTCk7Ci0gICAgUmVzdWx0ID0gSW50ZXJs
b2NrZWRJbmNyZW1lbnQoJlRhcmdldC0+UmVmZXJlbmNlQ291bnQpOwotICAgIEFTU0VSVFJFRkNP
VU5UKFJlc3VsdCwgPiwgMCwgQ2FsbGVyKTsKLQotICAgIGlmIChSZXN1bHQgPT0gMSkgewotICAg
ICAgICBSZXN1bHQgPSBJbnRlcmxvY2tlZERlY3JlbWVudCgmVGFyZ2V0LT5SZWZlcmVuY2VDb3Vu
dCk7Ci0gICAgICAgIEVycm9yKCJUYXJnZXRbJWRdIDogJXM6IEF0dGVtcHRpbmcgdG8gdGFrZSBy
ZWZlcmVuY2Ugb2YgcmVtb3ZlZCBUQVJHRVQgZnJvbSAlZFxuIiwgVGFyZ2V0R2V0VGFyZ2V0SWQo
VGFyZ2V0KSwgQ2FsbGVyLCBSZXN1bHQpOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9IGVsc2Ug
ewotICAgICAgICBBU1NFUlRSRUZDT1VOVChSZXN1bHQsID4sIDEsIENhbGxlcik7Ci0gICAgICAg
IHJldHVybiBSZXN1bHQ7Ci0gICAgfQotfQotCi1GT1JDRUlOTElORSBMT05HCi1fX1RhcmdldERl
cmVmZXJlbmNlKAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0LAot
ICAgIF9faW4gUENIQVIgICAgICAgICAgICAgICAgICAgQ2FsbGVyCisvLyBRdWVyeSBNZXRob2Rz
CitGT1JDRUlOTElORSBVTE9ORworVGFyZ2V0R2V0VGFyZ2V0SWQoCisgICAgX19pbiBQWEVOVkJE
X1RBUkdFVCAgICAgICAgICAgICBUYXJnZXQKICAgICApCiB7Ci0gICAgTE9ORyAgICBSZXN1bHQ7
Ci0gICAgCiAgICAgQVNTRVJUM1AoVGFyZ2V0LCAhPSwgTlVMTCk7Ci0gICAgUmVzdWx0ID0gSW50
ZXJsb2NrZWREZWNyZW1lbnQoJlRhcmdldC0+UmVmZXJlbmNlQ291bnQpOwotICAgIEFTU0VSVFJF
RkNPVU5UKFJlc3VsdCwgPj0sIDAsIENhbGxlcik7Ci0gICAgCi0gICAgaWYgKFJlc3VsdCA9PSAw
KSB7Ci0gICAgICAgIFZlcmJvc2UoIkZpbmFsIFJlZmVyZW5jZUNvdW50IGRyb3BwZWQsIFRhcmdl
dFslZF0gYWJsZSB0byBiZSByZW1vdmVkXG4iLCBUYXJnZXRHZXRUYXJnZXRJZChUYXJnZXQpKTsK
LSAgICAgICAgS2VTZXRFdmVudCgmVGFyZ2V0LT5SZW1vdmVFdmVudCwgSU9fTk9fSU5DUkVNRU5U
LCBGQUxTRSk7Ci0gICAgfQotICAgIHJldHVybiBSZXN1bHQ7CisgICAgcmV0dXJuIEZyb250ZW5k
R2V0VGFyZ2V0SWQoVGFyZ2V0LT5Gcm9udGVuZCk7CiB9CiAKLS8vPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS8vIFF1ZXJ5IE1ldGhvZHMKLUZPUkNFSU5MSU5FIFVMT05HCi1UYXJnZXRHZXRUYXJnZXRJ
ZCgKK1VMT05HCitUYXJnZXRHZXREZXZpY2VJZCgKICAgICBfX2luIFBYRU5WQkRfVEFSR0VUICAg
ICAgICAgICAgIFRhcmdldAogICAgICkKIHsKICAgICBBU1NFUlQzUChUYXJnZXQsICE9LCBOVUxM
KTsKLSAgICByZXR1cm4gRnJvbnRlbmRHZXRUYXJnZXRJZChUYXJnZXQtPkZyb250ZW5kKTsKKyAg
ICByZXR1cm4gRnJvbnRlbmRHZXREZXZpY2VJZChUYXJnZXQtPkZyb250ZW5kKTsKIH0KIAogX19j
aGVja1JldHVybgpAQCAtODM1LDggKzc5Niw2IEBAIF9fVGFyZ2V0UHJpb3JpdHkoCiAgICAgcmV0
dXJuIEhpZ2hQYWdlUHJpb3JpdHk7CiB9CiAKLSNkZWZpbmUgX19taW4oX3gsIF95KSAoKF94KSA8
IChfeSkpID8gKF94KSA6IChfeSkKLQogc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKIFNHTGlzdEdl
dCgKICAgICBJTiBPVVQgIFBYRU5WQkRfU0dfTElTVCAgICAgICAgIFNHTGlzdApAQCAtMjEwMSw3
ICsyMDYwLDcgQEAgX19UYXJnZXRFeGVjdXRlU2NzaSgKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgWEVOVkJEX01BWF9RVUVVRV9ERVBUSCkpCiAgICAgICAgICAgICBW
ZXJib3NlKCJUYXJnZXRbJWRdIDogRmFpbGVkIHRvIHNldCBxdWV1ZSBkZXB0aFxuIiwKICAgICAg
ICAgICAgICAgICAgICAgVGFyZ2V0R2V0VGFyZ2V0SWQoVGFyZ2V0KSk7Ci0gICAgICAgIFBkb0lu
cXVpcnkoVGFyZ2V0R2V0VGFyZ2V0SWQoVGFyZ2V0KSwgRnJvbnRlbmRHZXRJbnF1aXJ5KFRhcmdl
dC0+RnJvbnRlbmQpLCBTcmIsIFRhcmdldC0+RGV2aWNlVHlwZSk7CisgICAgICAgIFBkb0lucXVp
cnkoVGFyZ2V0R2V0VGFyZ2V0SWQoVGFyZ2V0KSwgRnJvbnRlbmRHZXRJbnF1aXJ5KFRhcmdldC0+
RnJvbnRlbmQpLCBTcmIpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNDU0lPUF9NT0RFX1NF
TlNFOgogICAgICAgICBUYXJnZXRNb2RlU2Vuc2UoVGFyZ2V0LCBTcmIpOwpAQCAtMjQ4NSw3ICsy
NDQ0LDYgQEAgVGFyZ2V0RGlzcGF0Y2hQbnAoCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7
CiAgICAgfQotICAgIFRhcmdldERlcmVmZXJlbmNlKFRhcmdldCk7CiAgICAgcmV0dXJuIERyaXZl
ckRpc3BhdGNoUG5wKERldmljZU9iamVjdCwgSXJwKTsKIH0KIApAQCAtMjU4NywxNyArMjU0NSw1
MSBAQCBUYXJnZXREMFRvRDMoCiAgICAgVHJhY2UoIlRhcmdldFslZF0gQCAoJWQpIDw9PT09PVxu
IiwgVGFyZ2V0SWQsIEtlR2V0Q3VycmVudElycWwoKSk7CiB9CiAKK3N0YXRpYyBGT1JDRUlOTElO
RSBVTE9ORworX19QYXJzZVZiZCgKKyAgICBJTiAgUENIQVIgICBEZXZpY2VJZFN0cgorICAgICkK
K3sKKyAgICBVTE9ORyAgIERldmljZUlkID0gc3RydG91bChEZXZpY2VJZFN0ciwgTlVMTCwgMTAp
OworICAgIAorICAgIEFTU0VSVDNVKChEZXZpY2VJZCAmIH4oKDEgPDwgMjkpIC0gMSkpLCA9PSwg
MCk7CisKKyAgICBpZiAoRGV2aWNlSWQgJiAoMSA8PCAyOCkpCisgICAgICAgIHJldHVybiAoRGV2
aWNlSWQgJiAoKDEgPDwgMjApIC0gMSkpID4+IDg7ICAgICAgIC8qIHh2ZCAgICAqLworCisgICAg
c3dpdGNoIChEZXZpY2VJZCA+PiA4KSB7CisgICAgY2FzZSAyMDI6ICAgcmV0dXJuIChEZXZpY2VJ
ZCAmIDB4RjApID4+IDQ7ICAgICAgICAgIC8qIHh2ZCAgICAqLworICAgIGNhc2UgODogICAgIHJl
dHVybiAoRGV2aWNlSWQgJiAweEYwKSA+PiA0OyAgICAgICAgICAvKiBzZCAgICAgKi8KKyAgICBj
YXNlIDM6ICAgICByZXR1cm4gKERldmljZUlkICYgMHhDMCkgPj4gNjsgICAgICAgICAgLyogaGRh
Li5iICovCisgICAgY2FzZSAyMjogICAgcmV0dXJuICgoRGV2aWNlSWQgJiAweEMwKSA+PiA2KSAr
IDI7ICAgIC8qIGhkYy4uZCAqLworICAgIGNhc2UgMzM6ICAgIHJldHVybiAoKERldmljZUlkICYg
MHhDMCkgPj4gNikgKyA0OyAgICAvKiBoZGUuLmYgKi8KKyAgICBjYXNlIDM0OiAgICByZXR1cm4g
KChEZXZpY2VJZCAmIDB4QzApID4+IDYpICsgNjsgICAgLyogaGRnLi5oICovCisgICAgY2FzZSA1
NjogICAgcmV0dXJuICgoRGV2aWNlSWQgJiAweEMwKSA+PiA2KSArIDg7ICAgIC8qIGhkaS4uaiAq
LworICAgIGNhc2UgNTc6ICAgIHJldHVybiAoKERldmljZUlkICYgMHhDMCkgPj4gNikgKyAxMDsg
ICAvKiBoZGsuLmwgKi8KKyAgICBjYXNlIDg4OiAgICByZXR1cm4gKChEZXZpY2VJZCAmIDB4QzAp
ID4+IDYpICsgMTI7ICAgLyogaGRtLi5uICovCisgICAgY2FzZSA4OTogICAgcmV0dXJuICgoRGV2
aWNlSWQgJiAweEMwKSA+PiA2KSArIDE0OyAgIC8qIGhkby4ucCAqLworICAgIGRlZmF1bHQ6ICAg
IHJldHVybiAweEZGRkZGRkZGOyAgICAgICAgICAgICAgICAgICAgICAvKiBFUlJPUiAgKi8KKyAg
ICB9Cit9CisKIF9fY2hlY2tSZXR1cm4KLUJPT0xFQU4KK05UU1RBVFVTCiBUYXJnZXRDcmVhdGUo
CiAgICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgQWRhcHRlciwKICAgICBfX2lu
IF9fbnVsbHRlcm1pbmF0ZWQgUENIQVIgIERldmljZUlkLAotICAgIF9faW4gVUxPTkcgICAgICAg
ICAgICAgICAgICAgVGFyZ2V0SWQsCi0gICAgX19pbiBYRU5WQkRfREVWSUNFX1RZUEUgICAgICBE
ZXZpY2VUeXBlCisgICAgT1VUIFBYRU5WQkRfVEFSR0VUKiAgICAgICAgIF9UYXJnZXQKICAgICAp
CiB7CiAgICAgTlRTVEFUVVMgICAgU3RhdHVzOwogICAgIFBYRU5WQkRfVEFSR0VUIFRhcmdldDsK
KyAgICBVTE9ORyAgICAgICAgICAgVGFyZ2V0SWQ7CisKKyAgICBUYXJnZXRJZCA9IF9fUGFyc2VW
YmQoRGV2aWNlSWQpOworICAgIGlmIChUYXJnZXRJZCA+PSBYRU5WQkRfTUFYX1RBUkdFVFMpCisg
ICAgICAgIHJldHVybiBTVEFUVVNfUkVUUlk7CisKKyAgICBpZiAoQWRhcHRlcklzVGFyZ2V0RW11
bGF0ZWQoQWRhcHRlciwgVGFyZ2V0SWQpKQorICAgICAgICByZXR1cm4gU1RBVFVTX1JFVFJZOwog
CiAgICAgVHJhY2UoIlRhcmdldFslZF0gQCAoJWQpID09PT09PlxuIiwgVGFyZ2V0SWQsIEtlR2V0
Q3VycmVudElycWwoKSk7CiAKQEAgLTI2MTEsMTIgKzI2MDMsOSBAQCBUYXJnZXRDcmVhdGUoCiAg
ICAgVGFyZ2V0LT5TaWduYXR1cmUgICAgICA9IFRBUkdFVF9TSUdOQVRVUkU7CiAgICAgVGFyZ2V0
LT5BZGFwdGVyICAgICAgICAgICAgPSBBZGFwdGVyOwogICAgIFRhcmdldC0+RGV2aWNlT2JqZWN0
ICAgPSBOVUxMOyAvLyBmaWxsZWQgaW4gbGF0ZXIKLSAgICBLZUluaXRpYWxpemVFdmVudCgmVGFy
Z2V0LT5SZW1vdmVFdmVudCwgU3luY2hyb25pemF0aW9uRXZlbnQsIEZBTFNFKTsKLSAgICBUYXJn
ZXQtPlJlZmVyZW5jZUNvdW50ID0gMTsKICAgICBUYXJnZXQtPlBhdXNlZCAgICAgICAgID0gMTsg
Ly8gUGF1c2VkIHVudGlsIEQzLT5EMCB0cmFuc2l0aW9uCiAgICAgVGFyZ2V0LT5EZXZpY2VQbnBT
dGF0ZSA9IFByZXNlbnQ7CiAgICAgVGFyZ2V0LT5EZXZpY2VQb3dlclN0YXRlID0gUG93ZXJEZXZp
Y2VEMzsKLSAgICBUYXJnZXQtPkRldmljZVR5cGUgICAgID0gRGV2aWNlVHlwZTsKIAogICAgIEtl
SW5pdGlhbGl6ZVNwaW5Mb2NrKCZUYXJnZXQtPkxvY2spOwogICAgIFF1ZXVlSW5pdCgmVGFyZ2V0
LT5GcmVzaFNyYnMpOwpAQCAtMjYzNSwxNiArMjYyNCwxMSBAQCBUYXJnZXRDcmVhdGUoCiAgICAg
aWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCiAgICAgICAgIGdvdG8gZmFpbDM7CiAKLSAgICBpZiAo
IUFkYXB0ZXJMaW5rVGFyZ2V0KEFkYXB0ZXIsIFRhcmdldCkpCi0gICAgICAgIGdvdG8gZmFpbDQ7
CisgICAgKl9UYXJnZXQgPSBUYXJnZXQ7CiAKICAgICBWZXJib3NlKCJUYXJnZXRbJWRdIDogQ3Jl
YXRlZCAoJXMpXG4iLCBUYXJnZXRJZCwgVGFyZ2V0KTsKICAgICBUcmFjZSgiVGFyZ2V0WyVkXSBA
ICglZCkgPD09PT09XG4iLCBUYXJnZXRJZCwgS2VHZXRDdXJyZW50SXJxbCgpKTsKLSAgICByZXR1
cm4gVFJVRTsKLQotZmFpbDQ6Ci0gICAgRXJyb3IoIkZhaWw0XG4iKTsKLSAgICBUYXJnZXREMFRv
RDMoVGFyZ2V0KTsKKyAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CiAKIGZhaWwzOgogICAgIEVy
cm9yKCJGYWlsM1xuIik7CkBAIC0yNjYwLDcgKzI2NDQsNyBAQCBmYWlsMjoKIAogZmFpbDE6CiAg
ICAgRXJyb3IoIkZhaWwxICglMDh4KVxuIiwgU3RhdHVzKTsKLSAgICByZXR1cm4gRkFMU0U7Cisg
ICAgcmV0dXJuIFN0YXR1czsKIH0KIAogVk9JRApAQCAtMjY2OSwyNiArMjY1MywyMCBAQCBUYXJn
ZXREZXN0cm95KAogICAgICkKIHsKICAgICBjb25zdCBVTE9ORyAgICAgICAgIFRhcmdldElkID0g
VGFyZ2V0R2V0VGFyZ2V0SWQoVGFyZ2V0KTsKLSAgICBQVk9JRCAgICAgICAgICAgICAgIE9iamVj
dHNbNF07CisgICAgUFZPSUQgICAgICAgICAgICAgICBPYmplY3RzWzNdOwogICAgIFBLV0FJVF9C
TE9DSyAgICAgICAgV2FpdEJsb2NrOwogCiAgICAgVHJhY2UoIlRhcmdldFslZF0gQCAoJWQpID09
PT09PlxuIiwgVGFyZ2V0SWQsIEtlR2V0Q3VycmVudElycWwoKSk7CiAgICAgVmVyYm9zZSgiVGFy
Z2V0WyVkXSA6IERlc3Ryb3lpbmdcbiIsIFRhcmdldElkKTsKIAogICAgIEFTU0VSVDNVKFRhcmdl
dC0+U2lnbmF0dXJlLCA9PSwgVEFSR0VUX1NJR05BVFVSRSk7Ci0gICAgaWYgKCFBZGFwdGVyVW5s
aW5rVGFyZ2V0KFRhcmdldEdldEFkYXB0ZXIoVGFyZ2V0KSwgVGFyZ2V0KSkgewotICAgICAgICBF
cnJvcigiVGFyZ2V0WyVkXSA6IFRBUkdFVCAweCVwIG5vdCBsaW5rZWQgdG8gQURBUFRFUiAweCVw
XG4iLCBUYXJnZXRJZCwgVGFyZ2V0LCBUYXJnZXRHZXRBZGFwdGVyKFRhcmdldCkpOwotICAgIH0K
IAogICAgIFRhcmdldEQwVG9EMyhUYXJnZXQpOwotICAgIFRhcmdldERlcmVmZXJlbmNlKFRhcmdl
dCk7IC8vIGRyb3AgaW5pdGlhbCByZWYgY291bnQKIAotICAgIC8vIFdhaXQgZm9yIFJlZmVyZW5j
ZUNvdW50ID09IDAgYW5kIFJlcXVlc3RMaXN0VXNlZCA9PSAwCi0gICAgVmVyYm9zZSgiVGFyZ2V0
WyVkXSA6IFJlZmVyZW5jZUNvdW50ICVkLCBSZXF1ZXN0TGlzdFVzZWQgJWRcbiIsIFRhcmdldElk
LCBUYXJnZXQtPlJlZmVyZW5jZUNvdW50LCBUYXJnZXQtPlJlcXVlc3RMaXN0LlVzZWQpOwotICAg
IE9iamVjdHNbMF0gPSAmVGFyZ2V0LT5SZW1vdmVFdmVudDsKLSAgICBPYmplY3RzWzFdID0gJlRh
cmdldC0+UmVxdWVzdExpc3QuRW1wdHk7Ci0gICAgT2JqZWN0c1syXSA9ICZUYXJnZXQtPlNlZ21l
bnRMaXN0LkVtcHR5OwotICAgIE9iamVjdHNbM10gPSAmVGFyZ2V0LT5JbmRpcmVjdExpc3QuRW1w
dHk7CisgICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6IFJlcXVlc3RMaXN0VXNlZCAlZFxuIiwgVGFy
Z2V0SWQsIFRhcmdldC0+UmVxdWVzdExpc3QuVXNlZCk7CisgICAgT2JqZWN0c1swXSA9ICZUYXJn
ZXQtPlJlcXVlc3RMaXN0LkVtcHR5OworICAgIE9iamVjdHNbMV0gPSAmVGFyZ2V0LT5TZWdtZW50
TGlzdC5FbXB0eTsKKyAgICBPYmplY3RzWzJdID0gJlRhcmdldC0+SW5kaXJlY3RMaXN0LkVtcHR5
OwogCiAgICAgV2FpdEJsb2NrID0gKFBLV0FJVF9CTE9DSylfX1RhcmdldEFsbG9jKHNpemVvZihL
V0FJVF9CTE9DSykgKiBBUlJBWVNJWkUoT2JqZWN0cykpOwogICAgIGlmIChXYWl0QmxvY2sgPT0g
TlVMTCkgewpAQCAtMjcxNSw3ICsyNjkzLDYgQEAgVGFyZ2V0RGVzdHJveSgKICAgICAgICAgX19U
YXJnZXRGcmVlKFdhaXRCbG9jayk7CiAgICAgfQogCi0gICAgQVNTRVJUM1MoVGFyZ2V0LT5SZWZl
cmVuY2VDb3VudCwgPT0sIDApOwogICAgIEFTU0VSVDNVKFRhcmdldEdldERldmljZVBucFN0YXRl
KFRhcmdldCksID09LCBEZWxldGVkKTsKIAogICAgIEZyb250ZW5kRGVzdHJveShUYXJnZXQtPkZy
b250ZW5kKTsKZGlmZiAtLWdpdCBhL3NyYy94ZW52YmQvdGFyZ2V0LmggYi9zcmMveGVudmJkL3Rh
cmdldC5oCmluZGV4IGNkYmMxMzkuLmY5N2MxMjEgMTAwNjQ0Ci0tLSBhL3NyYy94ZW52YmQvdGFy
Z2V0LmgKKysrIGIvc3JjL3hlbnZiZC90YXJnZXQuaApAQCAtNTAsMTIgKzUwLDExIEBAIFRhcmdl
dERlYnVnQ2FsbGJhY2soCiAKIC8vIENyZWF0aW9uL0RlbGV0aW9uCiBfX2NoZWNrUmV0dXJuCi1l
eHRlcm4gQk9PTEVBTgorZXh0ZXJuIE5UU1RBVFVTCiBUYXJnZXRDcmVhdGUoCiAgICAgX19pbiBQ
WEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgQWRhcHRlciwKICAgICBfX2luIF9fbnVsbHRlcm1p
bmF0ZWQgUENIQVIgIERldmljZUlkLAotICAgIF9faW4gVUxPTkcgICAgICAgICAgICAgICAgICAg
VGFyZ2V0SWQsCi0gICAgX19pbiBYRU5WQkRfREVWSUNFX1RZUEUgICAgICBEZXZpY2VUeXBlCisg
ICAgT1VUIFBYRU5WQkRfVEFSR0VUKiAgICAgICAgIF9UYXJnZXQKICAgICApOwogCiBleHRlcm4g
Vk9JRApAQCAtMTEwLDI5ICsxMDksMTcgQEAgVGFyZ2V0R2V0RGV2aWNlUG5wU3RhdGUoCiAgICAg
X19pbiBQWEVOVkJEX1RBUkdFVCAgICAgICAgICAgICBUYXJnZXQKICAgICApOwogCi0vLyBSZWZl
cmVuY2UgQ291bnRpbmcKLWV4dGVybiBMT05HCi1fX1RhcmdldFJlZmVyZW5jZSgKLSAgICBfX2lu
IFBYRU5WQkRfVEFSR0VUICAgICAgICAgICAgIFRhcmdldCwKLSAgICBfX2luIFBDSEFSICAgICAg
ICAgICAgICAgICAgIENhbGxlcgotICAgICk7Ci0KLSNkZWZpbmUgVGFyZ2V0UmVmZXJlbmNlKF94
XykgX19UYXJnZXRSZWZlcmVuY2UoX3hfLCBfX0ZVTkNUSU9OX18pCi0KLWV4dGVybiBMT05HCi1f
X1RhcmdldERlcmVmZXJlbmNlKAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAg
VGFyZ2V0LAotICAgIF9faW4gUENIQVIgICAgICAgICAgICAgICAgICAgQ2FsbGVyCi0gICAgKTsK
LQotI2RlZmluZSBUYXJnZXREZXJlZmVyZW5jZShfeF8pIF9fVGFyZ2V0RGVyZWZlcmVuY2UoX3hf
LCBfX0ZVTkNUSU9OX18pCi0KIC8vIFF1ZXJ5IE1ldGhvZHMKIGV4dGVybiBVTE9ORwogVGFyZ2V0
R2V0VGFyZ2V0SWQoCiAgICAgX19pbiBQWEVOVkJEX1RBUkdFVCAgICAgICAgICAgICBUYXJnZXQK
ICAgICApOwogCitleHRlcm4gVUxPTkcKK1RhcmdldEdldERldmljZUlkKAorICAgIF9faW4gUFhF
TlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0CisgICAgKTsKKwogX19jaGVja1JldHVybgog
ZXh0ZXJuIFBERVZJQ0VfT0JKRUNUCiBUYXJnZXRHZXREZXZpY2VPYmplY3QoCi0tIAoyLjguMwoK
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1k
ZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz
Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1k
ZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Mon May 15 13:04:51 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 15 May 2017 13:04:51 +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 1dAFgB-0006yx-Jw; Mon, 15 May 2017 13:04:51 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=301e7c014=owen.smith@citrix.com>)
 id 1dAFgA-0006yV-2R
 for win-pv-devel@lists.xenproject.org; Mon, 15 May 2017 13:04:50 +0000
Received: from [193.109.254.147] by server-11.bemta-6.messagelabs.com id
 28/A9-03587-177A9195; Mon, 15 May 2017 13:04:49 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmplkeJIrShJLcpLzFFi42JxWrrBXrdguWS
 kQeshHos/ixMdGD0Of7jCEsAYxZqZl5RfkcCa8e/TX6aCp++EK7ZP383SwDjtJm8XIyeHhIC/
 xIy1T9lBbDYBWYmPKz8zg9giAuoS+z5vZQKxmQXUJK7v72IFsYUFNCTOXTkBVsMioCoxf85Hs
 BpeASuJ6dv/s0PMlJOYvPgSI4jNKWAt8eLNTzBbCKhm449mZghbSeLb4hfMEL2CEidnPmGB2C
 UhcfDFC+YJjLyzkKRmIUktYGRaxahenFpUllqka6iXVJSZnlGSm5iZo2toYKaXm1pcnJiempO
 YVKyXnJ+7iREYPAxAsINx53OnQ4ySHExKoryuL8UjhfiS8lMqMxKLM+KLSnNSiw8xynBwKEnw
 hi2TjBQSLEpNT61Iy8wBhjFMWoKDR0kEIs1bXJCYW5yZDpE6xagoJc7rBZIQAElklObBtcFi5
 xKjrJQwLyPQIUI8BalFuZklqPKvGMU5GJWEedNApvBk5pXATX8FtJgJZDHIzbzFJYkIKakGRr
 UyKwG7d2InNgo2raizTE/Suy/YtV/NeZ79uUMLmnaImQeL/cngf7bgi+Pz6ugbx5v+JUfvLPr
 37Ajba3szl5wzK3v2v+JPTNps7RriKnLQQ6tpCmsES7LYno64j2ECMQbpN99ovHt/5Npk0R2t
 vjVrJPm2fvLa9uSIXnmoJfNG/0Un6q59UWIpzkg01GIuKk4EAH9ykQOYAgAA
X-Env-Sender: prvs=301e7c014=owen.smith@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1494853484!89888049!2
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15744 invoked from network); 15 May 2017 13:04:47 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
 by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
 15 May 2017 13:04:47 -0000
X-IronPort-AV: E=Sophos;i="5.38,345,1491264000"; d="scan'208";a="432394856"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 15 May 2017 14:04:09 +0100
Message-ID: <20170515130429.20580-7-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20170515130429.20580-1-owen.smith@citrix.com>
References: <20170515130429.20580-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 06/26] Refactor target.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/cgi-bin/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/cgi-bin/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
T3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW52YmQvYWRhcHRl
ci5jICAgICAgICAgfCAgIDUyICstCiBzcmMveGVudmJkL2Jsb2NrcmluZy5jICAgICAgIHwgIDc4
MyArKysrKy0tLQogc3JjL3hlbnZiZC9ibG9ja3JpbmcuaCAgICAgICB8ICAgNDYgKy0KIHNyYy94
ZW52YmQvZnJvbnRlbmQuYyAgICAgICAgfCAxNzY5IC0tLS0tLS0tLS0tLS0tLS0tCiBzcmMveGVu
dmJkL2Zyb250ZW5kLmggICAgICAgIHwgIDE5OCAtLQogc3JjL3hlbnZiZC9ncmFudGVyLmMgICAg
ICAgICB8ICAxNjcgKy0KIHNyYy94ZW52YmQvZ3JhbnRlci5oICAgICAgICAgfCAgIDQ4ICstCiBz
cmMveGVudmJkL25vdGlmaWVyLmMgICAgICAgIHwgIDMzNCAtLS0tCiBzcmMveGVudmJkL25vdGlm
aWVyLmggICAgICAgIHwgIDEwMSAtCiBzcmMveGVudmJkL3Bkb2lucXVpcnkuYyAgICAgIHwgIDUz
MCAtLS0tLQogc3JjL3hlbnZiZC9wZG9pbnF1aXJ5LmggICAgICB8ICAgNjQgLQogc3JjL3hlbnZi
ZC9xdWV1ZS5jICAgICAgICAgICB8ICAxMzkgLS0KIHNyYy94ZW52YmQvcXVldWUuaCAgICAgICAg
ICAgfCAgIDg2IC0KIHNyYy94ZW52YmQvc3JiZXh0LmggICAgICAgICAgfCAgIDUzICstCiBzcmMv
eGVudmJkL3RhcmdldC5jICAgICAgICAgIHwgNDM3MCArKysrKysrKysrKysrKysrKysrKysrKy0t
LS0tLS0tLS0tLS0tLS0tLS0KIHNyYy94ZW52YmQvdGFyZ2V0LmggICAgICAgICAgfCAgMTg4ICst
CiB2czIwMTIveGVudmJkL3hlbnZiZC52Y3hwcm9qIHwgICAgNCAtCiB2czIwMTMveGVudmJkL3hl
bnZiZC52Y3hwcm9qIHwgICAgNCAtCiB2czIwMTUveGVudmJkL3hlbnZiZC52Y3hwcm9qIHwgICAg
NCAtCiAxOSBmaWxlcyBjaGFuZ2VkLCAzMTY0IGluc2VydGlvbnMoKyksIDU3NzYgZGVsZXRpb25z
KC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9mcm9udGVuZC5jCiBkZWxldGUgbW9k
ZSAxMDA2NDQgc3JjL3hlbnZiZC9mcm9udGVuZC5oCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hl
bnZiZC9ub3RpZmllci5jCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9ub3RpZmllci5o
CiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9wZG9pbnF1aXJ5LmMKIGRlbGV0ZSBtb2Rl
IDEwMDY0NCBzcmMveGVudmJkL3Bkb2lucXVpcnkuaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy94
ZW52YmQvcXVldWUuYwogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvcXVldWUuaAoKZGlm
ZiAtLWdpdCBhL3NyYy94ZW52YmQvYWRhcHRlci5jIGIvc3JjL3hlbnZiZC9hZGFwdGVyLmMKaW5k
ZXggM2M1MjI5Yi4uNGNlOTcxMSAxMDA2NDQKLS0tIGEvc3JjL3hlbnZiZC9hZGFwdGVyLmMKKysr
IGIvc3JjL3hlbnZiZC9hZGFwdGVyLmMKQEAgLTExMSw3ICsxMTEsOCBAQCBfX0FkYXB0ZXJGcmVl
KAogICAgIElOICBQVk9JRCAgIEJ1ZmZlcgogICAgICkKIHsKLSAgICBFeEZyZWVQb29sV2l0aFRh
ZyhCdWZmZXIsIEFEQVBURVJfUE9PTF9UQUcpOworICAgIGlmIChCdWZmZXIpCisgICAgICAgIEV4
RnJlZVBvb2xXaXRoVGFnKEJ1ZmZlciwgQURBUFRFUl9QT09MX1RBRyk7CiB9CiAKIHN0YXRpYyBG
T1JDRUlOTElORSBQQU5TSV9TVFJJTkcKQEAgLTQ0OSw3ICs0NTAsNyBAQCBfX0FkYXB0ZXJFbnVt
ZXJhdGUoCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoTWlzc2luZyAm
JiAhVGFyZ2V0SXNNaXNzaW5nKFRhcmdldCkpIHsKKyAgICAgICAgaWYgKE1pc3NpbmcgJiYgIVRh
cmdldEdldE1pc3NpbmcoVGFyZ2V0KSkgewogICAgICAgICAgICAgVGFyZ2V0U2V0TWlzc2luZyhU
YXJnZXQsICJEZXZpY2UgRGlzYXBwZWFyZWQiKTsKICAgICAgICAgICAgIGlmIChUYXJnZXRHZXRE
ZXZpY2VQbnBTdGF0ZShUYXJnZXQpID09IFByZXNlbnQpCiAgICAgICAgICAgICAgICAgVGFyZ2V0
U2V0RGV2aWNlUG5wU3RhdGUoVGFyZ2V0LCBEZWxldGVkKTsKQEAgLTQ4MCw3ICs0ODEsNyBAQCBf
X0FkYXB0ZXJFbnVtZXJhdGUoCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBzdGF0
dXMgPSBUYXJnZXRDcmVhdGUoQWRhcHRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IERldmljZS0+QnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlRhcmdldCk7CiAgICAgICAgIGlmIChzdGF0
dXMgPT0gU1RBVFVTX1JFVFJZKQogICAgICAgICAgICAgTmVlZFJlYm9vdCA9IFRSVUU7CkBAIC04
ODEsNyArODgyLDYgQEAgQWRhcHRlckRlYnVnQ2FsbGJhY2soCiAgICAgKQogewogICAgIFBYRU5W
QkRfQURBUFRFUiBBZGFwdGVyID0gQ29udGV4dDsKLSAgICBVTE9ORyAgICAgICAgICAgVGFyZ2V0
SWQ7CiAKICAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCAKICAgICAgICAgICAgICAgICAgJkFkYXB0
ZXItPkRlYnVnSW50ZXJmYWNlLApAQCAtOTExLDI0ICs5MTEsNiBAQCBBZGFwdGVyRGVidWdDYWxs
YmFjaygKICAgICAgICAgICAgICAgICAgQWRhcHRlci0+Q29tcGxldGVkKTsKIAogICAgIEJ1ZmZl
ckRlYnVnQ2FsbGJhY2soJkFkYXB0ZXItPkRlYnVnSW50ZXJmYWNlKTsKLSAgICAKLSAgICBmb3Ig
KFRhcmdldElkID0gMDsgVGFyZ2V0SWQgPCBYRU5WQkRfTUFYX1RBUkdFVFM7ICsrVGFyZ2V0SWQp
IHsKLSAgICAgICAgLy8gbm8gbmVlZCB0byB1c2UgQWRhcHRlckdldFRhcmdldCAod2hpY2ggaXMg
bG9ja2VkIGF0IERJU1BBVENIKSBhcyBjYWxsZWQgYXQgSElHSF9MRVZFTAotICAgICAgICBQWEVO
VkJEX1RBUkdFVCBUYXJnZXQgPSBBZGFwdGVyLT5UYXJnZXRMaXN0W1RhcmdldElkXTsKLSAgICAg
ICAgaWYgKFRhcmdldCA9PSBOVUxMKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAg
WEVOQlVTX0RFQlVHKFByaW50ZiwgJkFkYXB0ZXItPkRlYnVnSW50ZXJmYWNlLAotICAgICAgICAg
ICAgICAgICAgICAgIkFEQVBURVI6ID09PT0+IFRhcmdldFslLTNkXSAgICA6IDB4JXBcbiIsICAg
ICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgICBUYXJnZXRJZCwgVGFyZ2V0KTsK
LQotICAgICAgICAvLyBjYWxsIFRhcmdldCdzIGRlYnVnIGNhbGxiYWNrIGRpcmVjdGx5Ci0gICAg
ICAgIFRhcmdldERlYnVnQ2FsbGJhY2soVGFyZ2V0LCAmQWRhcHRlci0+RGVidWdJbnRlcmZhY2Up
OwotCi0gICAgICAgIFhFTkJVU19ERUJVRyhQcmludGYsICZBZGFwdGVyLT5EZWJ1Z0ludGVyZmFj
ZSwKLSAgICAgICAgICAgICAgICAgICAgICJBREFQVEVSOiA8PT09PSBUYXJnZXRbJS0zZF0gICAg
OiAweCVwXG4iLCAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0
SWQsIFRhcmdldCk7Ci0gICAgfQogfQogCiBzdGF0aWMgTlRTVEFUVVMKQEAgLTE0NzYsMTMgKzE0
NTgsMjcgQEAgX19BZGFwdGVyU3JiUG5wKAogICAgIElOICBQU0NTSV9QTlBfUkVRVUVTVF9CTE9D
SyBTcmIKICAgICApCiB7Ci0gICAgaWYgKCEoU3JiLT5TcmJQblBGbGFncyAmIFNSQl9QTlBfRkxB
R1NfQURBUFRFUl9SRVFVRVNUKSkgewotICAgICAgICBQWEVOVkJEX1RBUkdFVCAgICAgICAgICBU
YXJnZXQ7CisgICAgUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgIFRhcmdldDsKIAotICAgICAg
ICBUYXJnZXQgPSBBZGFwdGVyR2V0VGFyZ2V0KEFkYXB0ZXIsIFNyYi0+VGFyZ2V0SWQpOwotICAg
ICAgICBpZiAoVGFyZ2V0KSB7Ci0gICAgICAgICAgICBUYXJnZXRTcmJQbnAoVGFyZ2V0LCBTcmIp
OwotICAgICAgICB9CisgICAgaWYgKFNyYi0+U3JiUG5QRmxhZ3MgJiBTUkJfUE5QX0ZMQUdTX0FE
QVBURVJfUkVRVUVTVCkKKyAgICAgICAgcmV0dXJuOworCisgICAgVGFyZ2V0ID0gQWRhcHRlckdl
dFRhcmdldChBZGFwdGVyLCBTcmItPlRhcmdldElkKTsKKyAgICBpZiAoVGFyZ2V0ID09IE5VTEwp
CisgICAgICAgIHJldHVybjsKKworICAgIHN3aXRjaCAoU3JiLT5QblBBY3Rpb24pIHsKKyAgICBj
YXNlIFN0b3JRdWVyeUNhcGFiaWxpdGllczogeworICAgICAgICBQU1RPUl9ERVZJQ0VfQ0FQQUJJ
TElUSUVTIERldmljZUNhcHMgPSBTcmItPkRhdGFCdWZmZXI7CisKKyAgICAgICAgRGV2aWNlQ2Fw
cy0+UmVtb3ZhYmxlICAgICAgID0gVGFyZ2V0R2V0UmVtb3ZhYmxlKFRhcmdldCk7CisgICAgICAg
IERldmljZUNhcHMtPkVqZWN0U3VwcG9ydGVkICA9IFRhcmdldEdldFJlbW92YWJsZShUYXJnZXQp
OworICAgICAgICBEZXZpY2VDYXBzLT5TdXJwcmlzZVJlbW92YWxPSyA9IFRhcmdldEdldFJlbW92
YWJsZShUYXJnZXQpOworICAgICAgICBEZXZpY2VDYXBzLT5VbmlxdWVJRCA9IDE7CisKKyAgICAg
ICAgfSBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKICAgICB9CiB9CiAKZGlm
ZiAtLWdpdCBhL3NyYy94ZW52YmQvYmxvY2tyaW5nLmMgYi9zcmMveGVudmJkL2Jsb2NrcmluZy5j
CmluZGV4IGJjZWY4NzcuLmRhYzAzYjUgMTAwNjQ0Ci0tLSBhL3NyYy94ZW52YmQvYmxvY2tyaW5n
LmMKKysrIGIvc3JjL3hlbnZiZC9ibG9ja3JpbmcuYwpAQCAtMjksMjI3ICsyOSwyMTggQEAKICAq
IFNVQ0ggREFNQUdFLgogICovIAogCisjaW5jbHVkZSA8bnRkZGsuaD4KKyNpbmNsdWRlIDxudHN0
cnNhZmUuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworI2luY2x1ZGUgPHhlbi5oPgorI2luY2x1
ZGUgPGdudHRhYl9pbnRlcmZhY2UuaD4KKyNpbmNsdWRlIDxkZWJ1Z19pbnRlcmZhY2UuaD4KKyNp
bmNsdWRlIDxldnRjaG5faW50ZXJmYWNlLmg+CisKICNpbmNsdWRlICJibG9ja3JpbmcuaCIKLSNp
bmNsdWRlICJmcm9udGVuZC5oIgogI2luY2x1ZGUgInRhcmdldC5oIgogI2luY2x1ZGUgImFkYXB0
ZXIuaCIKKyNpbmNsdWRlICJncmFudGVyLmgiCisjaW5jbHVkZSAiYWRhcHRlci5oIgorCiAjaW5j
bHVkZSAidXRpbC5oIgogI2luY2x1ZGUgImRlYnVnLmgiCi0jaW5jbHVkZSAic3JiZXh0LmgiCi0j
aW5jbHVkZSAiZHJpdmVyLmgiCi0jaW5jbHVkZSA8c3RkbGliLmg+Ci0jaW5jbHVkZSA8eGVudmJk
LW50c3Ryc2FmZS5oPgorI2luY2x1ZGUgImFzc2VydC5oIgogCi0jZGVmaW5lIFRBR19IRUFERVIg
ICAgICAgICAgICAgICAgICAnZ2FUWCcKKyNkZWZpbmUgWEVOX0lPX1BST1RPX0FCSSAgICAgICAg
ICAgICJ4ODZfNjQtYWJpIgogI2RlZmluZSBYRU5WQkRfTUFYX1JJTkdfUEFHRV9PUkRFUiAgKDQp
CiAjZGVmaW5lIFhFTlZCRF9NQVhfUklOR19QQUdFUyAgICAgICAoMSA8PCBYRU5WQkRfTUFYX1JJ
TkdfUEFHRV9PUkRFUikKIAogc3RydWN0IF9YRU5WQkRfQkxPQ0tSSU5HIHsKLSAgICBQWEVOVkJE
X0ZST05URU5EICAgICAgICAgICAgICAgIEZyb250ZW5kOwotICAgIEJPT0xFQU4gICAgICAgICAg
ICAgICAgICAgICAgICAgQ29ubmVjdGVkOwotICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAg
ICAgICAgRW5hYmxlZDsKLQotICAgIFhFTkJVU19TVE9SRV9JTlRFUkZBQ0UgICAgICAgICAgU3Rv
cmVJbnRlcmZhY2U7Ci0KLSAgICBLU1BJTl9MT0NLICAgICAgICAgICAgICAgICAgICAgIExvY2s7
Ci0gICAgUE1ETCAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZGw7Ci0gICAgYmxraWZfc3Jp
bmdfdCogICAgICAgICAgICAgICAgICBTaGFyZWRSaW5nOwotICAgIGJsa2lmX2Zyb250X3Jpbmdf
dCAgICAgICAgICAgICAgRnJvbnRSaW5nOwotICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAg
ICAgICAgRGV2aWNlSWQ7Ci0gICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICBPcmRl
cjsKLSAgICBQVk9JRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyYW50c1tYRU5WQkRfTUFY
X1JJTkdfUEFHRVNdOwotICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICAgICAgU3VibWl0
dGVkOwotICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVjZWl2ZWQ7CisgICAg
UFhFTlZCRF9UQVJHRVQgICAgICAgICAgVGFyZ2V0OworICAgIEJPT0xFQU4gICAgICAgICAgICAg
ICAgIENvbm5lY3RlZDsKKyAgICBCT09MRUFOICAgICAgICAgICAgICAgICBFbmFibGVkOworCisg
ICAgWEVOQlVTX1NUT1JFX0lOVEVSRkFDRSAgU3RvcmVJbnRlcmZhY2U7CisgICAgWEVOQlVTX0RF
QlVHX0lOVEVSRkFDRSAgRGVidWdJbnRlcmZhY2U7CisgICAgWEVOQlVTX0VWVENITl9JTlRFUkZB
Q0UgRXZ0Y2huSW50ZXJmYWNlOworCisgICAgUFhFTkJVU19ERUJVR19DQUxMQkFDSyAgRGVidWdD
YWxsYmFjazsKKworICAgIEtTUElOX0xPQ0sgICAgICAgICAgICAgIExvY2s7CisgICAgUE1ETCAg
ICAgICAgICAgICAgICAgICAgTWRsOworICAgIGJsa2lmX3NyaW5nX3QqICAgICAgICAgIFNoYXJl
ZDsKKyAgICBibGtpZl9mcm9udF9yaW5nX3QgICAgICBGcm9udDsKKyAgICBVTE9ORyAgICAgICAg
ICAgICAgICAgICBPcmRlcjsKKyAgICBQVk9JRCAgICAgICAgICAgICAgICAgICBHcmFudHNbWEVO
VkJEX01BWF9SSU5HX1BBR0VTXTsKKworICAgIFBYRU5CVVNfRVZUQ0hOX0NIQU5ORUwgIENoYW5u
ZWw7CisgICAgS0RQQyAgICAgICAgICAgICAgICAgICAgRHBjOworCisgICAgVUxPTkcgICAgICAg
ICAgICAgICAgICAgU3VibWl0dGVkOworICAgIFVMT05HICAgICAgICAgICAgICAgICAgIENvbXBs
ZXRlZDsKKyAgICBVTE9ORyAgICAgICAgICAgICAgICAgICBJbnRlcnJ1cHRzOworICAgIFVMT05H
ICAgICAgICAgICAgICAgICAgIERwY3M7CiB9OwogCi0jZGVmaW5lIE1BWF9OQU1FX0xFTiAgICAg
ICAgICAgICAgICA2NAotI2RlZmluZSBCTE9DS1JJTkdfUE9PTF9UQUcgICAgICAgICAgJ2duUlgn
Ci0KLSNkZWZpbmUgWEVOX0lPX1BST1RPX0FCSSAgICAieDg2XzY0LWFiaSIKKyNkZWZpbmUgQkxP
Q0tSSU5HX1BPT0xfVEFHICAnZ25SWCcKKyNkZWZpbmUgeGVuX21iICAgICAgICAgICAgICBLZU1l
bW9yeUJhcnJpZXIKKyNkZWZpbmUgeGVuX3dtYiAgICAgICAgICAgICBLZU1lbW9yeUJhcnJpZXIK
KyNkZWZpbmUgeGVuX3JtYiAgICAgICAgICAgICBLZU1lbW9yeUJhcnJpZXIKIAogc3RhdGljIEZP
UkNFSU5MSU5FIFBWT0lECiBfX0Jsb2NrUmluZ0FsbG9jYXRlKAotICAgIElOICBVTE9ORyAgICAg
ICAgICAgICAgICAgICAgICAgTGVuZ3RoCisgICAgSU4gIFVMT05HICAgU2l6ZQogICAgICkKIHsK
LSAgICByZXR1cm4gX19BbGxvY2F0ZVBvb2xXaXRoVGFnKE5vblBhZ2VkUG9vbCwgTGVuZ3RoLCBC
TE9DS1JJTkdfUE9PTF9UQUcpOworICAgIFBWT0lEICAgICAgIEJ1ZmZlcjsKKyAgICBCdWZmZXIg
PSBFeEFsbG9jYXRlUG9vbFdpdGhUYWcoTm9uUGFnZWRQb29sLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBCTE9DS1JJTkdfUE9PTF9UQUcpOworICAgIGlmIChCdWZmZXIpCisgICAgICAgIFJ0bFplcm9N
ZW1vcnkoQnVmZmVyLCBTaXplKTsKKyAgICByZXR1cm4gQnVmZmVyOwogfQogCiBzdGF0aWMgRk9S
Q0VJTkxJTkUgVk9JRAogX19CbG9ja1JpbmdGcmVlKAotICAgIElOICBQVk9JRCAgICAgICAgICAg
ICAgICAgICAgICAgQnVmZmVyCisgICAgSU4gIFBWT0lEICAgQnVmZmVyCiAgICAgKQogewogICAg
IGlmIChCdWZmZXIpCi0gICAgICAgIF9fRnJlZVBvb2xXaXRoVGFnKEJ1ZmZlciwgQkxPQ0tSSU5H
X1BPT0xfVEFHKTsKLX0KLQotc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKLXhlbl9tYigpCi17Ci0g
ICAgS2VNZW1vcnlCYXJyaWVyKCk7Ci0gICAgX1JlYWRXcml0ZUJhcnJpZXIoKTsKKyAgICAgICAg
RXhGcmVlUG9vbFdpdGhUYWcoQnVmZmVyLCBCTE9DS1JJTkdfUE9PTF9UQUcpOwogfQogCi1zdGF0
aWMgRk9SQ0VJTkxJTkUgVk9JRAoteGVuX3dtYigpCi17Ci0gICAgS2VNZW1vcnlCYXJyaWVyKCk7
Ci0gICAgX1dyaXRlQmFycmllcigpOwotfQorS1NFUlZJQ0VfUk9VVElORSBCbG9ja1JpbmdJbnRl
cnJ1cHQ7CiAKLXN0YXRpYyBGT1JDRUlOTElORSBQRk5fTlVNQkVSCi1fX1BmbigKLSAgICBfX2lu
ICBQVk9JRCAgICAgICAgICAgICAgICAgICBWaXJ0QWRkcgorQk9PTEVBTgorQmxvY2tSaW5nSW50
ZXJydXB0KAorICAgIF9faW4gIFBLSU5URVJSVVBUICAgSW50ZXJydXB0LAorICAgIF9Jbl9vcHRf
IFBWT0lEICAgICAgQ29udGV4dAogICAgICkKIHsKLSAgICByZXR1cm4gKFBGTl9OVU1CRVIpKFVM
T05HX1BUUikoTW1HZXRQaHlzaWNhbEFkZHJlc3MoVmlydEFkZHIpLlF1YWRQYXJ0ID4+IFBBR0Vf
U0hJRlQpOwotfQorICAgIFBYRU5WQkRfQkxPQ0tSSU5HICAgQmxvY2tSaW5nID0gQ29udGV4dDsK
KyAgICAKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKEludGVycnVwdCk7CiAKLXN0YXRpYyBG
T1JDRUlOTElORSBVTE9ORzY0Ci1fX0Jsb2NrUmluZ0dldFRhZygKLSAgICBJTiAgUFhFTlZCRF9C
TE9DS1JJTkcgICAgICAgICAgIEJsb2NrUmluZywKLSAgICBJTiAgUFhFTlZCRF9SRVFVRVNUICAg
ICAgICAgICAgIFJlcXVlc3QKLSAgICApCi17Ci0gICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihC
bG9ja1JpbmcpOwotICAgIHJldHVybiAoKFVMT05HNjQpVEFHX0hFQURFUiA8PCAzMikgfCAoVUxP
Tkc2NClSZXF1ZXN0LT5JZDsKKyAgICBBU1NFUlQoQmxvY2tSaW5nICE9IE5VTEwpOworCisJKytC
bG9ja1JpbmctPkludGVycnVwdHM7CisJaWYgKEtlSW5zZXJ0UXVldWVEcGMoJkJsb2NrUmluZy0+
RHBjLCBOVUxMLCBOVUxMKSkKKwkJKytCbG9ja1JpbmctPkRwY3M7CisKKyAgICByZXR1cm4gVFJV
RTsKIH0KIAotc3RhdGljIEZPUkNFSU5MSU5FIEJPT0xFQU4KLV9fQmxvY2tSaW5nUHV0VGFnKAot
ICAgIElOICBQWEVOVkJEX0JMT0NLUklORyAgICAgICAgICAgQmxvY2tSaW5nLAotICAgIElOICBV
TE9ORzY0ICAgICAgICAgICAgICAgICAgICAgSWQsCi0gICAgT1VUIFBVTE9ORyAgICAgICAgICAg
ICAgICAgICAgICBUYWcKK0tERUZFUlJFRF9ST1VUSU5FIEJsb2NrUmluZ0RwYzsKKworVk9JRCAK
K0Jsb2NrUmluZ0RwYygKKyAgICBfX2luICBQS0RQQyAgICAgICAgIERwYywKKyAgICBfX2luX29w
dCBQVk9JRCAgICAgIENvbnRleHQsCisgICAgX19pbl9vcHQgUFZPSUQgICAgICBBcmcxLAorICAg
IF9faW5fb3B0IFBWT0lEICAgICAgQXJnMgogICAgICkKIHsKLSAgICBVTE9ORyAgIEhlYWRlciA9
IChVTE9ORykoKElkID4+IDMyKSAmIDB4RkZGRkZGRkYpOworICAgIFBYRU5WQkRfQkxPQ0tSSU5H
ICAgQmxvY2tSaW5nID0gQ29udGV4dDsKIAotICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoQmxv
Y2tSaW5nKTsKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKERwYyk7CisgICAgVU5SRUZFUkVO
Q0VEX1BBUkFNRVRFUihBcmcxKTsKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKEFyZzIpOwog
Ci0gICAgKlRhZyAgICA9IChVTE9ORykoSWQgJiAweEZGRkZGRkZGKTsKLSAgICBpZiAoSGVhZGVy
ICE9IFRBR19IRUFERVIpIHsKLSAgICAgICAgRXJyb3IoIlBVVF9UQUcgKCVsbHgpIFRBR19IRUFE
RVIgKCUwOHglMDh4KVxuIiwgSWQsIEhlYWRlciwgKlRhZyk7Ci0gICAgICAgIHJldHVybiBGQUxT
RTsKLSAgICB9CisgICAgQVNTRVJUKEJsb2NrUmluZyAhPSBOVUxMKTsKIAotICAgIHJldHVybiBU
UlVFOworICAgIChWT0lEKSBCbG9ja1JpbmdQb2xsKEJsb2NrUmluZyk7CisKKyAgICBYRU5CVVNf
RVZUQ0hOKFVubWFzaywKKyAgICAgICAgICAgICAgICAgICZCbG9ja1JpbmctPkV2dGNobkludGVy
ZmFjZSwKKyAgICAgICAgICAgICAgICAgIEJsb2NrUmluZy0+Q2hhbm5lbCwKKyAgICAgICAgICAg
ICAgICAgIEZBTFNFKTsKIH0KIAotc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKLV9fQmxvY2tSaW5n
SW5zZXJ0KAotICAgIElOICBQWEVOVkJEX0JMT0NLUklORyAgICAgICAgICAgQmxvY2tSaW5nLAot
ICAgIElOICBQWEVOVkJEX1JFUVVFU1QgICAgICAgICAgICAgUmVxdWVzdCwKLSAgICBJTiAgYmxr
aWZfcmVxdWVzdF90KiAgICAgICAgICAgIHJlcQorc3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIFZP
SUQKK0Jsb2NrUmluZ0RlYnVnQ2FsbGJhY2soCisgICAgSU4gIFBWT0lEICAgICAgICAgICBDb250
ZXh0LAorICAgIElOICBCT09MRUFOICAgICAgICAgQ3Jhc2hpbmcKICAgICApCiB7Ci0gICAgUFhF
TlZCRF9HUkFOVEVSICAgICAgICAgICAgICAgICBHcmFudGVyID0gRnJvbnRlbmRHZXRHcmFudGVy
KEJsb2NrUmluZy0+RnJvbnRlbmQpOworICAgIFBYRU5WQkRfQkxPQ0tSSU5HICAgQmxvY2tSaW5n
ID0gQ29udGV4dDsKKyAgICBQWEVOVkJEX0dSQU5URVIgICAgIEdyYW50ZXI7CisgICAgVUxPTkcg
ICAgICAgICAgICAgICBQb3J0OworICAgIFVMT05HICAgICAgICAgICAgICAgR3JhbnQ7CisgICAg
VUxPTkcgICAgICAgICAgICAgICBJbmRleDsKIAotICAgIHN3aXRjaCAoUmVxdWVzdC0+T3BlcmF0
aW9uKSB7Ci0gICAgY2FzZSBCTEtJRl9PUF9SRUFEOgotICAgIGNhc2UgQkxLSUZfT1BfV1JJVEU6
Ci0gICAgICAgIGlmIChSZXF1ZXN0LT5OclNlZ21lbnRzID4gQkxLSUZfTUFYX1NFR01FTlRTX1BF
Ul9SRVFVRVNUKSB7Ci0gICAgICAgICAgICAvLyBJbmRpcmVjdAotICAgICAgICAgICAgVUxPTkcg
ICAgICAgICAgICAgICAgICAgICAgIFBhZ2VJZHg7Ci0gICAgICAgICAgICBVTE9ORyAgICAgICAg
ICAgICAgICAgICAgICAgU2VnSWR4OwotICAgICAgICAgICAgUExJU1RfRU5UUlkgICAgICAgICAg
ICAgICAgIFBhZ2VFbnRyeTsKLSAgICAgICAgICAgIFBMSVNUX0VOVFJZICAgICAgICAgICAgICAg
ICBTZWdFbnRyeTsKLSAgICAgICAgICAgIGJsa2lmX3JlcXVlc3RfaW5kaXJlY3RfdCogICByZXFf
aW5kaXJlY3Q7Ci0KLSAgICAgICAgICAgIHJlcV9pbmRpcmVjdCA9IChibGtpZl9yZXF1ZXN0X2lu
ZGlyZWN0X3QqKXJlcTsKLSAgICAgICAgICAgIHJlcV9pbmRpcmVjdC0+b3BlcmF0aW9uICAgICAg
ICAgPSBCTEtJRl9PUF9JTkRJUkVDVDsKLSAgICAgICAgICAgIHJlcV9pbmRpcmVjdC0+aW5kaXJl
Y3Rfb3AgICAgICAgPSBSZXF1ZXN0LT5PcGVyYXRpb247Ci0gICAgICAgICAgICByZXFfaW5kaXJl
Y3QtPm5yX3NlZ21lbnRzICAgICAgID0gUmVxdWVzdC0+TnJTZWdtZW50czsKLSAgICAgICAgICAg
IHJlcV9pbmRpcmVjdC0+aWQgICAgICAgICAgICAgICAgPSBfX0Jsb2NrUmluZ0dldFRhZyhCbG9j
a1JpbmcsIFJlcXVlc3QpOwotICAgICAgICAgICAgcmVxX2luZGlyZWN0LT5zZWN0b3JfbnVtYmVy
ICAgICA9IFJlcXVlc3QtPkZpcnN0U2VjdG9yOwotICAgICAgICAgICAgcmVxX2luZGlyZWN0LT5o
YW5kbGUgICAgICAgICAgICA9IChVU0hPUlQpQmxvY2tSaW5nLT5EZXZpY2VJZDsKLQotICAgICAg
ICAgICAgZm9yIChQYWdlSWR4ID0gMCwKLSAgICAgICAgICAgICAgICAgUGFnZUVudHJ5ID0gUmVx
dWVzdC0+SW5kaXJlY3RzLkZsaW5rLAotICAgICAgICAgICAgICAgICBTZWdFbnRyeSA9IFJlcXVl
c3QtPlNlZ21lbnRzLkZsaW5rOwotICAgICAgICAgICAgICAgICAgICBQYWdlSWR4IDwgQkxLSUZf
TUFYX0lORElSRUNUX1BBR0VTX1BFUl9SRVFVRVNUICYmCi0gICAgICAgICAgICAgICAgICAgIFBh
Z2VFbnRyeSAhPSAmUmVxdWVzdC0+SW5kaXJlY3RzICYmCi0gICAgICAgICAgICAgICAgICAgIFNl
Z0VudHJ5ICE9ICZSZXF1ZXN0LT5TZWdtZW50czsKLSAgICAgICAgICAgICAgICAgICAgICAgICsr
UGFnZUlkeCwgUGFnZUVudHJ5ID0gUGFnZUVudHJ5LT5GbGluaykgewotICAgICAgICAgICAgICAg
IFBYRU5WQkRfSU5ESVJFQ1QgUGFnZSA9IENPTlRBSU5JTkdfUkVDT1JEKFBhZ2VFbnRyeSwgWEVO
VkJEX0lORElSRUNULCBFbnRyeSk7Ci0KLSAgICAgICAgICAgICAgICByZXFfaW5kaXJlY3QtPmlu
ZGlyZWN0X2dyZWZzW1BhZ2VJZHhdID0gR3JhbnRlclJlZmVyZW5jZShHcmFudGVyLCBQYWdlLT5H
cmFudCk7Ci0KLSAgICAgICAgICAgICAgICBmb3IgKFNlZ0lkeCA9IDA7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBTZWdJZHggPCBYRU5WQkRfTUFYX1NFR01FTlRTX1BFUl9QQUdFICYmCi0gICAg
ICAgICAgICAgICAgICAgICAgICBTZWdFbnRyeSAhPSAmUmVxdWVzdC0+U2VnbWVudHM7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKytTZWdJZHgsIFNlZ0VudHJ5ID0gU2VnRW50cnktPkZs
aW5rKSB7Ci0gICAgICAgICAgICAgICAgICAgIFBYRU5WQkRfU0VHTUVOVCBTZWdtZW50ID0gQ09O
VEFJTklOR19SRUNPUkQoU2VnRW50cnksIFhFTlZCRF9TRUdNRU5ULCBFbnRyeSk7CisgICAgVU5S
RUZFUkVOQ0VEX1BBUkFNRVRFUihDcmFzaGluZyk7CiAKLSAgICAgICAgICAgICAgICAgICAgUGFn
ZS0+UGFnZVtTZWdJZHhdLkdyYW50UmVmID0gR3JhbnRlclJlZmVyZW5jZShHcmFudGVyLCBTZWdt
ZW50LT5HcmFudCk7Ci0gICAgICAgICAgICAgICAgICAgIFBhZ2UtPlBhZ2VbU2VnSWR4XS5GaXJz
dCAgICA9IFNlZ21lbnQtPkZpcnN0U2VjdG9yOwotICAgICAgICAgICAgICAgICAgICBQYWdlLT5Q
YWdlW1NlZ0lkeF0uTGFzdCAgICAgPSBTZWdtZW50LT5MYXN0U2VjdG9yOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIERp
cmVjdAotICAgICAgICAgICAgVUxPTkcgICAgICAgICAgIEluZGV4OwotICAgICAgICAgICAgUExJ
U1RfRU5UUlkgICAgIEVudHJ5OwotCi0gICAgICAgICAgICByZXEtPm9wZXJhdGlvbiAgICAgICAg
ICAgICAgICAgID0gUmVxdWVzdC0+T3BlcmF0aW9uOwotICAgICAgICAgICAgcmVxLT5ucl9zZWdt
ZW50cyAgICAgICAgICAgICAgICA9IChVQ0hBUilSZXF1ZXN0LT5OclNlZ21lbnRzOwotICAgICAg
ICAgICAgcmVxLT5oYW5kbGUgICAgICAgICAgICAgICAgICAgICA9IChVU0hPUlQpQmxvY2tSaW5n
LT5EZXZpY2VJZDsKLSAgICAgICAgICAgIHJlcS0+aWQgICAgICAgICAgICAgICAgICAgICAgICAg
PSBfX0Jsb2NrUmluZ0dldFRhZyhCbG9ja1JpbmcsIFJlcXVlc3QpOwotICAgICAgICAgICAgcmVx
LT5zZWN0b3JfbnVtYmVyICAgICAgICAgICAgICA9IFJlcXVlc3QtPkZpcnN0U2VjdG9yOwotCi0g
ICAgICAgICAgICBmb3IgKEluZGV4ID0gMCwgRW50cnkgPSBSZXF1ZXN0LT5TZWdtZW50cy5GbGlu
azsKLSAgICAgICAgICAgICAgICAgICAgSW5kZXggPCBCTEtJRl9NQVhfU0VHTUVOVFNfUEVSX1JF
UVVFU1QgJiYKLSAgICAgICAgICAgICAgICAgICAgRW50cnkgIT0gJlJlcXVlc3QtPlNlZ21lbnRz
OwotICAgICAgICAgICAgICAgICAgICAgICAgKytJbmRleCwgRW50cnkgPSBFbnRyeS0+Rmxpbmsp
IHsKLSAgICAgICAgICAgICAgICBQWEVOVkJEX1NFR01FTlQgU2VnbWVudCA9IENPTlRBSU5JTkdf
UkVDT1JEKEVudHJ5LCBYRU5WQkRfU0VHTUVOVCwgRW50cnkpOwotICAgICAgICAgICAgICAgIHJl
cS0+c2VnW0luZGV4XS5ncmVmICAgICAgICA9IEdyYW50ZXJSZWZlcmVuY2UoR3JhbnRlciwgU2Vn
bWVudC0+R3JhbnQpOwotICAgICAgICAgICAgICAgIHJlcS0+c2VnW0luZGV4XS5maXJzdF9zZWN0
ICA9IFNlZ21lbnQtPkZpcnN0U2VjdG9yOwotICAgICAgICAgICAgICAgIHJlcS0+c2VnW0luZGV4
XS5sYXN0X3NlY3QgICA9IFNlZ21lbnQtPkxhc3RTZWN0b3I7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICAgICAgYnJlYWs7Ci0KLSAgICBjYXNlIEJMS0lGX09QX1dSSVRFX0JBUlJJRVI6
Ci0gICAgY2FzZSBCTEtJRl9PUF9GTFVTSF9ESVNLQ0FDSEU6Ci0gICAgICAgIHJlcS0+b3BlcmF0
aW9uICAgICAgICAgICAgICAgICAgPSBSZXF1ZXN0LT5PcGVyYXRpb247Ci0gICAgICAgIHJlcS0+
bnJfc2VnbWVudHMgICAgICAgICAgICAgICAgPSAwOwotICAgICAgICByZXEtPmhhbmRsZSAgICAg
ICAgICAgICAgICAgICAgID0gKFVTSE9SVClCbG9ja1JpbmctPkRldmljZUlkOwotICAgICAgICBy
ZXEtPmlkICAgICAgICAgICAgICAgICAgICAgICAgID0gX19CbG9ja1JpbmdHZXRUYWcoQmxvY2tS
aW5nLCBSZXF1ZXN0KTsKLSAgICAgICAgcmVxLT5zZWN0b3JfbnVtYmVyICAgICAgICAgICAgICA9
IFJlcXVlc3QtPkZpcnN0U2VjdG9yOwotICAgICAgICBicmVhazsKKyAgICBYRU5CVVNfREVCVUco
UHJpbnRmLAorICAgICAgICAgICAgICAgICAmQmxvY2tSaW5nLT5EZWJ1Z0ludGVyZmFjZSwKKyAg
ICAgICAgICAgICAgICAgIk9yZGVyOiAldVxuIiwKKyAgICAgICAgICAgICAgICAgQmxvY2tSaW5n
LT5PcmRlcik7CiAKLSAgICBjYXNlIEJMS0lGX09QX0RJU0NBUkQ6IHsKLSAgICAgICAgYmxraWZf
cmVxdWVzdF9kaXNjYXJkX3QqICAgICAgICByZXFfZGlzY2FyZDsKLSAgICAgICAgcmVxX2Rpc2Nh
cmQgPSAoYmxraWZfcmVxdWVzdF9kaXNjYXJkX3QqKXJlcTsKLSAgICAgICAgcmVxX2Rpc2NhcmQt
Pm9wZXJhdGlvbiAgICAgICAgICA9IEJMS0lGX09QX0RJU0NBUkQ7Ci0gICAgICAgIHJlcV9kaXNj
YXJkLT5mbGFnICAgICAgICAgICAgICAgPSBSZXF1ZXN0LT5GbGFnczsKLSAgICAgICAgcmVxX2Rp
c2NhcmQtPmhhbmRsZSAgICAgICAgICAgICA9IChVU0hPUlQpQmxvY2tSaW5nLT5EZXZpY2VJZDsK
LSAgICAgICAgcmVxX2Rpc2NhcmQtPmlkICAgICAgICAgICAgICAgICA9IF9fQmxvY2tSaW5nR2V0
VGFnKEJsb2NrUmluZywgUmVxdWVzdCk7Ci0gICAgICAgIHJlcV9kaXNjYXJkLT5zZWN0b3JfbnVt
YmVyICAgICAgPSBSZXF1ZXN0LT5GaXJzdFNlY3RvcjsKLSAgICAgICAgcmVxX2Rpc2NhcmQtPm5y
X3NlY3RvcnMgICAgICAgICA9IFJlcXVlc3QtPk5yU2VjdG9yczsKLSAgICAgICAgfSBicmVhazsK
KyAgICBHcmFudGVyID0gVGFyZ2V0R2V0R3JhbnRlcihCbG9ja1JpbmctPlRhcmdldCk7CisgICAg
Zm9yIChJbmRleCA9IDA7IEluZGV4IDwgKDF1bCA8PCBCbG9ja1JpbmctPk9yZGVyKTsgKytJbmRl
eCkgeworICAgICAgICBHcmFudCA9IEdyYW50ZXJSZWZlcmVuY2UoR3JhbnRlciwgQmxvY2tSaW5n
LT5HcmFudHNbSW5kZXhdKTsKIAotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVChGQUxTRSk7
Ci0gICAgICAgIGJyZWFrOworICAgICAgICBYRU5CVVNfREVCVUcoUHJpbnRmLAorICAgICAgICAg
ICAgICAgICAgICAgJkJsb2NrUmluZy0+RGVidWdJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAg
ICAgICAiR3JhbnRbJTAydV0gOiAweCVwICgldSlcbiIsCisgICAgICAgICAgICAgICAgICAgICBJ
bmRleCwKKyAgICAgICAgICAgICAgICAgICAgIEJsb2NrUmluZy0+R3JhbnRzW0luZGV4XSwKKyAg
ICAgICAgICAgICAgICAgICAgIEdyYW50KTsKICAgICB9Ci0gICAgKytCbG9ja1JpbmctPlN1Ym1p
dHRlZDsKKworICAgIFhFTkJVU19ERUJVRyhQcmludGYsCisgICAgICAgICAgICAgICAgICZCbG9j
a1JpbmctPkRlYnVnSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAiU2hhcmVkOjB4JXAgOiBy
ZXFfcHJvZDoldSwgcmVxX2V2ZW50OiV1LCByc3BfcHJvZDoldSwgcnNwX2V2ZW50OiV1XG4iLAor
ICAgICAgICAgICAgICAgICBCbG9ja1JpbmctPlNoYXJlZCwKKyAgICAgICAgICAgICAgICAgQmxv
Y2tSaW5nLT5TaGFyZWQtPnJlcV9wcm9kLAorICAgICAgICAgICAgICAgICBCbG9ja1JpbmctPlNo
YXJlZC0+cmVxX2V2ZW50LAorICAgICAgICAgICAgICAgICBCbG9ja1JpbmctPlNoYXJlZC0+cnNw
X3Byb2QsCisgICAgICAgICAgICAgICAgIEJsb2NrUmluZy0+U2hhcmVkLT5yc3BfZXZlbnQpOwor
CisgICAgWEVOQlVTX0RFQlVHKFByaW50ZiwKKyAgICAgICAgICAgICAgICAgJkJsb2NrUmluZy0+
RGVidWdJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICJGcm9udDogcmVxX3Byb2RfcHZ0OiV1
LCByc3BfY29uczoldSwgbnJfZW50czoldSwgc3Jpbmc6MHglcFxuIiwKKyAgICAgICAgICAgICAg
ICAgQmxvY2tSaW5nLT5Gcm9udC5yZXFfcHJvZF9wdnQsCisgICAgICAgICAgICAgICAgIEJsb2Nr
UmluZy0+RnJvbnQucnNwX2NvbnMsCisgICAgICAgICAgICAgICAgIEJsb2NrUmluZy0+RnJvbnQu
bnJfZW50cywKKyAgICAgICAgICAgICAgICAgQmxvY2tSaW5nLT5Gcm9udC5zcmluZyk7CisKKyAg
ICBYRU5CVVNfREVCVUcoUHJpbnRmLAorICAgICAgICAgICAgICAgICAmQmxvY2tSaW5nLT5EZWJ1
Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIlN1Ym1pdHRlZDogJXUsIENvbXBsZXRlZDog
JXVcbiIsCisgICAgICAgICAgICAgICAgIEJsb2NrUmluZy0+U3VibWl0dGVkLAorICAgICAgICAg
ICAgICAgICBCbG9ja1JpbmctPkNvbXBsZXRlZCk7CisKKyAgICBQb3J0ID0gWEVOQlVTX0VWVENI
TihHZXRQb3J0LAorICAgICAgICAgICAgICAgICAgICAgICAgICZCbG9ja1JpbmctPkV2dGNobklu
dGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBCbG9ja1JpbmctPkNoYW5uZWwpOwor
CisgICAgWEVOQlVTX0RFQlVHKFByaW50ZiwKKyAgICAgICAgICAgICAgICAgJkJsb2NrUmluZy0+
RGVidWdJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICJDaGFubmVsOiAweCVwICgldSlcbiIs
CisgICAgICAgICAgICAgICAgIEJsb2NrUmluZy0+Q2hhbm5lbCwKKyAgICAgICAgICAgICAgICAg
UG9ydCk7CisKKyAgICBYRU5CVVNfREVCVUcoUHJpbnRmLAorICAgICAgICAgICAgICAgICAmQmxv
Y2tSaW5nLT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIkludGVycnVwdHM6ICV1
LCBEUENzOiAldVxuIiwKKyAgICAgICAgICAgICAgICAgQmxvY2tSaW5nLT5JbnRlcnJ1cHRzLAor
ICAgICAgICAgICAgICAgICBCbG9ja1JpbmctPkRwY3MpOworCisgICAgQmxvY2tSaW5nLT5JbnRl
cnJ1cHRzID0gMDsKKyAgICBCbG9ja1JpbmctPkRwY3MgPSAwOwogfQogCiBOVFNUQVRVUwogQmxv
Y2tSaW5nQ3JlYXRlKAotICAgIElOICBQWEVOVkJEX0ZST05URU5EICAgICAgICAgICAgRnJvbnRl
bmQsCi0gICAgSU4gIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2VJZCwKLSAgICBP
VVQgUFhFTlZCRF9CTE9DS1JJTkcqICAgICAgICAgIEJsb2NrUmluZworICAgIElOICBQWEVOVkJE
X1RBUkdFVCAgICAgIFRhcmdldCwKKyAgICBPVVQgUFhFTlZCRF9CTE9DS1JJTkcqICBCbG9ja1Jp
bmcKICAgICApCiB7CiAgICAgKkJsb2NrUmluZyA9IF9fQmxvY2tSaW5nQWxsb2NhdGUoc2l6ZW9m
KFhFTlZCRF9CTE9DS1JJTkcpKTsKICAgICBpZiAoKkJsb2NrUmluZyA9PSBOVUxMKQogICAgICAg
ICBnb3RvIGZhaWwxOwogCi0gICAgKCpCbG9ja1JpbmcpLT5Gcm9udGVuZCA9IEZyb250ZW5kOwot
ICAgICgqQmxvY2tSaW5nKS0+RGV2aWNlSWQgPSBEZXZpY2VJZDsKKyAgICAoKkJsb2NrUmluZykt
PlRhcmdldCA9IFRhcmdldDsKICAgICBLZUluaXRpYWxpemVTcGluTG9jaygmKCpCbG9ja1Jpbmcp
LT5Mb2NrKTsKKyAgICBLZUluaXRpYWxpemVEcGMoJigqQmxvY2tSaW5nKS0+RHBjLCBCbG9ja1Jp
bmdEcGMsICpCbG9ja1JpbmcpOwogCiAgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwogCkBAIC0y
NTksMTIgKzI1MCwxMiBAQCBmYWlsMToKIAogVk9JRAogQmxvY2tSaW5nRGVzdHJveSgKLSAgICBJ
TiAgUFhFTlZCRF9CTE9DS1JJTkcgICAgICAgICAgIEJsb2NrUmluZworICAgIElOICBQWEVOVkJE
X0JMT0NLUklORyAgIEJsb2NrUmluZwogICAgICkKIHsKLSAgICBCbG9ja1JpbmctPkZyb250ZW5k
ID0gTlVMTDsKLSAgICBCbG9ja1JpbmctPkRldmljZUlkID0gMDsKKyAgICBCbG9ja1JpbmctPlRh
cmdldCA9IE5VTEw7CiAgICAgUnRsWmVyb01lbW9yeSgmQmxvY2tSaW5nLT5Mb2NrLCBzaXplb2Yo
S1NQSU5fTE9DSykpOworICAgIFJ0bFplcm9NZW1vcnkoJkJsb2NrUmluZy0+RHBjLCBzaXplb2Yo
S0RQQykpOwogICAgIAogICAgIEFTU0VSVChJc1plcm9NZW1vcnkoQmxvY2tSaW5nLCBzaXplb2Yo
WEVOVkJEX0JMT0NLUklORykpKTsKICAgICAKQEAgLTI3MywxMjIgKzI2NCwyMDEgQEAgQmxvY2tS
aW5nRGVzdHJveSgKIAogTlRTVEFUVVMKIEJsb2NrUmluZ0Nvbm5lY3QoCi0gICAgSU4gIFBYRU5W
QkRfQkxPQ0tSSU5HICAgICAgICAgICBCbG9ja1JpbmcKKyAgICBJTiAgUFhFTlZCRF9CTE9DS1JJ
TkcgICBCbG9ja1JpbmcKICAgICApCiB7Ci0gICAgTlRTVEFUVVMgICAgICAgIHN0YXR1czsKLSAg
ICBQQ0hBUiAgICAgICAgICAgVmFsdWU7Ci0gICAgVUxPTkcgICAgICAgICAgIEluZGV4LCBSaW5n
UGFnZXM7Ci0gICAgUFhFTlZCRF9BREFQVEVSICAgICBBZGFwdGVyID0gVGFyZ2V0R2V0QWRhcHRl
cihGcm9udGVuZEdldFRhcmdldChCbG9ja1JpbmctPkZyb250ZW5kKSk7Ci0gICAgUFhFTlZCRF9H
UkFOVEVSIEdyYW50ZXIgPSBGcm9udGVuZEdldEdyYW50ZXIoQmxvY2tSaW5nLT5Gcm9udGVuZCk7
CisgICAgUFhFTlZCRF9HUkFOVEVSICAgICAgICAgR3JhbnRlcjsKKyAgICBQWEVOVkJEX0FEQVBU
RVIgICAgICAgICBBZGFwdGVyOworICAgIFBDSEFSICAgICAgICAgICAgICAgICAgIEJ1ZmZlcjsK
KyAgICBVTE9ORyAgICAgICAgICAgICAgICAgICBJbmRleDsKKyAgICBOVFNUQVRVUyAgICAgICAg
ICAgICAgICBzdGF0dXM7CiAKICAgICBBU1NFUlQoQmxvY2tSaW5nLT5Db25uZWN0ZWQgPT0gRkFM
U0UpOwogCisgICAgQWRhcHRlciA9IFRhcmdldEdldEFkYXB0ZXIoQmxvY2tSaW5nLT5UYXJnZXQp
OworCiAgICAgQWRhcHRlckdldFN0b3JlSW50ZXJmYWNlKEFkYXB0ZXIsICZCbG9ja1JpbmctPlN0
b3JlSW50ZXJmYWNlKTsKLSAgIAorICAgIEFkYXB0ZXJHZXREZWJ1Z0ludGVyZmFjZShBZGFwdGVy
LCAmQmxvY2tSaW5nLT5EZWJ1Z0ludGVyZmFjZSk7CisgICAgQWRhcHRlckdldEV2dGNobkludGVy
ZmFjZShBZGFwdGVyLCAmQmxvY2tSaW5nLT5FdnRjaG5JbnRlcmZhY2UpOworCiAgICAgc3RhdHVz
ID0gWEVOQlVTX1NUT1JFKEFjcXVpcmUsICZCbG9ja1JpbmctPlN0b3JlSW50ZXJmYWNlKTsKICAg
ICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgZ290byBmYWlsMTsKIAotICAgIHN0
YXR1cyA9IEZyb250ZW5kU3RvcmVSZWFkQmFja2VuZChCbG9ja1JpbmctPkZyb250ZW5kLCAibWF4
LXJpbmctcGFnZS1vcmRlciIsICZWYWx1ZSk7CisgICAgc3RhdHVzID0gWEVOQlVTX0RFQlVHKEFj
cXVpcmUsICZCbG9ja1JpbmctPkRlYnVnSW50ZXJmYWNlKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Mo
c3RhdHVzKSkKKyAgICAgICAgZ290byBmYWlsMjsKKworICAgIHN0YXR1cyA9IFhFTkJVU19FVlRD
SE4oQWNxdWlyZSwgJkJsb2NrUmluZy0+RXZ0Y2huSW50ZXJmYWNlKTsKKyAgICBpZiAoIU5UX1NV
Q0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBmYWlsMzsKKworICAgIHN0YXR1cyA9IFhFTkJV
U19TVE9SRShSZWFkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmQmxvY2tSaW5nLT5TdG9y
ZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgVGFyZ2V0R2V0QmFja2VuZFBhdGgoQmxvY2tSaW5nLT5UYXJnZXQpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4LXJpbmctcGFnZS1vcmRlciIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICZCdWZmZXIpOwogICAgIGlmIChOVF9TVUNDRVNTKHN0YXR1cykp
IHsKLSAgICAgICAgQmxvY2tSaW5nLT5PcmRlciA9IF9fbWluKHN0cnRvdWwoVmFsdWUsIE5VTEws
IDEwKSwgWEVOVkJEX01BWF9SSU5HX1BBR0VfT1JERVIpOwotICAgICAgICBGcm9udGVuZFN0b3Jl
RnJlZShCbG9ja1JpbmctPkZyb250ZW5kLCBWYWx1ZSk7CisgICAgICAgIEJsb2NrUmluZy0+T3Jk
ZXIgPSBzdHJ0b3VsKEJ1ZmZlciwgTlVMTCwgMTApOworICAgICAgICBCbG9ja1JpbmctPk9yZGVy
ID0gbWluKEJsb2NrUmluZy0+T3JkZXIsIFhFTlZCRF9NQVhfUklOR19QQUdFX09SREVSKTsKKwor
ICAgICAgICBYRU5CVVNfU1RPUkUoRnJlZSwKKyAgICAgICAgICAgICAgICAgICAgICZCbG9ja1Jp
bmctPlN0b3JlSW50ZXJmYWNlLCAKKyAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcik7CiAgICAg
fSBlbHNlIHsKICAgICAgICAgQmxvY2tSaW5nLT5PcmRlciA9IDA7CiAgICAgfQogCi0gICAgQmxv
Y2tSaW5nLT5NZGwgPSBfX0FsbG9jYXRlUGFnZXMoMSA8PCBCbG9ja1JpbmctPk9yZGVyKTsKLQog
ICAgIHN0YXR1cyA9IFNUQVRVU19OT19NRU1PUlk7CisgICAgQmxvY2tSaW5nLT5NZGwgPSBfX0Fs
bG9jYXRlUGFnZXMoMSA8PCBCbG9ja1JpbmctPk9yZGVyKTsKICAgICBpZiAoQmxvY2tSaW5nLT5N
ZGwgPT0gTlVMTCkKLSAgICAgICAgZ290byBmYWlsMjsKKyAgICAgICAgZ290byBmYWlsNDsKIAot
ICAgIEJsb2NrUmluZy0+U2hhcmVkUmluZyA9IE1tR2V0U3lzdGVtQWRkcmVzc0Zvck1kbFNhZmUo
QmxvY2tSaW5nLT5NZGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBOb3JtYWxQYWdlUHJpb3JpdHkpOwotICAgIEFTU0VSVChCbG9ja1Jp
bmctPlNoYXJlZFJpbmcgIT0gTlVMTCk7CisgICAgQmxvY2tSaW5nLT5TaGFyZWQgPSBNbUdldFN5
c3RlbUFkZHJlc3NGb3JNZGxTYWZlKEJsb2NrUmluZy0+TWRsLCBOb3JtYWxQYWdlUHJpb3JpdHkp
OyAKKyAgICBBU1NFUlQoQmxvY2tSaW5nLT5TaGFyZWQgIT0gTlVMTCk7CiAKICNwcmFnbWEgd2Fy
bmluZyhwdXNoKQogI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQzMDUpCiAjcHJhZ21hIHdhcm5p
bmcoZGlzYWJsZTogNDMxMSkKLSAgICBTSEFSRURfUklOR19JTklUKEJsb2NrUmluZy0+U2hhcmVk
UmluZyk7Ci0gICAgRlJPTlRfUklOR19JTklUKCZCbG9ja1JpbmctPkZyb250UmluZywgQmxvY2tS
aW5nLT5TaGFyZWRSaW5nLCBQQUdFX1NJWkUgPDwgQmxvY2tSaW5nLT5PcmRlcik7CisgICAgU0hB
UkVEX1JJTkdfSU5JVChCbG9ja1JpbmctPlNoYXJlZCk7CisgICAgRlJPTlRfUklOR19JTklUKCZC
bG9ja1JpbmctPkZyb250LCBCbG9ja1JpbmctPlNoYXJlZCwgUEFHRV9TSVpFIDw8IEJsb2NrUmlu
Zy0+T3JkZXIpOwogI3ByYWdtYSB3YXJuaW5nKHBvcCkKIAotICAgIFJpbmdQYWdlcyA9ICgxIDw8
IEJsb2NrUmluZy0+T3JkZXIpOwotICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IFJpbmdQYWdl
czsgKytJbmRleCkgewotICAgICAgICBzdGF0dXMgPSBHcmFudGVyR2V0KEdyYW50ZXIsIF9fUGZu
KChQVUNIQVIpQmxvY2tSaW5nLT5TaGFyZWRSaW5nICsgKEluZGV4ICogUEFHRV9TSVpFKSksIAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwgJkJsb2NrUmluZy0+R3JhbnRz
W0luZGV4XSk7CisgICAgR3JhbnRlciA9IFRhcmdldEdldEdyYW50ZXIoQmxvY2tSaW5nLT5UYXJn
ZXQpOworICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8ICgxdWwgPDwgQmxvY2tSaW5nLT5PcmRl
cik7ICsrSW5kZXgpIHsKKyAgICAgICAgc3RhdHVzID0gR3JhbnRlckdldChHcmFudGVyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE1tR2V0TWRsUGZuQXJyYXkoQmxvY2tSaW5nLT5NZGwp
W0luZGV4XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmQmxvY2tSaW5nLT5HcmFudHNbSW5kZXhdKTsKICAgICAgICAgaWYg
KCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgICAgICBnb3RvIGZhaWwzOworICAgICAgICAg
ICAgZ290byBmYWlsNTsKICAgICB9CiAKKyAgICBzdGF0dXMgPSBTVEFUVVNfTk9fTUVNT1JZOwor
ICAgIEJsb2NrUmluZy0+Q2hhbm5lbCA9IFhFTkJVU19FVlRDSE4oT3BlbiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZCbG9ja1JpbmctPkV2dGNobkludGVyZmFjZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTkJVU19FVlRDSE5fVFlQ
RV9VTkJPVU5ELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tS
aW5nSW50ZXJydXB0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxv
Y2tSaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0R2V0
QmFja2VuZElkKEJsb2NrUmluZy0+VGFyZ2V0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFRSVUUpOworICAgIGlmIChCbG9ja1JpbmctPkNoYW5uZWwgPT0gTlVMTCkK
KyAgICAgICAgZ290byBmYWlsNjsKKworICAgIHN0YXR1cyA9IFhFTkJVU19ERUJVRyhSZWdpc3Rl
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJkJsb2NrUmluZy0+RGVidWdJbnRlcmZhY2Us
CisgICAgICAgICAgICAgICAgICAgICAgICAgIF9fTU9EVUxFX18sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIEJsb2NrUmluZ0RlYnVnQ2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIEJsb2NrUmluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJkJsb2NrUmluZy0+RGVi
dWdDYWxsYmFjayk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8g
ZmFpbDc7CisKKyAgICBYRU5CVVNfRVZUQ0hOKFVubWFzaywKKyAgICAgICAgICAgICAgICAgICZC
bG9ja1JpbmctPkV2dGNobkludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIEJsb2NrUmluZy0+
Q2hhbm5lbCwKKyAgICAgICAgICAgICAgICAgIEZBTFNFKTsKKwogICAgIEJsb2NrUmluZy0+Q29u
bmVjdGVkID0gVFJVRTsKICAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CiAKLWZhaWwzOgotICAg
IGZvciAoSW5kZXggPSAwOyBJbmRleCA8IFhFTlZCRF9NQVhfUklOR19QQUdFUzsgKytJbmRleCkg
ewotICAgICAgICBpZiAoQmxvY2tSaW5nLT5HcmFudHNbSW5kZXhdKQotICAgICAgICAgICAgR3Jh
bnRlclB1dChHcmFudGVyLCBCbG9ja1JpbmctPkdyYW50c1tJbmRleF0pOwotICAgICAgICBCbG9j
a1JpbmctPkdyYW50c1tJbmRleF0gPSAwOworZmFpbDc6CisgICAgRXJyb3IoImZhaWw3XG4iKTsK
KyAgICBYRU5CVVNfRVZUQ0hOKENsb3NlLAorICAgICAgICAgICAgICAgICAgJkJsb2NrUmluZy0+
RXZ0Y2huSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgQmxvY2tSaW5nLT5DaGFubmVsKTsK
KyAgICBCbG9ja1JpbmctPkNoYW5uZWwgPSBOVUxMOworZmFpbDY6CisgICAgRXJyb3IoImZhaWw2
XG4iKTsKK2ZhaWw1OgorICAgIEVycm9yKCJmYWlsNVxuIik7CisgICAgZm9yIChJbmRleCA9IDA7
IEluZGV4IDwgKDF1bCA8PCBCbG9ja1JpbmctPk9yZGVyKTsgKytJbmRleCkgeworICAgICAgICBp
ZiAoQmxvY2tSaW5nLT5HcmFudHNbSW5kZXhdID09IE5VTEwpCisgICAgICAgICAgICBjb250aW51
ZTsKKworICAgICAgICBHcmFudGVyUHV0KEdyYW50ZXIsIEJsb2NrUmluZy0+R3JhbnRzW0luZGV4
XSk7CisgICAgICAgIEJsb2NrUmluZy0+R3JhbnRzW0luZGV4XSA9IE5VTEw7CiAgICAgfQogCi0g
ICAgUnRsWmVyb01lbW9yeSgmQmxvY2tSaW5nLT5Gcm9udFJpbmcsIHNpemVvZihCbG9ja1Jpbmct
PkZyb250UmluZykpOworICAgIFJ0bFplcm9NZW1vcnkoJkJsb2NrUmluZy0+RnJvbnQsIHNpemVv
ZihibGtpZl9mcm9udF9yaW5nX3QpKTsKKyAgICBCbG9ja1JpbmctPlNoYXJlZCA9IE5VTEw7CisK
ICAgICBfX0ZyZWVQYWdlcyhCbG9ja1JpbmctPk1kbCk7Ci0gICAgQmxvY2tSaW5nLT5TaGFyZWRS
aW5nID0gTlVMTDsKICAgICBCbG9ja1JpbmctPk1kbCA9IE5VTEw7Ci0KK2ZhaWw0OgorICAgIEVy
cm9yKCJmYWlsNFxuIik7CisgICAgWEVOQlVTX0VWVENITihSZWxlYXNlLCAmQmxvY2tSaW5nLT5F
dnRjaG5JbnRlcmZhY2UpOworICAgIFJ0bFplcm9NZW1vcnkoJkJsb2NrUmluZy0+RXZ0Y2huSW50
ZXJmYWNlLCBzaXplb2YoWEVOQlVTX0VWVENITl9JTlRFUkZBQ0UpKTsKK2ZhaWwzOgorICAgIEVy
cm9yKCJmYWlsM1xuIik7IAorICAgIFhFTkJVU19ERUJVRyhSZWxlYXNlLCAmQmxvY2tSaW5nLT5E
ZWJ1Z0ludGVyZmFjZSk7CisgICAgUnRsWmVyb01lbW9yeSgmQmxvY2tSaW5nLT5EZWJ1Z0ludGVy
ZmFjZSwgc2l6ZW9mKFhFTkJVU19ERUJVR19JTlRFUkZBQ0UpKTsKIGZhaWwyOgorICAgIEVycm9y
KCJmYWlsMlxuIik7IAorICAgIFhFTkJVU19TVE9SRShSZWxlYXNlLCAmQmxvY2tSaW5nLT5TdG9y
ZUludGVyZmFjZSk7CisgICAgUnRsWmVyb01lbW9yeSgmQmxvY2tSaW5nLT5TdG9yZUludGVyZmFj
ZSwgc2l6ZW9mKFhFTkJVU19TVE9SRV9JTlRFUkZBQ0UpKTsKIGZhaWwxOgotICAgIHJldHVybiBz
dGF0dXM7CisgICAgIEVycm9yKCJmYWlsMSAlMDh4XG4iLCBzdGF0dXMpOworICAgICByZXR1cm4g
c3RhdHVzOwogfQogCiBOVFNUQVRVUwogQmxvY2tSaW5nU3RvcmVXcml0ZSgKLSAgICBJTiAgUFhF
TlZCRF9CTE9DS1JJTkcgICAgICAgICAgIEJsb2NrUmluZywKLSAgICBJTiAgUFhFTkJVU19TVE9S
RV9UUkFOU0FDVElPTiAgIFRyYW5zYWN0aW9uLAotICAgIElOICBQQ0hBUiAgICAgICAgICAgICAg
ICAgICAgICAgRnJvbnRlbmRQYXRoCisgICAgSU4gIFBYRU5WQkRfQkxPQ0tSSU5HICAgQmxvY2tS
aW5nLAorICAgIElOICBQVk9JRCAgICAgICAgICAgICAgIFRyYW5zYWN0aW9uCiAgICAgKQogewot
ICAgIFBYRU5WQkRfR1JBTlRFUiAgICAgICAgICAgICAgICAgR3JhbnRlciA9IEZyb250ZW5kR2V0
R3JhbnRlcihCbG9ja1JpbmctPkZyb250ZW5kKTsKLSAgICBOVFNUQVRVUyAgICAgICAgICAgICAg
ICAgICAgICAgIHN0YXR1czsKKyAgICBQWEVOVkJEX0dSQU5URVIgICAgICAgICBHcmFudGVyOwor
ICAgIFVMT05HICAgICAgICAgICAgICAgICAgIFBvcnQ7CisgICAgVUxPTkcgICAgICAgICAgICAg
ICAgICAgR3JhbnQ7CisgICAgTlRTVEFUVVMgICAgICAgICAgICAgICAgc3RhdHVzOwogCisgICAg
R3JhbnRlciA9IFRhcmdldEdldEdyYW50ZXIoQmxvY2tSaW5nLT5UYXJnZXQpOwogICAgIGlmIChC
bG9ja1JpbmctPk9yZGVyID09IDApIHsKKyAgICAgICAgR3JhbnQgPSBHcmFudGVyUmVmZXJlbmNl
KEdyYW50ZXIsIEJsb2NrUmluZy0+R3JhbnRzWzBdKTsKKwogICAgICAgICBzdGF0dXMgPSBYRU5C
VVNfU1RPUkUoUHJpbnRmLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZCbG9ja1Jp
bmctPlN0b3JlSW50ZXJmYWNlLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5z
YWN0aW9uLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kUGF0aCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldEdldFBhdGgoQmxvY2tSaW5nLT5UYXJn
ZXQpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJpbmctcmVmIiwgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiJXUiLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdyYW50ZXJSZWZlcmVuY2UoR3JhbnRlciwgQmxvY2tSaW5nLT5HcmFudHNbMF0pKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyYW50KTsKICAgICAgICAgaWYgKCFOVF9TVUND
RVNTKHN0YXR1cykpCiAgICAgICAgICAgICByZXR1cm4gc3RhdHVzOwogICAgIH0gZWxzZSB7Ci0g
ICAgICAgIFVMT05HICAgSW5kZXgsIFJpbmdQYWdlczsKKyAgICAgICAgVUxPTkcgICAgICAgICAg
ICAgICBJbmRleDsKIAogICAgICAgICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUoUHJpbnRmLCAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZCbG9ja1JpbmctPlN0b3JlSW50ZXJmYWNlLCAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zYWN0aW9uLCAKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEZyb250ZW5kUGF0aCwgCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBUYXJnZXRHZXRQYXRoKEJsb2NrUmluZy0+VGFyZ2V0KSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJyaW5nLXBhZ2Utb3JkZXIiLCAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICIldSIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tSaW5n
LT5PcmRlcik7CiAgICAgICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQogICAgICAgICAgICAg
cmV0dXJuIHN0YXR1czsKIAotICAgICAgICBSaW5nUGFnZXMgPSAoMSA8PCBCbG9ja1JpbmctPk9y
ZGVyKTsKLSAgICAgICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgUmluZ1BhZ2VzOyArK0luZGV4
KSB7Ci0gICAgICAgICAgICBDSEFSICAgIE5hbWVbTUFYX05BTUVfTEVOKzFdOwotICAgICAgICAg
ICAgc3RhdHVzID0gUnRsU3RyaW5nQ2NoUHJpbnRmQShOYW1lLCBNQVhfTkFNRV9MRU4sICJyaW5n
LXJlZiV1IiwgSW5kZXgpOworICAgICAgICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCAoMXVsIDw8
IEJsb2NrUmluZy0+T3JkZXIpOyArK0luZGV4KSB7CisgICAgICAgICAgICBDSEFSICAgICAgICAg
ICAgTmFtZVtzaXplb2YoInJpbmctcmVmWFgiKV07CisKKyAgICAgICAgICAgIHN0YXR1cyA9IFJ0
bFN0cmluZ0NiUHJpbnRmQShOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNpemVvZihOYW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAicmluZy1yZWYldSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgSW5kZXgpOwogICAgICAgICAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHN0YXR1czsKKworICAgICAgICAgICAgR3JhbnQgPSBHcmFudGVyUmVm
ZXJlbmNlKEdyYW50ZXIsIEJsb2NrUmluZy0+R3JhbnRzW0luZGV4XSk7CisKICAgICAgICAgICAg
IHN0YXR1cyA9IFhFTkJVU19TVE9SRShQcmludGYsIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZCbG9ja1JpbmctPlN0b3JlSW50ZXJmYWNlLCAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBUcmFuc2FjdGlvbiwgCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgRnJvbnRlbmRQYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFRhcmdldEdldFBhdGgoQmxvY2tSaW5nLT5UYXJnZXQpLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIE5hbWUsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIl
dSIsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyYW50ZXJSZWZlcmVuY2Uo
R3JhbnRlciwgQmxvY2tSaW5nLT5HcmFudHNbSW5kZXhdKSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgR3JhbnQpOwogICAgICAgICAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1
cykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXR1czsKICAgICAgICAgfQpAQCAtMzk3LDI4
ICs0NjcsNDYgQEAgQmxvY2tSaW5nU3RvcmVXcml0ZSgKICAgICBzdGF0dXMgPSBYRU5CVVNfU1RP
UkUoUHJpbnRmLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgJkJsb2NrUmluZy0+U3RvcmVJ
bnRlcmZhY2UsIAogICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2FjdGlvbiwgCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kUGF0aCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgVGFyZ2V0R2V0UGF0aChCbG9ja1JpbmctPlRhcmdldCksIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAicHJvdG9jb2wiLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIiwg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTl9JT19QUk9UT19BQkkpOwogICAgIGlmICgh
TlRfU1VDQ0VTUyhzdGF0dXMpKQogICAgICAgICByZXR1cm4gc3RhdHVzOwogCisgICAgUG9ydCA9
IFhFTkJVU19FVlRDSE4oR2V0UG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAmQmxvY2tS
aW5nLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tSaW5n
LT5DaGFubmVsKTsKKworICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShQcmludGYsIAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAmQmxvY2tSaW5nLT5TdG9yZUludGVyZmFjZSwgCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIFRyYW5zYWN0aW9uLCAKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgVGFyZ2V0R2V0UGF0aChCbG9ja1JpbmctPlRhcmdldCksIAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZXZlbnQtY2hhbm5lbCIsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAiJXUi
LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUG9ydCk7CisgICAgaWYgKCFOVF9TVUNDRVNT
KHN0YXR1cykpCisgICAgICAgIHJldHVybiBzdGF0dXM7CisKICAgICByZXR1cm4gU1RBVFVTX1NV
Q0NFU1M7CiB9CiAKIFZPSUQKIEJsb2NrUmluZ0VuYWJsZSgKLSAgICBJTiAgUFhFTlZCRF9CTE9D
S1JJTkcgICAgICAgICAgIEJsb2NrUmluZworICAgIElOICBQWEVOVkJEX0JMT0NLUklORyAgIEJs
b2NrUmluZwogICAgICkKIHsKICAgICBBU1NFUlQoQmxvY2tSaW5nLT5FbmFibGVkID09IEZBTFNF
KTsKLQogICAgIEJsb2NrUmluZy0+RW5hYmxlZCA9IFRSVUU7CisKKyAgICBYRU5CVVNfRVZUQ0hO
KFRyaWdnZXIsCisgICAgICAgICAgICAgICAgICAmQmxvY2tSaW5nLT5FdnRjaG5JbnRlcmZhY2Us
CisgICAgICAgICAgICAgICAgICBCbG9ja1JpbmctPkNoYW5uZWwpOwogfQogCiBWT0lECiBCbG9j
a1JpbmdEaXNhYmxlKAotICAgIElOICBQWEVOVkJEX0JMT0NLUklORyAgICAgICAgICAgQmxvY2tS
aW5nCisgICAgSU4gIFBYRU5WQkRfQkxPQ0tSSU5HICAgQmxvY2tSaW5nCiAgICAgKQogewogICAg
IEFTU0VSVChCbG9ja1JpbmctPkVuYWJsZWQgPT0gVFJVRSk7CkBAIC00MjgsMzAgKzUxNiw0NCBA
QCBCbG9ja1JpbmdEaXNhYmxlKAogCiBWT0lECiBCbG9ja1JpbmdEaXNjb25uZWN0KAotICAgIElO
ICBQWEVOVkJEX0JMT0NLUklORyAgICAgICAgICAgQmxvY2tSaW5nCisgICAgSU4gIFBYRU5WQkRf
QkxPQ0tSSU5HICAgQmxvY2tSaW5nCiAgICAgKQogewotICAgIFVMT05HICAgICAgICAgICBJbmRl
eDsKLSAgICBQWEVOVkJEX0dSQU5URVIgR3JhbnRlciA9IEZyb250ZW5kR2V0R3JhbnRlcihCbG9j
a1JpbmctPkZyb250ZW5kKTsKKyAgICBQWEVOVkJEX0dSQU5URVIgICAgICAgICBHcmFudGVyOwor
ICAgIFVMT05HICAgICAgICAgICAgICAgICAgIEluZGV4OwogCiAgICAgQVNTRVJUKEJsb2NrUmlu
Zy0+Q29ubmVjdGVkID09IFRSVUUpOwogCi0gICAgQmxvY2tSaW5nLT5TdWJtaXR0ZWQgPSAwOwot
ICAgIEJsb2NrUmluZy0+UmVjZWl2ZWQgPSAwOworICAgIFhFTkJVU19ERUJVRyhEZXJlZ2lzdGVy
LAorICAgICAgICAgICAgICAgICAmQmxvY2tSaW5nLT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAg
ICAgICAgICAgQmxvY2tSaW5nLT5EZWJ1Z0NhbGxiYWNrKTsKKyAgICBCbG9ja1JpbmctPkRlYnVn
Q2FsbGJhY2sgPSBOVUxMOwogCi0gICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgWEVOVkJEX01B
WF9SSU5HX1BBR0VTOyArK0luZGV4KSB7Ci0gICAgICAgIGlmIChCbG9ja1JpbmctPkdyYW50c1tJ
bmRleF0pIHsKLSAgICAgICAgICAgIEdyYW50ZXJQdXQoR3JhbnRlciwgQmxvY2tSaW5nLT5HcmFu
dHNbSW5kZXhdKTsKLSAgICAgICAgfQotICAgICAgICBCbG9ja1JpbmctPkdyYW50c1tJbmRleF0g
PSAwOworICAgIFhFTkJVU19FVlRDSE4oQ2xvc2UsCisgICAgICAgICAgICAgICAgICAmQmxvY2tS
aW5nLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICBCbG9ja1JpbmctPkNoYW5u
ZWwpOworICAgIEJsb2NrUmluZy0+Q2hhbm5lbCA9IE5VTEw7CisKKyAgICBHcmFudGVyID0gVGFy
Z2V0R2V0R3JhbnRlcihCbG9ja1JpbmctPlRhcmdldCk7CisgICAgZm9yIChJbmRleCA9IDA7IElu
ZGV4IDwgKDF1bCA8PCBCbG9ja1JpbmctPk9yZGVyKTsgKytJbmRleCkgeworICAgICAgICBpZiAo
QmxvY2tSaW5nLT5HcmFudHNbSW5kZXhdID09IE5VTEwpCisgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICBHcmFudGVyUHV0KEdyYW50ZXIsIEJsb2NrUmluZy0+R3JhbnRzW0luZGV4XSk7
CisgICAgICAgIEJsb2NrUmluZy0+R3JhbnRzW0luZGV4XSA9IE5VTEw7CiAgICAgfQogCi0gICAg
UnRsWmVyb01lbW9yeSgmQmxvY2tSaW5nLT5Gcm9udFJpbmcsIHNpemVvZihCbG9ja1JpbmctPkZy
b250UmluZykpOworICAgIFJ0bFplcm9NZW1vcnkoJkJsb2NrUmluZy0+RnJvbnQsIHNpemVvZihi
bGtpZl9mcm9udF9yaW5nX3QpKTsKKyAgICBCbG9ja1JpbmctPlNoYXJlZCA9IE5VTEw7CisKICAg
ICBfX0ZyZWVQYWdlcyhCbG9ja1JpbmctPk1kbCk7Ci0gICAgQmxvY2tSaW5nLT5TaGFyZWRSaW5n
ID0gTlVMTDsKICAgICBCbG9ja1JpbmctPk1kbCA9IE5VTEw7CiAKLSAgICBCbG9ja1JpbmctPk9y
ZGVyID0gMDsKKyAgICBYRU5CVVNfRVZUQ0hOKFJlbGVhc2UsICZCbG9ja1JpbmctPkV2dGNobklu
dGVyZmFjZSk7CisgICAgUnRsWmVyb01lbW9yeSgmQmxvY2tSaW5nLT5FdnRjaG5JbnRlcmZhY2Us
IHNpemVvZihYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRSkpOworCisgICAgWEVOQlVTX0RFQlVHKFJl
bGVhc2UsICZCbG9ja1JpbmctPkRlYnVnSW50ZXJmYWNlKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZC
bG9ja1JpbmctPkRlYnVnSW50ZXJmYWNlLCBzaXplb2YoWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSkp
OwogCiAgICAgWEVOQlVTX1NUT1JFKFJlbGVhc2UsICZCbG9ja1JpbmctPlN0b3JlSW50ZXJmYWNl
KTsKICAgICBSdGxaZXJvTWVtb3J5KCZCbG9ja1JpbmctPlN0b3JlSW50ZXJmYWNlLCBzaXplb2Yo
WEVOQlVTX1NUT1JFX0lOVEVSRkFDRSkpOwpAQCAtNDU5LDYwICs1NjEsMTEgQEAgQmxvY2tSaW5n
RGlzY29ubmVjdCgKICAgICBCbG9ja1JpbmctPkNvbm5lY3RlZCA9IEZBTFNFOwogfQogCi1WT0lE
Ci1CbG9ja1JpbmdEZWJ1Z0NhbGxiYWNrKAotICAgIElOICBQWEVOVkJEX0JMT0NLUklORyAgICAg
ICAgICAgQmxvY2tSaW5nLAotICAgIElOICBQWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSAgICAgRGVi
dWcKLSAgICApCi17Ci0gICAgVUxPTkcgICAgICAgICAgIEluZGV4OwotICAgIFBYRU5WQkRfR1JB
TlRFUiBHcmFudGVyID0gRnJvbnRlbmRHZXRHcmFudGVyKEJsb2NrUmluZy0+RnJvbnRlbmQpOwot
Ci0gICAgWEVOQlVTX0RFQlVHKFByaW50ZiwgRGVidWcsCi0gICAgICAgICAgICAgICAgICJCTE9D
S1JJTkc6IFJlcXVlc3RzICA6ICVkIC8gJWRcbiIsCi0gICAgICAgICAgICAgICAgIEJsb2NrUmlu
Zy0+U3VibWl0dGVkLAotICAgICAgICAgICAgICAgICBCbG9ja1JpbmctPlJlY2VpdmVkKTsKLQot
ICAgIFhFTkJVU19ERUJVRyhQcmludGYsIERlYnVnLAotICAgICAgICAgICAgICAgICAiQkxPQ0tS
SU5HOiBTaGFyZWRSaW5nIDogMHglcFxuIiwgCi0gICAgICAgICAgICAgICAgIEJsb2NrUmluZy0+
U2hhcmVkUmluZyk7Ci0KLSAgICBpZiAoQmxvY2tSaW5nLT5TaGFyZWRSaW5nKSB7Ci0gICAgICAg
IFhFTkJVU19ERUJVRyhQcmludGYsIERlYnVnLAotICAgICAgICAgICAgICAgICAgICAgIkJMT0NL
UklORzogU2hhcmVkUmluZyA6ICVkIC8gJWQgLSAlZCAvICVkXG4iLAotICAgICAgICAgICAgICAg
ICAgICAgQmxvY2tSaW5nLT5TaGFyZWRSaW5nLT5yZXFfcHJvZCwKLSAgICAgICAgICAgICAgICAg
ICAgIEJsb2NrUmluZy0+U2hhcmVkUmluZy0+cmVxX2V2ZW50LAotICAgICAgICAgICAgICAgICAg
ICAgQmxvY2tSaW5nLT5TaGFyZWRSaW5nLT5yc3BfcHJvZCwKLSAgICAgICAgICAgICAgICAgICAg
IEJsb2NrUmluZy0+U2hhcmVkUmluZy0+cnNwX2V2ZW50KTsKLSAgICB9Ci0KLSAgICBYRU5CVVNf
REVCVUcoUHJpbnRmLCBEZWJ1ZywKLSAgICAgICAgICAgICAgICAgIkJMT0NLUklORzogRnJvbnRS
aW5nICA6ICVkIC8gJWQgKCVkKVxuIiwKLSAgICAgICAgICAgICAgICAgQmxvY2tSaW5nLT5Gcm9u
dFJpbmcucmVxX3Byb2RfcHZ0LAotICAgICAgICAgICAgICAgICBCbG9ja1JpbmctPkZyb250Umlu
Zy5yc3BfY29ucywKLSAgICAgICAgICAgICAgICAgQmxvY2tSaW5nLT5Gcm9udFJpbmcubnJfZW50
cyk7Ci0KLSAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCBEZWJ1ZywKLSAgICAgICAgICAgICAgICAg
IkJMT0NLUklORzogT3JkZXIgICAgICA6ICVkXG4iLAotICAgICAgICAgICAgICAgICBCbG9ja1Jp
bmctPk9yZGVyKTsKLSAgICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCAoMXVsIDw8IEJsb2NrUmlu
Zy0+T3JkZXIpOyArK0luZGV4KSB7Ci0gICAgICAgIFhFTkJVU19ERUJVRyhQcmludGYsIERlYnVn
LAotICAgICAgICAgICAgICAgICAgICAgIkJMT0NLUklORzogR3JhbnRzWyUtMmRdIDogMHglcCAo
JXUpXG4iLCAKLSAgICAgICAgICAgICAgICAgICAgIEluZGV4LAotICAgICAgICAgICAgICAgICAg
ICAgQmxvY2tSaW5nLT5HcmFudHNbSW5kZXhdLAotICAgICAgICAgICAgICAgICAgICAgR3JhbnRl
clJlZmVyZW5jZShHcmFudGVyLCBCbG9ja1JpbmctPkdyYW50c1tJbmRleF0pKTsKLSAgICB9Ci0K
LSAgICBCbG9ja1JpbmctPlN1Ym1pdHRlZCA9IEJsb2NrUmluZy0+UmVjZWl2ZWQgPSAwOwotfQot
Ci1WT0lECitVTE9ORwogQmxvY2tSaW5nUG9sbCgKLSAgICBJTiAgUFhFTlZCRF9CTE9DS1JJTkcg
ICAgICAgICAgIEJsb2NrUmluZworICAgIElOICBQWEVOVkJEX0JMT0NLUklORyAgIEJsb2NrUmlu
ZwogICAgICkKIHsKLSAgICBQWEVOVkJEX1RBUkdFVCBUYXJnZXQgPSBGcm9udGVuZEdldFRhcmdl
dChCbG9ja1JpbmctPkZyb250ZW5kKTsKLQogICAgIEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwo
KSwgPT0sIERJU1BBVENIX0xFVkVMKTsKICAgICBLZUFjcXVpcmVTcGluTG9ja0F0RHBjTGV2ZWwo
JkJsb2NrUmluZy0+TG9jayk7CiAKQEAgLTUyNyw4ICs1ODAsOCBAQCBCbG9ja1JpbmdQb2xsKAog
CiAgICAgICAgIEtlTWVtb3J5QmFycmllcigpOwogCi0gICAgICAgIHJzcF9wcm9kID0gQmxvY2tS
aW5nLT5TaGFyZWRSaW5nLT5yc3BfcHJvZDsKLSAgICAgICAgcnNwX2NvbnMgPSBCbG9ja1Jpbmct
PkZyb250UmluZy5yc3BfY29uczsKKyAgICAgICAgcnNwX3Byb2QgPSBCbG9ja1JpbmctPlNoYXJl
ZC0+cnNwX3Byb2Q7CisgICAgICAgIHJzcF9jb25zID0gQmxvY2tSaW5nLT5Gcm9udC5yc3BfY29u
czsKIAogICAgICAgICBLZU1lbW9yeUJhcnJpZXIoKTsKIApAQCAtNTM2LDU2ICs1ODksMTcwIEBA
IEJsb2NrUmluZ1BvbGwoCiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICB3aGlsZSAocnNw
X2NvbnMgIT0gcnNwX3Byb2QpIHsKLSAgICAgICAgICAgIGJsa2lmX3Jlc3BvbnNlX3QqICAgUmVz
cG9uc2U7Ci0gICAgICAgICAgICBVTE9ORyAgICAgICAgICAgICAgIFRhZzsKLQotICAgICAgICAg
ICAgUmVzcG9uc2UgPSBSSU5HX0dFVF9SRVNQT05TRSgmQmxvY2tSaW5nLT5Gcm9udFJpbmcsIHJz
cF9jb25zKTsKLSAgICAgICAgICAgICsrcnNwX2NvbnM7Ci0KLSAgICAgICAgICAgIGlmIChfX0Js
b2NrUmluZ1B1dFRhZyhCbG9ja1JpbmcsIFJlc3BvbnNlLT5pZCwgJlRhZykpIHsKLSAgICAgICAg
ICAgICAgICArK0Jsb2NrUmluZy0+UmVjZWl2ZWQ7Ci0gICAgICAgICAgICAgICAgVGFyZ2V0Q29t
cGxldGVSZXNwb25zZShUYXJnZXQsIFRhZywgUmVzcG9uc2UtPnN0YXR1cyk7CisgICAgICAgICAg
ICBibGtpZl9yZXNwb25zZV90KiAgIHJzcDsKKworICAgICAgICAgICAgcnNwID0gUklOR19HRVRf
UkVTUE9OU0UoJkJsb2NrUmluZy0+RnJvbnQsIHJzcF9jb25zKTsKKyAgICAgICAgICAgIGlmIChy
c3AtPmlkID09IDApIHsKKyAgICAgICAgICAgICAgICBXYXJuaW5nKCJCYWQgUmVzcG9uc2UgKCVs
bHUsICV1LCAmZCkgQCBzbG90ICV1XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgcnNwLT5p
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHJzcC0+b3BlcmF0aW9uLAorICAgICAgICAgICAg
ICAgICAgICAgICAgcnNwLT5zdGF0dXMsCisgICAgICAgICAgICAgICAgICAgICAgICByc3BfY29u
cyAmIChSSU5HX1NJWkUoJkJsb2NrUmluZy0+RnJvbnQpIC0gMSkpOworICAgICAgICAgICAgICAg
IC8vIGR1bXAgc3VibWl0dGVkIHJlcXM/CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgIFRhcmdldENvbXBsZXRlUmVzcG9uc2UoQmxvY2tSaW5nLT5UYXJnZXQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByc3AtPmlkLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcnNwLT5zdGF0dXMpOworICAgICAgICAgICAgICAgICsr
QmxvY2tSaW5nLT5Db21wbGV0ZWQ7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICArK3JzcF9j
b25zOwogCi0gICAgICAgICAgICBSdGxaZXJvTWVtb3J5KFJlc3BvbnNlLCBzaXplb2YodW5pb24g
YmxraWZfc3JpbmdfZW50cnkpKTsKKyAgICAgICAgICAgIFJ0bFplcm9NZW1vcnkocnNwLCBzaXpl
b2YodW5pb24gYmxraWZfc3JpbmdfZW50cnkpKTsKICAgICAgICAgfQogCiAgICAgICAgIEtlTWVt
b3J5QmFycmllcigpOwogCi0gICAgICAgIEJsb2NrUmluZy0+RnJvbnRSaW5nLnJzcF9jb25zID0g
cnNwX2NvbnM7Ci0gICAgICAgIEJsb2NrUmluZy0+U2hhcmVkUmluZy0+cnNwX2V2ZW50ID0gcnNw
X2NvbnMgKyAxOworICAgICAgICBCbG9ja1JpbmctPkZyb250LnJzcF9jb25zID0gcnNwX2NvbnM7
CisgICAgICAgIEJsb2NrUmluZy0+U2hhcmVkLT5yc3BfZXZlbnQgPSByc3BfY29ucyArIDE7CiAg
ICAgfQogCiBkb25lOgogICAgIEtlUmVsZWFzZVNwaW5Mb2NrRnJvbURwY0xldmVsKCZCbG9ja1Jp
bmctPkxvY2spOworCisgICAgLy8gc3VibWl0IGFsbCBwcmVwYXJlZCByZXF1ZXN0cywgcHJlcGFy
ZSB0aGUgbmV4dCBzcmIKKyAgICBUYXJnZXRTdWJtaXRSZXF1ZXN0cyhCbG9ja1JpbmctPlRhcmdl
dCk7CisKKyAgICByZXR1cm4gQmxvY2tSaW5nLT5TdWJtaXR0ZWQgLSBCbG9ja1JpbmctPkNvbXBs
ZXRlZDsKIH0KIAogQk9PTEVBTgogQmxvY2tSaW5nU3VibWl0KAotICAgIElOICBQWEVOVkJEX0JM
T0NLUklORyAgICAgICAgICAgQmxvY2tSaW5nLAotICAgIElOICBQWEVOVkJEX1JFUVVFU1QgICAg
ICAgICAgICAgUmVxdWVzdAorICAgIElOICBQWEVOVkJEX0JMT0NLUklORyAgIEJsb2NrUmluZywK
KyAgICBJTiAgUFhFTlZCRF9SRVFVRVNUICAgICBSZXF1ZXN0CiAgICAgKQogewotICAgIEtJUlFM
ICAgICAgICAgICAgICAgSXJxbDsKLSAgICBibGtpZl9yZXF1ZXN0X3QqICAgIHJlcTsKLSAgICBC
T09MRUFOICAgICAgICAgICAgIE5vdGlmeTsKKyAgICBQTElTVF9FTlRSWSAgICAgICAgICAgICBM
aXN0RW50cnk7CisgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgSW5kZXg7CisgICAgUFhFTlZC
RF9HUkFOVEVSICAgICAgICAgR3JhbnRlcjsKKyAgICBLSVJRTCAgICAgICAgICAgICAgICAgICBJ
cnFsOworICAgIGJsa2lmX3JlcXVlc3RfdCogICAgICAgIHJlcTsKKyAgICBCT09MRUFOICAgICAg
ICAgICAgICAgICBOb3RpZnk7CiAKICAgICBLZUFjcXVpcmVTcGluTG9jaygmQmxvY2tSaW5nLT5M
b2NrLCAmSXJxbCk7Ci0gICAgaWYgKFJJTkdfRlVMTCgmQmxvY2tSaW5nLT5Gcm9udFJpbmcpKSB7
CisgICAgaWYgKFJJTkdfRlVMTCgmQmxvY2tSaW5nLT5Gcm9udCkpIHsKICAgICAgICAgS2VSZWxl
YXNlU3BpbkxvY2soJkJsb2NrUmluZy0+TG9jaywgSXJxbCk7CiAgICAgICAgIHJldHVybiBGQUxT
RTsKICAgICB9CiAKLSAgICByZXEgPSBSSU5HX0dFVF9SRVFVRVNUKCZCbG9ja1JpbmctPkZyb250
UmluZywgQmxvY2tSaW5nLT5Gcm9udFJpbmcucmVxX3Byb2RfcHZ0KTsKLSAgICBfX0Jsb2NrUmlu
Z0luc2VydChCbG9ja1JpbmcsIFJlcXVlc3QsIHJlcSk7CisgICAgcmVxID0gUklOR19HRVRfUkVR
VUVTVCgmQmxvY2tSaW5nLT5Gcm9udCwgQmxvY2tSaW5nLT5Gcm9udC5yZXFfcHJvZF9wdnQpOwor
ICAgICsrQmxvY2tSaW5nLT5Gcm9udC5yZXFfcHJvZF9wdnQ7CisgICAgKytCbG9ja1JpbmctPlN1
Ym1pdHRlZDsKKworICAgIEdyYW50ZXIgPSBUYXJnZXRHZXRHcmFudGVyKEJsb2NrUmluZy0+VGFy
Z2V0KTsKKyAgICBzd2l0Y2ggKFJlcXVlc3QtPk9wZXJhdGlvbikgeworICAgIGNhc2UgQkxLSUZf
T1BfRElTQ0FSRDogeworICAgICAgICBibGtpZl9yZXF1ZXN0X2Rpc2NhcmRfdCogICAgICAgIHJl
cV9kOworICAgICAgICByZXFfZCA9IChibGtpZl9yZXF1ZXN0X2Rpc2NhcmRfdCopcmVxOworICAg
ICAgICByZXFfZC0+b3BlcmF0aW9uICAgICAgICA9IEJMS0lGX09QX0RJU0NBUkQ7CisgICAgICAg
IHJlcV9kLT5mbGFnICAgICAgICAgICAgID0gUmVxdWVzdC0+RmxhZ3M7CisgICAgICAgIHJlcV9k
LT5oYW5kbGUgICAgICAgICAgID0gKFVTSE9SVClUYXJnZXRHZXREZXZpY2VJZChCbG9ja1Jpbmct
PlRhcmdldCk7CisgICAgICAgIHJlcV9kLT5pZCAgICAgICAgICAgICAgID0gUmVxdWVzdC0+SWQ7
CisgICAgICAgIHJlcV9kLT5zZWN0b3JfbnVtYmVyICAgID0gUmVxdWVzdC0+Rmlyc3RTZWN0b3I7
CisgICAgICAgIHJlcV9kLT5ucl9zZWN0b3JzICAgICAgID0gUmVxdWVzdC0+TnJTZWN0b3JzOwor
ICAgICAgICB9IGJyZWFrOworCisgICAgY2FzZSBCTEtJRl9PUF9SRUFEOgorICAgIGNhc2UgQkxL
SUZfT1BfV1JJVEU6CisgICAgICAgIGlmIChSZXF1ZXN0LT5OclNlZ21lbnRzID4gQkxLSUZfTUFY
X1NFR01FTlRTX1BFUl9SRVFVRVNUKSB7CisgICAgICAgICAgICAvLyBJbmRpcmVjdAorICAgICAg
ICAgICAgYmxraWZfcmVxdWVzdF9pbmRpcmVjdF90KiAgIHJlcV9pOworICAgICAgICAgICAgVUxP
TkcgICAgICAgICAgICAgICAgICAgICAgIFBhZ2VJZHg7CisgICAgICAgICAgICBVTE9ORyAgICAg
ICAgICAgICAgICAgICAgICAgU2VnSWR4OworICAgICAgICAgICAgUExJU1RfRU5UUlkgICAgICAg
ICAgICAgICAgIFBhZ2VFbnRyeTsKKyAgICAgICAgICAgIFBMSVNUX0VOVFJZICAgICAgICAgICAg
ICAgICBTZWdFbnRyeTsKKworICAgICAgICAgICAgcmVxX2kgPSAoYmxraWZfcmVxdWVzdF9pbmRp
cmVjdF90KilyZXE7CisgICAgICAgICAgICByZXFfaS0+b3BlcmF0aW9uICAgICAgICAgPSBCTEtJ
Rl9PUF9JTkRJUkVDVDsKKyAgICAgICAgICAgIHJlcV9pLT5pbmRpcmVjdF9vcCAgICAgICA9IFJl
cXVlc3QtPk9wZXJhdGlvbjsKKyAgICAgICAgICAgIHJlcV9pLT5ucl9zZWdtZW50cyAgICAgICA9
IFJlcXVlc3QtPk5yU2VnbWVudHM7CisgICAgICAgICAgICByZXFfaS0+aWQgICAgICAgICAgICAg
ICAgPSBSZXF1ZXN0LT5JZDsKKyAgICAgICAgICAgIHJlcV9pLT5zZWN0b3JfbnVtYmVyICAgICA9
IFJlcXVlc3QtPkZpcnN0U2VjdG9yOworICAgICAgICAgICAgcmVxX2ktPmhhbmRsZSAgICAgICAg
ICAgID0gKFVTSE9SVClUYXJnZXRHZXREZXZpY2VJZChCbG9ja1JpbmctPlRhcmdldCk7CisKKyAg
ICAgICAgICAgIFBhZ2VFbnRyeSA9IFJlcXVlc3QtPkluZGlyZWN0cy5GbGluazsKKyAgICAgICAg
ICAgIFNlZ0VudHJ5ID0gUmVxdWVzdC0+U2VnbWVudHMuRmxpbms7CisgICAgICAgICAgICBmb3Ig
KFBhZ2VJZHggPSAwOyBQYWdlSWR4IDwgQkxLSUZfTUFYX0lORElSRUNUX1BBR0VTX1BFUl9SRVFV
RVNUOyArK1BhZ2VJZHgpIHsKKyAgICAgICAgICAgICAgICBQWEVOVkJEX0lORElSRUNUIFBhZ2U7
CisKKyAgICAgICAgICAgICAgICBpZiAoUGFnZUVudHJ5ICE9ICZSZXF1ZXN0LT5JbmRpcmVjdHMp
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGlmIChTZWdFbnRy
eSAhPSAmUmVxdWVzdC0+U2VnbWVudHMpCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisg
ICAgICAgICAgICAgICAgUGFnZSA9IENPTlRBSU5JTkdfUkVDT1JEKFBhZ2VFbnRyeSwgWEVOVkJE
X0lORElSRUNULCBMaXN0RW50cnkpOworICAgICAgICAgICAgICAgIHJlcV9pLT5pbmRpcmVjdF9n
cmVmc1tQYWdlSWR4XSA9IEdyYW50ZXJSZWZlcmVuY2UoR3JhbnRlciwgUGFnZS0+R3JhbnQpOwor
CisgICAgICAgICAgICAgICAgZm9yIChTZWdJZHggPSAwOyBTZWdJZHggPCBYRU5WQkRfTUFYX1NF
R01FTlRTX1BFUl9QQUdFOyArK1NlZ0lkeCkgeworICAgICAgICAgICAgICAgICAgICBQWEVOVkJE
X1NFR01FTlQgU2VnbWVudDsKKworICAgICAgICAgICAgICAgICAgICBpZiAoU2VnRW50cnkgIT0g
JlJlcXVlc3QtPlNlZ21lbnRzKQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAg
ICAgICAgICAgICAgICAgICAgU2VnbWVudCA9IENPTlRBSU5JTkdfUkVDT1JEKFNlZ0VudHJ5LCBY
RU5WQkRfU0VHTUVOVCwgTGlzdEVudHJ5KTsKKyAgICAgICAgICAgICAgICAgICAgUGFnZS0+UGFn
ZVtTZWdJZHhdLkdyYW50UmVmID0gR3JhbnRlclJlZmVyZW5jZShHcmFudGVyLCBTZWdtZW50LT5H
cmFudCk7CisgICAgICAgICAgICAgICAgICAgIFBhZ2UtPlBhZ2VbU2VnSWR4XS5GaXJzdCAgICA9
IFNlZ21lbnQtPkZpcnN0U2VjdG9yOworICAgICAgICAgICAgICAgICAgICBQYWdlLT5QYWdlW1Nl
Z0lkeF0uTGFzdCAgICAgPSBTZWdtZW50LT5MYXN0U2VjdG9yOworCisgICAgICAgICAgICAgICAg
ICAgIFNlZ0VudHJ5ID0gU2VnRW50cnktPkZsaW5rOworICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgIFBhZ2VFbnRyeSA9IFBhZ2VFbnRyeS0+Rmxpbms7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBicmVhazsgLy8gb3V0IG9mIHN3aXRjaAorICAgICAgICB9CisgICAgICAg
IC8vIGludGVudGlvbmFsIGZhbGwgdGhyb3VnaAorICAgIGNhc2UgQkxLSUZfT1BfV1JJVEVfQkFS
UklFUjoKKyAgICBjYXNlIEJMS0lGX09QX0ZMVVNIX0RJU0tDQUNIRToKKyAgICBkZWZhdWx0Ogor
ICAgICAgICByZXEtPm9wZXJhdGlvbiAgICAgID0gUmVxdWVzdC0+T3BlcmF0aW9uOworICAgICAg
ICByZXEtPm5yX3NlZ21lbnRzICAgID0gKFVDSEFSKVJlcXVlc3QtPk5yU2VnbWVudHM7CisgICAg
ICAgIHJlcS0+aGFuZGxlICAgICAgICAgPSAoVVNIT1JUKVRhcmdldEdldERldmljZUlkKEJsb2Nr
UmluZy0+VGFyZ2V0KTsKKyAgICAgICAgcmVxLT5pZCAgICAgICAgICAgICA9IFJlcXVlc3QtPklk
OworICAgICAgICByZXEtPnNlY3Rvcl9udW1iZXIgID0gUmVxdWVzdC0+Rmlyc3RTZWN0b3I7CisK
KyAgICAgICAgZm9yIChMaXN0RW50cnkgPSBSZXF1ZXN0LT5TZWdtZW50cy5GbGluaywgSW5kZXgg
PSAwOworICAgICAgICAgICAgIExpc3RFbnRyeSAhPSAmUmVxdWVzdC0+U2VnbWVudHMgJiYgSW5k
ZXggPCBCTEtJRl9NQVhfU0VHTUVOVFNfUEVSX1JFUVVFU1Q7CisgICAgICAgICAgICAgTGlzdEVu
dHJ5ID0gTGlzdEVudHJ5LT5GbGluaywgKytJbmRleCkgeworICAgICAgICAgICAgUFhFTlZCRF9T
RUdNRU5UIFNlZ21lbnQgPSBDT05UQUlOSU5HX1JFQ09SRChMaXN0RW50cnksIFhFTlZCRF9TRUdN
RU5ULCBMaXN0RW50cnkpOworICAgICAgICAgICAgVUxPTkcgICAgICAgICAgIEdyYW50OworCisg
ICAgICAgICAgICBHcmFudCA9IEdyYW50ZXJSZWZlcmVuY2UoR3JhbnRlciwgU2VnbWVudC0+R3Jh
bnQpOworCisgICAgICAgICAgICByZXEtPnNlZ1tJbmRleF0uZmlyc3Rfc2VjdCA9IFNlZ21lbnQt
PkZpcnN0U2VjdG9yOworICAgICAgICAgICAgcmVxLT5zZWdbSW5kZXhdLmxhc3Rfc2VjdCAgPSBT
ZWdtZW50LT5MYXN0U2VjdG9yOworICAgICAgICAgICAgcmVxLT5zZWdbSW5kZXhdLmdyZWYgICAg
ICAgPSBHcmFudDsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICB9CisKICAgICBLZU1l
bW9yeUJhcnJpZXIoKTsKLSAgICArK0Jsb2NrUmluZy0+RnJvbnRSaW5nLnJlcV9wcm9kX3B2dDsK
IAotICAgIFJJTkdfUFVTSF9SRVFVRVNUU19BTkRfQ0hFQ0tfTk9USUZZKCZCbG9ja1JpbmctPkZy
b250UmluZywgTm90aWZ5KTsKKyAgICBSSU5HX1BVU0hfUkVRVUVTVFNfQU5EX0NIRUNLX05PVElG
WSgmQmxvY2tSaW5nLT5Gcm9udCwgTm90aWZ5KTsKICAgICBLZVJlbGVhc2VTcGluTG9jaygmQmxv
Y2tSaW5nLT5Mb2NrLCBJcnFsKTsKIAotICAgIGlmIChOb3RpZnkpCi0gICAgICAgIE5vdGlmaWVy
U2VuZChGcm9udGVuZEdldE5vdGlmaWVyKEJsb2NrUmluZy0+RnJvbnRlbmQpKTsKKyAgICBpZiAo
Tm90aWZ5KSB7CisgICAgICAgIFhFTkJVU19FVlRDSE4oU2VuZCwKKyAgICAgICAgICAgICAgICAg
ICAgICAmQmxvY2tSaW5nLT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAg
QmxvY2tSaW5nLT5DaGFubmVsKTsKKyAgICB9CiAKICAgICByZXR1cm4gVFJVRTsKIH0KKworVk9J
RAorQmxvY2tSaW5nS2ljaygKKyAgICBJTiAgUFhFTlZCRF9CTE9DS1JJTkcgICBCbG9ja1JpbmcK
KyAgICApCit7CisgICAgS2VJbnNlcnRRdWV1ZURwYygmQmxvY2tSaW5nLT5EcGMsIE5VTEwsIE5V
TEwpOworfQpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC9ibG9ja3JpbmcuaCBiL3NyYy94ZW52YmQv
YmxvY2tyaW5nLmgKaW5kZXggMTExN2Q3My4uMjY2MGU0NyAxMDA2NDQKLS0tIGEvc3JjL3hlbnZi
ZC9ibG9ja3JpbmcuaAorKysgYi9zcmMveGVudmJkL2Jsb2NrcmluZy5oCkBAIC0zMiw2NiArMzIs
NjQgQEAKICNpZm5kZWYgX1hFTlZCRF9CTE9DS1JJTkdfSAogI2RlZmluZSBfWEVOVkJEX0JMT0NL
UklOR19ICiAKKyNpbmNsdWRlIDxudGRkay5oPgorCiB0eXBlZGVmIHN0cnVjdCBfWEVOVkJEX0JM
T0NLUklORyBYRU5WQkRfQkxPQ0tSSU5HLCAqUFhFTlZCRF9CTE9DS1JJTkc7CiAKLSNpbmNsdWRl
ICJmcm9udGVuZC5oIgotI2luY2x1ZGUgPGRlYnVnX2ludGVyZmFjZS5oPgotI2luY2x1ZGUgPHN0
b3JlX2ludGVyZmFjZS5oPgorI2luY2x1ZGUgInRhcmdldC5oIgorI2luY2x1ZGUgInNyYmV4dC5o
IgogCiBleHRlcm4gTlRTVEFUVVMKIEJsb2NrUmluZ0NyZWF0ZSgKLSAgICBJTiAgUFhFTlZCRF9G
Uk9OVEVORCAgICAgICAgICAgIEZyb250ZW5kLAotICAgIElOICBVTE9ORyAgICAgICAgICAgICAg
ICAgICAgICAgRGV2aWNlSWQsCi0gICAgT1VUIFBYRU5WQkRfQkxPQ0tSSU5HKiAgICAgICAgICBC
bG9ja1JpbmcKKyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgICAgICBUYXJnZXQsCisgICAgT1VUIFBY
RU5WQkRfQkxPQ0tSSU5HKiAgQmxvY2tSaW5nCiAgICAgKTsKIAogZXh0ZXJuIFZPSUQKIEJsb2Nr
UmluZ0Rlc3Ryb3koCi0gICAgSU4gIFBYRU5WQkRfQkxPQ0tSSU5HICAgICAgICAgICBCbG9ja1Jp
bmcKKyAgICBJTiAgUFhFTlZCRF9CTE9DS1JJTkcgICBCbG9ja1JpbmcKICAgICApOwogCiBleHRl
cm4gTlRTVEFUVVMKIEJsb2NrUmluZ0Nvbm5lY3QoCi0gICAgSU4gIFBYRU5WQkRfQkxPQ0tSSU5H
ICAgICAgICAgICBCbG9ja1JpbmcKKyAgICBJTiAgUFhFTlZCRF9CTE9DS1JJTkcgICBCbG9ja1Jp
bmcKICAgICApOwogCiBleHRlcm4gTlRTVEFUVVMKIEJsb2NrUmluZ1N0b3JlV3JpdGUoCi0gICAg
SU4gIFBYRU5WQkRfQkxPQ0tSSU5HICAgICAgICAgICBCbG9ja1JpbmcsCi0gICAgSU4gIFBYRU5C
VVNfU1RPUkVfVFJBTlNBQ1RJT04gICBUcmFuc2FjdGlvbiwKLSAgICBJTiAgUENIQVIgICAgICAg
ICAgICAgICAgICAgICAgIEZyb250ZW5kUGF0aAorICAgIElOICBQWEVOVkJEX0JMT0NLUklORyAg
IEJsb2NrUmluZywKKyAgICBJTiAgUFZPSUQgICAgICAgICAgICAgICBUcmFuc2FjdGlvbgogICAg
ICk7CiAKIGV4dGVybiBWT0lECiBCbG9ja1JpbmdFbmFibGUoCi0gICAgSU4gIFBYRU5WQkRfQkxP
Q0tSSU5HICAgICAgICAgICBCbG9ja1JpbmcKKyAgICBJTiAgUFhFTlZCRF9CTE9DS1JJTkcgICBC
bG9ja1JpbmcKICAgICApOwogCiBleHRlcm4gVk9JRAogQmxvY2tSaW5nRGlzYWJsZSgKLSAgICBJ
TiAgUFhFTlZCRF9CTE9DS1JJTkcgICAgICAgICAgIEJsb2NrUmluZworICAgIElOICBQWEVOVkJE
X0JMT0NLUklORyAgIEJsb2NrUmluZwogICAgICk7CiAKIGV4dGVybiBWT0lECiBCbG9ja1JpbmdE
aXNjb25uZWN0KAotICAgIElOICBQWEVOVkJEX0JMT0NLUklORyAgICAgICAgICAgQmxvY2tSaW5n
Ci0gICAgKTsKLQotZXh0ZXJuIFZPSUQKLUJsb2NrUmluZ0RlYnVnQ2FsbGJhY2soCi0gICAgSU4g
IFBYRU5WQkRfQkxPQ0tSSU5HICAgICAgICAgICBCbG9ja1JpbmcsCi0gICAgSU4gIFBYRU5CVVNf
REVCVUdfSU5URVJGQUNFICAgICBEZWJ1ZworICAgIElOICBQWEVOVkJEX0JMT0NLUklORyAgIEJs
b2NrUmluZwogICAgICk7CiAKLWV4dGVybiBWT0lECitleHRlcm4gVUxPTkcKIEJsb2NrUmluZ1Bv
bGwoCi0gICAgSU4gIFBYRU5WQkRfQkxPQ0tSSU5HICAgICAgICAgICBCbG9ja1JpbmcKKyAgICBJ
TiAgUFhFTlZCRF9CTE9DS1JJTkcgICBCbG9ja1JpbmcKICAgICApOwogCiBleHRlcm4gQk9PTEVB
TgogQmxvY2tSaW5nU3VibWl0KAotICAgIElOICBQWEVOVkJEX0JMT0NLUklORyAgICAgICAgICAg
QmxvY2tSaW5nLAotICAgIElOICBQWEVOVkJEX1JFUVVFU1QgICAgICAgICAgICAgUmVxdWVzdAor
ICAgIElOICBQWEVOVkJEX0JMT0NLUklORyAgIEJsb2NrUmluZywKKyAgICBJTiAgUFhFTlZCRF9S
RVFVRVNUICAgICBSZXF1ZXN0CisgICAgKTsKKworZXh0ZXJuIFZPSUQKK0Jsb2NrUmluZ0tpY2so
CisgICAgSU4gIFBYRU5WQkRfQkxPQ0tSSU5HICAgQmxvY2tSaW5nCiAgICAgKTsKIAogI2VuZGlm
IC8vIF9YRU5WQkRfQkxPQ0tSSU5HX0gKZGlmZiAtLWdpdCBhL3NyYy94ZW52YmQvZnJvbnRlbmQu
YyBiL3NyYy94ZW52YmQvZnJvbnRlbmQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NjkxZWEzYS4uMDAwMDAwMAotLS0gYS9zcmMveGVudmJkL2Zyb250ZW5kLmMKKysrIC9kZXYvbnVs
bApAQCAtMSwxNzY5ICswLDAgQEAKLS8qIENvcHlyaWdodCAoYykgQ2l0cml4IFN5c3RlbXMgSW5j
LgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3JtcywgCi0gKiB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIAotICogdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlIG1ldDoKLSAqIAotICogKiAgIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgCi0gKiAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSAKLSAqICAgICBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqICogICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIAotICogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgCi0gKiAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIAotICogICAgIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKiAKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCAKLSAqIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIAotICogSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgCi0gKiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSAKLSAqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIAotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIAotICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgCi0g
KiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
Ci0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IAotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIAotICogV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIAotICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSAKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgCi0gKiBTVUNIIERBTUFHRS4KLSAqLyAKLQotI2lu
Y2x1ZGUgPG50ZGRrLmg+Ci0jaW5jbHVkZSA8bnRzdHJzYWZlLmg+Ci0KLSNpbmNsdWRlICJmcm9u
dGVuZC5oIgotI2luY2x1ZGUgInJlZ2lzdHJ5LmgiCi0jaW5jbHVkZSAiZHJpdmVyLmgiCi0jaW5j
bHVkZSAiYWRhcHRlci5oIgotI2luY2x1ZGUgInBkb2lucXVpcnkuaCIKLSNpbmNsdWRlICJzcmJl
eHQuaCIKLSNpbmNsdWRlICJkZWJ1Zy5oIgotI2luY2x1ZGUgImFzc2VydC5oIgotI2luY2x1ZGUg
InV0aWwuaCIKLSNpbmNsdWRlICJuYW1lcy5oIgotI2luY2x1ZGUgIm5vdGlmaWVyLmgiCi0jaW5j
bHVkZSAiYmxvY2tyaW5nLmgiCi0jaW5jbHVkZSAiZ3JhbnRlci5oIgotI2luY2x1ZGUgInRocmVh
ZC5oIgotI2luY2x1ZGUgPHN0b3JlX2ludGVyZmFjZS5oPgotI2luY2x1ZGUgPHN1c3BlbmRfaW50
ZXJmYWNlLmg+Ci0KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLQotc3RydWN0IF9YRU5WQkRfRlJPTlRF
TkQgewotICAgIC8vIEZyb250ZW5kCi0gICAgUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgIFRh
cmdldDsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0SWQ7Ci0gICAgVUxP
TkcgICAgICAgICAgICAgICAgICAgICAgIERldmljZUlkOwotICAgIENIQVIgICAgICAgICAgICAg
ICAgICAgICAgICBGcm9udGVuZFBhdGhbc2l6ZW9mKCJkZXZpY2UvdmJkL1hYWFhYWFhYIildOwot
ICAgIFBDSEFSICAgICAgICAgICAgICAgICAgICAgICBCYWNrZW5kUGF0aDsKLSAgICBDSEFSICAg
ICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0UGF0aFtzaXplb2YoImRhdGEvc2NzaS90YXJnZXQv
WFhYWCIpXTsKLSAgICBVU0hPUlQgICAgICAgICAgICAgICAgICAgICAgQmFja2VuZElkOwotICAg
IFhFTlZCRF9TVEFURSAgICAgICAgICAgICAgICBTdGF0ZTsKLSAgICBLU1BJTl9MT0NLICAgICAg
ICAgICAgICAgICAgU3RhdGVMb2NrOwotCi0gICAgWEVOVkJEX0NBUFMgICAgICAgICAgICAgICAg
IENhcHM7Ci0gICAgWEVOVkJEX0ZFQVRVUkVTICAgICAgICAgICAgIEZlYXR1cmVzOwotICAgIFhF
TlZCRF9ESVNLSU5GTyAgICAgICAgICAgICBEaXNrSW5mbzsKLSAgICBQVk9JRCAgICAgICAgICAg
ICAgICAgICAgICAgSW5xdWlyeTsKLQotICAgIC8vIEludGVyZmFjZXMgdG8gWGVuQnVzCi0gICAg
WEVOQlVTX1NUT1JFX0lOVEVSRkFDRSAgICAgIFN0b3JlSW50ZXJmYWNlOwotICAgIFhFTkJVU19T
VVNQRU5EX0lOVEVSRkFDRSAgICBTdXNwZW5kSW50ZXJmYWNlOwotCi0gICAgUFhFTkJVU19TVVNQ
RU5EX0NBTExCQUNLICAgIFN1c3BlbmRMYXRlQ2FsbGJhY2s7Ci0KLSAgICAvLyBSaW5nCi0gICAg
UFhFTlZCRF9OT1RJRklFUiAgICAgICAgICAgIE5vdGlmaWVyOwotICAgIFBYRU5WQkRfQkxPQ0tS
SU5HICAgICAgICAgICBCbG9ja1Jpbmc7Ci0gICAgUFhFTlZCRF9HUkFOVEVSICAgICAgICAgICAg
IEdyYW50ZXI7Ci0KLSAgICAvLyBCYWNrZW5kIFN0YXRlIFdhdGNoCi0gICAgQk9PTEVBTiAgICAg
ICAgICAgICAgICAgICAgIEFjdGl2ZTsKLSAgICBQWEVOVkJEX1RIUkVBRCAgICAgICAgICAgICAg
QmFja2VuZFRocmVhZDsKLSAgICBQWEVOQlVTX1NUT1JFX1dBVENIICAgICAgICAgQmFja2VuZFdh
dGNoOwotfTsKLQotI2RlZmluZSBET01JRF9JTlZBTElEICgweDdGRjRVKQotCi1zdGF0aWMgY29u
c3QgUENIQVIKLV9fWGVudmJkU3RhdGVOYW1lKAotICAgIElOICBYRU5WQkRfU1RBVEUgICAgICAg
ICAgICAgICAgICAgICAgICBTdGF0ZQotICAgICkKLXsKLSAgICBzd2l0Y2ggKFN0YXRlKSB7Ci0g
ICAgY2FzZSBYRU5WQkRfU1RBVEVfSU5WQUxJRDogICAgICByZXR1cm4gIlNUQVRFX0lOVkFMSUQi
OwotICAgIGNhc2UgWEVOVkJEX0lOSVRJQUxJWkVEOiAgICAgICAgcmV0dXJuICJJTklUSUFMSVpF
RCI7Ci0gICAgY2FzZSBYRU5WQkRfQ0xPU0lORzogICAgICAgICAgICByZXR1cm4gIkNMT1NJTkci
OwotICAgIGNhc2UgWEVOVkJEX0NMT1NFRDogICAgICAgICAgICAgcmV0dXJuICJDTE9TRUQiOwot
ICAgIGNhc2UgWEVOVkJEX1BSRVBBUkVEOiAgICAgICAgICAgcmV0dXJuICJQUkVQQVJFRCI7Ci0g
ICAgY2FzZSBYRU5WQkRfQ09OTkVDVEVEOiAgICAgICAgICByZXR1cm4gIkNPTk5FQ1RFRCI7Ci0g
ICAgY2FzZSBYRU5WQkRfRU5BQkxFRDogICAgICAgICAgICByZXR1cm4gIkVOQUJMRUQiOwotICAg
IGRlZmF1bHQ6ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJVTktOT1dOIjsKLSAgICB9
Ci19Ci0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0jZGVmaW5lIEZST05URU5EX1BPT0xfVEFHICAg
ICAgICAgICAgJ3RuRlgnCi1fX2NoZWNrUmV0dXJuCi1fX2Rydl9hbGxvY2F0ZXNNZW0obWVtKQot
X19iY291bnQoU2l6ZSkKLXN0YXRpYyBGT1JDRUlOTElORSBQVk9JRAotI3ByYWdtYSB3YXJuaW5n
KHN1cHByZXNzOiAyODE5NSkKLV9fRnJvbnRlbmRBbGxvYygKLSAgICBfX2luICBVTE9ORyBTaXpl
Ci0gICAgKQotewotICAgIHJldHVybiBfX0FsbG9jYXRlUG9vbFdpdGhUYWcoTm9uUGFnZWRQb29s
LCBTaXplLCBGUk9OVEVORF9QT09MX1RBRyk7Ci19Ci0KLXN0YXRpYyBGT1JDRUlOTElORSBWT0lE
Ci0jcHJhZ21hIHdhcm5pbmcoc3VwcHJlc3M6IDI4MTk3KQotX19Gcm9udGVuZEZyZWUoCi0gICAg
X19pbiBfX2Rydl9mcmVlc01lbShtZW0pIFBWT0lEIEJ1ZmZlcgotICAgICkKLXsKLSAgICBpZiAo
QnVmZmVyKQotICAgICAgICBfX0ZyZWVQb29sV2l0aFRhZyhCdWZmZXIsIEZST05URU5EX1BPT0xf
VEFHKTsKLX0KLQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLy8gQWNjZXNzb3JzCi1WT0lECi1G
cm9udGVuZFJlbW92ZUZlYXR1cmUoCi0gICAgSU4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICAgIEZy
b250ZW5kLAotICAgIElOICBVQ0hBUiAgICAgICAgICAgICAgICAgICBCbGtpZk9wZXJhdGlvbgot
ICAgICkKLXsKLSAgICBzd2l0Y2ggKEJsa2lmT3BlcmF0aW9uKSB7Ci0gICAgY2FzZSBCTEtJRl9P
UF9GTFVTSF9ESVNLQ0FDSEU6Ci0gICAgICAgIFZlcmJvc2UoIkZMVVNIX0RJU0tDQUNIRVxuIik7
Ci0gICAgICAgIEZyb250ZW5kLT5EaXNrSW5mby5GbHVzaENhY2hlID0gRkFMU0U7Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgQkxLSUZfT1BfV1JJVEVfQkFSUklFUjogICAgCi0gICAgICAgIFZl
cmJvc2UoIldSSVRFX0JBUlJJRVJcbiIpOwotICAgICAgICBGcm9udGVuZC0+RGlza0luZm8uQmFy
cmllciA9IEZBTFNFOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEJMS0lGX09QX0RJU0NBUkQ6
Ci0gICAgICAgIFZlcmJvc2UoIkRJU0NBUkRcbiIpOwotICAgICAgICBGcm9udGVuZC0+RGlza0lu
Zm8uRGlzY2FyZCA9IEZBTFNFOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEJMS0lGX09QX0lO
RElSRUNUOgotICAgICAgICBWZXJib3NlKCJJTkRJUkVDVFxuIik7Ci0gICAgICAgIEZyb250ZW5k
LT5GZWF0dXJlcy5JbmRpcmVjdCA9IDA7Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0g
ICAgICAgIGJyZWFrOwotICAgIH0KLX0KLVBYRU5WQkRfQ0FQUwotRnJvbnRlbmRHZXRDYXBzKAot
ICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICBGcm9udGVuZAotICAgICkKLXsKLSAgICBy
ZXR1cm4gJkZyb250ZW5kLT5DYXBzOwotfQotUFhFTlZCRF9GRUFUVVJFUwotRnJvbnRlbmRHZXRG
ZWF0dXJlcygKLSAgICBfX2luICBQWEVOVkJEX0ZST05URU5EICAgICAgRnJvbnRlbmQKLSAgICAp
Ci17Ci0gICAgcmV0dXJuICZGcm9udGVuZC0+RmVhdHVyZXM7Ci19Ci1QWEVOVkJEX0RJU0tJTkZP
Ci1Gcm9udGVuZEdldERpc2tJbmZvKAotICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICBG
cm9udGVuZAotICAgICkKLXsKLSAgICByZXR1cm4gJkZyb250ZW5kLT5EaXNrSW5mbzsKLX0KLVVM
T05HCi1Gcm9udGVuZEdldFRhcmdldElkKAotICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAg
ICBGcm9udGVuZAotICAgICkKLXsKLSAgICByZXR1cm4gRnJvbnRlbmQtPlRhcmdldElkOwotfQot
VUxPTkcKLUZyb250ZW5kR2V0RGV2aWNlSWQoCi0gICAgX19pbiAgUFhFTlZCRF9GUk9OVEVORCAg
ICAgIEZyb250ZW5kCi0gICAgKQotewotICAgICByZXR1cm4gRnJvbnRlbmQtPkRldmljZUlkOwot
fQotUFZPSUQKLUZyb250ZW5kR2V0SW5xdWlyeSgKLSAgICBfX2luICBQWEVOVkJEX0ZST05URU5E
ICAgICAgRnJvbnRlbmQKLSAgICApCi17Ci0gICAgcmV0dXJuIEZyb250ZW5kLT5JbnF1aXJ5Owot
fQotUFhFTlZCRF9UQVJHRVQKLUZyb250ZW5kR2V0VGFyZ2V0KAotICAgIF9faW4gIFBYRU5WQkRf
RlJPTlRFTkQgICAgICBGcm9udGVuZAotICAgICkKLXsKLSAgICByZXR1cm4gRnJvbnRlbmQtPlRh
cmdldDsKLX0KLVBYRU5WQkRfQkxPQ0tSSU5HCi1Gcm9udGVuZEdldEJsb2NrUmluZygKLSAgICBf
X2luICBQWEVOVkJEX0ZST05URU5EICAgICAgRnJvbnRlbmQKLSAgICApCi17Ci0gICAgcmV0dXJu
IEZyb250ZW5kLT5CbG9ja1Jpbmc7Ci19Ci1QWEVOVkJEX05PVElGSUVSCi1Gcm9udGVuZEdldE5v
dGlmaWVyKAotICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICBGcm9udGVuZAotICAgICkK
LXsKLSAgICByZXR1cm4gRnJvbnRlbmQtPk5vdGlmaWVyOwotfQotUFhFTlZCRF9HUkFOVEVSCi1G
cm9udGVuZEdldEdyYW50ZXIoCi0gICAgX19pbiAgUFhFTlZCRF9GUk9OVEVORCAgICAgIEZyb250
ZW5kCi0gICAgKQotewotICAgIHJldHVybiBGcm9udGVuZC0+R3JhbnRlcjsKLX0KLQotTlRTVEFU
VVMKLUZyb250ZW5kU3RvcmVXcml0ZUZyb250ZW5kKAotICAgIF9faW4gIFBYRU5WQkRfRlJPTlRF
TkQgICAgICBGcm9udGVuZCwKLSAgICBfX2luICBQQ0hBUiAgICAgICAgICAgICAgICAgTmFtZSwK
LSAgICBfX2luICBQQ0hBUiAgICAgICAgICAgICAgICAgVmFsdWUKLSAgICApCi17Ci0gICAgcmV0
dXJuIFhFTkJVU19TVE9SRShQcmludGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRl
bmQtPlN0b3JlSW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5Gcm9udGVuZFBhdGgsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBOYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgVmFsdWUpOwotfQotTlRT
VEFUVVMKLUZyb250ZW5kU3RvcmVSZWFkQmFja2VuZCgKLSAgICBfX2luICBQWEVOVkJEX0ZST05U
RU5EICAgICAgRnJvbnRlbmQsCi0gICAgX19pbiAgUENIQVIgICAgICAgICAgICAgICAgIE5hbWUs
Ci0gICAgX19vdXQgUENIQVIqICAgICAgICAgICAgICAgIFZhbHVlCi0gICAgKQotewotICAgIE5U
U1RBVFVTICAgIFN0YXR1czsKLQotICAgIFN0YXR1cyA9IFNUQVRVU19JTlZBTElEX1BBUkFNRVRF
UjsKLSAgICBpZiAoRnJvbnRlbmQtPkJhY2tlbmRQYXRoID09IE5VTEwpCi0gICAgICAgIGdvdG8g
ZmFpbDE7Ci0KLSAgICBTdGF0dXMgPSBYRU5CVVNfU1RPUkUoUmVhZCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPkJhY2tl
bmRQYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBWYWx1ZSk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAg
IGdvdG8gZmFpbDI7Ci0KLSAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7Ci0KLWZhaWwyOgotZmFp
bDE6Ci0gICAgcmV0dXJuIFN0YXR1czsKLX0KLVZPSUQKLUZyb250ZW5kU3RvcmVGcmVlKAotICAg
IF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICBGcm9udGVuZCwKLSAgICBfX2luICBQQ0hBUiAg
ICAgICAgICAgICAgICAgVmFsdWUKLSAgICApCi17Ci0gICAgWEVOQlVTX1NUT1JFKEZyZWUsCi0g
ICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UsCi0gICAgICAgICAgICAg
ICAgIFZhbHVlKTsKLX0KLV9fZHJ2X21heElSUUwoRElTUEFUQ0hfTEVWRUwpCi1OVFNUQVRVUwot
RnJvbnRlbmRXcml0ZVVzYWdlKAotICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICAgIEZy
b250ZW5kCi0gICAgKQotewotICAgIE5UU1RBVFVTICAgIFN0YXR1czsKLQotICAgIFN0YXR1cyA9
IFhFTkJVU19TVE9SRShQcmludGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZGcm9udGVu
ZC0+U3RvcmVJbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5UYXJnZXRQYXRoLCAKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgInBhZ2luZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICIldSIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5DYXBzLlBhZ2luZyk7Ci0gICAg
aWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gb3V0OwotCi0gICAgU3RhdHVz
ID0gWEVOQlVTX1NUT1JFKFByaW50ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250
ZW5kLT5TdG9yZUludGVyZmFjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPlRhcmdldFBhdGgsIAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaGliZXJuYXRpb24iLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAiJXUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+Q2Fwcy5IaWJlcm5h
dGlvbik7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gb3V0Owot
Ci0gICAgU3RhdHVzID0gWEVOQlVTX1NUT1JFKFByaW50ZiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPlRhcmdldFBhdGgs
IAotICAgICAgICAgICAgICAgICAgICAgICAgICAiZHVtcCIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICIldSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5DYXBzLkR1
bXBGaWxlKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKLSAgICAgICAgZ290byBvdXQ7
Ci0KLSAgICBWZXJib3NlKCJUYXJnZXRbJWRdIDogJXMgJXMgJXNcbiIsIEZyb250ZW5kLT5UYXJn
ZXRJZCwKLSAgICAgICAgICAgIEZyb250ZW5kLT5DYXBzLkR1bXBGaWxlID8gIkRVTVAiIDogIk5P
VF9EVU1QIiwgCi0gICAgICAgICAgICBGcm9udGVuZC0+Q2Fwcy5IaWJlcm5hdGlvbiA/ICJISUJF
UiIgOiAiTk9UX0hJQkVSIiwKLSAgICAgICAgICAgIEZyb250ZW5kLT5DYXBzLlBhZ2luZyA/ICJQ
QUdFIiA6ICJOT1RfUEFHRSIpOwotCi1vdXQ6Ci0gICAgcmV0dXJuIFN0YXR1czsKLX0KLQotLy89
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotX19kcnZfcmVxdWlyZXNJUlFMKERJU1BBVENIX0xFVkVMKQot
Vk9JRAotRnJvbnRlbmROb3RpZnlSZXNwb25zZXMoCi0gICAgX19pbiAgUFhFTlZCRF9GUk9OVEVO
RCAgICAgICAgRnJvbnRlbmQKLSAgICApCi17Ci0gICAgQmxvY2tSaW5nUG9sbChGcm9udGVuZC0+
QmxvY2tSaW5nKTsKLSAgICBUYXJnZXRTdWJtaXRSZXF1ZXN0cyhGcm9udGVuZC0+VGFyZ2V0KTsK
LX0KLQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotX19kcnZfcmVxdWlyZXNJUlFMKERJU1BBVENI
X0xFVkVMKQotc3RhdGljIE5UU1RBVFVTCi1fX1VwZGF0ZUJhY2tlbmRQYXRoKAotICAgIF9faW4g
IFBYRU5WQkRfRlJPTlRFTkQgICAgICAgIEZyb250ZW5kCi0gICAgKQotewotICAgIE5UU1RBVFVT
ICAgIFN0YXR1czsKLSAgICBQQ0hBUiAgICAgICBWYWx1ZTsKLSAgICBVTE9ORyAgICAgICBMZW5n
dGg7Ci0KLSAgICBTdGF0dXMgPSBYRU5CVVNfU1RPUkUoUmVhZCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPkZyb250ZW5k
UGF0aCwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJiYWNrZW5kLWlkIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgJlZhbHVlKTsKLSAgICBpZiAoTlRfU1VDQ0VTUyhTdGF0dXMpKSB7
Ci0gICAgICAgIEZyb250ZW5kLT5CYWNrZW5kSWQgPSAoVVNIT1JUKXN0cnRvdWwoVmFsdWUsIE5V
TEwsIDEwKTsKLSAgICAgICAgWEVOQlVTX1NUT1JFKEZyZWUsCi0gICAgICAgICAgICAgICAgICAg
ICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAgICAgVmFsdWUp
OwotICAgIH0gZWxzZSB7Ci0gICAgICAgIEZyb250ZW5kLT5CYWNrZW5kSWQgPSAwOwotICAgIH0K
LQotICAgIFN0YXR1cyA9IFhFTkJVU19TVE9SRShSZWFkLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+RnJvbnRlbmRQYXRo
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAiYmFja2VuZCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICZWYWx1ZSk7Ci0gICAgaWYgKE5UX1NVQ0NFU1MoU3RhdHVzKSkgewotICAgICAg
ICBpZiAoRnJvbnRlbmQtPkJhY2tlbmRQYXRoKSB7Ci0gICAgICAgICAgICBUcmFjZSgiPDwgJXNc
biIsIEZyb250ZW5kLT5CYWNrZW5kUGF0aCk7Ci0gICAgICAgICAgICBfX0Zyb250ZW5kRnJlZShG
cm9udGVuZC0+QmFja2VuZFBhdGgpOwotICAgICAgICAgICAgRnJvbnRlbmQtPkJhY2tlbmRQYXRo
ID0gTlVMTDsKLSAgICAgICAgfQotCi0gICAgICAgIExlbmd0aCA9IChVTE9ORylzdHJsZW4oVmFs
dWUpOwotICAgICAgICBGcm9udGVuZC0+QmFja2VuZFBhdGggPSAoUENIQVIpX19Gcm9udGVuZEFs
bG9jKExlbmd0aCArIDEpOwotCi0gICAgICAgIGlmIChGcm9udGVuZC0+QmFja2VuZFBhdGgpIHsK
LSAgICAgICAgICAgIFJ0bENvcHlNZW1vcnkoRnJvbnRlbmQtPkJhY2tlbmRQYXRoLCBWYWx1ZSwg
TGVuZ3RoKTsKLSAgICAgICAgICAgIFRyYWNlKCI+PiAlc1xuIiwgRnJvbnRlbmQtPkJhY2tlbmRQ
YXRoKTsKLSAgICAgICAgfQotCi0gICAgICAgIFhFTkJVU19TVE9SRShGcmVlLAotICAgICAgICAg
ICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKLSAgICAgICAgICAgICAgICAg
ICAgIFZhbHVlKTsKLSAgICB9IGVsc2UgewotICAgICAgICBXYXJuaW5nKCJGYWlsZWQgdG8gcmVh
ZCBcJ2JhY2tlbmRcJyBmcm9tIFwnJXNcJyAoJTA4eClcbiIsIAotICAgICAgICAgICAgICAgICAg
ICBGcm9udGVuZC0+RnJvbnRlbmRQYXRoLCBTdGF0dXMpOwotICAgIH0KLQotICAgIHJldHVybiBT
dGF0dXM7Ci19Ci1fX2Rydl9tYXhJUlFMKERJU1BBVENIX0xFVkVMKQotc3RhdGljIE5UU1RBVFVT
Ci1fX1JlYWRTdGF0ZSgKLSAgICBfX2luICBQWEVOVkJEX0ZST05URU5EICAgICAgICBGcm9udGVu
ZCwKLSAgICBfX2luX29wdCBQWEVOQlVTX1NUT1JFX1RSQU5TQUNUSU9OIFRyYW5zYWN0aW9uLAot
ICAgIF9faW4gIFBDSEFSICAgICAgICAgICAgICAgICAgIFBhdGgsCi0gICAgX19vdXQgWGVuYnVz
U3RhdGUqICAgICAgICAgICAgU3RhdGUKLSAgICApCi17Ci0gICAgTlRTVEFUVVMgICAgICAgIFN0
YXR1czsKLSAgICBQQ0hBUiAgICAgICAgICAgQnVmZmVyOwotCi0gICAgU3RhdHVzID0gWEVOQlVT
X1NUT1JFKFJlYWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJ
bnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zYWN0aW9uLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBQYXRoLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgInN0
YXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlcik7Ci0gICAgaWYgKCFOVF9T
VUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDsKLQotICAgICpTdGF0ZSA9IChYZW5i
dXNTdGF0ZSlzdHJ0b3VsKEJ1ZmZlciwgTlVMTCwgMTApOwotICAgIFhFTkJVU19TVE9SRShGcmVl
LAotICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAotICAgICAgICAg
ICAgICAgICBCdWZmZXIpOwotCi0gICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwotCi1mYWlsOgot
ICAgICpTdGF0ZSA9IFhlbmJ1c1N0YXRlVW5rbm93bjsKLSAgICByZXR1cm4gU3RhdHVzOwotfQot
X19kcnZfcmVxdWlyZXNJUlFMKERJU1BBVENIX0xFVkVMKQotc3RhdGljIE5UU1RBVFVTCi1fX1dh
aXRTdGF0ZSgKLSAgICBfX2luICBQWEVOVkJEX0ZST05URU5EICAgICAgICBGcm9udGVuZCwKLSAg
ICBfX2lub3V0ICBYZW5idXNTdGF0ZSogICAgICAgICBTdGF0ZQotICAgICkKLXsKLSAgICBOVFNU
QVRVUyAgICAgICAgU3RhdHVzOwotICAgIFhlbmJ1c1N0YXRlICAgICBPbGRTdGF0ZSA9ICpTdGF0
ZTsKLSAgICBQWEVOQlVTX1NUT1JFX1dBVENIIFdhdGNoOwotICAgIEtFVkVOVCAgICAgICAgICBF
dmVudDsKLSAgICBMQVJHRV9JTlRFR0VSICAgVGltZW91dDsKLQotICAgIExBUkdFX0lOVEVHRVIg
ICBTdGFydFRpbWU7Ci0gICAgTEFSR0VfSU5URUdFUiAgIEN1cnJlbnRUaW1lOwotICAgIFVMT05H
ICAgICAgICAgICBDb3VudCA9IDA7Ci0KLSAgICBLZUluaXRpYWxpemVFdmVudCgmRXZlbnQsIE5v
dGlmaWNhdGlvbkV2ZW50LCBGQUxTRSk7Ci0gICAgVGltZW91dC5RdWFkUGFydCA9IDA7Ci0KLSAg
ICBBU1NFUlQzUChGcm9udGVuZC0+QmFja2VuZFBhdGgsICE9LCBOVUxMKTsKLSAgICBTdGF0dXMg
PSBYRU5CVVNfU1RPUkUoV2F0Y2hBZGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZGcm9u
dGVuZC0+U3RvcmVJbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5k
LT5CYWNrZW5kUGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXRlIiwgCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICZFdmVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
JldhdGNoKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKLSAgICAgICAgZ290byBmYWls
MTsKLQotICAgIEtlUXVlcnlTeXN0ZW1UaW1lKCZTdGFydFRpbWUpOwotCi0gICAgd2hpbGUgKE9s
ZFN0YXRlID09ICpTdGF0ZSkgewotICAgICAgICAvLyBjaGVjayBldmVudCBhbmQgc3BpbiBvciBy
ZWFkCi0jcHJhZ21hIHByZWZhc3Qoc3VwcHJlc3M6MjgxMjEpCi0gICAgICAgIGlmIChLZVdhaXRG
b3JTaW5nbGVPYmplY3QoJkV2ZW50LCBFeGVjdXRpdmUsIEtlcm5lbE1vZGUsIAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsICZUaW1lb3V0KSA9PSBTVEFUVVNfVElN
RU9VVCkgewotICAgICAgICAgICAgWEVOQlVTX1NUT1JFKFBvbGwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSk7Ci0KLSAgICAgICAgICAgIEtlUXVl
cnlTeXN0ZW1UaW1lKCZDdXJyZW50VGltZSk7Ci0gICAgICAgICAgICBpZiAoKEN1cnJlbnRUaW1l
LlF1YWRQYXJ0IC0gU3RhcnRUaW1lLlF1YWRQYXJ0KSA+IDEwMDAwKSB7Ci0gICAgICAgICAgICAg
ICAgV2FybmluZygiVGFyZ2V0WyVkXSA6ICVkIFdhaXRlZCBmb3IgJWQgbXNcbiIsIEZyb250ZW5k
LT5UYXJnZXRJZCwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ291bnQsIChVTE9ORyko
KEN1cnJlbnRUaW1lLlF1YWRQYXJ0IC0gU3RhcnRUaW1lLlF1YWRQYXJ0KSAvIDEwKSk7Ci0gICAg
ICAgICAgICAgICAgU3RhcnRUaW1lLlF1YWRQYXJ0ID0gQ3VycmVudFRpbWUuUXVhZFBhcnQ7Ci0g
ICAgICAgICAgICAgICAgKytDb3VudDsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgIH0KLQotICAgICAgICBTdGF0dXMgPSBfX1JlYWRTdGF0ZShGcm9udGVu
ZCwgTlVMTCwgRnJvbnRlbmQtPkJhY2tlbmRQYXRoLCBTdGF0ZSk7Ci0gICAgICAgIGlmICghTlRf
U1VDQ0VTUyhTdGF0dXMpKQotICAgICAgICAgICAgZ290byBmYWlsMjsKLSAgICB9Ci0KLSAgICBY
RU5CVVNfU1RPUkUoV2F0Y2hSZW1vdmUsCi0gICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3Rv
cmVJbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgIFdhdGNoKTsKLQotICAgIFRyYWNlKCJUYXJn
ZXRbJWRdIDogQkFDS0VORF9TVEFURSAgLT4gJXNcbiIsCi0gICAgICAgICAgRnJvbnRlbmQtPlRh
cmdldElkLAotICAgICAgICAgIFhlbmJ1c1N0YXRlTmFtZSgqU3RhdGUpKTsKLQotICAgIHJldHVy
biBTVEFUVVNfU1VDQ0VTUzsKLQotZmFpbDI6Ci0gICAgRXJyb3IoIkZhaWwyXG4iKTsKLQotICAg
IFhFTkJVU19TVE9SRShXYXRjaFJlbW92ZSwKLSAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5T
dG9yZUludGVyZmFjZSwKLSAgICAgICAgICAgICAgICAgV2F0Y2gpOwotZmFpbDE6Ci0gICAgRXJy
b3IoIkZhaWwxICglMDh4KVxuIiwgU3RhdHVzKTsKLQotICAgIHJldHVybiBTdGF0dXM7Ci19Ci1f
X2Rydl9yZXF1aXJlc0lSUUwoRElTUEFUQ0hfTEVWRUwpCi1zdGF0aWMgTlRTVEFUVVMKLV9fX1Nl
dFN0YXRlKAotICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICAgIEZyb250ZW5kLAotICAg
IF9faW4gIFhlbmJ1c1N0YXRlICAgICAgICAgICAgIFN0YXRlCi0gICAgKQotewotICAgIE5UU1RB
VFVTICAgIFN0YXR1czsKLQotICAgIFN0YXR1cyA9IFhFTkJVU19TVE9SRShQcmludGYsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250
ZW5kLT5Gcm9udGVuZFBhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJzdGF0ZSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICIldSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IFN0YXRlKTsKLSAgICBpZiAoTlRfU1VDQ0VTUyhTdGF0dXMpKSB7Ci0gICAgICAgIFRyYWNlKCJU
YXJnZXRbJWRdIDogRlJPTlRFTkRfU1RBVEUgLT4gJXNcbiIsCi0gICAgICAgICAgICAgIEZyb250
ZW5kLT5UYXJnZXRJZCwKLSAgICAgICAgICAgICAgWGVuYnVzU3RhdGVOYW1lKFN0YXRlKSk7Ci0g
ICAgfSBlbHNlIHsKLSAgICAgICAgRXJyb3IoIkZhaWwgKCUwOHgpXG4iLCBTdGF0dXMpOwotICAg
IH0KLQotICAgIHJldHVybiBTdGF0dXM7Ci19Ci1fX2Rydl9yZXF1aXJlc0lSUUwoRElTUEFUQ0hf
TEVWRUwpCi1zdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAotX19DaGVja0JhY2tlbmRGb3JFamVjdCgK
LSAgICBfX2luICBQWEVOVkJEX0ZST05URU5EICAgICAgICBGcm9udGVuZAotICAgICkKLXsKLSAg
ICBYZW5idXNTdGF0ZSAgICAgRnJvbnRlbmRTdGF0ZTsKLSAgICBYZW5idXNTdGF0ZSAgICAgQmFj
a2VuZFN0YXRlOwotICAgIEJPT0xFQU4gICAgICAgICBPbmxpbmU7Ci0gICAgVUxPTkcgICAgICAg
ICAgIEF0dGVtcHQ7Ci0gICAgTlRTVEFUVVMgICAgICAgIFN0YXR1czsKLQotICAgIGlmIChGcm9u
dGVuZC0+RnJvbnRlbmRQYXRoID09IE5VTEwpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoRnJv
bnRlbmQtPkJhY2tlbmRQYXRoID09IE5VTEwpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIGdl
dCBGcm9udGVuZFN0YXRlLCBCYWNrZW5kU3RhdGUgYW5kIE9ubGluZQotICAgIEF0dGVtcHQgICAg
ICAgICA9IDA7Ci0gICAgRnJvbnRlbmRTdGF0ZSAgID0gWGVuYnVzU3RhdGVVbmtub3duOwotICAg
IEJhY2tlbmRTdGF0ZSAgICA9IFhlbmJ1c1N0YXRlVW5rbm93bjsKLSAgICBPbmxpbmUgICAgICAg
ICAgPSBUUlVFOwotICAgIGZvciAoOzspIHsKLSAgICAgICAgUFhFTkJVU19TVE9SRV9UUkFOU0FD
VElPTiAgIFRyYW5zYWN0aW9uOwotICAgICAgICBQQ0hBUiAgICAgICAgICAgICAgICAgICAgICAg
QnVmZmVyOwotCi0gICAgICAgIFN0YXR1cyA9IFhFTkJVU19TVE9SRShUcmFuc2FjdGlvblN0YXJ0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFj
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZUcmFuc2FjdGlvbik7Ci0gICAgICAg
IGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAg
U3RhdHVzID0gX19SZWFkU3RhdGUoRnJvbnRlbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFRyYW5zYWN0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+
RnJvbnRlbmRQYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmRTdGF0
ZSk7Ci0gICAgICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQotICAgICAgICAgICAgZ290byBh
Ym9ydDsKLQotICAgICAgICBTdGF0dXMgPSBfX1JlYWRTdGF0ZShGcm9udGVuZCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgVHJhbnNhY3Rpb24sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEZyb250ZW5kLT5CYWNrZW5kUGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJkJhY2tlbmRTdGF0ZSk7Ci0gICAgICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQotICAg
ICAgICAgICAgZ290byBhYm9ydDsKLQotICAgICAgICBTdGF0dXMgPSBYRU5CVVNfU1RPUkUoUmVh
ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRlcmZh
Y2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2FjdGlvbiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5CYWNrZW5kUGF0aCwgCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAib25saW5lIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZCdWZmZXIpOwotICAgICAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKLSAgICAgICAg
ICAgIGdvdG8gYWJvcnQ7Ci0KLSAgICAgICAgT25saW5lID0gKEJPT0xFQU4pc3RydG9sKEJ1ZmZl
ciwgTlVMTCwgMik7Ci0gICAgICAgIFhFTkJVU19TVE9SRShGcmVlLAotICAgICAgICAgICAgICAg
ICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKLSAgICAgICAgICAgICAgICAgICAgIEJ1
ZmZlcik7Ci0KLSAgICAgICAgU3RhdHVzID0gWEVOQlVTX1NUT1JFKFRyYW5zYWN0aW9uRW5kLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zYWN0aW9uLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVFJVRSk7Ci0gICAgICAgIGlmIChTdGF0dXMgIT0gU1RBVFVTX1JF
VFJZIHx8ICsrQXR0ZW1wdCA+IDEwKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgY29u
dGludWU7Ci0KLWFib3J0OgotICAgICAgICAoVk9JRCkgWEVOQlVTX1NUT1JFKFRyYW5zYWN0aW9u
RW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRlcmZh
Y2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNhY3Rpb24sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRkFMU0UpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYg
KCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIGNoZWNrIHRv
IHNlZSBlamVjdCByZXF1aXJlZAotICAgIGlmICghT25saW5lICYmIEJhY2tlbmRTdGF0ZSA9PSBY
ZW5idXNTdGF0ZUNsb3NpbmcpIHsKLSAgICAgICAgVHJhY2UoIlRhcmdldFslZF0gOiBCYWNrZW5k
U3RhdGUoJXMpIEZyb250ZW5kU3RhdGUoJXMpXG4iLCAKLSAgICAgICAgICAgICAgICBGcm9udGVu
ZC0+VGFyZ2V0SWQsIFhlbmJ1c1N0YXRlTmFtZShCYWNrZW5kU3RhdGUpLCBYZW5idXNTdGF0ZU5h
bWUoRnJvbnRlbmRTdGF0ZSkpOwotCi0gICAgICAgIFRhcmdldElzc3VlRGV2aWNlRWplY3QoRnJv
bnRlbmQtPlRhcmdldCwgWGVuYnVzU3RhdGVOYW1lKEJhY2tlbmRTdGF0ZSkpOwotICAgIH0gICAg
Ci19Ci0KLXN0YXRpYyBGT1JDRUlOTElORSBCT09MRUFOCi1Gcm9udGVuZFJlYWRGZWF0dXJlKAot
ICAgIElOICBQWEVOVkJEX0ZST05URU5EICAgICAgICAgICAgRnJvbnRlbmQsCi0gICAgSU4gIFBD
SEFSICAgICAgICAgICAgICAgICAgICAgICBOYW1lLAotICAgIElOICBQQk9PTEVBTiAgICAgICAg
ICAgICAgICAgICAgVmFsdWUKLSAgICApCi17Ci0gICAgTlRTVEFUVVMgICAgICAgIHN0YXR1czsK
LSAgICBQQ0hBUiAgICAgICAgICAgQnVmZmVyOwotICAgIFVMT05HICAgICAgICAgICBPdmVycmlk
ZTsKLSAgICBCT09MRUFOICAgICAgICAgT2xkID0gKlZhbHVlOwotCi0gICAgc3RhdHVzID0gWEVO
QlVTX1NUT1JFKFJlYWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3Rv
cmVJbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIEZyb250ZW5kLT5CYWNrZW5kUGF0aCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgTmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlcik7Ci0gICAg
aWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgIHJldHVybiBGQUxTRTsgICAvLyBubyB2
YWx1ZSwgdW5jaGFuZ2VkCi0KLSAgICAqVmFsdWUgPSAhIShzdHJ0b3VsKEJ1ZmZlciwgTlVMTCwg
MTApKTsKLSAgICBYRU5CVVNfU1RPUkUoRnJlZSwKLSAgICAgICAgICAgICAgICAgICAgJkZyb250
ZW5kLT5TdG9yZUludGVyZmFjZSwKLSAgICAgICAgICAgICAgICAgICAgQnVmZmVyKTsKLQotICAg
IC8vIGNoZWNrIHJlZ2lzdHJ5IGZvciBkaXNhYmxlLW92ZXJyaWRlCi0gICAgc3RhdHVzID0gUmVn
aXN0cnlRdWVyeUR3b3JkVmFsdWUoRHJpdmVyR2V0UGFyYW1ldGVyc0tleSgpLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZPdmVycmlkZSk7Ci0gICAgaWYgKE5UX1NVQ0NFU1Moc3RhdHVzKSkgewot
ICAgICAgICBpZiAoT3ZlcnJpZGUgPT0gMCkKLSAgICAgICAgICAgICpWYWx1ZSA9IEZBTFNFOwot
ICAgIH0KLQotICAgIHJldHVybiBPbGQgIT0gKlZhbHVlOwotfQotCi1zdGF0aWMgRk9SQ0VJTkxJ
TkUgQk9PTEVBTgotRnJvbnRlbmRSZWFkVmFsdWUzMigKLSAgICBJTiAgUFhFTlZCRF9GUk9OVEVO
RCAgICAgICAgICAgIEZyb250ZW5kLAotICAgIElOICBQQ0hBUiAgICAgICAgICAgICAgICAgICAg
ICAgTmFtZSwKLSAgICBJTiAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgIEFsbG93T3ZlcnJp
ZGUsCi0gICAgSU4gIFBVTE9ORyAgICAgICAgICAgICAgICAgICAgICBWYWx1ZQotICAgICkKLXsK
LSAgICBOVFNUQVRVUyAgICAgICAgc3RhdHVzOwotICAgIFBDSEFSICAgICAgICAgICBCdWZmZXI7
Ci0gICAgVUxPTkcgICAgICAgICAgIE92ZXJyaWRlOwotICAgIFVMT05HICAgICAgICAgICBPbGQg
PSAqVmFsdWU7Ci0KLSAgICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUoUmVhZCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPkJh
Y2tlbmRQYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAmQnVmZmVyKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAg
ICAgICAgcmV0dXJuIEZBTFNFOyAgIC8vIG5vIHZhbHVlLCB1bmNoYW5nZWQKLQotICAgICpWYWx1
ZSA9IHN0cnRvdWwoQnVmZmVyLCBOVUxMLCAxMCk7Ci0gICAgWEVOQlVTX1NUT1JFKEZyZWUsCi0g
ICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UsCi0gICAgICAgICAg
ICAgICAgICAgIEJ1ZmZlcik7Ci0KLSAgICAvLyBjaGVjayByZWdpc3RyeSBmb3IgZGlzYWJsZS1v
dmVycmlkZQotICAgIGlmIChBbGxvd092ZXJyaWRlKSB7Ci0gICAgICAgIHN0YXR1cyA9IFJlZ2lz
dHJ5UXVlcnlEd29yZFZhbHVlKERyaXZlckdldFBhcmFtZXRlcnNLZXkoKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZPdmVycmlkZSk7Ci0gICAgICAgIGlmIChOVF9TVUNDRVNTKHN0
YXR1cykpIHsKLSAgICAgICAgICAgICpWYWx1ZSA9IE92ZXJyaWRlOwotICAgICAgICB9Ci0gICAg
fQotCi0gICAgcmV0dXJuIE9sZCAhPSAqVmFsdWU7Ci19Ci0KLXN0YXRpYyBGT1JDRUlOTElORSBC
T09MRUFOCi1Gcm9udGVuZFJlYWRWYWx1ZTY0KAotICAgIElOICBQWEVOVkJEX0ZST05URU5EICAg
ICAgICAgICAgRnJvbnRlbmQsCi0gICAgSU4gIFBDSEFSICAgICAgICAgICAgICAgICAgICAgICBO
YW1lLAotICAgIElOIE9VVCBQVUxPTkc2NCAgICAgICAgICAgICAgICAgVmFsdWUKLSAgICApCi17
Ci0gICAgTlRTVEFUVVMgICAgICAgIHN0YXR1czsKLSAgICBQQ0hBUiAgICAgICAgICAgQnVmZmVy
OwotICAgIFVMT05HNjQgICAgICAgICBPbGQgPSAqVmFsdWU7Ci0KLSAgICBzdGF0dXMgPSBYRU5C
VVNfU1RPUkUoUmVhZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9y
ZUludGVyZmFjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgRnJvbnRlbmQtPkJhY2tlbmRQYXRoLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICBOYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmQnVmZmVyKTsKLSAgICBp
ZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgcmV0dXJuIEZBTFNFOyAgIC8vIG5vIHZh
bHVlLCB1bmNoYW5nZWQKLQotICAgICpWYWx1ZSA9IF9zdHJ0b3VpNjQoQnVmZmVyLCBOVUxMLCAx
MCk7Ci0gICAgWEVOQlVTX1NUT1JFKEZyZWUsCi0gICAgICAgICAgICAgICAgICAgICZGcm9udGVu
ZC0+U3RvcmVJbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgICAgIEJ1ZmZlcik7Ci0KLSAgICBy
ZXR1cm4gT2xkICE9ICpWYWx1ZTsKLX0KLQotc3RhdGljIEZPUkNFSU5MSU5FIFVMT05HCi1fX1Np
emUoCi0gICAgX19pbiAgUFhFTlZCRF9ESVNLSU5GTyAgICAgICAgICBJbmZvCi0gICAgKQotewot
ICAgIFVMT05HNjQgTUJ5dGVzID0gKEluZm8tPlNlY3RvclNpemUgKiBJbmZvLT5TZWN0b3JDb3Vu
dCkgPj4gMjA7IC8vIC8gKDEwMjQgKiAxMDI0KTsgCi0gICAgaWYgKE1CeXRlcyA8IDEwMjQwKQot
ICAgICAgICByZXR1cm4gKFVMT05HKU1CeXRlczsKLSAgICByZXR1cm4gKFVMT05HKShNQnl0ZXMg
Pj4gMTApOyAvLyAvIDEwMjQKLX0KLXN0YXRpYyBGT1JDRUlOTElORSBQQ0hBUgotX19Vbml0cygK
LSAgICBfX2luICBQWEVOVkJEX0RJU0tJTkZPICAgICAgICAgIEluZm8KLSAgICApCi17Ci0gICAg
VUxPTkc2NCBNQnl0ZXMgPSAoSW5mby0+U2VjdG9yU2l6ZSAqIEluZm8tPlNlY3RvckNvdW50KSA+
PiAyMDsgLy8gLyAoMTAyNCAqIDEwMjQpOyAKLSAgICBpZiAoTUJ5dGVzIDwgMTAyNDApCi0gICAg
ICAgIHJldHVybiAiTUIiOwotICAgIHJldHVybiAiR0IiOwotfQotCi1fX2Rydl9yZXF1aXJlc0lS
UUwoRElTUEFUQ0hfTEVWRUwpCi1zdGF0aWMgVk9JRAotX19SZWFkRGlza0luZm8oCi0gICAgX19p
biAgUFhFTlZCRF9GUk9OVEVORCAgICAgICAgRnJvbnRlbmQKLSAgICApCi17Ci0gICAgQk9PTEVB
TiBDaGFuZ2VkID0gRkFMU0U7Ci0KLSAgICBDaGFuZ2VkIHw9IEZyb250ZW5kUmVhZFZhbHVlMzIo
RnJvbnRlbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluZm8iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZGcm9udGVuZC0+RGlza0luZm8uRGlza0luZm8pOwotICAgIENoYW5n
ZWQgfD0gRnJvbnRlbmRSZWFkVmFsdWUzMihGcm9udGVuZCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAic2VjdG9yLXNpemUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEZBTFNFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZGcm9udGVu
ZC0+RGlza0luZm8uU2VjdG9yU2l6ZSk7Ci0gICAgQ2hhbmdlZCB8PSBGcm9udGVuZFJlYWRWYWx1
ZTMyKEZyb250ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwaHlzaWNh
bC1zZWN0b3Itc2l6ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5EaXNrSW5mby5Q
aHlzU2VjdG9yU2l6ZSk7Ci0gICAgQ2hhbmdlZCB8PSBGcm9udGVuZFJlYWRWYWx1ZTY0KEZyb250
ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZWN0b3JzIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPkRpc2tJbmZvLlNlY3RvckNv
dW50KTsKLQotICAgIGlmICghQ2hhbmdlZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgRnJvbnRl
bmQtPkNhcHMuU3VycHJpc2VSZW1vdmFibGUgPSAhIShGcm9udGVuZC0+RGlza0luZm8uRGlza0lu
Zm8gJiBWRElTS19SRU1PVkFCTEUpOwotICAgIGlmIChGcm9udGVuZC0+RGlza0luZm8uRGlza0lu
Zm8gJiBWRElTS19SRUFET05MWSkgewotICAgICAgICBXYXJuaW5nKCJUYXJnZXRbJWRdIDogRGlz
a0luZm8gY29udGFpbnMgVkRJU0tfUkVBRE9OTFkgZmxhZyFcbiIsIEZyb250ZW5kLT5UYXJnZXRJ
ZCk7Ci0gICAgfQotICAgIGlmIChGcm9udGVuZC0+RGlza0luZm8uRGlza0luZm8gJiBWRElTS19D
RFJPTSkgewotICAgICAgICBXYXJuaW5nKCJUYXJnZXRbJWRdIDogRGlza0luZm8gY29udGFpbnMg
VkRJU0tfQ0RST00gZmxhZyFcbiIsIEZyb250ZW5kLT5UYXJnZXRJZCk7Ci0gICAgfQotICAgIGlm
IChGcm9udGVuZC0+RGlza0luZm8uU2VjdG9yU2l6ZSA9PSAwKSB7Ci0gICAgICAgIEVycm9yKCJU
YXJnZXRbJWRdIDogSW52YWxpZCBTZWN0b3JTaXplIVxuIiwgRnJvbnRlbmQtPlRhcmdldElkKTsK
LSAgICB9Ci0gICAgaWYgKEZyb250ZW5kLT5EaXNrSW5mby5TZWN0b3JDb3VudCA9PSAwKSB7Ci0g
ICAgICAgIEVycm9yKCJUYXJnZXRbJWRdIDogSW52YWxpZCBTZWN0b3JDb3VudCFcbiIsIEZyb250
ZW5kLT5UYXJnZXRJZCk7Ci0gICAgfQotICAgIGlmIChGcm9udGVuZC0+RGlza0luZm8uUGh5c1Nl
Y3RvclNpemUgPT0gMCkgewotICAgICAgICBGcm9udGVuZC0+RGlza0luZm8uUGh5c1NlY3RvclNp
emUgPSBGcm9udGVuZC0+RGlza0luZm8uU2VjdG9yU2l6ZTsKLSAgICB9Ci0KLSAgICAvLyBkdW1w
IGFjdHVhbCB2YWx1ZXMKLSAgICBWZXJib3NlKCJUYXJnZXRbJWRdIDogJWxsZCBzZWN0b3JzIG9m
ICVkIGJ5dGVzICglZClcbiIsIEZyb250ZW5kLT5UYXJnZXRJZCwKLSAgICAgICAgICAgICAgICBG
cm9udGVuZC0+RGlza0luZm8uU2VjdG9yQ291bnQsIEZyb250ZW5kLT5EaXNrSW5mby5TZWN0b3JT
aXplLAotICAgICAgICAgICAgICAgIEZyb250ZW5kLT5EaXNrSW5mby5QaHlzU2VjdG9yU2l6ZSk7
Ci0gICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6ICVkICVzICglMDh4KSAlc1xuIiwgRnJvbnRlbmQt
PlRhcmdldElkLAotICAgICAgICAgICAgICAgIF9fU2l6ZSgmRnJvbnRlbmQtPkRpc2tJbmZvKSwg
X19Vbml0cygmRnJvbnRlbmQtPkRpc2tJbmZvKSwKLSAgICAgICAgICAgICAgICBGcm9udGVuZC0+
RGlza0luZm8uRGlza0luZm8sCi0gICAgICAgICAgICAgICAgRnJvbnRlbmQtPkNhcHMuU3VycHJp
c2VSZW1vdmFibGUgPyAiU1VSUFJJU0VfUkVNT1ZBQkxFIiA6ICIiKTsKLX0KLQotc3RhdGljIEZP
UkNFSU5MSU5FIFZPSUQKLUZyb250ZW5kUmVhZEZlYXR1cmVzKAotICAgIElOICBQWEVOVkJEX0ZS
T05URU5EICAgICAgICAgICAgRnJvbnRlbmQKLSAgICApCi17Ci0gICAgQk9PTEVBTiBDaGFuZ2Vk
ID0gRkFMU0U7Ci0KLSAgICBDaGFuZ2VkIHw9IEZyb250ZW5kUmVhZEZlYXR1cmUoRnJvbnRlbmQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZW1vdmFibGUiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPkNhcHMuUmVtb3ZhYmxlKTsK
LSAgICBDaGFuZ2VkIHw9IEZyb250ZW5kUmVhZFZhbHVlMzIoRnJvbnRlbmQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJmZWF0dXJlLW1heC1pbmRpcmVjdC1zZWdtZW50cyIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+RmVhdHVyZXMuSW5kaXJlY3QpOwotICAg
IENoYW5nZWQgfD0gRnJvbnRlbmRSZWFkRmVhdHVyZShGcm9udGVuZCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImZlYXR1cmUtcGVyc2lzdGVudCIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+RmVhdHVyZXMuUGVyc2lzdGVudCk7Ci0K
LSAgICBpZiAoIUNoYW5nZWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIFZlcmJvc2UoIlRhcmdl
dFslZF0gOiBGZWF0dXJlczogJXMlcyVzXG4iLAotICAgICAgICAgICAgICAgIEZyb250ZW5kLT5U
YXJnZXRJZCwKLSAgICAgICAgICAgICAgICBGcm9udGVuZC0+RmVhdHVyZXMuUGVyc2lzdGVudCA/
ICJQRVJTSVNURU5UICIgOiAiIiwKLSAgICAgICAgICAgICAgICBGcm9udGVuZC0+RmVhdHVyZXMu
SW5kaXJlY3QgPyAiSU5ESVJFQ1QgIiA6ICIiLAotICAgICAgICAgICAgICAgIEZyb250ZW5kLT5D
YXBzLlJlbW92YWJsZSA/ICJSRU1PVkFCTEUiIDogIiIpOwotICAgIGlmIChGcm9udGVuZC0+RmVh
dHVyZXMuSW5kaXJlY3QpIHsKLSAgICAgICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6IElORElSRUNU
ICV4XG4iLAotICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+VGFyZ2V0SWQsCi0gICAgICAg
ICAgICAgICAgICAgIEZyb250ZW5kLT5GZWF0dXJlcy5JbmRpcmVjdCk7Ci0gICAgfQotfQotCi1z
dGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAotRnJvbnRlbmRSZWFkRGlza0luZm8oCi0gICAgSU4gIFBY
RU5WQkRfRlJPTlRFTkQgICAgICAgICAgICBGcm9udGVuZAotICAgICkKLXsKLSAgICBCT09MRUFO
IENoYW5nZWQgPSBGQUxTRTsKLSAgICBCT09MRUFOIERpc2NhcmQ7Ci0gICAgQk9PTEVBTiBEaXNj
YXJkRmVhdHVyZSA9IEZBTFNFOwotICAgIEJPT0xFQU4gRGlzY2FyZEVuYWJsZSA9IFRSVUU7Ci0K
LSAgICBDaGFuZ2VkIHw9IEZyb250ZW5kUmVhZEZlYXR1cmUoRnJvbnRlbmQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJmZWF0dXJlLWJhcnJpZXIiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPkRpc2tJbmZvLkJhcnJpZXIpOwotICAg
IENoYW5nZWQgfD0gRnJvbnRlbmRSZWFkRmVhdHVyZShGcm9udGVuZCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImZlYXR1cmUtZmx1c2gtY2FjaGUiLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPkRpc2tJbmZvLkZsdXNoQ2FjaGUpOwot
Ci0gICAgLy8gZGlzY2FyZCByZWxhdGVkCi0gICAgRnJvbnRlbmRSZWFkRmVhdHVyZShGcm9udGVu
ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICJmZWF0dXJlLWRpc2NhcmQiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgJkRpc2NhcmRGZWF0dXJlKTsKLSAgICBGcm9udGVuZFJlYWRGZWF0dXJl
KEZyb250ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgImRpc2NhcmQtZW5hYmxlIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICZEaXNjYXJkRW5hYmxlKTsKLSAgICBEaXNjYXJkID0gRGlz
Y2FyZEZlYXR1cmUgJiYgRGlzY2FyZEVuYWJsZTsKLSAgICBDaGFuZ2VkIHw9IChEaXNjYXJkICE9
IEZyb250ZW5kLT5EaXNrSW5mby5EaXNjYXJkKTsKLSAgICBGcm9udGVuZC0+RGlza0luZm8uRGlz
Y2FyZCA9IERpc2NhcmQ7Ci0gICAgQ2hhbmdlZCB8PSBGcm9udGVuZFJlYWRGZWF0dXJlKEZyb250
ZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzY2FyZC1zZWN1cmUi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPkRpc2tJbmZv
LkRpc2NhcmRTZWN1cmUpOwotICAgIENoYW5nZWQgfD0gRnJvbnRlbmRSZWFkVmFsdWUzMihGcm9u
dGVuZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2NhcmQtYWxpZ25t
ZW50IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5EaXNrSW5mby5EaXNjYXJkQWxp
Z25tZW50KTsKLSAgICBDaGFuZ2VkIHw9IEZyb250ZW5kUmVhZFZhbHVlMzIoRnJvbnRlbmQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNjYXJkLWdyYW51bGFyaXR5IiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJkZyb250ZW5kLT5EaXNrSW5mby5EaXNjYXJkR3JhbnVsYXJp
dHkpOwotCi0gICAgaWYgKCFDaGFuZ2VkKQotICAgICAgICByZXR1cm47Ci0KLSAgICBWZXJib3Nl
KCJUYXJnZXRbJWRdIDogRmVhdHVyZXM6ICVzJXMlc1xuIiwKLSAgICAgICAgICAgICAgICBGcm9u
dGVuZC0+VGFyZ2V0SWQsCi0gICAgICAgICAgICAgICAgRnJvbnRlbmQtPkRpc2tJbmZvLkJhcnJp
ZXIgPyAiQkFSUklFUiAiIDogIiIsCi0gICAgICAgICAgICAgICAgRnJvbnRlbmQtPkRpc2tJbmZv
LkZsdXNoQ2FjaGUgPyAgIkZMVVNIICIgOiAiIiwKLSAgICAgICAgICAgICAgICBGcm9udGVuZC0+
RGlza0luZm8uRGlzY2FyZCA/ICJESVNDQVJEICIgOiAiIik7Ci0gICAgaWYgKEZyb250ZW5kLT5E
aXNrSW5mby5EaXNjYXJkKSB7Ci0gICAgICAgIFZlcmJvc2UoIlRhcmdldFslZF0gOiBESVNDQVJE
ICVzJXgvJXhcbiIsCi0gICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5UYXJnZXRJZCwKLSAg
ICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPkRpc2tJbmZvLkRpc2NhcmRTZWN1cmUgPyAiU0VD
VVJFICIgOiAiIiwKLSAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPkRpc2tJbmZvLkRpc2Nh
cmRBbGlnbm1lbnQsCi0gICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5EaXNrSW5mby5EaXNj
YXJkR3JhbnVsYXJpdHkpOwotICAgIH0KLX0KLQotLy89PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotX19k
cnZfcmVxdWlyZXNJUlFMKERJU1BBVENIX0xFVkVMKQotc3RhdGljIE5UU1RBVFVTCi1Gcm9udGVu
ZENsb3NlKAotICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICAgIEZyb250ZW5kCi0gICAg
KQotewotICAgIE5UU1RBVFVTICAgICAgICBTdGF0dXM7Ci0gICAgWGVuYnVzU3RhdGUgICAgIEJh
Y2tlbmRTdGF0ZTsKLQotICAgIC8vIHVud2F0Y2ggYmFja2VuZCAobnVsbCBjaGVjayBmb3IgaW5p
dGlhbCBjbG9zZSBvcGVyYXRpb24pCi0gICAgaWYgKEZyb250ZW5kLT5CYWNrZW5kV2F0Y2gpCi0g
ICAgICAgIFhFTkJVU19TVE9SRShXYXRjaFJlbW92ZSwKLSAgICAgICAgICAgICAgICAgICAgICZG
cm9udGVuZC0+U3RvcmVJbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+
QmFja2VuZFdhdGNoKTsKLSAgICBGcm9udGVuZC0+QmFja2VuZFdhdGNoID0gTlVMTDsKLSAgICAK
LSAgICBGcm9udGVuZC0+QmFja2VuZElkID0gRE9NSURfSU5WQUxJRDsKLQotICAgIC8vIGdldC91
cGRhdGUgYmFja2VuZCBwYXRoCi0gICAgU3RhdHVzID0gX19VcGRhdGVCYWNrZW5kUGF0aChGcm9u
dGVuZCk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDE7
Ci0KLSAgICAvLyBCYWNrZW5kIDogLT4gIUlOSVRJQUxJWklORwotICAgIEJhY2tlbmRTdGF0ZSA9
IFhlbmJ1c1N0YXRlVW5rbm93bjsKLSAgICBkbyB7Ci0gICAgICAgIFN0YXR1cyA9IF9fV2FpdFN0
YXRlKEZyb250ZW5kLCAmQmFja2VuZFN0YXRlKTsKLSAgICAgICAgaWYgKCFOVF9TVUNDRVNTKFN0
YXR1cykpCi0gICAgICAgICAgICBnb3RvIGZhaWwyOwotICAgIH0gd2hpbGUgKEJhY2tlbmRTdGF0
ZSA9PSBYZW5idXNTdGF0ZUluaXRpYWxpc2luZyk7Ci0KLSAgICAvLyBGcm9udGVuZDogLT4gQ0xP
U0lORyAKLSAgICAvLyBCYWNrZW5kIDogLT4gQ0xPU0lORyAKLSAgICB3aGlsZSAoQmFja2VuZFN0
YXRlICE9IFhlbmJ1c1N0YXRlQ2xvc2luZyAmJgotICAgICAgICAgICBCYWNrZW5kU3RhdGUgIT0g
WGVuYnVzU3RhdGVDbG9zZWQpIHsKLSAgICAgICAgU3RhdHVzID0gX19fU2V0U3RhdGUoRnJvbnRl
bmQsIFhlbmJ1c1N0YXRlQ2xvc2luZyk7Ci0gICAgICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMp
KQotICAgICAgICAgICAgZ290byBmYWlsMzsKLSAgICAgICAgU3RhdHVzID0gX19XYWl0U3RhdGUo
RnJvbnRlbmQsICZCYWNrZW5kU3RhdGUpOwotICAgICAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVz
KSkKLSAgICAgICAgICAgIGdvdG8gZmFpbDQ7Ci0gICAgfQotCi0gICAgLy8gRnJvbnRlbmQ6IC0+
IENMT1NFRAotICAgIC8vIEJhY2tlbmQgOiAtPiBDTE9TRUQKLSAgICB3aGlsZSAoQmFja2VuZFN0
YXRlICE9IFhlbmJ1c1N0YXRlQ2xvc2VkKSB7Ci0gICAgICAgIFN0YXR1cyA9IF9fX1NldFN0YXRl
KEZyb250ZW5kLCBYZW5idXNTdGF0ZUNsb3NlZCk7Ci0gICAgICAgIGlmICghTlRfU1VDQ0VTUyhT
dGF0dXMpKQotICAgICAgICAgICAgZ290byBmYWlsNTsKLSAgICAgICAgU3RhdHVzID0gX19XYWl0
U3RhdGUoRnJvbnRlbmQsICZCYWNrZW5kU3RhdGUpOwotICAgICAgICBpZiAoIU5UX1NVQ0NFU1Mo
U3RhdHVzKSkKLSAgICAgICAgICAgIGdvdG8gZmFpbDY7Ci0gICAgfQotCi0gICAgcmV0dXJuIFNU
QVRVU19TVUNDRVNTOwotCi1mYWlsNjoKLWZhaWw1OgotZmFpbDQ6Ci1mYWlsMzoKLWZhaWwyOgot
ZmFpbDE6Ci0gICAgcmV0dXJuIFN0YXR1czsKLX0KLV9fZHJ2X3JlcXVpcmVzSVJRTChESVNQQVRD
SF9MRVZFTCkKLXN0YXRpYyBOVFNUQVRVUwotRnJvbnRlbmRQcmVwYXJlKAotICAgIF9faW4gIFBY
RU5WQkRfRlJPTlRFTkQgICAgICAgIEZyb250ZW5kCi0gICAgKQotewotICAgIE5UU1RBVFVTICAg
ICAgICBTdGF0dXM7Ci0gICAgWGVuYnVzU3RhdGUgICAgIEJhY2tlbmRTdGF0ZTsKLQotICAgIC8v
IGdldC91cGRhdGUgYmFja2VuZCBwYXRoCi0gICAgU3RhdHVzID0gX19VcGRhdGVCYWNrZW5kUGF0
aChGcm9udGVuZCk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8g
ZmFpbDE7Ci0KLSAgICAvLyB3YXRjaCBiYWNrZW5kICg0IHBhdGhzIG5lZWRlZCkKLSAgICBTdGF0
dXMgPSBYRU5CVVNfU1RPUkUoV2F0Y2hBZGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZG
cm9udGVuZC0+U3RvcmVJbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5CYWNrZW5kUGF0aCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgVGhyZWFkR2V0RXZlbnQoRnJvbnRlbmQtPkJhY2tlbmRUaHJl
YWQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPkJhY2tlbmRXYXRjaCk7
Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDI7Ci0KLSAg
ICAvLyB3cml0ZSB0YXJnZXRwYXRoCi0gICAgU3RhdHVzID0gRnJvbnRlbmRXcml0ZVVzYWdlKEZy
b250ZW5kKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKLSAgICAgICAgZ290byBmYWls
MzsKLQotICAgIFN0YXR1cyA9IFhFTkJVU19TVE9SRShQcmludGYsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5UYXJnZXRQ
YXRoLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb250ZW5kIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIiVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQt
PkZyb250ZW5kUGF0aCk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdv
dG8gZmFpbDQ7Ci0KLSAgICBTdGF0dXMgPSBYRU5CVVNfU1RPUkUoUHJpbnRmLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+
VGFyZ2V0UGF0aCwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJkZXZpY2UiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAiJXUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9u
dGVuZC0+RGV2aWNlSWQpOwotICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQotICAgICAgICBn
b3RvIGZhaWw1OwotCi0gICAgLy8gRnJvbnRlbmQ6IC0+IElOSVRJQUxJWklORwotICAgIFN0YXR1
cyA9IF9fX1NldFN0YXRlKEZyb250ZW5kLCBYZW5idXNTdGF0ZUluaXRpYWxpc2luZyk7Ci0gICAg
aWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDY7Ci0KLSAgICAvLyBC
YWNrZW5kIDogLT4gSU5JVFdBSVQKLSAgICBCYWNrZW5kU3RhdGUgPSBYZW5idXNTdGF0ZVVua25v
d247Ci0gICAgZG8gewotICAgICAgICBTdGF0dXMgPSBfX1dhaXRTdGF0ZShGcm9udGVuZCwgJkJh
Y2tlbmRTdGF0ZSk7Ci0gICAgICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQotICAgICAgICAg
ICAgZ290byBmYWlsNzsKLSAgICB9IHdoaWxlIChCYWNrZW5kU3RhdGUgPT0gWGVuYnVzU3RhdGVD
bG9zZWQgfHwgCi0gICAgICAgICAgICAgQmFja2VuZFN0YXRlID09IFhlbmJ1c1N0YXRlSW5pdGlh
bGlzaW5nKTsKLSAgICBTdGF0dXMgPSBTVEFUVVNfVU5TVUNDRVNTRlVMOwotICAgIGlmIChCYWNr
ZW5kU3RhdGUgIT0gWGVuYnVzU3RhdGVJbml0V2FpdCkKLSAgICAgICAgZ290byBmYWlsODsKLQot
ICAgIC8vIHJlYWQgaW5xdWlyeSBkYXRhCi0gICAgaWYgKEZyb250ZW5kLT5JbnF1aXJ5ID09IE5V
TEwpCi0gICAgICAgIFBkb1JlYWRJbnF1aXJ5RGF0YShGcm9udGVuZCwgJkZyb250ZW5kLT5JbnF1
aXJ5KTsKLSAgICBQZG9VcGRhdGVJbnF1aXJ5RGF0YShGcm9udGVuZCwgRnJvbnRlbmQtPklucXVp
cnkpOwotCi0gICAgLy8gcmVhZCBmZWF0dXJlcyBhbmQgY2FwcyAocmVtb3ZhYmxlLCByaW5nLW9y
ZGVyLCAuLi4pCi0gICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6IEJhY2tlbmRJZCAlZCAoJXMpXG4i
LAotICAgICAgICAgICAgRnJvbnRlbmQtPlRhcmdldElkLAotICAgICAgICAgICAgRnJvbnRlbmQt
PkJhY2tlbmRJZCwKLSAgICAgICAgICAgIEZyb250ZW5kLT5CYWNrZW5kUGF0aCk7Ci0KLSAgICBG
cm9udGVuZFJlYWRGZWF0dXJlcyhGcm9udGVuZCk7Ci0gICAgCi0gICAgcmV0dXJuIFNUQVRVU19T
VUNDRVNTOwotCi1mYWlsODoKLSAgICBFcnJvcigiRmFpbDhcbiIpOwotZmFpbDc6Ci0gICAgRXJy
b3IoIkZhaWw3XG4iKTsKLWZhaWw2OgotICAgIEVycm9yKCJGYWlsNlxuIik7Ci1mYWlsNToKLSAg
ICBFcnJvcigiRmFpbDVcbiIpOwotZmFpbDQ6Ci0gICAgRXJyb3IoIkZhaWw0XG4iKTsKLWZhaWwz
OgotICAgIEVycm9yKCJGYWlsM1xuIik7Ci0gICAgKFZPSUQpIFhFTkJVU19TVE9SRShXYXRjaFJl
bW92ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+QmFja2VuZFdhdGNoKTsKLSAgICBG
cm9udGVuZC0+QmFja2VuZFdhdGNoID0gTlVMTDsKLWZhaWwyOgotICAgIEVycm9yKCJGYWlsMlxu
Iik7Ci1mYWlsMToKLSAgICBFcnJvcigiRmFpbDEgKCUwOHgpXG4iLCBTdGF0dXMpOwotICAgIHJl
dHVybiBTdGF0dXM7Ci19Ci1fX2Rydl9yZXF1aXJlc0lSUUwoRElTUEFUQ0hfTEVWRUwpCi1zdGF0
aWMgTlRTVEFUVVMKLUZyb250ZW5kQ29ubmVjdCgKLSAgICBfX2luICBQWEVOVkJEX0ZST05URU5E
ICAgICAgICBGcm9udGVuZAotICAgICkKLXsKLSAgICBOVFNUQVRVUyAgICAgICAgU3RhdHVzOwot
ICAgIFhlbmJ1c1N0YXRlICAgICBCYWNrZW5kU3RhdGU7Ci0KLSAgICAvLyBBbGxvYyBSaW5nLCBD
cmVhdGUgRXZ0Y2huLCBHbnR0YWIgbWFwCi0gICAgU3RhdHVzID0gR3JhbnRlckNvbm5lY3QoRnJv
bnRlbmQtPkdyYW50ZXIsIEZyb250ZW5kLT5CYWNrZW5kSWQpOwotICAgIGlmICghTlRfU1VDQ0VT
UyhTdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWwxOwotCi0gICAgU3RhdHVzID0gQmxvY2tSaW5n
Q29ubmVjdChGcm9udGVuZC0+QmxvY2tSaW5nKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVz
KSkKLSAgICAgICAgZ290byBmYWlsMjsKLQotICAgIFN0YXR1cyA9IE5vdGlmaWVyQ29ubmVjdChG
cm9udGVuZC0+Tm90aWZpZXIsIEZyb250ZW5kLT5CYWNrZW5kSWQpOwotICAgIGlmICghTlRfU1VD
Q0VTUyhTdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWwzOwotCi0gICAgLy8gd3JpdGUgZXZ0Y2hu
L2dudHRhYiBkZXRhaWxzIGluIHhlbnN0b3JlCi0gICAgZm9yICg7OykgewotICAgICAgICBQWEVO
QlVTX1NUT1JFX1RSQU5TQUNUSU9OICAgVHJhbnNhY3Rpb247Ci0gICAgICAgIAotICAgICAgICBT
dGF0dXMgPSBYRU5CVVNfU1RPUkUoVHJhbnNhY3Rpb25TdGFydCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmVHJhbnNhY3Rpb24pOwotICAgICAgICBpZiAoIU5UX1NVQ0NFU1MoU3Rh
dHVzKSkKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIFN0YXR1cyA9IE5vdGlmaWVyU3Rv
cmVXcml0ZShGcm9udGVuZC0+Tm90aWZpZXIsIFRyYW5zYWN0aW9uLCBGcm9udGVuZC0+RnJvbnRl
bmRQYXRoKTsKLSAgICAgICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgICAgICBn
b3RvIGFib3J0OwotCi0gICAgICAgIFN0YXR1cyA9IEJsb2NrUmluZ1N0b3JlV3JpdGUoRnJvbnRl
bmQtPkJsb2NrUmluZywgVHJhbnNhY3Rpb24sIEZyb250ZW5kLT5Gcm9udGVuZFBhdGgpOwotICAg
ICAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKLSAgICAgICAgICAgIGdvdG8gYWJvcnQ7Ci0K
LSAgICAgICAgU3RhdHVzID0gR3JhbnRlclN0b3JlV3JpdGUoRnJvbnRlbmQtPkdyYW50ZXIsIFRy
YW5zYWN0aW9uLCBGcm9udGVuZC0+RnJvbnRlbmRQYXRoKTsKLSAgICAgICAgaWYgKCFOVF9TVUND
RVNTKFN0YXR1cykpCi0gICAgICAgICAgICBnb3RvIGFib3J0OwotCi0gICAgICAgIFN0YXR1cyA9
IFhFTkJVU19TVE9SRShQcmludGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRnJv
bnRlbmQtPlN0b3JlSW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJh
bnNhY3Rpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+RnJvbnRl
bmRQYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhcmdldC1pZCIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiJXUiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgRnJvbnRlbmQtPlRhcmdldElkKTsKLSAgICAgICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1
cykpCi0gICAgICAgICAgICBnb3RvIGFib3J0OwotCi0gICAgICAgIFN0YXR1cyA9IFhFTkJVU19T
VE9SRShQcmludGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN0
b3JlSW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNhY3Rpb24s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+RnJvbnRlbmRQYXRoLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZlYXR1cmUtc3VycHJpc2UtcmVtb3ZlIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIldSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAxKTsKLSAgICAgICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAg
ICAgICBnb3RvIGFib3J0OwotCi0gICAgICAgIFN0YXR1cyA9IFhFTkJVU19TVE9SRShQcmludGYs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNhY3Rpb24sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+RnJvbnRlbmRQYXRoLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImZlYXR1cmUtb25saW5lLXJlc2l6ZSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiJXUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7
Ci0gICAgICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQotICAgICAgICAgICAgZ290byBhYm9y
dDsKLQotICAgICAgICBTdGF0dXMgPSBYRU5CVVNfU1RPUkUoVHJhbnNhY3Rpb25FbmQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNhY3Rpb24sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBUUlVFKTsKLSAgICAgICAgaWYgKFN0YXR1cyA9PSBTVEFUVVNfUkVUUlkp
Ci0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBicmVhazsKLQotYWJvcnQ6Ci0gICAg
ICAgIChWT0lEKSBYRU5CVVNfU1RPUkUoVHJhbnNhY3Rpb25FbmQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBUcmFuc2FjdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxT
RSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkK
LSAgICAgICAgZ290byBmYWlsNDsKLQotICAgIC8vIEZyb250ZW5kOiAtPiBJTklUSUFMSVpFRAot
ICAgIFN0YXR1cyA9IF9fX1NldFN0YXRlKEZyb250ZW5kLCBYZW5idXNTdGF0ZUluaXRpYWxpc2Vk
KTsKLSAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsNTsKLQot
ICAgIC8vIEJhY2tlbmQgOiAtPiBDT05ORUNURUQKLSAgICBCYWNrZW5kU3RhdGUgPSBYZW5idXNT
dGF0ZVVua25vd247Ci0gICAgZG8gewotICAgICAgICBTdGF0dXMgPSBfX1dhaXRTdGF0ZShGcm9u
dGVuZCwgJkJhY2tlbmRTdGF0ZSk7Ci0gICAgICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQot
ICAgICAgICAgICAgZ290byBmYWlsNjsKLSAgICB9IHdoaWxlIChCYWNrZW5kU3RhdGUgPT0gWGVu
YnVzU3RhdGVJbml0V2FpdCB8fAotICAgICAgICAgICAgIEJhY2tlbmRTdGF0ZSA9PSBYZW5idXNT
dGF0ZUluaXRpYWxpc2luZyB8fAotICAgICAgICAgICAgIEJhY2tlbmRTdGF0ZSA9PSBYZW5idXNT
dGF0ZUluaXRpYWxpc2VkKTsKLSAgICBTdGF0dXMgPSBTVEFUVVNfVU5TVUNDRVNTRlVMOwotICAg
IGlmIChCYWNrZW5kU3RhdGUgIT0gWGVuYnVzU3RhdGVDb25uZWN0ZWQpCi0gICAgICAgIGdvdG8g
ZmFpbDc7Ci0KLSAgICAvLyByZWFkIGRpc2sgaW5mbwotICAgIF9fUmVhZERpc2tJbmZvKEZyb250
ZW5kKTsKLSAgICBGcm9udGVuZFJlYWREaXNrSW5mbyhGcm9udGVuZCk7Ci0KLSAgICAvLyBibGti
YWNrIGRvZXNudCB3cml0ZSBmZWF0dXJlcyBiZWZvcmUgSW5pdFdhaXQsIGJsa2JhY2sgd3JpdGVz
IGZlYXR1cmVzIGJlZm9yZSBDb25uZWN0ZWQhCi0gICAgRnJvbnRlbmRSZWFkRmVhdHVyZXMoRnJv
bnRlbmQpOwotCi0gICAgLy8gRnJvbnRlbmQ6IC0+IENPTk5FQ1RFRAotICAgIFN0YXR1cyA9IF9f
X1NldFN0YXRlKEZyb250ZW5kLCBYZW5idXNTdGF0ZUNvbm5lY3RlZCk7Ci0gICAgaWYgKCFOVF9T
VUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDg7Ci0KLSAgICByZXR1cm4gU1RBVFVT
X1NVQ0NFU1M7Ci0KLWZhaWw4OgotICAgIEVycm9yKCJGYWlsOFxuIik7Ci1mYWlsNzoKLSAgICBF
cnJvcigiRmFpbDdcbiIpOwotZmFpbDY6Ci0gICAgRXJyb3IoIkZhaWw2XG4iKTsKLWZhaWw1Ogot
ICAgIEVycm9yKCJGYWlsNVxuIik7Ci1mYWlsNDoKLSAgICBFcnJvcigiRmFpbDRcbiIpOwotICAg
IE5vdGlmaWVyRGlzY29ubmVjdChGcm9udGVuZC0+Tm90aWZpZXIpOwotZmFpbDM6Ci0gICAgRXJy
b3IoIkZhaWwzXG4iKTsKLSAgICBCbG9ja1JpbmdEaXNjb25uZWN0KEZyb250ZW5kLT5CbG9ja1Jp
bmcpOwotZmFpbDI6Ci0gICAgRXJyb3IoIkZhaWwyXG4iKTsKLSAgICBHcmFudGVyRGlzY29ubmVj
dChGcm9udGVuZC0+R3JhbnRlcik7Ci1mYWlsMToKLSAgICBFcnJvcigiRmFpbDEgKCUwOHgpXG4i
LCBTdGF0dXMpOwotICAgIHJldHVybiBTdGF0dXM7Ci19Ci1fX2Rydl9yZXF1aXJlc0lSUUwoRElT
UEFUQ0hfTEVWRUwpCi1zdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAotRnJvbnRlbmREaXNjb25uZWN0
KAotICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICAgIEZyb250ZW5kCi0gICAgKQotewot
ICAgIE5vdGlmaWVyRGlzY29ubmVjdChGcm9udGVuZC0+Tm90aWZpZXIpOwotICAgIEJsb2NrUmlu
Z0Rpc2Nvbm5lY3QoRnJvbnRlbmQtPkJsb2NrUmluZyk7Ci0gICAgR3JhbnRlckRpc2Nvbm5lY3Qo
RnJvbnRlbmQtPkdyYW50ZXIpOwotfQotX19kcnZfcmVxdWlyZXNJUlFMKERJU1BBVENIX0xFVkVM
KQotc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKLUZyb250ZW5kRW5hYmxlKAotICAgIF9faW4gIFBY
RU5WQkRfRlJPTlRFTkQgICAgICAgIEZyb250ZW5kCi0gICAgKQotewotICAgIEZyb250ZW5kLT5D
YXBzLkNvbm5lY3RlZCA9IFRSVUU7Ci0gICAgS2VNZW1vcnlCYXJyaWVyKCk7Ci0KLSAgICBHcmFu
dGVyRW5hYmxlKEZyb250ZW5kLT5HcmFudGVyKTsKLSAgICBCbG9ja1JpbmdFbmFibGUoRnJvbnRl
bmQtPkJsb2NrUmluZyk7Ci0gICAgTm90aWZpZXJFbmFibGUoRnJvbnRlbmQtPk5vdGlmaWVyKTsK
LX0KLV9fZHJ2X3JlcXVpcmVzSVJRTChESVNQQVRDSF9MRVZFTCkKLXN0YXRpYyBGT1JDRUlOTElO
RSBWT0lECi1Gcm9udGVuZERpc2FibGUoCi0gICAgX19pbiAgUFhFTlZCRF9GUk9OVEVORCAgICAg
ICAgRnJvbnRlbmQKLSAgICApCi17Ci0gICAgRnJvbnRlbmQtPkNhcHMuQ29ubmVjdGVkID0gRkFM
U0U7Ci0KLSAgICBOb3RpZmllckRpc2FibGUoRnJvbnRlbmQtPk5vdGlmaWVyKTsKLSAgICBCbG9j
a1JpbmdEaXNhYmxlKEZyb250ZW5kLT5CbG9ja1JpbmcpOwotICAgIEdyYW50ZXJEaXNhYmxlKEZy
b250ZW5kLT5HcmFudGVyKTsKLX0KLQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLy8gSW5pdC9U
ZXJtCi1zdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFUVVMKLV9fRnJvbnRlbmRTZXRTdGF0
ZSgKLSAgICBfX2luICBQWEVOVkJEX0ZST05URU5EICAgICAgICBGcm9udGVuZCwKLSAgICBfX2lu
ICBYRU5WQkRfU1RBVEUgICAgICAgICAgICBTdGF0ZQotICAgICkKLXsKLSAgICBOVFNUQVRVUyAg
ICBTdGF0dXM7Ci0gICAgY29uc3QgVUxPTkcgVGFyZ2V0SWQgPSBGcm9udGVuZC0+VGFyZ2V0SWQ7
Ci0gICAgQk9PTEVBTiAgICAgRmFpbGVkID0gRkFMU0U7Ci0KLSAgICBUcmFjZSgiVGFyZ2V0WyVk
XSBAICglZCkgPT09PT0+XG4iLCBUYXJnZXRJZCwgS2VHZXRDdXJyZW50SXJxbCgpKTsKLSAgICBW
ZXJib3NlKCJUYXJnZXRbJWRdIDogJXMgLS0tLT4gJXNcbiIsIAotICAgICAgICAgICAgICAgIFRh
cmdldElkLCAKLSAgICAgICAgICAgICAgICBfX1hlbnZiZFN0YXRlTmFtZShGcm9udGVuZC0+U3Rh
dGUpLCAKLSAgICAgICAgICAgICAgICBfX1hlbnZiZFN0YXRlTmFtZShTdGF0ZSkpOwotICAgIEFT
U0VSVDNVKEtlR2V0Q3VycmVudElycWwoKSwgPT0sIERJU1BBVENIX0xFVkVMKTsKLSAgICAKLSAg
ICB3aGlsZSAoIUZhaWxlZCAmJiBGcm9udGVuZC0+U3RhdGUgIT0gU3RhdGUpIHsKLSAgICAgICAg
c3dpdGNoIChGcm9udGVuZC0+U3RhdGUpIHsKLSAgICAgICAgY2FzZSBYRU5WQkRfSU5JVElBTEla
RUQ6Ci0gICAgICAgICAgICBzd2l0Y2ggKFN0YXRlKSB7Ci0gICAgICAgICAgICBjYXNlIFhFTlZC
RF9DTE9TSU5HOgotICAgICAgICAgICAgY2FzZSBYRU5WQkRfQ0xPU0VEOgotICAgICAgICAgICAg
Y2FzZSBYRU5WQkRfUFJFUEFSRUQ6Ci0gICAgICAgICAgICBjYXNlIFhFTlZCRF9DT05ORUNURUQ6
Ci0gICAgICAgICAgICBjYXNlIFhFTlZCRF9FTkFCTEVEOgotICAgICAgICAgICAgICAgIFN0YXR1
cyA9IEZyb250ZW5kQ2xvc2UoRnJvbnRlbmQpOwotICAgICAgICAgICAgICAgIGlmIChOVF9TVUND
RVNTKFN0YXR1cykpIHsKLSAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPlN0YXRlID0gWEVO
VkJEX0NMT1NFRDsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAg
ICBGYWlsZWQgPSBUUlVFOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgRmFpbGVkID0gVFJVRTsK
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFr
OwotCi0gICAgICAgIGNhc2UgWEVOVkJEX0NMT1NFRDoKLSAgICAgICAgICAgIHN3aXRjaCAoU3Rh
dGUpIHsKLSAgICAgICAgICAgIGNhc2UgWEVOVkJEX0lOSVRJQUxJWkVEOgotICAgICAgICAgICAg
ICAgIC8vIE9OTFkgQ2xvc2VkLT5Jbml0aWFsaXplZCBpcyB2YWxpZCwgd2hpY2ggY2FuIG9jY3Vy
IHdpdGggYSB2ZXJ5IGVhcmx5IHJlc3VtZSBmcm9tIHN1c3BlbmQKLSAgICAgICAgICAgICAgICAv
LyBpLmUuIFZNIHdhcyBzdXNwZW5kZWQgYmVmb3JlIHRoZSBJbml0aWFuaXplZC0+Q2xvc2VkIHRy
YW5zaXRpb24sIGFuZCBlYWNoIHJlc3VtZSBuZWVkcwotICAgICAgICAgICAgICAgIC8vICAgICAg
dGhlIENsb3NlIHRyYW5zaXRpb24gdG8gcHJvcGVybHkgY2xvc2UgdGhlIGZyb250ZW5kIGFuZCBi
YWNrZW5kIGRldmljZXMuCi0gICAgICAgICAgICAgICAgRnJvbnRlbmQtPlN0YXRlID0gWEVOVkJE
X0lOSVRJQUxJWkVEOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBY
RU5WQkRfUFJFUEFSRUQ6Ci0gICAgICAgICAgICBjYXNlIFhFTlZCRF9DT05ORUNURUQ6Ci0gICAg
ICAgICAgICBjYXNlIFhFTlZCRF9FTkFCTEVEOgotICAgICAgICAgICAgICAgIFN0YXR1cyA9IEZy
b250ZW5kUHJlcGFyZShGcm9udGVuZCk7Ci0gICAgICAgICAgICAgICAgaWYgKE5UX1NVQ0NFU1Mo
U3RhdHVzKSkgewotICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+U3RhdGUgPSBYRU5WQkRf
UFJFUEFSRUQ7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAg
U3RhdHVzID0gRnJvbnRlbmRDbG9zZShGcm9udGVuZCk7Ci0gICAgICAgICAgICAgICAgICAgIGlm
IChOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+
U3RhdGUgPSBYRU5WQkRfQ0xPU0VEOwotICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgICAgICAgICAgICBGcm9udGVuZC0+U3RhdGUgPSBYRU5WQkRfU1RBVEVfSU5WQUxJRDsK
LSAgICAgICAgICAgICAgICAgICAgRmFpbGVkID0gVFJVRTsKLSAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAg
ICAgIEZhaWxlZCA9IFRSVUU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICBjYXNlIFhFTlZCRF9QUkVQQVJFRDoKLSAg
ICAgICAgICAgIHN3aXRjaCAoU3RhdGUpIHsKLSAgICAgICAgICAgIGNhc2UgWEVOVkJEX0NPTk5F
Q1RFRDoKLSAgICAgICAgICAgIGNhc2UgWEVOVkJEX0VOQUJMRUQ6Ci0gICAgICAgICAgICAgICAg
U3RhdHVzID0gRnJvbnRlbmRDb25uZWN0KEZyb250ZW5kKTsKLSAgICAgICAgICAgICAgICBpZiAo
TlRfU1VDQ0VTUyhTdGF0dXMpKSB7Ci0gICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5TdGF0
ZSA9IFhFTlZCRF9DT05ORUNURUQ7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAgICAgU3RhdHVzID0gRnJvbnRlbmRDbG9zZShGcm9udGVuZCk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmIChOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgICAgICAgICAgICAgICAg
ICBGcm9udGVuZC0+U3RhdGUgPSBYRU5WQkRfQ0xPU0VEOwotICAgICAgICAgICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBGcm9udGVuZC0+U3RhdGUgPSBYRU5WQkRfU1RB
VEVfSU5WQUxJRDsKLSAgICAgICAgICAgICAgICAgICAgRmFpbGVkID0gVFJVRTsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIFhFTlZC
RF9DTE9TSU5HOgotICAgICAgICAgICAgY2FzZSBYRU5WQkRfQ0xPU0VEOgotICAgICAgICAgICAg
ICAgIFN0YXR1cyA9IEZyb250ZW5kQ2xvc2UoRnJvbnRlbmQpOwotICAgICAgICAgICAgICAgIGlm
IChOVF9TVUNDRVNTKFN0YXR1cykpIHsKLSAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPlN0
YXRlID0gWEVOVkJEX0NMT1NFRDsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgICAgICBGcm9udGVuZC0+U3RhdGUgPSBYRU5WQkRfU1RBVEVfSU5WQUxJRDsKLSAgICAg
ICAgICAgICAgICAgICAgRmFpbGVkID0gVFJVRTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIEZh
aWxlZCA9IFRSVUU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIAotICAgICAgICBjYXNlIFhFTlZCRF9DT05ORUNU
RUQ6Ci0gICAgICAgICAgICBzd2l0Y2ggKFN0YXRlKSB7Ci0gICAgICAgICAgICBjYXNlIFhFTlZC
RF9FTkFCTEVEOgotICAgICAgICAgICAgICAgIEZyb250ZW5kRW5hYmxlKEZyb250ZW5kKTsKLSAg
ICAgICAgICAgICAgICBGcm9udGVuZC0+U3RhdGUgPSBYRU5WQkRfRU5BQkxFRDsKLSAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgWEVOVkJEX0NMT1NJTkc6Ci0gICAgICAg
ICAgICBjYXNlIFhFTlZCRF9DTE9TRUQ6Ci0gICAgICAgICAgICBjYXNlIFhFTlZCRF9QUkVQQVJF
RDoKLSAgICAgICAgICAgICAgICBTdGF0dXMgPSBGcm9udGVuZENsb3NlKEZyb250ZW5kKTsKLSAg
ICAgICAgICAgICAgICBGcm9udGVuZC0+U3RhdGUgPSBYRU5WQkRfQ0xPU0lORzsKLSAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgRmFp
bGVkID0gVFJVRTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIGJyZWFrOwotCi0gICAgICAgIGNhc2UgWEVOVkJEX0NMT1NJTkc6Ci0gICAgICAgICAg
ICBzd2l0Y2ggKFN0YXRlKSB7Ci0gICAgICAgICAgICBjYXNlIFhFTlZCRF9JTklUSUFMSVpFRDoK
LSAgICAgICAgICAgIGNhc2UgWEVOVkJEX0NMT1NFRDoKLSAgICAgICAgICAgIGNhc2UgWEVOVkJE
X1BSRVBBUkVEOgotICAgICAgICAgICAgY2FzZSBYRU5WQkRfQ09OTkVDVEVEOgotICAgICAgICAg
ICAgY2FzZSBYRU5WQkRfRU5BQkxFRDoKLSAgICAgICAgICAgICAgICBGcm9udGVuZERpc2Nvbm5l
Y3QoRnJvbnRlbmQpOwotICAgICAgICAgICAgICAgIEZyb250ZW5kLT5TdGF0ZSA9IFhFTlZCRF9D
TE9TRUQ7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAg
ICAgICAgICAgICAgIEZhaWxlZCA9IFRSVUU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICBjYXNlIFhFTlZCRF9FTkFC
TEVEOgotICAgICAgICAgICAgc3dpdGNoIChTdGF0ZSkgewotICAgICAgICAgICAgY2FzZSBYRU5W
QkRfQ0xPU0lORzoKLSAgICAgICAgICAgIGNhc2UgWEVOVkJEX0NMT1NFRDoKLSAgICAgICAgICAg
IGNhc2UgWEVOVkJEX1BSRVBBUkVEOgotICAgICAgICAgICAgY2FzZSBYRU5WQkRfQ09OTkVDVEVE
OgotICAgICAgICAgICAgICAgIEZyb250ZW5kRGlzYWJsZShGcm9udGVuZCk7Ci0gICAgICAgICAg
ICAgICAgRnJvbnRlbmQtPlN0YXRlID0gWEVOVkJEX0NPTk5FQ1RFRDsKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgRmFpbGVkID0g
VFJVRTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IGJyZWFrOwotCi0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBGYWlsZWQgPSBUUlVFOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgVmVyYm9zZSgiVGFyZ2V0WyVk
XSA6IGluIHN0YXRlICVzXG4iLCBUYXJnZXRJZCwgX19YZW52YmRTdGF0ZU5hbWUoRnJvbnRlbmQt
PlN0YXRlKSk7Ci0gICAgfQotICAgIFRyYWNlKCJUYXJnZXRbJWRdIEAgKCVkKSA8PT09PT0gKCVz
KVxuIiwgVGFyZ2V0SWQsIEtlR2V0Q3VycmVudElycWwoKSwgRmFpbGVkID8gIkZBSUxFRCIgOiAi
U1VDQ0VFREVEIik7Ci0gICAgcmV0dXJuIEZhaWxlZCA/IFNUQVRVU19VTlNVQ0NFU1NGVUwgOiBT
VEFUVVNfU1VDQ0VTUzsKLX0KLQotX19kcnZfcmVxdWlyZXNJUlFMKERJU1BBVENIX0xFVkVMKQot
c3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIFZPSUQKLUZyb250ZW5kU3VzcGVuZExhdGVDYWxsYmFj
aygKLSAgICBfX2luICBQVk9JRCAgICAgICAgICAgICAgICAgICBBcmd1bWVudAotICAgICkKLXsK
LSAgICBOVFNUQVRVUyAgICAgICAgICAgIFN0YXR1czsKLSAgICBYRU5WQkRfU1RBVEUgICAgICAg
IFN0YXRlOwotICAgIFBYRU5WQkRfRlJPTlRFTkQgICAgRnJvbnRlbmQgPSAoUFhFTlZCRF9GUk9O
VEVORClBcmd1bWVudDsKLQotICAgIFZlcmJvc2UoIlRhcmdldFslZF0gOiA9PT0+IGZyb20gJXNc
biIsIEZyb250ZW5kLT5UYXJnZXRJZCwgX19YZW52YmRTdGF0ZU5hbWUoRnJvbnRlbmQtPlN0YXRl
KSk7Ci0gICAgU3RhdGUgPSBGcm9udGVuZC0+U3RhdGU7Ci0KLSAgICBUYXJnZXRQcmVSZXN1bWUo
RnJvbnRlbmQtPlRhcmdldCk7Ci0KLSAgICAvLyBkb250IGFjcXVpcmUgc3RhdGUgbG9jayAtIGNh
bGxlZCBhdCBESVNQQVRDSCBvbiAxIHZDUFUgd2l0aCBpbnRlcnJ1cHRzIGVuYWJsZWQKLSAgICBT
dGF0dXMgPSBfX0Zyb250ZW5kU2V0U3RhdGUoRnJvbnRlbmQsIFhFTlZCRF9DTE9TRUQpOwotICAg
IGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKSB7Ci0gICAgICAgIEVycm9yKCJUYXJnZXRbJWRdIDog
U2V0U3RhdGUgQ0xPU0VEICglMDh4KVxuIiwgRnJvbnRlbmQtPlRhcmdldElkLCBTdGF0dXMpOwot
ICAgICAgICBBU1NFUlQoRkFMU0UpOwotICAgIH0KLQotICAgIC8vIGRvbnQgYWNxdWlyZSBzdGF0
ZSBsb2NrIC0gY2FsbGVkIGF0IERJU1BBVENIIG9uIDEgdkNQVSB3aXRoIGludGVycnVwdHMgZW5h
YmxlZAotICAgIFN0YXR1cyA9IF9fRnJvbnRlbmRTZXRTdGF0ZShGcm9udGVuZCwgU3RhdGUpOwot
ICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKSB7Ci0gICAgICAgIEVycm9yKCJUYXJnZXRbJWRd
IDogU2V0U3RhdGUgJXMgKCUwOHgpXG4iLCBGcm9udGVuZC0+VGFyZ2V0SWQsIF9fWGVudmJkU3Rh
dGVOYW1lKFN0YXRlKSwgU3RhdHVzKTsKLSAgICAgICAgQVNTRVJUKEZBTFNFKTsKLSAgICB9Ci0K
LSAgICBUYXJnZXRQb3N0UmVzdW1lKEZyb250ZW5kLT5UYXJnZXQpOwotICAgIE5vdGlmaWVyVHJp
Z2dlcihGcm9udGVuZC0+Tm90aWZpZXIpOwotCi0gICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6IDw9
PT0gcmVzdG9yZWQgJXNcbiIsIEZyb250ZW5kLT5UYXJnZXRJZCwgX19YZW52YmRTdGF0ZU5hbWUo
RnJvbnRlbmQtPlN0YXRlKSk7Ci19Ci0KLV9fY2hlY2tSZXR1cm4KLV9fZHJ2X21heElSUUwoRElT
UEFUQ0hfTEVWRUwpCi1OVFNUQVRVUwotRnJvbnRlbmREM1RvRDAoCi0gICAgX19pbiAgUFhFTlZC
RF9GUk9OVEVORCAgICAgICAgRnJvbnRlbmQKLSAgICApCi17Ci0gICAgUFhFTlZCRF9BREFQVEVS
IEFkYXB0ZXIgPSBUYXJnZXRHZXRBZGFwdGVyKEZyb250ZW5kLT5UYXJnZXQpOwotICAgIE5UU1RB
VFVTICAgIFN0YXR1czsKLSAgICBLSVJRTCAgICAgICBJcnFsOwotCi0gICAgS2VBY3F1aXJlU3Bp
bkxvY2soJkZyb250ZW5kLT5TdGF0ZUxvY2ssICZJcnFsKTsKLQotICAgIC8vIGFjcXVpcmUgaW50
ZXJmYWNlcwotICAgIEFkYXB0ZXJHZXRTdG9yZUludGVyZmFjZShBZGFwdGVyLCAmRnJvbnRlbmQt
PlN0b3JlSW50ZXJmYWNlKTsKLSAgICBBZGFwdGVyR2V0U3VzcGVuZEludGVyZmFjZShBZGFwdGVy
LCAmRnJvbnRlbmQtPlN1c3BlbmRJbnRlcmZhY2UpOwotCi0gICAgU3RhdHVzID0gWEVOQlVTX1NU
T1JFKEFjcXVpcmUsICZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UpOwotICAgIGlmICghTlRfU1VD
Q0VTUyhTdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWwxOwotCi0gICAgU3RhdHVzID0gWEVOQlVT
X1NVU1BFTkQoQWNxdWlyZSwgJkZyb250ZW5kLT5TdXNwZW5kSW50ZXJmYWNlKTsKLSAgICBpZiAo
IU5UX1NVQ0NFU1MoU3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsMjsKLQotICAgIC8vIHJlZ2lz
dGVyIHN1c3BlbmQgY2FsbGJhY2sKLSAgICBBU1NFUlQzUChGcm9udGVuZC0+U3VzcGVuZExhdGVD
YWxsYmFjaywgPT0sIE5VTEwpOwotICAgIFN0YXR1cyA9IFhFTkJVU19TVVNQRU5EKFJlZ2lzdGVy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICZGcm9udGVuZC0+U3VzcGVuZEludGVyZmFj
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVVNQRU5EX0NBTExCQUNLX0xBVEUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmRTdXNwZW5kTGF0ZUNhbGxiYWNrLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZGcm9udGVuZC0+U3VzcGVuZExhdGVDYWxsYmFjayk7Ci0gICAgaWYgKCFOVF9T
VUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDM7Ci0KLSAgICAvLyB1cGRhdGUgc3Rh
dGUKLSAgICBGcm9udGVuZC0+QWN0aXZlID0gVFJVRTsKLQotICAgIEtlUmVsZWFzZVNwaW5Mb2Nr
KCZGcm9udGVuZC0+U3RhdGVMb2NrLCBJcnFsKTsKLSAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7
Ci0KLWZhaWwzOgotICAgIEVycm9yKCJGYWlsM1xuIik7Ci0KLSAgICBYRU5CVVNfU1VTUEVORChS
ZWxlYXNlLCAmRnJvbnRlbmQtPlN1c3BlbmRJbnRlcmZhY2UpOwotICAgIFJ0bFplcm9NZW1vcnko
JkZyb250ZW5kLT5TdXNwZW5kSW50ZXJmYWNlLCBzaXplb2YoWEVOQlVTX1NVU1BFTkRfSU5URVJG
QUNFKSk7Ci0KLWZhaWwyOgotICAgIEVycm9yKCJGYWlsMlxuIik7Ci0KLSAgICBYRU5CVVNfU1RP
UkUoUmVsZWFzZSwgJkZyb250ZW5kLT5TdG9yZUludGVyZmFjZSk7Ci0gICAgUnRsWmVyb01lbW9y
eSgmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlLCBzaXplb2YoWEVOQlVTX1NUT1JFX0lOVEVSRkFD
RSkpOwotCi1mYWlsMToKLSAgICBFcnJvcigiRmFpbDEgKCUwOHgpXG4iLCBTdGF0dXMpOwotCi0g
ICAgS2VSZWxlYXNlU3BpbkxvY2soJkZyb250ZW5kLT5TdGF0ZUxvY2ssIElycWwpOwotICAgIHJl
dHVybiBTdGF0dXM7Ci19Ci0KLV9fZHJ2X21heElSUUwoRElTUEFUQ0hfTEVWRUwpCi1WT0lECi1G
cm9udGVuZEQwVG9EMygKLSAgICBfX2luICBQWEVOVkJEX0ZST05URU5EICAgICAgICBGcm9udGVu
ZAotICAgICkKLXsKLSAgICBLSVJRTCAgICAgICBJcnFsOwotCi0gICAgS2VBY3F1aXJlU3Bpbkxv
Y2soJkZyb250ZW5kLT5TdGF0ZUxvY2ssICZJcnFsKTsKLQotICAgIC8vIHVwZGF0ZSBzdGF0ZQot
ICAgIEZyb250ZW5kLT5BY3RpdmUgPSBGQUxTRTsKLQotICAgIC8vIGRlcmVnaXN0ZXIgc3VzcGVu
ZCBjYWxsYmFjawotICAgIGlmIChGcm9udGVuZC0+U3VzcGVuZExhdGVDYWxsYmFjayAhPSBOVUxM
KSB7Ci0gICAgICAgIFhFTkJVU19TVVNQRU5EKERlcmVnaXN0ZXIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICZGcm9udGVuZC0+U3VzcGVuZEludGVyZmFjZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgRnJvbnRlbmQtPlN1c3BlbmRMYXRlQ2FsbGJhY2spOwotICAgICAgICBGcm9udGVuZC0+U3Vz
cGVuZExhdGVDYWxsYmFjayA9IE5VTEw7Ci0gICAgfQotICAgIC8vIEZyZWUgYmFja2VuZCBwYXRo
IGJlZm9yZSBkcm9wcGluZyBzdG9yZSBpbnRlcmZhY2UKLSAgICBpZiAoRnJvbnRlbmQtPkJhY2tl
bmRQYXRoKSB7Ci0gICAgICAgIF9fRnJvbnRlbmRGcmVlKEZyb250ZW5kLT5CYWNrZW5kUGF0aCk7
Ci0gICAgICAgIEZyb250ZW5kLT5CYWNrZW5kUGF0aCA9IE5VTEw7Ci0gICAgfQotCi0gICAgLy8g
cmVsZWFzZSBpbnRlcmZhY2VzCi0gICAgWEVOQlVTX1NVU1BFTkQoUmVsZWFzZSwgJkZyb250ZW5k
LT5TdXNwZW5kSW50ZXJmYWNlKTsKLSAgICBSdGxaZXJvTWVtb3J5KCZGcm9udGVuZC0+U3VzcGVu
ZEludGVyZmFjZSwgc2l6ZW9mKFhFTkJVU19TVVNQRU5EX0lOVEVSRkFDRSkpOwotICAgIAotICAg
IFhFTkJVU19TVE9SRShSZWxlYXNlLCAmRnJvbnRlbmQtPlN0b3JlSW50ZXJmYWNlKTsKLSAgICBS
dGxaZXJvTWVtb3J5KCZGcm9udGVuZC0+U3RvcmVJbnRlcmZhY2UsIHNpemVvZihYRU5CVVNfU1RP
UkVfSU5URVJGQUNFKSk7Ci0KLSAgICBLZVJlbGVhc2VTcGluTG9jaygmRnJvbnRlbmQtPlN0YXRl
TG9jaywgSXJxbCk7Ci19Ci0KLV9fY2hlY2tSZXR1cm4KLU5UU1RBVFVTCi1Gcm9udGVuZFNldFN0
YXRlKAotICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICAgIEZyb250ZW5kLAotICAgIF9f
aW4gIFhFTlZCRF9TVEFURSAgICAgICAgICAgIFN0YXRlCi0gICAgKQotewotICAgIE5UU1RBVFVT
ICAgIFN0YXR1czsKLSAgICBLSVJRTCAgICAgICBJcnFsOwotCi0gICAgS2VBY3F1aXJlU3Bpbkxv
Y2soJkZyb250ZW5kLT5TdGF0ZUxvY2ssICZJcnFsKTsKLQotICAgIFN0YXR1cyA9IF9fRnJvbnRl
bmRTZXRTdGF0ZShGcm9udGVuZCwgU3RhdGUpOwotCi0gICAgS2VSZWxlYXNlU3BpbkxvY2soJkZy
b250ZW5kLT5TdGF0ZUxvY2ssIElycWwpOwotICAgIHJldHVybiBTdGF0dXM7Ci19Ci0KLV9fY2hl
Y2tSZXR1cm4KLXN0YXRpYyBERUNMU1BFQ19OT0lOTElORSBOVFNUQVRVUwotRnJvbnRlbmRCYWNr
ZW5kKAotICAgIF9faW4gUFhFTlZCRF9USFJFQUQgICAgICAgICAgICAgIFRocmVhZCwKLSAgICBf
X2luIFBWT0lEICAgICAgICAgICAgICAgICAgICAgICBDb250ZXh0Ci0gICAgKQotewotICAgIFBY
RU5WQkRfRlJPTlRFTkQgICAgICAgICAgICAgICAgRnJvbnRlbmQgPSBDb250ZXh0OwotCi0gICAg
Zm9yICg7OykgewotICAgICAgICBLSVJRTCAgICAgICBJcnFsOwotCi0gICAgICAgIGlmICghVGhy
ZWFkV2FpdChUaHJlYWQpKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgS2VBY3F1aXJl
U3BpbkxvY2soJkZyb250ZW5kLT5TdGF0ZUxvY2ssICZJcnFsKTsKLSAgICAgICAgLy8gT25seSBh
dHRlbXB0IHRoaXMgaWYgQWN0aXZlLCBBY3RpdmUgaXMgc2V0L2NsZWFyZWQgb24gRDMtPkQwL0Qw
LT5EMwotICAgICAgICBpZiAoRnJvbnRlbmQtPkFjdGl2ZSkgewotICAgICAgICAgICAgX19SZWFk
RGlza0luZm8oRnJvbnRlbmQpOwotICAgICAgICAgICAgX19DaGVja0JhY2tlbmRGb3JFamVjdChG
cm9udGVuZCk7Ci0gICAgICAgIH0KLSAgICAgICAgS2VSZWxlYXNlU3BpbkxvY2soJkZyb250ZW5k
LT5TdGF0ZUxvY2ssIElycWwpOwotICAgIH0KLQotICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsK
LQotfQotCi1OVFNUQVRVUwotRnJvbnRlbmRDcmVhdGUoCi0gICAgSU4gIFBYRU5WQkRfVEFSR0VU
ICAgICAgICAgIFRhcmdldCwKLSAgICBJTiAgUENIQVIgICAgICAgICAgICAgICAgICAgRGV2aWNl
SWQsIAotICAgIElOICBVTE9ORyAgICAgICAgICAgICAgICAgICBUYXJnZXRJZCwgCi0gICAgT1VU
IFBYRU5WQkRfRlJPTlRFTkQqICAgICAgIF9Gcm9udGVuZAotICAgICkKLXsKLSAgICBOVFNUQVRV
UyAgICAgICAgICAgIHN0YXR1czsKLSAgICBQWEVOVkJEX0ZST05URU5EICAgIEZyb250ZW5kOwot
Ci0gICAgVHJhY2UoIlRhcmdldFslZF0gQCAoJWQpID09PT09PlxuIiwgVGFyZ2V0SWQsIEtlR2V0
Q3VycmVudElycWwoKSk7Ci0KLSAgICBGcm9udGVuZCA9IF9fRnJvbnRlbmRBbGxvYyhzaXplb2Yo
WEVOVkJEX0ZST05URU5EKSk7Ci0KLSAgICBzdGF0dXMgPSBTVEFUVVNfTk9fTUVNT1JZOwotICAg
IGlmIChGcm9udGVuZCA9PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWwxOwotCi0gICAgLy8gcG9w
dWxhdGUgbWVtYmVycwotICAgIEZyb250ZW5kLT5UYXJnZXQgPSBUYXJnZXQ7Ci0gICAgRnJvbnRl
bmQtPlRhcmdldElkID0gVGFyZ2V0SWQ7Ci0gICAgRnJvbnRlbmQtPkRldmljZUlkID0gc3RydG91
bChEZXZpY2VJZCwgTlVMTCwgMTApOwotICAgIEZyb250ZW5kLT5TdGF0ZSA9IFhFTlZCRF9JTklU
SUFMSVpFRDsKLSAgICBGcm9udGVuZC0+RGlza0luZm8uU2VjdG9yU2l6ZSA9IDUxMjsgLy8gZGVm
YXVsdCBzZWN0b3Igc2l6ZQotICAgIEZyb250ZW5kLT5CYWNrZW5kSWQgPSBET01JRF9JTlZBTElE
OwotICAgIAotICAgIHN0YXR1cyA9IFJ0bFN0cmluZ0NiUHJpbnRmQShGcm9udGVuZC0+RnJvbnRl
bmRQYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoRnJvbnRlbmQt
PkZyb250ZW5kUGF0aCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZXZpY2Uv
dmJkLyV1IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPkRldmlj
ZUlkKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkgCi0gICAgICAgIGdvdG8gZmFpbDI7
Ci0KLSAgICBzdGF0dXMgPSBSdGxTdHJpbmdDYlByaW50ZkEoRnJvbnRlbmQtPlRhcmdldFBhdGgs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihGcm9udGVuZC0+VGFyZ2V0
UGF0aCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhL3Njc2kvdGFyZ2V0
LyV1IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0SWQpOwotICAgIGlm
ICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWwzOwotCi0gICAgc3RhdHVz
ID0gTm90aWZpZXJDcmVhdGUoRnJvbnRlbmQsICZGcm9udGVuZC0+Tm90aWZpZXIpOwotICAgIGlm
ICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWw0OwotCi0gICAgc3RhdHVz
ID0gQmxvY2tSaW5nQ3JlYXRlKEZyb250ZW5kLCBGcm9udGVuZC0+RGV2aWNlSWQsICZGcm9udGVu
ZC0+QmxvY2tSaW5nKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgZ290
byBmYWlsNTsKLQotICAgIHN0YXR1cyA9IEdyYW50ZXJDcmVhdGUoRnJvbnRlbmQsICZGcm9udGVu
ZC0+R3JhbnRlcik7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgIGdvdG8g
ZmFpbDY7Ci0KLSAgICBzdGF0dXMgPSBUaHJlYWRDcmVhdGUoRnJvbnRlbmRCYWNrZW5kLCBGcm9u
dGVuZCwgJkZyb250ZW5kLT5CYWNrZW5kVGhyZWFkKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Moc3Rh
dHVzKSkKLSAgICAgICAgZ290byBmYWlsNzsKLQotICAgIC8vIGtlcm5lbCBvYmplY3RzCi0gICAg
S2VJbml0aWFsaXplU3BpbkxvY2soJkZyb250ZW5kLT5TdGF0ZUxvY2spOwotICAgIAotICAgIFRy
YWNlKCJUYXJnZXRbJWRdIEAgKCVkKSA8PT09PT0gKFNUQVRVU19TVUNDRVNTKVxuIiwgRnJvbnRl
bmQtPlRhcmdldElkLCBLZUdldEN1cnJlbnRJcnFsKCkpOwotICAgICpfRnJvbnRlbmQgPSBGcm9u
dGVuZDsKLSAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7Ci0KLWZhaWw3OgotICAgIEVycm9yKCJm
YWlsN1xuIik7Ci0gICAgR3JhbnRlckRlc3Ryb3koRnJvbnRlbmQtPkdyYW50ZXIpOwotICAgIEZy
b250ZW5kLT5HcmFudGVyID0gTlVMTDsKLWZhaWw2OgotICAgIEVycm9yKCJmYWlsNlxuIik7Ci0g
ICAgQmxvY2tSaW5nRGVzdHJveShGcm9udGVuZC0+QmxvY2tSaW5nKTsKLSAgICBGcm9udGVuZC0+
QmxvY2tSaW5nID0gTlVMTDsKLWZhaWw1OgotICAgIEVycm9yKCJmYWlsNVxuIik7Ci0gICAgTm90
aWZpZXJEZXN0cm95KEZyb250ZW5kLT5Ob3RpZmllcik7Ci0gICAgRnJvbnRlbmQtPk5vdGlmaWVy
ID0gTlVMTDsKLWZhaWw0OgotICAgIEVycm9yKCJmYWlsNFxuIik7Ci1mYWlsMzoKLSAgICBFcnJv
cigiZmFpbDNcbiIpOwotZmFpbDI6Ci0gICAgRXJyb3IoIkZhaWwyXG4iKTsKLSAgICBfX0Zyb250
ZW5kRnJlZShGcm9udGVuZCk7Ci1mYWlsMToKLSAgICBFcnJvcigiRmFpbDEgKCUwOHgpXG4iLCBz
dGF0dXMpOwotICAgICpfRnJvbnRlbmQgPSBOVUxMOwotICAgIHJldHVybiBzdGF0dXM7Ci19Ci0K
LVZPSUQKLUZyb250ZW5kRGVzdHJveSgKLSAgICBfX2luICBQWEVOVkJEX0ZST05URU5EICAgICAg
ICBGcm9udGVuZAotICAgICkKLXsKLSAgICBjb25zdCBVTE9ORyBUYXJnZXRJZCA9IEZyb250ZW5k
LT5UYXJnZXRJZDsKLQotICAgIFRyYWNlKCJUYXJnZXRbJWRdIEAgKCVkKSA9PT09PT5cbiIsIFRh
cmdldElkLCBLZUdldEN1cnJlbnRJcnFsKCkpOwotCi0gICAgUGRvRnJlZUlucXVpcnlEYXRhKEZy
b250ZW5kLT5JbnF1aXJ5KTsKLSAgICBGcm9udGVuZC0+SW5xdWlyeSA9IE5VTEw7Ci0KLSAgICBU
aHJlYWRBbGVydChGcm9udGVuZC0+QmFja2VuZFRocmVhZCk7Ci0gICAgVGhyZWFkSm9pbihGcm9u
dGVuZC0+QmFja2VuZFRocmVhZCk7Ci0gICAgRnJvbnRlbmQtPkJhY2tlbmRUaHJlYWQgPSBOVUxM
OwotCi0gICAgR3JhbnRlckRlc3Ryb3koRnJvbnRlbmQtPkdyYW50ZXIpOwotICAgIEZyb250ZW5k
LT5HcmFudGVyID0gTlVMTDsKLQotICAgIEJsb2NrUmluZ0Rlc3Ryb3koRnJvbnRlbmQtPkJsb2Nr
UmluZyk7Ci0gICAgRnJvbnRlbmQtPkJsb2NrUmluZyA9IE5VTEw7Ci0KLSAgICBOb3RpZmllckRl
c3Ryb3koRnJvbnRlbmQtPk5vdGlmaWVyKTsKLSAgICBGcm9udGVuZC0+Tm90aWZpZXIgPSBOVUxM
OwotCi0gICAgQVNTRVJUM1AoRnJvbnRlbmQtPkJhY2tlbmRQYXRoLCA9PSwgTlVMTCk7Ci0gICAg
QVNTRVJUM1AoRnJvbnRlbmQtPklucXVpcnksID09LCBOVUxMKTsKLSAgICBBU1NFUlQzUChGcm9u
dGVuZC0+U3VzcGVuZExhdGVDYWxsYmFjaywgPT0sIE5VTEwpOwotICAgIEFTU0VSVDNQKEZyb250
ZW5kLT5CYWNrZW5kV2F0Y2gsID09LCBOVUxMKTsKLQotICAgIF9fRnJvbnRlbmRGcmVlKEZyb250
ZW5kKTsKLSAgICBUcmFjZSgiVGFyZ2V0WyVkXSBAICglZCkgPD09PT09XG4iLCBUYXJnZXRJZCwg
S2VHZXRDdXJyZW50SXJxbCgpKTsKLX0KLQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLy8gRGVi
dWcKLVZPSUQKLUZyb250ZW5kRGVidWdDYWxsYmFjaygKLSAgICBfX2luICBQWEVOVkJEX0ZST05U
RU5EICAgICAgICBGcm9udGVuZCwKLSAgICBfX2luICBQWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSBE
ZWJ1ZwotICAgICkKLXsKLSAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCBEZWJ1ZywKLSAgICAgICAg
ICAgICAgICAgIkZST05URU5EOiBUYXJnZXRJZD0lZCBEZXZpY2VJZD0lZCBCYWNrZW5kSWQ9JWRc
biIsCi0gICAgICAgICAgICAgICAgIEZyb250ZW5kLT5UYXJnZXRJZCwKLSAgICAgICAgICAgICAg
ICAgRnJvbnRlbmQtPkRldmljZUlkLAotICAgICAgICAgICAgICAgICBGcm9udGVuZC0+QmFja2Vu
ZElkKTsKLSAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCBEZWJ1ZywKLSAgICAgICAgICAgICAgICAg
IkZST05URU5EOiBGcm9udGVuZFBhdGggJXNcbiIsCi0gICAgICAgICAgICAgICAgIEZyb250ZW5k
LT5Gcm9udGVuZFBhdGgpOwotICAgIFhFTkJVU19ERUJVRyhQcmludGYsIERlYnVnLAotICAgICAg
ICAgICAgICAgICAiRlJPTlRFTkQ6IEJhY2tlbmRQYXRoICAlc1xuIiwKLSAgICAgICAgICAgICAg
ICAgRnJvbnRlbmQtPkJhY2tlbmRQYXRoID8gRnJvbnRlbmQtPkJhY2tlbmRQYXRoIDogIk5VTEwi
KTsKLSAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCBEZWJ1ZywKLSAgICAgICAgICAgICAgICAgIkZS
T05URU5EOiBUYXJnZXRQYXRoICAgJXNcbiIsCi0gICAgICAgICAgICAgICAgIEZyb250ZW5kLT5U
YXJnZXRQYXRoKTsKLSAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCBEZWJ1ZywKLSAgICAgICAgICAg
ICAgICAgIkZST05URU5EOiBTdGF0ZSAgIDogJXNcbiIsCi0gICAgICAgICAgICAgICAgIF9fWGVu
dmJkU3RhdGVOYW1lKEZyb250ZW5kLT5TdGF0ZSkpOwotCi0gICAgWEVOQlVTX0RFQlVHKFByaW50
ZiwgRGVidWcsCi0gICAgICAgICAgICAgICAgICJGUk9OVEVORDogQ2FwcyAgICA6ICVzJXMlcyVz
JXMlc1xuIiwKLSAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPkNhcHMuQ29ubmVjdGVkID8gIkNP
Tk5FQ1RFRCAiIDogIiIsCi0gICAgICAgICAgICAgICAgIEZyb250ZW5kLT5DYXBzLlJlbW92YWJs
ZSA/ICJSRU1PVkFCTEUgIiA6ICIiLAotICAgICAgICAgICAgICAgICBGcm9udGVuZC0+Q2Fwcy5T
dXJwcmlzZVJlbW92YWJsZSA/ICJTVVJQUklTRSAiIDogIiIsCi0gICAgICAgICAgICAgICAgIEZy
b250ZW5kLT5DYXBzLlBhZ2luZyA/ICJQQUdJTkcgIiA6ICIiLAotICAgICAgICAgICAgICAgICBG
cm9udGVuZC0+Q2Fwcy5IaWJlcm5hdGlvbiA/ICJISUJFUiAiIDogIiIsCi0gICAgICAgICAgICAg
ICAgIEZyb250ZW5kLT5DYXBzLkR1bXBGaWxlID8gIkRVTVAgIiA6ICIiKTsKLQotICAgIFhFTkJV
U19ERUJVRyhQcmludGYsIERlYnVnLAotICAgICAgICAgICAgICAgICAiRlJPTlRFTkQ6IEZlYXR1
cmVzOiAlcyVzJXMlcyVzXG4iLAotICAgICAgICAgICAgICAgICBGcm9udGVuZC0+RmVhdHVyZXMu
UGVyc2lzdGVudCA/ICJQRVJTSVNURU5UICIgOiAiIiwKLSAgICAgICAgICAgICAgICAgRnJvbnRl
bmQtPkZlYXR1cmVzLkluZGlyZWN0ID4gMCA/ICJJTkRJUkVDVCAiIDogIiIsCi0gICAgICAgICAg
ICAgICAgIEZyb250ZW5kLT5EaXNrSW5mby5CYXJyaWVyID8gIkJBUlJJRVIgIiA6ICIiLAotICAg
ICAgICAgICAgICAgICBGcm9udGVuZC0+RGlza0luZm8uRmx1c2hDYWNoZSA/ICJGTFVTSCAiIDog
IiIsCi0gICAgICAgICAgICAgICAgIEZyb250ZW5kLT5EaXNrSW5mby5EaXNjYXJkID8gIkRJU0NB
UkQgIiA6ICIiKTsKLQotICAgIGlmIChGcm9udGVuZC0+RmVhdHVyZXMuSW5kaXJlY3QgPiAwKSB7
Ci0gICAgICAgIFhFTkJVU19ERUJVRyhQcmludGYsIERlYnVnLAotICAgICAgICAgICAgICAgICAg
ICAgIkZST05URU5EOiBJTkRJUkVDVCAleFxuIiwKLSAgICAgICAgICAgICAgICAgICAgIEZyb250
ZW5kLT5GZWF0dXJlcy5JbmRpcmVjdCk7Ci0gICAgfQotICAgIGlmIChGcm9udGVuZC0+RGlza0lu
Zm8uRGlzY2FyZCkgewotICAgICAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCBEZWJ1ZywKLSAgICAg
ICAgICAgICAgICAgICAgICJGUk9OVEVORDogRElTQ0FSRCAlcyV4LyV4XG4iLAotICAgICAgICAg
ICAgICAgICAgICAgRnJvbnRlbmQtPkRpc2tJbmZvLkRpc2NhcmRTZWN1cmUgPyAiU0VDVVJFICIg
OiAiIiwKLSAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kLT5EaXNrSW5mby5EaXNjYXJkQWxp
Z25tZW50LAotICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQtPkRpc2tJbmZvLkRpc2NhcmRH
cmFudWxhcml0eSk7Ci0gICAgfQotCi0gICAgWEVOQlVTX0RFQlVHKFByaW50ZiwgRGVidWcsCi0g
ICAgICAgICAgICAgICAgICJGUk9OVEVORDogRGlza0luZm86ICVsbHUgQCAldSAoJXUpICUwOHhc
biIsCi0gICAgICAgICAgICAgICAgIEZyb250ZW5kLT5EaXNrSW5mby5TZWN0b3JDb3VudCwKLSAg
ICAgICAgICAgICAgICAgRnJvbnRlbmQtPkRpc2tJbmZvLlNlY3RvclNpemUsCi0gICAgICAgICAg
ICAgICAgIEZyb250ZW5kLT5EaXNrSW5mby5QaHlzU2VjdG9yU2l6ZSwKLSAgICAgICAgICAgICAg
ICAgRnJvbnRlbmQtPkRpc2tJbmZvLkRpc2tJbmZvKTsKLQotICAgIEdyYW50ZXJEZWJ1Z0NhbGxi
YWNrKEZyb250ZW5kLT5HcmFudGVyLCBEZWJ1Zyk7Ci0gICAgQmxvY2tSaW5nRGVidWdDYWxsYmFj
ayhGcm9udGVuZC0+QmxvY2tSaW5nLCBEZWJ1Zyk7Ci0gICAgTm90aWZpZXJEZWJ1Z0NhbGxiYWNr
KEZyb250ZW5kLT5Ob3RpZmllciwgRGVidWcpOwotfQotCmRpZmYgLS1naXQgYS9zcmMveGVudmJk
L2Zyb250ZW5kLmggYi9zcmMveGVudmJkL2Zyb250ZW5kLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGY0NjZlZjguLjAwMDAwMDAKLS0tIGEvc3JjL3hlbnZiZC9mcm9udGVuZC5oCisr
KyAvZGV2L251bGwKQEAgLTEsMTk4ICswLDAgQEAKLS8qIENvcHlyaWdodCAoYykgQ2l0cml4IFN5
c3RlbXMgSW5jLgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3JtcywgCi0gKiB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIAotICogdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKLSAqIAotICogKiAgIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgCi0gKiAgICAgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSAKLSAqICAgICBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqICogICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIAotICogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgCi0gKiAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIAotICogICAgIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCAKLSAqIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIAotICogSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgCi0gKiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSAKLSAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIAotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgCi0gKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIAotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIAotICogV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIAotICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSAKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgCi0gKiBTVUNIIERBTUFHRS4KLSAq
LyAKLQotI2lmbmRlZiBfWEVOVkJEX0ZST05URU5EX0gKLSNkZWZpbmUgX1hFTlZCRF9GUk9OVEVO
RF9ICi0KLSNpbmNsdWRlICJ0YXJnZXQuaCIKLSNpbmNsdWRlIDxkZWJ1Z19pbnRlcmZhY2UuaD4K
LQotdHlwZWRlZiBlbnVtIF9YRU5WQkRfU1RBVEUgewotICAgIFhFTlZCRF9TVEFURV9JTlZBTElE
LAotICAgIFhFTlZCRF9JTklUSUFMSVpFRCwgLy8gLT4geyBDTE9TRUQgfQotICAgIFhFTlZCRF9D
TE9TSU5HLCAgICAgLy8gLT4geyBDTE9TRUQgfQotICAgIFhFTlZCRF9DTE9TRUQsICAgICAgLy8g
LT4geyBQUkVQQVJFRCB9Ci0gICAgWEVOVkJEX1BSRVBBUkVELCAgICAvLyAtPiB7IENMT1NJTkcs
IENPTk5FQ1RFRCB9Ci0gICAgWEVOVkJEX0NPTk5FQ1RFRCwgICAvLyAtPiB7IEVOQUJMRUQsIENM
T1NJTkcgfQotICAgIFhFTlZCRF9FTkFCTEVEICAgICAgLy8gLT4geyBDTE9TSU5HIH0KLX0gWEVO
VkJEX1NUQVRFLCAqUFhFTlZCRF9TVEFURTsKLQotdHlwZWRlZiBzdHJ1Y3QgX1hFTlZCRF9DQVBT
IHsKLSAgICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgQ29ubmVjdGVkOwotICAgIEJPT0xF
QU4gICAgICAgICAgICAgICAgICAgICBSZW1vdmFibGU7Ci0gICAgQk9PTEVBTiAgICAgICAgICAg
ICAgICAgICAgIFN1cnByaXNlUmVtb3ZhYmxlOwotICAgIEJPT0xFQU4gICAgICAgICAgICAgICAg
ICAgICBQYWdpbmc7Ci0gICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgIEhpYmVybmF0aW9u
OwotICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICBEdW1wRmlsZTsKLX0gWEVOVkJEX0NB
UFMsICpQWEVOVkJEX0NBUFM7Ci0KLXR5cGVkZWYgc3RydWN0IF9YRU5WQkRfRkVBVFVSRVMgewot
ICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBJbmRpcmVjdDsKLSAgICBCT09MRUFOICAg
ICAgICAgICAgICAgICAgICAgUGVyc2lzdGVudDsKLX0gWEVOVkJEX0ZFQVRVUkVTLCAqUFhFTlZC
RF9GRUFUVVJFUzsKLQotdHlwZWRlZiBzdHJ1Y3QgX1hFTlZCRF9ESVNLSU5GTyB7Ci0gICAgVUxP
Tkc2NCAgICAgICAgICAgICAgICAgICAgIFNlY3RvckNvdW50OwotICAgIFVMT05HICAgICAgICAg
ICAgICAgICAgICAgICBTZWN0b3JTaXplOwotICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAg
ICBQaHlzU2VjdG9yU2l6ZTsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgRGlza0lu
Zm87Ci0gICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgIEJhcnJpZXI7Ci0gICAgQk9PTEVB
TiAgICAgICAgICAgICAgICAgICAgIEZsdXNoQ2FjaGU7Ci0gICAgQk9PTEVBTiAgICAgICAgICAg
ICAgICAgICAgIERpc2NhcmQ7Ci0gICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgIERpc2Nh
cmRTZWN1cmU7Ci0gICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIERpc2NhcmRBbGlnbm1l
bnQ7Ci0gICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIERpc2NhcmRHcmFudWxhcml0eTsK
LX0gWEVOVkJEX0RJU0tJTkZPLCAqUFhFTlZCRF9ESVNLSU5GTzsKLQotdHlwZWRlZiBzdHJ1Y3Qg
X1hFTlZCRF9GUk9OVEVORCBYRU5WQkRfRlJPTlRFTkQsICpQWEVOVkJEX0ZST05URU5EOwotCi0v
LyBBY2Nlc3NvcnMKLWV4dGVybiBWT0lECi1Gcm9udGVuZFJlbW92ZUZlYXR1cmUoCi0gICAgSU4g
IFBYRU5WQkRfRlJPTlRFTkQgICAgICAgIEZyb250ZW5kLAotICAgIElOICBVQ0hBUiAgICAgICAg
ICAgICAgICAgICBCbGtpZk9wZXJhdGlvbgotICAgICk7Ci1leHRlcm4gUFhFTlZCRF9DQVBTCi1G
cm9udGVuZEdldENhcHMoCi0gICAgX19pbiAgUFhFTlZCRF9GUk9OVEVORCAgICAgIEZyb250ZW5k
Ci0gICAgKTsKLWV4dGVybiBQWEVOVkJEX0ZFQVRVUkVTCi1Gcm9udGVuZEdldEZlYXR1cmVzKAot
ICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICBGcm9udGVuZAotICAgICk7Ci1leHRlcm4g
UFhFTlZCRF9ESVNLSU5GTwotRnJvbnRlbmRHZXREaXNrSW5mbygKLSAgICBfX2luICBQWEVOVkJE
X0ZST05URU5EICAgICAgRnJvbnRlbmQKLSAgICApOwotZXh0ZXJuIFVMT05HCi1Gcm9udGVuZEdl
dFRhcmdldElkKAotICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICBGcm9udGVuZAotICAg
ICk7Ci1leHRlcm4gVUxPTkcKLUZyb250ZW5kR2V0RGV2aWNlSWQoCi0gICAgX19pbiAgUFhFTlZC
RF9GUk9OVEVORCAgICAgIEZyb250ZW5kCi0gICAgKTsKLWV4dGVybiBQVk9JRAotRnJvbnRlbmRH
ZXRJbnF1aXJ5KAotICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICBGcm9udGVuZAotICAg
ICk7Ci1leHRlcm4gUFhFTlZCRF9UQVJHRVQKLUZyb250ZW5kR2V0VGFyZ2V0KAotICAgIF9faW4g
IFBYRU5WQkRfRlJPTlRFTkQgICAgICBGcm9udGVuZAotICAgICk7Ci0jaW5jbHVkZSAiYmxvY2ty
aW5nLmgiCi1leHRlcm4gUFhFTlZCRF9CTE9DS1JJTkcKLUZyb250ZW5kR2V0QmxvY2tSaW5nKAot
ICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICBGcm9udGVuZAotICAgICk7Ci0jaW5jbHVk
ZSAibm90aWZpZXIuaCIKLWV4dGVybiBQWEVOVkJEX05PVElGSUVSCi1Gcm9udGVuZEdldE5vdGlm
aWVyKAotICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICBGcm9udGVuZAotICAgICk7Ci0j
aW5jbHVkZSAiZ3JhbnRlci5oIgotZXh0ZXJuIFBYRU5WQkRfR1JBTlRFUgotRnJvbnRlbmRHZXRH
cmFudGVyKAotICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICBGcm9udGVuZAotICAgICk7
Ci0KLWV4dGVybiBOVFNUQVRVUwotRnJvbnRlbmRTdG9yZVdyaXRlRnJvbnRlbmQoCi0gICAgX19p
biAgUFhFTlZCRF9GUk9OVEVORCAgICAgIEZyb250ZW5kLAotICAgIF9faW4gIFBDSEFSICAgICAg
ICAgICAgICAgICBOYW1lLAotICAgIF9faW4gIFBDSEFSICAgICAgICAgICAgICAgICBWYWx1ZQot
ICAgICk7Ci1leHRlcm4gTlRTVEFUVVMKLUZyb250ZW5kU3RvcmVSZWFkQmFja2VuZCgKLSAgICBf
X2luICBQWEVOVkJEX0ZST05URU5EICAgICAgRnJvbnRlbmQsCi0gICAgX19pbiAgUENIQVIgICAg
ICAgICAgICAgICAgIE5hbWUsCi0gICAgX19vdXQgUENIQVIqICAgICAgICAgICAgICAgIFZhbHVl
Ci0gICAgKTsKLWV4dGVybiBWT0lECi1Gcm9udGVuZFN0b3JlRnJlZSgKLSAgICBfX2luICBQWEVO
VkJEX0ZST05URU5EICAgICAgRnJvbnRlbmQsCi0gICAgX19pbiAgUENIQVIgICAgICAgICAgICAg
ICAgIFZhbHVlCi0gICAgKTsgICAgCi1fX2Rydl9tYXhJUlFMKERJU1BBVENIX0xFVkVMKQotZXh0
ZXJuIE5UU1RBVFVTCi1Gcm9udGVuZFdyaXRlVXNhZ2UoCi0gICAgX19pbiAgUFhFTlZCRF9GUk9O
VEVORCAgICAgICAgRnJvbnRlbmQKLSAgICApOwotCi0vLyBSaW5nCi1fX2Rydl9yZXF1aXJlc0lS
UUwoRElTUEFUQ0hfTEVWRUwpCi1leHRlcm4gVk9JRAotRnJvbnRlbmROb3RpZnlSZXNwb25zZXMo
Ci0gICAgX19pbiAgUFhFTlZCRF9GUk9OVEVORCAgICAgICAgRnJvbnRlbmQKLSAgICApOwotCi0v
LyBJbml0L1Rlcm0KLV9fY2hlY2tSZXR1cm4KLV9fZHJ2X21heElSUUwoRElTUEFUQ0hfTEVWRUwp
Ci1leHRlcm4gTlRTVEFUVVMKLUZyb250ZW5kRDNUb0QwKAotICAgIF9faW4gIFBYRU5WQkRfRlJP
TlRFTkQgICAgICAgIEZyb250ZW5kCi0gICAgKTsKLQotX19kcnZfbWF4SVJRTChESVNQQVRDSF9M
RVZFTCkKLWV4dGVybiBWT0lECi1Gcm9udGVuZEQwVG9EMygKLSAgICBfX2luICBQWEVOVkJEX0ZS
T05URU5EICAgICAgICBGcm9udGVuZAotICAgICk7Ci0KLV9fY2hlY2tSZXR1cm4KLWV4dGVybiBO
VFNUQVRVUwotRnJvbnRlbmRTZXRTdGF0ZSgKLSAgICBfX2luICBQWEVOVkJEX0ZST05URU5EICAg
ICAgICBGcm9udGVuZCwKLSAgICBfX2luICBYRU5WQkRfU1RBVEUgICAgICAgICAgICBTdGF0ZQot
ICAgICk7Ci0KLWV4dGVybiBOVFNUQVRVUwotRnJvbnRlbmRDcmVhdGUoCi0gICAgSU4gIFBYRU5W
QkRfVEFSR0VUICAgICAgICAgIFRhcmdldCwKLSAgICBJTiAgUENIQVIgICAgICAgICAgICAgICAg
ICAgRGV2aWNlSWQsIAotICAgIElOICBVTE9ORyAgICAgICAgICAgICAgICAgICBUYXJnZXRJZCwg
Ci0gICAgT1VUIFBYRU5WQkRfRlJPTlRFTkQqICAgICAgIF9Gcm9udGVuZAotICAgICk7Ci0KLWV4
dGVybiBWT0lECi1Gcm9udGVuZERlc3Ryb3koCi0gICAgX19pbiAgUFhFTlZCRF9GUk9OVEVORCAg
ICAgICAgRnJvbnRlbmQKLSAgICApOwotCi0vLyBEZWJ1ZwotZXh0ZXJuIFZPSUQKLUZyb250ZW5k
RGVidWdDYWxsYmFjaygKLSAgICBfX2luICBQWEVOVkJEX0ZST05URU5EICAgICAgICBGcm9udGVu
ZCwKLSAgICBfX2luICBQWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSBEZWJ1ZwotICAgICk7Ci0KLSNl
bmRpZiAvLyBfWEVOVkJEX0ZST05URU5EX0gKZGlmZiAtLWdpdCBhL3NyYy94ZW52YmQvZ3JhbnRl
ci5jIGIvc3JjL3hlbnZiZC9ncmFudGVyLmMKaW5kZXggZDYxYjhiMi4uMjIxNDdmMyAxMDA2NDQK
LS0tIGEvc3JjL3hlbnZiZC9ncmFudGVyLmMKKysrIGIvc3JjL3hlbnZiZC9ncmFudGVyLmMKQEAg
LTMyLDUwICszMiw2MiBAQAogI2luY2x1ZGUgPG50ZGRrLmg+CiAjaW5jbHVkZSA8bnRzdHJzYWZl
Lmg+CiAKLSNpbmNsdWRlICJmcm9udGVuZC5oIgorI2luY2x1ZGUgPGdudHRhYl9pbnRlcmZhY2Uu
aD4KKyNpbmNsdWRlIDxkZWJ1Z19pbnRlcmZhY2UuaD4KKworI2luY2x1ZGUgImdyYW50ZXIuaCIK
ICNpbmNsdWRlICJ0YXJnZXQuaCIKICNpbmNsdWRlICJhZGFwdGVyLmgiCisKICNpbmNsdWRlICJ1
dGlsLmgiCiAjaW5jbHVkZSAiZGVidWcuaCIKLSNpbmNsdWRlICJ0aHJlYWQuaCIKLSNpbmNsdWRl
IDxnbnR0YWJfaW50ZXJmYWNlLmg+CisjaW5jbHVkZSAiYXNzZXJ0LmgiCiAKIHN0cnVjdCBfWEVO
VkJEX0dSQU5URVIgewotICAgIFBYRU5WQkRfRlJPTlRFTkQgICAgICAgICAgICAgICAgRnJvbnRl
bmQ7Ci0gICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgICBDb25uZWN0ZWQ7Ci0gICAg
Qk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgICBFbmFibGVkOworICAgIFBYRU5WQkRfVEFS
R0VUICAgICAgICAgIFRhcmdldDsKKyAgICBCT09MRUFOICAgICAgICAgICAgICAgICBDb25uZWN0
ZWQ7CisgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgRW5hYmxlZDsKKworICAgIFhFTkJVU19E
RUJVR19JTlRFUkZBQ0UgIERlYnVnSW50ZXJmYWNlOworICAgIFhFTkJVU19HTlRUQUJfSU5URVJG
QUNFIEdudHRhYkludGVyZmFjZTsKIAotICAgIFhFTkJVU19HTlRUQUJfSU5URVJGQUNFICAgICAg
ICAgR250dGFiSW50ZXJmYWNlOwotICAgIFBYRU5CVVNfR05UVEFCX0NBQ0hFICAgICAgICAgICAg
Q2FjaGU7Ci0gICAgS1NQSU5fTE9DSyAgICAgICAgICAgICAgICAgICAgICBMb2NrOworICAgIFBY
RU5CVVNfREVCVUdfQ0FMTEJBQ0sgIERlYnVnQ2FsbGJhY2s7CiAKLSAgICBVU0hPUlQgICAgICAg
ICAgICAgICAgICAgICAgICAgIEJhY2tlbmREb21haW47Ci0gICAgTE9ORyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBDdXJyZW50OwotICAgIExPTkcgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTWF4aW11bTsKKyAgICBQWEVOQlVTX0dOVFRBQl9DQUNIRSAgICBDYWNoZTsKKyAgICBLU1BJ
Tl9MT0NLICAgICAgICAgICAgICBMb2NrOworCisgICAgTE9ORyAgICAgICAgICAgICAgICAgICAg
Q3VycmVudDsKKyAgICBMT05HICAgICAgICAgICAgICAgICAgICBNYXhpbXVtOwogfTsKLSNkZWZp
bmUgR1JBTlRFUl9QT09MX1RBRyAgICAgICAgICAgICd0bkdYJworI2RlZmluZSBHUkFOVEVSX1BP
T0xfVEFHICAgICd0bkdYJwogCiBzdGF0aWMgRk9SQ0VJTkxJTkUgUFZPSUQKIF9fR3JhbnRlckFs
bG9jYXRlKAotICAgIElOICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgTGVuZ3RoCisgICAg
SU4gIFVMT05HICAgU2l6ZQogICAgICkKIHsKLSAgICByZXR1cm4gX19BbGxvY2F0ZVBvb2xXaXRo
VGFnKE5vblBhZ2VkUG9vbCwgTGVuZ3RoLCBHUkFOVEVSX1BPT0xfVEFHKTsKKyAgICBQVk9JRCAg
ICAgICBCdWZmZXI7CisgICAgQnVmZmVyID0gRXhBbGxvY2F0ZVBvb2xXaXRoVGFnKE5vblBhZ2Vk
UG9vbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2l6ZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgR1JBTlRFUl9QT09MX1RBRyk7CisgICAgaWYgKEJ1
ZmZlcikKKyAgICAgICAgUnRsWmVyb01lbW9yeShCdWZmZXIsIFNpemUpOworICAgIHJldHVybiBC
dWZmZXI7CiB9CiAKIHN0YXRpYyBGT1JDRUlOTElORSBWT0lECiBfX0dyYW50ZXJGcmVlKAotICAg
IElOICBQVk9JRCAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyCisgICAgSU4gIFBWT0lEICAg
QnVmZmVyCiAgICAgKQogewogICAgIGlmIChCdWZmZXIpCi0gICAgICAgIF9fRnJlZVBvb2xXaXRo
VGFnKEJ1ZmZlciwgR1JBTlRFUl9QT09MX1RBRyk7CisgICAgICAgIEV4RnJlZVBvb2xXaXRoVGFn
KEJ1ZmZlciwgR1JBTlRFUl9QT09MX1RBRyk7CiB9CiAKIE5UU1RBVFVTCiBHcmFudGVyQ3JlYXRl
KAotICAgIElOICBQWEVOVkJEX0ZST05URU5EICAgICAgICAgICAgRnJvbnRlbmQsCi0gICAgT1VU
IFBYRU5WQkRfR1JBTlRFUiogICAgICAgICAgICBHcmFudGVyCisgICAgSU4gIFBYRU5WQkRfVEFS
R0VUICAgICAgVGFyZ2V0LAorICAgIE9VVCBQWEVOVkJEX0dSQU5URVIqICAgIEdyYW50ZXIKICAg
ICApCiB7CiAgICAgTlRTVEFUVVMgICAgc3RhdHVzOwpAQCAtODUsNyArOTcsNyBAQCBHcmFudGVy
Q3JlYXRlKAogICAgIGlmICgqR3JhbnRlciA9PSBOVUxMKQogICAgICAgICBnb3RvIGZhaWwxOwog
Ci0gICAgKCpHcmFudGVyKS0+RnJvbnRlbmQgPSBGcm9udGVuZDsKKyAgICAoKkdyYW50ZXIpLT5U
YXJnZXQgPSBUYXJnZXQ7CiAgICAgS2VJbml0aWFsaXplU3BpbkxvY2soJigqR3JhbnRlciktPkxv
Y2spOwogCiAgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwpAQCAtOTYsMTAgKzEwOCwxMCBAQCBm
YWlsMToKIAogVk9JRAogR3JhbnRlckRlc3Ryb3koCi0gICAgSU4gIFBYRU5WQkRfR1JBTlRFUiAg
ICAgICAgICAgICBHcmFudGVyCisgICAgSU4gIFBYRU5WQkRfR1JBTlRFUiBHcmFudGVyCiAgICAg
KQogewotICAgIEdyYW50ZXItPkZyb250ZW5kID0gTlVMTDsKKyAgICBHcmFudGVyLT5UYXJnZXQg
PSBOVUxMOwogICAgIFJ0bFplcm9NZW1vcnkoJkdyYW50ZXItPkxvY2ssIHNpemVvZihLU1BJTl9M
T0NLKSk7CiAKICAgICBBU1NFUlQoSXNaZXJvTWVtb3J5KEdyYW50ZXIsIHNpemVvZihYRU5WQkRf
R1JBTlRFUikpKTsKQEAgLTEzNCwzNCArMTQ2LDU0IEBAIEdyYW50ZXJSZWxlYXNlTG9jaygKICAg
ICBLZVJlbGVhc2VTcGluTG9ja0Zyb21EcGNMZXZlbCgmR3JhbnRlci0+TG9jayk7CiB9CiAKLSNk
ZWZpbmUgTUFYTkFNRUxFTiAgMzIKK3N0YXRpYyBERUNMU1BFQ19OT0lOTElORSBWT0lECitHcmFu
dGVyRGVidWdDYWxsYmFjaygKKyAgICBJTiAgUFZPSUQgICAgICAgQ29udGV4dCwKKyAgICBJTiAg
Qk9PTEVBTiAgICAgQ3Jhc2hpbmcKKyAgICApCit7CisgICAgUFhFTlZCRF9HUkFOVEVSIEdyYW50
ZXIgPSBDb250ZXh0OworCisgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihDcmFzaGluZyk7CisK
KyAgICBYRU5CVVNfREVCVUcoUHJpbnRmLAorICAgICAgICAgICAgICAgICAmR3JhbnRlci0+RGVi
dWdJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICIldSAvICV1IEdyYW50c1xuIiwKKyAgICAg
ICAgICAgICAgICAgR3JhbnRlci0+Q3VycmVudCwKKyAgICAgICAgICAgICAgICAgR3JhbnRlci0+
TWF4aW11bSk7CisgICAgR3JhbnRlci0+TWF4aW11bSA9IEdyYW50ZXItPkN1cnJlbnQ7Cit9CiAK
IE5UU1RBVFVTCiBHcmFudGVyQ29ubmVjdCgKLSAgICBJTiAgUFhFTlZCRF9HUkFOVEVSICAgICAg
ICAgICAgIEdyYW50ZXIsCi0gICAgSU4gIFVTSE9SVCAgICAgICAgICAgICAgICAgICAgICBCYWNr
ZW5kRG9tYWluCisgICAgSU4gIFBYRU5WQkRfR1JBTlRFUiBHcmFudGVyCiAgICAgKQogewotICAg
IFBYRU5WQkRfQURBUFRFUiBBZGFwdGVyID0gVGFyZ2V0R2V0QWRhcHRlcihGcm9udGVuZEdldFRh
cmdldChHcmFudGVyLT5Gcm9udGVuZCkpOwotICAgIENIQVIgICAgICAgIE5hbWVbTUFYTkFNRUxF
Tl07Ci0gICAgTlRTVEFUVVMgICAgc3RhdHVzOworICAgIFBYRU5WQkRfQURBUFRFUiAgICAgQWRh
cHRlcjsKKyAgICBDSEFSICAgICAgICAgICAgICAgIE5hbWVbc2l6ZW9mKCJ4ZW52YmRfWFhYWF9n
bnR0YWIiKV07CisgICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7CiAKICAgICBBU1NFUlQo
R3JhbnRlci0+Q29ubmVjdGVkID09IEZBTFNFKTsKIAorICAgIEFkYXB0ZXIgPSBUYXJnZXRHZXRB
ZGFwdGVyKEdyYW50ZXItPlRhcmdldCk7CisKICAgICBBZGFwdGVyR2V0R250dGFiSW50ZXJmYWNl
KEFkYXB0ZXIsICZHcmFudGVyLT5HbnR0YWJJbnRlcmZhY2UpOworICAgIEFkYXB0ZXJHZXREZWJ1
Z0ludGVyZmFjZShBZGFwdGVyLCAmR3JhbnRlci0+RGVidWdJbnRlcmZhY2UpOwogCiAgICAgc3Rh
dHVzID0gWEVOQlVTX0dOVFRBQihBY3F1aXJlLCAmR3JhbnRlci0+R250dGFiSW50ZXJmYWNlKTsK
ICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgZ290byBmYWlsMTsKIAotICAg
IEdyYW50ZXItPkJhY2tlbmREb21haW4gPSBCYWNrZW5kRG9tYWluOworICAgIHN0YXR1cyA9IFhF
TkJVU19ERUJVRyhBY3F1aXJlLCAmR3JhbnRlci0+RGVidWdJbnRlcmZhY2UpOworICAgIGlmICgh
TlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwyOwogCiAgICAgc3RhdHVzID0g
UnRsU3RyaW5nQ2JQcmludGZBKE5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNpemVvZiAoTmFtZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNrXyV1
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmRHZXRUYXJnZXRJZChH
cmFudGVyLT5Gcm9udGVuZCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl
b2YoTmFtZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4ZW52YmRfJXVfZ250
dGFiIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0R2V0VGFyZ2V0SWQo
R3JhbnRlci0+VGFyZ2V0KSk7CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAg
IGdvdG8gZmFpbDI7CisgICAgICAgIGdvdG8gZmFpbDM7CiAKICAgICBzdGF0dXMgPSBYRU5CVVNf
R05UVEFCKENyZWF0ZUNhY2hlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJkdyYW50ZXIt
PkdudHRhYkludGVyZmFjZSwKQEAgLTE3MiwzNyArMjA0LDU2IEBAIEdyYW50ZXJDb25uZWN0KAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JhbnRlciwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZHcmFudGVyLT5DYWNoZSk7CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0g
ICAgICAgIGdvdG8gZmFpbDM7CisgICAgICAgIGdvdG8gZmFpbDQ7CisKKyAgICBzdGF0dXMgPSBY
RU5CVVNfREVCVUcoUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZHcmFudGVy
LT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgX19NT0RVTEVfXywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgR3JhbnRlckRlYnVnQ2FsbGJhY2ssCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIEdyYW50ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZH
cmFudGVyLT5EZWJ1Z0NhbGxiYWNrKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAg
ICAgICAgZ290byBmYWlsNTsKIAogICAgIEdyYW50ZXItPkNvbm5lY3RlZCA9IFRSVUU7CiAgICAg
cmV0dXJuIFNUQVRVU19TVUNDRVNTOwogCitmYWlsNToKKyAgICBFcnJvcigiZmFpbDVcbiIpOwor
ICAgIFhFTkJVU19HTlRUQUIoRGVzdHJveUNhY2hlLAorICAgICAgICAgICAgICAgICAgJkdyYW50
ZXItPkdudHRhYkludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIEdyYW50ZXItPkNhY2hlKTsK
KyAgICBHcmFudGVyLT5DYWNoZSA9IE5VTEw7CitmYWlsNDoKKyAgICBFcnJvcigiZmFpbDRcbiIp
OwogZmFpbDM6CisgICAgRXJyb3IoImZhaWwzXG4iKTsKKyAgICBYRU5CVVNfREVCVUcoUmVsZWFz
ZSwgJkdyYW50ZXItPkRlYnVnSW50ZXJmYWNlKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZHcmFudGVy
LT5EZWJ1Z0ludGVyZmFjZSwgc2l6ZW9mKFhFTkJVU19ERUJVR19JTlRFUkZBQ0UpKTsKIGZhaWwy
OgotICAgIEdyYW50ZXItPkJhY2tlbmREb21haW4gPSAwOworICAgIEVycm9yKCJmYWlsMlxuIik7
CiAgICAgWEVOQlVTX0dOVFRBQihSZWxlYXNlLCAmR3JhbnRlci0+R250dGFiSW50ZXJmYWNlKTsK
ICAgICBSdGxaZXJvTWVtb3J5KCZHcmFudGVyLT5HbnR0YWJJbnRlcmZhY2UsIHNpemVvZihYRU5C
VVNfR05UVEFCX0lOVEVSRkFDRSkpOwogZmFpbDE6CisgICAgRXJyb3IoImZhaWwxICUwOHhcbiIs
IHN0YXR1cyk7CiAgICAgcmV0dXJuIHN0YXR1czsKIH0KIAogTlRTVEFUVVMKIEdyYW50ZXJTdG9y
ZVdyaXRlKAotICAgIElOICBQWEVOVkJEX0dSQU5URVIgICAgICAgICAgICAgR3JhbnRlciwKLSAg
ICBJTiAgUFhFTkJVU19TVE9SRV9UUkFOU0FDVElPTiAgIFRyYW5zYWN0aW9uLAotICAgIElOICBQ
Q0hBUiAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmRQYXRoCisgICAgSU4gIFBYRU5WQkRf
R1JBTlRFUiBHcmFudGVyLAorICAgIElOICBQVk9JRCAgICAgICAgICAgVHJhbnNhY3Rpb24KICAg
ICApCiB7CiAgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihHcmFudGVyKTsKICAgICBVTlJFRkVS
RU5DRURfUEFSQU1FVEVSKFRyYW5zYWN0aW9uKTsKLSAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVS
KEZyb250ZW5kUGF0aCk7CiAKICAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CiB9CiAKIFZPSUQK
IEdyYW50ZXJFbmFibGUoCi0gICAgSU4gIFBYRU5WQkRfR1JBTlRFUiAgICAgICAgICAgICBHcmFu
dGVyCisgICAgSU4gIFBYRU5WQkRfR1JBTlRFUiBHcmFudGVyCiAgICAgKQogewogICAgIEFTU0VS
VChHcmFudGVyLT5FbmFibGVkID09IEZBTFNFKTsKQEAgLTIxMiw3ICsyNjMsNyBAQCBHcmFudGVy
RW5hYmxlKAogCiBWT0lECiBHcmFudGVyRGlzYWJsZSgKLSAgICBJTiAgUFhFTlZCRF9HUkFOVEVS
ICAgICAgICAgICAgIEdyYW50ZXIKKyAgICBJTiAgUFhFTlZCRF9HUkFOVEVSIEdyYW50ZXIKICAg
ICApCiB7CiAgICAgQVNTRVJUKEdyYW50ZXItPkVuYWJsZWQgPT0gVFJVRSk7CkBAIC0yMjIsNDMg
KzI3MywzMyBAQCBHcmFudGVyRGlzYWJsZSgKIAogVk9JRAogR3JhbnRlckRpc2Nvbm5lY3QoCi0g
ICAgSU4gIFBYRU5WQkRfR1JBTlRFUiAgICAgICAgICAgICBHcmFudGVyCisgICAgSU4gIFBYRU5W
QkRfR1JBTlRFUiBHcmFudGVyCiAgICAgKQogewogICAgIEFTU0VSVChHcmFudGVyLT5Db25uZWN0
ZWQgPT0gVFJVRSk7CiAKLSAgICBBU1NFUlQzUyhHcmFudGVyLT5DdXJyZW50LCA9PSwgMCk7Cisg
ICAgR3JhbnRlci0+Q3VycmVudCA9IDA7CiAgICAgR3JhbnRlci0+TWF4aW11bSA9IDA7CiAKKyAg
ICBYRU5CVVNfREVCVUcoRGVyZWdpc3RlciwKKyAgICAgICAgICAgICAgICAgJkdyYW50ZXItPkRl
YnVnSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICBHcmFudGVyLT5EZWJ1Z0NhbGxiYWNrKTsK
KyAgICBHcmFudGVyLT5EZWJ1Z0NhbGxiYWNrID0gTlVMTDsKKwogICAgIFhFTkJVU19HTlRUQUIo
RGVzdHJveUNhY2hlLAogICAgICAgICAgICAgICAgICAgJkdyYW50ZXItPkdudHRhYkludGVyZmFj
ZSwKICAgICAgICAgICAgICAgICAgIEdyYW50ZXItPkNhY2hlKTsKICAgICBHcmFudGVyLT5DYWNo
ZSA9IE5VTEw7CiAKKyAgICBYRU5CVVNfREVCVUcoUmVsZWFzZSwgJkdyYW50ZXItPkRlYnVnSW50
ZXJmYWNlKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZHcmFudGVyLT5EZWJ1Z0ludGVyZmFjZSwgc2l6
ZW9mKFhFTkJVU19ERUJVR19JTlRFUkZBQ0UpKTsKKwogICAgIFhFTkJVU19HTlRUQUIoUmVsZWFz
ZSwgJkdyYW50ZXItPkdudHRhYkludGVyZmFjZSk7CiAgICAgUnRsWmVyb01lbW9yeSgmR3JhbnRl
ci0+R250dGFiSW50ZXJmYWNlLCBzaXplb2YoWEVOQlVTX0dOVFRBQl9JTlRFUkZBQ0UpKTsKIAot
ICAgIEdyYW50ZXItPkJhY2tlbmREb21haW4gPSAwOwogICAgIEdyYW50ZXItPkNvbm5lY3RlZCA9
IEZBTFNFOwogfQogCi1WT0lECi1HcmFudGVyRGVidWdDYWxsYmFjaygKLSAgICBJTiAgUFhFTlZC
RF9HUkFOVEVSICAgICAgICAgICAgIEdyYW50ZXIsCi0gICAgSU4gIFBYRU5CVVNfREVCVUdfSU5U
RVJGQUNFICAgICBEZWJ1ZwotICAgICkKLXsKLSAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCBEZWJ1
ZywKLSAgICAgICAgICAgICAgICAgIkdSQU5URVI6ICVzICVzXG4iLCAKLSAgICAgICAgICAgICAg
ICAgR3JhbnRlci0+Q29ubmVjdGVkID8gIkNPTk5FQ1RFRCIgOiAiRElTQ09OTkVDVEVEIiwKLSAg
ICAgICAgICAgICAgICAgR3JhbnRlci0+RW5hYmxlZCA/ICJFTkFCTEVEIiA6ICJESVNBQkxFRCIp
OwotICAgIFhFTkJVU19ERUJVRyhQcmludGYsIERlYnVnLAotICAgICAgICAgICAgICAgICAiR1JB
TlRFUjogJWQgLyAlZFxuIiwKLSAgICAgICAgICAgICAgICAgR3JhbnRlci0+Q3VycmVudCwKLSAg
ICAgICAgICAgICAgICAgR3JhbnRlci0+TWF4aW11bSk7Ci0gICAgR3JhbnRlci0+TWF4aW11bSA9
IEdyYW50ZXItPkN1cnJlbnQ7Ci19Ci0KIE5UU1RBVFVTCiBHcmFudGVyR2V0KAogICAgIElOICBQ
WEVOVkJEX0dSQU5URVIgICAgIEdyYW50ZXIsCkBAIC0yNzksNyArMzIwLDcgQEAgR3JhbnRlckdl
dCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICZHcmFudGVyLT5HbnR0YWJJbnRlcmZhY2Us
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JhbnRlci0+Q2FjaGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBGQUxTRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyYW50
ZXItPkJhY2tlbmREb21haW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXRHZXRC
YWNrZW5kSWQoR3JhbnRlci0+VGFyZ2V0KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBm
biwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWRPbmx5LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJkVudHJ5KTsKQEAgLTI5NCw3ICszMzUsOSBAQCBHcmFudGVyR2V0KAogICAg
IHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKIAogZmFpbDI6CisgICAgRXJyb3IoImZhaWwyXG4iKTsK
IGZhaWwxOgorICAgIEVycm9yKCJmYWlsMSAlMDh4XG4iLCBzdGF0dXMpOwogICAgIHJldHVybiBz
dGF0dXM7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy94ZW52YmQvZ3JhbnRlci5oIGIvc3JjL3hlbnZi
ZC9ncmFudGVyLmgKaW5kZXggZGU3NzAxYy4uZGExNzY5OCAxMDA2NDQKLS0tIGEvc3JjL3hlbnZi
ZC9ncmFudGVyLmgKKysrIGIvc3JjL3hlbnZiZC9ncmFudGVyLmgKQEAgLTMyLDc1ICszMiw2NyBA
QAogI2lmbmRlZiBfWEVOVkJEX0dSQU5URVJfSAogI2RlZmluZSBfWEVOVkJEX0dSQU5URVJfSAog
CisjaW5jbHVkZSA8bnRkZGsuaD4KKwogdHlwZWRlZiBzdHJ1Y3QgX1hFTlZCRF9HUkFOVEVSIFhF
TlZCRF9HUkFOVEVSLCAqUFhFTlZCRF9HUkFOVEVSOwogCi0jaW5jbHVkZSA8ZGVidWdfaW50ZXJm
YWNlLmg+Ci0jaW5jbHVkZSA8c3RvcmVfaW50ZXJmYWNlLmg+Ci0jaW5jbHVkZSAiZnJvbnRlbmQu
aCIKKyNpbmNsdWRlICJ0YXJnZXQuaCIKIAogZXh0ZXJuIE5UU1RBVFVTCiBHcmFudGVyQ3JlYXRl
KAotICAgIElOICBQWEVOVkJEX0ZST05URU5EICAgICAgICAgICAgRnJvbnRlbmQsCi0gICAgT1VU
IFBYRU5WQkRfR1JBTlRFUiogICAgICAgICAgICBHcmFudGVyCisgICAgSU4gIFBYRU5WQkRfVEFS
R0VUICAgICAgVGFyZ2V0LAorICAgIE9VVCBQWEVOVkJEX0dSQU5URVIqICAgIEdyYW50ZXIKICAg
ICApOwogCiBleHRlcm4gVk9JRAogR3JhbnRlckRlc3Ryb3koCi0gICAgSU4gIFBYRU5WQkRfR1JB
TlRFUiAgICAgICAgICAgICBHcmFudGVyCisgICAgSU4gIFBYRU5WQkRfR1JBTlRFUiBHcmFudGVy
CiAgICAgKTsKIAogZXh0ZXJuIE5UU1RBVFVTCiBHcmFudGVyQ29ubmVjdCgKLSAgICBJTiAgUFhF
TlZCRF9HUkFOVEVSICAgICAgICAgICAgIEdyYW50ZXIsCi0gICAgSU4gIFVTSE9SVCAgICAgICAg
ICAgICAgICAgICAgICBCYWNrZW5kRG9tYWluCisgICAgSU4gIFBYRU5WQkRfR1JBTlRFUiBHcmFu
dGVyCiAgICAgKTsKIAogZXh0ZXJuIE5UU1RBVFVTCiBHcmFudGVyU3RvcmVXcml0ZSgKLSAgICBJ
TiAgUFhFTlZCRF9HUkFOVEVSICAgICAgICAgICAgIEdyYW50ZXIsCi0gICAgSU4gIFBYRU5CVVNf
U1RPUkVfVFJBTlNBQ1RJT04gICBUcmFuc2FjdGlvbiwKLSAgICBJTiAgUENIQVIgICAgICAgICAg
ICAgICAgICAgICAgIEZyb250ZW5kUGF0aAorICAgIElOICBQWEVOVkJEX0dSQU5URVIgR3JhbnRl
ciwKKyAgICBJTiAgUFZPSUQgICAgICAgICAgIFRyYW5zYWN0aW9uCiAgICAgKTsKIAogZXh0ZXJu
IFZPSUQKIEdyYW50ZXJFbmFibGUoCi0gICAgSU4gIFBYRU5WQkRfR1JBTlRFUiAgICAgICAgICAg
ICBHcmFudGVyCisgICAgSU4gIFBYRU5WQkRfR1JBTlRFUiBHcmFudGVyCiAgICAgKTsKIAogZXh0
ZXJuIFZPSUQKIEdyYW50ZXJEaXNhYmxlKAotICAgIElOICBQWEVOVkJEX0dSQU5URVIgICAgICAg
ICAgICAgR3JhbnRlcgorICAgIElOICBQWEVOVkJEX0dSQU5URVIgR3JhbnRlcgogICAgICk7CiAK
IGV4dGVybiBWT0lECiBHcmFudGVyRGlzY29ubmVjdCgKLSAgICBJTiAgUFhFTlZCRF9HUkFOVEVS
ICAgICAgICAgICAgIEdyYW50ZXIKLSAgICApOwotCi1leHRlcm4gVk9JRAotR3JhbnRlckRlYnVn
Q2FsbGJhY2soCi0gICAgSU4gIFBYRU5WQkRfR1JBTlRFUiAgICAgICAgICAgICBHcmFudGVyLAot
ICAgIElOICBQWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSAgICAgRGVidWcKKyAgICBJTiAgUFhFTlZC
RF9HUkFOVEVSIEdyYW50ZXIKICAgICApOwogCiBleHRlcm4gTlRTVEFUVVMKIEdyYW50ZXJHZXQo
Ci0gICAgSU4gIFBYRU5WQkRfR1JBTlRFUiAgICAgICAgICAgICBHcmFudGVyLAotICAgIElOICBQ
Rk5fTlVNQkVSICAgICAgICAgICAgICAgICAgUGZuLAotICAgIElOICBCT09MRUFOICAgICAgICAg
ICAgICAgICAgICAgUmVhZE9ubHksCi0gICAgT1VUIFBWT0lEICAgICAgICAgICAgICAgICAgICAg
ICAqSGFuZGxlCisgICAgSU4gIFBYRU5WQkRfR1JBTlRFUiBHcmFudGVyLAorICAgIElOICBQRk5f
TlVNQkVSICAgICAgUGZuLAorICAgIElOICBCT09MRUFOICAgICAgICAgUmVhZE9ubHksCisgICAg
T1VUIFBWT0lEICAgICAgICAgICAqSGFuZGxlCiAgICAgKTsKIAogZXh0ZXJuIFZPSUQKIEdyYW50
ZXJQdXQoCi0gICAgSU4gIFBYRU5WQkRfR1JBTlRFUiAgICAgICAgICAgICBHcmFudGVyLAotICAg
IElOICBQVk9JRCAgICAgICAgICAgICAgICAgICAgICAgSGFuZGxlCisgICAgSU4gIFBYRU5WQkRf
R1JBTlRFUiBHcmFudGVyLAorICAgIElOICBQVk9JRCAgICAgICAgICAgSGFuZGxlCiAgICAgKTsK
IAogZXh0ZXJuIFVMT05HCiBHcmFudGVyUmVmZXJlbmNlKAotICAgIElOICBQWEVOVkJEX0dSQU5U
RVIgICAgICAgICAgICAgR3JhbnRlciwKLSAgICBJTiAgUFZPSUQgICAgICAgICAgICAgICAgICAg
ICAgIEhhbmRsZQorICAgIElOICBQWEVOVkJEX0dSQU5URVIgR3JhbnRlciwKKyAgICBJTiAgUFZP
SUQgICAgICAgICAgIEhhbmRsZQogICAgICk7CiAKICNlbmRpZiAvLyBfWEVOVkJEX0dSQU5URVJf
SApkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC9ub3RpZmllci5jIGIvc3JjL3hlbnZiZC9ub3RpZmll
ci5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZTBjMDU3Li4wMDAwMDAwCi0tLSBh
L3NyYy94ZW52YmQvbm90aWZpZXIuYworKysgL2Rldi9udWxsCkBAIC0xLDMzNCArMCwwIEBACi0v
KiBDb3B5cmlnaHQgKGMpIENpdHJpeCBTeXN0ZW1zIEluYy4KLSAqIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKiAKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIAotICogd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCAKLSAqIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6Ci0gKiAK
LSAqICogICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIAotICogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgCi0gKiAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAqICAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSAKLSAqICAgICBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIAotICogICAgIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciAKLSAq
ICAgICBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgCi0g
KiBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCAKLSAqIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIAotICogTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIEhPTERFUiBPUiAKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCAKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIAotICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIAotICogU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyAKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCAKLSAqIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyAKLSAqIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIAotICogU1VDSCBEQU1BR0UuCi0gKi8gCi0KLSNpbmNsdWRlICJub3RpZmllci5oIgotI2lu
Y2x1ZGUgImZyb250ZW5kLmgiCi0jaW5jbHVkZSAidGFyZ2V0LmgiCi0jaW5jbHVkZSAiYWRhcHRl
ci5oIgotI2luY2x1ZGUgInV0aWwuaCIKLSNpbmNsdWRlICJkZWJ1Zy5oIgotI2luY2x1ZGUgPGV2
dGNobl9pbnRlcmZhY2UuaD4KLQotc3RydWN0IF9YRU5WQkRfTk9USUZJRVIgewotICAgIFBYRU5W
QkRfRlJPTlRFTkQgICAgICAgICAgICAgICAgRnJvbnRlbmQ7Ci0gICAgQk9PTEVBTiAgICAgICAg
ICAgICAgICAgICAgICAgICBDb25uZWN0ZWQ7Ci0gICAgQk9PTEVBTiAgICAgICAgICAgICAgICAg
ICAgICAgICBFbmFibGVkOwotCi0gICAgWEVOQlVTX1NUT1JFX0lOVEVSRkFDRSAgICAgICAgICBT
dG9yZUludGVyZmFjZTsKLSAgICBYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRSAgICAgICAgIEV2dGNo
bkludGVyZmFjZTsKLQotICAgIFBYRU5CVVNfRVZUQ0hOX0NIQU5ORUwgICAgICAgICAgQ2hhbm5l
bDsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvcnQ7Ci0gICAgVUxPTkcg
ICAgICAgICAgICAgICAgICAgICAgICAgICBOdW1JbnRzOwotICAgIFVMT05HICAgICAgICAgICAg
ICAgICAgICAgICAgICAgTnVtRHBjczsKLSAgICBLRFBDICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIERwYzsKLX07Ci0KLSNkZWZpbmUgTk9USUZJRVJfUE9PTF9UQUcgICAgICAgICAgICd5Zk5Y
JwotCi1zdGF0aWMgRk9SQ0VJTkxJTkUgUFZPSUQKLV9fTm90aWZpZXJBbGxvY2F0ZSgKLSAgICBJ
TiAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIExlbmd0aAotICAgICkKLXsKLSAgICByZXR1
cm4gX19BbGxvY2F0ZVBvb2xXaXRoVGFnKE5vblBhZ2VkUG9vbCwgTGVuZ3RoLCBOT1RJRklFUl9Q
T09MX1RBRyk7Ci19Ci0KLXN0YXRpYyBGT1JDRUlOTElORSBWT0lECi1fX05vdGlmaWVyRnJlZSgK
LSAgICBJTiAgUFZPSUQgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcgotICAgICkKLXsKLSAg
ICBpZiAoQnVmZmVyKQotICAgICAgICBfX0ZyZWVQb29sV2l0aFRhZyhCdWZmZXIsIE5PVElGSUVS
X1BPT0xfVEFHKTsKLX0KLQotS1NFUlZJQ0VfUk9VVElORSBOb3RpZmllckludGVycnVwdDsKLQot
Qk9PTEVBTgotTm90aWZpZXJJbnRlcnJ1cHQoCi0gICAgX19pbiAgUEtJTlRFUlJVUFQgICAgICAg
ICAgICAgICBJbnRlcnJ1cHQsCi0gICAgX0luX29wdF8gUFZPSUQgICAgICAgICAgICAgICAgICBD
b250ZXh0Ci0gICAgKQotewotICAgIFBYRU5WQkRfTk9USUZJRVIgICAgTm90aWZpZXIgPSBDb250
ZXh0OwotICAgIAotICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoSW50ZXJydXB0KTsKLQotICAg
IEFTU0VSVChOb3RpZmllciAhPSBOVUxMKTsKLQotCSsrTm90aWZpZXItPk51bUludHM7Ci0JaWYg
KE5vdGlmaWVyLT5Db25uZWN0ZWQpIHsKLQkJaWYgKEtlSW5zZXJ0UXVldWVEcGMoJk5vdGlmaWVy
LT5EcGMsIE5VTEwsIE5VTEwpKSB7Ci0JCQkrK05vdGlmaWVyLT5OdW1EcGNzOwotICAgICAgICB9
Ci0JfQotCi0gICAgcmV0dXJuIFRSVUU7Ci19Ci0KLUtERUZFUlJFRF9ST1VUSU5FIE5vdGlmaWVy
RHBjOwotCi1WT0lEIAotTm90aWZpZXJEcGMoCi0gICAgX19pbiAgUEtEUEMgICAgICAgICAgICAg
ICAgICAgICBEcGMsCi0gICAgX19pbl9vcHQgUFZPSUQgICAgICAgICAgICAgICAgICBDb250ZXh0
LAotICAgIF9faW5fb3B0IFBWT0lEICAgICAgICAgICAgICAgICAgQXJnMSwKLSAgICBfX2luX29w
dCBQVk9JRCAgICAgICAgICAgICAgICAgIEFyZzIKLSAgICApCi17Ci0gICAgUFhFTlZCRF9OT1RJ
RklFUiAgICBOb3RpZmllciA9IENvbnRleHQ7Ci0KLSAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVS
KERwYyk7Ci0gICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihBcmcxKTsKLSAgICBVTlJFRkVSRU5D
RURfUEFSQU1FVEVSKEFyZzIpOwotCi0gICAgQVNTRVJUKE5vdGlmaWVyICE9IE5VTEwpOwotCi0g
ICAgaWYgKCFOb3RpZmllci0+Q29ubmVjdGVkKQotICAgICAgICByZXR1cm47Ci0KLSAgICBGcm9u
dGVuZE5vdGlmeVJlc3BvbnNlcyhOb3RpZmllci0+RnJvbnRlbmQpOwotCi0gICAgWEVOQlVTX0VW
VENITihVbm1hc2ssCi0gICAgICAgICAgICAgICAgICAmTm90aWZpZXItPkV2dGNobkludGVyZmFj
ZSwKLSAgICAgICAgICAgICAgICAgIE5vdGlmaWVyLT5DaGFubmVsLAotICAgICAgICAgICAgICAg
ICAgRkFMU0UpOwotfQotCi1OVFNUQVRVUwotTm90aWZpZXJDcmVhdGUoCi0gICAgSU4gIFBYRU5W
QkRfRlJPTlRFTkQgICAgICAgICAgICBGcm9udGVuZCwKLSAgICBPVVQgUFhFTlZCRF9OT1RJRklF
UiogICAgICAgICAgIE5vdGlmaWVyCi0gICAgKQotewotICAgICpOb3RpZmllciA9IF9fTm90aWZp
ZXJBbGxvY2F0ZShzaXplb2YoWEVOVkJEX05PVElGSUVSKSk7Ci0gICAgaWYgKCpOb3RpZmllciA9
PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWwxOwotCi0gICAgKCpOb3RpZmllciktPkZyb250ZW5k
ID0gRnJvbnRlbmQ7Ci0gICAgS2VJbml0aWFsaXplRHBjKCYoKk5vdGlmaWVyKS0+RHBjLCBOb3Rp
ZmllckRwYywgKk5vdGlmaWVyKTsKLQotICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKLQotZmFp
bDE6Ci0gICAgcmV0dXJuIFNUQVRVU19OT19NRU1PUlk7Ci19Ci0KLVZPSUQKLU5vdGlmaWVyRGVz
dHJveSgKLSAgICBJTiAgUFhFTlZCRF9OT1RJRklFUiAgICAgICAgICAgIE5vdGlmaWVyCi0gICAg
KQotewotICAgIE5vdGlmaWVyLT5Gcm9udGVuZCA9IE5VTEw7Ci0gICAgUnRsWmVyb01lbW9yeSgm
Tm90aWZpZXItPkRwYywgc2l6ZW9mKEtEUEMpKTsKLQotICAgIEFTU0VSVChJc1plcm9NZW1vcnko
Tm90aWZpZXIsIHNpemVvZihYRU5WQkRfTk9USUZJRVIpKSk7Ci0gICAgCi0gICAgX19Ob3RpZmll
ckZyZWUoTm90aWZpZXIpOwotfQotCi1OVFNUQVRVUwotTm90aWZpZXJDb25uZWN0KAotICAgIElO
ICBQWEVOVkJEX05PVElGSUVSICAgICAgICAgICAgTm90aWZpZXIsCi0gICAgSU4gIFVTSE9SVCAg
ICAgICAgICAgICAgICAgICAgICBCYWNrZW5kRG9tYWluCi0gICAgKQotewotICAgIFBYRU5WQkRf
QURBUFRFUiBBZGFwdGVyID0gVGFyZ2V0R2V0QWRhcHRlcihGcm9udGVuZEdldFRhcmdldChOb3Rp
Zmllci0+RnJvbnRlbmQpKTsKLSAgICBOVFNUQVRVUyAgICBzdGF0dXM7Ci0KLSAgICBBU1NFUlQo
Tm90aWZpZXItPkNvbm5lY3RlZCA9PSBGQUxTRSk7Ci0KLSAgICBBZGFwdGVyR2V0U3RvcmVJbnRl
cmZhY2UoQWRhcHRlciwgJk5vdGlmaWVyLT5TdG9yZUludGVyZmFjZSk7Ci0gICAgQWRhcHRlckdl
dEV2dGNobkludGVyZmFjZShBZGFwdGVyLCAmTm90aWZpZXItPkV2dGNobkludGVyZmFjZSk7Ci0K
LSAgICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUoQWNxdWlyZSwgJk5vdGlmaWVyLT5TdG9yZUludGVy
ZmFjZSk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDE7
Ci0KLSAgICBzdGF0dXMgPSBYRU5CVVNfRVZUQ0hOKEFjcXVpcmUsICZOb3RpZmllci0+RXZ0Y2hu
SW50ZXJmYWNlKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgZ290byBm
YWlsMjsKLQotICAgIE5vdGlmaWVyLT5DaGFubmVsID0gWEVOQlVTX0VWVENITihPcGVuLCAKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJk5vdGlmaWVyLT5FdnRjaG5JbnRl
cmZhY2UsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5CVVNfRVZU
Q0hOX1RZUEVfVU5CT1VORCwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE5vdGlmaWVySW50ZXJydXB0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBOb3RpZmllciwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhY2tl
bmREb21haW4sIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFKTsK
LQotICAgIHN0YXR1cyA9IFNUQVRVU19OT19NRU1PUlk7Ci0gICAgaWYgKE5vdGlmaWVyLT5DaGFu
bmVsID09IE5VTEwpCi0gICAgICAgIGdvdG8gZmFpbDM7Ci0KLSAgICBOb3RpZmllci0+UG9ydCA9
IFhFTkJVU19FVlRDSE4oR2V0UG9ydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJk5vdGlmaWVyLT5FdnRjaG5JbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE5vdGlmaWVyLT5DaGFubmVsKTsKLQotICAgIFhFTkJVU19FVlRDSE4oVW5tYXNr
LAotICAgICAgICAgICAgICAgICAgJk5vdGlmaWVyLT5FdnRjaG5JbnRlcmZhY2UsCi0gICAgICAg
ICAgICAgICAgICBOb3RpZmllci0+Q2hhbm5lbCwKLSAgICAgICAgICAgICAgICAgIEZBTFNFKTsK
LQotICAgIE5vdGlmaWVyLT5Db25uZWN0ZWQgPSBUUlVFOwotICAgIHJldHVybiBTVEFUVVNfU1VD
Q0VTUzsKLQotZmFpbDM6Ci0gICAgWEVOQlVTX0VWVENITihSZWxlYXNlLCAmTm90aWZpZXItPkV2
dGNobkludGVyZmFjZSk7Ci0gICAgUnRsWmVyb01lbW9yeSgmTm90aWZpZXItPkV2dGNobkludGVy
ZmFjZSwgc2l6ZW9mKFhFTkJVU19FVlRDSE5fSU5URVJGQUNFKSk7Ci0KLWZhaWwyOgotICAgIFhF
TkJVU19TVE9SRShSZWxlYXNlLCAmTm90aWZpZXItPlN0b3JlSW50ZXJmYWNlKTsKLSAgICBSdGxa
ZXJvTWVtb3J5KCZOb3RpZmllci0+U3RvcmVJbnRlcmZhY2UsIHNpemVvZihYRU5CVVNfU1RPUkVf
SU5URVJGQUNFKSk7Ci0KLWZhaWwxOgotICAgIHJldHVybiBzdGF0dXM7Ci19Ci0KLU5UU1RBVFVT
Ci1Ob3RpZmllclN0b3JlV3JpdGUoCi0gICAgSU4gIFBYRU5WQkRfTk9USUZJRVIgICAgICAgICAg
ICBOb3RpZmllciwKLSAgICBJTiAgUFhFTkJVU19TVE9SRV9UUkFOU0FDVElPTiAgIFRyYW5zYWN0
aW9uLAotICAgIElOICBQQ0hBUiAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmRQYXRoCi0g
ICAgKQotewotICAgIHJldHVybiBYRU5CVVNfU1RPUkUoUHJpbnRmLCAKLSAgICAgICAgICAgICAg
ICAgICAgICAgICZOb3RpZmllci0+U3RvcmVJbnRlcmZhY2UsIAotICAgICAgICAgICAgICAgICAg
ICAgICAgVHJhbnNhY3Rpb24sIAotICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmRQYXRo
LCAKLSAgICAgICAgICAgICAgICAgICAgICAgICJldmVudC1jaGFubmVsIiwgCi0gICAgICAgICAg
ICAgICAgICAgICAgICAiJXUiLCAKLSAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmaWVyLT5Q
b3J0KTsKLX0KLQotVk9JRAotTm90aWZpZXJFbmFibGUoCi0gICAgSU4gIFBYRU5WQkRfTk9USUZJ
RVIgICAgICAgICAgICBOb3RpZmllcgotICAgICkKLXsKLSAgICBBU1NFUlQoTm90aWZpZXItPkVu
YWJsZWQgPT0gRkFMU0UpOwotCi0gICAgWEVOQlVTX0VWVENITihUcmlnZ2VyLAotICAgICAgICAg
ICAgICAgICAgJk5vdGlmaWVyLT5FdnRjaG5JbnRlcmZhY2UsCi0gICAgICAgICAgICAgICAgICBO
b3RpZmllci0+Q2hhbm5lbCk7Ci0KLSAgICBOb3RpZmllci0+RW5hYmxlZCA9IFRSVUU7Ci19Ci0K
LVZPSUQKLU5vdGlmaWVyRGlzYWJsZSgKLSAgICBJTiAgUFhFTlZCRF9OT1RJRklFUiAgICAgICAg
ICAgIE5vdGlmaWVyCi0gICAgKQotewotICAgIEFTU0VSVChOb3RpZmllci0+RW5hYmxlZCA9PSBU
UlVFKTsKLQotICAgIE5vdGlmaWVyLT5FbmFibGVkID0gRkFMU0U7Ci19Ci0KLVZPSUQKLU5vdGlm
aWVyRGlzY29ubmVjdCgKLSAgICBJTiAgUFhFTlZCRF9OT1RJRklFUiAgICAgICAgICAgIE5vdGlm
aWVyCi0gICAgKQotewotICAgIEFTU0VSVChOb3RpZmllci0+Q29ubmVjdGVkID09IFRSVUUpOwot
Ci0gICAgWEVOQlVTX0VWVENITihDbG9zZSwKLSAgICAgICAgICAgICAgICAgICZOb3RpZmllci0+
RXZ0Y2huSW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAgTm90aWZpZXItPkNoYW5uZWwpOwot
ICAgIE5vdGlmaWVyLT5DaGFubmVsID0gTlVMTDsKLSAgICBOb3RpZmllci0+UG9ydCA9IDA7Ci0K
LSAgICBYRU5CVVNfRVZUQ0hOKFJlbGVhc2UsICZOb3RpZmllci0+RXZ0Y2huSW50ZXJmYWNlKTsK
LSAgICBSdGxaZXJvTWVtb3J5KCZOb3RpZmllci0+RXZ0Y2huSW50ZXJmYWNlLCBzaXplb2YoWEVO
QlVTX0VWVENITl9JTlRFUkZBQ0UpKTsKLQotICAgIFhFTkJVU19TVE9SRShSZWxlYXNlLCAmTm90
aWZpZXItPlN0b3JlSW50ZXJmYWNlKTsKLSAgICBSdGxaZXJvTWVtb3J5KCZOb3RpZmllci0+U3Rv
cmVJbnRlcmZhY2UsIHNpemVvZihYRU5CVVNfU1RPUkVfSU5URVJGQUNFKSk7Ci0KLSAgICBOb3Rp
Zmllci0+TnVtSW50cyA9IE5vdGlmaWVyLT5OdW1EcGNzID0gMDsKLQotICAgIE5vdGlmaWVyLT5D
b25uZWN0ZWQgPSBGQUxTRTsKLX0KLQotVk9JRAotTm90aWZpZXJEZWJ1Z0NhbGxiYWNrKAotICAg
IElOICBQWEVOVkJEX05PVElGSUVSICAgICAgICAgICAgTm90aWZpZXIsCi0gICAgSU4gIFBYRU5C
VVNfREVCVUdfSU5URVJGQUNFICAgICBEZWJ1ZwotICAgICkKLXsKLSAgICBYRU5CVVNfREVCVUco
UHJpbnRmLCBEZWJ1ZywKLSAgICAgICAgICAgICAgICAgIk5PVElGSUVSOiBJbnQgLyBEUEMgOiAl
ZCAvICVkXG4iLAotICAgICAgICAgICAgICAgICBOb3RpZmllci0+TnVtSW50cywgTm90aWZpZXIt
Pk51bURwY3MpOwotCi0gICAgaWYgKE5vdGlmaWVyLT5DaGFubmVsKSB7Ci0gICAgICAgIFhFTkJV
U19ERUJVRyhQcmludGYsIERlYnVnLAotICAgICAgICAgICAgICAgICAgICAgIk5PVElGSUVSOiBD
aGFubmVsIDogJXAgKCVkKVxuIiwgCi0gICAgICAgICAgICAgICAgICAgICBOb3RpZmllci0+Q2hh
bm5lbCwgTm90aWZpZXItPlBvcnQpOwotICAgIH0KLQotICAgIE5vdGlmaWVyLT5OdW1JbnRzID0g
MDsKLSAgICBOb3RpZmllci0+TnVtRHBjcyA9IDA7Ci19Ci0KLVZPSUQKLU5vdGlmaWVyS2ljaygK
LSAgICBJTiAgUFhFTlZCRF9OT1RJRklFUiAgICAgICAgICAgIE5vdGlmaWVyCi0gICAgKQotewot
ICAgIGlmIChOb3RpZmllci0+RW5hYmxlZCkgewotCQlpZiAoS2VJbnNlcnRRdWV1ZURwYygmTm90
aWZpZXItPkRwYywgTlVMTCwgTlVMTCkpIHsKLQkJCSsrTm90aWZpZXItPk51bURwY3M7Ci0gICAg
ICAgIH0KLSAgICB9Ci19Ci0KLVZPSUQKLU5vdGlmaWVyVHJpZ2dlcigKLSAgICBJTiAgUFhFTlZC
RF9OT1RJRklFUiAgICAgICAgICAgIE5vdGlmaWVyCi0gICAgKQotewotICAgIGlmIChOb3RpZmll
ci0+RW5hYmxlZCkKLSAgICAgICAgWEVOQlVTX0VWVENITihUcmlnZ2VyLAotICAgICAgICAgICAg
ICAgICAgICAgICZOb3RpZmllci0+RXZ0Y2huSW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAg
ICAgIE5vdGlmaWVyLT5DaGFubmVsKTsKLX0KLQotVk9JRAotTm90aWZpZXJTZW5kKAotICAgIElO
ICBQWEVOVkJEX05PVElGSUVSICAgICAgICAgICAgTm90aWZpZXIKLSAgICApCi17Ci0gICAgaWYg
KE5vdGlmaWVyLT5FbmFibGVkKQotICAgICAgICBYRU5CVVNfRVZUQ0hOKFNlbmQsCi0gICAgICAg
ICAgICAgICAgICAgICAgJk5vdGlmaWVyLT5FdnRjaG5JbnRlcmZhY2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgTm90aWZpZXItPkNoYW5uZWwpOwotfQotCmRpZmYgLS1naXQgYS9zcmMveGVudmJk
L25vdGlmaWVyLmggYi9zcmMveGVudmJkL25vdGlmaWVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDRjZjM1ZTcuLjAwMDAwMDAKLS0tIGEvc3JjL3hlbnZiZC9ub3RpZmllci5oCisr
KyAvZGV2L251bGwKQEAgLTEsMTAxICswLDAgQEAKLS8qIENvcHlyaWdodCAoYykgQ2l0cml4IFN5
c3RlbXMgSW5jLgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3JtcywgCi0gKiB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIAotICogdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKLSAqIAotICogKiAgIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgCi0gKiAgICAgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSAKLSAqICAgICBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqICogICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIAotICogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgCi0gKiAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIAotICogICAgIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCAKLSAqIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIAotICogSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgCi0gKiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSAKLSAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIAotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgCi0gKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIAotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIAotICogV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIAotICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSAKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgCi0gKiBTVUNIIERBTUFHRS4KLSAq
LyAKLQotI2lmbmRlZiBfWEVOVkJEX05PVElGSUVSX0gKLSNkZWZpbmUgX1hFTlZCRF9OT1RJRklF
Ul9ICi0KLXR5cGVkZWYgc3RydWN0IF9YRU5WQkRfTk9USUZJRVIgWEVOVkJEX05PVElGSUVSLCAq
UFhFTlZCRF9OT1RJRklFUjsKLQotI2luY2x1ZGUgImZyb250ZW5kLmgiCi0jaW5jbHVkZSA8ZGVi
dWdfaW50ZXJmYWNlLmg+Ci0jaW5jbHVkZSA8c3RvcmVfaW50ZXJmYWNlLmg+Ci0KLWV4dGVybiBO
VFNUQVRVUwotTm90aWZpZXJDcmVhdGUoCi0gICAgSU4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICAg
ICAgICBGcm9udGVuZCwKLSAgICBPVVQgUFhFTlZCRF9OT1RJRklFUiogICAgICAgICAgIE5vdGlm
aWVyCi0gICAgKTsKLQotZXh0ZXJuIFZPSUQKLU5vdGlmaWVyRGVzdHJveSgKLSAgICBJTiAgUFhF
TlZCRF9OT1RJRklFUiAgICAgICAgICAgIE5vdGlmaWVyCi0gICAgKTsKLQotZXh0ZXJuIE5UU1RB
VFVTCi1Ob3RpZmllckNvbm5lY3QoCi0gICAgSU4gIFBYRU5WQkRfTk9USUZJRVIgICAgICAgICAg
ICBOb3RpZmllciwKLSAgICBJTiAgVVNIT1JUICAgICAgICAgICAgICAgICAgICAgIEJhY2tlbmRE
b21haW4KLSAgICApOwotCi1leHRlcm4gTlRTVEFUVVMKLU5vdGlmaWVyU3RvcmVXcml0ZSgKLSAg
ICBJTiAgUFhFTlZCRF9OT1RJRklFUiAgICAgICAgICAgIE5vdGlmaWVyLAotICAgIElOICBQWEVO
QlVTX1NUT1JFX1RSQU5TQUNUSU9OICAgVHJhbnNhY3Rpb24sCi0gICAgSU4gIFBDSEFSICAgICAg
ICAgICAgICAgICAgICAgICBGcm9udGVuZFBhdGgKLSAgICApOwotCi1leHRlcm4gVk9JRAotTm90
aWZpZXJFbmFibGUoCi0gICAgSU4gIFBYRU5WQkRfTk9USUZJRVIgICAgICAgICAgICBOb3RpZmll
cgotICAgICk7Ci0KLWV4dGVybiBWT0lECi1Ob3RpZmllckRpc2FibGUoCi0gICAgSU4gIFBYRU5W
QkRfTk9USUZJRVIgICAgICAgICAgICBOb3RpZmllcgotICAgICk7Ci0KLWV4dGVybiBWT0lECi1O
b3RpZmllckRpc2Nvbm5lY3QoCi0gICAgSU4gIFBYRU5WQkRfTk9USUZJRVIgICAgICAgICAgICBO
b3RpZmllcgotICAgICk7Ci0KLWV4dGVybiBWT0lECi1Ob3RpZmllckRlYnVnQ2FsbGJhY2soCi0g
ICAgSU4gIFBYRU5WQkRfTk9USUZJRVIgICAgICAgICAgICBOb3RpZmllciwKLSAgICBJTiAgUFhF
TkJVU19ERUJVR19JTlRFUkZBQ0UgICAgIERlYnVnCi0gICAgKTsKLQotZXh0ZXJuIFZPSUQKLU5v
dGlmaWVyS2ljaygKLSAgICBJTiAgUFhFTlZCRF9OT1RJRklFUiAgICAgICAgICAgIE5vdGlmaWVy
Ci0gICAgKTsKLQotZXh0ZXJuIFZPSUQKLU5vdGlmaWVyVHJpZ2dlcigKLSAgICBJTiAgUFhFTlZC
RF9OT1RJRklFUiAgICAgICAgICAgIE5vdGlmaWVyCi0gICAgKTsKLQotZXh0ZXJuIFZPSUQKLU5v
dGlmaWVyU2VuZCgKLSAgICBJTiAgUFhFTlZCRF9OT1RJRklFUiAgICAgICAgICAgIE5vdGlmaWVy
Ci0gICAgKTsKLQotI2VuZGlmIC8vIF9YRU5WQkRfTk9USUZJRVJfSApkaWZmIC0tZ2l0IGEvc3Jj
L3hlbnZiZC9wZG9pbnF1aXJ5LmMgYi9zcmMveGVudmJkL3Bkb2lucXVpcnkuYwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMjYwOGZiZi4uMDAwMDAwMAotLS0gYS9zcmMveGVudmJkL3Bk
b2lucXVpcnkuYworKysgL2Rldi9udWxsCkBAIC0xLDUzMCArMCwwIEBACi0vKiBDb3B5cmlnaHQg
KGMpIENpdHJpeCBTeXN0ZW1zIEluYy4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIAotICog
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCAKLSAq
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6Ci0gKiAKLSAqICogICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIAotICogICAg
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgCi0gKiAg
ICAgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAqICAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSAKLSAqICAgICBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIAotICogICAgIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciAKLSAqICAgICBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgCi0gKiBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCAKLSAqIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIAot
ICogTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERF
UiBPUiAKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCAKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIAotICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIAotICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyAKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCAKLSAqIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyAKLSAqIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIAotICogU1VD
SCBEQU1BR0UuCi0gKi8gCi0KLSNpbmNsdWRlICJwZG9pbnF1aXJ5LmgiCi0jaW5jbHVkZSAiZHJp
dmVyLmgiCi0jaW5jbHVkZSAiZGVidWcuaCIKLSNpbmNsdWRlICJhc3NlcnQuaCIKLSNpbmNsdWRl
ICJ1dGlsLmgiCi0jaW5jbHVkZSA8eGVuY2RiLmg+Ci0jaW5jbHVkZSA8eGVudmJkLW50c3Ryc2Fm
ZS5oPgotI2luY2x1ZGUgPHN0ZGxpYi5oPgotCi0vLyAiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAt
MDAwMDAwMDAwMDAwIgotI2RlZmluZSBHVUlEX0xFTkdUSCAgICAgMzYgCi0KLS8vIDAwIDAwIDAw
IDAwIDAwIDAwIDAwIDAwICJYRU5TUkMgIDAwMDAwMDAwIgotI2RlZmluZSBQQUdFODNfTUlOX1NJ
WkUgKDQgKyA0ICsgMTYpCi0KLS8vIDAwIDAwIDAwIDAwICsgR1VJRF9MRU5HVEgKLSNkZWZpbmUg
VkRJX0lEX0xFTkdUSCAgICg0ICsgR1VJRF9MRU5HVEgpCi0KLSNkZWZpbmUgSU5RVUlSWV9QT09M
X1RBRyAncW5JWCcKLQotdHlwZWRlZiBzdHJ1Y3QgX1hFTlZCRF9QQUdFIHsKLSAgICBQQ0hBUiAg
IERhdGE7Ci0gICAgVUxPTkcgICBMZW5ndGg7Ci19IFhFTlZCRF9QQUdFLCAqUFhFTlZCRF9QQUdF
OwotCi10eXBlZGVmIHN0cnVjdCBfWEVOVkJEX0lOUVVJUlkgewotICAgIFhFTlZCRF9QQUdFIFBh
Z2U4MDsKLSAgICBYRU5WQkRfUEFHRSBQYWdlODM7Ci0gICAgQ0hBUiAgICAgICAgVmRpVXVpZFtH
VUlEX0xFTkdUSCArIDFdOwotfSBYRU5WQkRfSU5RVUlSWSwgKlBYRU5WQkRfSU5RVUlSWTsKLQot
c3RhdGljIEZPUkNFSU5MSU5FIFVMT05HCi1fX01pbjMoCi0gICAgX19pbiBVTE9ORyAgQSwKLSAg
ICBfX2luIFVMT05HICBCLAotICAgIF9faW4gVUxPTkcgIEMKLSAgICApCi17Ci0gICAgcmV0dXJu
IEEgPCBCID8gX19taW4oQSwgQykgOiBfX21pbihCLCBDKTsKLX0KLQotX19jaGVja1JldHVybgot
X19kcnZfYWxsb2NhdGVzTWVtKG1lbSkKLV9fYmNvdW50KFNpemUpCi1zdGF0aWMgRk9SQ0VJTkxJ
TkUgUFZPSUQgCi0jcHJhZ21hIHdhcm5pbmcoc3VwcHJlc3M6IDI4MTk1KQotX19JbnF1aXJ5QWxs
b2MoCi0gICAgX19pbiBTSVpFX1QgU2l6ZQotICAgICkKLXsKLSAgICByZXR1cm4gX19BbGxvY2F0
ZVBvb2xXaXRoVGFnKE5vblBhZ2VkUG9vbCwgU2l6ZSwgSU5RVUlSWV9QT09MX1RBRyk7Ci19Ci0K
LXN0YXRpYyBGT1JDRUlOTElORSBWT0lECi0jcHJhZ21hIHdhcm5pbmcoc3VwcHJlc3M6IDI4MTk3
KQotX19JbnF1aXJ5RnJlZSgKLSAgICBfX2luIF9fZHJ2X2ZyZWVzTWVtKG1lbSkgUFZPSUQgQnVm
ZmVyCi0gICAgKQotewotICAgIGlmIChCdWZmZXIgIT0gTlVMTCkKLSAgICAgICAgX19GcmVlUG9v
bFdpdGhUYWcoQnVmZmVyLCBJTlFVSVJZX1BPT0xfVEFHKTsKLX0KLQotc3RhdGljIEZPUkNFSU5M
SU5FIFVDSEFSCi1fX0RlY29kZUNoYXIoCi0gICAgX19pbiBDSEFSICAgIENoYXIKLSAgICApCi17
Ci0gICAgaWYgKENoYXIgPj0gJ0EnICYmIENoYXIgPD0gJ1onKSByZXR1cm4gQ2hhciAtICdBJzsK
LSAgICBpZiAoQ2hhciA+PSAnYScgJiYgQ2hhciA8PSAneicpIHJldHVybiBDaGFyIC0gJ2EnICsg
MjY7Ci0gICAgaWYgKENoYXIgPj0gJzAnICYmIENoYXIgPD0gJzknKSByZXR1cm4gQ2hhciAtICcw
JyArIDUyOwotICAgIGlmIChDaGFyID09ICcrJykgICAgICAgICAgICAgICAgcmV0dXJuIDYyOwot
ICAgIGlmIChDaGFyID09ICcvJykgICAgICAgICAgICAgICAgcmV0dXJuIDYzOwotICAgIGlmIChD
aGFyID09ICc9JykgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIDB4RkY7Ci19
Ci1zdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgVUNIQVIKLV9fRGVjb2RlKAotICAgIF9faW4gUFVD
SEFSICBEZXN0LAotICAgIF9faW4gUENIQVIgICBTcmMsCi0gICAgX19pbiBVTE9ORyAgIFJlbWFp
bmluZ0NoYXJzCi0gICAgKQotewotICAgIFVDSEFSICAgVmFsdWVzWzRdOyAKLQotICAgIGlmIChS
ZW1haW5pbmdDaGFycyA8IDQpCi0gICAgICAgIHJldHVybiAweEZGOwotCi0gICAgLy8gdGFrZSA0
IFNyYyBjaGFycyAtPiAxLCAyLCBvciAzIERlc3QgYnl0ZXMKLSAgICBWYWx1ZXNbMF0gPSBfX0Rl
Y29kZUNoYXIoU3JjWzBdKTsKLSAgICBWYWx1ZXNbMV0gPSBfX0RlY29kZUNoYXIoU3JjWzFdKTsK
LSAgICBWYWx1ZXNbMl0gPSBfX0RlY29kZUNoYXIoU3JjWzJdKTsKLSAgICBWYWx1ZXNbM10gPSBf
X0RlY29kZUNoYXIoU3JjWzNdKTsKLQotICAgIC8vIHNhbml0eSBjaGVja3MKLSAgICBpZiAoKFNy
Y1swXSA9PSAnPScgfHwgU3JjWzFdID09ICc9JykgfHwKLSAgICAgICAgKFNyY1syXSA9PSAnPScg
JiYgU3JjWzNdICE9ICc9JykpCi0gICAgICAgIHJldHVybiAweEZGOwotICAgIGlmIChWYWx1ZXNb
MF0gPT0gMHhGRiB8fCBWYWx1ZXNbMV0gPT0gMHhGRiB8fAotICAgICAgICBWYWx1ZXNbMl0gPT0g
MHhGRiB8fCBWYWx1ZXNbM10gPT0gMHhGRikKLSAgICAgICAgcmV0dXJuIDB4RkY7Ci0KLSAgICAv
LyBjb252ZXJ0Ci0gICAgRGVzdFswXSA9IChWYWx1ZXNbMV0gPj4gNCkgfCAoVmFsdWVzWzBdIDw8
IDIpOwotICAgIGlmIChTcmNbMl0gPT0gJz0nKSAgcmV0dXJuIDI7Ci0gICAgRGVzdFsxXSA9IChW
YWx1ZXNbMl0gPj4gMikgfCAoVmFsdWVzWzFdIDw8IDQpOwotICAgIGlmIChTcmNbM10gPT0gJz0n
KSAgcmV0dXJuIDE7Ci0gICAgRGVzdFsyXSA9IChWYWx1ZXNbM10gICAgICkgfCAoVmFsdWVzWzJd
IDw8IDYpOwotICAgIHJldHVybiAwOwotfQotX19jaGVja1JldHVybgotc3RhdGljIE5UU1RBVFVT
Ci1fX0RlY29kZUJhc2U2NCgKLSAgICBfX2luICBQQ0hBUiAgIEJhc2U2NCwKLSAgICBfX2luICBV
TE9ORyAgIEJhc2U2NExlbmd0aCwKLSAgICBfX291dCBQVk9JRCAgICpfQnVmZmVyLAotICAgIF9f
b3V0IFBVTE9ORyAgQnVmZmVyTGVuZ3RoCi0gICAgKQotewotICAgIC8vIGNvbnZlcnQgQmFzZTY0
KDRjaGFycykgaW50byBCdWZmZXIoM2J5dGVzKQotICAgIFBVQ0hBUiAgICAgIEJ1ZmZlcjsKLSAg
ICBVTE9ORyAgICAgICBOdW1CbG9ja3M7Ci0gICAgVUxPTkcgICAgICAgaTsKLSAgICBVQ0hBUiAg
ICAgICBQYWQgPSAwOwotCi0gICAgTnVtQmxvY2tzID0gQmFzZTY0TGVuZ3RoIC8gNDsKLQotICAg
IEJ1ZmZlciA9IChQVUNIQVIpX19JbnF1aXJ5QWxsb2MoTnVtQmxvY2tzICogMyk7Ci0gICAgaWYg
KEJ1ZmZlciA9PSBOVUxMKSB7Ci0gICAgICAgIEVycm9yKCJfX0lucXVpcnlBbGxvYyAoU1RBVFVT
X0lOU1VGRklDSUVOVF9SRVNPVVJDRVMpXG4iKTsKLSAgICAgICAgZ290byBmYWlsMTsKLSAgICB9
Ci0KLSAgICBmb3IgKGkgPSAwOyBpIDwgTnVtQmxvY2tzOyArK2kpIHsKLSAgICAgICAgaWYgKFBh
ZCkgICAgICAgIGdvdG8gaW52YWxpZF9iYXNlNjQ7Ci0gICAgICAgIFBhZCA9IF9fRGVjb2RlKEJ1
ZmZlciArIChpICogMyksIEJhc2U2NCArIChpICogNCksIEJhc2U2NExlbmd0aCAtIChpICogNCkp
OwotICAgICAgICBpZiAoUGFkID4gMikgICAgZ290byBpbnZhbGlkX2Jhc2U2NDsKLSAgICB9Ci0K
LSAgICAqQnVmZmVyTGVuZ3RoID0gKE51bUJsb2NrcyAqIDMpIC0gUGFkOwotICAgICpfQnVmZmVy
ID0gQnVmZmVyOwotICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKLQotaW52YWxpZF9iYXNlNjQ6
Ci0gICAgRXJyb3IoIkludmFsaWQgQkFTRTY0IGVuY29kaW5nXG4iKTsKLSAgICBfX0lucXVpcnlG
cmVlKChQVk9JRClCdWZmZXIpOwotICAgIHJldHVybiBTVEFUVVNfVU5TVUNDRVNTRlVMOwotCi1m
YWlsMToKLSAgICByZXR1cm4gU1RBVFVTX0lOU1VGRklDSUVOVF9SRVNPVVJDRVM7Ci19Ci1zdGF0
aWMgREVDTFNQRUNfTk9JTkxJTkUgQk9PTEVBTiAKLV9fUmVhZFBhZ2UoCi0gICAgX19pbiBQWEVO
VkJEX0ZST05URU5EICAgICAgIEZyb250ZW5kLAotICAgIF9faW4gUFhFTlZCRF9QQUdFICAgICAg
ICAgICBQYWdlLAotICAgIF9faW4gUENIQVIgICAgICAgICAgICAgICAgICBQYXRoCi0gICAgKQot
ewotICAgIE5UU1RBVFVTICAgIFN0YXR1czsKLSAgICBQQ0hBUiAgICAgICBWYWx1ZTsKLQotICAg
IFN0YXR1cyA9IEZyb250ZW5kU3RvcmVSZWFkQmFja2VuZChGcm9udGVuZCwgUGF0aCwgJlZhbHVl
KTsKLSAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsMTsKLQot
ICAgIFN0YXR1cyA9IF9fRGVjb2RlQmFzZTY0KFZhbHVlLCAoVUxPTkcpc3RybGVuKFZhbHVlKSwg
KFBWT0lEKikmUGFnZS0+RGF0YSwgJlBhZ2UtPkxlbmd0aCk7Ci0gICAgaWYgKCFOVF9TVUNDRVNT
KFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDI7Ci0KLSAgICBGcm9udGVuZFN0b3JlRnJlZShG
cm9udGVuZCwgVmFsdWUpOwotICAgIHJldHVybiBUUlVFOwotCi1mYWlsMjoKLSAgICBGcm9udGVu
ZFN0b3JlRnJlZShGcm9udGVuZCwgVmFsdWUpOwotZmFpbDE6Ci0gICAgUGFnZS0+RGF0YSA9IE5V
TEw7Ci0gICAgUGFnZS0+TGVuZ3RoID0gMDsKLSAgICByZXR1cm4gRkFMU0U7Ci19Ci0KLXN0YXRp
YyBGT1JDRUlOTElORSBCT09MRUFOCi1fX0hhbmRsZVBhZ2VTdGQoCi0gICAgX19pbiBQU0NTSV9S
RVFVRVNUX0JMT0NLICAgICAgICBTcmIKLSAgICApCi17Ci0gICAgUElOUVVJUllEQVRBICAgIERh
dGEgPSAoUElOUVVJUllEQVRBKVNyYi0+RGF0YUJ1ZmZlcjsKLSAgICBVTE9ORyAgICAgICAgICAg
TGVuZ3RoID0gU3JiLT5EYXRhVHJhbnNmZXJMZW5ndGg7Ci0KLSAgICBpZiAoTGVuZ3RoIDwgSU5R
VUlSWURBVEFCVUZGRVJTSVpFKQotICAgICAgICByZXR1cm4gRkFMU0U7Ci0KLSAgICBEYXRhLT5E
ZXZpY2VUeXBlICAgICAgICAgICAgPSBESVJFQ1RfQUNDRVNTX0RFVklDRTsKLSAgICBEYXRhLT5E
ZXZpY2VUeXBlUXVhbGlmaWVyICAgPSBERVZJQ0VfQ09OTkVDVEVEOwotICAgIERhdGEtPlZlcnNp
b25zICAgICAgICAgICAgICA9IDQ7Ci0gICAgRGF0YS0+UmVzcG9uc2VEYXRhRm9ybWF0ICAgID0g
MjsKLSAgICBEYXRhLT5BZGRpdGlvbmFsTGVuZ3RoICAgICAgPSBJTlFVSVJZREFUQUJVRkZFUlNJ
WkUgLSA0OwotICAgIERhdGEtPkNvbW1hbmRRdWV1ZSAgICAgICAgICA9IDE7Ci0gICAgUnRsQ29w
eU1lbW9yeShEYXRhLT5WZW5kb3JJZCwgICAgICAgICAgICAgICAiWEVOU1JDICAiLCA4KTsKLSAg
ICBSdGxDb3B5TWVtb3J5KERhdGEtPlByb2R1Y3RJZCwgICAgICAgICAgICAgICJQVkRJU0sgICAg
ICAgICAgIiwgMTYpOwotICAgIFJ0bENvcHlNZW1vcnkoRGF0YS0+UHJvZHVjdFJldmlzaW9uTGV2
ZWwsICAgIjIuMCAiLCA0KTsKLQotICAgIFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoID0gSU5RVUlS
WURBVEFCVUZGRVJTSVpFOwotICAgIHJldHVybiBUUlVFOwotfQotc3RhdGljIEZPUkNFSU5MSU5F
IEJPT0xFQU4KLV9fSGFuZGxlUGFnZTAwKAotICAgIF9faW4gUFNDU0lfUkVRVUVTVF9CTE9DSyAg
ICAgICAgU3JiCi0gICAgKQotewotICAgIFBDSEFSICAgRGF0YSA9IChQQ0hBUilTcmItPkRhdGFC
dWZmZXI7Ci0gICAgVUxPTkcgICBMZW5ndGggPSBTcmItPkRhdGFUcmFuc2Zlckxlbmd0aDsKLQot
ICAgIGlmIChMZW5ndGggPCA3KQotICAgICAgICByZXR1cm4gRkFMU0U7Ci0gICAgUnRsWmVyb01l
bW9yeShEYXRhLCBMZW5ndGgpOwotCi0gICAgLy8gMDAgMDAgMDAgTnVtUGFnZXMrMSAwMCBbUGFn
ZSBbLi4uXV0KLSAgICBEYXRhWzNdID0gMzsKLSAgICBEYXRhWzRdID0gMHgwMDsKLSAgICBEYXRh
WzVdID0gMHg4MDsKLSAgICBEYXRhWzZdID0gMHg4MzsKLSAgICBTcmItPkRhdGFUcmFuc2Zlckxl
bmd0aCA9IDc7Ci0KLSAgICByZXR1cm4gVFJVRTsKLX0KLXN0YXRpYyBGT1JDRUlOTElORSBCT09M
RUFOCi1fX0hhbmRsZVBhZ2U4MCgKLSAgICBfX2luIFVMT05HICAgICAgICAgICAgICAgICAgICAg
IFRhcmdldElkLAotICAgIF9faW4gUFhFTlZCRF9JTlFVSVJZICAgICAgICAgICAgSW5xdWlyeSwK
LSAgICBfX2luIFBTQ1NJX1JFUVVFU1RfQkxPQ0sgICAgICAgIFNyYgotICAgICkKLXsKLSAgICBQ
Q0hBUiAgIERhdGEgPSAoUENIQVIpU3JiLT5EYXRhQnVmZmVyOwotICAgIFVMT05HICAgTGVuZ3Ro
ID0gU3JiLT5EYXRhVHJhbnNmZXJMZW5ndGg7Ci0KLQlSdGxaZXJvTWVtb3J5KERhdGEsIExlbmd0
aCk7Ci0JaWYgKElucXVpcnkgPT0gTlVMTCB8fCAKLSAgICAgICAgSW5xdWlyeS0+UGFnZTgwLkRh
dGEgPT0gTlVMTCB8fCAKLSAgICAgICAgSW5xdWlyeS0+UGFnZTgwLkxlbmd0aCA9PSAwKSB7Ci0g
ICAgICAgIC8vIGdlbmVyYXRlIHRoZSBzZXJpYWwgbnVtYmVyIHBhZ2UKLSAgICAgICAgUFZQRF9T
RVJJQUxfTlVNQkVSX1BBR0UgU2VyaWFsOwotICAgICAgICBpZiAoTGVuZ3RoIDwgc2l6ZW9mKFZQ
RF9TRVJJQUxfTlVNQkVSX1BBR0UpICsgNCkKLSAgICAgICAgICAgIHJldHVybiBGQUxTRTsKLQot
ICAgICAgICBTZXJpYWwgPSAoUFZQRF9TRVJJQUxfTlVNQkVSX1BBR0UpRGF0YTsKLSAgICAgICAg
U2VyaWFsLT5QYWdlQ29kZSAgICAgICAgPSAweDgwOwotICAgICAgICBTZXJpYWwtPlBhZ2VMZW5n
dGggICAgICA9IDQ7Ci0gICAgICAgIChWT0lEKSBSdGxTdHJpbmdDY2hQcmludGZBKChQQ0hBUilT
ZXJpYWwtPlNlcmlhbE51bWJlciwgNSwgIiUwNHUiLCBUYXJnZXRJZCk7Ci0KLSAgICAgICAgVmVy
Ym9zZSgiVGFyZ2V0WyV1XSA6IElOUVVJUlkgVXNpbmcgRmFrZSBQYWdlODAgRGF0YVxuIiwgVGFy
Z2V0SWQpOwotCi0gICAgICAgIFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoID0gc2l6ZW9mKFZQRF9T
RVJJQUxfTlVNQkVSX1BBR0UpICsgNDsgCi0gICAgICAgIC8vIFZQRF9TRVJJQUxfTlVNQkVSX1BB
R0UgaW5jbHVkZXMgMSBjaGFyIGFscmVhZHkKLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoTGVu
Z3RoIDwgSW5xdWlyeS0+UGFnZTgwLkxlbmd0aCkKLSAgICAgICAgICAgIHJldHVybiBGQUxTRTsK
LQotCQlSdGxDb3B5TWVtb3J5KERhdGEsIElucXVpcnktPlBhZ2U4MC5EYXRhLCBJbnF1aXJ5LT5Q
YWdlODAuTGVuZ3RoKTsKLSAgICAgICAgU3JiLT5EYXRhVHJhbnNmZXJMZW5ndGggPSBJbnF1aXJ5
LT5QYWdlODAuTGVuZ3RoOwotICAgIH0KLQotICAgIC8vIGlmIHBvc3NpYmxlLCBhcHBlbmQgYWRk
aXRpb25hbCBkYXRhCi0gICAgLy9pZiAoSW5xdWlyeSAmJiBMZW5ndGggPj0gU3JiLT5EYXRhVHJh
bnNmZXJMZW5ndGggKyBBRERJVElPTkFMX0xFTkdUSCkgewotICAgIC8vICAgIFNyYi0+RGF0YVRy
YW5zZmVyTGVuZ3RoICs9IEFERElUSU9OQUxfTEVOR1RIOwotICAgIC8vfQotICAgIHJldHVybiBU
UlVFOwotfQotc3RhdGljIEZPUkNFSU5MSU5FIEJPT0xFQU4KLV9fSGFuZGxlUGFnZTgzKAotICAg
IF9faW4gVUxPTkcgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0SWQsCi0gICAgX19pbiBQWEVO
VkJEX0lOUVVJUlkgICAgICAgICAgICBJbnF1aXJ5LAotICAgIF9faW4gUFNDU0lfUkVRVUVTVF9C
TE9DSyAgICAgICAgU3JiCi0gICAgKQotewotICAgIFBDSEFSICAgRGF0YSA9IChQQ0hBUilTcmIt
PkRhdGFCdWZmZXI7Ci0gICAgVUxPTkcgICBMZW5ndGggPSBTcmItPkRhdGFUcmFuc2Zlckxlbmd0
aDsKLQotICAgIFJ0bFplcm9NZW1vcnkoRGF0YSwgTGVuZ3RoKTsKLSAgICBpZiAoSW5xdWlyeSA9
PSBOVUxMIHx8IAotICAgICAgICBJbnF1aXJ5LT5QYWdlODMuRGF0YSA9PSBOVUxMIHx8IAotICAg
ICAgICBJbnF1aXJ5LT5QYWdlODMuTGVuZ3RoID09IDApIHsKLSAgICAgICAgLy8gZ2VuZXJhdGUg
dGhlIGlkIHBhZ2UgZGF0YQotICAgICAgICBQVlBEX0lERU5USUZJQ0FUSU9OX0RFU0NSSVBUT1Ig
IElkOwotICAgICAgICBDSEFSICAgIEJ1ZmZlclsxN107Ci0KLSAgICAgICAgaWYgKExlbmd0aCA8
IFBBR0U4M19NSU5fU0laRSkKLSAgICAgICAgICAgIHJldHVybiBGQUxTRTsKLQotICAgICAgICBE
YXRhWzFdICAgICAgICAgICAgICAgICA9IDB4ODM7Ci0gICAgICAgIERhdGFbM10gICAgICAgICAg
ICAgICAgID0gMTY7Ci0KLSAgICAgICAgSWQgPSAoUFZQRF9JREVOVElGSUNBVElPTl9ERVNDUklQ
VE9SKShEYXRhICsgNCk7Ci0gICAgICAgIElkLT5Db2RlU2V0ICAgICAgICAgICAgID0gVnBkQ29k
ZVNldEFzY2lpOwotICAgICAgICBJZC0+SWRlbnRpZmllclR5cGUgICAgICA9IFZwZElkZW50aWZp
ZXJUeXBlVmVuZG9ySWQ7Ci0gICAgICAgIElkLT5JZGVudGlmaWVyTGVuZ3RoICAgID0gMTY7Ci0g
ICAgICAgIChWT0lEKVJ0bFN0cmluZ0NjaFByaW50ZkEoQnVmZmVyLCAxNywgIlhFTlNSQyAgJTA4
dSIsIFRhcmdldElkKTsKLSAgICAgICAgUnRsQ29weU1lbW9yeSgoUENIQVIpSWQtPklkZW50aWZp
ZXIsIEJ1ZmZlciwgMTYpOwotCi0gICAgICAgIFZlcmJvc2UoIlRhcmdldFsldV0gOiBJTlFVSVJZ
IFVzaW5nIEZha2UgUGFnZTgzIERhdGFcbiIsIFRhcmdldElkKTsKLQotICAgICAgICBTcmItPkRh
dGFUcmFuc2Zlckxlbmd0aCA9IFBBR0U4M19NSU5fU0laRTsKLSAgICB9IGVsc2UgewotICAgICAg
ICBpZiAoTGVuZ3RoIDwgSW5xdWlyeS0+UGFnZTgzLkxlbmd0aCkKLSAgICAgICAgICAgIHJldHVy
biBGQUxTRTsKLQotICAgICAgICBSdGxDb3B5TWVtb3J5KERhdGEsIElucXVpcnktPlBhZ2U4My5E
YXRhLCBJbnF1aXJ5LT5QYWdlODMuTGVuZ3RoKTsKLSAgICAgICAgU3JiLT5EYXRhVHJhbnNmZXJM
ZW5ndGggPSBJbnF1aXJ5LT5QYWdlODMuTGVuZ3RoOwotICAgIH0KLQotICAgIC8vIGlmIHBvc3Np
YmxlLCBhcHBlbmQgdmRpLXV1aWQgYXMgVmVuZG9yU3BlY2lmaWMKLSAgICBpZiAoSW5xdWlyeSAm
JiBMZW5ndGggPj0gU3JiLT5EYXRhVHJhbnNmZXJMZW5ndGggKyBWRElfSURfTEVOR1RIKSB7Ci0g
ICAgICAgIFBWUERfSURFTlRJRklDQVRJT05fREVTQ1JJUFRPUiBJZDsKLSAgICAgICAgCi0gICAg
ICAgIC8vIHVwZGF0ZSBpbnRlcm5hbCBzaXplCi0gICAgICAgICooRGF0YSArIDMpICs9IFZESV9J
RF9MRU5HVEg7Ci0KLSAgICAgICAgLy8gY29weSBuZXcgZGF0YQotICAgICAgICBJZCA9IChQVlBE
X0lERU5USUZJQ0FUSU9OX0RFU0NSSVBUT1IpKERhdGEgKyBTcmItPkRhdGFUcmFuc2Zlckxlbmd0
aCk7Ci0gICAgICAgIElkLT5Db2RlU2V0ICAgICAgICAgICAgID0gVnBkQ29kZVNldEFzY2lpOwot
ICAgICAgICBJZC0+SWRlbnRpZmllclR5cGUgICAgICA9IFZwZElkZW50aWZpZXJUeXBlVmVuZG9y
U3BlY2lmaWM7Ci0gICAgICAgIElkLT5JZGVudGlmaWVyTGVuZ3RoICAgID0gR1VJRF9MRU5HVEg7
Ci0gICAgICAgIFJ0bENvcHlNZW1vcnkoSWQtPklkZW50aWZpZXIsIElucXVpcnktPlZkaVV1aWQs
IEdVSURfTEVOR1RIKTsgICAgICAgIAotIAotICAgICAgICBTcmItPkRhdGFUcmFuc2Zlckxlbmd0
aCArPSBWRElfSURfTEVOR1RIOwotICAgIH0KLSAgICByZXR1cm4gVFJVRTsKLX0KLQotI2RlZmlu
ZSBNQVhfQlVGRkVSICAgICAgNjQKLQotc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKLV9fVHJhY2VQ
YWdlODAoCi0gICAgX19pbiBVTE9ORyAgICAgICAgICAgICAgICAgICAgVGFyZ2V0SWQsCi0gICAg
X19pbiBQWEVOVkJEX0lOUVVJUlkgICAgICAgICAgSW5xdWlyeQotICAgICkKLXsKLSAgICBVTE9O
RyAgICAgICAgICAgTGVuZ3RoOwotICAgIENIQVIgICAgICAgICAgICBCdWZmZXJbTUFYX0JVRkZF
UisxXTsKLQotICAgIExlbmd0aCA9IF9fTWluMyhJbnF1aXJ5LT5QYWdlODAuRGF0YVszXSwgTUFY
X0JVRkZFUiwgSW5xdWlyeS0+UGFnZTgwLkxlbmd0aCAtIDQpOwotICAgIFJ0bENvcHlNZW1vcnko
QnVmZmVyLCBJbnF1aXJ5LT5QYWdlODAuRGF0YSArIDQsIExlbmd0aCk7Ci0gICAgQnVmZmVyW0xl
bmd0aF0gPSAwOwotICAgIFZlcmJvc2UoIlRhcmdldFsldV0gOiBTZXJpYWxOdW1iZXIgPSBcIiVz
XCJcbiIsIFRhcmdldElkLCBCdWZmZXIpOwotfQotc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKLV9f
VHJhY2VQYWdlODMoCi0gICAgX19pbiBVTE9ORyAgICAgICAgICAgICAgICAgICAgVGFyZ2V0SWQs
Ci0gICAgX19pbiBQWEVOVkJEX0lOUVVJUlkgICAgICAgICAgSW5xdWlyeQotICAgICkKLXsKLSAg
ICBVTE9ORyAgICAgICAgICAgTGVuZ3RoOwotICAgIFVMT05HICAgICAgICAgICBJbmRleDsKLSAg
ICBDSEFSICAgICAgICAgICAgQnVmZmVyW01BWF9CVUZGRVIrMV07Ci0KLSAgICBmb3IgKEluZGV4
ID0gNDsgSW5kZXggPCBJbnF1aXJ5LT5QYWdlODMuTGVuZ3RoOyApIHsKLSAgICAgICAgUFZQRF9J
REVOVElGSUNBVElPTl9ERVNDUklQVE9SIElkZW50aWZpZXIgPSAoUFZQRF9JREVOVElGSUNBVElP
Tl9ERVNDUklQVE9SKSZJbnF1aXJ5LT5QYWdlODMuRGF0YVtJbmRleF07Ci0KLSAgICAgICAgc3dp
dGNoIChJZGVudGlmaWVyLT5Db2RlU2V0KSB7Ci0gICAgICAgIGNhc2UgVnBkQ29kZVNldEFzY2lp
OgotICAgICAgICAgICAgTGVuZ3RoID0gX19NaW4zKElkZW50aWZpZXItPklkZW50aWZpZXJMZW5n
dGgsIE1BWF9CVUZGRVIsIElucXVpcnktPlBhZ2U4My5MZW5ndGggLSBJbmRleCAtIDQpOwotICAg
ICAgICAgICAgUnRsQ29weU1lbW9yeShCdWZmZXIsIElkZW50aWZpZXItPklkZW50aWZpZXIsIExl
bmd0aCk7Ci0gICAgICAgICAgICBCdWZmZXJbTGVuZ3RoXSA9IDA7Ci0gICAgICAgICAgICBWZXJi
b3NlKCJUYXJnZXRbJXVdIDogSWRlbnRpZmllciAoQVNDSUksIFR5cGUgJTAyeCwgXCIlc1wiKVxu
IiwgCi0gICAgICAgICAgICAgICAgICAgIFRhcmdldElkLCBJZGVudGlmaWVyLT5JZGVudGlmaWVy
VHlwZSwgQnVmZmVyKTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgICAgICBWZXJib3NlKCJUYXJnZXRbJXVdIDogSWRlbnRpZmllciAoQ29kZVNldCAlMDJ4
LCBUeXBlICUwMngsIExlbmd0aCAlMDJ4KVxuIiwgCi0gICAgICAgICAgICAgICAgICAgIFRhcmdl
dElkLCBJZGVudGlmaWVyLT5Db2RlU2V0LCBJZGVudGlmaWVyLT5JZGVudGlmaWVyVHlwZSwgSWRl
bnRpZmllci0+SWRlbnRpZmllckxlbmd0aCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
fQotCi0gICAgICAgIEluZGV4ICs9ICg0ICsgSWRlbnRpZmllci0+SWRlbnRpZmllckxlbmd0aCk7
Ci0gICAgfQotfQotCi1WT0lECi0jcHJhZ21hIHdhcm5pbmcoc3VwcHJlc3M6IDI4MTk1KQotUGRv
UmVhZElucXVpcnlEYXRhKAotICAgIF9faW4gIFBYRU5WQkRfRlJPTlRFTkQgICAgICAgIEZyb250
ZW5kLAotICAgIF9fb3V0IF9fZHJ2X2FsbG9jYXRlc01lbShtZW0pIFBWT0lEKiBfSW5xdWlyeQot
ICAgICkKLXsKLSAgICBQWEVOVkJEX0lOUVVJUlkgSW5xdWlyeTsKLSAgICBjb25zdCBDSEFSICAg
ICAgR3VpZE51bGxbXSA9ICIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiOwot
ICAgIGNvbnN0IFVMT05HICAgICBUYXJnZXRJZCA9IEZyb250ZW5kR2V0VGFyZ2V0SWQoRnJvbnRl
bmQpOwotICAgIAotICAgICpfSW5xdWlyeSA9IE5VTEw7Ci0gICAgSW5xdWlyeSA9IChQWEVOVkJE
X0lOUVVJUlkpX19JbnF1aXJ5QWxsb2Moc2l6ZW9mKFhFTlZCRF9JTlFVSVJZKSk7Ci0gICAgaWYg
KElucXVpcnkgPT0gTlVMTCkgewotICAgICAgICBFcnJvcigiVGFyZ2V0WyVkXSA6IE1lbW9yeSBh
bGxvY2F0aW9uIGdldHRpbmcgSU5RVUlSWSBkYXRhICglZCBieXRlcyBmYWlsZWQpXG4iLCAKLSAg
ICAgICAgICAgICAgICBUYXJnZXRJZCwgc2l6ZW9mKFhFTlZCRF9JTlFVSVJZKSk7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0gICAgCi0gICAgLy8gaW5pdGlhbGl6ZSBWREktVVVJRAotICAgIFJ0
bENvcHlNZW1vcnkoSW5xdWlyeS0+VmRpVXVpZCwgR3VpZE51bGwsIEdVSURfTEVOR1RIKTsKLSAg
ICBJbnF1aXJ5LT5WZGlVdWlkW0dVSURfTEVOR1RIXSA9IDA7Ci0KLSAgICAvLyByZWFkIHBhZ2U4
MAotICAgIGlmICghX19SZWFkUGFnZShGcm9udGVuZCwgJklucXVpcnktPlBhZ2U4MCwgInNtLWRh
dGEvc2NzaS8weDEyLzB4ODAiKSkgewotICAgICAgICBXYXJuaW5nKCJUYXJnZXRbJWRdIDogRmFp
bGVkIHRvIGdldCBQYWdlODAgZGF0YVxuIiwgVGFyZ2V0SWQpOwotICAgIH0gZWxzZSB7Ci0gICAg
ICAgIF9fVHJhY2VQYWdlODAoVGFyZ2V0SWQsIElucXVpcnkpOwotICAgIH0KLQotICAgIC8vIHJl
YWQgcGFnZTgzCi0gICAgaWYgKCFfX1JlYWRQYWdlKEZyb250ZW5kLCAmSW5xdWlyeS0+UGFnZTgz
LCAic20tZGF0YS9zY3NpLzB4MTIvMHg4MyIpKSB7Ci0gICAgICAgIFdhcm5pbmcoIlRhcmdldFsl
ZF0gOiBGYWlsZWQgdG8gZ2V0IFBhZ2U4MyBkYXRhXG4iLCBUYXJnZXRJZCk7Ci0gICAgfSBlbHNl
IHsKLSAgICAgICAgX19UcmFjZVBhZ2U4MyhUYXJnZXRJZCwgSW5xdWlyeSk7Ci0gICAgfQotCi0g
ICAgKl9JbnF1aXJ5ID0gSW5xdWlyeTsKLX0KLQotVk9JRAotUGRvRnJlZUlucXVpcnlEYXRhKAot
ICAgIF9faW4gX19kcnZfZnJlZXNNZW0obWVtKSBQVk9JRCBfSW5xdWlyeQotICAgICkKLXsKLSAg
ICBQWEVOVkJEX0lOUVVJUlkgSW5xdWlyeSA9IChQWEVOVkJEX0lOUVVJUlkpX0lucXVpcnk7Ci0K
LSAgICBpZiAoX0lucXVpcnkgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgX19JbnF1
aXJ5RnJlZSgoUFZPSUQpSW5xdWlyeS0+UGFnZTgwLkRhdGEpOwotICAgIF9fSW5xdWlyeUZyZWUo
KFBWT0lEKUlucXVpcnktPlBhZ2U4My5EYXRhKTsKLSAgICBfX0lucXVpcnlGcmVlKChQVk9JRClJ
bnF1aXJ5KTsKLX0KLQotVk9JRAotUGRvVXBkYXRlSW5xdWlyeURhdGEoCi0gICAgX19pbiAgUFhF
TlZCRF9GUk9OVEVORCAgICAgICBGcm9udGVuZCwKLSAgICBfX2luICBQVk9JRCAgICAgICAgICAg
ICAgICAgIF9JbnF1aXJ5Ci0gICAgKQotewotICAgIFBYRU5WQkRfSU5RVUlSWSBJbnF1aXJ5ID0g
KFBYRU5WQkRfSU5RVUlSWSlfSW5xdWlyeTsKLSAgICBOVFNUQVRVUyAgICAgICAgU3RhdHVzOwot
ICAgIFBDSEFSICAgICAgICAgICBWYWx1ZTsKLSAgICBVTE9ORyAgICAgICAgICAgTGVuZ3RoOwot
ICAgIGNvbnN0IENIQVIgICAgICBHdWlkTnVsbFtdID0gIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAw
LTAwMDAwMDAwMDAwMCI7Ci0KLSAgICBpZiAoX0lucXVpcnkgPT0gTlVMTCkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgUnRsQ29weU1lbW9yeShJbnF1aXJ5LT5WZGlVdWlkLCBHdWlkTnVsbCwgR1VJ
RF9MRU5HVEgpOwotICAgIElucXVpcnktPlZkaVV1aWRbR1VJRF9MRU5HVEhdID0gMDsKLQotICAg
IFN0YXR1cyA9IEZyb250ZW5kU3RvcmVSZWFkQmFja2VuZChGcm9udGVuZCwgInNtLWRhdGEvdmRp
LXV1aWQiLCAmVmFsdWUpOwotICAgIGlmIChOVF9TVUNDRVNTKFN0YXR1cykpIHsKLSAgICAgICAg
TGVuZ3RoID0gKFVMT05HKXN0cmxlbihWYWx1ZSk7Ci0KLSAgICAgICAgaWYgKExlbmd0aCA9PSBH
VUlEX0xFTkdUSCkgewotICAgICAgICAgICAgUnRsQ29weU1lbW9yeShJbnF1aXJ5LT5WZGlVdWlk
LCBWYWx1ZSwgTGVuZ3RoKTsKLSAgICAgICAgICAgIElucXVpcnktPlZkaVV1aWRbR1VJRF9MRU5H
VEhdID0gMDsKLSAgICAgICAgfQotCi0gICAgICAgIEZyb250ZW5kU3RvcmVGcmVlKEZyb250ZW5k
LCBWYWx1ZSk7Ci0gICAgfQotCi0gICAgVmVyYm9zZSgiVGFyZ2V0WyV1XSA6IFZESS1VVUlEID0g
eyVzfVxuIiwgRnJvbnRlbmRHZXRUYXJnZXRJZChGcm9udGVuZCksIElucXVpcnktPlZkaVV1aWQp
OwotfQotCi1WT0lECi1QZG9JbnF1aXJ5KAotICAgIF9faW4gVUxPTkcgICAgICAgICAgICAgICAg
ICAgVGFyZ2V0SWQsCi0gICAgX19pbiBQVk9JRCAgICAgICAgICAgICAgICAgICBJbnF1aXJ5LAot
ICAgIF9faW4gUFNDU0lfUkVRVUVTVF9CTE9DSyAgICAgU3JiCi0gICAgKQotewotICAgIEJPT0xF
QU4gICAgICAgICBTdWNjZXNzOwotICAgIGNvbnN0IFVDSEFSICAgICBFdnBkID0gQ2RiX0VWUEQo
U3JiKTsKLSAgICBjb25zdCBVQ0hBUiAgICAgUGFnZUNvZGUgPSBDZGJfUGFnZUNvZGUoU3JiKTsK
LQotICAgIFRyYWNlKCJUYXJnZXRbJWRdIDogSU5RVUlSWSAlMDJ4JXNcbiIsIFRhcmdldElkLCBQ
YWdlQ29kZSwgRXZwZCA/ICIgRVZQRCIgOiAiIik7Ci0gICAgaWYgKEV2cGQpIHsKLSAgICAgICAg
c3dpdGNoIChQYWdlQ29kZSkgewotICAgICAgICBjYXNlIDB4MDA6ICBTdWNjZXNzID0gX19IYW5k
bGVQYWdlMDAoU3JiKTsgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
MHg4MDogIFN1Y2Nlc3MgPSBfX0hhbmRsZVBhZ2U4MChUYXJnZXRJZCwgKFBYRU5WQkRfSU5RVUlS
WSlJbnF1aXJ5LCBTcmIpOyAgIGJyZWFrOwotICAgICAgICBjYXNlIDB4ODM6ICBTdWNjZXNzID0g
X19IYW5kbGVQYWdlODMoVGFyZ2V0SWQsIChQWEVOVkJEX0lOUVVJUlkpSW5xdWlyeSwgU3JiKTsg
ICBicmVhazsKLSAgICAgICAgZGVmYXVsdDogICAgU3VjY2VzcyA9IEZBTFNFOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfSBlbHNlIHsK
LSAgICAgICAgc3dpdGNoIChQYWdlQ29kZSkgewotICAgICAgICBjYXNlIDB4MDA6ICBTdWNjZXNz
ID0gX19IYW5kbGVQYWdlU3RkKFNyYik7ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGRlZmF1bHQ6ICAgIFN1Y2Nlc3MgPSBGQUxTRTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChTdWNjZXNzKSB7
Ci0gICAgICAgIFNyYi0+U2NzaVN0YXR1cyA9IDA7IC8qIFNVQ0NFU1MgKi8KLSAgICAgICAgU3Ji
LT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX1NVQ0NFU1M7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAg
RXJyb3IoIlRhcmdldFslZF0gOiBJTlFVSVJZIGZhaWxlZCAlMDJ4JXNcbiIsIFRhcmdldElkLCBQ
YWdlQ29kZSwgRXZwZCA/ICIgRVZQRCIgOiAiIik7Ci0gICAgICAgIFNyYi0+U2NzaVN0YXR1cyA9
IDB4MDI7IC8qIENIRUNLX0NPTkRJVElPTiAqLwotICAgICAgICBTcmItPlNyYlN0YXR1cyA9IFNS
Ql9TVEFUVVNfRVJST1I7Ci0gICAgfQotfQpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC9wZG9pbnF1
aXJ5LmggYi9zcmMveGVudmJkL3Bkb2lucXVpcnkuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYThjYjE1NS4uMDAwMDAwMAotLS0gYS9zcmMveGVudmJkL3Bkb2lucXVpcnkuaAorKysg
L2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLS8qIENvcHlyaWdodCAoYykgQ2l0cml4IFN5c3Rl
bXMgSW5jLgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3JtcywgCi0gKiB3aXRoIG9yIHdpdGhvdXQg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIAotICogdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKLSAqIAotICogKiAgIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgCi0gKiAgICAgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSAKLSAqICAgICBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqICogICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIAotICogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgCi0gKiAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIAotICogICAgIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKiAKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCAKLSAqIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIAotICogSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgCi0gKiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSAKLSAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIAotICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIAot
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgCi0gKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgCi0gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIAotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIAotICogV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIAotICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSAKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgCi0gKiBTVUNIIERBTUFHRS4KLSAqLyAK
LQotI2lmbmRlZiBfWEVOVkJEX1BET19JTlFVSVJZX0gKLSNkZWZpbmUgX1hFTlZCRF9QRE9fSU5R
VUlSWV9ICi0KLSNpbmNsdWRlIDxudGRkay5oPgotI2luY2x1ZGUgPHhlbnZiZC1zdG9ycG9ydC5o
PgotI2luY2x1ZGUgImZyb250ZW5kLmgiCi0KLWV4dGVybiBWT0lECi1QZG9SZWFkSW5xdWlyeURh
dGEoCi0gICAgX19pbiAgUFhFTlZCRF9GUk9OVEVORCAgICAgICAgRnJvbnRlbmQsCi0gICAgX19v
dXQgX19kcnZfYWxsb2NhdGVzTWVtKG1lbSkgUFZPSUQqIF9JbnF1aXJ5Ci0gICAgKTsKLQotZXh0
ZXJuIFZPSUQKLVBkb0ZyZWVJbnF1aXJ5RGF0YSgKLSAgICBfX2luIF9fZHJ2X2ZyZWVzTWVtKG1l
bSkgUFZPSUQgSW5xdWlyeQotICAgICk7Ci0KLWV4dGVybiBWT0lECi1QZG9VcGRhdGVJbnF1aXJ5
RGF0YSgKLSAgICBfX2luICBQWEVOVkJEX0ZST05URU5EICAgICAgIEZyb250ZW5kLAotICAgIF9f
aW4gIFBWT0lEICAgICAgICAgICAgICAgICAgX0lucXVpcnkKLSAgICApOwotCi1leHRlcm4gVk9J
RAotUGRvSW5xdWlyeSgKLSAgICBfX2luIFVMT05HICAgICAgICAgICAgICAgICAgIFRhcmdldElk
LAotICAgIF9faW4gUFZPSUQgICAgICAgICAgICAgICAgICAgSW5xdWlyeSwKLSAgICBfX2luIFBT
Q1NJX1JFUVVFU1RfQkxPQ0sgICAgIFNyYgotICAgICk7Ci0KLSNlbmRpZiAvLyBfWEVOVkJEX1BE
T19JTlFVSVJZX0gKLQpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC9xdWV1ZS5jIGIvc3JjL3hlbnZi
ZC9xdWV1ZS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYzcwNDU5Li4wMDAwMDAw
Ci0tLSBhL3NyYy94ZW52YmQvcXVldWUuYworKysgL2Rldi9udWxsCkBAIC0xLDEzOSArMCwwIEBA
Ci0vKiBDb3B5cmlnaHQgKGMpIENpdHJpeCBTeXN0ZW1zIEluYy4KLSAqIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKiAKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIAotICogd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCAKLSAqIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6Ci0g
KiAKLSAqICogICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIAotICogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgCi0gKiAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAqICAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSAKLSAqICAgICBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIAotICogICAg
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciAK
LSAqICAgICBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Ci0gKiBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCAKLSAqIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIAotICogTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIEhPTERFUiBPUiAKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCAKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIAotICogQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIAotICogU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyAKLSAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCAKLSAqIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyAKLSAq
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIAotICogU1VDSCBEQU1BR0UuCi0gKi8gCi0KLSNpbmNsdWRlICJxdWV1ZS5oIgotI2lu
Y2x1ZGUgImRlYnVnLmgiCi0jaW5jbHVkZSAiYXNzZXJ0LmgiCi0KLVZPSUQKLVF1ZXVlSW5pdCgK
LSAgICBfX2luIFBYRU5WQkRfUVVFVUUgICAgICBRdWV1ZQotICAgICkKLXsKLSAgICBSdGxaZXJv
TWVtb3J5KFF1ZXVlLCBzaXplb2YoWEVOVkJEX1FVRVVFKSk7Ci0gICAgS2VJbml0aWFsaXplU3Bp
bkxvY2soJlF1ZXVlLT5Mb2NrKTsKLSAgICBJbml0aWFsaXplTGlzdEhlYWQoJlF1ZXVlLT5MaXN0
KTsKLX0KLQotVUxPTkcKLVF1ZXVlQ291bnQoCi0gICAgX19pbiBQWEVOVkJEX1FVRVVFICAgICAg
UXVldWUKLSAgICApCi17Ci0gICAgcmV0dXJuIFF1ZXVlLT5DdXJyZW50OwotfQotCi1fX2NoZWNr
UmV0dXJuCi1QTElTVF9FTlRSWQotUXVldWVQb3AoCi0gICAgX19pbiBQWEVOVkJEX1FVRVVFICAg
ICAgUXVldWUKLSAgICApCi17Ci0gICAgS0lSUUwgICAgICAgSXJxbDsKLSAgICBQTElTVF9FTlRS
WSBFbnRyeSA9IE5VTEw7Ci0KLSAgICBLZUFjcXVpcmVTcGluTG9jaygmUXVldWUtPkxvY2ssICZJ
cnFsKTsKLQotICAgIGlmICghSXNMaXN0RW1wdHkoJlF1ZXVlLT5MaXN0KSkgewotICAgICAgICBF
bnRyeSA9IFJlbW92ZUhlYWRMaXN0KCZRdWV1ZS0+TGlzdCk7Ci0gICAgICAgIEFTU0VSVDNQKEVu
dHJ5LCAhPSwgJlF1ZXVlLT5MaXN0KTsKLSAgICAgICAgLS1RdWV1ZS0+Q3VycmVudDsKLSAgICB9
Ci0KLSAgICBLZVJlbGVhc2VTcGluTG9jaygmUXVldWUtPkxvY2ssIElycWwpOwotCi0gICAgcmV0
dXJuIEVudHJ5OwotfQotCi1WT0lECi1RdWV1ZVVuUG9wKAotICAgIF9faW4gUFhFTlZCRF9RVUVV
RSAgICAgIFF1ZXVlLAotICAgIF9faW4gUExJU1RfRU5UUlkgICAgICAgIEVudHJ5Ci0gICAgKQot
ewotICAgIEtJUlFMICAgICAgICAgICAgICAgSXJxbDsKLQotICAgIEtlQWNxdWlyZVNwaW5Mb2Nr
KCZRdWV1ZS0+TG9jaywgJklycWwpOwotICAgIAotICAgIEluc2VydEhlYWRMaXN0KCZRdWV1ZS0+
TGlzdCwgRW50cnkpOwotICAgIGlmICgrK1F1ZXVlLT5DdXJyZW50ID4gUXVldWUtPk1heGltdW0p
Ci0gICAgICAgIFF1ZXVlLT5NYXhpbXVtID0gUXVldWUtPkN1cnJlbnQ7Ci0gICAgCi0gICAgS2VS
ZWxlYXNlU3BpbkxvY2soJlF1ZXVlLT5Mb2NrLCBJcnFsKTsKLX0KLQotVk9JRAotUXVldWVBcHBl
bmQoCi0gICAgX19pbiBQWEVOVkJEX1FVRVVFICAgICAgUXVldWUsCi0gICAgX19pbiBQTElTVF9F
TlRSWSAgICAgICAgRW50cnkKLSAgICApCi17Ci0gICAgS0lSUUwgICAgICAgICAgICAgICBJcnFs
OwotCi0gICAgS2VBY3F1aXJlU3BpbkxvY2soJlF1ZXVlLT5Mb2NrLCAmSXJxbCk7Ci0gICAgCi0g
ICAgSW5zZXJ0VGFpbExpc3QoJlF1ZXVlLT5MaXN0LCBFbnRyeSk7Ci0gICAgaWYgKCsrUXVldWUt
PkN1cnJlbnQgPiBRdWV1ZS0+TWF4aW11bSkKLSAgICAgICAgUXVldWUtPk1heGltdW0gPSBRdWV1
ZS0+Q3VycmVudDsKLSAgICAKLSAgICBLZVJlbGVhc2VTcGluTG9jaygmUXVldWUtPkxvY2ssIEly
cWwpOwotfQotCi1WT0lECi1RdWV1ZVJlbW92ZSgKLSAgICBfX2luIFBYRU5WQkRfUVVFVUUgICAg
ICBRdWV1ZSwKLSAgICBfX2luIFBMSVNUX0VOVFJZICAgICAgICBFbnRyeQotICAgICkKLXsKLSAg
ICBLSVJRTCAgICAgICAgICAgICAgIElycWw7Ci0KLSAgICBLZUFjcXVpcmVTcGluTG9jaygmUXVl
dWUtPkxvY2ssICZJcnFsKTsKLQotICAgIFJlbW92ZUVudHJ5TGlzdChFbnRyeSk7Ci0gICAgLS1R
dWV1ZS0+Q3VycmVudDsKLSAgICAKLSAgICBLZVJlbGVhc2VTcGluTG9jaygmUXVldWUtPkxvY2ss
IElycWwpOwotfQotCi1WT0lECi1RdWV1ZURlYnVnQ2FsbGJhY2soCi0gICAgX19pbiBQWEVOVkJE
X1FVRVVFICAgICAgICAgICAgICAgICAgUXVldWUsCi0gICAgX19pbiBfX251bGx0ZXJtaW5hdGVk
IGNvbnN0IENIQVIqICAgTmFtZSwKLSAgICBfX2luIFBYRU5CVVNfREVCVUdfSU5URVJGQUNFICAg
ICAgICBEZWJ1ZwotICAgICkKLXsKLSAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCBEZWJ1ZywKLSAg
ICAgICAgICAgICAgICAgIlFVRVVFOiAlcyA6ICV1IC8gJXVcbiIsCi0gICAgICAgICAgICAgICAg
IE5hbWUsIFF1ZXVlLT5DdXJyZW50LCBRdWV1ZS0+TWF4aW11bSk7Ci0KLSAgICBRdWV1ZS0+TWF4
aW11bSA9IFF1ZXVlLT5DdXJyZW50OwotfQotCmRpZmYgLS1naXQgYS9zcmMveGVudmJkL3F1ZXVl
LmggYi9zcmMveGVudmJkL3F1ZXVlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA0
MzQxOTguLjAwMDAwMDAKLS0tIGEvc3JjL3hlbnZiZC9xdWV1ZS5oCisrKyAvZGV2L251bGwKQEAg
LTEsODYgKzAsMCBAQAotLyogQ29weXJpZ2h0IChjKSBDaXRyaXggU3lzdGVtcyBJbmMuCi0gKiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICogCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCAKLSAqIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgCi0gKiB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OgotICogCi0gKiAqICAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSAKLSAqICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIAotICogICAgIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
KiAgIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgCi0gKiAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSAKLSAqICAgICBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgCi0gKiAgICAgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqIAotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIAotICogQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgCi0gKiBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiAKLSAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIAotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgCi0gKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgCi0gKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCAKLSAqIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiAKLSAqIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgCi0gKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgCi0gKiBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgCi0gKiBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIAotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiAKLSAqIFNVQ0ggREFNQUdFLgotICovIAotCi0jaWZuZGVmIF9Y
RU5WQkRfUVVFVUVfSAotI2RlZmluZSBfWEVOVkJEX1FVRVVFX0gKLQotI2luY2x1ZGUgPG50ZGRr
Lmg+Ci0jaW5jbHVkZSA8ZGVidWdfaW50ZXJmYWNlLmg+Ci0KLXR5cGVkZWYgc3RydWN0IF9YRU5W
QkRfUVVFVUUgewotICAgIEtTUElOX0xPQ0sgICAgICAgICAgTG9jazsKLSAgICBMSVNUX0VOVFJZ
ICAgICAgICAgIExpc3Q7Ci0gICAgVUxPTkcgICAgICAgICAgICAgICBDdXJyZW50OwotICAgIFVM
T05HICAgICAgICAgICAgICAgTWF4aW11bTsKLX0gWEVOVkJEX1FVRVVFLCAqUFhFTlZCRF9RVUVV
RTsKLQotZXh0ZXJuIFZPSUQKLVF1ZXVlSW5pdCgKLSAgICBfX2luIFBYRU5WQkRfUVVFVUUgICAg
ICBRdWV1ZQotICAgICk7Ci0KLWV4dGVybiBVTE9ORwotUXVldWVDb3VudCgKLSAgICBfX2luIFBY
RU5WQkRfUVVFVUUgICAgICBRdWV1ZQotICAgICk7Ci0KLV9fY2hlY2tSZXR1cm4KLWV4dGVybiBQ
TElTVF9FTlRSWQotUXVldWVQb3AoCi0gICAgX19pbiBQWEVOVkJEX1FVRVVFICAgICAgUXVldWUK
LSAgICApOwotCi1leHRlcm4gVk9JRAotUXVldWVVblBvcCgKLSAgICBfX2luIFBYRU5WQkRfUVVF
VUUgICAgICBRdWV1ZSwKLSAgICBfX2luIFBMSVNUX0VOVFJZICAgICAgICBFbnRyeQotICAgICk7
Ci0KLWV4dGVybiBWT0lECi1RdWV1ZUFwcGVuZCgKLSAgICBfX2luIFBYRU5WQkRfUVVFVUUgICAg
ICBRdWV1ZSwKLSAgICBfX2luIFBMSVNUX0VOVFJZICAgICAgICBFbnRyeQotICAgICk7Ci0KLWV4
dGVybiBWT0lECi1RdWV1ZVJlbW92ZSgKLSAgICBfX2luIFBYRU5WQkRfUVVFVUUgICAgICBRdWV1
ZSwKLSAgICBfX2luIFBMSVNUX0VOVFJZICAgICAgICBFbnRyeQotICAgICk7Ci0KLWV4dGVybiBW
T0lECi1RdWV1ZURlYnVnQ2FsbGJhY2soCi0gICAgX19pbiBQWEVOVkJEX1FVRVVFICAgICAgICAg
ICAgICAgICAgUXVldWUsCi0gICAgX19pbiBfX251bGx0ZXJtaW5hdGVkIGNvbnN0IENIQVIqICAg
TmFtZSwKLSAgICBfX2luIFBYRU5CVVNfREVCVUdfSU5URVJGQUNFICAgICAgICBEZWJ1ZwotICAg
ICk7Ci0KLSNlbmRpZiAvLyBfWEVOVkJEX1FVRVVFX0gKZGlmZiAtLWdpdCBhL3NyYy94ZW52YmQv
c3JiZXh0LmggYi9zcmMveGVudmJkL3NyYmV4dC5oCmluZGV4IDUxYjVlNzcuLjJlNzlkZTggMTAw
NjQ0Ci0tLSBhL3NyYy94ZW52YmQvc3JiZXh0LmgKKysrIGIvc3JjL3hlbnZiZC9zcmJleHQuaApA
QCAtMzcsNiArMzcsMjcgQEAKICNpbmNsdWRlIDx4ZW4uaD4KICNpbmNsdWRlICJhc3NlcnQuaCIK
IAordHlwZWRlZiBzdHJ1Y3QgX1hFTlZCRF9TUkJFWFQgeworICAgIFBTQ1NJX1JFUVVFU1RfQkxP
Q0sgICAgIFNyYjsKKyAgICBMSVNUX0VOVFJZICAgICAgICAgICAgICBMaXN0RW50cnk7CisgICAg
TE9ORyAgICAgICAgICAgICAgICAgICAgUmVxdWVzdENvdW50OworfSBYRU5WQkRfU1JCRVhULCAq
UFhFTlZCRF9TUkJFWFQ7CisKK3R5cGVkZWYgc3RydWN0IF9YRU5WQkRfUkVRVUVTVCB7CisgICAg
UFhFTlZCRF9TUkJFWFQgICAgICAgICAgU3JiRXh0OworICAgIExJU1RfRU5UUlkgICAgICAgICAg
ICAgIExpc3RFbnRyeTsKKyAgICBVTE9ORzY0ICAgICAgICAgICAgICAgICBJZDsgLy8gPSAoVUxP
Tkc2NCkoVUxPTkdfUFRSKXRoaXMKKworICAgIFVDSEFSICAgICAgICAgICAgICAgICAgIE9wZXJh
dGlvbjsgIC8vIEJMS0lGX09QX3tSRUFEL1dSSVRFL0JBUlJJRVIvRElTQ0FSRH0KKyAgICBVQ0hB
UiAgICAgICAgICAgICAgICAgICBGbGFnczsgICAgICAvLyBCTEtJRl9PUF9ESVNDQVJEIG9ubHkK
KyAgICBVU0hPUlQgICAgICAgICAgICAgICAgICBOclNlZ21lbnRzOyAvLyBCTEtJRl9PUF97UkVB
RC9XUklURX0gb25seSwgMC0xMSAoZGlyZWN0KSBvciAxMS00MDk2IChpbmRpcmVjdCkKKyAgICBM
SVNUX0VOVFJZICAgICAgICAgICAgICBTZWdtZW50czsgICAvLyBCTEtJRl9PUF97UkVBRC9XUklU
RX0gb25seQorCisgICAgVUxPTkc2NCAgICAgICAgICAgICAgICAgRmlyc3RTZWN0b3I7CisgICAg
VUxPTkc2NCAgICAgICAgICAgICAgICAgTnJTZWN0b3JzOyAgLy8gQkxLSUZfT1BfRElTQ0FSRCBv
bmx5CisgICAgTElTVF9FTlRSWSAgICAgICAgICAgICAgSW5kaXJlY3RzOyAgLy8gQkxLSUZfT1Bf
e1JFQUQvV1JJVEV9IHdpdGggTnJTZWdtZW50cyA+IDExIG9ubHkKK30gWEVOVkJEX1JFUVVFU1Qs
ICpQWEVOVkJEX1JFUVVFU1Q7CisKICNwcmFnbWEgcGFjayhwdXNoLCAxKQogdHlwZWRlZiBzdHJ1
Y3QgX0JMS0lGX1NFR01FTlQgewogICAgIFVMT05HICAgICAgICAgICAgICAgICAgIEdyYW50UmVm
OwpAQCAtNDYsMTkgKzY3LDE4IEBAIHR5cGVkZWYgc3RydWN0IF9CTEtJRl9TRUdNRU5UIHsKIH0g
QkxLSUZfU0VHTUVOVCwgKlBCTEtJRl9TRUdNRU5UOwogI3ByYWdtYSBwYWNrKHBvcCkKIAotI2Rl
ZmluZSBYRU5WQkRfTUFYX1NFR01FTlRTX1BFUl9QQUdFICAgIChQQUdFX1NJWkUgLyBzaXplb2Yo
QkxLSUZfU0VHTUVOVCkpCisjZGVmaW5lIFhFTlZCRF9NQVhfU0VHTUVOVFNfUEVSX1BBR0UgICAg
ICAgIChQQUdFX1NJWkUgLyBzaXplb2YoQkxLSUZfU0VHTUVOVCkpCisjZGVmaW5lIFhFTlZCRF9N
QVhfU0VHTUVOVFNfUEVSX0lORElSRUNUICAgIChYRU5WQkRfTUFYX1NFR01FTlRTX1BFUl9QQUdF
ICogMikgLy8gbGltaXRlZCBJbmRpcmVjdGluZwogCi0vLyBJbnRlcm5hbCBpbmRpcmVjdCBjb250
ZXh0CiB0eXBlZGVmIHN0cnVjdCBfWEVOVkJEX0lORElSRUNUIHsKLSAgICBMSVNUX0VOVFJZICAg
ICAgICAgICAgICBFbnRyeTsKKyAgICBMSVNUX0VOVFJZICAgICAgICAgICAgICBMaXN0RW50cnk7
CiAgICAgUEJMS0lGX1NFR01FTlQgICAgICAgICAgUGFnZTsKICAgICBQVk9JRCAgICAgICAgICAg
ICAgICAgICBHcmFudDsKICAgICBQTURMICAgICAgICAgICAgICAgICAgICBNZGw7CiB9IFhFTlZC
RF9JTkRJUkVDVCwgKlBYRU5WQkRfSU5ESVJFQ1Q7CiAKLS8vIEludGVybmFsIHNlZ21lbnQgY29u
dGV4dAogdHlwZWRlZiBzdHJ1Y3QgX1hFTlZCRF9TRUdNRU5UIHsKLSAgICBMSVNUX0VOVFJZICAg
ICAgICAgICAgICBFbnRyeTsKKyAgICBMSVNUX0VOVFJZICAgICAgICAgICAgICBMaXN0RW50cnk7
CiAgICAgUFZPSUQgICAgICAgICAgICAgICAgICAgR3JhbnQ7CiAgICAgVUNIQVIgICAgICAgICAg
ICAgICAgICAgRmlyc3RTZWN0b3I7CiAgICAgVUNIQVIgICAgICAgICAgICAgICAgICAgTGFzdFNl
Y3RvcjsKQEAgLTY5LDI3ICs4OSw0IEBAIHR5cGVkZWYgc3RydWN0IF9YRU5WQkRfU0VHTUVOVCB7
CiAgICAgUEZOX05VTUJFUiAgICAgICAgICAgICAgUGZuWzJdOwogfSBYRU5WQkRfU0VHTUVOVCwg
KlBYRU5WQkRfU0VHTUVOVDsKIAotLy8gSW50ZXJuYWwgcmVxdWVzdCBjb250ZXh0Ci10eXBlZGVm
IHN0cnVjdCBfWEVOVkJEX1JFUVVFU1QgewotICAgIFBTQ1NJX1JFUVVFU1RfQkxPQ0sgICAgIFNy
YjsKLSAgICBMSVNUX0VOVFJZICAgICAgICAgICAgICBFbnRyeTsKLSAgICBVTE9ORyAgICAgICAg
ICAgICAgICAgICBJZDsKLQotICAgIFVDSEFSICAgICAgICAgICAgICAgICAgIE9wZXJhdGlvbjsg
IC8vIEJMS0lGX09QX3tSRUFEL1dSSVRFL0JBUlJJRVIvRElTQ0FSRH0KLSAgICBVQ0hBUiAgICAg
ICAgICAgICAgICAgICBGbGFnczsgICAgICAvLyBCTEtJRl9PUF9ESVNDQVJEIG9ubHkKLSAgICBV
U0hPUlQgICAgICAgICAgICAgICAgICBOclNlZ21lbnRzOyAvLyBCTEtJRl9PUF97UkVBRC9XUklU
RX0gb25seSwgMC0xMSAoZGlyZWN0KSBvciAxMS00MDk2IChpbmRpcmVjdCkKLSAgICBMSVNUX0VO
VFJZICAgICAgICAgICAgICBTZWdtZW50czsgICAvLyBCTEtJRl9PUF97UkVBRC9XUklURX0gb25s
eQotCi0gICAgVUxPTkc2NCAgICAgICAgICAgICAgICAgRmlyc3RTZWN0b3I7Ci0gICAgVUxPTkc2
NCAgICAgICAgICAgICAgICAgTnJTZWN0b3JzOyAgLy8gQkxLSUZfT1BfRElTQ0FSRCBvbmx5Ci0g
ICAgTElTVF9FTlRSWSAgICAgICAgICAgICAgSW5kaXJlY3RzOyAgLy8gQkxLSUZfT1Bfe1JFQUQv
V1JJVEV9IHdpdGggTnJTZWdtZW50cyA+IDExIG9ubHkKLX0gWEVOVkJEX1JFUVVFU1QsICpQWEVO
VkJEX1JFUVVFU1Q7Ci0KLS8vIFNSQkV4dGVuc2lvbiAtIGNvbnRleHQgZm9yIFNSQnMKLXR5cGVk
ZWYgc3RydWN0IF9YRU5WQkRfU1JCRVhUIHsKLSAgICBQU0NTSV9SRVFVRVNUX0JMT0NLICAgICBT
cmI7Ci0gICAgTElTVF9FTlRSWSAgICAgICAgICAgICAgTGlzdEVudHJ5OwotICAgIExPTkcgICAg
ICAgICAgICAgICAgICAgIFJlcXVlc3RDb3VudDsKLX0gWEVOVkJEX1NSQkVYVCwgKlBYRU5WQkRf
U1JCRVhUOwotCiAjZW5kaWYgLy8gX1hFTlZCRF9TUkJFWFRfSApkaWZmIC0tZ2l0IGEvc3JjL3hl
bnZiZC90YXJnZXQuYyBiL3NyYy94ZW52YmQvdGFyZ2V0LmMKaW5kZXggYzkzOTczOC4uNWIxNGE3
MyAxMDA2NDQKLS0tIGEvc3JjL3hlbnZiZC90YXJnZXQuYworKysgYi9zcmMveGVudmJkL3Rhcmdl
dC5jCkBAIC0zNywyNSArMzcsOTEgQEAKICNpbmNsdWRlIDx4ZW5jZGIuaD4KICNpbmNsdWRlIDxu
YW1lcy5oPgogI2luY2x1ZGUgPHN0b3JlX2ludGVyZmFjZS5oPgotI2luY2x1ZGUgPGV2dGNobl9p
bnRlcmZhY2UuaD4KLSNpbmNsdWRlIDxnbnR0YWJfaW50ZXJmYWNlLmg+CiAjaW5jbHVkZSA8ZGVi
dWdfaW50ZXJmYWNlLmg+CiAjaW5jbHVkZSA8c3VzcGVuZF9pbnRlcmZhY2UuaD4KIAogI2luY2x1
ZGUgInRhcmdldC5oIgogI2luY2x1ZGUgImRyaXZlci5oIgogI2luY2x1ZGUgImFkYXB0ZXIuaCIK
LSNpbmNsdWRlICJmcm9udGVuZC5oIgotI2luY2x1ZGUgInF1ZXVlLmgiCisjaW5jbHVkZSAidGhy
ZWFkLmgiCiAjaW5jbHVkZSAic3JiZXh0LmgiCiAjaW5jbHVkZSAiYnVmZmVyLmgiCi0jaW5jbHVk
ZSAicGRvaW5xdWlyeS5oIgorI2luY2x1ZGUgImdyYW50ZXIuaCIKKyNpbmNsdWRlICJibG9ja3Jp
bmcuaCIKIAogI2luY2x1ZGUgInV0aWwuaCIKICNpbmNsdWRlICJkZWJ1Zy5oIgogI2luY2x1ZGUg
ImFzc2VydC5oIgogCi0jZGVmaW5lIFhFTlZCRF9NQVhfUVVFVUVfREVQVEggICAgICAgICAgKDI1
NCkKKyNkZWZpbmUgVEFSR0VUX1BPT0xfVEFHICAgICAgICAgJ3JhVFgnCisjZGVmaW5lIFJFUVVF
U1RfUE9PTF9UQUcgICAgICAgICdxZVJYJworI2RlZmluZSBTRUdNRU5UX1BPT0xfVEFHICAgICAg
ICAnZ2VTWCcKKyNkZWZpbmUgSU5ESVJFQ1RfUE9PTF9UQUcgICAgICAgJ2RuSVgnCisjZGVmaW5l
IFhFTlZCRF9NQVhfUVVFVUVfREVQVEggICgyNTQpCisKK3R5cGVkZWYgZW51bSBfWEVOVkJEX1NU
QVRFIHsKKyAgICBYRU5WQkRfU1RBVEVfSU5WQUxJRCwKKyAgICBYRU5WQkRfSU5JVElBTElaRUQs
IC8vIC0+IHsgQ0xPU0VEIH0KKyAgICBYRU5WQkRfQ0xPU0lORywgICAgIC8vIC0+IHsgQ0xPU0VE
IH0KKyAgICBYRU5WQkRfQ0xPU0VELCAgICAgIC8vIC0+IHsgUFJFUEFSRUQgfQorICAgIFhFTlZC
RF9QUkVQQVJFRCwgICAgLy8gLT4geyBDTE9TSU5HLCBDT05ORUNURUQgfQorICAgIFhFTlZCRF9D
T05ORUNURUQsICAgLy8gLT4geyBFTkFCTEVELCBDTE9TSU5HIH0KKyAgICBYRU5WQkRfRU5BQkxF
RCAgICAgIC8vIC0+IHsgQ0xPU0lORyB9Cit9IFhFTlZCRF9TVEFURTsKKworc3RydWN0IF9YRU5W
QkRfVEFSR0VUIHsKKyAgICBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgQWRhcHRlcjsKKyAg
ICBQREVWSUNFX09CSkVDVCAgICAgICAgICAgICAgRGV2aWNlT2JqZWN0OworICAgIERFVklDRV9Q
TlBfU1RBVEUgICAgICAgICAgICBQcmV2UG5wU3RhdGU7CisgICAgREVWSUNFX1BOUF9TVEFURSAg
ICAgICAgICAgIERldmljZVBucFN0YXRlOworICAgIERFVklDRV9QT1dFUl9TVEFURSAgICAgICAg
ICBEZXZpY2VQb3dlclN0YXRlOworICAgIFhFTlZCRF9TVEFURSAgICAgICAgICAgICAgICBTdGF0
ZTsKKyAgICBLU1BJTl9MT0NLICAgICAgICAgICAgICAgICAgU3RhdGVMb2NrOworICAgIEtTUElO
X0xPQ0sgICAgICAgICAgICAgICAgICBRdWV1ZUxvY2s7CisgICAgQk9PTEVBTiAgICAgICAgICAg
ICAgICAgICAgIE1pc3Npbmc7CisgICAgUFhFTlZCRF9HUkFOVEVSICAgICAgICAgICAgIEdyYW50
ZXI7CisgICAgUFhFTlZCRF9CTE9DS1JJTkcgICAgICAgICAgIEJsb2NrUmluZzsKKworICAgIFVM
T05HICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2VJZDsKKyAgICBVTE9ORyAgICAgICAgICAg
ICAgICAgICAgICAgVGFyZ2V0SWQ7CisgICAgUENIQVIgICAgICAgICAgICAgICAgICAgICAgIFBh
dGg7CisgICAgUENIQVIgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldFBhdGg7CisgICAgUENI
QVIgICAgICAgICAgICAgICAgICAgICAgIEJhY2tlbmRQYXRoOworICAgIFVTSE9SVCAgICAgICAg
ICAgICAgICAgICAgICBCYWNrZW5kSWQ7CisKKyAgICBCT09MRUFOICAgICAgICAgICAgICAgICAg
ICAgRGV2aWNlVXNhZ2VbNF07CisgICAgVUxPTkc2NCAgICAgICAgICAgICAgICAgICAgIFNlY3Rv
ckNvdW50OworICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBTZWN0b3JTaXplOworICAg
IFVMT05HICAgICAgICAgICAgICAgICAgICAgICBQaHlzaWNhbFNlY3RvclNpemU7CisgICAgVUxP
TkcgICAgICAgICAgICAgICAgICAgICAgIERpc2tJbmZvOworICAgIEJPT0xFQU4gICAgICAgICAg
ICAgICAgICAgICBSZW1vdmFibGU7CisgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgIEZl
YXR1cmVCYXJyaWVyOworICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICBGZWF0dXJlRmx1
c2g7CisgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgIEZlYXR1cmVEaXNjYXJkOworICAg
IEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICBEaXNjYXJkU2VjdXJlOworICAgIFVMT05HICAg
ICAgICAgICAgICAgICAgICAgICBEaXNjYXJkQWxpZ25tZW50OworICAgIFVMT05HICAgICAgICAg
ICAgICAgICAgICAgICBEaXNjYXJkR3JhbnVsYXJpdHk7CisgICAgVUxPTkcgICAgICAgICAgICAg
ICAgICAgICAgIEZlYXR1cmVJbmRpcmVjdDsKKworICAgIFhFTkJVU19ERUJVR19JTlRFUkZBQ0Ug
ICAgICBEZWJ1Z0ludGVyZmFjZTsKKyAgICBYRU5CVVNfU1VTUEVORF9JTlRFUkZBQ0UgICAgU3Vz
cGVuZEludGVyZmFjZTsKKyAgICBYRU5CVVNfU1RPUkVfSU5URVJGQUNFICAgICAgU3RvcmVJbnRl
cmZhY2U7CisKKyAgICBQWEVOQlVTX0RFQlVHX0NBTExCQUNLICAgICAgRGVidWdDYWxsYmFjazsK
KyAgICBQWEVOQlVTX1NVU1BFTkRfQ0FMTEJBQ0sgICAgU3VzcGVuZENhbGxiYWNrOworCisgICAg
UFhFTlZCRF9USFJFQUQgICAgICAgICAgICAgIEJhY2tlbmRUaHJlYWQ7CisgICAgUFhFTkJVU19T
VE9SRV9XQVRDSCAgICAgICAgIEJhY2tlbmRXYXRjaDsKKworICAgIExJU1RfRU5UUlkgICAgICAg
ICAgICAgICAgICBGcmVzaDsKKyAgICBMSVNUX0VOVFJZICAgICAgICAgICAgICAgICAgUHJlcGFy
ZWQ7CisgICAgTElTVF9FTlRSWSAgICAgICAgICAgICAgICAgIFN1Ym1pdHRlZDsKKyAgICBMSVNU
X0VOVFJZICAgICAgICAgICAgICAgICAgU2h1dGRvd247CisKKyAgICBOUEFHRURfTE9PS0FTSURF
X0xJU1QgICAgICAgUmVxdWVzdExpc3Q7CisgICAgTlBBR0VEX0xPT0tBU0lERV9MSVNUICAgICAg
IFNlZ21lbnRMaXN0OworICAgIE5QQUdFRF9MT09LQVNJREVfTElTVCAgICAgICBJbmRpcmVjdExp
c3Q7Cit9OwogCiB0eXBlZGVmIHN0cnVjdCBfWEVOVkJEX1NHX0xJU1QgewogICAgIC8vIFNHTGlz
dCBmcm9tIFNSQgpAQCAtNjksMTgyICsxMzUsMTI5IEBAIHR5cGVkZWYgc3RydWN0IF9YRU5WQkRf
U0dfTElTVCB7CiAgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIExlbmd0aDsKIH0gWEVO
VkJEX1NHX0xJU1QsICpQWEVOVkJEX1NHX0xJU1Q7CiAKLSNkZWZpbmUgVEFSR0VUX1NJR05BVFVS
RSAgICAgICAgICAgJ29kcFgnCitzdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAorU0dMaXN0SW5pdCgK
KyAgICBJTiBPVVQgIFBYRU5WQkRfU0dfTElTVCAgICAgU0dMaXN0LAorICAgIElOICBQVk9JRCAg
ICAgICAgICAgICAgICAgICBBZGFwdGVyLAorICAgIElOICBQU0NTSV9SRVFVRVNUX0JMT0NLICAg
ICBTcmIKKyAgICApCit7CisgICAgUnRsWmVyb01lbW9yeShTR0xpc3QsIHNpemVvZihYRU5WQkRf
U0dfTElTVCkpOworICAgIFNHTGlzdC0+U0dMaXN0ID0gU3RvclBvcnRHZXRTY2F0dGVyR2F0aGVy
TGlzdChBZGFwdGVyLCBTcmIpOworfQogCi10eXBlZGVmIHN0cnVjdCBfWEVOVkJEX0xPT0tBU0lE
RSB7Ci0gICAgS0VWRU5UICAgICAgICAgICAgICAgICAgICAgIEVtcHR5OwotICAgIExPTkcgICAg
ICAgICAgICAgICAgICAgICAgICBVc2VkOwotICAgIExPTkcgICAgICAgICAgICAgICAgICAgICAg
ICBNYXg7Ci0gICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIEZhaWxlZDsKLSAgICBVTE9O
RyAgICAgICAgICAgICAgICAgICAgICAgU2l6ZTsKLSAgICBOUEFHRURfTE9PS0FTSURFX0xJU1Qg
ICAgICAgTGlzdDsKLX0gWEVOVkJEX0xPT0tBU0lERSwgKlBYRU5WQkRfTE9PS0FTSURFOworc3Rh
dGljIEZPUkNFSU5MSU5FIFZPSUQKK1NHTGlzdEdldCgKKyAgICBJTiBPVVQgIFBYRU5WQkRfU0df
TElTVCAgICAgICAgIFNHTGlzdAorICAgICkKK3sKKyAgICBQU1RPUl9TQ0FUVEVSX0dBVEhFUl9F
TEVNRU5UICAgIFNHRWxlbWVudDsKKyAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgICAg
IE9mZnNldDsKIAotc3RydWN0IF9YRU5WQkRfVEFSR0VUIHsKLSAgICBVTE9ORyAgICAgICAgICAg
ICAgICAgICAgICAgU2lnbmF0dXJlOwotICAgIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICAg
ICAgQWRhcHRlcjsKLSAgICBQREVWSUNFX09CSkVDVCAgICAgICAgICAgICAgRGV2aWNlT2JqZWN0
OwotICAgIERFVklDRV9QTlBfU1RBVEUgICAgICAgICAgICBEZXZpY2VQbnBTdGF0ZTsKLSAgICBE
RVZJQ0VfUE5QX1NUQVRFICAgICAgICAgICAgUHJldlBucFN0YXRlOwotICAgIERFVklDRV9QT1dF
Ul9TVEFURSAgICAgICAgICBEZXZpY2VQb3dlclN0YXRlOwotICAgIEtTUElOX0xPQ0sgICAgICAg
ICAgICAgICAgICBMb2NrOworICAgIEFTU0VSVDNVKFNHTGlzdC0+SW5kZXgsIDwsIFNHTGlzdC0+
U0dMaXN0LT5OdW1iZXJPZkVsZW1lbnRzKTsKIAotICAgIC8vIEZyb250ZW5kIChSaW5nLCBpbmNs
dWRlcyBYZW5CdXMgaW50ZXJmYWNlcykKLSAgICBQWEVOVkJEX0ZST05URU5EICAgICAgICAgICAg
RnJvbnRlbmQ7CisgICAgU0dFbGVtZW50ID0gJlNHTGlzdC0+U0dMaXN0LT5MaXN0W1NHTGlzdC0+
SW5kZXhdOwogCi0gICAgLy8gU3RhdGUKLSAgICBMT05HICAgICAgICAgICAgICAgICAgICAgICAg
UGF1c2VkOworICAgIFNHTGlzdC0+UGh5c0FkZHIuUXVhZFBhcnQgPSBTR0VsZW1lbnQtPlBoeXNp
Y2FsQWRkcmVzcy5RdWFkUGFydCArIFNHTGlzdC0+T2Zmc2V0OworICAgIE9mZnNldCA9IChVTE9O
RykoU0dMaXN0LT5QaHlzQWRkci5RdWFkUGFydCAmIChQQUdFX1NJWkUgLSAxKSk7CisgICAgU0dM
aXN0LT5QaHlzTGVuICAgICAgICAgICA9IF9fbWluKFBBR0VfU0laRSAtIE9mZnNldCAtIFNHTGlz
dC0+TGVuZ3RoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTR0VsZW1l
bnQtPkxlbmd0aCAtIFNHTGlzdC0+T2Zmc2V0KTsKIAotICAgIC8vIEVqZWN0Ci0gICAgQk9PTEVB
TiAgICAgICAgICAgICAgICAgICAgIFdyaXR0ZW5FamVjdGVkOwotICAgIEJPT0xFQU4gICAgICAg
ICAgICAgICAgICAgICBFamVjdFJlcXVlc3RlZDsKLSAgICBCT09MRUFOICAgICAgICAgICAgICAg
ICAgICAgRWplY3RQZW5kaW5nOwotICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICBNaXNz
aW5nOwotICAgIGNvbnN0IENIQVIqICAgICAgICAgICAgICAgICBSZWFzb247Ci0KLSAgICAvLyBT
UkJzCi0gICAgWEVOVkJEX0xPT0tBU0lERSAgICAgICAgICAgIFJlcXVlc3RMaXN0OwotICAgIFhF
TlZCRF9MT09LQVNJREUgICAgICAgICAgICBTZWdtZW50TGlzdDsKLSAgICBYRU5WQkRfTE9PS0FT
SURFICAgICAgICAgICAgSW5kaXJlY3RMaXN0OwotICAgIFhFTlZCRF9RVUVVRSAgICAgICAgICAg
ICAgICBGcmVzaFNyYnM7Ci0gICAgWEVOVkJEX1FVRVVFICAgICAgICAgICAgICAgIFByZXBhcmVk
UmVxczsKLSAgICBYRU5WQkRfUVVFVUUgICAgICAgICAgICAgICAgU3VibWl0dGVkUmVxczsKLSAg
ICBYRU5WQkRfUVVFVUUgICAgICAgICAgICAgICAgU2h1dGRvd25TcmJzOwotICAgIFVMT05HICAg
ICAgICAgICAgICAgICAgICAgICBOZXh0VGFnOwotCi0gICAgLy8gU3RhdHMgLSBTUkIgQ291bnRz
IGJ5IEJMS0lGX09QXwotICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBCbGtPcFJlYWQ7
Ci0gICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIEJsa09wV3JpdGU7Ci0gICAgVUxPTkcg
ICAgICAgICAgICAgICAgICAgICAgIEJsa09wSW5kaXJlY3RSZWFkOwotICAgIFVMT05HICAgICAg
ICAgICAgICAgICAgICAgICBCbGtPcEluZGlyZWN0V3JpdGU7Ci0gICAgVUxPTkcgICAgICAgICAg
ICAgICAgICAgICAgIEJsa09wQmFycmllcjsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAg
ICAgQmxrT3BEaXNjYXJkOwotICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBCbGtPcEZs
dXNoOwotICAgIC8vIFN0YXRzIC0gRmFpbHVyZXMKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAg
ICAgICAgRmFpbGVkTWFwczsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgRmFpbGVk
Qm91bmNlczsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgRmFpbGVkR3JhbnRzOwot
ICAgIC8vIFN0YXRzIC0gU2VnbWVudHMKLSAgICBVTE9ORzY0ICAgICAgICAgICAgICAgICAgICAg
U2Vnc0dyYW50ZWQ7Ci0gICAgVUxPTkc2NCAgICAgICAgICAgICAgICAgICAgIFNlZ3NCb3VuY2Vk
OwotfTsKKyAgICBBU1NFUlQzVShTR0xpc3QtPlBoeXNMZW4sIDw9LCBQQUdFX1NJWkUpOworICAg
IEFTU0VSVDNVKFNHTGlzdC0+T2Zmc2V0LCA8LCBTR0VsZW1lbnQtPkxlbmd0aCk7CiAKLS8vPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLSNkZWZpbmUgVEFSR0VUX1BPT0xfVEFHICAgICAgICAgICAgJ29k
UFgnCi0jZGVmaW5lIFJFUVVFU1RfUE9PTF9UQUcgICAgICAgICdxZVJYJwotI2RlZmluZSBTRUdN
RU5UX1BPT0xfVEFHICAgICAgICAnZ2VTWCcKLSNkZWZpbmUgSU5ESVJFQ1RfUE9PTF9UQUcgICAg
ICAgJ2RuSVgnCisgICAgU0dMaXN0LT5MZW5ndGggPSBTR0xpc3QtPlBoeXNMZW47IC8vIGdldHMg
cmVzZXQgZXZlcnkgdGltZSBmb3IgR3JhbnRlZCwgZXZlcnkgMW9yMiB0aW1lcyBmb3IgQm91bmNl
ZAorICAgIFNHTGlzdC0+T2Zmc2V0ID0gU0dMaXN0LT5PZmZzZXQgKyBTR0xpc3QtPlBoeXNMZW47
CisgICAgaWYgKFNHTGlzdC0+T2Zmc2V0ID49IFNHRWxlbWVudC0+TGVuZ3RoKSB7CisgICAgICAg
IFNHTGlzdC0+SW5kZXggID0gU0dMaXN0LT5JbmRleCArIDE7CisgICAgICAgIFNHTGlzdC0+T2Zm
c2V0ID0gMDsKKyAgICB9Cit9CiAKLV9fY2hlY2tSZXR1cm4KLV9fZHJ2X2FsbG9jYXRlc01lbSht
ZW0pCi1fX2Jjb3VudChTaXplKQotc3RhdGljIEZPUkNFSU5MSU5FIFBWT0lECi0jcHJhZ21hIHdh
cm5pbmcoc3VwcHJlc3M6IDI4MTk1KQotX19UYXJnZXRBbGxvYygKLSAgICBfX2luIFVMT05HICBT
aXplCitzdGF0aWMgRk9SQ0VJTkxJTkUgQk9PTEVBTgorU0dMaXN0TmV4dCgKKyAgICBJTiBPVVQg
IFBYRU5WQkRfU0dfTElTVCAgICAgICAgIFNHTGlzdCwKKyAgICBJTiAgVUxPTkcgICAgICAgICAg
ICAgICAgICAgICAgIEFsaWdubWVudE1hc2sKICAgICApCiB7Ci0gICAgcmV0dXJuIF9fQWxsb2Nh
dGVQb29sV2l0aFRhZyhOb25QYWdlZFBvb2wsIFNpemUsIFRBUkdFVF9QT09MX1RBRyk7CisgICAg
U0dMaXN0LT5MZW5ndGggPSAwOworICAgIFNHTGlzdEdldChTR0xpc3QpOyAgLy8gZ2V0IG5leHQg
UGh5c0FkZHIgYW5kIFBoeXNMZW4KKyAgICByZXR1cm4gISgoU0dMaXN0LT5QaHlzQWRkci5RdWFk
UGFydCAmIEFsaWdubWVudE1hc2spIHx8IChTR0xpc3QtPlBoeXNMZW4gJiBBbGlnbm1lbnRNYXNr
KSk7CiB9CiAKLXN0YXRpYyBGT1JDRUlOTElORSBWT0lECi0jcHJhZ21hIHdhcm5pbmcoc3VwcHJl
c3M6IDI4MTk3KQotX19UYXJnZXRGcmVlKAotICAgIF9faW4gX19kcnZfZnJlZXNNZW0obWVtKSBQ
Vk9JRCBCdWZmZXIKK3N0YXRpYyBGT1JDRUlOTElORSBQRk5fTlVNQkVSCitTR0xpc3RQZm4oCisg
ICAgSU4gIFBYRU5WQkRfU0dfTElTVCBTR0xpc3QKICAgICApCiB7Ci0gICAgaWYgKEJ1ZmZlcikK
LSAgICAgICAgX19GcmVlUG9vbFdpdGhUYWcoQnVmZmVyLCBUQVJHRVRfUE9PTF9UQUcpOworICAg
IHJldHVybiAoUEZOX05VTUJFUikoU0dMaXN0LT5QaHlzQWRkci5RdWFkUGFydCA+PiBQQUdFX1NI
SUZUKTsKIH0KIAotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLy8gTG9va2FzaWRlcwotc3RhdGlj
IEZPUkNFSU5MSU5FIFZPSUQKLV9fTG9va2FzaWRlSW5pdCgKLSAgICBJTiBPVVQgIFBYRU5WQkRf
TE9PS0FTSURFICAgTG9va2FzaWRlLAotICAgIElOICBVTE9ORyAgICAgICAgICAgICAgICAgICBT
aXplLAotICAgIElOICBVTE9ORyAgICAgICAgICAgICAgICAgICBUYWcKK3N0YXRpYyBGT1JDRUlO
TElORSBVTE9ORworU0dMaXN0T2Zmc2V0KAorICAgIElOICBQWEVOVkJEX1NHX0xJU1QgU0dMaXN0
CiAgICAgKQogewotICAgIFJ0bFplcm9NZW1vcnkoTG9va2FzaWRlLCBzaXplb2YoWEVOVkJEX0xP
T0tBU0lERSkpOwotICAgIExvb2thc2lkZS0+U2l6ZSA9IFNpemU7Ci0gICAgS2VJbml0aWFsaXpl
RXZlbnQoJkxvb2thc2lkZS0+RW1wdHksIFN5bmNocm9uaXphdGlvbkV2ZW50LCBUUlVFKTsKLSAg
ICBFeEluaXRpYWxpemVOUGFnZWRMb29rYXNpZGVMaXN0KCZMb29rYXNpZGUtPkxpc3QsIE5VTEws
IE5VTEwsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaXplLCBUYWcs
IDApOworICAgIHJldHVybiAoVUxPTkcpKFNHTGlzdC0+UGh5c0FkZHIuUXVhZFBhcnQgJiAoUEFH
RV9TSVpFIC0gMSkpOwogfQogCi1zdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAotX19Mb29rYXNpZGVU
ZXJtKAotICAgIElOICBQWEVOVkJEX0xPT0tBU0lERSAgICAgICBMb29rYXNpZGUKK3N0YXRpYyBG
T1JDRUlOTElORSBVTE9ORworU0dMaXN0TGVuZ3RoKAorICAgIElOICBQWEVOVkJEX1NHX0xJU1Qg
U0dMaXN0CiAgICAgKQogewotICAgIEFTU0VSVDNVKExvb2thc2lkZS0+VXNlZCwgPT0sIDApOwot
ICAgIEV4RGVsZXRlTlBhZ2VkTG9va2FzaWRlTGlzdCgmTG9va2FzaWRlLT5MaXN0KTsKLSAgICBS
dGxaZXJvTWVtb3J5KExvb2thc2lkZSwgc2l6ZW9mKFhFTlZCRF9MT09LQVNJREUpKTsKKyAgICBy
ZXR1cm4gU0dMaXN0LT5QaHlzTGVuOwogfQogCiBzdGF0aWMgRk9SQ0VJTkxJTkUgUFZPSUQKLV9f
TG9va2FzaWRlQWxsb2MoCi0gICAgSU4gIFBYRU5WQkRfTE9PS0FTSURFICAgICAgIExvb2thc2lk
ZQorX19UYXJnZXRBbGxvY2F0ZSgKKyAgICBJTiAgVUxPTkcgICBTaXplCiAgICAgKQogewotICAg
IExPTkcgICAgUmVzdWx0OwotICAgIFBWT0lEICAgQnVmZmVyOwotCi0gICAgQnVmZmVyID0gRXhB
bGxvY2F0ZUZyb21OUGFnZWRMb29rYXNpZGVMaXN0KCZMb29rYXNpZGUtPkxpc3QpOwotICAgIGlm
IChCdWZmZXIgPT0gTlVMTCkgewotICAgICAgICArK0xvb2thc2lkZS0+RmFpbGVkOwotICAgICAg
ICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KLSAgICBSdGxaZXJvTWVtb3J5KEJ1ZmZlciwgTG9va2Fz
aWRlLT5TaXplKTsKLSAgICBSZXN1bHQgPSBJbnRlcmxvY2tlZEluY3JlbWVudCgmTG9va2FzaWRl
LT5Vc2VkKTsKLSAgICBBU1NFUlQzUyhSZXN1bHQsID4sIDApOwotICAgIGlmIChSZXN1bHQgPiBM
b29rYXNpZGUtPk1heCkKLSAgICAgICAgTG9va2FzaWRlLT5NYXggPSBSZXN1bHQ7Ci0gICAgS2VD
bGVhckV2ZW50KCZMb29rYXNpZGUtPkVtcHR5KTsKLQorICAgIFBWT0lEICAgICAgIEJ1ZmZlcjsK
KyAgICBCdWZmZXIgPSBFeEFsbG9jYXRlUG9vbFdpdGhUYWcoTm9uUGFnZWRQb29sLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaXplLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBUQVJHRVRfUE9PTF9UQUcpOworICAgIGlmIChCdWZmZXIpCisgICAgICAg
IFJ0bFplcm9NZW1vcnkoQnVmZmVyLCBTaXplKTsKICAgICByZXR1cm4gQnVmZmVyOwogfQogCiBz
dGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAotX19Mb29rYXNpZGVGcmVlKAotICAgIElOICBQWEVOVkJE
X0xPT0tBU0lERSAgICAgICBMb29rYXNpZGUsCi0gICAgSU4gIFBWT0lEICAgICAgICAgICAgICAg
ICAgIEJ1ZmZlcgorX19UYXJnZXRGcmVlKAorICAgIElOICBQVk9JRCAgIEJ1ZmZlcgogICAgICkK
IHsKLSAgICBMT05HICAgICAgICAgICAgUmVzdWx0OworICAgIGlmIChCdWZmZXIpCisgICAgICAg
IEV4RnJlZVBvb2xXaXRoVGFnKEJ1ZmZlciwgVEFSR0VUX1BPT0xfVEFHKTsKK30KIAotICAgIEV4
RnJlZVRvTlBhZ2VkTG9va2FzaWRlTGlzdCgmTG9va2FzaWRlLT5MaXN0LCBCdWZmZXIpOwotICAg
IFJlc3VsdCA9IEludGVybG9ja2VkRGVjcmVtZW50KCZMb29rYXNpZGUtPlVzZWQpOwotICAgIEFT
U0VSVDNTKFJlc3VsdCwgPj0sIDApOwotICAgICAgICAKLSAgICBpZiAoUmVzdWx0ID09IDApIHsK
LSAgICAgICAgS2VTZXRFdmVudCgmTG9va2FzaWRlLT5FbXB0eSwgSU9fTk9fSU5DUkVNRU5ULCBG
QUxTRSk7Ci0gICAgfQorI2RlZmluZSBUQVJHRVRfR0VUX1BST1BFUlRZKF9uYW1lLCBfdHlwZSkg
ICAgICAgXAorX3R5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorVGFyZ2V0R2V0ICMjIF9uYW1lICMjICggICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0ICAgICAgICAgICAgICAgICAgXAorICAgICkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAoreyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHJldHVybiBUYXJnZXQtPiAj
IyBfbmFtZSAjIyA7ICAgICAgICAgICAgICAgXAogfQogCi1zdGF0aWMgRk9SQ0VJTkxJTkUgVk9J
RAotX19Mb29rYXNpZGVEZWJ1ZygKLSAgICBJTiAgUFhFTlZCRF9MT09LQVNJREUgICAgICAgICAg
IExvb2thc2lkZSwKLSAgICBJTiAgUFhFTkJVU19ERUJVR19JTlRFUkZBQ0UgICAgIERlYnVnLAot
ICAgIElOICBQQ0hBUiAgICAgICAgICAgICAgICAgICAgICAgTmFtZQotICAgICkKLXsKLSAgICBY
RU5CVVNfREVCVUcoUHJpbnRmLCBEZWJ1ZywKLSAgICAgICAgICAgICAgICAgIkxPT0tBU0lERTog
JXM6ICV1IC8gJXUgKCV1IGZhaWxlZClcbiIsCi0gICAgICAgICAgICAgICAgIE5hbWUsIExvb2th
c2lkZS0+VXNlZCwKLSAgICAgICAgICAgICAgICAgTG9va2FzaWRlLT5NYXgsIExvb2thc2lkZS0+
RmFpbGVkKTsKK1RBUkdFVF9HRVRfUFJPUEVSVFkoRGV2aWNlSWQsIFVMT05HKQorVEFSR0VUX0dF
VF9QUk9QRVJUWShUYXJnZXRJZCwgVUxPTkcpCitUQVJHRVRfR0VUX1BST1BFUlRZKERldmljZU9i
amVjdCwgUERFVklDRV9PQkpFQ1QpCitUQVJHRVRfR0VUX1BST1BFUlRZKE1pc3NpbmcsIEJPT0xF
QU4pCitUQVJHRVRfR0VUX1BST1BFUlRZKERldmljZVBucFN0YXRlLCBERVZJQ0VfUE5QX1NUQVRF
KQorVEFSR0VUX0dFVF9QUk9QRVJUWShBZGFwdGVyLCBQWEVOVkJEX0FEQVBURVIpCitUQVJHRVRf
R0VUX1BST1BFUlRZKEdyYW50ZXIsIFBYRU5WQkRfR1JBTlRFUikKK1RBUkdFVF9HRVRfUFJPUEVS
VFkoUGF0aCwgUENIQVIpCitUQVJHRVRfR0VUX1BST1BFUlRZKEJhY2tlbmRQYXRoLCBQQ0hBUikK
K1RBUkdFVF9HRVRfUFJPUEVSVFkoQmFja2VuZElkLCBVU0hPUlQpCitUQVJHRVRfR0VUX1BST1BF
UlRZKFJlbW92YWJsZSwgQk9PTEVBTikKIAotICAgIExvb2thc2lkZS0+TWF4ID0gTG9va2FzaWRl
LT5Vc2VkOwotICAgIExvb2thc2lkZS0+RmFpbGVkID0gMDsKLX0KKyN1bmRlZiBUQVJHRVRfR0VU
X1BST1BFUlRZCiAKLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS8vIERlYnVnCiBzdGF0aWMgRk9S
Q0VJTkxJTkUgUENIQVIKLV9fUG5wU3RhdGVOYW1lKAotICAgIF9faW4gREVWSUNFX1BOUF9TVEFU
RSAgICAgICAgU3RhdGUKK0RldmljZVBucFN0YXRlTmFtZSgKKyAgICBJTiAgREVWSUNFX1BOUF9T
VEFURSAgICBTdGF0ZQogICAgICkKIHsKICAgICBzd2l0Y2ggKFN0YXRlKSB7CkBAIC0yNTgsMjk0
ICsyNzEsODEgQEAgX19QbnBTdGF0ZU5hbWUoCiAgICAgY2FzZSBSZW1vdmVQZW5kaW5nOiAgICAg
ICAgIHJldHVybiAiUmVtb3ZlUGVuZGluZyI7CiAgICAgY2FzZSBTdXJwcmlzZVJlbW92ZVBlbmRp
bmc6IHJldHVybiAiU3VycHJpc2VSZW1vdmVQZW5kaW5nIjsKICAgICBjYXNlIERlbGV0ZWQ6ICAg
ICAgICAgICAgICAgcmV0dXJuICJEZWxldGVkIjsKLSAgICBkZWZhdWx0OiAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuICJVTktOT1dOIjsKLSAgICB9Ci19Ci0KLURFQ0xTUEVDX05PSU5MSU5FIFZP
SUQKLVRhcmdldERlYnVnQ2FsbGJhY2soCi0gICAgX19pbiBQWEVOVkJEX1RBUkdFVCBUYXJnZXQs
Ci0gICAgX19pbiBQWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSBEZWJ1Z0ludGVyZmFjZQotICAgICkK
LXsKLSAgICBpZiAoVGFyZ2V0ID09IE5VTEwgfHwgRGVidWdJbnRlcmZhY2UgPT0gTlVMTCkKLSAg
ICAgICAgcmV0dXJuOwotICAgIGlmIChUYXJnZXQtPlNpZ25hdHVyZSAhPSBUQVJHRVRfU0lHTkFU
VVJFKQotICAgICAgICByZXR1cm47Ci0KLSAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCBEZWJ1Z0lu
dGVyZmFjZSwKLSAgICAgICAgICAgICAgICAgIlRBUkdFVDogQWRhcHRlciAweCVwIERldmljZU9i
amVjdCAweCVwXG4iLAotICAgICAgICAgICAgICAgICBUYXJnZXQtPkFkYXB0ZXIsCi0gICAgICAg
ICAgICAgICAgIFRhcmdldC0+RGV2aWNlT2JqZWN0KTsKLSAgICBYRU5CVVNfREVCVUcoUHJpbnRm
LCBEZWJ1Z0ludGVyZmFjZSwKLSAgICAgICAgICAgICAgICAgIlRBUkdFVDogRGV2aWNlUG5wU3Rh
dGUgJXMgKCVzKVxuIiwKLSAgICAgICAgICAgICAgICAgX19QbnBTdGF0ZU5hbWUoVGFyZ2V0LT5E
ZXZpY2VQbnBTdGF0ZSksCi0gICAgICAgICAgICAgICAgIF9fUG5wU3RhdGVOYW1lKFRhcmdldC0+
UHJldlBucFN0YXRlKSk7Ci0gICAgWEVOQlVTX0RFQlVHKFByaW50ZiwgRGVidWdJbnRlcmZhY2Us
Ci0gICAgICAgICAgICAgICAgICJUQVJHRVQ6IERldmljZVBvd2VyU3RhdGUgJXNcbiIsCi0gICAg
ICAgICAgICAgICAgIFBvd2VyRGV2aWNlU3RhdGVOYW1lKFRhcmdldC0+RGV2aWNlUG93ZXJTdGF0
ZSkpOwotICAgIFhFTkJVU19ERUJVRyhQcmludGYsIERlYnVnSW50ZXJmYWNlLAotICAgICAgICAg
ICAgICAgICAiVEFSR0VUOiAlc1xuIiwKLSAgICAgICAgICAgICAgICAgVGFyZ2V0LT5NaXNzaW5n
ID8gVGFyZ2V0LT5SZWFzb24gOiAiTm90IE1pc3NpbmciKTsKLQotICAgIFhFTkJVU19ERUJVRyhQ
cmludGYsIERlYnVnSW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAiVEFSR0VUOiBCTEtJRl9P
UHM6IFJFQUQ9JXUgV1JJVEU9JXVcbiIsCi0gICAgICAgICAgICAgICAgIFRhcmdldC0+QmxrT3BS
ZWFkLCBUYXJnZXQtPkJsa09wV3JpdGUpOwotICAgIFhFTkJVU19ERUJVRyhQcmludGYsIERlYnVn
SW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAiVEFSR0VUOiBCTEtJRl9PUHM6IElORElSRUNU
X1JFQUQ9JXUgSU5ESVJFQ1RfV1JJVEU9JXVcbiIsCi0gICAgICAgICAgICAgICAgIFRhcmdldC0+
QmxrT3BJbmRpcmVjdFJlYWQsIFRhcmdldC0+QmxrT3BJbmRpcmVjdFdyaXRlKTsKLSAgICBYRU5C
VVNfREVCVUcoUHJpbnRmLCBEZWJ1Z0ludGVyZmFjZSwKLSAgICAgICAgICAgICAgICAgIlRBUkdF
VDogQkxLSUZfT1BzOiBCQVJSSUVSPSV1IERJU0NBUkQ9JXUgRkxVU0g9JXVcbiIsCi0gICAgICAg
ICAgICAgICAgIFRhcmdldC0+QmxrT3BCYXJyaWVyLCBUYXJnZXQtPkJsa09wRGlzY2FyZCwgVGFy
Z2V0LT5CbGtPcEZsdXNoKTsKLSAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCBEZWJ1Z0ludGVyZmFj
ZSwKLSAgICAgICAgICAgICAgICAgIlRBUkdFVDogRmFpbGVkOiBNYXBzPSV1IEJvdW5jZXM9JXUg
R3JhbnRzPSV1XG4iLAotICAgICAgICAgICAgICAgICBUYXJnZXQtPkZhaWxlZE1hcHMsIFRhcmdl
dC0+RmFpbGVkQm91bmNlcywgVGFyZ2V0LT5GYWlsZWRHcmFudHMpOwotICAgIFhFTkJVU19ERUJV
RyhQcmludGYsIERlYnVnSW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAiVEFSR0VUOiBTZWdt
ZW50cyBHcmFudGVkPSVsbHUgQm91bmNlZD0lbGx1XG4iLAotICAgICAgICAgICAgICAgICBUYXJn
ZXQtPlNlZ3NHcmFudGVkLCBUYXJnZXQtPlNlZ3NCb3VuY2VkKTsKLQotICAgIF9fTG9va2FzaWRl
RGVidWcoJlRhcmdldC0+UmVxdWVzdExpc3QsIERlYnVnSW50ZXJmYWNlLCAiUkVRVUVTVHMiKTsK
LSAgICBfX0xvb2thc2lkZURlYnVnKCZUYXJnZXQtPlNlZ21lbnRMaXN0LCBEZWJ1Z0ludGVyZmFj
ZSwgIlNFR01FTlRzIik7Ci0gICAgX19Mb29rYXNpZGVEZWJ1ZygmVGFyZ2V0LT5JbmRpcmVjdExp
c3QsIERlYnVnSW50ZXJmYWNlLCAiSU5ESVJFQ1RzIik7Ci0KLSAgICBRdWV1ZURlYnVnQ2FsbGJh
Y2soJlRhcmdldC0+RnJlc2hTcmJzLCAgICAiRnJlc2ggICAgIiwgRGVidWdJbnRlcmZhY2UpOwot
ICAgIFF1ZXVlRGVidWdDYWxsYmFjaygmVGFyZ2V0LT5QcmVwYXJlZFJlcXMsICJQcmVwYXJlZCAi
LCBEZWJ1Z0ludGVyZmFjZSk7Ci0gICAgUXVldWVEZWJ1Z0NhbGxiYWNrKCZUYXJnZXQtPlN1Ym1p
dHRlZFJlcXMsICJTdWJtaXR0ZWQiLCBEZWJ1Z0ludGVyZmFjZSk7Ci0gICAgUXVldWVEZWJ1Z0Nh
bGxiYWNrKCZUYXJnZXQtPlNodXRkb3duU3JicywgIlNodXRkb3duICIsIERlYnVnSW50ZXJmYWNl
KTsKLQotICAgIEZyb250ZW5kRGVidWdDYWxsYmFjayhUYXJnZXQtPkZyb250ZW5kLCBEZWJ1Z0lu
dGVyZmFjZSk7Ci0KLSAgICBUYXJnZXQtPkJsa09wUmVhZCA9IFRhcmdldC0+QmxrT3BXcml0ZSA9
IDA7Ci0gICAgVGFyZ2V0LT5CbGtPcEluZGlyZWN0UmVhZCA9IFRhcmdldC0+QmxrT3BJbmRpcmVj
dFdyaXRlID0gMDsKLSAgICBUYXJnZXQtPkJsa09wQmFycmllciA9IFRhcmdldC0+QmxrT3BEaXNj
YXJkID0gVGFyZ2V0LT5CbGtPcEZsdXNoID0gMDsKLSAgICBUYXJnZXQtPkZhaWxlZE1hcHMgPSBU
YXJnZXQtPkZhaWxlZEJvdW5jZXMgPSBUYXJnZXQtPkZhaWxlZEdyYW50cyA9IDA7Ci0gICAgVGFy
Z2V0LT5TZWdzR3JhbnRlZCA9IFRhcmdldC0+U2Vnc0JvdW5jZWQgPSAwOwotfQotCi0vLz09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0vLyBQb3dlciBTdGF0ZXMKLV9fY2hlY2tSZXR1cm4KLXN0YXRpYyBG
T1JDRUlOTElORSBCT09MRUFOCi1UYXJnZXRTZXREZXZpY2VQb3dlclN0YXRlKAotICAgIF9faW4g
UFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0LAotICAgIF9faW4gREVWSUNFX1BPV0VS
X1NUQVRFICAgICAgU3RhdGUKLSAgICApCi17Ci0gICAgS0lSUUwgICAgICAgSXJxbDsKLSAgICBC
T09MRUFOICAgICBDaGFuZ2VkID0gRkFMU0U7Ci0KLSAgICBLZUFjcXVpcmVTcGluTG9jaygmVGFy
Z2V0LT5Mb2NrLCAmSXJxbCk7Ci0gICAgaWYgKFRhcmdldC0+RGV2aWNlUG93ZXJTdGF0ZSAhPSBT
dGF0ZSkgewotICAgICAgICBWZXJib3NlKCJUYXJnZXRbJWRdIDogUE9XRVIgJXMgdG8gJXNcbiIs
IFRhcmdldEdldFRhcmdldElkKFRhcmdldCksIFBvd2VyRGV2aWNlU3RhdGVOYW1lKFRhcmdldC0+
RGV2aWNlUG93ZXJTdGF0ZSksIFBvd2VyRGV2aWNlU3RhdGVOYW1lKFN0YXRlKSk7Ci0gICAgICAg
IFRhcmdldC0+RGV2aWNlUG93ZXJTdGF0ZSA9IFN0YXRlOwotICAgICAgICBDaGFuZ2VkID0gVFJV
RTsKLSAgICB9Ci0gICAgS2VSZWxlYXNlU3BpbkxvY2soJlRhcmdldC0+TG9jaywgSXJxbCk7Ci0g
ICAgCi0gICAgcmV0dXJuIENoYW5nZWQ7Ci19Ci0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS8v
IFBuUCBTdGF0ZXMKLUZPUkNFSU5MSU5FIFZPSUQKLVRhcmdldFNldE1pc3NpbmcoCi0gICAgX19p
biBQWEVOVkJEX1RBUkdFVCAgICAgICAgICAgICBUYXJnZXQsCi0gICAgX19pbiBfX251bGx0ZXJt
aW5hdGVkIGNvbnN0IENIQVIqIFJlYXNvbgotICAgICkKLXsKLSAgICBLSVJRTCAgIElycWw7Ci0K
LSAgICBBU1NFUlQzUChSZWFzb24sICE9LCBOVUxMKTsKLQotICAgIEtlQWNxdWlyZVNwaW5Mb2Nr
KCZUYXJnZXQtPkxvY2ssICZJcnFsKTsKLSAgICBpZiAoVGFyZ2V0LT5NaXNzaW5nKSB7Ci0gICAg
ICAgIFZlcmJvc2UoIlRhcmdldFslZF0gOiBBbHJlYWR5IE1JU1NJTkcgKCVzKSB3aGVuIHRyeWlu
ZyB0byBzZXQgKCVzKVxuIiwgVGFyZ2V0R2V0VGFyZ2V0SWQoVGFyZ2V0KSwgVGFyZ2V0LT5SZWFz
b24sIFJlYXNvbik7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6
IE1JU1NJTkcgJXNcbiIsIFRhcmdldEdldFRhcmdldElkKFRhcmdldCksIFJlYXNvbik7Ci0gICAg
ICAgIFRhcmdldC0+TWlzc2luZyA9IFRSVUU7Ci0gICAgICAgIFRhcmdldC0+UmVhc29uID0gUmVh
c29uOworICAgIGRlZmF1bHQ6ICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjxVTktOT1dOPiI7
CiAgICAgfQotICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZUYXJnZXQtPkxvY2ssIElycWwpOwotfQot
Ci1fX2NoZWNrUmV0dXJuCi1GT1JDRUlOTElORSBCT09MRUFOCi1UYXJnZXRJc01pc3NpbmcoCi0g
ICAgX19pbiBQWEVOVkJEX1RBUkdFVCAgICAgICAgICAgICBUYXJnZXQKLSAgICApCi17Ci0gICAg
S0lSUUwgICBJcnFsOwotICAgIEJPT0xFQU4gTWlzc2luZzsKLQotICAgIEtlQWNxdWlyZVNwaW5M
b2NrKCZUYXJnZXQtPkxvY2ssICZJcnFsKTsKLSAgICBNaXNzaW5nID0gVGFyZ2V0LT5NaXNzaW5n
OwotICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZUYXJnZXQtPkxvY2ssIElycWwpOwotCi0gICAgcmV0
dXJuIE1pc3Npbmc7CiB9CiAKLUZPUkNFSU5MSU5FIGNvbnN0IENIQVIqCi1UYXJnZXRNaXNzaW5n
UmVhc29uKAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICBUYXJnZXQKK3N0YXRp
YyBGT1JDRUlOTElORSBWT0lECitUYXJnZXRSZXN0b3JlRGV2aWNlUG5wU3RhdGUoCisgICAgSU4g
IFBYRU5WQkRfVEFSR0VUICAgICAgVGFyZ2V0CiAgICAgKQogewotICAgIEtJUlFMICAgICAgIEly
cWw7Ci0gICAgY29uc3QgQ0hBUiogUmVhc29uOwotCi0gICAgS2VBY3F1aXJlU3BpbkxvY2soJlRh
cmdldC0+TG9jaywgJklycWwpOwotICAgIFJlYXNvbiA9IFRhcmdldC0+UmVhc29uOwotICAgIEtl
UmVsZWFzZVNwaW5Mb2NrKCZUYXJnZXQtPkxvY2ssIElycWwpOwotCi0gICAgcmV0dXJuIFJlYXNv
bjsKKyAgICBWZXJib3NlKCJbJXVdICVzIC0tPiAlc1xuIiwKKyAgICAgICAgICAgIFRhcmdldC0+
VGFyZ2V0SWQsCisgICAgICAgICAgICBEZXZpY2VQbnBTdGF0ZU5hbWUoVGFyZ2V0LT5EZXZpY2VQ
bnBTdGF0ZSksCisgICAgICAgICAgICBEZXZpY2VQbnBTdGF0ZU5hbWUoVGFyZ2V0LT5QcmV2UG5w
U3RhdGUpKTsKKyAgICBUYXJnZXQtPkRldmljZVBucFN0YXRlID0gVGFyZ2V0LT5QcmV2UG5wU3Rh
dGU7CiB9CiAKLUZPUkNFSU5MSU5FIFZPSUQKK1ZPSUQKIFRhcmdldFNldERldmljZVBucFN0YXRl
KAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0LAotICAgIF9faW4g
REVWSUNFX1BOUF9TVEFURSAgICAgICAgU3RhdGUKKyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgICAg
ICBUYXJnZXQsCisgICAgSU4gIERFVklDRV9QTlBfU1RBVEUgICAgU3RhdGUKICAgICApCiB7Ci0g
ICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6IFBOUCAlcyB0byAlc1xuIiwKLSAgICAgICAgICAgIFRh
cmdldEdldFRhcmdldElkKFRhcmdldCksCi0gICAgICAgICAgICBfX1BucFN0YXRlTmFtZShUYXJn
ZXQtPkRldmljZVBucFN0YXRlKSwKLSAgICAgICAgICAgIF9fUG5wU3RhdGVOYW1lKFN0YXRlKSk7
Ci0KLSAgICBpZiAoVGFyZ2V0LT5EZXZpY2VQbnBTdGF0ZSA9PSBEZWxldGVkKQotICAgICAgICBy
ZXR1cm47Ci0KKyAgICBWZXJib3NlKCJbJXVdICVzIC0tPiAlc1xuIiwKKyAgICAgICAgICAgIFRh
cmdldC0+VGFyZ2V0SWQsCisgICAgICAgICAgICBEZXZpY2VQbnBTdGF0ZU5hbWUoVGFyZ2V0LT5E
ZXZpY2VQbnBTdGF0ZSksCisgICAgICAgICAgICBEZXZpY2VQbnBTdGF0ZU5hbWUoU3RhdGUpKTsK
ICAgICBUYXJnZXQtPlByZXZQbnBTdGF0ZSA9IFRhcmdldC0+RGV2aWNlUG5wU3RhdGU7CiAgICAg
VGFyZ2V0LT5EZXZpY2VQbnBTdGF0ZSA9IFN0YXRlOwogfQotCi1fX2NoZWNrUmV0dXJuCi1GT1JD
RUlOTElORSBERVZJQ0VfUE5QX1NUQVRFCi1UYXJnZXRHZXREZXZpY2VQbnBTdGF0ZSgKLSAgICBf
X2luIFBYRU5WQkRfVEFSR0VUICAgICAgICAgICAgIFRhcmdldAotICAgICkKLXsKLSAgICByZXR1
cm4gVGFyZ2V0LT5EZXZpY2VQbnBTdGF0ZTsKLX0KLQotc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQK
LV9fVGFyZ2V0UmVzdG9yZURldmljZVBucFN0YXRlKAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQg
ICAgICAgICAgICAgVGFyZ2V0LAotICAgIF9faW4gREVWSUNFX1BOUF9TVEFURSAgICAgICAgU3Rh
dGUKLSAgICApCi17Ci0gICAgaWYgKFRhcmdldC0+RGV2aWNlUG5wU3RhdGUgPT0gU3RhdGUpIHsK
LSAgICAgICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6IFBOUCAlcyB0byAlc1xuIiwgVGFyZ2V0R2V0
VGFyZ2V0SWQoVGFyZ2V0KSwgX19QbnBTdGF0ZU5hbWUoVGFyZ2V0LT5EZXZpY2VQbnBTdGF0ZSks
IF9fUG5wU3RhdGVOYW1lKFRhcmdldC0+UHJldlBucFN0YXRlKSk7Ci0gICAgICAgIFRhcmdldC0+
RGV2aWNlUG5wU3RhdGUgPSBUYXJnZXQtPlByZXZQbnBTdGF0ZTsKLSAgICB9Ci19Ci0KLS8vPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS8vIFF1ZXJ5IE1ldGhvZHMKLUZPUkNFSU5MSU5FIFVMT05HCi1U
YXJnZXRHZXRUYXJnZXRJZCgKLSAgICBfX2luIFBYRU5WQkRfVEFSR0VUICAgICAgICAgICAgIFRh
cmdldAotICAgICkKLXsKLSAgICBBU1NFUlQzUChUYXJnZXQsICE9LCBOVUxMKTsKLSAgICByZXR1
cm4gRnJvbnRlbmRHZXRUYXJnZXRJZChUYXJnZXQtPkZyb250ZW5kKTsKLX0KLQotVUxPTkcKLVRh
cmdldEdldERldmljZUlkKAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFy
Z2V0Ci0gICAgKQotewotICAgIEFTU0VSVDNQKFRhcmdldCwgIT0sIE5VTEwpOwotICAgIHJldHVy
biBGcm9udGVuZEdldERldmljZUlkKFRhcmdldC0+RnJvbnRlbmQpOwotfQotCi1fX2NoZWNrUmV0
dXJuCi1GT1JDRUlOTElORSBQREVWSUNFX09CSkVDVAotVGFyZ2V0R2V0RGV2aWNlT2JqZWN0KAot
ICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0Ci0gICAgKQotewotICAg
IEFTU0VSVDNQKFRhcmdldCwgIT0sIE5VTEwpOwotICAgIHJldHVybiBUYXJnZXQtPkRldmljZU9i
amVjdDsKLX0KLQotRk9SQ0VJTkxJTkUgVk9JRAorVk9JRAogVGFyZ2V0U2V0RGV2aWNlT2JqZWN0
KAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0LAotICAgIF9faW4g
UERFVklDRV9PQkpFQ1QgICAgICAgICAgRGV2aWNlT2JqZWN0CisgICAgSU4gIFBYRU5WQkRfVEFS
R0VUICBUYXJnZXQsCisgICAgSU4gIFBERVZJQ0VfT0JKRUNUICBEZXZpY2VPYmplY3QKICAgICAp
CiB7Ci0gICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6IFNldHRpbmcgRGV2aWNlT2JqZWN0ID0gMHgl
cFxuIiwgVGFyZ2V0R2V0VGFyZ2V0SWQoVGFyZ2V0KSwgRGV2aWNlT2JqZWN0KTsKLQotICAgIEFT
U0VSVDNQKFRhcmdldC0+RGV2aWNlT2JqZWN0LCA9PSwgTlVMTCk7CisgICAgVmVyYm9zZSgiWyV1
XSBEZXZPYmogPSAweCVwXG4iLAorICAgICAgICAgICAgVGFyZ2V0LT5UYXJnZXRJZCwKKyAgICAg
ICAgICAgIERldmljZU9iamVjdCk7CiAgICAgVGFyZ2V0LT5EZXZpY2VPYmplY3QgPSBEZXZpY2VP
YmplY3Q7CiB9CiAKLV9fY2hlY2tSZXR1cm4KLUZPUkNFSU5MSU5FIEJPT0xFQU4KLVRhcmdldElz
UGF1c2VkKAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0Ci0gICAg
KQotewotICAgIEJPT0xFQU4gUGF1c2VkOwotICAgIEtJUlFMICAgSXJxbDsKLQotICAgIEtlQWNx
dWlyZVNwaW5Mb2NrKCZUYXJnZXQtPkxvY2ssICZJcnFsKTsKLSAgICBQYXVzZWQgPSAoVGFyZ2V0
LT5QYXVzZWQgPiAwKTsKLSAgICBLZVJlbGVhc2VTcGluTG9jaygmVGFyZ2V0LT5Mb2NrLCBJcnFs
KTsKLSAgICAKLSAgICByZXR1cm4gUGF1c2VkOwotfQotCi1fX2NoZWNrUmV0dXJuCi1GT1JDRUlO
TElORSBVTE9ORwotVGFyZ2V0T3V0c3RhbmRpbmdSZXFzKAotICAgIF9faW4gUFhFTlZCRF9UQVJH
RVQgICAgICAgICAgICAgVGFyZ2V0Ci0gICAgKQotewotICAgIHJldHVybiBRdWV1ZUNvdW50KCZU
YXJnZXQtPlN1Ym1pdHRlZFJlcXMpOwotfQotCi1fX2NoZWNrUmV0dXJuCi1GT1JDRUlOTElORSBQ
WEVOVkJEX0FEQVBURVIKLVRhcmdldEdldEFkYXB0ZXIoIAotICAgIF9faW4gUFhFTlZCRF9UQVJH
RVQgICAgICAgICAgICAgVGFyZ2V0Ci0gICAgKQotewotICAgIHJldHVybiBUYXJnZXQtPkFkYXB0
ZXI7Ci19Ci0KLUZPUkNFSU5MSU5FIFVMT05HCi1UYXJnZXRTZWN0b3JTaXplKAotICAgIF9faW4g
UFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0CitWT0lECitUYXJnZXRTZXRNaXNzaW5n
KAorICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0LAorICAgIElOICBjb25zdCBDSEFSKiAg
ICAgUmVhc29uCiAgICAgKQogewotICAgIHJldHVybiBGcm9udGVuZEdldERpc2tJbmZvKFRhcmdl
dC0+RnJvbnRlbmQpLT5TZWN0b3JTaXplOworICAgIFZlcmJvc2UoIlsldV0gTWlzc2luZzogJXNc
biIsIFRhcmdldC0+VGFyZ2V0SWQsIFJlYXNvbik7CisgICAgVGFyZ2V0LT5NaXNzaW5nID0gVFJV
RTsKIH0KIAotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogc3RhdGljIFBYRU5WQkRfSU5ESVJFQ1QK
IFRhcmdldEdldEluZGlyZWN0KAotICAgIElOICBQWEVOVkJEX1RBUkdFVCAgICAgICAgICAgICBU
YXJnZXQKKyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldAogICAgICkKIHsKICAgICBQWEVO
VkJEX0lORElSRUNUICAgIEluZGlyZWN0OwogICAgIE5UU1RBVFVTICAgICAgICAgICAgc3RhdHVz
OwotICAgIFBYRU5WQkRfR1JBTlRFUiAgICAgR3JhbnRlciA9IEZyb250ZW5kR2V0R3JhbnRlcihU
YXJnZXQtPkZyb250ZW5kKTsKIAotICAgIEluZGlyZWN0ID0gX19Mb29rYXNpZGVBbGxvYygmVGFy
Z2V0LT5JbmRpcmVjdExpc3QpOworICAgIEluZGlyZWN0ID0gRXhBbGxvY2F0ZUZyb21OUGFnZWRM
b29rYXNpZGVMaXN0KCZUYXJnZXQtPkluZGlyZWN0TGlzdCk7CiAgICAgaWYgKEluZGlyZWN0ID09
IE5VTEwpCiAgICAgICAgIGdvdG8gZmFpbDE7CiAKICAgICBSdGxaZXJvTWVtb3J5KEluZGlyZWN0
LCBzaXplb2YoWEVOVkJEX0lORElSRUNUKSk7CiAKKyAgICBJbml0aWFsaXplTGlzdEhlYWQoJklu
ZGlyZWN0LT5MaXN0RW50cnkpOwogICAgIEluZGlyZWN0LT5NZGwgPSBfX0FsbG9jYXRlUGFnZSgp
OwogICAgIGlmIChJbmRpcmVjdC0+TWRsID09IE5VTEwpCiAgICAgICAgIGdvdG8gZmFpbDI7CiAK
ICAgICBJbmRpcmVjdC0+UGFnZSA9IE1tR2V0U3lzdGVtQWRkcmVzc0Zvck1kbFNhZmUoSW5kaXJl
Y3QtPk1kbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTm9ybWFsUGFnZVByaW9yaXR5KTsKKyAgICBBU1NFUlQoSW5kaXJlY3QtPlBhZ2UgIT0gTlVM
TCk7CiAKLSAgICBzdGF0dXMgPSBHcmFudGVyR2V0KEdyYW50ZXIsCisgICAgc3RhdHVzID0gR3Jh
bnRlckdldChUYXJnZXQtPkdyYW50ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICBNbUdldE1k
bFBmbkFycmF5KEluZGlyZWN0LT5NZGwpWzBdLAogICAgICAgICAgICAgICAgICAgICAgICAgVFJV
RSwKICAgICAgICAgICAgICAgICAgICAgICAgICZJbmRpcmVjdC0+R3JhbnQpOwpAQCAtNTU3LDQw
ICszNTcsNDMgQEAgVGFyZ2V0R2V0SW5kaXJlY3QoCiBmYWlsMzoKICAgICBfX0ZyZWVQYWdlKElu
ZGlyZWN0LT5NZGwpOwogZmFpbDI6Ci0gICAgX19Mb29rYXNpZGVGcmVlKCZUYXJnZXQtPkluZGly
ZWN0TGlzdCwgSW5kaXJlY3QpOworICAgIFJ0bFplcm9NZW1vcnkoSW5kaXJlY3QsIHNpemVvZihY
RU5WQkRfSU5ESVJFQ1QpKTsKKyAgICBFeEZyZWVUb05QYWdlZExvb2thc2lkZUxpc3QoJlRhcmdl
dC0+SW5kaXJlY3RMaXN0LCBJbmRpcmVjdCk7CiBmYWlsMToKICAgICByZXR1cm4gTlVMTDsKIH0K
IAogc3RhdGljIFZPSUQKIFRhcmdldFB1dEluZGlyZWN0KAotICAgIElOICBQWEVOVkJEX1RBUkdF
VCAgICAgICAgICAgICBUYXJnZXQsCi0gICAgSU4gIFBYRU5WQkRfSU5ESVJFQ1QgICAgICAgIElu
ZGlyZWN0CisgICAgSU4gIFBYRU5WQkRfVEFSR0VUICAgICAgVGFyZ2V0LAorICAgIElOICBQWEVO
VkJEX0lORElSRUNUICAgIEluZGlyZWN0CiAgICAgKQogewotICAgIFBYRU5WQkRfR1JBTlRFUiBH
cmFudGVyID0gRnJvbnRlbmRHZXRHcmFudGVyKFRhcmdldC0+RnJvbnRlbmQpOwotCiAgICAgaWYg
KEluZGlyZWN0LT5HcmFudCkKLSAgICAgICAgR3JhbnRlclB1dChHcmFudGVyLCBJbmRpcmVjdC0+
R3JhbnQpOworICAgICAgICBHcmFudGVyUHV0KFRhcmdldC0+R3JhbnRlciwgSW5kaXJlY3QtPkdy
YW50KTsKKwogICAgIGlmIChJbmRpcmVjdC0+UGFnZSkKICAgICAgICAgX19GcmVlUGFnZShJbmRp
cmVjdC0+TWRsKTsKIAogICAgIFJ0bFplcm9NZW1vcnkoSW5kaXJlY3QsIHNpemVvZihYRU5WQkRf
SU5ESVJFQ1QpKTsKLSAgICBfX0xvb2thc2lkZUZyZWUoJlRhcmdldC0+SW5kaXJlY3RMaXN0LCBJ
bmRpcmVjdCk7CisgICAgRXhGcmVlVG9OUGFnZWRMb29rYXNpZGVMaXN0KCZUYXJnZXQtPkluZGly
ZWN0TGlzdCwgSW5kaXJlY3QpOwogfQogCiBzdGF0aWMgUFhFTlZCRF9TRUdNRU5UCiBUYXJnZXRH
ZXRTZWdtZW50KAotICAgIElOICBQWEVOVkJEX1RBUkdFVCAgICAgICAgICAgICBUYXJnZXQKKyAg
ICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldAogICAgICkKIHsKLSAgICBQWEVOVkJEX1NFR01F
TlQgICAgICAgICAgICAgU2VnbWVudDsKKyAgICBQWEVOVkJEX1NFR01FTlQgICAgIFNlZ21lbnQ7
CiAKLSAgICBTZWdtZW50ID0gX19Mb29rYXNpZGVBbGxvYygmVGFyZ2V0LT5TZWdtZW50TGlzdCk7
CisgICAgU2VnbWVudCA9IEV4QWxsb2NhdGVGcm9tTlBhZ2VkTG9va2FzaWRlTGlzdCgmVGFyZ2V0
LT5TZWdtZW50TGlzdCk7CiAgICAgaWYgKFNlZ21lbnQgPT0gTlVMTCkKICAgICAgICAgZ290byBm
YWlsMTsKIAogICAgIFJ0bFplcm9NZW1vcnkoU2VnbWVudCwgc2l6ZW9mKFhFTlZCRF9TRUdNRU5U
KSk7CisKKyAgICBJbml0aWFsaXplTGlzdEhlYWQoJlNlZ21lbnQtPkxpc3RFbnRyeSk7CisKICAg
ICByZXR1cm4gU2VnbWVudDsKIAogZmFpbDE6CkBAIC01OTksMzggKzQwMiwzOCBAQCBmYWlsMToK
IAogc3RhdGljIFZPSUQKIFRhcmdldFB1dFNlZ21lbnQoCi0gICAgSU4gIFBYRU5WQkRfVEFSR0VU
ICAgICAgICAgICAgIFRhcmdldCwKLSAgICBJTiAgUFhFTlZCRF9TRUdNRU5UICAgICAgICAgU2Vn
bWVudAorICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0LAorICAgIElOICBQWEVOVkJEX1NF
R01FTlQgU2VnbWVudAogICAgICkKIHsKLSAgICBQWEVOVkJEX0dSQU5URVIgR3JhbnRlciA9IEZy
b250ZW5kR2V0R3JhbnRlcihUYXJnZXQtPkZyb250ZW5kKTsKLQogICAgIGlmIChTZWdtZW50LT5H
cmFudCkKLSAgICAgICAgR3JhbnRlclB1dChHcmFudGVyLCBTZWdtZW50LT5HcmFudCk7CisgICAg
ICAgIEdyYW50ZXJQdXQoVGFyZ2V0LT5HcmFudGVyLCBTZWdtZW50LT5HcmFudCk7CisgCisgICAg
aWYgKFNlZ21lbnQtPkJ1ZmZlcikKKyAgICAgICAgTW1Vbm1hcExvY2tlZFBhZ2VzKFNlZ21lbnQt
PkJ1ZmZlciwgJlNlZ21lbnQtPk1kbCk7CiAKICAgICBpZiAoU2VnbWVudC0+QnVmZmVySWQpCiAg
ICAgICAgIEJ1ZmZlclB1dChTZWdtZW50LT5CdWZmZXJJZCk7CiAKLSAgICBpZiAoU2VnbWVudC0+
QnVmZmVyKQotICAgICAgICBNbVVubWFwTG9ja2VkUGFnZXMoU2VnbWVudC0+QnVmZmVyLCAmU2Vn
bWVudC0+TWRsKTsKLQogICAgIFJ0bFplcm9NZW1vcnkoU2VnbWVudCwgc2l6ZW9mKFhFTlZCRF9T
RUdNRU5UKSk7Ci0gICAgX19Mb29rYXNpZGVGcmVlKCZUYXJnZXQtPlNlZ21lbnRMaXN0LCBTZWdt
ZW50KTsKKyAgICBFeEZyZWVUb05QYWdlZExvb2thc2lkZUxpc3QoJlRhcmdldC0+U2VnbWVudExp
c3QsIFNlZ21lbnQpOwogfQogCiBzdGF0aWMgUFhFTlZCRF9SRVFVRVNUCiBUYXJnZXRHZXRSZXF1
ZXN0KAotICAgIElOICBQWEVOVkJEX1RBUkdFVCAgICAgICAgICAgICBUYXJnZXQKKyAgICBJTiAg
UFhFTlZCRF9UQVJHRVQgIFRhcmdldAogICAgICkKIHsKLSAgICBQWEVOVkJEX1JFUVVFU1QgICAg
ICAgICAgICAgUmVxdWVzdDsKKyAgICBQWEVOVkJEX1JFUVVFU1QgICAgIFJlcXVlc3Q7CiAKLSAg
ICBSZXF1ZXN0ID0gX19Mb29rYXNpZGVBbGxvYygmVGFyZ2V0LT5SZXF1ZXN0TGlzdCk7CisgICAg
UmVxdWVzdCA9IEV4QWxsb2NhdGVGcm9tTlBhZ2VkTG9va2FzaWRlTGlzdCgmVGFyZ2V0LT5SZXF1
ZXN0TGlzdCk7CiAgICAgaWYgKFJlcXVlc3QgPT0gTlVMTCkKICAgICAgICAgZ290byBmYWlsMTsK
IAogICAgIFJ0bFplcm9NZW1vcnkoUmVxdWVzdCwgc2l6ZW9mKFhFTlZCRF9SRVFVRVNUKSk7Ci0g
ICAgUmVxdWVzdC0+SWQgPSAoVUxPTkcpSW50ZXJsb2NrZWRJbmNyZW1lbnQoKFBMT05HKSZUYXJn
ZXQtPk5leHRUYWcpOworICAgIFJlcXVlc3QtPklkID0gKFVMT05HNjQpKFVMT05HX1BUUilSZXF1
ZXN0OworCisgICAgSW5pdGlhbGl6ZUxpc3RIZWFkKCZSZXF1ZXN0LT5MaXN0RW50cnkpOwogICAg
IEluaXRpYWxpemVMaXN0SGVhZCgmUmVxdWVzdC0+U2VnbWVudHMpOwogICAgIEluaXRpYWxpemVM
aXN0SGVhZCgmUmVxdWVzdC0+SW5kaXJlY3RzKTsKIApAQCAtNjQyLDE2OTQgKzQ0NSwyMzk4IEBA
IGZhaWwxOgogCiBzdGF0aWMgVk9JRAogVGFyZ2V0UHV0UmVxdWVzdCgKLSAgICBJTiAgUFhFTlZC
RF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0LAotICAgIElOICBQWEVOVkJEX1JFUVVFU1QgICAg
ICAgICBSZXF1ZXN0CisgICAgSU4gIFBYRU5WQkRfVEFSR0VUICAgICAgVGFyZ2V0LAorICAgIElO
ICBQWEVOVkJEX1JFUVVFU1QgICAgIFJlcXVlc3QKICAgICApCiB7Ci0gICAgUExJU1RfRU5UUlkg
ICAgIEVudHJ5OwotCiAgICAgZm9yICg7OykgewotICAgICAgICBQWEVOVkJEX1NFR01FTlQgU2Vn
bWVudDsKKyAgICAgICAgUExJU1RfRU5UUlkgICAgICAgICBMaXN0RW50cnk7CisgICAgICAgIFBY
RU5WQkRfSU5ESVJFQ1QgICAgSW5kaXJlY3Q7CiAKLSAgICAgICAgRW50cnkgPSBSZW1vdmVIZWFk
TGlzdCgmUmVxdWVzdC0+U2VnbWVudHMpOwotICAgICAgICBpZiAoRW50cnkgPT0gJlJlcXVlc3Qt
PlNlZ21lbnRzKQorICAgICAgICBMaXN0RW50cnkgPSBSZW1vdmVIZWFkTGlzdCgmUmVxdWVzdC0+
SW5kaXJlY3RzKTsKKyAgICAgICAgaWYgKExpc3RFbnRyeSA9PSAmUmVxdWVzdC0+SW5kaXJlY3Rz
KQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIFNlZ21lbnQgPSBDT05UQUlOSU5HX1JFQ09S
RChFbnRyeSwgWEVOVkJEX1NFR01FTlQsIEVudHJ5KTsKLSAgICAgICAgVGFyZ2V0UHV0U2VnbWVu
dChUYXJnZXQsIFNlZ21lbnQpOwotICAgIH0KIAorICAgICAgICBJbmRpcmVjdCA9IENPTlRBSU5J
TkdfUkVDT1JEKExpc3RFbnRyeSwgWEVOVkJEX0lORElSRUNULCBMaXN0RW50cnkpOworICAgICAg
ICBUYXJnZXRQdXRJbmRpcmVjdChUYXJnZXQsIEluZGlyZWN0KTsKKyAgICB9CiAgICAgZm9yICg7
OykgewotICAgICAgICBQWEVOVkJEX0lORElSRUNUICAgIEluZGlyZWN0OworICAgICAgICBQTElT
VF9FTlRSWSAgICAgICAgIExpc3RFbnRyeTsKKyAgICAgICAgUFhFTlZCRF9TRUdNRU5UICAgICBT
ZWdtZW50OwogCi0gICAgICAgIEVudHJ5ID0gUmVtb3ZlSGVhZExpc3QoJlJlcXVlc3QtPkluZGly
ZWN0cyk7Ci0gICAgICAgIGlmIChFbnRyeSA9PSAmUmVxdWVzdC0+SW5kaXJlY3RzKQorICAgICAg
ICBMaXN0RW50cnkgPSBSZW1vdmVIZWFkTGlzdCgmUmVxdWVzdC0+U2VnbWVudHMpOworICAgICAg
ICBpZiAoTGlzdEVudHJ5ID09ICZSZXF1ZXN0LT5TZWdtZW50cykKICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBJbmRpcmVjdCA9IENPTlRBSU5JTkdfUkVDT1JEKEVudHJ5LCBYRU5WQkRfSU5E
SVJFQ1QsIEVudHJ5KTsKLSAgICAgICAgVGFyZ2V0UHV0SW5kaXJlY3QoVGFyZ2V0LCBJbmRpcmVj
dCk7CisKKyAgICAgICAgU2VnbWVudCA9IENPTlRBSU5JTkdfUkVDT1JEKExpc3RFbnRyeSwgWEVO
VkJEX1NFR01FTlQsIExpc3RFbnRyeSk7CisgICAgICAgIFRhcmdldFB1dFNlZ21lbnQoVGFyZ2V0
LCBTZWdtZW50KTsKICAgICB9CiAKICAgICBSdGxaZXJvTWVtb3J5KFJlcXVlc3QsIHNpemVvZihY
RU5WQkRfUkVRVUVTVCkpOwotICAgIF9fTG9va2FzaWRlRnJlZSgmVGFyZ2V0LT5SZXF1ZXN0TGlz
dCwgUmVxdWVzdCk7CisgICAgRXhGcmVlVG9OUGFnZWRMb29rYXNpZGVMaXN0KCZUYXJnZXQtPlJl
cXVlc3RMaXN0LCBSZXF1ZXN0KTsKIH0KIAotc3RhdGljIEZPUkNFSU5MSU5FIFBYRU5WQkRfUkVR
VUVTVAotVGFyZ2V0UmVxdWVzdEZyb21UYWcoCi0gICAgSU4gIFBYRU5WQkRfVEFSR0VUICAgICAg
ICAgICAgIFRhcmdldCwKLSAgICBJTiAgVUxPTkcgICAgICAgICAgICAgICAgICAgVGFnCitzdGF0
aWMgRk9SQ0VJTkxJTkUgQk9PTEVBTgorQnVmZmVyTWFwKAorICAgIElOICBQWEVOVkJEX1NFR01F
TlQgU2VnbWVudCwKKyAgICBJTiAgUFhFTlZCRF9TR19MSVNUIFNHTGlzdCwKKyAgICBJTiAgVUxP
TkcgICAgICAgICAgIExlbmd0aAogICAgICkKIHsKLSAgICBLSVJRTCAgICAgICAgICAgSXJxbDsK
LSAgICBQTElTVF9FTlRSWSAgICAgRW50cnk7Ci0gICAgUFhFTlZCRF9RVUVVRSAgIFF1ZXVlID0g
JlRhcmdldC0+U3VibWl0dGVkUmVxczsKLQotICAgIEtlQWNxdWlyZVNwaW5Mb2NrKCZRdWV1ZS0+
TG9jaywgJklycWwpOwotCi0gICAgZm9yIChFbnRyeSA9IFF1ZXVlLT5MaXN0LkZsaW5rOyBFbnRy
eSAhPSAmUXVldWUtPkxpc3Q7IEVudHJ5ID0gRW50cnktPkZsaW5rKSB7Ci0gICAgICAgIFBYRU5W
QkRfUkVRVUVTVCBSZXF1ZXN0ID0gQ09OVEFJTklOR19SRUNPUkQoRW50cnksIFhFTlZCRF9SRVFV
RVNULCBFbnRyeSk7Ci0gICAgICAgIGlmIChSZXF1ZXN0LT5JZCA9PSBUYWcpIHsKLSAgICAgICAg
ICAgIFJlbW92ZUVudHJ5TGlzdCgmUmVxdWVzdC0+RW50cnkpOwotICAgICAgICAgICAgLS1RdWV1
ZS0+Q3VycmVudDsKLSAgICAgICAgICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZRdWV1ZS0+TG9jaywg
SXJxbCk7Ci0gICAgICAgICAgICByZXR1cm4gUmVxdWVzdDsKLSAgICAgICAgfQorICAgIC8vIG1h
cCBQaHlzQWRkciB0byAxIG9yIDIgcGFnZXMgYW5kIGxvY2sgZm9yIFZpcnRBZGRyCisjcHJhZ21h
IHdhcm5pbmcocHVzaCkKKyNwcmFnbWEgd2FybmluZyhkaXNhYmxlOjI4MTQ1KQorICAgIFNlZ21l
bnQtPk1kbC5OZXh0ICAgICAgICAgICA9IE5VTEw7CisgICAgU2VnbWVudC0+TWRsLlNpemUgICAg
ICAgICAgID0gKFNIT1JUKShzaXplb2YoTURMKSArIHNpemVvZihQRk5fTlVNQkVSKSk7CisgICAg
U2VnbWVudC0+TWRsLk1kbEZsYWdzICAgICAgID0gTURMX1BBR0VTX0xPQ0tFRDsKKyAgICBTZWdt
ZW50LT5NZGwuUHJvY2VzcyAgICAgICAgPSBOVUxMOworICAgIFNlZ21lbnQtPk1kbC5NYXBwZWRT
eXN0ZW1WYSA9IE5VTEw7CisgICAgU2VnbWVudC0+TWRsLlN0YXJ0VmEgICAgICAgID0gTlVMTDsK
KyAgICBTZWdtZW50LT5NZGwuQnl0ZUNvdW50ICAgICAgPSBTR0xpc3RMZW5ndGgoU0dMaXN0KTsK
KyAgICBTZWdtZW50LT5NZGwuQnl0ZU9mZnNldCAgICAgPSBTR0xpc3RPZmZzZXQoU0dMaXN0KTsK
KyAgICBTZWdtZW50LT5QZm5bMF0gICAgICAgICAgICAgPSBTR0xpc3RQZm4oU0dMaXN0KTsKKwor
ICAgIGlmIChTZWdtZW50LT5NZGwuQnl0ZUNvdW50IDwgTGVuZ3RoKSB7CisgICAgICAgIC8vIG5l
ZWQgcGFydCBvZiBuZXh0IHBhZ2UKKyAgICAgICAgU0dMaXN0R2V0KFNHTGlzdCk7CisgICAgICAg
IFNlZ21lbnQtPk1kbC5TaXplICAgICAgICs9IHNpemVvZihQRk5fTlVNQkVSKTsKKyAgICAgICAg
U2VnbWVudC0+TWRsLkJ5dGVDb3VudCAgPSBTZWdtZW50LT5NZGwuQnl0ZUNvdW50ICsgU0dMaXN0
TGVuZ3RoKFNHTGlzdCk7CisgICAgICAgIFNlZ21lbnQtPlBmblsxXSAgICAgICAgID0gU0dMaXN0
UGZuKFNHTGlzdCk7CiAgICAgfQorI3ByYWdtYSB3YXJuaW5nKHBvcCkKIAotICAgIEtlUmVsZWFz
ZVNwaW5Mb2NrKCZRdWV1ZS0+TG9jaywgSXJxbCk7Ci0gICAgV2FybmluZygiVGFyZ2V0WyVkXSA6
IFRhZyAleCBub3QgZm91bmQgaW4gc3VibWl0dGVkIGxpc3QgKCV1IGl0ZW1zKVxuIiwKLSAgICAg
ICAgICAgIFRhcmdldEdldFRhcmdldElkKFRhcmdldCksIFRhZywgUXVldWVDb3VudChRdWV1ZSkp
OwotICAgIHJldHVybiBOVUxMOwotfQorICAgIEFTU0VSVDNVKFNlZ21lbnQtPk1kbC5CeXRlQ291
bnQsIDw9LCBQQUdFX1NJWkUpOworICAgIEFTU0VSVDNVKFNlZ21lbnQtPk1kbC5CeXRlQ291bnQs
ID09LCBMZW5ndGgpOworICAgICAgICAgICAgICAgIAorICAgIFNlZ21lbnQtPkxlbmd0aCA9IG1p
bihTZWdtZW50LT5NZGwuQnl0ZUNvdW50LCBQQUdFX1NJWkUpOworICAgIFNlZ21lbnQtPkJ1ZmZl
ciA9IE1tTWFwTG9ja2VkUGFnZXNTcGVjaWZ5Q2FjaGUoJlNlZ21lbnQtPk1kbCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtlcm5lbE1vZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNbUNhY2hl
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5V
TEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG
QUxTRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE5vcm1hbFBhZ2VQcmlvcml0eSk7CisgICAgaWYgKFNlZ21lbnQtPkJ1ZmZlciA9PSBOVUxMKQor
ICAgICAgICBnb3RvIGZhaWw7CiAKLXN0YXRpYyBGT1JDRUlOTElORSBWT0lECi1fX1RhcmdldElu
Y0Jsa2lmT3BDb3VudCgKLSAgICBfX2luIFBYRU5WQkRfVEFSR0VUICAgICAgICAgICAgIFRhcmdl
dCwKLSAgICBfX2luIFBYRU5WQkRfUkVRVUVTVCAgICAgICAgIFJlcXVlc3QKLSAgICApCi17Ci0g
ICAgc3dpdGNoIChSZXF1ZXN0LT5PcGVyYXRpb24pIHsKLSAgICBjYXNlIEJMS0lGX09QX1JFQUQ6
Ci0gICAgICAgIGlmIChSZXF1ZXN0LT5OclNlZ21lbnRzID4gQkxLSUZfTUFYX1NFR01FTlRTX1BF
Ul9SRVFVRVNUKQotICAgICAgICAgICAgKytUYXJnZXQtPkJsa09wSW5kaXJlY3RSZWFkOwotICAg
ICAgICBlbHNlCi0gICAgICAgICAgICArK1RhcmdldC0+QmxrT3BSZWFkOwotICAgICAgICBicmVh
azsKLSAgICBjYXNlIEJMS0lGX09QX1dSSVRFOgotICAgICAgICBpZiAoUmVxdWVzdC0+TnJTZWdt
ZW50cyA+IEJMS0lGX01BWF9TRUdNRU5UU19QRVJfUkVRVUVTVCkKLSAgICAgICAgICAgICsrVGFy
Z2V0LT5CbGtPcEluZGlyZWN0V3JpdGU7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgICsrVGFy
Z2V0LT5CbGtPcFdyaXRlOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEJMS0lGX09QX1dSSVRF
X0JBUlJJRVI6Ci0gICAgICAgICsrVGFyZ2V0LT5CbGtPcEJhcnJpZXI7Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgQkxLSUZfT1BfRElTQ0FSRDoKLSAgICAgICAgKytUYXJnZXQtPkJsa09wRGlz
Y2FyZDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBCTEtJRl9PUF9GTFVTSF9ESVNLQ0FDSEU6
Ci0gICAgICAgICsrVGFyZ2V0LT5CbGtPcEZsdXNoOwotICAgICAgICBicmVhazsKLSAgICBkZWZh
dWx0OgotICAgICAgICBBU1NFUlQoRkFMU0UpOwotICAgICAgICBicmVhazsKLSAgICB9Ci19Cisg
ICAgQVNTRVJUM1AoTW1HZXRNZGxQZm5BcnJheSgmU2VnbWVudC0+TWRsKVswXSwgPT0sIFNlZ21l
bnQtPlBmblswXSk7CisgICAgLy8gaWYgb25seSAxIFBmbiBpcyB1c2VkLCB0aGlzIHRyaWdnZXJz
IGFuIGFycmF5LW91dC1vZi1ib3VuZHMgY29uZGl0aW9uIQorICAgIC8vQVNTRVJUM1AoTW1HZXRN
ZGxQZm5BcnJheSgmU2VnbWVudC0+TWRsKVsxXSwgPT0sIFNlZ21lbnQtPlBmblsxXSk7CisgCisg
ICAgcmV0dXJuIFRSVUU7CiAKLXN0YXRpYyBGT1JDRUlOTElORSBVTE9ORwotX19TZWN0b3JzUGVy
UGFnZSgKLSAgICBfX2luIFVMT05HICAgICAgICAgICAgICAgICAgIFNlY3RvclNpemUKLSAgICAp
Ci17Ci0gICAgQVNTRVJUM1UoU2VjdG9yU2l6ZSwgIT0sIDApOwotICAgIHJldHVybiBQQUdFX1NJ
WkUgLyBTZWN0b3JTaXplOworZmFpbDoKKyAgICByZXR1cm4gRkFMU0U7CiB9CiAKLXN0YXRpYyBG
T1JDRUlOTElORSBWT0lECi1fX09wZXJhdGlvbigKLSAgICBfX2luIFVDSEFSICAgICAgICAgICAg
ICAgICAgIENkYk9wLAotICAgIF9fb3V0IFBVQ0hBUiAgICAgICAgICAgICAgICAgUmluZ09wLAot
ICAgIF9fb3V0IFBCT09MRUFOICAgICAgICAgICAgICAgUmVhZE9ubHkKK3N0YXRpYyBCT09MRUFO
CitUYXJnZXRQcmVwYXJlUlcoCisgICAgSU4gIFBYRU5WQkRfVEFSR0VUICBUYXJnZXQsCisgICAg
SU4gIFBYRU5WQkRfU1JCRVhUICBTcmJFeHQsCisgICAgSU4gIFVDSEFSICAgICAgICAgICBPcGVy
YXRpb24KICAgICApCiB7Ci0gICAgc3dpdGNoIChDZGJPcCkgewotICAgIGNhc2UgU0NTSU9QX1JF
QUQ6Ci0gICAgICAgICpSaW5nT3AgICAgID0gQkxLSUZfT1BfUkVBRDsKLSAgICAgICAgKlJlYWRP
bmx5ICAgPSBGQUxTRTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTQ1NJT1BfV1JJVEU6Ci0g
ICAgICAgICpSaW5nT3AgICAgID0gQkxLSUZfT1BfV1JJVEU7Ci0gICAgICAgICpSZWFkT25seSAg
ID0gVFJVRTsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUKEZB
TFNFKTsKLSAgICB9Ci19CisgICAgUFNDU0lfUkVRVUVTVF9CTE9DSyBTcmIgPSBTcmJFeHQtPlNy
YjsKKyAgICBVTE9ORzY0ICAgICAgICAgICAgIFNlY3RvclN0YXJ0ID0gQ2RiX0xvZ2ljYWxCbG9j
ayhTcmIpOworICAgIFVMT05HICAgICAgICAgICAgICAgU2VjdG9yc0xlZnQgPSBDZGJfVHJhbnNm
ZXJCbG9jayhTcmIpOworICAgIExJU1RfRU5UUlkgICAgICAgICAgTGlzdDsKKyAgICBYRU5WQkRf
U0dfTElTVCAgICAgIFNHTGlzdDsKKyAgICBLSVJRTCAgICAgICAgICAgICAgIElycWw7CisgICAg
Y29uc3QgVUxPTkcgICAgICAgICBTZWN0b3JTaXplID0gVGFyZ2V0LT5TZWN0b3JTaXplOworICAg
IGNvbnN0IFVMT05HICAgICAgICAgU2VjdG9yTWFzayA9IFNlY3RvclNpemUgLSAxOworICAgIGNv
bnN0IFVMT05HICAgICAgICAgU2VjdG9yc1BlclBhZ2UgPSBQQUdFX1NJWkUgLyBTZWN0b3JTaXpl
OwogCi1zdGF0aWMgRk9SQ0VJTkxJTkUgVUxPTkcKLV9fT2Zmc2V0KAotICAgIF9faW4gU1RPUl9Q
SFlTSUNBTF9BRERSRVNTICAgUGh5c0FkZHIKLSAgICApCi17Ci0gICAgcmV0dXJuIChVTE9ORyko
UGh5c0FkZHIuUXVhZFBhcnQgJiAoUEFHRV9TSVpFIC0gMSkpOwotfQorICAgIEluaXRpYWxpemVM
aXN0SGVhZCgmTGlzdCk7CisgICAgU0dMaXN0SW5pdCgmU0dMaXN0LCBUYXJnZXRHZXRBZGFwdGVy
KFRhcmdldCksIFNyYik7CiAKLXN0YXRpYyBGT1JDRUlOTElORSBQRk5fTlVNQkVSCi1fX1BoeXMy
UGZuKAotICAgIF9faW4gU1RPUl9QSFlTSUNBTF9BRERSRVNTICAgUGh5c0FkZHIKLSAgICApCi17
Ci0gICAgcmV0dXJuIChQRk5fTlVNQkVSKShQaHlzQWRkci5RdWFkUGFydCA+PiBQQUdFX1NISUZU
KTsKLX0KKyAgICAvLyB2YWxpZGF0ZSBTZWN0b3JTdGFydCwgU2VjdG9yc0xlZnQgZml0cyBpbiB0
aGlzIHRhcmdldCAocHJldmVudCByZWFkL3dyaXRlIGJleW9uZCBleHRlbnRzKQogCi1zdGF0aWMg
Rk9SQ0VJTkxJTkUgUEZOX05VTUJFUgotX19WaXJ0MlBmbigKLSAgICBfX2luIFBWT0lEICAgICAg
ICAgICAgICAgICAgIFZpcnRBZGRyCi0gICAgKQotewotICAgIHJldHVybiAoUEZOX05VTUJFUiko
TW1HZXRQaHlzaWNhbEFkZHJlc3MoVmlydEFkZHIpLlF1YWRQYXJ0ID4+IFBBR0VfU0hJRlQpOwot
fQorICAgIHdoaWxlIChTZWN0b3JzTGVmdCA+IDApIHsKKyAgICAgICAgUFhFTlZCRF9SRVFVRVNU
IFJlcXVlc3Q7CisgICAgICAgIFVMT05HICAgICAgICAgICBJbmRleDsKKyAgICAgICAgVUxPTkcg
ICAgICAgICAgIE1heFNlZ21lbnRzOwogCi1zdGF0aWMgRk9SQ0VJTkxJTkUgTU1fUEFHRV9QUklP
UklUWQotX19UYXJnZXRQcmlvcml0eSgKLSAgICBfX2luIFBYRU5WQkRfVEFSR0VUICAgICAgICAg
ICAgIFRhcmdldAotICAgICkKLXsKLSAgICBQWEVOVkJEX0NBUFMgICBDYXBzID0gRnJvbnRlbmRH
ZXRDYXBzKFRhcmdldC0+RnJvbnRlbmQpOwotICAgIGlmICghKENhcHMtPlBhZ2luZyB8fCAKLSAg
ICAgICAgICBDYXBzLT5IaWJlcm5hdGlvbiB8fCAKLSAgICAgICAgICBDYXBzLT5EdW1wRmlsZSkp
Ci0gICAgICAgIHJldHVybiBOb3JtYWxQYWdlUHJpb3JpdHk7CisgICAgICAgIE1heFNlZ21lbnRz
ID0gVGFyZ2V0LT5GZWF0dXJlSW5kaXJlY3Q7CisgICAgICAgIE1heFNlZ21lbnRzID0gbWluKE1h
eFNlZ21lbnRzLCBYRU5WQkRfTUFYX1NFR01FTlRTX1BFUl9JTkRJUkVDVCk7IC8vIGxpbWl0IHRv
IHNlbnNpYmxlIHZhbHVlCisgICAgICAgIE1heFNlZ21lbnRzID0gbWF4KE1heFNlZ21lbnRzLCBC
TEtJRl9NQVhfU0VHTUVOVFNfUEVSX1JFUVVFU1QpOyAgIC8vIGVuc3VyZSBhdCBsZWFzdCAxMQor
ICAgICAgICBBU1NFUlQzVShNYXhTZWdtZW50cywgPj0sIEJMS0lGX01BWF9TRUdNRU5UU19QRVJf
UkVRVUVTVCk7CisgICAgICAgIEFTU0VSVDNVKE1heFNlZ21lbnRzLCA8PSwgWEVOVkJEX01BWF9T
RUdNRU5UU19QRVJfSU5ESVJFQ1QpOwogCi0gICAgcmV0dXJuIEhpZ2hQYWdlUHJpb3JpdHk7Ci19
Ci0KLXN0YXRpYyBGT1JDRUlOTElORSBWT0lECi1TR0xpc3RHZXQoCi0gICAgSU4gT1VUICBQWEVO
VkJEX1NHX0xJU1QgICAgICAgICBTR0xpc3QKLSAgICApCi17Ci0gICAgUFNUT1JfU0NBVFRFUl9H
QVRIRVJfRUxFTUVOVCAgICBTR0VsZW1lbnQ7Ci0KLSAgICBBU1NFUlQzVShTR0xpc3QtPkluZGV4
LCA8LCBTR0xpc3QtPlNHTGlzdC0+TnVtYmVyT2ZFbGVtZW50cyk7CisgICAgICAgIFJlcXVlc3Qg
PSBUYXJnZXRHZXRSZXF1ZXN0KFRhcmdldCk7CisgICAgICAgIGlmIChSZXF1ZXN0ID09IE5VTEwp
IAorICAgICAgICAgICAgZ290byBmYWlsMTsKKyAgICAgICAgSW5zZXJ0VGFpbExpc3QoJkxpc3Qs
ICZSZXF1ZXN0LT5MaXN0RW50cnkpOworICAgICAgICBJbnRlcmxvY2tlZEluY3JlbWVudCgmU3Ji
RXh0LT5SZXF1ZXN0Q291bnQpOworICAgICAgICAKKyAgICAgICAgUmVxdWVzdC0+U3JiRXh0ICAg
ICA9IFNyYkV4dDsKKyAgICAgICAgUmVxdWVzdC0+T3BlcmF0aW9uICA9IE9wZXJhdGlvbjsKKyAg
ICAgICAgUmVxdWVzdC0+Rmlyc3RTZWN0b3IgPSBTZWN0b3JTdGFydDsKKworICAgICAgICAvLyBi
dWlsZCBzZWdtZW50cworICAgICAgICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBNYXhTZWdtZW50
czsgKytJbmRleCkgeworICAgICAgICAgICAgUFhFTlZCRF9TRUdNRU5UIFNlZ21lbnQ7CisgICAg
ICAgICAgICBVTE9ORyAgICAgICAgICAgU2VjdG9yc05vdzsKKyAgICAgICAgICAgIFBGTl9OVU1C
RVIgICAgICBQZm47CisgICAgICAgICAgICBOVFNUQVRVUyAgICAgICAgc3RhdHVzOworCisgICAg
ICAgICAgICBpZiAoU2VjdG9yc0xlZnQgPT0gMCkKKyAgICAgICAgICAgICAgICBicmVhazsKKwor
ICAgICAgICAgICAgU2VnbWVudCA9IFRhcmdldEdldFNlZ21lbnQoVGFyZ2V0KTsKKyAgICAgICAg
ICAgIGlmIChTZWdtZW50ID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBmYWlsMjsKKyAg
ICAgICAgICAgIEluc2VydFRhaWxMaXN0KCZSZXF1ZXN0LT5TZWdtZW50cywgJlNlZ21lbnQtPkxp
c3RFbnRyeSk7CisgICAgICAgICAgICArK1JlcXVlc3QtPk5yU2VnbWVudHM7CisKKyAgICAgICAg
ICAgIGlmIChTR0xpc3ROZXh0KCZTR0xpc3QsIFNlY3Rvck1hc2spKSB7CisgICAgICAgICAgICAg
ICAgQVNTRVJUKChTR0xpc3RPZmZzZXQoJlNHTGlzdCkgJiBTZWN0b3JNYXNrKSA9PSAwKTsKKwor
ICAgICAgICAgICAgICAgIFNlZ21lbnQtPkZpcnN0U2VjdG9yID0gKFVDSEFSKShTR0xpc3RPZmZz
ZXQoJlNHTGlzdCkgLyBTZWN0b3JTaXplKTsKKyAgICAgICAgICAgICAgICBTZWN0b3JzTm93ICAg
ICAgICAgICA9IG1pbihTZWN0b3JzTGVmdCwgU2VjdG9yc1BlclBhZ2UgLSBTZWdtZW50LT5GaXJz
dFNlY3Rvcik7CisgICAgICAgICAgICAgICAgU2VnbWVudC0+TGFzdFNlY3RvciAgPSAoVUNIQVIp
KFNlZ21lbnQtPkZpcnN0U2VjdG9yICsgU2VjdG9yc05vdyAtIDEpOworCisgICAgICAgICAgICAg
ICAgUGZuID0gU0dMaXN0UGZuKCZTR0xpc3QpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICBBU1NFUlQoKFNHTGlzdE9mZnNldCgmU0dMaXN0KSAmIFNlY3Rvck1hc2spICE9
IDApOworCisgICAgICAgICAgICAgICAgU2VnbWVudC0+Rmlyc3RTZWN0b3IgPSAoVUNIQVIpMDsK
KyAgICAgICAgICAgICAgICBTZWN0b3JzTm93ICAgICAgICAgICA9IG1pbihTZWN0b3JzTGVmdCwg
U2VjdG9yc1BlclBhZ2UpOworICAgICAgICAgICAgICAgIFNlZ21lbnQtPkxhc3RTZWN0b3IgID0g
KFVDSEFSKShTZWN0b3JzTm93IC0gMSk7CisKKyAgICAgICAgICAgICAgICBpZiAoIUJ1ZmZlck1h
cChTZWdtZW50LCAmU0dMaXN0LCBTZWN0b3JzTm93ICogU2VjdG9yU2l6ZSkpCisgICAgICAgICAg
ICAgICAgICAgIGdvdG8gZmFpbDM7CisKKyAgICAgICAgICAgICAgICBpZiAoIUJ1ZmZlckdldChT
ZWdtZW50LCAmU2VnbWVudC0+QnVmZmVySWQsICZQZm4pKQorICAgICAgICAgICAgICAgICAgICBn
b3RvIGZhaWw0OworCisgICAgICAgICAgICAgICAgaWYgKE9wZXJhdGlvbiA9PSBCTEtJRl9PUF9X
UklURSkgeworICAgICAgICAgICAgICAgICAgICBCdWZmZXJDb3B5SW4oU2VnbWVudC0+QnVmZmVy
SWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWdtZW50LT5CdWZmZXIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWdtZW50LT5MZW5ndGgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgc3RhdHVzID0gR3JhbnRl
ckdldChUYXJnZXQtPkdyYW50ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBm
biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uID09IEJMS0lGX09Q
X1dSSVRFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmU2VnbWVudC0+R3JhbnQp
OworICAgICAgICAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgICAgICAgICAg
Z290byBmYWlsNTsKKworICAgICAgICAgICAgU2VjdG9yU3RhcnQgKz0gU2VjdG9yc05vdzsKKyAg
ICAgICAgICAgIFNlY3RvcnNMZWZ0IC09IFNlY3RvcnNOb3c7CisgICAgICAgIH0KIAotICAgIFNH
RWxlbWVudCA9ICZTR0xpc3QtPlNHTGlzdC0+TGlzdFtTR0xpc3QtPkluZGV4XTsKKyAgICAgICAg
Ly8gYnVpbGQgaW5kaXJlY3RzCisgICAgICAgIGlmIChNYXhTZWdtZW50cyA+IEJMS0lGX01BWF9T
RUdNRU5UU19QRVJfUkVRVUVTVCkgeworICAgICAgICAgICAgLy8gcm91bmQgdXAKKyAgICAgICAg
ICAgIFVMT05HICAgTnVtSW5kID0gKFJlcXVlc3QtPk5yU2VnbWVudHMgKyBYRU5WQkRfTUFYX1NF
R01FTlRTX1BFUl9QQUdFIC0gMSkgLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVO
VkJEX01BWF9TRUdNRU5UU19QRVJfUEFHRTsKIAotICAgIFNHTGlzdC0+UGh5c0FkZHIuUXVhZFBh
cnQgPSBTR0VsZW1lbnQtPlBoeXNpY2FsQWRkcmVzcy5RdWFkUGFydCArIFNHTGlzdC0+T2Zmc2V0
OwotICAgIFNHTGlzdC0+UGh5c0xlbiAgICAgICAgICAgPSBfX21pbihQQUdFX1NJWkUgLSBfX09m
ZnNldChTR0xpc3QtPlBoeXNBZGRyKSAtIFNHTGlzdC0+TGVuZ3RoLCBTR0VsZW1lbnQtPkxlbmd0
aCAtIFNHTGlzdC0+T2Zmc2V0KTsKKyAgICAgICAgICAgIEFTU0VSVChOdW1JbmQgPD0gQkxLSUZf
TUFYX0lORElSRUNUX1BBR0VTX1BFUl9SRVFVRVNUKTsKKyAgICAgICAgICAgIHdoaWxlIChOdW1J
bmQtLSkgeworICAgICAgICAgICAgICAgIFBYRU5WQkRfSU5ESVJFQ1QgICAgSW5kaXJlY3Q7CiAK
LSAgICBBU1NFUlQzVShTR0xpc3QtPlBoeXNMZW4sIDw9LCBQQUdFX1NJWkUpOwotICAgIEFTU0VS
VDNVKFNHTGlzdC0+T2Zmc2V0LCA8LCBTR0VsZW1lbnQtPkxlbmd0aCk7CisgICAgICAgICAgICAg
ICAgSW5kaXJlY3QgPSBUYXJnZXRHZXRJbmRpcmVjdChUYXJnZXQpOworICAgICAgICAgICAgICAg
IGlmIChJbmRpcmVjdCA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWw2Owog
Ci0gICAgU0dMaXN0LT5MZW5ndGggPSBTR0xpc3QtPlBoeXNMZW47IC8vIGdldHMgcmVzZXQgZXZl
cnkgdGltZSBmb3IgR3JhbnRlZCwgZXZlcnkgMW9yMiB0aW1lcyBmb3IgQm91bmNlZAotICAgIFNH
TGlzdC0+T2Zmc2V0ID0gU0dMaXN0LT5PZmZzZXQgKyBTR0xpc3QtPlBoeXNMZW47Ci0gICAgaWYg
KFNHTGlzdC0+T2Zmc2V0ID49IFNHRWxlbWVudC0+TGVuZ3RoKSB7Ci0gICAgICAgIFNHTGlzdC0+
SW5kZXggID0gU0dMaXN0LT5JbmRleCArIDE7Ci0gICAgICAgIFNHTGlzdC0+T2Zmc2V0ID0gMDsK
KyAgICAgICAgICAgICAgICBJbnNlcnRUYWlsTGlzdCgmUmVxdWVzdC0+SW5kaXJlY3RzLCAmSW5k
aXJlY3QtPkxpc3RFbnRyeSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICB9Ci19Ci0K
LXN0YXRpYyBGT1JDRUlOTElORSBCT09MRUFOCi1TR0xpc3ROZXh0KAotICAgIElOIE9VVCAgUFhF
TlZCRF9TR19MSVNUICAgICAgICAgU0dMaXN0LAotICAgIElOICBVTE9ORyAgICAgICAgICAgICAg
ICAgICAgICAgQWxpZ25tZW50TWFzawotICAgICkKLXsKLSAgICBTR0xpc3QtPkxlbmd0aCA9IDA7
Ci0gICAgU0dMaXN0R2V0KFNHTGlzdCk7ICAvLyBnZXQgbmV4dCBQaHlzQWRkciBhbmQgUGh5c0xl
bgotICAgIHJldHVybiAhKChTR0xpc3QtPlBoeXNBZGRyLlF1YWRQYXJ0ICYgQWxpZ25tZW50TWFz
aykgfHwgKFNHTGlzdC0+UGh5c0xlbiAmIEFsaWdubWVudE1hc2spKTsKLX0KIAotc3RhdGljIEZP
UkNFSU5MSU5FIEJPT0xFQU4KLU1hcFNlZ21lbnRCdWZmZXIoCi0gICAgSU4gIFBYRU5WQkRfVEFS
R0VUICAgICAgICAgICAgIFRhcmdldCwKLSAgICBJTiAgUFhFTlZCRF9TRUdNRU5UICAgICAgICAg
U2VnbWVudCwKLSAgICBJTiAgUFhFTlZCRF9TR19MSVNUICAgICAgICAgU0dMaXN0LAotICAgIElO
ICBVTE9ORyAgICAgICAgICAgICAgICAgICBTZWN0b3JTaXplLAotICAgIElOICBVTE9ORyAgICAg
ICAgICAgICAgICAgICBTZWN0b3JzTm93Ci0gICAgKQotewotICAgIFBNREwgICAgTWRsOworICAg
IFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19QRU5ESU5HOwogCi0gICAgLy8gbWFwIFBoeXNB
ZGRyIHRvIDEgb3IgMiBwYWdlcyBhbmQgbG9jayBmb3IgVmlydEFkZHIKLSNwcmFnbWEgd2Fybmlu
ZyhwdXNoKQotI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6MjgxNDUpCi0gICAgTWRsID0gJlNlZ21l
bnQtPk1kbDsKLSAgICBNZGwtPk5leHQgICAgICAgICAgID0gTlVMTDsKLSAgICBNZGwtPlNpemUg
ICAgICAgICAgID0gKFNIT1JUKShzaXplb2YoTURMKSArIHNpemVvZihQRk5fTlVNQkVSKSk7Ci0g
ICAgTWRsLT5NZGxGbGFncyAgICAgICA9IE1ETF9QQUdFU19MT0NLRUQ7Ci0gICAgTWRsLT5Qcm9j
ZXNzICAgICAgICA9IE5VTEw7Ci0gICAgTWRsLT5NYXBwZWRTeXN0ZW1WYSA9IE5VTEw7Ci0gICAg
TWRsLT5TdGFydFZhICAgICAgICA9IE5VTEw7Ci0gICAgTWRsLT5CeXRlQ291bnQgICAgICA9IFNH
TGlzdC0+UGh5c0xlbjsKLSAgICBNZGwtPkJ5dGVPZmZzZXQgICAgID0gX19PZmZzZXQoU0dMaXN0
LT5QaHlzQWRkcik7Ci0gICAgU2VnbWVudC0+UGZuWzBdICAgICA9IF9fUGh5czJQZm4oU0dMaXN0
LT5QaHlzQWRkcik7Ci0KLSAgICBpZiAoU0dMaXN0LT5QaHlzTGVuIDwgU2VjdG9yc05vdyAqIFNl
Y3RvclNpemUpIHsKLSAgICAgICAgU0dMaXN0R2V0KFNHTGlzdCk7Ci0gICAgICAgIE1kbC0+U2l6
ZSAgICAgICArPSBzaXplb2YoUEZOX05VTUJFUik7Ci0gICAgICAgIE1kbC0+Qnl0ZUNvdW50ICA9
IE1kbC0+Qnl0ZUNvdW50ICsgU0dMaXN0LT5QaHlzTGVuOwotICAgICAgICBTZWdtZW50LT5QZm5b
MV0gPSBfX1BoeXMyUGZuKFNHTGlzdC0+UGh5c0FkZHIpOwotICAgIH0KLSNwcmFnbWEgd2Fybmlu
Zyhwb3ApCisgICAgS2VBY3F1aXJlU3BpbkxvY2soJlRhcmdldC0+UXVldWVMb2NrLCAmSXJxbCk7
CisgICAgZm9yICg7OykgeworICAgICAgICBQTElTVF9FTlRSWSAgICAgTGlzdEVudHJ5OworICAg
ICAgICBQWEVOVkJEX1JFUVVFU1QgUmVxdWVzdDsKIAotICAgIEFTU0VSVCgoTWRsLT5CeXRlQ291
bnQgJiAoU2VjdG9yU2l6ZSAtIDEpKSA9PSAwKTsKLSAgICBBU1NFUlQzVShNZGwtPkJ5dGVDb3Vu
dCwgPD0sIFBBR0VfU0laRSk7Ci0gICAgQVNTRVJUM1UoU2VjdG9yc05vdywgPT0sIChNZGwtPkJ5
dGVDb3VudCAvIFNlY3RvclNpemUpKTsKLSAgICAgICAgICAgICAgICAKLSAgICBTZWdtZW50LT5M
ZW5ndGggPSBfX21pbihNZGwtPkJ5dGVDb3VudCwgUEFHRV9TSVpFKTsKLSAgICBTZWdtZW50LT5C
dWZmZXIgPSBNbU1hcExvY2tlZFBhZ2VzU3BlY2lmeUNhY2hlKE1kbCwgS2VybmVsTW9kZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBNbUNhY2hlZCwgTlVMTCwgRkFMU0UsIF9fVGFyZ2V0
UHJpb3JpdHkoVGFyZ2V0KSk7Ci0gICAgaWYgKCFTZWdtZW50LT5CdWZmZXIpIHsKLSAgICAgICAg
Z290byBmYWlsOworICAgICAgICBMaXN0RW50cnkgPSBSZW1vdmVIZWFkTGlzdCgmTGlzdCk7Cisg
ICAgICAgIGlmIChMaXN0RW50cnkgPT0gJkxpc3QpCisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgUmVxdWVzdCA9IENPTlRBSU5JTkdfUkVDT1JEKExpc3RFbnRyeSwgWEVOVkJEX1JFUVVFU1Qs
IExpc3RFbnRyeSk7CisgICAgICAgIEluc2VydFRhaWxMaXN0KCZUYXJnZXQtPlByZXBhcmVkLCAm
UmVxdWVzdC0+TGlzdEVudHJ5KTsKICAgICB9CisgICAgS2VSZWxlYXNlU3BpbkxvY2soJlRhcmdl
dC0+UXVldWVMb2NrLCBJcnFsKTsKIAotICAgIEFTU0VSVDNQKE1tR2V0TWRsUGZuQXJyYXkoTWRs
KVswXSwgPT0sIFNlZ21lbnQtPlBmblswXSk7Ci0gICAgQVNTRVJUM1AoTW1HZXRNZGxQZm5BcnJh
eShNZGwpWzFdLCA9PSwgU2VnbWVudC0+UGZuWzFdKTsKLSAKICAgICByZXR1cm4gVFJVRTsKIAot
ZmFpbDoKK2ZhaWw2OgorZmFpbDU6CitmYWlsNDoKK2ZhaWwzOgorZmFpbDI6CitmYWlsMToKKyAg
ICBTcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfRVJST1I7CisgICAgZm9yICg7OykgeworICAg
ICAgICBQTElTVF9FTlRSWSAgICAgTGlzdEVudHJ5OworICAgICAgICBQWEVOVkJEX1JFUVVFU1Qg
UmVxdWVzdDsKKworICAgICAgICBMaXN0RW50cnkgPSBSZW1vdmVIZWFkTGlzdCgmTGlzdCk7Cisg
ICAgICAgIGlmIChMaXN0RW50cnkgPT0gJkxpc3QpCisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgUmVxdWVzdCA9IENPTlRBSU5JTkdfUkVDT1JEKExpc3RFbnRyeSwgWEVOVkJEX1JFUVVFU1Qs
IExpc3RFbnRyeSk7CisgICAgICAgIFRhcmdldFB1dFJlcXVlc3QoVGFyZ2V0LCBSZXF1ZXN0KTsK
KyAgICB9CiAgICAgcmV0dXJuIEZBTFNFOwogfQogCi1zdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAot
UmVxdWVzdENvcHlPdXRwdXQoCi0gICAgX19pbiBQWEVOVkJEX1JFUVVFU1QgICAgICAgICBSZXF1
ZXN0CitzdGF0aWMgQk9PTEVBTgorVGFyZ2V0UHJlcGFyZVVubWFwKAorICAgIElOICBQWEVOVkJE
X1RBUkdFVCAgVGFyZ2V0LAorICAgIElOICBQWEVOVkJEX1NSQkVYVCAgU3JiRXh0CiAgICAgKQog
ewotICAgIFBMSVNUX0VOVFJZICAgICBFbnRyeTsKLQotICAgIGlmIChSZXF1ZXN0LT5PcGVyYXRp
b24gIT0gQkxLSUZfT1BfUkVBRCkKLSAgICAgICAgcmV0dXJuOworICAgIFBTQ1NJX1JFUVVFU1Rf
QkxPQ0sgU3JiID0gU3JiRXh0LT5TcmI7CisgICAgUFVOTUFQX0xJU1RfSEVBREVSICBVbm1hcCA9
IFNyYi0+RGF0YUJ1ZmZlcjsKKwlVTE9ORyAgICAgICAgICAgICAgIENvdW50OworICAgIFVMT05H
ICAgICAgICAgICAgICAgSW5kZXg7CisgICAgTElTVF9FTlRSWSAgICAgICAgICBMaXN0OworICAg
IEtJUlFMICAgICAgICAgICAgICAgSXJxbDsKIAotICAgIGZvciAoRW50cnkgPSBSZXF1ZXN0LT5T
ZWdtZW50cy5GbGluazsKLSAgICAgICAgICAgIEVudHJ5ICE9ICZSZXF1ZXN0LT5TZWdtZW50czsK
LSAgICAgICAgICAgIEVudHJ5ID0gRW50cnktPkZsaW5rKSB7Ci0gICAgICAgIFBYRU5WQkRfU0VH
TUVOVCBTZWdtZW50ID0gQ09OVEFJTklOR19SRUNPUkQoRW50cnksIFhFTlZCRF9TRUdNRU5ULCBF
bnRyeSk7CisgICAgSW5pdGlhbGl6ZUxpc3RIZWFkKCZMaXN0KTsKKyAgICBDb3VudCA9IF9ieXRl
c3dhcF91c2hvcnQoKihQVVNIT1JUKVVubWFwLT5CbG9ja0Rlc2NyRGF0YUxlbmd0aCkgLyAKKyAg
ICAgICAgICAgIHNpemVvZihVTk1BUF9CTE9DS19ERVNDUklQVE9SKTsKIAotICAgICAgICBpZiAo
U2VnbWVudC0+QnVmZmVySWQpCi0gICAgICAgICAgICBCdWZmZXJDb3B5T3V0KFNlZ21lbnQtPkJ1
ZmZlcklkLCBTZWdtZW50LT5CdWZmZXIsIFNlZ21lbnQtPkxlbmd0aCk7Ci0gICAgfQotfQorICAg
IGZvciAoSW5kZXggPSAwOyBJbmRleCA8IENvdW50OyArK0luZGV4KSB7CisgICAgICAgIFBVTk1B
UF9CTE9DS19ERVNDUklQVE9SIERlc2NyID0gJlVubWFwLT5EZXNjcmlwdG9yc1tJbmRleF07Cisg
ICAgICAgIFBYRU5WQkRfUkVRVUVTVCAgICAgICAgIFJlcXVlc3Q7CiAKLXN0YXRpYyBCT09MRUFO
Ci1QcmVwYXJlU2VnbWVudCgKLSAgICBJTiAgUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFy
Z2V0LAotICAgIElOICBQWEVOVkJEX1NFR01FTlQgICAgICAgICBTZWdtZW50LAotICAgIElOICBQ
WEVOVkJEX1NHX0xJU1QgICAgICAgICBTR0xpc3QsCi0gICAgSU4gIEJPT0xFQU4gICAgICAgICAg
ICAgICAgIFJlYWRPbmx5LAotICAgIElOICBVTE9ORyAgICAgICAgICAgICAgICAgICBTZWN0b3Jz
TGVmdCwKLSAgICBPVVQgUFVMT05HICAgICAgICAgICAgICAgICAgU2VjdG9yc05vdwotICAgICkK
LXsKLSAgICBQRk5fTlVNQkVSICAgICAgUGZuOwotICAgIE5UU1RBVFVTICAgICAgICBTdGF0dXM7
Ci0gICAgUFhFTlZCRF9HUkFOVEVSIEdyYW50ZXIgPSBGcm9udGVuZEdldEdyYW50ZXIoVGFyZ2V0
LT5Gcm9udGVuZCk7Ci0gICAgY29uc3QgVUxPTkcgICAgIFNlY3RvclNpemUgPSBUYXJnZXRTZWN0
b3JTaXplKFRhcmdldCk7Ci0gICAgY29uc3QgVUxPTkcgICAgIFNlY3RvcnNQZXJQYWdlID0gX19T
ZWN0b3JzUGVyUGFnZShTZWN0b3JTaXplKTsKLQotICAgIGlmIChTR0xpc3ROZXh0KFNHTGlzdCwg
U2VjdG9yU2l6ZSAtIDEpKSB7Ci0gICAgICAgICsrVGFyZ2V0LT5TZWdzR3JhbnRlZDsKLSAgICAg
ICAgLy8gZ2V0IGZpcnN0IHNlY3RvciwgbGFzdCBzZWN0b3IgYW5kIGNvdW50Ci0gICAgICAgIFNl
Z21lbnQtPkZpcnN0U2VjdG9yICAgID0gKFVDSEFSKSgoX19PZmZzZXQoU0dMaXN0LT5QaHlzQWRk
cikgKyBTZWN0b3JTaXplIC0gMSkgLyBTZWN0b3JTaXplKTsKLSAgICAgICAgKlNlY3RvcnNOb3cg
ICAgICAgICAgICAgPSBfX21pbihTZWN0b3JzTGVmdCwgU2VjdG9yc1BlclBhZ2UgLSBTZWdtZW50
LT5GaXJzdFNlY3Rvcik7Ci0gICAgICAgIFNlZ21lbnQtPkxhc3RTZWN0b3IgICAgID0gKFVDSEFS
KShTZWdtZW50LT5GaXJzdFNlY3RvciArICpTZWN0b3JzTm93IC0gMSk7Ci0gICAgICAgIFNlZ21l
bnQtPkJ1ZmZlcklkICAgICAgID0gTlVMTDsgLy8gZ3JhbnRlZCwgZW5zdXJlIGl0cyBudWxsCi0g
ICAgICAgIFNlZ21lbnQtPkJ1ZmZlciAgICAgICAgID0gTlVMTDsgLy8gZ3JhbnRlZCwgZW5zdXJl
IGl0cyBudWxsCi0gICAgICAgIFNlZ21lbnQtPkxlbmd0aCAgICAgICAgID0gMDsgICAgLy8gZ3Jh
bnRlZCwgZW5zdXJlIGl0cyAwCi0gICAgICAgIFBmbiAgICAgICAgICAgICAgICAgICAgID0gX19Q
aHlzMlBmbihTR0xpc3QtPlBoeXNBZGRyKTsKLQotICAgICAgICBBU1NFUlQzVSgoU0dMaXN0LT5Q
aHlzTGVuIC8gU2VjdG9yU2l6ZSksID09LCAqU2VjdG9yc05vdyk7Ci0gICAgICAgIEFTU0VSVDNV
KChTR0xpc3QtPlBoeXNMZW4gJiAoU2VjdG9yU2l6ZSAtIDEpKSwgPT0sIDApOwotICAgIH0gZWxz
ZSB7Ci0gICAgICAgICsrVGFyZ2V0LT5TZWdzQm91bmNlZDsKLSAgICAgICAgLy8gZ2V0IGZpcnN0
IHNlY3RvciwgbGFzdCBzZWN0b3IgYW5kIGNvdW50Ci0gICAgICAgIFNlZ21lbnQtPkZpcnN0U2Vj
dG9yICAgID0gMDsKLSAgICAgICAgKlNlY3RvcnNOb3cgICAgICAgICAgICAgPSBfX21pbihTZWN0
b3JzTGVmdCwgU2VjdG9yc1BlclBhZ2UpOwotICAgICAgICBTZWdtZW50LT5MYXN0U2VjdG9yICAg
ICA9IChVQ0hBUikoKlNlY3RvcnNOb3cgLSAxKTsKLQotICAgICAgICAvLyBtYXAgU0dMaXN0IHRv
IFZpcnR1YWwgQWRkcmVzcy4gUG9wdWxhdGVzIFNlZ21lbnQtPkJ1ZmZlciBhbmQgU2VnbWVudC0+
TGVuZ3RoCi0gICAgICAgIGlmICghTWFwU2VnbWVudEJ1ZmZlcihUYXJnZXQsIFNlZ21lbnQsIFNH
TGlzdCwgU2VjdG9yU2l6ZSwgKlNlY3RvcnNOb3cpKSB7Ci0gICAgICAgICAgICArK1RhcmdldC0+
RmFpbGVkTWFwczsKKyAgICAgICAgUmVxdWVzdCA9IFRhcmdldEdldFJlcXVlc3QoVGFyZ2V0KTsK
KyAgICAgICAgaWYgKFJlcXVlc3QgPT0gTlVMTCkKICAgICAgICAgICAgIGdvdG8gZmFpbDE7Ci0g
ICAgICAgIH0KLQotICAgICAgICAvLyBnZXQgYSBidWZmZXIKLSAgICAgICAgaWYgKCFCdWZmZXJH
ZXQoU2VnbWVudCwgJlNlZ21lbnQtPkJ1ZmZlcklkLCAmUGZuKSkgewotICAgICAgICAgICAgKytU
YXJnZXQtPkZhaWxlZEJvdW5jZXM7Ci0gICAgICAgICAgICBnb3RvIGZhaWwyOwotICAgICAgICB9
CisgICAgICAgIEluc2VydFRhaWxMaXN0KCZMaXN0LCAmUmVxdWVzdC0+TGlzdEVudHJ5KTsKKyAg
ICAgICAgSW50ZXJsb2NrZWRJbmNyZW1lbnQoJlNyYkV4dC0+UmVxdWVzdENvdW50KTsKIAotICAg
ICAgICAvLyBjb3B5IGNvbnRlbnRzIGluCi0gICAgICAgIGlmIChSZWFkT25seSkgeyAvLyBPcGVy
YXRpb24gPT0gQkxLSUZfT1BfV1JJVEUKLSAgICAgICAgICAgIEJ1ZmZlckNvcHlJbihTZWdtZW50
LT5CdWZmZXJJZCwgU2VnbWVudC0+QnVmZmVyLCBTZWdtZW50LT5MZW5ndGgpOwotICAgICAgICB9
CisgICAgICAgIFJlcXVlc3QtPlNyYkV4dCAgICAgICAgID0gU3JiRXh0OworICAgICAgICBSZXF1
ZXN0LT5PcGVyYXRpb24gICAgICA9IEJMS0lGX09QX0RJU0NBUkQ7CisgICAgICAgIFJlcXVlc3Qt
PkZpcnN0U2VjdG9yICAgID0gX2J5dGVzd2FwX3VpbnQ2NCgqKFBVTE9ORzY0KURlc2NyLT5TdGFy
dGluZ0xiYSk7CisgICAgICAgIFJlcXVlc3QtPk5yU2VjdG9ycyAgICAgID0gX2J5dGVzd2FwX3Vs
b25nKCooUFVMT05HKURlc2NyLT5MYmFDb3VudCk7CisgICAgICAgIFJlcXVlc3QtPkZsYWdzICAg
ICAgICAgID0gMDsKICAgICB9CiAKLSAgICAvLyBHcmFudCBzZWdtZW50J3MgcGFnZQotICAgIFN0
YXR1cyA9IEdyYW50ZXJHZXQoR3JhbnRlciwgUGZuLCBSZWFkT25seSwgJlNlZ21lbnQtPkdyYW50
KTsKLSAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkgewotICAgICAgICArK1RhcmdldC0+RmFp
bGVkR3JhbnRzOwotICAgICAgICBnb3RvIGZhaWwzOworICAgIFNyYi0+U3JiU3RhdHVzID0gU1JC
X1NUQVRVU19QRU5ESU5HOworCisgICAgS2VBY3F1aXJlU3BpbkxvY2soJlRhcmdldC0+UXVldWVM
b2NrLCAmSXJxbCk7CisgICAgZm9yICg7OykgeworICAgICAgICBQTElTVF9FTlRSWSAgICAgTGlz
dEVudHJ5OworICAgICAgICBQWEVOVkJEX1JFUVVFU1QgUmVxdWVzdDsKKworICAgICAgICBMaXN0
RW50cnkgPSBSZW1vdmVIZWFkTGlzdCgmTGlzdCk7CisgICAgICAgIGlmIChMaXN0RW50cnkgPT0g
Jkxpc3QpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgUmVxdWVzdCA9IENPTlRBSU5JTkdf
UkVDT1JEKExpc3RFbnRyeSwgWEVOVkJEX1JFUVVFU1QsIExpc3RFbnRyeSk7CisgICAgICAgIElu
c2VydFRhaWxMaXN0KCZUYXJnZXQtPlByZXBhcmVkLCAmUmVxdWVzdC0+TGlzdEVudHJ5KTsKICAg
ICB9CisgICAgS2VSZWxlYXNlU3BpbkxvY2soJlRhcmdldC0+UXVldWVMb2NrLCBJcnFsKTsKIAog
ICAgIHJldHVybiBUUlVFOwogCi1mYWlsMzoKLWZhaWwyOgotZmFpbDE6CitmYWlsMTogCisgICAg
U3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX0VSUk9SOworICAgIGZvciAoOzspIHsKKyAgICAg
ICAgUExJU1RfRU5UUlkgICAgIExpc3RFbnRyeTsKKyAgICAgICAgUFhFTlZCRF9SRVFVRVNUIFJl
cXVlc3Q7CisKKyAgICAgICAgTGlzdEVudHJ5ID0gUmVtb3ZlSGVhZExpc3QoJkxpc3QpOworICAg
ICAgICBpZiAoTGlzdEVudHJ5ID09ICZMaXN0KQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IFJlcXVlc3QgPSBDT05UQUlOSU5HX1JFQ09SRChMaXN0RW50cnksIFhFTlZCRF9SRVFVRVNULCBM
aXN0RW50cnkpOworICAgICAgICBUYXJnZXRQdXRSZXF1ZXN0KFRhcmdldCwgUmVxdWVzdCk7Cisg
ICAgfQogICAgIHJldHVybiBGQUxTRTsKIH0KIAogc3RhdGljIEJPT0xFQU4KLVByZXBhcmVCbGtp
ZlJlYWRXcml0ZSgKLSAgICBJTiAgUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0LAot
ICAgIElOICBQWEVOVkJEX1JFUVVFU1QgICAgICAgICBSZXF1ZXN0LAotICAgIElOICBQWEVOVkJE
X1NHX0xJU1QgICAgICAgICBTR0xpc3QsCi0gICAgSU4gIFVMT05HICAgICAgICAgICAgICAgICAg
IE1heFNlZ21lbnRzLAotICAgIElOICBVTE9ORzY0ICAgICAgICAgICAgICAgICBTZWN0b3JTdGFy
dCwKLSAgICBJTiAgVUxPTkcgICAgICAgICAgICAgICAgICAgU2VjdG9yc0xlZnQsCi0gICAgT1VU
IFBVTE9ORyAgICAgICAgICAgICAgICAgIFNlY3RvcnNEb25lCitUYXJnZXRQcmVwYXJlU3luYygK
KyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldCwKKyAgICBJTiAgUFhFTlZCRF9TUkJFWFQg
IFNyYkV4dCwKKyAgICBJTiAgVUNIQVIgICAgICAgICAgIE9wZXJhdGlvbgogICAgICkKIHsKLSAg
ICBVQ0hBUiAgICAgICAgICAgT3BlcmF0aW9uOwotICAgIEJPT0xFQU4gICAgICAgICBSZWFkT25s
eTsKLSAgICBVTE9ORyAgICAgICAgICAgSW5kZXg7Ci0gICAgX19PcGVyYXRpb24oQ2RiX09wZXJh
dGlvbkV4KFJlcXVlc3QtPlNyYiksICZPcGVyYXRpb24sICZSZWFkT25seSk7CisgICAgUFNDU0lf
UkVRVUVTVF9CTE9DSyBTcmIgPSBTcmJFeHQtPlNyYjsKKyAgICBQWEVOVkJEX1JFUVVFU1QgICAg
IFJlcXVlc3Q7CisgICAgS0lSUUwgICAgICAgICAgICAgICBJcnFsOwogCi0gICAgUmVxdWVzdC0+
T3BlcmF0aW9uICA9IE9wZXJhdGlvbjsKLSAgICBSZXF1ZXN0LT5OclNlZ21lbnRzID0gMDsKLSAg
ICBSZXF1ZXN0LT5GaXJzdFNlY3RvciA9IFNlY3RvclN0YXJ0OwotCi0gICAgZm9yIChJbmRleCA9
IDA7Ci0gICAgICAgICAgICAgICAgSW5kZXggPCBNYXhTZWdtZW50cyAmJgotICAgICAgICAgICAg
ICAgIFNlY3RvcnNMZWZ0ID4gMDsKLSAgICAgICAgICAgICAgICAgICAgICAgICsrSW5kZXgpIHsK
LSAgICAgICAgUFhFTlZCRF9TRUdNRU5UIFNlZ21lbnQ7Ci0gICAgICAgIFVMT05HICAgICAgICAg
ICBTZWN0b3JzTm93OwotCi0gICAgICAgIFNlZ21lbnQgPSBUYXJnZXRHZXRTZWdtZW50KFRhcmdl
dCk7Ci0gICAgICAgIGlmIChTZWdtZW50ID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGZhaWwx
OworICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19FUlJPUjsKKyAgICBSZXF1ZXN0ID0g
VGFyZ2V0R2V0UmVxdWVzdChUYXJnZXQpOworICAgIGlmIChSZXF1ZXN0ID09IE5VTEwpCisgICAg
ICAgIHJldHVybiBGQUxTRTsKKyAgICBJbnRlcmxvY2tlZEluY3JlbWVudCgmU3JiRXh0LT5SZXF1
ZXN0Q291bnQpOwogCi0gICAgICAgIEluc2VydFRhaWxMaXN0KCZSZXF1ZXN0LT5TZWdtZW50cywg
JlNlZ21lbnQtPkVudHJ5KTsKLSAgICAgICAgKytSZXF1ZXN0LT5OclNlZ21lbnRzOworICAgIFJl
cXVlc3QtPlNyYkV4dCAgICAgPSBTcmJFeHQ7CisgICAgUmVxdWVzdC0+T3BlcmF0aW9uICA9IE9w
ZXJhdGlvbjsKKyAgICBSZXF1ZXN0LT5GaXJzdFNlY3RvciA9IENkYl9Mb2dpY2FsQmxvY2soU3Ji
KTsKIAotICAgICAgICBpZiAoIVByZXBhcmVTZWdtZW50KFRhcmdldCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTZWdtZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNHTGlz
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFkT25seSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTZWN0b3JzTGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
U2VjdG9yc05vdykpCi0gICAgICAgICAgICBnb3RvIGZhaWwyOworICAgIFNyYi0+U3JiU3RhdHVz
ID0gU1JCX1NUQVRVU19QRU5ESU5HOwogCi0gICAgICAgICpTZWN0b3JzRG9uZSArPSBTZWN0b3Jz
Tm93OwotICAgICAgICBTZWN0b3JzTGVmdCAgLT0gU2VjdG9yc05vdzsKLSAgICB9Ci0gICAgQVNT
RVJUM1UoUmVxdWVzdC0+TnJTZWdtZW50cywgPiwgMCk7Ci0gICAgQVNTRVJUM1UoUmVxdWVzdC0+
TnJTZWdtZW50cywgPD0sIE1heFNlZ21lbnRzKTsKKyAgICBLZUFjcXVpcmVTcGluTG9jaygmVGFy
Z2V0LT5RdWV1ZUxvY2ssICZJcnFsKTsKKyAgICBJbnNlcnRUYWlsTGlzdCgmVGFyZ2V0LT5QcmVw
YXJlZCwgJlJlcXVlc3QtPkxpc3RFbnRyeSk7CisgICAgS2VSZWxlYXNlU3BpbkxvY2soJlRhcmdl
dC0+UXVldWVMb2NrLCBJcnFsKTsKIAogICAgIHJldHVybiBUUlVFOwotCi1mYWlsMjoKLWZhaWwx
OgotICAgIHJldHVybiBGQUxTRTsKIH0KIAogc3RhdGljIEJPT0xFQU4KLVByZXBhcmVCbGtpZklu
ZGlyZWN0KAotICAgIElOICBQWEVOVkJEX1RBUkdFVCAgICAgICAgICAgICBUYXJnZXQsCi0gICAg
SU4gIFBYRU5WQkRfUkVRVUVTVCAgICAgICAgIFJlcXVlc3QKK1RhcmdldFByZXBhcmVSZXF1ZXN0
KAorICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0LAorICAgIElOICBQWEVOVkJEX1NSQkVY
VCAgU3JiRXh0CiAgICAgKQogewotICAgIFVMT05HICAgICAgICAgICBJbmRleDsKLSAgICBVTE9O
RyAgICAgICAgICAgTnJTZWdtZW50cyA9IDA7CisgICAgUFNDU0lfUkVRVUVTVF9CTE9DSyBTcmIg
PSBTcmJFeHQtPlNyYjsKKyAgICBVQ0hBUiAgICAgICAgICAgICAgIE9wZXJhdGlvbjsKIAotICAg
IGZvciAoSW5kZXggPSAwOwotICAgICAgICAgICAgSW5kZXggPCBCTEtJRl9NQVhfSU5ESVJFQ1Rf
UEFHRVNfUEVSX1JFUVVFU1QgJiYKLSAgICAgICAgICAgIE5yU2VnbWVudHMgPCBSZXF1ZXN0LT5O
clNlZ21lbnRzOwotICAgICAgICAgICAgICAgICsrSW5kZXgpIHsKLSAgICAgICAgUFhFTlZCRF9J
TkRJUkVDVCAgICBJbmRpcmVjdDsKKyAgICBPcGVyYXRpb24gPSBDZGJfT3BlcmF0aW9uRXgoU3Ji
RXh0LT5TcmIpOworICAgIHN3aXRjaCAoT3BlcmF0aW9uKSB7CisgICAgY2FzZSBTQ1NJT1BfUkVB
RDoKKyAgICAgICAgcmV0dXJuIFRhcmdldFByZXBhcmVSVyhUYXJnZXQsIFNyYkV4dCwgQkxLSUZf
T1BfUkVBRCk7CiAKLSAgICAgICAgSW5kaXJlY3QgPSBUYXJnZXRHZXRJbmRpcmVjdChUYXJnZXQp
OwotICAgICAgICBpZiAoSW5kaXJlY3QgPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gZmFpbDE7
Ci0gICAgICAgIEluc2VydFRhaWxMaXN0KCZSZXF1ZXN0LT5JbmRpcmVjdHMsICZJbmRpcmVjdC0+
RW50cnkpOworICAgIGNhc2UgU0NTSU9QX1dSSVRFOgorICAgICAgICByZXR1cm4gVGFyZ2V0UHJl
cGFyZVJXKFRhcmdldCwgU3JiRXh0LCBCTEtJRl9PUF9XUklURSk7CiAKLSAgICAgICAgTnJTZWdt
ZW50cyArPSBYRU5WQkRfTUFYX1NFR01FTlRTX1BFUl9QQUdFOwotICAgIH0KKyAgICBjYXNlIFND
U0lPUF9VTk1BUDoKKyAgICAgICAgcmV0dXJuIFRhcmdldFByZXBhcmVVbm1hcChUYXJnZXQsIFNy
YkV4dCk7CiAKLSAgICByZXR1cm4gVFJVRTsKKyAgICBjYXNlIFNDU0lPUF9TWU5DSFJPTklaRV9D
QUNIRToKKyAgICAgICAgaWYgKFRhcmdldC0+RmVhdHVyZUZsdXNoKQorICAgICAgICAgICAgcmV0
dXJuIFRhcmdldFByZXBhcmVTeW5jKFRhcmdldCwgU3JiRXh0LCBCTEtJRl9PUF9GTFVTSF9ESVNL
Q0FDSEUpOworICAgICAgICBpZiAoVGFyZ2V0LT5GZWF0dXJlQmFycmllcikKKyAgICAgICAgICAg
IHJldHVybiBUYXJnZXRQcmVwYXJlU3luYyhUYXJnZXQsIFNyYkV4dCwgQkxLSUZfT1BfV1JJVEVf
QkFSUklFUik7CisgICAgICAgIAorICAgICAgICAvLyBub3RoaW5nIHN1cHBvcnRlZCAtIHNob3Vs
ZG50IHJlYWxseSBnZXQgaGVyZSwgYnV0IGp1c3QgY29tcGxldGUgaWYgaXQgZGlkCisgICAgICAg
IFdhcm5pbmcoIlsldV0gRkxVU0ggJiBCQVJSSUVSIG5vdCBzdXBwb3J0ZWQsIFNDU0lPUF9TWU5D
SFJPTklaRV9DQUNIRSBnb3QgdG8gUHJlcGFyZVxuIiwKKyAgICAgICAgICAgICAgICBUYXJnZXQt
PlRhcmdldElkKTsKKyAgICAgICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX1NVQ0NFU1M7
CisgICAgICAgIEFkYXB0ZXJDb21wbGV0ZVNyYihUYXJnZXQtPkFkYXB0ZXIsIFNyYkV4dCk7Cisg
ICAgICAgIHJldHVybiBUUlVFOwogCi1mYWlsMToKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NF
UlQoRkFMU0UpOworICAgICAgICBicmVhazsKKyAgICB9CiAgICAgcmV0dXJuIEZBTFNFOwogfQog
Ci1zdGF0aWMgRk9SQ0VJTkxJTkUgVUxPTkcKLVVzZUluZGlyZWN0KAotICAgIElOICBQWEVOVkJE
X1RBUkdFVCAgICAgICAgICAgICBUYXJnZXQsCi0gICAgSU4gIFVMT05HICAgICAgICAgICAgICAg
ICAgIFNlY3RvcnNMZWZ0Ci0gICAgKQorc3RhdGljIEZPUkNFSU5MSU5FIEJPT0xFQU4KK1Rhcmdl
dFByZXBhcmVGcmVzaCgKKyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldAorICAgICkgCiB7
Ci0gICAgY29uc3QgVUxPTkcgU2VjdG9yc1BlclBhZ2UgPSBfX1NlY3RvcnNQZXJQYWdlKFRhcmdl
dFNlY3RvclNpemUoVGFyZ2V0KSk7Ci0gICAgY29uc3QgVUxPTkcgTWF4SW5kaXJlY3RTZWdzID0g
RnJvbnRlbmRHZXRGZWF0dXJlcyhUYXJnZXQtPkZyb250ZW5kKS0+SW5kaXJlY3Q7CisgICAgUFhF
TlZCRF9TUkJFWFQgICAgICBTcmJFeHQ7CisgICAgUExJU1RfRU5UUlkgICAgICAgICBMaXN0RW50
cnk7CisgICAgS0lSUUwgICAgICAgICAgICAgICBJcnFsOworCisgICAgS2VBY3F1aXJlU3Bpbkxv
Y2soJlRhcmdldC0+UXVldWVMb2NrLCAmSXJxbCk7CisgICAgTGlzdEVudHJ5ID0gUmVtb3ZlSGVh
ZExpc3QoJlRhcmdldC0+RnJlc2gpOworICAgIGlmIChMaXN0RW50cnkgPT0gJlRhcmdldC0+RnJl
c2gpIHsKKyAgICAgICAgS2VSZWxlYXNlU3BpbkxvY2soJlRhcmdldC0+UXVldWVMb2NrLCBJcnFs
KTsKKyAgICAgICAgcmV0dXJuIEZBTFNFOworICAgIH0KKyAgICBLZVJlbGVhc2VTcGluTG9jaygm
VGFyZ2V0LT5RdWV1ZUxvY2ssIElycWwpOworCisgICAgU3JiRXh0ID0gQ09OVEFJTklOR19SRUNP
UkQoTGlzdEVudHJ5LCBYRU5WQkRfU1JCRVhULCBMaXN0RW50cnkpOwogCi0gICAgaWYgKE1heElu
ZGlyZWN0U2VncyA8PSBCTEtJRl9NQVhfU0VHTUVOVFNfUEVSX1JFUVVFU1QpCi0gICAgICAgIHJl
dHVybiBCTEtJRl9NQVhfU0VHTUVOVFNfUEVSX1JFUVVFU1Q7IC8vIG5vdCBzdXBwb3J0ZWQKKyAg
ICBpZiAoVGFyZ2V0UHJlcGFyZVJlcXVlc3QoVGFyZ2V0LCBTcmJFeHQpKQorICAgICAgICByZXR1
cm4gVFJVRTsKIAotICAgIGlmIChTZWN0b3JzTGVmdCA8IEJMS0lGX01BWF9TRUdNRU5UU19QRVJf
UkVRVUVTVCAqIFNlY3RvcnNQZXJQYWdlKQotICAgICAgICByZXR1cm4gQkxLSUZfTUFYX1NFR01F
TlRTX1BFUl9SRVFVRVNUOyAvLyBmaXJzdCBpbnRvIGEgc2luZ2xlIEJMS0lGX09QX3tSRUFEL1dS
SVRFfQorICAgIEtlQWNxdWlyZVNwaW5Mb2NrKCZUYXJnZXQtPlF1ZXVlTG9jaywgJklycWwpOwor
ICAgIEluc2VydEhlYWRMaXN0KCZUYXJnZXQtPkZyZXNoLCBMaXN0RW50cnkpOworICAgIEtlUmVs
ZWFzZVNwaW5Mb2NrKCZUYXJnZXQtPlF1ZXVlTG9jaywgSXJxbCk7CiAKLSAgICByZXR1cm4gTWF4
SW5kaXJlY3RTZWdzOworICAgIHJldHVybiBGQUxTRTsKIH0KIAotc3RhdGljIEZPUkNFSU5MSU5F
IFVMT05HCi1UYXJnZXRRdWV1ZVJlcXVlc3RMaXN0KAotICAgIElOICBQWEVOVkJEX1RBUkdFVCAg
ICAgVGFyZ2V0LAotICAgIElOICBQTElTVF9FTlRSWSAgICAgTGlzdAorc3RhdGljIEZPUkNFSU5M
SU5FIEJPT0xFQU4KK1RhcmdldFN1Ym1pdFByZXBhcmVkKAorICAgIElOICBQWEVOVkJEX1RBUkdF
VCAgVGFyZ2V0CiAgICAgKQogewotICAgIFVMT05HICAgICAgICAgICAgICAgQ291bnQgPSAwOwog
ICAgIGZvciAoOzspIHsKKyAgICAgICAgUExJU1RfRU5UUlkgICAgIExpc3RFbnRyeTsKICAgICAg
ICAgUFhFTlZCRF9SRVFVRVNUIFJlcXVlc3Q7Ci0gICAgICAgIFBMSVNUX0VOVFJZICAgICBFbnRy
eTsKKyAgICAgICAgS0lSUUwgICAgICAgICAgIElycWw7CiAKLSAgICAgICAgRW50cnkgPSBSZW1v
dmVIZWFkTGlzdChMaXN0KTsKLSAgICAgICAgaWYgKEVudHJ5ID09IExpc3QpCisgICAgICAgIEtl
QWNxdWlyZVNwaW5Mb2NrKCZUYXJnZXQtPlF1ZXVlTG9jaywgJklycWwpOworICAgICAgICBMaXN0
RW50cnkgPSBSZW1vdmVIZWFkTGlzdCgmVGFyZ2V0LT5QcmVwYXJlZCk7CisgICAgICAgIGlmIChM
aXN0RW50cnkgPT0gJlRhcmdldC0+UHJlcGFyZWQpIHsKKyAgICAgICAgICAgIEtlUmVsZWFzZVNw
aW5Mb2NrKCZUYXJnZXQtPlF1ZXVlTG9jaywgSXJxbCk7CiAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorICAgICAgICBSZXF1ZXN0ID0gQ09OVEFJTklOR19SRUNPUkQoTGlzdEVudHJ5LCBY
RU5WQkRfUkVRVUVTVCwgTGlzdEVudHJ5KTsKKworICAgICAgICBJbnNlcnRUYWlsTGlzdCgmVGFy
Z2V0LT5TdWJtaXR0ZWQsIExpc3RFbnRyeSk7CisgICAgICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZU
YXJnZXQtPlF1ZXVlTG9jaywgSXJxbCk7CiAKLSAgICAgICAgKytDb3VudDsKLSAgICAgICAgUmVx
dWVzdCA9IENPTlRBSU5JTkdfUkVDT1JEKEVudHJ5LCBYRU5WQkRfUkVRVUVTVCwgRW50cnkpOwot
ICAgICAgICBfX1RhcmdldEluY0Jsa2lmT3BDb3VudChUYXJnZXQsIFJlcXVlc3QpOwotICAgICAg
ICBRdWV1ZUFwcGVuZCgmVGFyZ2V0LT5QcmVwYXJlZFJlcXMsICZSZXF1ZXN0LT5FbnRyeSk7Cisg
ICAgICAgIGlmIChCbG9ja1JpbmdTdWJtaXQoVGFyZ2V0LT5CbG9ja1JpbmcsIFJlcXVlc3QpKQor
ICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgS2VBY3F1aXJlU3BpbkxvY2soJlRhcmdl
dC0+UXVldWVMb2NrLCAmSXJxbCk7CisgICAgICAgIFJlbW92ZUVudHJ5TGlzdCgmUmVxdWVzdC0+
TGlzdEVudHJ5KTsKKyAgICAgICAgSW5zZXJ0SGVhZExpc3QoJlRhcmdldC0+UHJlcGFyZWQsICZS
ZXF1ZXN0LT5MaXN0RW50cnkpOworICAgICAgICBLZVJlbGVhc2VTcGluTG9jaygmVGFyZ2V0LT5R
dWV1ZUxvY2ssIElycWwpOworCisgICAgICAgIHJldHVybiBGQUxTRTsKICAgICB9Ci0gICAgcmV0
dXJuIENvdW50OworCisgICAgcmV0dXJuIFRSVUU7CiB9CiAKIHN0YXRpYyBGT1JDRUlOTElORSBW
T0lECi1UYXJnZXRDYW5jZWxSZXF1ZXN0TGlzdCgKLSAgICBJTiAgUFhFTlZCRF9UQVJHRVQgICAg
IFRhcmdldCwKLSAgICBJTiAgUExJU1RfRU5UUlkgICAgIExpc3QKK1RhcmdldENvbXBsZXRlU2h1
dGRvd24oCisgICAgSU4gIFBYRU5WQkRfVEFSR0VUICBUYXJnZXQKICAgICApCiB7CisgICAgaWYg
KElzTGlzdEVtcHR5KCZUYXJnZXQtPlNodXRkb3duKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlm
ICghSXNMaXN0RW1wdHkoJlRhcmdldC0+RnJlc2gpKQorICAgICAgICByZXR1cm47CisgICAgaWYg
KCFJc0xpc3RFbXB0eSgmVGFyZ2V0LT5QcmVwYXJlZCkpCisgICAgICAgIHJldHVybjsKKyAgICBp
ZiAoIUlzTGlzdEVtcHR5KCZUYXJnZXQtPlNodXRkb3duKSkKKyAgICAgICAgcmV0dXJuOworCiAg
ICAgZm9yICg7OykgewotICAgICAgICBQWEVOVkJEX1JFUVVFU1QgUmVxdWVzdDsKLSAgICAgICAg
UExJU1RfRU5UUlkgICAgIEVudHJ5OworICAgICAgICBQTElTVF9FTlRSWSAgICAgTGlzdEVudHJ5
OworICAgICAgICBQWEVOVkJEX1NSQkVYVCAgU3JiRXh0OworICAgICAgICBLSVJRTCAgICAgICAg
ICAgSXJxbDsKIAotICAgICAgICBFbnRyeSA9IFJlbW92ZUhlYWRMaXN0KExpc3QpOwotICAgICAg
ICBpZiAoRW50cnkgPT0gTGlzdCkKKyAgICAgICAgS2VBY3F1aXJlU3BpbkxvY2soJlRhcmdldC0+
UXVldWVMb2NrLCAmSXJxbCk7CisgICAgICAgIExpc3RFbnRyeSA9IFJlbW92ZUhlYWRMaXN0KCZU
YXJnZXQtPlNodXRkb3duKTsKKyAgICAgICAgaWYgKExpc3RFbnRyeSA9PSAmVGFyZ2V0LT5TaHV0
ZG93bikgeworICAgICAgICAgICAgS2VSZWxlYXNlU3BpbkxvY2soJlRhcmdldC0+UXVldWVMb2Nr
LCBJcnFsKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIEtlUmVsZWFz
ZVNwaW5Mb2NrKCZUYXJnZXQtPlF1ZXVlTG9jaywgSXJxbCk7CiAKLSAgICAgICAgUmVxdWVzdCA9
IENPTlRBSU5JTkdfUkVDT1JEKEVudHJ5LCBYRU5WQkRfUkVRVUVTVCwgRW50cnkpOwotICAgICAg
ICBUYXJnZXRQdXRSZXF1ZXN0KFRhcmdldCwgUmVxdWVzdCk7CisgICAgICAgIFNyYkV4dCA9IENP
TlRBSU5JTkdfUkVDT1JEKExpc3RFbnRyeSwgWEVOVkJEX1NSQkVYVCwgTGlzdEVudHJ5KTsKKyAg
ICAgICAgU3JiRXh0LT5TcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfU1VDQ0VTUzsKKyAgICAg
ICAgQWRhcHRlckNvbXBsZXRlU3JiKFRhcmdldEdldEFkYXB0ZXIoVGFyZ2V0KSwgU3JiRXh0KTsK
ICAgICB9CiB9CiAKLV9fY2hlY2tSZXR1cm4KLXN0YXRpYyBCT09MRUFOCi1QcmVwYXJlUmVhZFdy
aXRlKAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0LAotICAgIF9f
aW4gUFNDU0lfUkVRVUVTVF9CTE9DSyAgICAgU3JiCitWT0lECitUYXJnZXRTdWJtaXRSZXF1ZXN0
cygKKyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldAogICAgICkKIHsKLSAgICBQWEVOVkJE
X1NSQkVYVCAgU3JiRXh0ID0gU3JiLT5TcmJFeHRlbnNpb247Ci0gICAgVUxPTkc2NCAgICAgICAg
IFNlY3RvclN0YXJ0ID0gQ2RiX0xvZ2ljYWxCbG9jayhTcmIpOwotICAgIFVMT05HICAgICAgICAg
ICBTZWN0b3JzTGVmdCA9IENkYl9UcmFuc2ZlckJsb2NrKFNyYik7Ci0gICAgTElTVF9FTlRSWSAg
ICAgIExpc3Q7Ci0gICAgWEVOVkJEX1NHX0xJU1QgIFNHTGlzdDsKLSAgICBVTE9ORyAgICAgICAg
ICAgRGVidWdDb3VudDsKKyAgICBmb3IgKDs7KSB7CisgICAgICAgIC8vIHN1Ym1pdCBhbGwgcHJl
cGFyZWQgcmVxdWVzdHMgKDAgb3IgbW9yZSByZXF1ZXN0cykKKyAgICAgICAgLy8gcmV0dXJuIFRS
VUUgaWYgc3VibWl0dGVkIDAgb3IgbW9yZSByZXF1ZXN0cyBmcm9tIHByZXBhcmVkIHF1ZXVlCisg
ICAgICAgIC8vIHJldHVybiBGQUxTRSBpZmYgcmluZyBpcyBmdWxsCisgICAgICAgIGlmICghVGFy
Z2V0U3VibWl0UHJlcGFyZWQoVGFyZ2V0KSkKKyAgICAgICAgICAgIGJyZWFrOwogCi0gICAgU3Ji
LT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX1BFTkRJTkc7CisgICAgICAgIC8vIHByZXBhcmUgYSBz
aW5nbGUgU1JCIChpbnRvIDEgb3IgbW9yZSByZXF1ZXN0cykKKyAgICAgICAgLy8gcmV0dXJuIFRS
VUUgaWYgcHJlcGFyZSBzdWNjZWVkZWQKKyAgICAgICAgLy8gcmV0dXJuIEZBTFNFIGlmIHByZXBh
cmUgZmFpbGVkIG9yIGZyZXNoIHF1ZXVlIGVtcHR5CisgICAgICAgIGlmICghVGFyZ2V0UHJlcGFy
ZUZyZXNoKFRhcmdldCkpCisgICAgICAgICAgICBicmVhazsKKyAgICB9CiAKLSAgICBJbml0aWFs
aXplTGlzdEhlYWQoJkxpc3QpOwotICAgIFNyYkV4dC0+UmVxdWVzdENvdW50ID0gMDsKKyAgICAv
LyBpZiBubyByZXF1ZXN0cy9TUkJzIG91dHN0YW5kaW5nLCBjb21wbGV0ZSBhbnkgc2h1dGRvd24g
U1JCcworICAgIFRhcmdldENvbXBsZXRlU2h1dGRvd24oVGFyZ2V0KTsKK30KKworc3RhdGljIEZP
UkNFSU5MSU5FIFZPSUQKK1RhcmdldERpc2FibGVGZWF0dXJlKAorICAgIElOICBQWEVOVkJEX1RB
UkdFVCAgVGFyZ2V0LAorICAgIElOICBVQ0hBUiAgICAgICAgICAgT3BlcmF0aW9uCisgICAgKQor
eworICAgIHN3aXRjaCAoT3BlcmF0aW9uKSB7CisgICAgY2FzZSBCTEtJRl9PUF9XUklURV9CQVJS
SUVSOgorICAgICAgICBUYXJnZXQtPkZlYXR1cmVCYXJyaWVyID0gRkFMU0U7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgQkxLSUZfT1BfRkxVU0hfRElTS0NBQ0hFOgorICAgICAgICBUYXJnZXQt
PkZlYXR1cmVGbHVzaCA9IEZBTFNFOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEJMS0lGX09Q
X0RJU0NBUkQ6CisgICAgICAgIFRhcmdldC0+RmVhdHVyZURpc2NhcmQgPSBGQUxTRTsKKyAgICAg
ICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQogCi0gICAg
UnRsWmVyb01lbW9yeSgmU0dMaXN0LCBzaXplb2YoU0dMaXN0KSk7Ci0gICAgU0dMaXN0LlNHTGlz
dCA9IFN0b3JQb3J0R2V0U2NhdHRlckdhdGhlckxpc3QoVGFyZ2V0R2V0QWRhcHRlcihUYXJnZXQp
LCBTcmIpOworVk9JRAorVGFyZ2V0Q29tcGxldGVSZXNwb25zZSgKKyAgICBJTiAgUFhFTlZCRF9U
QVJHRVQgIFRhcmdldCwKKyAgICBJTiAgVUxPTkc2NCAgICAgICAgIElkLAorICAgIElOICBTSE9S
VCAgICAgICAgICAgU3RhdHVzCisgICAgKQoreworICAgIFBMSVNUX0VOVFJZICAgICAgICAgTGlz
dEVudHJ5OworICAgIFBYRU5WQkRfUkVRVUVTVCAgICAgUmVxdWVzdDsKKyAgICBQWEVOVkJEX1NS
QkVYVCAgICAgIFNyYkV4dDsKKyAgICBQU0NTSV9SRVFVRVNUX0JMT0NLIFNyYjsKKyAgICBLSVJR
TCAgICAgICAgICAgICAgIElycWw7CiAKLSAgICB3aGlsZSAoU2VjdG9yc0xlZnQgPiAwKSB7Ci0g
ICAgICAgIFVMT05HICAgICAgICAgICBNYXhTZWdtZW50czsKLSAgICAgICAgVUxPTkcgICAgICAg
ICAgIFNlY3RvcnNEb25lID0gMDsKLSAgICAgICAgUFhFTlZCRF9SRVFVRVNUIFJlcXVlc3Q7Cisg
ICAgS2VBY3F1aXJlU3BpbkxvY2soJlRhcmdldC0+UXVldWVMb2NrLCAmSXJxbCk7CisgICAgUmVx
dWVzdCA9IE5VTEw7CisgICAgZm9yIChMaXN0RW50cnkgPSBUYXJnZXQtPlN1Ym1pdHRlZC5GbGlu
azsKKyAgICAgICAgIExpc3RFbnRyeSAhPSAmVGFyZ2V0LT5TdWJtaXR0ZWQ7CisgICAgICAgICBM
aXN0RW50cnkgPSBMaXN0RW50cnktPkZsaW5rKSB7CisgICAgICAgIFJlcXVlc3QgPSBDT05UQUlO
SU5HX1JFQ09SRChMaXN0RW50cnksIFhFTlZCRF9SRVFVRVNULCBMaXN0RW50cnkpOwogCi0gICAg
ICAgIFJlcXVlc3QgPSBUYXJnZXRHZXRSZXF1ZXN0KFRhcmdldCk7Ci0gICAgICAgIGlmIChSZXF1
ZXN0ID09IE5VTEwpIAotICAgICAgICAgICAgZ290byBmYWlsMTsKLSAgICAgICAgSW5zZXJ0VGFp
bExpc3QoJkxpc3QsICZSZXF1ZXN0LT5FbnRyeSk7Ci0gICAgICAgIEludGVybG9ja2VkSW5jcmVt
ZW50KCZTcmJFeHQtPlJlcXVlc3RDb3VudCk7Ci0gICAgICAgIAotICAgICAgICBSZXF1ZXN0LT5T
cmIgICAgPSBTcmI7Ci0gICAgICAgIE1heFNlZ21lbnRzID0gVXNlSW5kaXJlY3QoVGFyZ2V0LCBT
ZWN0b3JzTGVmdCk7Ci0KLSAgICAgICAgaWYgKCFQcmVwYXJlQmxraWZSZWFkV3JpdGUoVGFyZ2V0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXF1ZXN0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmU0dMaXN0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBNYXhTZWdtZW50cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgU2VjdG9yU3RhcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNl
Y3RvcnNMZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmU2VjdG9yc0Rv
bmUpKQotICAgICAgICAgICAgZ290byBmYWlsMjsKKyAgICAgICAgaWYgKFJlcXVlc3QtPklkID09
IElkKSB7CisgICAgICAgICAgICBSZW1vdmVFbnRyeUxpc3QoJlJlcXVlc3QtPkxpc3RFbnRyeSk7
CiAKLSAgICAgICAgaWYgKE1heFNlZ21lbnRzID4gQkxLSUZfTUFYX1NFR01FTlRTX1BFUl9SRVFV
RVNUKSB7Ci0gICAgICAgICAgICBpZiAoIVByZXBhcmVCbGtpZkluZGlyZWN0KFRhcmdldCwgUmVx
dWVzdCkpCi0gICAgICAgICAgICAgICAgZ290byBmYWlsMzsKKyAgICAgICAgICAgIEFTU0VSVDNQ
KFJlcXVlc3QsID09LCAoUFZPSUQpKFVMT05HX1BUUilJZCk7CisgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQogCi0gICAgICAgIFNlY3RvcnNMZWZ0IC09IFNlY3RvcnNEb25lOwotICAgICAg
ICBTZWN0b3JTdGFydCArPSBTZWN0b3JzRG9uZTsKKyAgICAgICAgUmVxdWVzdCA9IE5VTEw7CiAg
ICAgfQorICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZUYXJnZXQtPlF1ZXVlTG9jaywgSXJxbCk7CiAK
LSAgICBEZWJ1Z0NvdW50ID0gVGFyZ2V0UXVldWVSZXF1ZXN0TGlzdChUYXJnZXQsICZMaXN0KTsK
LSAgICBpZiAoRGVidWdDb3VudCAhPSAoVUxPTkcpU3JiRXh0LT5SZXF1ZXN0Q291bnQpIHsKLSAg
ICAgICAgVHJhY2UoIlsldV0gJWQgIT0gJXVcbiIsIFRhcmdldEdldFRhcmdldElkKFRhcmdldCks
IFNyYkV4dC0+UmVxdWVzdENvdW50LCBEZWJ1Z0NvdW50KTsKLSAgICB9Ci0gICAgcmV0dXJuIFRS
VUU7CisgICAgQVNTRVJUM1AoUmVxdWVzdCwgIT0sIE5VTEwpOworICAgIFNyYkV4dCA9IFJlcXVl
c3QtPlNyYkV4dDsKKyAgICBBU1NFUlQzUChTcmJFeHQsICE9LCBOVUxMKTsKKyAgICBTcmIgPSBT
cmJFeHQtPlNyYjsKKyAgICBBU1NFUlQzUChTcmIsICE9LCBOVUxMKTsKIAotZmFpbDM6Ci1mYWls
MjoKLWZhaWwxOgotICAgIFRhcmdldENhbmNlbFJlcXVlc3RMaXN0KFRhcmdldCwgJkxpc3QpOwot
ICAgIFNyYkV4dC0+UmVxdWVzdENvdW50ID0gMDsKLSAgICBTcmItPlNyYlN0YXR1cyA9IFNSQl9T
VEFUVVNfRVJST1I7Ci0gICAgcmV0dXJuIEZBTFNFOworICAgIHN3aXRjaCAoU3RhdHVzKSB7Cisg
ICAgY2FzZSBCTEtJRl9SU1BfT0tBWToKKyAgICAgICAgaWYgKFJlcXVlc3QtPk9wZXJhdGlvbiA9
PSBCTEtJRl9PUF9SRUFEKSB7CisgICAgICAgICAgICBmb3IgKExpc3RFbnRyeSA9IFJlcXVlc3Qt
PlNlZ21lbnRzLkZsaW5rOworICAgICAgICAgICAgICAgICBMaXN0RW50cnkgIT0gJlJlcXVlc3Qt
PlNlZ21lbnRzOworICAgICAgICAgICAgICAgICBMaXN0RW50cnkgPSBMaXN0RW50cnktPkZsaW5r
KSB7CisgICAgICAgICAgICAgICAgUFhFTlZCRF9TRUdNRU5UIFNlZ21lbnQgPSBDT05UQUlOSU5H
X1JFQ09SRChMaXN0RW50cnksIFhFTlZCRF9TRUdNRU5ULCBMaXN0RW50cnkpOworCisgICAgICAg
ICAgICAgICAgaWYgKFNlZ21lbnQtPkJ1ZmZlcklkKSB7CisgICAgICAgICAgICAgICAgICAgIEFT
U0VSVChTZWdtZW50LT5CdWZmZXIpOworICAgICAgICAgICAgICAgICAgICBBU1NFUlQoU2VnbWVu
dC0+TGVuZ3RoKTsKKyAgICAgICAgICAgICAgICAgICAgQnVmZmVyQ29weU91dChTZWdtZW50LT5C
dWZmZXJJZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWdtZW50LT5CdWZm
ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VnbWVudC0+TGVuZ3RoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBCTEtJRl9SU1BfRU9QTk9UU1VQUDoKKyAgICAgICAgVGFyZ2V0RGlzYWJs
ZUZlYXR1cmUoVGFyZ2V0LCBSZXF1ZXN0LT5PcGVyYXRpb24pOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIEJMS0lGX1JTUF9FUlJPUjoKKyAgICBkZWZhdWx0OgorICAgICAgICBTcmItPlNyYlN0
YXR1cyA9IFNSQl9TVEFUVVNfRVJST1I7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIFRh
cmdldFB1dFJlcXVlc3QoVGFyZ2V0LCBSZXF1ZXN0KTsKKworICAgIGlmIChJbnRlcmxvY2tlZERl
Y3JlbWVudCgmU3JiRXh0LT5SZXF1ZXN0Q291bnQpICE9IDApCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmIChTcmItPlNyYlN0YXR1cyA9PSBTUkJfU1RBVFVTX1BFTkRJTkcpCisgICAgICAgIFNy
Yi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19TVUNDRVNTOworCisgICAgQWRhcHRlckNvbXBsZXRl
U3JiKFRhcmdldC0+QWRhcHRlciwgU3JiRXh0KTsKIH0KIAotX19jaGVja1JldHVybgotc3RhdGlj
IEJPT0xFQU4KLVByZXBhcmVTeW5jQ2FjaGUoCi0gICAgX19pbiBQWEVOVkJEX1RBUkdFVCAgICAg
ICAgICAgICBUYXJnZXQsCi0gICAgX19pbiBQU0NTSV9SRVFVRVNUX0JMT0NLICAgICBTcmIKK1ZP
SUQKK1RhcmdldFJlc2V0KAorICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0CiAgICAgKQog
ewotICAgIFBYRU5WQkRfU1JCRVhUICAgICAgU3JiRXh0ID0gU3JiLT5TcmJFeHRlbnNpb247Ci0g
ICAgUFhFTlZCRF9SRVFVRVNUICAgICBSZXF1ZXN0OwotICAgIExJU1RfRU5UUlkgICAgICAgICAg
TGlzdDsKLSAgICBVQ0hBUiAgICAgICAgICAgICAgIE9wZXJhdGlvbjsKLSAgICBVTE9ORyAgICAg
ICAgICAgICAgIERlYnVnQ291bnQ7CisgICAgVUxPTkcgICAgICAgICAgICAgICBPdXRzdGFuZGlu
ZzsKIAotICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19QRU5ESU5HOwotICAgIAotICAg
IGlmIChGcm9udGVuZEdldERpc2tJbmZvKFRhcmdldC0+RnJvbnRlbmQpLT5GbHVzaENhY2hlKQot
ICAgICAgICBPcGVyYXRpb24gPSBCTEtJRl9PUF9GTFVTSF9ESVNLQ0FDSEU7Ci0gICAgZWxzZQot
ICAgICAgICBPcGVyYXRpb24gPSBCTEtJRl9PUF9XUklURV9CQVJSSUVSOworICAgIFZlcmJvc2Uo
IlsldV0gPT09PT0+XG4iLCBUYXJnZXQtPlRhcmdldElkKTsKIAotICAgIEluaXRpYWxpemVMaXN0
SGVhZCgmTGlzdCk7Ci0gICAgU3JiRXh0LT5SZXF1ZXN0Q291bnQgPSAwOworICAgIEFTU0VSVDNV
KEtlR2V0Q3VycmVudElycWwoKSwgPT0sIERJU1BBVENIX0xFVkVMKTsKIAotICAgIFJlcXVlc3Qg
PSBUYXJnZXRHZXRSZXF1ZXN0KFRhcmdldCk7Ci0gICAgaWYgKFJlcXVlc3QgPT0gTlVMTCkKLSAg
ICAgICAgZ290byBmYWlsMTsKLSAgICBJbnNlcnRUYWlsTGlzdCgmTGlzdCwgJlJlcXVlc3QtPkVu
dHJ5KTsKLSAgICBJbnRlcmxvY2tlZEluY3JlbWVudCgmU3JiRXh0LT5SZXF1ZXN0Q291bnQpOwor
ICAgIFRyYWNlKCJwb2xsaW5nLi4uXG4iKTsKKyAgICBPdXRzdGFuZGluZyA9IEJsb2NrUmluZ1Bv
bGwoVGFyZ2V0LT5CbG9ja1JpbmcpOworICAgIFRyYWNlKCIldSByZXF1ZXN0cyBvdXRzdGFuZGlu
Z1xuIiwgT3V0c3RhbmRpbmcpOwogCi0gICAgUmVxdWVzdC0+U3JiICAgICAgICA9IFNyYjsKLSAg
ICBSZXF1ZXN0LT5PcGVyYXRpb24gID0gT3BlcmF0aW9uOwotICAgIFJlcXVlc3QtPkZpcnN0U2Vj
dG9yID0gQ2RiX0xvZ2ljYWxCbG9jayhTcmIpOworICAgIFZlcmJvc2UoIlsldV0gPD09PT09XG4i
LCBUYXJnZXQtPlRhcmdldElkKTsKK30KIAotICAgIERlYnVnQ291bnQgPSBUYXJnZXRRdWV1ZVJl
cXVlc3RMaXN0KFRhcmdldCwgJkxpc3QpOwotICAgIGlmIChEZWJ1Z0NvdW50ICE9IChVTE9ORylT
cmJFeHQtPlJlcXVlc3RDb3VudCkgewotICAgICAgICBUcmFjZSgiWyV1XSAlZCAhPSAldVxuIiwg
VGFyZ2V0R2V0VGFyZ2V0SWQoVGFyZ2V0KSwgU3JiRXh0LT5SZXF1ZXN0Q291bnQsIERlYnVnQ291
bnQpOwotICAgIH0KLSAgICByZXR1cm4gVFJVRTsKK1ZPSUQKK1RhcmdldEZsdXNoKAorICAgIElO
ICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0LAorICAgIElOICBQWEVOVkJEX1NSQkVYVCAgU3JiRXh0
CisgICAgKQoreworICAgIEtJUlFMICAgICAgICAgICAgICAgSXJxbDsKIAotZmFpbDE6Ci0gICAg
VGFyZ2V0Q2FuY2VsUmVxdWVzdExpc3QoVGFyZ2V0LCAmTGlzdCk7Ci0gICAgU3JiRXh0LT5SZXF1
ZXN0Q291bnQgPSAwOwotICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19FUlJPUjsKLSAg
ICByZXR1cm4gRkFMU0U7CisgICAgU3JiRXh0LT5TcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNf
UEVORElORzsKKworICAgIEtlQWNxdWlyZVNwaW5Mb2NrKCZUYXJnZXQtPlF1ZXVlTG9jaywgJkly
cWwpOworICAgIEluc2VydFRhaWxMaXN0KCZUYXJnZXQtPlNodXRkb3duLCAmU3JiRXh0LT5MaXN0
RW50cnkpOworICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZUYXJnZXQtPlF1ZXVlTG9jaywgSXJxbCk7
CisKKyAgICBCbG9ja1JpbmdLaWNrKFRhcmdldC0+QmxvY2tSaW5nKTsKIH0KIAotX19jaGVja1Jl
dHVybgotc3RhdGljIEJPT0xFQU4KLVByZXBhcmVVbm1hcCgKLSAgICBfX2luIFBYRU5WQkRfVEFS
R0VUICAgICAgICAgICAgIFRhcmdldCwKLSAgICBfX2luIFBTQ1NJX1JFUVVFU1RfQkxPQ0sgICAg
IFNyYgorVk9JRAorVGFyZ2V0U2h1dGRvd24oCisgICAgSU4gIFBYRU5WQkRfVEFSR0VUICBUYXJn
ZXQsCisgICAgSU4gIFBYRU5WQkRfU1JCRVhUICBTcmJFeHQKICAgICApCiB7Ci0gICAgUFhFTlZC
RF9TUkJFWFQgICAgICBTcmJFeHQgPSBTcmItPlNyYkV4dGVuc2lvbjsKLSAgICBQVU5NQVBfTElT
VF9IRUFERVIgIFVubWFwID0gU3JiLT5EYXRhQnVmZmVyOwotCVVMT05HICAgICAgICAgICAgICAg
Q291bnQgPSBfYnl0ZXN3YXBfdXNob3J0KCooUFVTSE9SVClVbm1hcC0+QmxvY2tEZXNjckRhdGFM
ZW5ndGgpIC8gc2l6ZW9mKFVOTUFQX0JMT0NLX0RFU0NSSVBUT1IpOwotICAgIFVMT05HICAgICAg
ICAgICAgICAgSW5kZXg7Ci0gICAgTElTVF9FTlRSWSAgICAgICAgICBMaXN0OwotICAgIFVMT05H
ICAgICAgICAgICAgICAgRGVidWdDb3VudDsKKyAgICBLSVJRTCAgICAgICAgICAgICAgIElycWw7
CisKKyAgICBTcmJFeHQtPlNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19QRU5ESU5HOworCisg
ICAgS2VBY3F1aXJlU3BpbkxvY2soJlRhcmdldC0+UXVldWVMb2NrLCAmSXJxbCk7CisgICAgSW5z
ZXJ0VGFpbExpc3QoJlRhcmdldC0+U2h1dGRvd24sICZTcmJFeHQtPkxpc3RFbnRyeSk7CisgICAg
S2VSZWxlYXNlU3BpbkxvY2soJlRhcmdldC0+UXVldWVMb2NrLCBJcnFsKTsKKworICAgIEJsb2Nr
UmluZ0tpY2soVGFyZ2V0LT5CbG9ja1JpbmcpOworfQorCitWT0lECitUYXJnZXRQcmVwYXJlU3Ji
KAorICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0LAorICAgIElOICBQWEVOVkJEX1NSQkVY
VCAgU3JiRXh0CisgICAgKQoreworICAgIFBTQ1NJX1JFUVVFU1RfQkxPQ0sgU3JiID0gU3JiRXh0
LT5TcmI7CisKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKFRhcmdldCk7CiAKICAgICBTcmIt
PlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfUEVORElORzsKK30KIAotICAgIEluaXRpYWxpemVMaXN0
SGVhZCgmTGlzdCk7Ci0gICAgU3JiRXh0LT5SZXF1ZXN0Q291bnQgPSAwOworc3RhdGljIEZPUkNF
SU5MSU5FIFZPSUQKK1RhcmdldFF1ZXVlU3JiKAorICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFy
Z2V0LAorICAgIElOICBQWEVOVkJEX1NSQkVYVCAgU3JiRXh0CisgICAgKQoreworICAgIEtJUlFM
ICAgICAgICAgICAgICAgSXJxbDsKIAotICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IENvdW50
OyArK0luZGV4KSB7Ci0gICAgICAgIFBVTk1BUF9CTE9DS19ERVNDUklQVE9SIERlc2NyID0gJlVu
bWFwLT5EZXNjcmlwdG9yc1tJbmRleF07Ci0gICAgICAgIFBYRU5WQkRfUkVRVUVTVCAgICAgICAg
IFJlcXVlc3Q7CisgICAgU3JiRXh0LT5TcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfUEVORElO
RzsKIAotICAgICAgICBSZXF1ZXN0ID0gVGFyZ2V0R2V0UmVxdWVzdChUYXJnZXQpOwotICAgICAg
ICBpZiAoUmVxdWVzdCA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBmYWlsMTsKLSAgICAgICAg
SW5zZXJ0VGFpbExpc3QoJkxpc3QsICZSZXF1ZXN0LT5FbnRyeSk7Ci0gICAgICAgIEludGVybG9j
a2VkSW5jcmVtZW50KCZTcmJFeHQtPlJlcXVlc3RDb3VudCk7CisgICAgS2VBY3F1aXJlU3Bpbkxv
Y2soJlRhcmdldC0+UXVldWVMb2NrLCAmSXJxbCk7CisgICAgSW5zZXJ0VGFpbExpc3QoJlRhcmdl
dC0+RnJlc2gsICZTcmJFeHQtPkxpc3RFbnRyeSk7CisgICAgS2VSZWxlYXNlU3BpbkxvY2soJlRh
cmdldC0+UXVldWVMb2NrLCBJcnFsKTsKIAotICAgICAgICBSZXF1ZXN0LT5TcmIgICAgICAgICAg
ICA9IFNyYjsKLSAgICAgICAgUmVxdWVzdC0+T3BlcmF0aW9uICAgICAgPSBCTEtJRl9PUF9ESVND
QVJEOwotICAgICAgICBSZXF1ZXN0LT5GaXJzdFNlY3RvciAgICA9IF9ieXRlc3dhcF91aW50NjQo
KihQVUxPTkc2NClEZXNjci0+U3RhcnRpbmdMYmEpOwotICAgICAgICBSZXF1ZXN0LT5OclNlY3Rv
cnMgICAgICA9IF9ieXRlc3dhcF91bG9uZygqKFBVTE9ORylEZXNjci0+TGJhQ291bnQpOwotICAg
ICAgICBSZXF1ZXN0LT5GbGFncyAgICAgICAgICA9IDA7Ci0gICAgfQorICAgIEJsb2NrUmluZ0tp
Y2soVGFyZ2V0LT5CbG9ja1JpbmcpOworfQogCi0gICAgRGVidWdDb3VudCA9IFRhcmdldFF1ZXVl
UmVxdWVzdExpc3QoVGFyZ2V0LCAmTGlzdCk7Ci0gICAgaWYgKERlYnVnQ291bnQgIT0gKFVMT05H
KVNyYkV4dC0+UmVxdWVzdENvdW50KSB7Ci0gICAgICAgIFRyYWNlKCJbJXVdICVkICE9ICV1XG4i
LCBUYXJnZXRHZXRUYXJnZXRJZChUYXJnZXQpLCBTcmJFeHQtPlJlcXVlc3RDb3VudCwgRGVidWdD
b3VudCk7Ci0gICAgfQotICAgIHJldHVybiBUUlVFOworc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQK
K1RhcmdldElucXVpcnlTdGQoCisgICAgSU4gIFBYRU5WQkRfVEFSR0VUICBUYXJnZXQsCisgICAg
SU4gIFBYRU5WQkRfU1JCRVhUICBTcmJFeHQKKyAgICApCit7CisgICAgUFNDU0lfUkVRVUVTVF9C
TE9DSyBTcmIgPSBTcmJFeHQtPlNyYjsKKyAgICBQSU5RVUlSWURBVEEgICAgICAgIERhdGEgPSBT
cmItPkRhdGFCdWZmZXI7CisgICAKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKFRhcmdldCk7
CiAKLWZhaWwxOgotICAgIFRhcmdldENhbmNlbFJlcXVlc3RMaXN0KFRhcmdldCwgJkxpc3QpOwot
ICAgIFNyYkV4dC0+UmVxdWVzdENvdW50ID0gMDsKLSAgICBTcmItPlNyYlN0YXR1cyA9IFNSQl9T
VEFUVVNfRVJST1I7Ci0gICAgcmV0dXJuIEZBTFNFOworICAgIFNyYi0+U3JiU3RhdHVzID0gU1JC
X1NUQVRVU19EQVRBX09WRVJSVU47CisgICAgaWYgKFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoIDwg
c2l6ZW9mKElOUVVJUllEQVRBKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUnRsWmVyb01lbW9y
eShEYXRhLCBTcmItPkRhdGFUcmFuc2Zlckxlbmd0aCk7CisgICAgRGF0YS0+RGV2aWNlVHlwZSAg
ICAgICAgICAgID0gRElSRUNUX0FDQ0VTU19ERVZJQ0U7CisgICAgRGF0YS0+RGV2aWNlVHlwZVF1
YWxpZmllciAgID0gREVWSUNFX0NPTk5FQ1RFRDsKKyAgICBEYXRhLT5WZXJzaW9ucyAgICAgICAg
ICAgICAgPSA0OworICAgIERhdGEtPlJlc3BvbnNlRGF0YUZvcm1hdCAgICA9IDI7CisgICAgRGF0
YS0+QWRkaXRpb25hbExlbmd0aCAgICAgID0gSU5RVUlSWURBVEFCVUZGRVJTSVpFIC0gNDsKKyAg
ICBEYXRhLT5Db21tYW5kUXVldWUgICAgICAgICAgPSAxOworICAgIFJ0bENvcHlNZW1vcnkoRGF0
YS0+VmVuZG9ySWQsICAgICAgICAgICAgICAgIlhFTlNSQyAgIiwgOCk7CisgICAgUnRsQ29weU1l
bW9yeShEYXRhLT5Qcm9kdWN0SWQsICAgICAgICAgICAgICAiUFZESVNLICAgICAgICAgICIsIDE2
KTsKKyAgICBSdGxDb3B5TWVtb3J5KERhdGEtPlByb2R1Y3RSZXZpc2lvbkxldmVsLCAgICIzLjAg
IiwgNCk7CisKKyAgICBTcmItPkRhdGFUcmFuc2Zlckxlbmd0aCA9IHNpemVvZihJTlFVSVJZREFU
QSk7CisgICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX1NVQ0NFU1M7Cit9CisKK3N0YXRp
YyBGT1JDRUlOTElORSBWT0lECitUYXJnZXRJbnF1aXJ5MDAoCisgICAgSU4gIFBYRU5WQkRfVEFS
R0VUICBUYXJnZXQsCisgICAgSU4gIFBYRU5WQkRfU1JCRVhUICBTcmJFeHQKKyAgICApCit7Cisg
ICAgUFNDU0lfUkVRVUVTVF9CTE9DSyBTcmIgPSBTcmJFeHQtPlNyYjsKKyAgICBQVUNIQVIgICAg
ICAgICAgICAgIERhdGEgPSBTcmItPkRhdGFCdWZmZXI7CisKKyAgICBVTlJFRkVSRU5DRURfUEFS
QU1FVEVSKFRhcmdldCk7CisKKyAgICBTcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfREFUQV9P
VkVSUlVOOworICAgIGlmIChTcmItPkRhdGFUcmFuc2Zlckxlbmd0aCA8IDcpCisgICAgICAgIHJl
dHVybjsKKworICAgIFJ0bFplcm9NZW1vcnkoRGF0YSwgU3JiLT5EYXRhVHJhbnNmZXJMZW5ndGgp
OworICAgIERhdGFbM10gPSAzOworICAgIERhdGFbNV0gPSAweDgwOworICAgIERhdGFbNl0gPSAw
eDgzOworCisgICAgU3JiLT5EYXRhVHJhbnNmZXJMZW5ndGggPSA3OworICAgIFNyYi0+U3JiU3Rh
dHVzID0gU1JCX1NUQVRVU19TVUNDRVNTOwogfQogCi0vLz09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0v
LyBRdWV1ZS1SZWxhdGVkCiBzdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAotX19UYXJnZXRQYXVzZURh
dGFQYXRoKAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0LAotICAg
IF9faW4gQk9PTEVBTiAgICAgICAgICAgICAgICAgVGltZW91dAorVGFyZ2V0SW5xdWlyeTgwKAor
ICAgIElOICBQWEVOVkJEX1RBUkdFVCAgICAgIFRhcmdldCwKKyAgICBJTiAgUFhFTlZCRF9TUkJF
WFQgICAgICBTcmJFeHQKICAgICApCiB7Ci0gICAgS0lSUUwgICAgICAgICAgICAgICBJcnFsOwot
ICAgIFVMT05HICAgICAgICAgICAgICAgUmVxdWVzdHM7Ci0gICAgVUxPTkcgICAgICAgICAgICAg
ICBDb3VudCA9IDA7Ci0gICAgUFhFTlZCRF9OT1RJRklFUiAgICBOb3RpZmllciA9IEZyb250ZW5k
R2V0Tm90aWZpZXIoVGFyZ2V0LT5Gcm9udGVuZCk7Ci0gICAgUFhFTlZCRF9CTE9DS1JJTkcgICBC
bG9ja1JpbmcgPSBGcm9udGVuZEdldEJsb2NrUmluZyhUYXJnZXQtPkZyb250ZW5kKTsKKyAgICBQ
U0NTSV9SRVFVRVNUX0JMT0NLICAgICBTcmIgPSBTcmJFeHQtPlNyYjsKKyAgICBQVlBEX1NFUklB
TF9OVU1CRVJfUEFHRSBEYXRhID0gU3JiLT5EYXRhQnVmZmVyOworICAgCisgICAgU3JiLT5TcmJT
dGF0dXMgPSBTUkJfU1RBVFVTX0RBVEFfT1ZFUlJVTjsKKyAgICBpZiAoU3JiLT5EYXRhVHJhbnNm
ZXJMZW5ndGggPCBzaXplb2YoVlBEX1NFUklBTF9OVU1CRVJfUEFHRSkgKyA0KQorICAgICAgICBy
ZXR1cm47CiAKLSAgICBLZUFjcXVpcmVTcGluTG9jaygmVGFyZ2V0LT5Mb2NrLCAmSXJxbCk7Ci0g
ICAgKytUYXJnZXQtPlBhdXNlZDsKLSAgICBLZVJlbGVhc2VTcGluTG9jaygmVGFyZ2V0LT5Mb2Nr
LCBJcnFsKTsKKyAgICBSdGxaZXJvTWVtb3J5KERhdGEsIFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3Ro
KTsKKyAgICBEYXRhLT5QYWdlQ29kZSA9IDB4ODA7CisgICAgRGF0YS0+UGFnZUxlbmd0aCA9IDQ7
CisgICAgUnRsU3RyaW5nQ2NoUHJpbnRmQSgoUENIQVIpRGF0YS0+U2VyaWFsTnVtYmVyLCA0LCAi
JTA0dSIsIFRhcmdldC0+VGFyZ2V0SWQpOwogCi0gICAgUmVxdWVzdHMgPSBRdWV1ZUNvdW50KCZU
YXJnZXQtPlN1Ym1pdHRlZFJlcXMpOwotICAgIEtlTWVtb3J5QmFycmllcigpOworICAgIFNyYi0+
RGF0YVRyYW5zZmVyTGVuZ3RoID0gc2l6ZW9mKFZQRF9TRVJJQUxfTlVNQkVSX1BBR0UpICsgNDsK
KyAgICBTcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfU1VDQ0VTUzsKK30KIAotICAgIFZlcmJv
c2UoIlRhcmdldFslZF0gOiBXYWl0aW5nIGZvciAlZCBTdWJtaXR0ZWQgcmVxdWVzdHNcbiIsIFRh
cmdldEdldFRhcmdldElkKFRhcmdldCksIFJlcXVlc3RzKTsKK3N0YXRpYyBGT1JDRUlOTElORSBW
T0lECitUYXJnZXRJbnF1aXJ5ODMoCisgICAgSU4gIFBYRU5WQkRfVEFSR0VUICAgICAgVGFyZ2V0
LAorICAgIElOICBQWEVOVkJEX1NSQkVYVCAgICAgIFNyYkV4dAorICAgICkKK3sKKyAgICBQU0NT
SV9SRVFVRVNUX0JMT0NLICAgICAgICAgU3JiID0gU3JiRXh0LT5TcmI7CisgICAgUFZQRF9JREVO
VElGSUNBVElPTl9QQUdFICAgIERhdGEgPSBTcmItPkRhdGFCdWZmZXI7CisgICAgUFZQRF9JREVO
VElGSUNBVElPTl9ERVNDUklQVE9SICBEZXNjcjsKIAotICAgIC8vIHBvbGwgcmluZyBhbmQgc2Vu
ZCBldmVudCBjaGFubmVsIG5vdGlmaWNhdGlvbiBldmVyeSAxbXMgKGZvciB1cCB0byAzIG1pbnV0
ZXMpCi0gICAgd2hpbGUgKFF1ZXVlQ291bnQoJlRhcmdldC0+U3VibWl0dGVkUmVxcykpIHsKLSAg
ICAgICAgaWYgKFRpbWVvdXQgJiYgQ291bnQgPiAxODAwMDApCi0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgS2VSYWlzZUlycWwoRElTUEFUQ0hfTEVWRUwsICZJcnFsKTsKLSAgICAgICAgQmxv
Y2tSaW5nUG9sbChCbG9ja1JpbmcpOwotICAgICAgICBLZUxvd2VySXJxbChJcnFsKTsKLSAgICAg
ICAgTm90aWZpZXJTZW5kKE5vdGlmaWVyKTsgICAgICAgICAvLyBsZXQgYmFja2VuZCBrbm93IGl0
IG5lZWRzIHRvIGRvIHNvbWUgd29yawotICAgICAgICBTdG9yUG9ydFN0YWxsRXhlY3V0aW9uKDEw
MDApOyAgIC8vIDEwMDAgbWljcm8tc2Vjb25kcwotICAgICAgICArK0NvdW50OworICAgIFNyYi0+
U3JiU3RhdHVzID0gU1JCX1NUQVRVU19EQVRBX09WRVJSVU47CisgICAgaWYgKFNyYi0+RGF0YVRy
YW5zZmVyTGVuZ3RoIDwgc2l6ZW9mKFZQRF9JREVOVElGSUNBVElPTl9QQUdFKSAtIDEgKworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihWUERfSURFTlRJRklDQVRJT05f
REVTQ1JJUFRPUikgKyAxNikKKyAgICAgICAgcmV0dXJuOworCisgICAgUnRsWmVyb01lbW9yeShE
YXRhLCBTcmItPkRhdGFUcmFuc2Zlckxlbmd0aCk7CisgICAgRGF0YS0+UGFnZUNvZGUgPSAweDgz
OworICAgIERhdGEtPlBhZ2VMZW5ndGggPSBzaXplb2YoVlBEX0lERU5USUZJQ0FUSU9OX0RFU0NS
SVBUT1IpICsgMTY7CisKKyAgICBEZXNjciA9IChQVlBEX0lERU5USUZJQ0FUSU9OX0RFU0NSSVBU
T1IpRGF0YS0+RGVzY3JpcHRvcnM7CisgICAgRGVzY3ItPkNvZGVTZXQgICAgICAgICAgPSBWcGRD
b2RlU2V0QXNjaWk7CisgICAgRGVzY3ItPklkZW50aWZpZXJUeXBlICAgPSBWcGRJZGVudGlmaWVy
VHlwZVZlbmRvcklkOworICAgIERlc2NyLT5JZGVudGlmaWVyTGVuZ3RoID0gMTY7CisgICAgUnRs
U3RyaW5nQ2JQcmludGZBKChQQ0hBUilEZXNjci0+SWRlbnRpZmllciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgMTYsCisgICAgICAgICAgICAgICAgICAgICAgICJYRU46JXU6JXUiLAorICAgICAg
ICAgICAgICAgICAgICAgICBUYXJnZXQtPkRldmljZUlkLAorICAgICAgICAgICAgICAgICAgICAg
ICBUYXJnZXQtPlRhcmdldElkKTsKKworICAgIFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoID0gc2l6
ZW9mKFZQRF9JREVOVElGSUNBVElPTl9QQUdFKSAtIDEgKworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2l6ZW9mKFZQRF9JREVOVElGSUNBVElPTl9ERVNDUklQVE9SKSArIDE2OworICAg
IFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19TVUNDRVNTOworfQorCitzdGF0aWMgRk9SQ0VJ
TkxJTkUgVk9JRAorVGFyZ2V0SW5xdWlyeSgKKyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdl
dCwKKyAgICBJTiAgUFhFTlZCRF9TUkJFWFQgIFNyYkV4dAorICAgICkKK3sKKyAgICBpZiAoQ2Ri
X0VWUEQoU3JiRXh0LT5TcmIpKSB7CisgICAgICAgIHN3aXRjaCAoQ2RiX1BhZ2VDb2RlKFNyYkV4
dC0+U3JiKSkgeworICAgICAgICBjYXNlIDB4MDA6ICBUYXJnZXRJbnF1aXJ5MDAoVGFyZ2V0LCBT
cmJFeHQpOyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDB4ODA6ICBUYXJnZXRJbnF1
aXJ5ODAoVGFyZ2V0LCBTcmJFeHQpOyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDB4
ODM6ICBUYXJnZXRJbnF1aXJ5ODMoVGFyZ2V0LCBTcmJFeHQpOyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBkZWZhdWx0OiAgICBTcmJFeHQtPlNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19F
UlJPUjsgIGJyZWFrOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgc3dpdGNoIChD
ZGJfUGFnZUNvZGUoU3JiRXh0LT5TcmIpKSB7CisgICAgICAgIGNhc2UgMHgwMDogIFRhcmdldElu
cXVpcnlTdGQoVGFyZ2V0LCBTcmJFeHQpOyAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1
bHQ6ICAgIFNyYkV4dC0+U3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX0VSUk9SOyAgYnJlYWs7
CisgICAgICAgIH0KICAgICB9Cit9CisKK3N0YXRpYyBGT1JDRUlOTElORSBWT0lECitUYXJnZXRN
b2RlU2Vuc2UoCisgICAgSU4gIFBYRU5WQkRfVEFSR0VUICAgICAgVGFyZ2V0LAorICAgIElOICBQ
WEVOVkJEX1NSQkVYVCAgICAgIFNyYkV4dAorICAgICkKK3sKKyAgICBQU0NTSV9SRVFVRVNUX0JM
T0NLICAgICBTcmIgPSBTcmJFeHQtPlNyYjsKKyAgICBQTU9ERV9QQVJBTUVURVJfSEVBREVSICBI
ZWFkZXI7CisgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgT2Zmc2V0OworICAgIFVDSEFSICAg
ICAgICAgICAgICAgICAgIFBhZ2VDb2RlOwogCi0gICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6ICV1
LyV1IFN1Ym1pdHRlZCByZXF1ZXN0cyBsZWZ0ICgldSBpdGVycmF0aW9ucylcbiIsCi0gICAgICAg
ICAgICBUYXJnZXRHZXRUYXJnZXRJZChUYXJnZXQpLCBRdWV1ZUNvdW50KCZUYXJnZXQtPlN1Ym1p
dHRlZFJlcXMpLCBSZXF1ZXN0cywgQ291bnQpOworICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIo
VGFyZ2V0KTsKIAotICAgIC8vIEFib3J0IEZyZXNoIFNSQnMKLSAgICBmb3IgKDs7KSB7Ci0gICAg
ICAgIFBYRU5WQkRfU1JCRVhUICBTcmJFeHQ7Ci0gICAgICAgIFBMSVNUX0VOVFJZICAgICBMaXN0
RW50cnkgPSBRdWV1ZVBvcCgmVGFyZ2V0LT5GcmVzaFNyYnMpOwotICAgICAgICBpZiAoTGlzdEVu
dHJ5ID09IE5VTEwpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgU3JiRXh0ID0gQ09OVEFJ
TklOR19SRUNPUkQoTGlzdEVudHJ5LCBYRU5WQkRfU1JCRVhULCBMaXN0RW50cnkpOworICAgIFNy
Yi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19EQVRBX09WRVJSVU47CisgICAgaWYgKFNyYi0+RGF0
YVRyYW5zZmVyTGVuZ3RoIDwgc2l6ZW9mKE1PREVfUEFSQU1FVEVSX0hFQURFUikpCisgICAgICAg
IHJldHVybjsKKyAgICBSdGxaZXJvTWVtb3J5KFNyYi0+RGF0YUJ1ZmZlciwgU3JiLT5EYXRhVHJh
bnNmZXJMZW5ndGgpOwogCi0gICAgICAgIFZlcmJvc2UoIlRhcmdldFslZF0gOiBGcmVzaFNyYiAw
eCVwIC0+IFNDU0lfQUJPUlRFRFxuIiwgVGFyZ2V0R2V0VGFyZ2V0SWQoVGFyZ2V0KSwgU3JiRXh0
LT5TcmIpOwotICAgICAgICBTcmJFeHQtPlNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19BQk9S
VEVEOwotICAgICAgICBTcmJFeHQtPlNyYi0+U2NzaVN0YXR1cyA9IDB4NDA7IC8vIFNDU0lfQUJP
UlRFRDsKLSAgICAgICAgQWRhcHRlckNvbXBsZXRlU3JiKFRhcmdldEdldEFkYXB0ZXIoVGFyZ2V0
KSwgU3JiRXh0KTsKKyAgICBIZWFkZXIgPSBTcmItPkRhdGFCdWZmZXI7CisgICAgSGVhZGVyLT5N
b2RlRGF0YUxlbmd0aCA9IHNpemVvZihNT0RFX1BBUkFNRVRFUl9IRUFERVIpIC0gMTsKKworICAg
IE9mZnNldCA9IHNpemVvZihNT0RFX1BBUkFNRVRFUl9IRUFERVIpOworICAgIFBhZ2VDb2RlID0g
Q2RiX1BhZ2VDb2RlKFNyYik7CisgICAgaWYgKENkYl9EYmQoU3JiKSA9PSAwICYmCisgICAgICAg
IFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoID49IE9mZnNldCArIHNpemVvZihNT0RFX1BBUkFNRVRF
Ul9CTE9DSykpIHsKKyAgICAgICAgUE1PREVfUEFSQU1FVEVSX0JMT0NLICAgQmxvY2sgPSAoUE1P
REVfUEFSQU1FVEVSX0JMT0NLKSgoUFVDSEFSKUhlYWRlciArIE9mZnNldCk7CisgICAgICAgICAK
KyAgICAgICAgLy8gQmxvY2sgaXMgWkVST2VkCisgICAgICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVU
RVIoQmxvY2spOworCisgICAgICAgIEhlYWRlci0+QmxvY2tEZXNjcmlwdG9yTGVuZ3RoID0gc2l6
ZW9mKE1PREVfUEFSQU1FVEVSX0JMT0NLKTsKKyAgICAgICAgSGVhZGVyLT5Nb2RlRGF0YUxlbmd0
aCArPSBzaXplb2YoTU9ERV9QQVJBTUVURVJfQkxPQ0spOworICAgICAgICBPZmZzZXQgKz0gc2l6
ZW9mKE1PREVfUEFSQU1FVEVSX0JMT0NLKTsKICAgICB9CiAKLSAgICAvLyBGYWlsIFByZXBhcmVk
UmVxcwotICAgIGZvciAoOzspIHsKLSAgICAgICAgUFhFTlZCRF9TUkJFWFQgIFNyYkV4dDsKLSAg
ICAgICAgUFhFTlZCRF9SRVFVRVNUIFJlcXVlc3Q7Ci0gICAgICAgIFBMSVNUX0VOVFJZICAgICBF
bnRyeSA9IFF1ZXVlUG9wKCZUYXJnZXQtPlByZXBhcmVkUmVxcyk7Ci0gICAgICAgIGlmIChFbnRy
eSA9PSBOVUxMKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIFJlcXVlc3QgPSBDT05UQUlO
SU5HX1JFQ09SRChFbnRyeSwgWEVOVkJEX1JFUVVFU1QsIEVudHJ5KTsKLSAgICAgICAgU3JiRXh0
ID0gUmVxdWVzdC0+U3JiLT5TcmJFeHRlbnNpb247CisgICAgaWYgKChQYWdlQ29kZSA9PSBNT0RF
X1BBR0VfQ0FDSElORyB8fCBQYWdlQ29kZSA9PSBNT0RFX1NFTlNFX1JFVFVSTl9BTEwpICYmCisg
ICAgICAgIFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoID49IE9mZnNldCArIHNpemVvZihNT0RFX0NB
Q0hJTkdfUEFHRSkpIHsKKyAgICAgICAgUE1PREVfQ0FDSElOR19QQUdFICBDYWNoaW5nID0gKFBN
T0RFX0NBQ0hJTkdfUEFHRSkoKFBVQ0hBUilIZWFkZXIgKyBPZmZzZXQpOwogCi0gICAgICAgIFZl
cmJvc2UoIlRhcmdldFslZF0gOiBQcmVwYXJlZFJlcSAweCVwIC0+IEZBSUxFRFxuIiwgVGFyZ2V0
R2V0VGFyZ2V0SWQoVGFyZ2V0KSwgUmVxdWVzdCk7CisgICAgICAgIENhY2hpbmctPlBhZ2VDb2Rl
ICAgPSBNT0RFX1BBR0VfQ0FDSElORzsKKyAgICAgICAgQ2FjaGluZy0+UGFnZUxlbmd0aCA9IHNp
emVvZihNT0RFX0NBQ0hJTkdfUEFHRSk7CisgICAgICAgIC8vIENhY2hpbmcgaXMgWkVST2VkCiAK
LSAgICAgICAgU3JiRXh0LT5TcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfQUJPUlRFRDsKLSAg
ICAgICAgVGFyZ2V0UHV0UmVxdWVzdChUYXJnZXQsIFJlcXVlc3QpOworICAgICAgICBIZWFkZXIt
Pk1vZGVEYXRhTGVuZ3RoICs9IHNpemVvZihNT0RFX0NBQ0hJTkdfUEFHRSk7CisgICAgICAgIE9m
ZnNldCArPSBzaXplb2YoTU9ERV9DQUNISU5HX1BBR0UpOworICAgIH0KIAotICAgICAgICBpZiAo
SW50ZXJsb2NrZWREZWNyZW1lbnQoJlNyYkV4dC0+UmVxdWVzdENvdW50KSA9PSAwKSB7Ci0gICAg
ICAgICAgICBTcmJFeHQtPlNyYi0+U2NzaVN0YXR1cyA9IDB4NDA7IC8vIFNDU0lfQUJPUlRFRAot
ICAgICAgICAgICAgQWRhcHRlckNvbXBsZXRlU3JiKFRhcmdldEdldEFkYXB0ZXIoVGFyZ2V0KSwg
U3JiRXh0KTsKLSAgICAgICAgfQorICAgIGlmICgoUGFnZUNvZGUgPT0gTU9ERV9QQUdFX0ZBVUxU
X1JFUE9SVElORyB8fCBQYWdlQ29kZSA9PSBNT0RFX1NFTlNFX1JFVFVSTl9BTEwpICYmCisgICAg
ICAgIFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoID49IE9mZnNldCArIHNpemVvZihNT0RFX0NBQ0hJ
TkdfUEFHRSkpIHsKKyAgICAgICAgUE1PREVfSU5GT19FWENFUFRJT05TICBJbmZvID0gKFBNT0RF
X0lORk9fRVhDRVBUSU9OUykoKFBVQ0hBUilIZWFkZXIgKyBPZmZzZXQpOworCisgICAgICAgIElu
Zm8tPlBhZ2VDb2RlICAgICAgPSBNT0RFX1BBR0VfRkFVTFRfUkVQT1JUSU5HOworICAgICAgICBJ
bmZvLT5QYWdlTGVuZ3RoICAgID0gc2l6ZW9mKE1PREVfSU5GT19FWENFUFRJT05TKTsKKyAgICAg
ICAgSW5mby0+RGV4Y3B0ICAgICAgICA9IDE7CisgICAgICAgIC8vIEluZm8gaXMgWkVST2VkCisK
KyAgICAgICAgSGVhZGVyLT5Nb2RlRGF0YUxlbmd0aCArPSBzaXplb2YoTU9ERV9DQUNISU5HX1BB
R0UpOworICAgICAgICBPZmZzZXQgKz0gc2l6ZW9mKE1PREVfQ0FDSElOR19QQUdFKTsKICAgICB9
CisKKyAgICBTcmItPkRhdGFUcmFuc2Zlckxlbmd0aCA9IE9mZnNldDsKKyAgICBTcmItPlNyYlN0
YXR1cyA9IFNSQl9TVEFUVVNfU1VDQ0VTUzsKIH0KIAogc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQK
LV9fVGFyZ2V0VW5wYXVzZURhdGFQYXRoKAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAg
ICAgICAgVGFyZ2V0CitUYXJnZXRSZXF1ZXN0U2Vuc2UoCisgICAgSU4gIFBYRU5WQkRfVEFSR0VU
ICBUYXJnZXQsCisgICAgSU4gIFBYRU5WQkRfU1JCRVhUICBTcmJFeHQKICAgICApCiB7Ci0gICAg
S0lSUUwgICBJcnFsOworICAgIFBTQ1NJX1JFUVVFU1RfQkxPQ0sgU3JiID0gU3JiRXh0LT5TcmI7
CisgICAgUFNFTlNFX0RBVEEgICAgICAgICBTZW5zZSA9IFNyYi0+RGF0YUJ1ZmZlcjsKIAotICAg
IEtlQWNxdWlyZVNwaW5Mb2NrKCZUYXJnZXQtPkxvY2ssICZJcnFsKTsKLSAgICAtLVRhcmdldC0+
UGF1c2VkOwotICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZUYXJnZXQtPkxvY2ssIElycWwpOworICAg
IFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoVGFyZ2V0KTsKKworICAgIFNyYi0+U3JiU3RhdHVzID0g
U1JCX1NUQVRVU19EQVRBX09WRVJSVU47CisgICAgaWYgKFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3Ro
IDwgc2l6ZW9mKFNFTlNFX0RBVEEpKQorICAgICAgICByZXR1cm47CisgICAgUnRsWmVyb01lbW9y
eShTcmItPkRhdGFCdWZmZXIsIFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoKTsKKworICAgIFNlbnNl
LT5FcnJvckNvZGUgICAgICAgICAgICA9IDB4NzA7CisgICAgU2Vuc2UtPlZhbGlkICAgICAgICAg
ICAgICAgID0gMTsKKyAgICBTZW5zZS0+U2Vuc2VLZXkgICAgICAgICAgICAgPSBTQ1NJX1NFTlNF
X05PX1NFTlNFOworICAgIFNlbnNlLT5BZGRpdGlvbmFsU2Vuc2VDb2RlICA9IFNDU0lfQURTRU5T
RV9OT19TRU5TRTsKKworICAgIFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoICAgICA9IHNpemVvZihT
RU5TRV9EQVRBKTsKKyAgICBTcmItPlNyYlN0YXR1cyAgICAgICAgICAgICAgPSBTUkJfU1RBVFVT
X1NVQ0NFU1M7Cit9CisKK3N0YXRpYyBGT1JDRUlOTElORSBWT0lECitUYXJnZXRSZXBvcnRMdW5z
KAorICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0LAorICAgIElOICBQWEVOVkJEX1NSQkVY
VCAgU3JiRXh0CisgICAgKQoreworICAgIFBTQ1NJX1JFUVVFU1RfQkxPQ0sgU3JiID0gU3JiRXh0
LT5TcmI7CisgICAgVUxPTkcgICAgICAgICAgICAgICBMZW5ndGg7CisgICAgVUxPTkcgICAgICAg
ICAgICAgICBPZmZzZXQ7CisgICAgVUxPTkcgICAgICAgICAgICAgICBBbGxvY0xlbmd0aCA9IENk
Yl9BbGxvY2F0aW9uTGVuZ3RoKFNyYik7CisgICAgUFVDSEFSICAgICAgICAgICAgICBCdWZmZXIg
PSBTcmItPkRhdGFCdWZmZXI7CisKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKFRhcmdldCk7
CisgICAgIAorICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19EQVRBX09WRVJSVU47Cisg
ICAgaWYgKFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoIDwgOCkKKyAgICAgICAgcmV0dXJuOworICAg
IFJ0bFplcm9NZW1vcnkoU3JiLT5EYXRhQnVmZmVyLCBTcmItPkRhdGFUcmFuc2Zlckxlbmd0aCk7
CisKKyAgICBMZW5ndGggPSAwOworICAgIE9mZnNldCA9IDg7CisKKyAgICBpZiAoT2Zmc2V0ICsg
OCA8PSBBbGxvY0xlbmd0aCkgeworICAgICAgICBCdWZmZXJbT2Zmc2V0XSA9IDA7CisgICAgICAg
IE9mZnNldCArPSA4OworICAgICAgICBMZW5ndGggKz0gODsKKyAgICB9CisKKyAgICBpZiAoT2Zm
c2V0ICsgOCA8PSBBbGxvY0xlbmd0aCkgeworICAgICAgICBCdWZmZXJbT2Zmc2V0XSA9IFhFTlZC
RF9NQVhfVEFSR0VUUzsKKyAgICAgICAgT2Zmc2V0ICs9IDg7CisgICAgICAgIExlbmd0aCArPSA4
OworICAgIH0KKworICAgIFJFVkVSU0VfQllURVMoQnVmZmVyLCAmTGVuZ3RoKTsKKworICAgIFNy
Yi0+RGF0YVRyYW5zZmVyTGVuZ3RoID0gX19taW4oTGVuZ3RoLCBBbGxvY0xlbmd0aCk7CisgICAg
U3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX1NVQ0NFU1M7Cit9CisKK3N0YXRpYyBGT1JDRUlO
TElORSBWT0lECitUYXJnZXRSZWFkQ2FwYWNpdHkoCisgICAgSU4gIFBYRU5WQkRfVEFSR0VUICBU
YXJnZXQsCisgICAgSU4gIFBYRU5WQkRfU1JCRVhUICBTcmJFeHQKKyAgICApCit7CisgICAgUFND
U0lfUkVRVUVTVF9CTE9DSyBTcmIgPSBTcmJFeHQtPlNyYjsKKyAgICBQUkVBRF9DQVBBQ0lUWV9E
QVRBIENhcGFjaXR5ID0gU3JiLT5EYXRhQnVmZmVyOworICAgIFVMT05HNjQgICAgICAgICAgICAg
U2VjdG9yQ291bnQgPSBUYXJnZXQtPlNlY3RvckNvdW50OworICAgIFVMT05HICAgICAgICAgICAg
ICAgU2VjdG9yU2l6ZSA9IFRhcmdldC0+U2VjdG9yU2l6ZTsKKyAgICBVTE9ORyAgICAgICAgICAg
ICAgIExhc3RCbG9jazsKKworICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19EQVRBX09W
RVJSVU47CisgICAgaWYgKFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoIDwgc2l6ZW9mKFJFQURfQ0FQ
QUNJVFlfREFUQSkpCisgICAgICAgIHJldHVybjsKKyAgICBSdGxaZXJvTWVtb3J5KFNyYi0+RGF0
YUJ1ZmZlciwgU3JiLT5EYXRhVHJhbnNmZXJMZW5ndGgpOworCisgICAgU3JiLT5TcmJTdGF0dXMg
PSBTUkJfU1RBVFVTX0VSUk9SOworICAgIGlmIChDZGJfUE1JKFNyYikgPT0gMCAmJiBDZGJfTG9n
aWNhbEJsb2NrKFNyYikgIT0gMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKFNlY3RvckNv
dW50ID09IChVTE9ORylTZWN0b3JDb3VudCkKKyAgICAgICAgTGFzdEJsb2NrID0gKFVMT05HKVNl
Y3RvckNvdW50IC0gMTsKKyAgICBlbHNlCisgICAgICAgIExhc3RCbG9jayA9IH4wdWw7CisKKyAg
ICBDYXBhY2l0eS0+TG9naWNhbEJsb2NrQWRkcmVzcyAgID0gX2J5dGVzd2FwX3Vsb25nKExhc3RC
bG9jayk7CisgICAgQ2FwYWNpdHktPkJ5dGVzUGVyQmxvY2sgICAgICAgICA9IF9ieXRlc3dhcF91
bG9uZyhTZWN0b3JTaXplKTsKKworICAgIFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoID0gc2l6ZW9m
KFJFQURfQ0FQQUNJVFlfREFUQSk7CisgICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX1NV
Q0NFU1M7IAorfQorCitzdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAorVGFyZ2V0UmVhZENhcGFjaXR5
MTYoCisgICAgSU4gIFBYRU5WQkRfVEFSR0VUICAgICAgVGFyZ2V0LAorICAgIElOICBQWEVOVkJE
X1NSQkVYVCAgICAgIFNyYkV4dAorICAgICkKK3sKKyAgICBQU0NTSV9SRVFVRVNUX0JMT0NLICAg
ICBTcmIgPSBTcmJFeHQtPlNyYjsKKyAgICBQUkVBRF9DQVBBQ0lUWTE2X0RBVEEgICBDYXBhY2l0
eSA9IFNyYi0+RGF0YUJ1ZmZlcjsKKyAgICBVTE9ORzY0ICAgICAgICAgICAgICAgICBTZWN0b3JD
b3VudCA9IFRhcmdldC0+U2VjdG9yQ291bnQ7CisgICAgVUxPTkcgICAgICAgICAgICAgICAgICAg
U2VjdG9yU2l6ZSA9IFRhcmdldC0+U2VjdG9yU2l6ZTsKKyAgICBVTE9ORyAgICAgICAgICAgICAg
ICAgICBMb2dQZXJQaHlzRXhwOworCisgICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX0RB
VEFfT1ZFUlJVTjsKKyAgICBpZiAoU3JiLT5EYXRhVHJhbnNmZXJMZW5ndGggPCBzaXplb2YoUkVB
RF9DQVBBQ0lUWTE2X0RBVEEpKQorICAgICAgICByZXR1cm47CisgICAgUnRsWmVyb01lbW9yeShT
cmItPkRhdGFCdWZmZXIsIFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoKTsKKworICAgIFNyYi0+U3Ji
U3RhdHVzID0gU1JCX1NUQVRVU19FUlJPUjsKKyAgICBpZiAoQ2RiX1BNSShTcmIpID09IDAgJiYg
Q2RiX0xvZ2ljYWxCbG9jayhTcmIpICE9IDApCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChU
YXJnZXQtPlBoeXNpY2FsU2VjdG9yU2l6ZSA9PSAwKQorICAgICAgICBMb2dQZXJQaHlzRXhwID0g
MDsKKyAgICBlbHNlIGlmICghX0JpdFNjYW5SZXZlcnNlKCZMb2dQZXJQaHlzRXhwLCBUYXJnZXQt
PlBoeXNpY2FsU2VjdG9yU2l6ZSAvIFNlY3RvclNpemUpKQorICAgICAgICBMb2dQZXJQaHlzRXhw
ID0gMDsKKworICAgIENhcGFjaXR5LT5Mb2dpY2FsQmxvY2tBZGRyZXNzLlF1YWRQYXJ0ICA9IF9i
eXRlc3dhcF91aW50NjQoU2VjdG9yQ291bnQgLSAxKTsKKyAgICBDYXBhY2l0eS0+Qnl0ZXNQZXJC
bG9jayAgICAgICAgICAgICAgICAgPSBfYnl0ZXN3YXBfdWxvbmcoU2VjdG9yU2l6ZSk7CisgICAg
Q2FwYWNpdHktPkxvZ2ljYWxQZXJQaHlzaWNhbEV4cG9uZW50ICAgID0gKFVDSEFSKUxvZ1BlclBo
eXNFeHA7CisKKyAgICBTcmItPkRhdGFUcmFuc2Zlckxlbmd0aCA9IHNpemVvZihSRUFEX0NBUEFD
SVRZMTZfREFUQSk7CisgICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX1NVQ0NFU1M7CiB9
CiAKIHN0YXRpYyBGT1JDRUlOTElORSBCT09MRUFOCi1UYXJnZXRQcmVwYXJlRnJlc2goCi0gICAg
SU4gIFBYRU5WQkRfVEFSR0VUICAgICAgICAgVGFyZ2V0CitUYXJnZXRDaGVja1NlY3RvcnMoCisg
ICAgSU4gIFBYRU5WQkRfVEFSR0VUICBUYXJnZXQsCisgICAgSU4gIFBYRU5WQkRfU1JCRVhUICBT
cmJFeHQKICAgICApCiB7Ci0gICAgUFhFTlZCRF9TUkJFWFQgIFNyYkV4dDsKLSAgICBQTElTVF9F
TlRSWSAgICAgTGlzdEVudHJ5OworICAgIFVMT05HNjQgICAgICAgICAgICAgU3RhcnRTZWN0b3Ig
PSBDZGJfTG9naWNhbEJsb2NrKFNyYkV4dC0+U3JiKTsKKyAgICBVTE9ORyAgICAgICAgICAgICAg
IFNlY3RvckNvdW50ID0gQ2RiX1RyYW5zZmVyQmxvY2soU3JiRXh0LT5TcmIpOwogCi0gICAgTGlz
dEVudHJ5ID0gUXVldWVQb3AoJlRhcmdldC0+RnJlc2hTcmJzKTsKLSAgICBpZiAoTGlzdEVudHJ5
ID09IE5VTEwpCi0gICAgICAgIHJldHVybiBGQUxTRTsgICAvLyBmcmVzaCBxdWV1ZSBpcyBlbXB0
eQorICAgIC8vIHByZXZlbnQgcmVhZC93cml0ZSBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlzawor
ICAgIGlmIChTdGFydFNlY3RvciA+PSBUYXJnZXQtPlNlY3RvckNvdW50KQorICAgICAgICByZXR1
cm4gRkFMU0U7CisgICAgaWYgKFN0YXJ0U2VjdG9yICsgU2VjdG9yQ291bnQgPj0gVGFyZ2V0LT5T
ZWN0b3JDb3VudCkKKyAgICAgICAgcmV0dXJuIEZBTFNFOworICAgIHJldHVybiBUUlVFOworfQog
Ci0gICAgU3JiRXh0ID0gQ09OVEFJTklOR19SRUNPUkQoTGlzdEVudHJ5LCBYRU5WQkRfU1JCRVhU
LCBMaXN0RW50cnkpOworVk9JRAorVGFyZ2V0U3RhcnRTcmIoCisgICAgSU4gIFBYRU5WQkRfVEFS
R0VUICBUYXJnZXQsCisgICAgSU4gIFBYRU5WQkRfU1JCRVhUICBTcmJFeHQKKyAgICApCit7Cisg
ICAgUFNDU0lfUkVRVUVTVF9CTE9DSyBTcmIgPSBTcmJFeHQtPlNyYjsKKyAgICBVQ0hBUiAgICAg
ICAgICAgICAgIE9wZXJhdGlvbjsKIAotICAgIHN3aXRjaCAoQ2RiX09wZXJhdGlvbkV4KFNyYkV4
dC0+U3JiKSkgeworICAgIE9wZXJhdGlvbiA9IENkYl9PcGVyYXRpb25FeChTcmIpOworICAgIHN3
aXRjaCAoT3BlcmF0aW9uKSB7CiAgICAgY2FzZSBTQ1NJT1BfUkVBRDoKICAgICBjYXNlIFNDU0lP
UF9XUklURToKLSAgICAgICAgaWYgKFByZXBhcmVSZWFkV3JpdGUoVGFyZ2V0LCBTcmJFeHQtPlNy
YikpCi0gICAgICAgICAgICByZXR1cm4gVFJVRTsgICAgLy8gcHJlcGFyZWQgdGhpcyBTUkIKKyAg
ICAgICAgaWYgKCFUYXJnZXRDaGVja1NlY3RvcnMoVGFyZ2V0LCBTcmJFeHQpKQorICAgICAgICAg
ICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX0VSUk9SOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBUYXJnZXRRdWV1ZVNyYihUYXJnZXQsIFNyYkV4dCk7CiAgICAgICAgIGJyZWFrOwor
CisgICAgY2FzZSBTQ1NJT1BfVU5NQVA6CisgICAgICAgIGlmIChUYXJnZXQtPkZlYXR1cmVEaXNj
YXJkKQorICAgICAgICAgICAgVGFyZ2V0UXVldWVTcmIoVGFyZ2V0LCBTcmJFeHQpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBTcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfU1VDQ0VTUzsK
KyAgICAgICAgYnJlYWs7CisKICAgICBjYXNlIFNDU0lPUF9TWU5DSFJPTklaRV9DQUNIRToKLSAg
ICAgICAgaWYgKFByZXBhcmVTeW5jQ2FjaGUoVGFyZ2V0LCBTcmJFeHQtPlNyYikpCi0gICAgICAg
ICAgICByZXR1cm4gVFJVRTsgICAgLy8gcHJlcGFyZWQgdGhpcyBTUkIKKyAgICAgICAgaWYgKFRh
cmdldC0+RmVhdHVyZUJhcnJpZXIgfHwgVGFyZ2V0LT5GZWF0dXJlRmx1c2gpCisgICAgICAgICAg
ICBUYXJnZXRRdWV1ZVNyYihUYXJnZXQsIFNyYkV4dCk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19TVUNDRVNTOwogICAgICAgICBicmVhazsK
LSAgICBjYXNlIFNDU0lPUF9VTk1BUDoKLSAgICAgICAgaWYgKFByZXBhcmVVbm1hcChUYXJnZXQs
IFNyYkV4dC0+U3JiKSkKLSAgICAgICAgICAgIHJldHVybiBUUlVFOyAgICAvLyBwcmVwYXJlZCB0
aGlzIFNSQgorCisgICAgY2FzZSBTQ1NJT1BfSU5RVUlSWToKKyAgICAgICAgVGFyZ2V0SW5xdWly
eShUYXJnZXQsIFNyYkV4dCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU0NTSU9QX01PREVf
U0VOU0U6CisgICAgICAgIFRhcmdldE1vZGVTZW5zZShUYXJnZXQsIFNyYkV4dCk7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgU0NTSU9QX1JFUVVFU1RfU0VOU0U6CisgICAgICAgIFRhcmdldFJl
cXVlc3RTZW5zZShUYXJnZXQsIFNyYkV4dCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU0NT
SU9QX1JFUE9SVF9MVU5TOgorICAgICAgICBUYXJnZXRSZXBvcnRMdW5zKFRhcmdldCwgU3JiRXh0
KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTQ1NJT1BfUkVBRF9DQVBBQ0lUWToKKyAgICAg
ICAgVGFyZ2V0UmVhZENhcGFjaXR5KFRhcmdldCwgU3JiRXh0KTsKICAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBTQ1NJT1BfUkVBRF9DQVBBQ0lUWTE2OgorICAgICAgICBUYXJnZXRSZWFkQ2FwYWNp
dHkxNihUYXJnZXQsIFNyYkV4dCk7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBTQ1NJT1Bf
TUVESVVNX1JFTU9WQUw6CisgICAgY2FzZSBTQ1NJT1BfVEVTVF9VTklUX1JFQURZOgorICAgIGNh
c2UgU0NTSU9QX1JFU0VSVkVfVU5JVDoKKyAgICBjYXNlIFNDU0lPUF9SRVNFUlZFX1VOSVQxMDoK
KyAgICBjYXNlIFNDU0lPUF9SRUxFQVNFX1VOSVQ6CisgICAgY2FzZSBTQ1NJT1BfUkVMRUFTRV9V
TklUMTA6CisgICAgY2FzZSBTQ1NJT1BfVkVSSUZZOgorICAgIGNhc2UgU0NTSU9QX1ZFUklGWTE2
OgorICAgIGNhc2UgU0NTSU9QX1NUQVJUX1NUT1BfVU5JVDoKKyAgICAgICAgU3JiLT5TcmJTdGF0
dXMgPSBTUkJfU1RBVFVTX1NVQ0NFU1M7CisgICAgICAgIGJyZWFrOworCiAgICAgZGVmYXVsdDoK
LSAgICAgICAgQVNTRVJUKEZBTFNFKTsKKyAgICAgICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RB
VFVTX0lOVkFMSURfUkVRVUVTVDsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIFF1ZXVlVW5Q
b3AoJlRhcmdldC0+RnJlc2hTcmJzLCAmU3JiRXh0LT5MaXN0RW50cnkpOwotCi0gICAgcmV0dXJu
IEZBTFNFOyAgICAgICAvLyBwcmVwYXJlIGZhaWxlZAogfQogCi1zdGF0aWMgRk9SQ0VJTkxJTkUg
Qk9PTEVBTgotVGFyZ2V0U3VibWl0UHJlcGFyZWQoCi0gICAgX19pbiBQWEVOVkJEX1RBUkdFVCAg
ICAgICAgICAgICBUYXJnZXQKK3N0YXRpYyBWT0lECitUYXJnZXRTdG9yZVJlYWREaXNrSW5mbygK
KyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldAogICAgICkKIHsKLSAgICBQWEVOVkJEX0JM
T0NLUklORyAgIEJsb2NrUmluZyA9IEZyb250ZW5kR2V0QmxvY2tSaW5nKFRhcmdldC0+RnJvbnRl
bmQpOwotICAgIGlmIChUYXJnZXRJc1BhdXNlZChUYXJnZXQpKSB7Ci0gICAgICAgIGlmIChRdWV1
ZUNvdW50KCZUYXJnZXQtPlByZXBhcmVkUmVxcykpCi0gICAgICAgICAgICBXYXJuaW5nKCJUYXJn
ZXRbJWRdIDogUGF1c2VkLCBub3Qgc3VibWl0dGluZyBuZXcgcmVxdWVzdHMgKCV1KVxuIiwKLSAg
ICAgICAgICAgICAgICAgICAgVGFyZ2V0R2V0VGFyZ2V0SWQoVGFyZ2V0KSwKLSAgICAgICAgICAg
ICAgICAgICAgUXVldWVDb3VudCgmVGFyZ2V0LT5QcmVwYXJlZFJlcXMpKTsKLSAgICAgICAgcmV0
dXJuIEZBTFNFOworICAgIFBDSEFSICAgICAgICAgICAgICAgQnVmZmVyOworICAgIE5UU1RBVFVT
ICAgICAgICAgICAgc3RhdHVzOworCisgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFJlYWQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICZUYXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJn
ZXQtPkJhY2tlbmRQYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAiaW5mbyIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICZCdWZmZXIpOworICAgIGlmIChOVF9TVUNDRVNTKHN0YXR1
cykpIHsKKyAgICAgICAgVGFyZ2V0LT5EaXNrSW5mbyA9IHN0cnRvdWwoQnVmZmVyLCBOVUxMLCAx
MCk7CisKKyAgICAgICAgWEVOQlVTX1NUT1JFKEZyZWUsCisgICAgICAgICAgICAgICAgICAgICAm
VGFyZ2V0LT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcik7Cisg
ICAgfQorCisgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFJlYWQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICZUYXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQtPkJhY2tlbmRQYXRo
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAic2VjdG9ycyIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICZCdWZmZXIpOworICAgIGlmIChOVF9TVUNDRVNTKHN0YXR1cykpIHsKKyAgICAg
ICAgVGFyZ2V0LT5TZWN0b3JDb3VudCA9IF9zdHJ0b3VpNjQoQnVmZmVyLCBOVUxMLCAxMCk7CisK
KyAgICAgICAgWEVOQlVTX1NUT1JFKEZyZWUsCisgICAgICAgICAgICAgICAgICAgICAmVGFyZ2V0
LT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcik7CisgICAgfQor
CisgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFJlYWQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICZUYXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBO
VUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQtPkJhY2tlbmRQYXRoLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAic2VjdG9yLXNpemUiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAmQnVmZmVyKTsKKyAgICBpZiAoTlRfU1VDQ0VTUyhzdGF0dXMpKSB7CisgICAgICAg
IFRhcmdldC0+U2VjdG9yU2l6ZSA9IHN0cnRvdWwoQnVmZmVyLCBOVUxMLCAxMCk7CisKKyAgICAg
ICAgWEVOQlVTX1NUT1JFKEZyZWUsCisgICAgICAgICAgICAgICAgICAgICAmVGFyZ2V0LT5TdG9y
ZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcik7CisgICAgfQorCisgICAg
c3RhdHVzID0gWEVOQlVTX1NUT1JFKFJlYWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZU
YXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQtPkJhY2tlbmRQYXRoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAicGh5c2ljYWwtc2VjdG9yLXNpemUiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAmQnVmZmVyKTsKKyAgICBpZiAoTlRfU1VDQ0VTUyhzdGF0dXMpKSB7CisgICAg
ICAgIFRhcmdldC0+UGh5c2ljYWxTZWN0b3JTaXplID0gc3RydG91bChCdWZmZXIsIE5VTEwsIDEw
KTsKKworICAgICAgICBYRU5CVVNfU1RPUkUoRnJlZSwKKyAgICAgICAgICAgICAgICAgICAgICZU
YXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgQnVmZmVyKTsKKyAg
ICB9IGVsc2UgeworICAgICAgICBUYXJnZXQtPlBoeXNpY2FsU2VjdG9yU2l6ZSA9IFRhcmdldC0+
U2VjdG9yU2l6ZTsKICAgICB9Cit9CiAKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIFBYRU5WQkRf
UkVRVUVTVCBSZXF1ZXN0OwotICAgICAgICBQTElTVF9FTlRSWSAgICAgRW50cnk7CitzdGF0aWMg
Vk9JRAorVGFyZ2V0U3RvcmVSZWFkRmVhdHVyZXMoCisgICAgSU4gIFBYRU5WQkRfVEFSR0VUICBU
YXJnZXQKKyAgICApCit7CisgICAgUENIQVIgICAgICAgICAgICAgICBCdWZmZXI7CisgICAgTlRT
VEFUVVMgICAgICAgICAgICBzdGF0dXM7CiAKLSAgICAgICAgRW50cnkgPSBRdWV1ZVBvcCgmVGFy
Z2V0LT5QcmVwYXJlZFJlcXMpOwotICAgICAgICBpZiAoRW50cnkgPT0gTlVMTCkKLSAgICAgICAg
ICAgIGJyZWFrOworICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShSZWFkLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAmVGFyZ2V0LT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0LT5CYWNrZW5k
UGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgInJlbW92YWJsZSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICZCdWZmZXIpOworICAgIGlmIChOVF9TVUNDRVNTKHN0YXR1cykpIHsK
KyAgICAgICAgVGFyZ2V0LT5SZW1vdmFibGUgPSAoQk9PTEVBTilzdHJ0b3VsKEJ1ZmZlciwgTlVM
TCwgMik7CisKKyAgICAgICAgWEVOQlVTX1NUT1JFKEZyZWUsCisgICAgICAgICAgICAgICAgICAg
ICAmVGFyZ2V0LT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcik7
CisgICAgfQorCisgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFJlYWQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICZUYXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQtPkJhY2tlbmRQ
YXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAiZmVhdHVyZS1iYXJyaWVyIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlcik7CisgICAgaWYgKE5UX1NVQ0NFU1Moc3RhdHVz
KSkgeworICAgICAgICBUYXJnZXQtPkZlYXR1cmVCYXJyaWVyID0gKEJPT0xFQU4pc3RydG91bChC
dWZmZXIsIE5VTEwsIDIpOworCisgICAgICAgIFhFTkJVU19TVE9SRShGcmVlLAorICAgICAgICAg
ICAgICAgICAgICAgJlRhcmdldC0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAg
ICBCdWZmZXIpOworICAgIH0KKworICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShSZWFkLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAmVGFyZ2V0LT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0
LT5CYWNrZW5kUGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgImZlYXR1cmUtZmx1c2gt
Y2FjaGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmQnVmZmVyKTsKKyAgICBpZiAoTlRf
U1VDQ0VTUyhzdGF0dXMpKSB7CisgICAgICAgIFRhcmdldC0+RmVhdHVyZUZsdXNoID0gKEJPT0xF
QU4pc3RydG91bChCdWZmZXIsIE5VTEwsIDIpOworCisgICAgICAgIFhFTkJVU19TVE9SRShGcmVl
LAorICAgICAgICAgICAgICAgICAgICAgJlRhcmdldC0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAg
ICAgICAgICAgICAgICBCdWZmZXIpOworICAgIH0KKworICAgIHN0YXR1cyA9IFhFTkJVU19TVE9S
RShSZWFkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmVGFyZ2V0LT5TdG9yZUludGVyZmFj
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgVGFyZ2V0LT5CYWNrZW5kUGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgImZl
YXR1cmUtZGlzY2FyZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZCdWZmZXIpOworICAg
IGlmIChOVF9TVUNDRVNTKHN0YXR1cykpIHsKKyAgICAgICAgVGFyZ2V0LT5GZWF0dXJlRGlzY2Fy
ZCA9IChCT09MRUFOKXN0cnRvdWwoQnVmZmVyLCBOVUxMLCAyKTsKKworICAgICAgICBYRU5CVVNf
U1RPUkUoRnJlZSwKKyAgICAgICAgICAgICAgICAgICAgICZUYXJnZXQtPlN0b3JlSW50ZXJmYWNl
LAorICAgICAgICAgICAgICAgICAgICAgQnVmZmVyKTsKKyAgICB9CisKKyAgICBzdGF0dXMgPSBY
RU5CVVNfU1RPUkUoUmVhZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJlRhcmdldC0+U3Rv
cmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIFRhcmdldC0+QmFja2VuZFBhdGgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICJkaXNjYXJkLWVuYWJsZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZCdWZm
ZXIpOworICAgIGlmIChOVF9TVUNDRVNTKHN0YXR1cykpIHsKKyAgICAgICAgQk9PTEVBTiBFbmFi
bGVkID0gKEJPT0xFQU4pc3RydG91bChCdWZmZXIsIE5VTEwsIDIpOworICAgICAgICBpZiAoIUVu
YWJsZWQpCisgICAgICAgICAgICBUYXJnZXQtPkZlYXR1cmVEaXNjYXJkID0gRkFMU0U7CisKKyAg
ICAgICAgWEVOQlVTX1NUT1JFKEZyZWUsCisgICAgICAgICAgICAgICAgICAgICAmVGFyZ2V0LT5T
dG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcik7CisgICAgfQorCisg
ICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFJlYWQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICZUYXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxM
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQtPkJhY2tlbmRQYXRoLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZGlzY2FyZC1zZWN1cmUiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAmQnVmZmVyKTsKKyAgICBpZiAoTlRfU1VDQ0VTUyhzdGF0dXMpKSB7CisgICAgICAg
IFRhcmdldC0+RGlzY2FyZFNlY3VyZSA9IChCT09MRUFOKXN0cnRvdWwoQnVmZmVyLCBOVUxMLCAy
KTsKKworICAgICAgICBYRU5CVVNfU1RPUkUoRnJlZSwKKyAgICAgICAgICAgICAgICAgICAgICZU
YXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgQnVmZmVyKTsKKyAg
ICB9CisKKyAgICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUoUmVhZCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgJlRhcmdldC0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldC0+QmFja2VuZFBhdGgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNjYXJkLWFsaWdubWVudCIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICZCdWZmZXIpOworICAgIGlmIChOVF9TVUNDRVNTKHN0YXR1cykp
IHsKKyAgICAgICAgVGFyZ2V0LT5EaXNjYXJkQWxpZ25tZW50ID0gc3RydG91bChCdWZmZXIsIE5V
TEwsIDEwKTsKKworICAgICAgICBYRU5CVVNfU1RPUkUoRnJlZSwKKyAgICAgICAgICAgICAgICAg
ICAgICZUYXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgQnVmZmVy
KTsKKyAgICB9CisKKyAgICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUoUmVhZCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgJlRhcmdldC0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldC0+QmFja2Vu
ZFBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNjYXJkLXNlY3VyZSIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICZCdWZmZXIpOworICAgIGlmIChOVF9TVUNDRVNTKHN0YXR1
cykpIHsKKyAgICAgICAgVGFyZ2V0LT5EaXNjYXJkR3JhbnVsYXJpdHkgPSBzdHJ0b3VsKEJ1ZmZl
ciwgTlVMTCwgMTApOworCisgICAgICAgIFhFTkJVU19TVE9SRShGcmVlLAorICAgICAgICAgICAg
ICAgICAgICAgJlRhcmdldC0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICBC
dWZmZXIpOworICAgIH0KKworICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShSZWFkLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAmVGFyZ2V0LT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0LT5C
YWNrZW5kUGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgImZlYXR1cmUtbWF4LWluZGly
ZWN0LXNlZ21lbnRzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlcik7CisgICAg
aWYgKE5UX1NVQ0NFU1Moc3RhdHVzKSkgeworICAgICAgICBUYXJnZXQtPkZlYXR1cmVJbmRpcmVj
dCA9IHN0cnRvdWwoQnVmZmVyLCBOVUxMLCAxMCk7CisKKyAgICAgICAgWEVOQlVTX1NUT1JFKEZy
ZWUsCisgICAgICAgICAgICAgICAgICAgICAmVGFyZ2V0LT5TdG9yZUludGVyZmFjZSwKKyAgICAg
ICAgICAgICAgICAgICAgIEJ1ZmZlcik7CisgICAgfQorfQorCitzdGF0aWMgTlRTVEFUVVMKK1Rh
cmdldFN0b3JlV3JpdGUoCisgICAgSU4gIFBYRU5WQkRfVEFSR0VUICAgICAgICAgICAgICBUYXJn
ZXQsCisgICAgSU4gIFBYRU5CVVNfU1RPUkVfVFJBTlNBQ1RJT04gICBUcmFuc2FjdGlvbgorICAg
ICkKK3sKKyAgICBOVFNUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czsKKworICAg
IHN0YXR1cyA9IFhFTkJVU19TVE9SRShQcmludGYsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICZUYXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFu
c2FjdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0LT5QYXRoLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAidGFyZ2V0LWlkIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIiV1IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0LT5UYXJnZXRJZCk7Cisg
ICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIHJldHVybiBzdGF0dXM7CisKKyAg
ICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUoUHJpbnRmLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAmVGFyZ2V0LT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVHJh
bnNhY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldC0+UGF0aCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgImZlYXR1cmUtc3VycHJpc2UtcmVtb3ZlIiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIiV1IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSk7
CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIHJldHVybiBzdGF0dXM7CisK
KyAgICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUoUHJpbnRmLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAmVGFyZ2V0LT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
VHJhbnNhY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldC0+UGF0aCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgImZlYXR1cmUtb25saW5lLXJlc2l6ZSIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICIldSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUp
OworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICByZXR1cm4gc3RhdHVzOwog
Ci0gICAgICAgIFJlcXVlc3QgPSBDT05UQUlOSU5HX1JFQ09SRChFbnRyeSwgWEVOVkJEX1JFUVVF
U1QsIEVudHJ5KTsKKyAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7Cit9CiAKLSAgICAgICAgUXVl
dWVBcHBlbmQoJlRhcmdldC0+U3VibWl0dGVkUmVxcywgJlJlcXVlc3QtPkVudHJ5KTsKLSAgICAg
ICAgS2VNZW1vcnlCYXJyaWVyKCk7CitzdGF0aWMgTlRTVEFUVVMKK1RhcmdldFdyaXRlVGFyZ2V0
UGF0aCgKKyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldAorICAgICkKK3sKKyAgICBOVFNU
QVRVUyAgICAgICAgICAgIHN0YXR1czsKIAotICAgICAgICBpZiAoQmxvY2tSaW5nU3VibWl0KEJs
b2NrUmluZywgUmVxdWVzdCkpCi0gICAgICAgICAgICBjb250aW51ZTsKKyAgICBzdGF0dXMgPSBY
RU5CVVNfU1RPUkUoUHJpbnRmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmVGFyZ2V0LT5T
dG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgVGFyZ2V0LT5UYXJnZXRQYXRoLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZnJvbnRlbmQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQtPlBhdGgpOworICAgIGlmICghTlRfU1VDQ0VT
UyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwxOwogCi0gICAgICAgIFF1ZXVlUmVtb3ZlKCZU
YXJnZXQtPlN1Ym1pdHRlZFJlcXMsICZSZXF1ZXN0LT5FbnRyeSk7Ci0gICAgICAgIFF1ZXVlVW5Q
b3AoJlRhcmdldC0+UHJlcGFyZWRSZXFzLCAmUmVxdWVzdC0+RW50cnkpOwotICAgICAgICByZXR1
cm4gRkFMU0U7ICAgLy8gcmluZyBmdWxsCi0gICAgfQorICAgIHN0YXR1cyA9IFhFTkJVU19TVE9S
RShQcmludGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZUYXJnZXQtPlN0b3JlSW50ZXJm
YWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBUYXJnZXQtPlRhcmdldFBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJk
ZXZpY2UiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAiJXUiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBUYXJnZXQtPkRldmljZUlkKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVz
KSkKKyAgICAgICAgZ290byBmYWlsMjsKIAotICAgIHJldHVybiBUUlVFOworICAgIHJldHVybiBT
VEFUVVNfU1VDQ0VTUzsKKworZmFpbDI6CisgICAgRXJyb3IoImZhaWwyXG4iKTsKK2ZhaWwxOgor
ICAgIEVycm9yKCJmYWlsMSAlMDh4XG4iLCBzdGF0dXMpOworICAgIHJldHVybiBzdGF0dXM7CiB9
CiAKLXN0YXRpYyBGT1JDRUlOTElORSBWT0lECi1UYXJnZXRDb21wbGV0ZVNodXRkb3duKAotICAg
IF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0CitzdGF0aWMgVk9JRAorVGFy
Z2V0V2FpdEZvckJhY2tlbmRTdGF0ZUNoYW5nZSgKKyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRh
cmdldCwKKyAgICBPVVQgWGVuYnVzU3RhdGUqICAgIFN0YXRlCiAgICAgKQogewotICAgIGlmIChR
dWV1ZUNvdW50KCZUYXJnZXQtPlNodXRkb3duU3JicykgPT0gMCkKLSAgICAgICAgcmV0dXJuOwor
ICAgIEtFVkVOVCAgICAgICAgICAgICAgRXZlbnQ7CisgICAgUFhFTkJVU19TVE9SRV9XQVRDSCBX
YXRjaDsKKyAgICBMQVJHRV9JTlRFR0VSICAgICAgIFN0YXJ0OworICAgIFVMT05HTE9ORyAgICAg
ICAgICAgVGltZURlbHRhOworICAgIExBUkdFX0lOVEVHRVIgICAgICAgVGltZW91dDsKKyAgICBY
ZW5idXNTdGF0ZSAgICAgICAgIE9sZCA9ICpTdGF0ZTsKKyAgICBOVFNUQVRVUyAgICAgICAgICAg
IHN0YXR1czsKIAotICAgIGlmIChRdWV1ZUNvdW50KCZUYXJnZXQtPkZyZXNoU3JicykgfHwKLSAg
ICAgICAgUXVldWVDb3VudCgmVGFyZ2V0LT5QcmVwYXJlZFJlcXMpIHx8Ci0gICAgICAgIFF1ZXVl
Q291bnQoJlRhcmdldC0+U3VibWl0dGVkUmVxcykpCi0gICAgICAgIHJldHVybjsKKyAgICBLZUlu
aXRpYWxpemVFdmVudCgmRXZlbnQsIE5vdGlmaWNhdGlvbkV2ZW50LCBGQUxTRSk7CiAKLSAgICBm
b3IgKDs7KSB7Ci0gICAgICAgIFBYRU5WQkRfU1JCRVhUICBTcmJFeHQ7Ci0gICAgICAgIFBMSVNU
X0VOVFJZICAgICBMaXN0RW50cnkgPSBRdWV1ZVBvcCgmVGFyZ2V0LT5TaHV0ZG93blNyYnMpOwot
ICAgICAgICBpZiAoTGlzdEVudHJ5ID09IE5VTEwpCi0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgU3JiRXh0ID0gQ09OVEFJTklOR19SRUNPUkQoTGlzdEVudHJ5LCBYRU5WQkRfU1JCRVhULCBM
aXN0RW50cnkpOwotICAgICAgICBTcmJFeHQtPlNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19T
VUNDRVNTOwotICAgICAgICBBZGFwdGVyQ29tcGxldGVTcmIoVGFyZ2V0R2V0QWRhcHRlcihUYXJn
ZXQpLCBTcmJFeHQpOworICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShXYXRjaEFkZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgJlRhcmdldC0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIFRhcmdldC0+QmFja2VuZFBhdGgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICJzdGF0ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZFdmVudCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgJldhdGNoKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVz
KSkKKyAgICAgICAgV2F0Y2ggPSBOVUxMOworCisgICAgS2VRdWVyeVN5c3RlbVRpbWUoJlN0YXJ0
KTsKKyAgICBUaW1lRGVsdGEgPSAwOworCisgICAgVGltZW91dC5RdWFkUGFydCA9IDA7CisKKyAg
ICB3aGlsZSAoKlN0YXRlID09IE9sZCAmJiBUaW1lRGVsdGEgPCAxMjAwMDApIHsKKyAgICAgICAg
UENIQVIgICAgICAgICAgIEJ1ZmZlcjsKKyAgICAgICAgTEFSR0VfSU5URUdFUiAgIE5vdzsKKwor
ICAgICAgICBpZiAoV2F0Y2ggIT0gTlVMTCkgeworICAgICAgICAgICAgVUxPTkcgICBBdHRlbXB0
ID0gMDsKKworICAgICAgICAgICAgd2hpbGUgKCsrQXR0ZW1wdCA8IDEwMDApIHsKKyAgICAgICAg
ICAgICAgICBzdGF0dXMgPSBLZVdhaXRGb3JTaW5nbGVPYmplY3QoJkV2ZW50LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeGVjdXRpdmUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtlcm5lbE1vZGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmVGltZW91dCk7CisgICAg
ICAgICAgICAgICAgaWYgKHN0YXR1cyAhPSBTVEFUVVNfVElNRU9VVCkKKyAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAvLyBXZSBhcmUgd2FpdGluZyBmb3IgYSB3
YXRjaCBldmVudCBhdCBESVNQQVRDSF9MRVZFTCBzbworICAgICAgICAgICAgICAgIC8vIGl0IGlz
IG91ciByZXNwb25zaWJpbGl0eSB0byBwb2xsIHRoZSBzdG9yZSByaW5nLgorICAgICAgICAgICAg
ICAgIFhFTkJVU19TVE9SRShQb2xsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmVGFy
Z2V0LT5TdG9yZUludGVyZmFjZSk7CisKKyAgICAgICAgICAgICAgICBLZVN0YWxsRXhlY3V0aW9u
UHJvY2Vzc29yKDEwMDApOyAgIC8vIDFtcworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBL
ZUNsZWFyRXZlbnQoJkV2ZW50KTsKKyAgICAgICAgfQorCisgICAgICAgIHN0YXR1cyA9IFhFTkJV
U19TVE9SRShSZWFkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlRhcmdldC0+U3Rv
cmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0LT5CYWNrZW5kUGF0aCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJzdGF0ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAmQnVmZmVyKTsKKyAgICAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpIHsKKyAgICAgICAg
ICAgICpTdGF0ZSA9IFhlbmJ1c1N0YXRlVW5rbm93bjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICpTdGF0ZSA9IChYZW5idXNTdGF0ZSlzdHJ0b2woQnVmZmVyLCBOVUxMLCAxMCk7CisK
KyAgICAgICAgICAgIFhFTkJVU19TVE9SRShGcmVlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICZUYXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZl
cik7CisgICAgICAgIH0KKworICAgICAgICBLZVF1ZXJ5U3lzdGVtVGltZSgmTm93KTsKKworICAg
ICAgICBUaW1lRGVsdGEgPSAoTm93LlF1YWRQYXJ0IC0gU3RhcnQuUXVhZFBhcnQpIC8gMTAwMDB1
bGw7CiAgICAgfQorCisgICAgaWYgKFdhdGNoICE9IE5VTEwpCisgICAgICAgIChWT0lEKSBYRU5C
VVNfU1RPUkUoV2F0Y2hSZW1vdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlRhcmdl
dC0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2F0Y2gpOwog
fQogCi1zdGF0aWMgRk9SQ0VJTkxJTkUgUENIQVIKLUJsa2lmT3BlcmF0aW9uTmFtZSgKLSAgICBJ
TiAgVUNIQVIgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uCitzdGF0aWMgTlRTVEFUVVMKK1Rh
cmdldFVwZGF0ZVBhdGgoCisgICAgSU4gIFBYRU5WQkRfVEFSR0VUICBUYXJnZXQKICAgICApCiB7
Ci0gICAgc3dpdGNoIChPcGVyYXRpb24pIHsKLSAgICBjYXNlIEJMS0lGX09QX1JFQUQ6ICAgICAg
ICAgICAgIHJldHVybiAiUkVBRCI7Ci0gICAgY2FzZSBCTEtJRl9PUF9XUklURTogICAgICAgICAg
ICByZXR1cm4gIldSSVRFIjsKLSAgICBjYXNlIEJMS0lGX09QX1dSSVRFX0JBUlJJRVI6ICAgIHJl
dHVybiAiV1JJVEVfQkFSUklFUiI7Ci0gICAgY2FzZSBCTEtJRl9PUF9GTFVTSF9ESVNLQ0FDSEU6
ICByZXR1cm4gIkZMVVNIX0RJU0tDQUNIRSI7Ci0gICAgY2FzZSBCTEtJRl9PUF9SRVNFUlZFRF8x
OiAgICAgICByZXR1cm4gIlJFU0VSVkVEXzEiOwotICAgIGNhc2UgQkxLSUZfT1BfRElTQ0FSRDog
ICAgICAgICAgcmV0dXJuICJESVNDQVJEIjsKLSAgICBjYXNlIEJMS0lGX09QX0lORElSRUNUOiAg
ICAgICAgIHJldHVybiAiSU5ESVJFQ1QiOwotICAgIGRlZmF1bHQ6ICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuICI8dW5rbm93bj4iOworICAgIFVMT05HICAgICAgICAgICAgICAgTGVuZ3Ro
OworICAgIFBDSEFSICAgICAgICAgICAgICAgQnVmZmVyOworICAgIE5UU1RBVFVTICAgICAgICAg
ICAgc3RhdHVzOworCisgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFJlYWQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICZUYXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQtPlBhdGgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICJiYWNrZW5kLWlkIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgJkJ1ZmZlcik7CisgICAgaWYgKE5UX1NVQ0NFU1Moc3RhdHVzKSkgeworICAg
ICAgICBUYXJnZXQtPkJhY2tlbmRJZCA9IChVU0hPUlQpc3RydG91bChCdWZmZXIsIE5VTEwsIDEw
KTsKKworICAgICAgICBYRU5CVVNfU1RPUkUoRnJlZSwKKyAgICAgICAgICAgICAgICAgICAgICZU
YXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgQnVmZmVyKTsKKyAg
ICB9IGVsc2UgeworICAgICAgICBUYXJnZXQtPkJhY2tlbmRJZCA9IDA7CiAgICAgfQorCisgICAg
c3RhdHVzID0gWEVOQlVTX1NUT1JFKFJlYWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZU
YXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQtPlBhdGgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICJiYWNrZW5kIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlcik7
CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDE7CisKKyAg
ICBfX1RhcmdldEZyZWUoVGFyZ2V0LT5CYWNrZW5kUGF0aCk7CisgICAgVGFyZ2V0LT5CYWNrZW5k
UGF0aCA9IE5VTEw7CisKKyAgICBMZW5ndGggPSAoVUxPTkcpc3RybGVuKEJ1ZmZlcik7CisKKyAg
ICBzdGF0dXMgPSBTVEFUVVNfTk9fTUVNT1JZOworICAgIFRhcmdldC0+QmFja2VuZFBhdGggPSBf
X1RhcmdldEFsbG9jYXRlKExlbmd0aCArIDEpOworICAgIGlmIChUYXJnZXQtPkJhY2tlbmRQYXRo
ID09IE5VTEwpCisgICAgICAgIGdvdG8gZmFpbDI7CisKKyAgICBSdGxDb3B5TWVtb3J5KFRhcmdl
dC0+QmFja2VuZFBhdGgsIEJ1ZmZlciwgTGVuZ3RoKTsKKworICAgIFhFTkJVU19TVE9SRShGcmVl
LAorICAgICAgICAgICAgICAgICAmVGFyZ2V0LT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAg
ICAgICAgQnVmZmVyKTsKKworICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKKworZmFpbDI6Cisg
ICAgRXJyb3IoImZhaWwyXG4iKTsKKyAgICBYRU5CVVNfU1RPUkUoRnJlZSwKKyAgICAgICAgICAg
ICAgICAgJlRhcmdldC0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgIEJ1ZmZlcik7
CitmYWlsMToKKyAgICBFcnJvcigiZmFpbDEgJTA4eFxuIiwgc3RhdHVzKTsKKyAgICByZXR1cm4g
c3RhdHVzOworCiB9CiAKLVZPSUQKLVRhcmdldFN1Ym1pdFJlcXVlc3RzKAotICAgIF9faW4gUFhF
TlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0CitzdGF0aWMgTlRTVEFUVVMKK1RhcmdldENs
b3NlKAorICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0CiAgICAgKQogewotICAgIGZvciAo
OzspIHsKLSAgICAgICAgLy8gc3VibWl0IGFsbCBwcmVwYXJlZCByZXF1ZXN0cyAoMCBvciBtb3Jl
IHJlcXVlc3RzKQotICAgICAgICAvLyByZXR1cm4gVFJVRSBpZiBzdWJtaXR0ZWQgMCBvciBtb3Jl
IHJlcXVlc3RzIGZyb20gcHJlcGFyZWQgcXVldWUKLSAgICAgICAgLy8gcmV0dXJuIEZBTFNFIGlm
ZiByaW5nIGlzIGZ1bGwKLSAgICAgICAgaWYgKCFUYXJnZXRTdWJtaXRQcmVwYXJlZChUYXJnZXQp
KQotICAgICAgICAgICAgYnJlYWs7CisgICAgWGVuYnVzU3RhdGUgICAgICAgICBTdGF0ZTsKKyAg
ICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsKIAotICAgICAgICAvLyBwcmVwYXJlIGEgc2lu
Z2xlIFNSQiAoaW50byAxIG9yIG1vcmUgcmVxdWVzdHMpCi0gICAgICAgIC8vIHJldHVybiBUUlVF
IGlmIHByZXBhcmUgc3VjY2VlZGVkCi0gICAgICAgIC8vIHJldHVybiBGQUxTRSBpZiBwcmVwYXJl
IGZhaWxlZCBvciBmcmVzaCBxdWV1ZSBlbXB0eQotICAgICAgICBpZiAoIVRhcmdldFByZXBhcmVG
cmVzaChUYXJnZXQpKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgfQorICAgIFRyYWNlKCJbJXVd
IC0tLS0tPlxuIiwgVGFyZ2V0LT5UYXJnZXRJZCk7CiAKLSAgICAvLyBpZiBubyByZXF1ZXN0cy9T
UkJzIG91dHN0YW5kaW5nLCBjb21wbGV0ZSBhbnkgc2h1dGRvd24gU1JCcwotICAgIFRhcmdldENv
bXBsZXRlU2h1dGRvd24oVGFyZ2V0KTsKKyAgICBpZiAoVGFyZ2V0LT5CYWNrZW5kV2F0Y2gpCisg
ICAgICAgIFhFTkJVU19TVE9SRShXYXRjaFJlbW92ZSwKKyAgICAgICAgICAgICAgICAgICAgICZU
YXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0LT5CYWNr
ZW5kV2F0Y2gpOworICAgIFRhcmdldC0+QmFja2VuZFdhdGNoID0gTlVMTDsKKworICAgIHN0YXR1
cyA9IFRhcmdldFVwZGF0ZVBhdGgoVGFyZ2V0KTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVz
KSkKKyAgICAgICAgZ290byBmYWlsMTsKKworICAgIFN0YXRlID0gWGVuYnVzU3RhdGVVbmtub3du
OworICAgIGRvIHsKKyAgICAgICAgVGFyZ2V0V2FpdEZvckJhY2tlbmRTdGF0ZUNoYW5nZShUYXJn
ZXQsICZTdGF0ZSk7CisKKyAgICAgICAgc3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZVTDsKKyAg
ICAgICAgaWYgKFN0YXRlID09IFhlbmJ1c1N0YXRlVW5rbm93bikKKyAgICAgICAgICAgIGdvdG8g
ZmFpbDI7CisgICAgfSB3aGlsZSAoU3RhdGUgPT0gWGVuYnVzU3RhdGVJbml0aWFsaXNpbmcpOwor
CisgICAgd2hpbGUgKFN0YXRlICE9IFhlbmJ1c1N0YXRlQ2xvc2luZyAmJiAKKyAgICAgICAgICAg
U3RhdGUgIT0gWGVuYnVzU3RhdGVDbG9zZWQpIHsKKyAgICAgICAgc3RhdHVzID0gWEVOQlVTX1NU
T1JFKFByaW50ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlRhcmdldC0+U3Rv
cmVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldC0+UGF0aCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInN0YXRlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIiV1IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVMT05HKVhlbmJ1c1N0
YXRlQ2xvc2luZyk7CisgICAgICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICAg
ICAgZ290byBmYWlsMzsKKworICAgICAgICBUYXJnZXRXYWl0Rm9yQmFja2VuZFN0YXRlQ2hhbmdl
KFRhcmdldCwgJlN0YXRlKTsKKworICAgICAgICBzdGF0dXMgPSBTVEFUVVNfVU5TVUNDRVNTRlVM
OworICAgICAgICBpZiAoU3RhdGUgPT0gWGVuYnVzU3RhdGVVbmtub3duKQorICAgICAgICAgICAg
Z290byBmYWlsNDsKKyAgICB9CisKKyAgICB3aGlsZSAoU3RhdGUgIT0gWGVuYnVzU3RhdGVDbG9z
ZWQpIHsKKyAgICAgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFByaW50ZiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJlRhcmdldC0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFRhcmdldC0+UGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXRl
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiV1IiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKFVMT05HKVhlbmJ1c1N0YXRlQ2xvc2VkKTsKKyAgICAgICAgaWYg
KCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgICAgICBnb3RvIGZhaWwzOworCisgICAgICAg
IFRhcmdldFdhaXRGb3JCYWNrZW5kU3RhdGVDaGFuZ2UoVGFyZ2V0LCAmU3RhdGUpOworCisgICAg
ICAgIHN0YXR1cyA9IFNUQVRVU19VTlNVQ0NFU1NGVUw7CisgICAgICAgIGlmIChTdGF0ZSA9PSBY
ZW5idXNTdGF0ZVVua25vd24pCisgICAgICAgICAgICBnb3RvIGZhaWw0OworICAgIH0KKworICAg
IFRyYWNlKCJbJXVdIDwtLS0tLVxuIiwgVGFyZ2V0LT5UYXJnZXRJZCk7CisgICAgcmV0dXJuIFNU
QVRVU19TVUNDRVNTOworCitmYWlsNDoKKyAgICBFcnJvcigiZmFpbDRcbiIpOworZmFpbDM6Cisg
ICAgRXJyb3IoImZhaWwzXG4iKTsKK2ZhaWwyOgorICAgIEVycm9yKCJmYWlsMlxuIik7CitmYWls
MToKKyAgICBFcnJvcigiZmFpbDEgJTA4eFxuIiwgc3RhdHVzKTsKKyAgICByZXR1cm4gc3RhdHVz
OwogfQogCi1WT0lECi1UYXJnZXRDb21wbGV0ZVJlc3BvbnNlKAotICAgIF9faW4gUFhFTlZCRF9U
QVJHRVQgICAgICAgICAgICAgVGFyZ2V0LAotICAgIF9faW4gVUxPTkcgICAgICAgICAgICAgICAg
ICAgVGFnLAotICAgIF9faW4gU0hPUlQgICAgICAgICAgICAgICAgICAgU3RhdHVzCitzdGF0aWMg
TlRTVEFUVVMKK1RhcmdldFByZXBhcmUoCisgICAgSU4gIFBYRU5WQkRfVEFSR0VUICBUYXJnZXQK
ICAgICApCiB7Ci0gICAgUFhFTlZCRF9SRVFVRVNUICAgICBSZXF1ZXN0OwotICAgIFBTQ1NJX1JF
UVVFU1RfQkxPQ0sgU3JiOwotICAgIFBYRU5WQkRfU1JCRVhUICAgICAgU3JiRXh0OworICAgIFhl
bmJ1c1N0YXRlICAgICAgICAgU3RhdGU7CisgICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7
CiAKLSAgICBSZXF1ZXN0ID0gVGFyZ2V0UmVxdWVzdEZyb21UYWcoVGFyZ2V0LCBUYWcpOwotICAg
IGlmIChSZXF1ZXN0ID09IE5VTEwpCi0gICAgICAgIHJldHVybjsKKyAgICBUcmFjZSgiWyV1XSAt
LS0tLT5cbiIsIFRhcmdldC0+VGFyZ2V0SWQpOworCisgICAgc3RhdHVzID0gVGFyZ2V0VXBkYXRl
UGF0aChUYXJnZXQpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3Rv
IGZhaWwxOworCisgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFdhdGNoQWRkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAmVGFyZ2V0LT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0LT5CYWNr
ZW5kUGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVGhyZWFkR2V0RXZlbnQoVGFyZ2V0
LT5CYWNrZW5kVGhyZWFkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJlRhcmdldC0+QmFj
a2VuZFdhdGNoKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBm
YWlsMjsKIAotICAgIFNyYiAgICAgPSBSZXF1ZXN0LT5TcmI7Ci0gICAgU3JiRXh0ICA9IFNyYi0+
U3JiRXh0ZW5zaW9uOwotICAgIEFTU0VSVDNQKFNyYkV4dCwgIT0sIE5VTEwpOworICAgIHN0YXR1
cyA9IFRhcmdldFdyaXRlVGFyZ2V0UGF0aChUYXJnZXQpOworICAgIGlmICghTlRfU1VDQ0VTUyhz
dGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwzOwogCi0gICAgc3dpdGNoIChTdGF0dXMpIHsKLSAg
ICBjYXNlIEJMS0lGX1JTUF9PS0FZOgotICAgICAgICBSZXF1ZXN0Q29weU91dHB1dChSZXF1ZXN0
KTsKLSAgICAgICAgYnJlYWs7CisgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFByaW50ZiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgJlRhcmdldC0+U3RvcmVJbnRlcmZhY2UsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdl
dC0+UGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXRlIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIiV1IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKFVMT05HKVhl
bmJ1c1N0YXRlSW5pdGlhbGlzaW5nKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAg
ICAgICAgZ290byBmYWlsNDsKIAotICAgIGNhc2UgQkxLSUZfUlNQX0VPUE5PVFNVUFA6Ci0gICAg
ICAgIC8vIFJlbW92ZSBhcHByb3ByaWF0ZSBmZWF0dXJlIHN1cHBvcnQKLSAgICAgICAgRnJvbnRl
bmRSZW1vdmVGZWF0dXJlKFRhcmdldC0+RnJvbnRlbmQsIFJlcXVlc3QtPk9wZXJhdGlvbik7Ci0g
ICAgICAgIC8vIFN1Y2NlZWQgdGhpcyBTUkIsIHN1YnNpcXVlbnQgU1JCcyB3aWxsIGJlIHN1Y2Nl
ZWRlZCBpbnN0ZWFkIG9mIGJlaW5nIHBhc3NlZCB0byB0aGUgYmFja2VuZC4KLSAgICAgICAgU3Ji
LT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX1NVQ0NFU1M7Ci0gICAgICAgIGJyZWFrOworICAgIFN0
YXRlID0gWGVuYnVzU3RhdGVVbmtub3duOworICAgIGRvIHsKKyAgICAgICAgVGFyZ2V0V2FpdEZv
ckJhY2tlbmRTdGF0ZUNoYW5nZShUYXJnZXQsICZTdGF0ZSk7CiAKLSAgICBjYXNlIEJMS0lGX1JT
UF9FUlJPUjoKLSAgICBkZWZhdWx0OgotICAgICAgICBXYXJuaW5nKCJUYXJnZXRbJWRdIDogJXMg
QkxLSUZfUlNQX0VSUk9SIChUYWcgJXgpXG4iLAotICAgICAgICAgICAgICAgIFRhcmdldEdldFRh
cmdldElkKFRhcmdldCksIEJsa2lmT3BlcmF0aW9uTmFtZShSZXF1ZXN0LT5PcGVyYXRpb24pLCBU
YWcpOwotICAgICAgICBTcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfRVJST1I7Ci0gICAgICAg
IGJyZWFrOwotICAgIH0KKyAgICAgICAgc3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZVTDsKKyAg
ICAgICAgaWYgKFN0YXRlID09IFhlbmJ1c1N0YXRlVW5rbm93bikKKyAgICAgICAgICAgIGdvdG8g
ZmFpbDU7CisgICAgfSB3aGlsZSAoU3RhdGUgPT0gWGVuYnVzU3RhdGVDbG9zZWQgfHwgCisgICAg
ICAgICAgICAgU3RhdGUgPT0gWGVuYnVzU3RhdGVJbml0aWFsaXNpbmcpOwogCi0gICAgVGFyZ2V0
UHV0UmVxdWVzdChUYXJnZXQsIFJlcXVlc3QpOworICAgIHN0YXR1cyA9IFNUQVRVU19VTlNVQ0NF
U1NGVUw7CisgICAgaWYgKFN0YXRlICE9IFhlbmJ1c1N0YXRlSW5pdFdhaXQpCisgICAgICAgIGdv
dG8gZmFpbDY7CiAKLSAgICAvLyBjb21wbGV0ZSBzcmIKLSAgICBpZiAoSW50ZXJsb2NrZWREZWNy
ZW1lbnQoJlNyYkV4dC0+UmVxdWVzdENvdW50KSA9PSAwKSB7Ci0gICAgICAgIGlmIChTcmItPlNy
YlN0YXR1cyA9PSBTUkJfU1RBVFVTX1BFTkRJTkcpIHsKLSAgICAgICAgICAgIC8vIFNSQiBoYXMg
bm90IGhpdCBhIGZhaWx1cmUgY29uZGl0aW9uIChCTEtJRl9SU1BfRVJST1IgfCBCTEtJRl9SU1Bf
RU9QTk9UU1VQUCkKLSAgICAgICAgICAgIC8vIGZyb20gYW55IG9mIGl0cyByZXNwb25zZXMuIFNS
QiBtdXN0IGhhdmUgc3VjY2VlZGVkCi0gICAgICAgICAgICBTcmItPlNyYlN0YXR1cyA9IFNSQl9T
VEFUVVNfU1VDQ0VTUzsKLSAgICAgICAgICAgIFNyYi0+U2NzaVN0YXR1cyA9IDB4MDA7IC8vIFND
U0lfR09PRAotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gU3JiLT5TcmJTdGF0dXMg
aGFzIGFscmVhZHkgYmVlbiBzZXQgYnkgMSBvciBtb3JlIHJlcXVlc3RzIHdpdGggU3RhdHVzICE9
IEJMS0lGX1JTUF9PS0FZCi0gICAgICAgICAgICBTcmItPlNjc2lTdGF0dXMgPSAweDQwOyAvLyBT
Q1NJX0FCT1JURUQKLSAgICAgICAgfQorICAgIFRyYWNlKCJbJXVdIDwtLS0tLVxuIiwgVGFyZ2V0
LT5UYXJnZXRJZCk7CisgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwogCi0gICAgICAgIEFkYXB0
ZXJDb21wbGV0ZVNyYihUYXJnZXRHZXRBZGFwdGVyKFRhcmdldCksIFNyYkV4dCk7Ci0gICAgfQor
ZmFpbDY6CisgICAgRXJyb3IoImZhaWw2XG4iKTsKK2ZhaWw1OgorICAgIEVycm9yKCJmYWlsNVxu
Iik7CitmYWlsNDoKKyAgICBFcnJvcigiZmFpbDRcbiIpOworZmFpbDM6CisgICAgRXJyb3IoImZh
aWwzXG4iKTsKKyAgICBYRU5CVVNfU1RPUkUoV2F0Y2hSZW1vdmUsCisgICAgICAgICAgICAgICAg
ICZUYXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICBUYXJnZXQtPkJhY2tl
bmRXYXRjaCk7CisgICAgVGFyZ2V0LT5CYWNrZW5kV2F0Y2ggPSBOVUxMOworZmFpbDI6CisgICAg
RXJyb3IoImZhaWwyXG4iKTsKK2ZhaWwxOgorICAgIEVycm9yKCJmYWlsMSAlMDh4XG4iLCBzdGF0
dXMpOworICAgIHJldHVybiBzdGF0dXM7CiB9CiAKLVZPSUQKLVRhcmdldFByZVJlc3VtZSgKLSAg
ICBfX2luIFBYRU5WQkRfVEFSR0VUICAgICAgICAgICAgIFRhcmdldAorc3RhdGljIE5UU1RBVFVT
CitUYXJnZXRDb25uZWN0KAorICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0CiAgICAgKQog
ewotICAgIExJU1RfRU5UUlkgICAgICAgICAgTGlzdDsKLQotICAgIEluaXRpYWxpemVMaXN0SGVh
ZCgmTGlzdCk7CisgICAgWGVuYnVzU3RhdGUgICAgICAgICBTdGF0ZTsKKyAgICBOVFNUQVRVUyAg
ICAgICAgICAgIHN0YXR1czsKIAotICAgIC8vIHBvcCBhbGwgc3VibWl0dGVkIHJlcXVlc3RzLCBj
bGVhbnVwIGFuZCBhZGQgYXNzb2NpYXRlZCBTUkIgdG8gYSBsaXN0Ci0gICAgZm9yICg7Oykgewot
ICAgICAgICBQWEVOVkJEX1NSQkVYVCAgU3JiRXh0OwotICAgICAgICBQWEVOVkJEX1JFUVVFU1Qg
UmVxdWVzdDsKLSAgICAgICAgUExJU1RfRU5UUlkgICAgIEVudHJ5ID0gUXVldWVQb3AoJlRhcmdl
dC0+U3VibWl0dGVkUmVxcyk7Ci0gICAgICAgIGlmIChFbnRyeSA9PSBOVUxMKQotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIFJlcXVlc3QgPSBDT05UQUlOSU5HX1JFQ09SRChFbnRyeSwgWEVO
VkJEX1JFUVVFU1QsIEVudHJ5KTsKLSAgICAgICAgU3JiRXh0ID0gUmVxdWVzdC0+U3JiLT5TcmJF
eHRlbnNpb247CisgICAgVHJhY2UoIlsldV0gLS0tLS0+XG4iLCBUYXJnZXQtPlRhcmdldElkKTsK
IAotICAgICAgICBUYXJnZXRQdXRSZXF1ZXN0KFRhcmdldCwgUmVxdWVzdCk7CisgICAgc3RhdHVz
ID0gR3JhbnRlckNvbm5lY3QoVGFyZ2V0LT5HcmFudGVyKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Mo
c3RhdHVzKSkKKyAgICAgICAgZ290byBmYWlsMTsKIAotICAgICAgICBpZiAoSW50ZXJsb2NrZWRE
ZWNyZW1lbnQoJlNyYkV4dC0+UmVxdWVzdENvdW50KSA9PSAwKSB7Ci0gICAgICAgICAgICBJbnNl
cnRUYWlsTGlzdCgmTGlzdCwgJlNyYkV4dC0+TGlzdEVudHJ5KTsKLSAgICAgICAgfQotICAgIH0K
KyAgICBzdGF0dXMgPSBCbG9ja1JpbmdDb25uZWN0KFRhcmdldC0+QmxvY2tSaW5nKTsKKyAgICBp
ZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBmYWlsMjsKIAotICAgIC8vIHBv
cCBhbGwgcHJlcGFyZWQgcmVxdWVzdHMsIGNsZWFudXAgYW5kIGFkZCBhc3NvY2lhdGVkIFNSQiB0
byBhIGxpc3QKICAgICBmb3IgKDs7KSB7Ci0gICAgICAgIFBYRU5WQkRfU1JCRVhUICBTcmJFeHQ7
Ci0gICAgICAgIFBYRU5WQkRfUkVRVUVTVCBSZXF1ZXN0OwotICAgICAgICBQTElTVF9FTlRSWSAg
ICAgRW50cnkgPSBRdWV1ZVBvcCgmVGFyZ2V0LT5QcmVwYXJlZFJlcXMpOwotICAgICAgICBpZiAo
RW50cnkgPT0gTlVMTCkKKyAgICAgICAgUFhFTkJVU19TVE9SRV9UUkFOU0FDVElPTiAgIFRyYW5z
YWN0aW9uOworCisgICAgICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShUcmFuc2FjdGlvblN0YXJ0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlRhcmdldC0+U3RvcmVJbnRlcmZhY2Us
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmVHJhbnNhY3Rpb24pOworICAgICAgICBp
ZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBSZXF1
ZXN0ID0gQ09OVEFJTklOR19SRUNPUkQoRW50cnksIFhFTlZCRF9SRVFVRVNULCBFbnRyeSk7Ci0g
ICAgICAgIFNyYkV4dCA9IFJlcXVlc3QtPlNyYi0+U3JiRXh0ZW5zaW9uOwogCi0gICAgICAgIFRh
cmdldFB1dFJlcXVlc3QoVGFyZ2V0LCBSZXF1ZXN0KTsKKyAgICAgICAgc3RhdHVzID0gQmxvY2tS
aW5nU3RvcmVXcml0ZShUYXJnZXQtPkJsb2NrUmluZywgVHJhbnNhY3Rpb24pOworICAgICAgICBp
ZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgICAgIGdvdG8gYWJvcnQ7CiAKLSAgICAg
ICAgaWYgKEludGVybG9ja2VkRGVjcmVtZW50KCZTcmJFeHQtPlJlcXVlc3RDb3VudCkgPT0gMCkg
ewotICAgICAgICAgICAgSW5zZXJ0VGFpbExpc3QoJkxpc3QsICZTcmJFeHQtPkxpc3RFbnRyeSk7
Ci0gICAgICAgIH0KLSAgICB9CisgICAgICAgIHN0YXR1cyA9IEdyYW50ZXJTdG9yZVdyaXRlKFRh
cmdldC0+R3JhbnRlciwgVHJhbnNhY3Rpb24pOworICAgICAgICBpZiAoIU5UX1NVQ0NFU1Moc3Rh
dHVzKSkKKyAgICAgICAgICAgIGdvdG8gYWJvcnQ7CiAKLSAgICAvLyBmb3JlYWNoIFNSQiBpbiBs
aXN0LCBwdXQgb24gc3RhcnQgb2YgRnJlc2hTcmJzCi0gICAgZm9yICg7OykgewotICAgICAgICBQ
WEVOVkJEX1NSQkVYVCAgU3JiRXh0OwotICAgICAgICBQTElTVF9FTlRSWSAgICAgTGlzdEVudHJ5
ID0gUmVtb3ZlVGFpbExpc3QoJkxpc3QpOwotICAgICAgICBpZiAoTGlzdEVudHJ5ID09ICZMaXN0
KQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIFNyYkV4dCA9IENPTlRBSU5JTkdfUkVDT1JE
KExpc3RFbnRyeSwgWEVOVkJEX1NSQkVYVCwgTGlzdEVudHJ5KTsKKyAgICAgICAgc3RhdHVzID0g
VGFyZ2V0U3RvcmVXcml0ZShUYXJnZXQsIFRyYW5zYWN0aW9uKTsKKyAgICAgICAgaWYgKCFOVF9T
VUNDRVNTKHN0YXR1cykpCisgICAgICAgICAgICBnb3RvIGFib3J0OworCisgICAgICAgIHN0YXR1
cyA9IFhFTkJVU19TVE9SRShUcmFuc2FjdGlvbkVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZUYXJnZXQtPlN0b3JlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgVHJhbnNhY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFKTsK
KyAgICAgICAgaWYgKHN0YXR1cyA9PSBTVEFUVVNfUkVUUlkpCisgICAgICAgICAgICBjb250aW51
ZTsKKyAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgUXVldWVVblBvcCgmVGFyZ2V0LT5GcmVzaFNy
YnMsICZTcmJFeHQtPkxpc3RFbnRyeSk7CithYm9ydDoKKyAgICAgICAgKFZPSUQpIFhFTkJVU19T
VE9SRShUcmFuc2FjdGlvbkVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmVGFyZ2V0
LT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2FjdGlv
biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSk7ICAgCisgICAgICAgIGJyZWFr
OwogICAgIH0KKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBmYWls
MzsKIAotICAgIC8vIG5vdyB0aGUgZmlyc3Qgc2V0IG9mIHJlcXVlc3RzIHBvcHBlZCBvZmYgc3Vi
bWl0dGVkIGxpc3QgaXMgdGhlIG5leHQgU1JCIAotICAgIC8vIHRvIGJlIHBvcHBlZCBvZmYgdGhl
IGZyZXNoIGxpc3QKLX0KKyAgICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUoUHJpbnRmLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAmVGFyZ2V0LT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0LT5Q
YXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdGUiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAiJXUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAoVUxPTkcpWGVuYnVz
U3RhdGVJbml0aWFsaXNlZCk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAg
IGdvdG8gZmFpbDQ7CisKKyAgICBTdGF0ZSA9IFhlbmJ1c1N0YXRlVW5rbm93bjsKKyAgICBkbyB7
CisgICAgICAgVGFyZ2V0V2FpdEZvckJhY2tlbmRTdGF0ZUNoYW5nZShUYXJnZXQsICZTdGF0ZSk7
CisKKyAgICAgICBzdGF0dXMgPSBTVEFUVVNfVU5TVUNDRVNTRlVMOworICAgICAgIGlmIChTdGF0
ZSA9PSBYZW5idXNTdGF0ZVVua25vd24pCisgICAgICAgICAgIGdvdG8gZmFpbDU7CisgICAgfSB3
aGlsZSAoU3RhdGUgPT0gWGVuYnVzU3RhdGVJbml0V2FpdCB8fAorICAgICAgICAgICAgIFN0YXRl
ID09IFhlbmJ1c1N0YXRlSW5pdGlhbGlzaW5nIHx8CisgICAgICAgICAgICAgU3RhdGUgPT0gWGVu
YnVzU3RhdGVJbml0aWFsaXNlZCk7CisKKyAgICBzdGF0dXMgPSBTVEFUVVNfVU5TVUNDRVNTRlVM
OworICAgIGlmIChTdGF0ZSAhPSBYZW5idXNTdGF0ZUNvbm5lY3RlZCkKKyAgICAgICAgZ290byBm
YWlsNjsKKworICAgIFRhcmdldFN0b3JlUmVhZERpc2tJbmZvKFRhcmdldCk7CisgICAgVGFyZ2V0
U3RvcmVSZWFkRmVhdHVyZXMoVGFyZ2V0KTsKKworICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShQ
cmludGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZUYXJnZXQtPlN0b3JlSW50ZXJmYWNl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBUYXJnZXQtPlBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJzdGF0ZSIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICIldSIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IChVTE9ORylYZW5idXNTdGF0ZUNvbm5lY3RlZCk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1
cykpCisgICAgICAgIGdvdG8gZmFpbDc7CiAKLVZPSUQKLVRhcmdldFBvc3RSZXN1bWUoCi0gICAg
X19pbiBQWEVOVkJEX1RBUkdFVCAgICAgICAgICAgICBUYXJnZXQKLSAgICApCi17Ci0gICAgS0lS
UUwgICBJcnFsOworICAgIFRyYWNlKCJbJXVdIDwtLS0tLVxuIiwgVGFyZ2V0LT5UYXJnZXRJZCk7
CisgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwogCi0gICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6
ICVkIEZyZXNoIFNSQnNcbiIsIFRhcmdldEdldFRhcmdldElkKFRhcmdldCksIFF1ZXVlQ291bnQo
JlRhcmdldC0+RnJlc2hTcmJzKSk7Ci0gICAgCi0gICAgLy8gY2xlYXIgbWlzc2luZyBmbGFnCi0g
ICAgS2VBY3F1aXJlU3BpbkxvY2soJlRhcmdldC0+TG9jaywgJklycWwpOwotICAgIFZlcmJvc2Uo
IlRhcmdldFslZF0gOiAlcyAoJXMpXG4iLCBUYXJnZXRHZXRUYXJnZXRJZChUYXJnZXQpLCBUYXJn
ZXQtPk1pc3NpbmcgPyAiTUlTU0lORyIgOiAiTk9UX01JU1NJTkciLCBUYXJnZXQtPlJlYXNvbik7
Ci0gICAgVGFyZ2V0LT5NaXNzaW5nID0gRkFMU0U7Ci0gICAgVGFyZ2V0LT5SZWFzb24gPSBOVUxM
OwotICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZUYXJnZXQtPkxvY2ssIElycWwpOworZmFpbDc6Cisg
ICAgRXJyb3IoImZhaWw3XG4iKTsKK2ZhaWw2OgorICAgIEVycm9yKCJmYWlsNlxuIik7CitmYWls
NToKKyAgICBFcnJvcigiZmFpbDVcbiIpOworZmFpbDQ6CisgICAgRXJyb3IoImZhbGk0XG4iKTsK
K2ZhaWwzOgorICAgIEVycm9yKCJmYWlsM1xuIik7CisgICAgQmxvY2tSaW5nRGlzY29ubmVjdChU
YXJnZXQtPkJsb2NrUmluZyk7CitmYWlsMjoKKyAgICBFcnJvcigiZmFpbDJcbiIpOworICAgIEdy
YW50ZXJEaXNjb25uZWN0KFRhcmdldC0+R3JhbnRlcik7CitmYWlsMToKKyAgICBFcnJvcigiZmFp
bDEgJTA4eFxuIiwgc3RhdHVzKTsKKyAgICByZXR1cm4gc3RhdHVzOwogfQogCi0vLz09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0vLyBTUkJzCi1fX2NoZWNrUmV0dXJuCi1zdGF0aWMgRk9SQ0VJTkxJTkUg
Qk9PTEVBTgotX19WYWxpZGF0ZVNlY3RvcnMoCi0gICAgX19pbiBVTE9ORzY0ICAgICAgICAgICAg
ICAgICBTZWN0b3JDb3VudCwKLSAgICBfX2luIFVMT05HNjQgICAgICAgICAgICAgICAgIFN0YXJ0
LAotICAgIF9faW4gVUxPTkcgICAgICAgICAgICAgICAgICAgTGVuZ3RoCitzdGF0aWMgVk9JRAor
VGFyZ2V0RW5hYmxlKAorICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0CiAgICAgKQogewot
ICAgIC8vIERlYWwgd2l0aCBvdmVyZmxvdwotICAgIHJldHVybiAoU3RhcnQgPCBTZWN0b3JDb3Vu
dCkgJiYgKChTdGFydCArIExlbmd0aCkgPD0gU2VjdG9yQ291bnQpOwotfQorICAgIFRyYWNlKCJb
JXVdIC0tLS0tPlxuIiwgVGFyZ2V0LT5UYXJnZXRJZCk7CiAKLV9fY2hlY2tSZXR1cm4KLXN0YXRp
YyBGT1JDRUlOTElORSBCT09MRUFOCi1fX1ZhbGlkYXRlU3JiQnVmZmVyKAotICAgIF9faW4gUENI
QVIgICAgICAgICAgICAgICAgICBDYWxsZXIsCi0gICAgX19pbiBQU0NTSV9SRVFVRVNUX0JMT0NL
ICAgIFNyYiwKLSAgICBfX2luIFVMT05HICAgICAgICAgICAgICAgICAgTWluTGVuZ3RoCi0gICAg
KQotewotICAgIGlmIChTcmItPkRhdGFCdWZmZXIgPT0gTlVMTCkgewotICAgICAgICBFcnJvcigi
JXM6IFNyYlsweCVwXS5EYXRhQnVmZmVyID0gTlVMTFxuIiwgQ2FsbGVyLCBTcmIpOwotICAgICAg
ICByZXR1cm4gRkFMU0U7Ci0gICAgfQotICAgIGlmIChNaW5MZW5ndGgpIHsKLSAgICAgICAgaWYg
KFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoIDwgTWluTGVuZ3RoKSB7Ci0gICAgICAgICAgICBFcnJv
cigiJXM6IFNyYlsweCVwXS5EYXRhVHJhbnNmZXJMZW5ndGggPCAlZFxuIiwgQ2FsbGVyLCBTcmIs
IE1pbkxlbmd0aCk7Ci0gICAgICAgICAgICByZXR1cm4gRkFMU0U7Ci0gICAgICAgIH0KLSAgICB9
IGVsc2UgewotICAgICAgICBpZiAoU3JiLT5EYXRhVHJhbnNmZXJMZW5ndGggPT0gMCkgewotICAg
ICAgICAgICAgRXJyb3IoIiVzOiBTcmJbMHglcF0uRGF0YVRyYW5zZmVyTGVuZ3RoID0gMFxuIiwg
Q2FsbGVyLCBTcmIpOwotICAgICAgICAgICAgcmV0dXJuIEZBTFNFOwotICAgICAgICB9Ci0gICAg
fQorICAgIEdyYW50ZXJFbmFibGUoVGFyZ2V0LT5HcmFudGVyKTsKKyAgICBCbG9ja1JpbmdFbmFi
bGUoVGFyZ2V0LT5CbG9ja1JpbmcpOwogCi0gICAgcmV0dXJuIFRSVUU7CisgICAgVHJhY2UoIlsl
dV0gPC0tLS0tXG4iLCBUYXJnZXQtPlRhcmdldElkKTsKIH0KIAotc3RhdGljIERFQ0xTUEVDX05P
SU5MSU5FIFZPSUQKLVRhcmdldFJlYWRXcml0ZSgKLSAgICBJTiAgUFhFTlZCRF9UQVJHRVQgICAg
ICBUYXJnZXQsCi0gICAgSU4gIFBYRU5WQkRfU1JCRVhUICAgICAgU3JiRXh0CitzdGF0aWMgVk9J
RAorVGFyZ2V0RGlzYWJsZSgKKyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldAogICAgICkK
IHsKLSAgICBQU0NTSV9SRVFVRVNUX0JMT0NLICAgICBTcmIgPSBTcmJFeHQtPlNyYjsKLSAgICBQ
WEVOVkJEX0RJU0tJTkZPICAgICAgICBEaXNrSW5mbyA9IEZyb250ZW5kR2V0RGlza0luZm8oVGFy
Z2V0LT5Gcm9udGVuZCk7Ci0gICAgUFhFTlZCRF9OT1RJRklFUiAgICAgICAgTm90aWZpZXIgPSBG
cm9udGVuZEdldE5vdGlmaWVyKFRhcmdldC0+RnJvbnRlbmQpOwotCi0gICAgaWYgKEZyb250ZW5k
R2V0Q2FwcyhUYXJnZXQtPkZyb250ZW5kKS0+Q29ubmVjdGVkID09IEZBTFNFKSB7Ci0gICAgICAg
IFRyYWNlKCJUYXJnZXRbJWRdIDogTm90IFJlYWR5LCBmYWlsIFNSQlxuIiwgVGFyZ2V0R2V0VGFy
Z2V0SWQoVGFyZ2V0KSk7Ci0gICAgICAgIFNyYi0+U2NzaVN0YXR1cyA9IDB4NDA7IC8vIFNDU0lf
QUJPUlQ7Ci0gICAgICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19FUlJPUjsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KKyAgICBUcmFjZSgiWyV1XSAtLS0tLT5cbiIsIFRhcmdldC0+VGFy
Z2V0SWQpOwogCi0gICAgLy8gY2hlY2sgdmFsaWQgc2VjdG9ycwotICAgIGlmICghX19WYWxpZGF0
ZVNlY3RvcnMoRGlza0luZm8tPlNlY3RvckNvdW50LCBDZGJfTG9naWNhbEJsb2NrKFNyYiksIENk
Yl9UcmFuc2ZlckJsb2NrKFNyYikpKSB7Ci0gICAgICAgIFRyYWNlKCJUYXJnZXRbJWRdIDogSW52
YWxpZCBTZWN0b3IgKCVkIEAgJWxsZCA8ICVsbGQpXG4iLCBUYXJnZXRHZXRUYXJnZXRJZChUYXJn
ZXQpLCBDZGJfVHJhbnNmZXJCbG9jayhTcmIpLCBDZGJfTG9naWNhbEJsb2NrKFNyYiksIERpc2tJ
bmZvLT5TZWN0b3JDb3VudCk7Ci0gICAgICAgIFNyYi0+U2NzaVN0YXR1cyA9IDB4NDA7IC8vIFND
U0lfQUJPUlQKLSAgICAgICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX0VSUk9SOwotICAg
ICAgICByZXR1cm47IC8vIENvbXBsZXRlIG5vdwotICAgIH0KKyAgICBCbG9ja1JpbmdEaXNhYmxl
KFRhcmdldC0+QmxvY2tSaW5nKTsKKyAgICBHcmFudGVyRGlzYWJsZShUYXJnZXQtPkdyYW50ZXIp
OwogCi0gICAgUXVldWVBcHBlbmQoJlRhcmdldC0+RnJlc2hTcmJzLCAmU3JiRXh0LT5MaXN0RW50
cnkpOwotICAgIE5vdGlmaWVyS2ljayhOb3RpZmllcik7CisgICAgVHJhY2UoIlsldV0gPC0tLS0t
XG4iLCBUYXJnZXQtPlRhcmdldElkKTsKIH0KIAotc3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIFZP
SUQKLVRhcmdldFN5bmNDYWNoZSgKLSAgICBJTiAgUFhFTlZCRF9UQVJHRVQgICAgICBUYXJnZXQs
Ci0gICAgSU4gIFBYRU5WQkRfU1JCRVhUICAgICAgU3JiRXh0CitzdGF0aWMgVk9JRAorVGFyZ2V0
RGlzY29ubmVjdCgKKyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldAogICAgICkKIHsKLSAg
ICBQU0NTSV9SRVFVRVNUX0JMT0NLICAgICBTcmIgPSBTcmJFeHQtPlNyYjsKLSAgICBQWEVOVkJE
X05PVElGSUVSICAgICAgICBOb3RpZmllciA9IEZyb250ZW5kR2V0Tm90aWZpZXIoVGFyZ2V0LT5G
cm9udGVuZCk7Ci0KLSAgICBpZiAoRnJvbnRlbmRHZXRDYXBzKFRhcmdldC0+RnJvbnRlbmQpLT5D
b25uZWN0ZWQgPT0gRkFMU0UpIHsKLSAgICAgICAgVHJhY2UoIlRhcmdldFslZF0gOiBOb3QgUmVh
ZHksIGZhaWwgU1JCXG4iLCBUYXJnZXRHZXRUYXJnZXRJZChUYXJnZXQpKTsKLSAgICAgICAgU3Ji
LT5TY3NpU3RhdHVzID0gMHg0MDsgLy8gU0NTSV9BQk9SVDsKLSAgICAgICAgU3JiLT5TcmJTdGF0
dXMgPSBTUkJfU1RBVFVTX0VSUk9SOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIFRyYWNl
KCJbJXVdIC0tLS0tPlxuIiwgVGFyZ2V0LT5UYXJnZXRJZCk7CiAKLSAgICBpZiAoRnJvbnRlbmRH
ZXREaXNrSW5mbyhUYXJnZXQtPkZyb250ZW5kKS0+Rmx1c2hDYWNoZSA9PSBGQUxTRSAmJgotICAg
ICAgICBGcm9udGVuZEdldERpc2tJbmZvKFRhcmdldC0+RnJvbnRlbmQpLT5CYXJyaWVyID09IEZB
TFNFKSB7Ci0gICAgICAgIFRyYWNlKCJUYXJnZXRbJWRdIDogRkxVU0ggYW5kIEJBUlJJRVIgbm90
IHN1cHBvcnRlZCwgc3VwcHJlc3NpbmdcbiIsIFRhcmdldEdldFRhcmdldElkKFRhcmdldCkpOwot
ICAgICAgICBTcmItPlNjc2lTdGF0dXMgPSAweDAwOyAvLyBTQ1NJX0dPT0QKLSAgICAgICAgU3Ji
LT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX1NVQ0NFU1M7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
CisgICAgQmxvY2tSaW5nRGlzY29ubmVjdChUYXJnZXQtPkJsb2NrUmluZyk7CisgICAgR3JhbnRl
ckRpc2Nvbm5lY3QoVGFyZ2V0LT5HcmFudGVyKTsKIAotICAgIFF1ZXVlQXBwZW5kKCZUYXJnZXQt
PkZyZXNoU3JicywgJlNyYkV4dC0+TGlzdEVudHJ5KTsKLSAgICBOb3RpZmllcktpY2soTm90aWZp
ZXIpOworICAgIFRyYWNlKCJbJXVdIDwtLS0tLVxuIiwgVGFyZ2V0LT5UYXJnZXRJZCk7CiB9CiAK
LXN0YXRpYyBERUNMU1BFQ19OT0lOTElORSBWT0lECi1UYXJnZXRVbm1hcCgKLSAgICBJTiAgUFhF
TlZCRF9UQVJHRVQgICAgICBUYXJnZXQsCi0gICAgSU4gIFBYRU5WQkRfU1JCRVhUICAgICAgU3Ji
RXh0CitzdGF0aWMgRk9SQ0VJTkxJTkUgUENIQVIKK1hlbnZiZFN0YXRlTmFtZSgKKyAgICBJTiAg
WEVOVkJEX1NUQVRFICAgIFN0YXRlCiAgICAgKQogewotICAgIFBTQ1NJX1JFUVVFU1RfQkxPQ0sg
U3JiID0gU3JiRXh0LT5TcmI7Ci0gICAgUFhFTlZCRF9OT1RJRklFUiAgICBOb3RpZmllciA9IEZy
b250ZW5kR2V0Tm90aWZpZXIoVGFyZ2V0LT5Gcm9udGVuZCk7Ci0KLSAgICBpZiAoRnJvbnRlbmRH
ZXRDYXBzKFRhcmdldC0+RnJvbnRlbmQpLT5Db25uZWN0ZWQgPT0gRkFMU0UpIHsKLSAgICAgICAg
VHJhY2UoIlRhcmdldFslZF0gOiBOb3QgUmVhZHksIGZhaWwgU1JCXG4iLCBUYXJnZXRHZXRUYXJn
ZXRJZChUYXJnZXQpKTsKLSAgICAgICAgU3JiLT5TY3NpU3RhdHVzID0gMHg0MDsgLy8gU0NTSV9B
Qk9SVDsKLSAgICAgICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX0VSUk9SOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKEZyb250ZW5kR2V0RGlza0luZm8oVGFyZ2V0LT5G
cm9udGVuZCktPkRpc2NhcmQgPT0gRkFMU0UpIHsKLSAgICAgICAgVHJhY2UoIlRhcmdldFslZF0g
OiBESVNDQVJEIG5vdCBzdXBwb3J0ZWQsIHN1cHByZXNzaW5nXG4iLCBUYXJnZXRHZXRUYXJnZXRJ
ZChUYXJnZXQpKTsKLSAgICAgICAgU3JiLT5TY3NpU3RhdHVzID0gMHgwMDsgLy8gU0NTSV9HT09E
Ci0gICAgICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19TVUNDRVNTOwotICAgICAgICBy
ZXR1cm47CisgICAgc3dpdGNoIChTdGF0ZSkgeworICAgIGNhc2UgWEVOVkJEX1NUQVRFX0lOVkFM
SUQ6ICByZXR1cm4gIklOVkFMSUQiOworICAgIGNhc2UgWEVOVkJEX0lOSVRJQUxJWkVEOiAgICBy
ZXR1cm4gIklOSVRJQUlaRUQiOworICAgIGNhc2UgWEVOVkJEX0NMT1NJTkc6ICAgICAgICByZXR1
cm4gIkNMT1NJTkciOworICAgIGNhc2UgWEVOVkJEX0NMT1NFRDogICAgICAgICByZXR1cm4gIkNM
T1NFRCI7CisgICAgY2FzZSBYRU5WQkRfUFJFUEFSRUQ6ICAgICAgIHJldHVybiAiUFJFUEFSRUQi
OworICAgIGNhc2UgWEVOVkJEX0NPTk5FQ1RFRDogICAgICByZXR1cm4gIkNPTk5FQ1RFRCI7Cisg
ICAgY2FzZSBYRU5WQkRfRU5BQkxFRDogICAgICAgIHJldHVybiAiRU5BQkxFRCI7CisgICAgZGVm
YXVsdDogICAgICAgICAgICAgICAgICAgIHJldHVybiAiPFVOS05PV04+IjsKICAgICB9Ci0KLSAg
ICBRdWV1ZUFwcGVuZCgmVGFyZ2V0LT5GcmVzaFNyYnMsICZTcmJFeHQtPkxpc3RFbnRyeSk7Ci0g
ICAgTm90aWZpZXJLaWNrKE5vdGlmaWVyKTsKIH0KIAotI2RlZmluZSBNT0RFX0NBQ0hJTkdfUEFH
RV9MRU5HVEggMjAKLXN0YXRpYyBERUNMU1BFQ19OT0lOTElORSBWT0lECi1UYXJnZXRNb2RlU2Vu
c2UoCi0gICAgSU4gIFBYRU5WQkRfVEFSR0VUICAgICAgVGFyZ2V0LAotICAgIElOICBQWEVOVkJE
X1NSQkVYVCAgICAgIFNyYkV4dAotICAgICkKLXsKLSAgICBQU0NTSV9SRVFVRVNUX0JMT0NLICAg
ICBTcmIgPSBTcmJFeHQtPlNyYjsKLSAgICBQTU9ERV9QQVJBTUVURVJfSEVBREVSICBIZWFkZXIg
PSBTcmItPkRhdGFCdWZmZXI7Ci0gICAgY29uc3QgVUNIQVIgICAgICAgICAgICAgUGFnZUNvZGUg
PSBDZGJfUGFnZUNvZGUoU3JiKTsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICBMZW5ndGhM
ZWZ0ID0gQ2RiX0FsbG9jYXRpb25MZW5ndGgoU3JiKTsKLSAgICBQVk9JRCAgICAgICAgICAgICAg
ICAgICBDdXJyZW50UGFnZSA9IFNyYi0+RGF0YUJ1ZmZlcjsKK3N0YXRpYyBOVFNUQVRVUworVGFy
Z2V0U2V0U3RhdGUoCisgICAgSU4gIFBYRU5WQkRfVEFSR0VUICBUYXJnZXQsCisgICAgSU4gIFhF
TlZCRF9TVEFURSAgICBTdGF0ZQorICAgICkKK3sKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0
YXR1cyA9IFNUQVRVU19TVUNDRVNTOworCisgICAgVmVyYm9zZSgiWyV1XSAlcyAtPiAlc1xuIiwK
KyAgICAgICAgICAgIFRhcmdldC0+VGFyZ2V0SWQsCisgICAgICAgICAgICBYZW52YmRTdGF0ZU5h
bWUoVGFyZ2V0LT5TdGF0ZSksCisgICAgICAgICAgICBYZW52YmRTdGF0ZU5hbWUoU3RhdGUpKTsK
KworICAgIEFTU0VSVChLZUdldEN1cnJlbnRJcnFsKCkgPT0gRElTUEFUQ0hfTEVWRUwpOworCisg
ICAgd2hpbGUgKE5UX1NVQ0NFU1Moc3RhdHVzKSAmJiBUYXJnZXQtPlN0YXRlICE9IFN0YXRlKSB7
CisgICAgICAgIHN3aXRjaCAoVGFyZ2V0LT5TdGF0ZSkgeworICAgICAgICBjYXNlIFhFTlZCRF9J
TklUSUFMSVpFRDoKKyAgICAgICAgICAgIHN3aXRjaCAoU3RhdGUpIHsKKyAgICAgICAgICAgIGNh
c2UgWEVOVkJEX0NMT1NJTkc6CisgICAgICAgICAgICBjYXNlIFhFTlZCRF9DTE9TRUQ6CisgICAg
ICAgICAgICBjYXNlIFhFTlZCRF9QUkVQQVJFRDoKKyAgICAgICAgICAgIGNhc2UgWEVOVkJEX0NP
Tk5FQ1RFRDoKKyAgICAgICAgICAgIGNhc2UgWEVOVkJEX0VOQUJMRUQ6CisgICAgICAgICAgICAg
ICAgc3RhdHVzID0gVGFyZ2V0Q2xvc2UoVGFyZ2V0KTsKKyAgICAgICAgICAgICAgICBpZiAoIU5U
X1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICAgICAgVGFyZ2V0LT5TdGF0ZSA9IFhFTlZCRF9DTE9TRUQ7CisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIHN0YXR1cyA9IFNUQVRV
U19VTlNVQ0NFU1NGVUw7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBicmVhazsKIAotICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoVGFyZ2V0KTsK
KyAgICAgICAgY2FzZSBYRU5WQkRfQ0xPU0lORzoKKyAgICAgICAgICAgIHN3aXRjaCAoU3RhdGUp
IHsKKyAgICAgICAgICAgIGNhc2UgWEVOVkJEX0lOSVRJQUxJWkVEOgorICAgICAgICAgICAgY2Fz
ZSBYRU5WQkRfQ0xPU0VEOgorICAgICAgICAgICAgY2FzZSBYRU5WQkRfUFJFUEFSRUQ6CisgICAg
ICAgICAgICBjYXNlIFhFTlZCRF9DT05ORUNURUQ6CisgICAgICAgICAgICBjYXNlIFhFTlZCRF9F
TkFCTEVEOgorICAgICAgICAgICAgICAgIFRhcmdldERpc2Nvbm5lY3QoVGFyZ2V0KTsKKyAgICAg
ICAgICAgICAgICBUYXJnZXQtPlN0YXRlID0gWEVOVkJEX0NMT1NFRDsKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgc3RhdHVzID0g
U1RBVFVTX1VOU1VDQ0VTU0ZVTDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGJyZWFrOwogCi0gICAgUnRsWmVyb01lbW9yeShTcmItPkRhdGFCdWZm
ZXIsIFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoKTsKKyAgICAgICAgY2FzZSBYRU5WQkRfQ0xPU0VE
OgorICAgICAgICAgICAgc3dpdGNoIChTdGF0ZSkgeworICAgICAgICAgICAgLy9jYXNlIFhFTlZC
RF9JTklUSUFMSVpJTkc6CisgICAgICAgICAgICAvLyAgICBUYXJnZXQtPlN0YXRlID0gWEVOVkJE
X0lOSVRJQUxJU0VEOworICAgICAgICAgICAgLy8gICAgYnJlYWs7CisgICAgICAgICAgICBjYXNl
IFhFTlZCRF9QUkVQQVJFRDoKKyAgICAgICAgICAgIGNhc2UgWEVOVkJEX0NPTk5FQ1RFRDoKKyAg
ICAgICAgICAgIGNhc2UgWEVOVkJEX0VOQUJMRUQ6CisgICAgICAgICAgICAgICAgc3RhdHVzID0g
VGFyZ2V0UHJlcGFyZShUYXJnZXQpOworICAgICAgICAgICAgICAgIGlmICghTlRfU1VDQ0VTUyhz
dGF0dXMpKSB7CisgICAgICAgICAgICAgICAgICAgIFRhcmdldENsb3NlKFRhcmdldCk7CisgICAg
ICAgICAgICAgICAgICAgIFRhcmdldC0+U3RhdGUgPSBYRU5WQkRfQ0xPU0VEOworICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgVGFy
Z2V0LT5TdGF0ZSA9IFhFTlZCRF9QUkVQQVJFRDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgc3RhdHVzID0gU1RBVFVTX1VOU1VD
Q0VTU0ZVTDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIGJyZWFrOwogCi0gICAgaWYgKCFfX1ZhbGlkYXRlU3JiQnVmZmVyKF9fRlVOQ1RJT05fXywg
U3JiLCAoVUxPTkcpc2l6ZW9mKHN0cnVjdCBfTU9ERV9TRU5TRSkpKSB7Ci0gICAgICAgIFNyYi0+
U2NzaVN0YXR1cyA9IDB4NDA7Ci0gICAgICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19E
QVRBX09WRVJSVU47Ci0gICAgICAgIFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoID0gMDsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgY2FzZSBYRU5WQkRfUFJFUEFSRUQ6CisgICAgICAg
ICAgICBzd2l0Y2ggKFN0YXRlKSB7CisgICAgICAgICAgICBjYXNlIFhFTlZCRF9DTE9TSU5HOgor
ICAgICAgICAgICAgY2FzZSBYRU5WQkRfQ0xPU0VEOgorICAgICAgICAgICAgICAgIHN0YXR1cyA9
IFRhcmdldENsb3NlKFRhcmdldCk7CisgICAgICAgICAgICAgICAgaWYgKCFOVF9TVUNDRVNTKHN0
YXR1cykpCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIFRhcmdl
dC0+U3RhdGUgPSBYRU5WQkRfQ0xPU0VEOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgY2FzZSBYRU5WQkRfQ09OTkVDVEVEOgorICAgICAgICAgICAgY2FzZSBYRU5WQkRfRU5B
QkxFRDoKKyAgICAgICAgICAgICAgICBzdGF0dXMgPSBUYXJnZXRDb25uZWN0KFRhcmdldCk7Cisg
ICAgICAgICAgICAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpIHsKKyAgICAgICAgICAgICAg
ICAgICAgVGFyZ2V0Q2xvc2UoVGFyZ2V0KTsKKyAgICAgICAgICAgICAgICAgICAgVGFyZ2V0LT5T
dGF0ZSA9IFhFTlZCRF9DTE9TRUQ7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBUYXJnZXQtPlN0YXRlID0gWEVOVkJEX0NPTk5F
Q1RFRDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAg
ICAgICAgICAgICAgc3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZVTDsKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOwogCi0gICAgLy8gVE9E
TyA6IENEUk9NIHJlcXVpcmVzIG1vcmUgTW9kZVBhZ2UgZW50cmllcwotICAgIC8vIEhlYWRlcgot
ICAgIEhlYWRlci0+TW9kZURhdGFMZW5ndGggID0gc2l6ZW9mKE1PREVfUEFSQU1FVEVSX0hFQURF
UikgLSAxOwotICAgIEhlYWRlci0+TWVkaXVtVHlwZSAgICAgID0gMDsKLSAgICBIZWFkZXItPkRl
dmljZVNwZWNpZmljUGFyYW1ldGVyID0gMDsKLSAgICBIZWFkZXItPkJsb2NrRGVzY3JpcHRvckxl
bmd0aCAgID0gMDsKLSAgICBMZW5ndGhMZWZ0IC09IHNpemVvZihNT0RFX1BBUkFNRVRFUl9IRUFE
RVIpOwotICAgIEN1cnJlbnRQYWdlID0gKChQVUNIQVIpQ3VycmVudFBhZ2UgKyBzaXplb2YoTU9E
RV9QQVJBTUVURVJfSEVBREVSKSk7Ci0KLSAgICAvLyBGaWxsIGluIEJsb2NrIFBhcmFtZXRlcnMg
KGlmIFNwZWNpZmllZCBhbmQgc3BhY2UpCi0gICAgLy8gd2hlbiB0aGUgREJEIChEaXNhYmxlIEJs
b2NrIERlc2NyaXB0b3IpIGlzIHNldCwgaWdub3JlIHRoZSBibG9jayBwYWdlCi0gICAgaWYgKENk
Yl9EYmQoU3JiKSA9PSAwICYmIAotICAgICAgICBMZW5ndGhMZWZ0ID49IHNpemVvZihNT0RFX1BB
UkFNRVRFUl9CTE9DSykpIHsKLSAgICAgICAgUE1PREVfUEFSQU1FVEVSX0JMT0NLIEJsb2NrID0g
KFBNT0RFX1BBUkFNRVRFUl9CTE9DSylDdXJyZW50UGFnZTsKLSAgICAgICAgLy8gRmlsbCBpbiBC
bG9ja1BhcmFtcwotICAgICAgICBCbG9jay0+RGVuc2l0eUNvZGUgICAgICAgICAgICAgICAgICA9
ICAgMDsKLSAgICAgICAgQmxvY2stPk51bWJlck9mQmxvY2tzWzBdICAgICAgICAgICAgPSAgIDA7
Ci0gICAgICAgIEJsb2NrLT5OdW1iZXJPZkJsb2Nrc1sxXSAgICAgICAgICAgID0gICAwOwotICAg
ICAgICBCbG9jay0+TnVtYmVyT2ZCbG9ja3NbMl0gICAgICAgICAgICA9ICAgMDsKLSAgICAgICAg
QmxvY2stPkJsb2NrTGVuZ3RoWzBdICAgICAgICAgICAgICAgPSAgIDA7Ci0gICAgICAgIEJsb2Nr
LT5CbG9ja0xlbmd0aFsxXSAgICAgICAgICAgICAgID0gICAwOwotICAgICAgICBCbG9jay0+Qmxv
Y2tMZW5ndGhbMl0gICAgICAgICAgICAgICA9ICAgMDsKKyAgICAgICAgY2FzZSBYRU5WQkRfQ09O
TkVDVEVEOgorICAgICAgICAgICAgc3dpdGNoIChTdGF0ZSkgeworICAgICAgICAgICAgY2FzZSBY
RU5WQkRfRU5BQkxFRDoKKyAgICAgICAgICAgICAgICBUYXJnZXRFbmFibGUoVGFyZ2V0KTsKKyAg
ICAgICAgICAgICAgICBUYXJnZXQtPlN0YXRlID0gWEVOVkJEX0VOQUJMRUQ7CisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhFTlZCRF9DTE9TSU5HOgorICAgICAgICAg
ICAgY2FzZSBYRU5WQkRfQ0xPU0VEOgorICAgICAgICAgICAgICAgIHN0YXR1cyA9IFRhcmdldENs
b3NlKFRhcmdldCk7CisgICAgICAgICAgICAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIFRhcmdldC0+U3RhdGUg
PSBYRU5WQkRfQ0xPU0lORzsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRl
ZmF1bHQ6CisgICAgICAgICAgICAgICAgc3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZVTDsKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOwog
Ci0gICAgICAgIEhlYWRlci0+QmxvY2tEZXNjcmlwdG9yTGVuZ3RoID0gc2l6ZW9mKE1PREVfUEFS
QU1FVEVSX0JMT0NLKTsKLSAgICAgICAgSGVhZGVyLT5Nb2RlRGF0YUxlbmd0aCArPSBzaXplb2Yo
TU9ERV9QQVJBTUVURVJfQkxPQ0spOwotICAgICAgICBMZW5ndGhMZWZ0IC09IHNpemVvZihNT0RF
X1BBUkFNRVRFUl9CTE9DSyk7Ci0gICAgICAgIEN1cnJlbnRQYWdlID0gKChQVUNIQVIpQ3VycmVu
dFBhZ2UgKyBzaXplb2YoTU9ERV9QQVJBTUVURVJfQkxPQ0spKTsKLSAgICB9CisgICAgICAgIGNh
c2UgWEVOVkJEX0VOQUJMRUQ6CisgICAgICAgICAgICBzd2l0Y2ggKFN0YXRlKSB7CisgICAgICAg
ICAgICBjYXNlIFhFTlZCRF9DTE9TSU5HOgorICAgICAgICAgICAgY2FzZSBYRU5WQkRfQ0xPU0VE
OgorICAgICAgICAgICAgY2FzZSBYRU5WQkRfQ09OTkVDVEVEOgorICAgICAgICAgICAgICAgIFRh
cmdldERpc2FibGUoVGFyZ2V0KTsKKyAgICAgICAgICAgICAgICBUYXJnZXQtPlN0YXRlID0gWEVO
VkJEX0NPTk5FQ1RFRDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1
bHQ6CisgICAgICAgICAgICAgICAgc3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZVTDsKKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOwogCi0g
ICAgLy8gRmlsbCBpbiBDYWNoZSBQYXJhbWV0ZXJzIChpZiBTcGVjaWZpZWQgYW5kIHNwYWNlKQot
ICAgIGlmICgoUGFnZUNvZGUgPT0gTU9ERV9QQUdFX0NBQ0hJTkcgfHwgUGFnZUNvZGUgPT0gTU9E
RV9TRU5TRV9SRVRVUk5fQUxMKSAmJgotICAgICAgICBMZW5ndGhMZWZ0ID49IE1PREVfQ0FDSElO
R19QQUdFX0xFTkdUSCkgewotICAgICAgICBQTU9ERV9DQUNISU5HX1BBR0UgQ2FjaGluZyA9IChQ
TU9ERV9DQUNISU5HX1BBR0UpQ3VycmVudFBhZ2U7Ci0gICAgICAgIC8vIEZpbGwgaW4gQ2FjaGlu
Z1BhcmFtcwotICAgICAgICBDYWNoaW5nLT5QYWdlQ29kZSAgICAgICAgICAgICAgICAgICA9IE1P
REVfUEFHRV9DQUNISU5HOwotICAgICAgICBDYWNoaW5nLT5QYWdlU2F2YWJsZSAgICAgICAgICAg
ICAgICA9IDA7Ci0gICAgICAgIENhY2hpbmctPlBhZ2VMZW5ndGggICAgICAgICAgICAgICAgID0g
TU9ERV9DQUNISU5HX1BBR0VfTEVOR1RIOwotICAgICAgICBDYWNoaW5nLT5SZWFkRGlzYWJsZUNh
Y2hlICAgICAgICAgICA9IDA7Ci0gICAgICAgIENhY2hpbmctPk11bHRpcGxpY2F0aW9uRmFjdG9y
ICAgICAgID0gMDsKLSAgICAgICAgQ2FjaGluZy0+V3JpdGVDYWNoZUVuYWJsZSAgICAgICAgICAg
PSBGcm9udGVuZEdldERpc2tJbmZvKFRhcmdldC0+RnJvbnRlbmQpLT5GbHVzaENhY2hlID8gMSA6
IDA7Ci0gICAgICAgIENhY2hpbmctPldyaXRlUmV0ZW5zaW9uUHJpb3JpdHkgICAgID0gMDsKLSAg
ICAgICAgQ2FjaGluZy0+UmVhZFJldGVuc2lvblByaW9yaXR5ICAgICAgPSAwOwotICAgICAgICBD
YWNoaW5nLT5EaXNhYmxlUHJlZmV0Y2hUcmFuc2ZlclswXSA9IDA7Ci0gICAgICAgIENhY2hpbmct
PkRpc2FibGVQcmVmZXRjaFRyYW5zZmVyWzFdID0gMDsKLSAgICAgICAgQ2FjaGluZy0+TWluaW11
bVByZWZldGNoWzBdICAgICAgICAgPSAwOwotICAgICAgICBDYWNoaW5nLT5NaW5pbXVtUHJlZmV0
Y2hbMV0gICAgICAgICA9IDA7Ci0gICAgICAgIENhY2hpbmctPk1heGltdW1QcmVmZXRjaFswXSAg
ICAgICAgID0gMDsKLSAgICAgICAgQ2FjaGluZy0+TWF4aW11bVByZWZldGNoWzFdICAgICAgICAg
PSAwOwotICAgICAgICBDYWNoaW5nLT5NYXhpbXVtUHJlZmV0Y2hDZWlsaW5nWzBdICA9IDA7Ci0g
ICAgICAgIENhY2hpbmctPk1heGltdW1QcmVmZXRjaENlaWxpbmdbMV0gID0gMDsKLQotICAgICAg
ICBIZWFkZXItPk1vZGVEYXRhTGVuZ3RoICs9IE1PREVfQ0FDSElOR19QQUdFX0xFTkdUSDsKLSAg
ICAgICAgTGVuZ3RoTGVmdCAtPSBNT0RFX0NBQ0hJTkdfUEFHRV9MRU5HVEg7Ci0gICAgICAgIEN1
cnJlbnRQYWdlID0gKChQVUNIQVIpQ3VycmVudFBhZ2UgKyBNT0RFX0NBQ0hJTkdfUEFHRV9MRU5H
VEgpOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgc3RhdHVzID0gU1RBVFVTX1VOU1VD
Q0VTU0ZVTDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgfQogCi0gICAgLy8g
RmlsbCBpbiBJbmZvcm1hdGlvbmFsIEV4Y2VwdGlvbiBQYXJhbWV0ZXJzIChpZiBTcGVjaWZpZWQg
YW5kIHNwYWNlKQotICAgIGlmICgoUGFnZUNvZGUgPT0gTU9ERV9QQUdFX0ZBVUxUX1JFUE9SVElO
RyB8fCBQYWdlQ29kZSA9PSBNT0RFX1NFTlNFX1JFVFVSTl9BTEwpICYmCi0gICAgICAgIExlbmd0
aExlZnQgPj0gc2l6ZW9mKE1PREVfSU5GT19FWENFUFRJT05TKSkgewotICAgICAgICBQTU9ERV9J
TkZPX0VYQ0VQVElPTlMgRXhjZXB0aW9ucyA9IChQTU9ERV9JTkZPX0VYQ0VQVElPTlMpQ3VycmVu
dFBhZ2U7Ci0gICAgICAgIC8vIEZpbGwgaW4gRXhjZXB0aW9ucwotICAgICAgICBFeGNlcHRpb25z
LT5QYWdlQ29kZSAgICAgICAgICAgICAgICA9IE1PREVfUEFHRV9GQVVMVF9SRVBPUlRJTkc7Ci0g
ICAgICAgIEV4Y2VwdGlvbnMtPlBTQml0ICAgICAgICAgICAgICAgICAgID0gMDsKLSAgICAgICAg
RXhjZXB0aW9ucy0+UGFnZUxlbmd0aCAgICAgICAgICAgICAgPSBzaXplb2YoTU9ERV9JTkZPX0VY
Q0VQVElPTlMpOwotICAgICAgICBFeGNlcHRpb25zLT5GbGFncyAgICAgICAgICAgICAgICAgICA9
IDA7Ci0gICAgICAgIEV4Y2VwdGlvbnMtPkRleGNwdCAgICAgICAgICAgICAgICAgID0gMTsgLy8g
ZGlzYWJsZWQKLSAgICAgICAgRXhjZXB0aW9ucy0+UmVwb3J0TWV0aG9kICAgICAgICAgICAgPSAw
OwotICAgICAgICBFeGNlcHRpb25zLT5JbnRlcnZhbFRpbWVyWzBdICAgICAgICA9IDA7Ci0gICAg
ICAgIEV4Y2VwdGlvbnMtPkludGVydmFsVGltZXJbMV0gICAgICAgID0gMDsKLSAgICAgICAgRXhj
ZXB0aW9ucy0+SW50ZXJ2YWxUaW1lclsyXSAgICAgICAgPSAwOwotICAgICAgICBFeGNlcHRpb25z
LT5JbnRlcnZhbFRpbWVyWzNdICAgICAgICA9IDA7Ci0gICAgICAgIEV4Y2VwdGlvbnMtPlJlcG9y
dENvdW50WzBdICAgICAgICAgID0gMDsKLSAgICAgICAgRXhjZXB0aW9ucy0+UmVwb3J0Q291bnRb
MV0gICAgICAgICAgPSAwOwotICAgICAgICBFeGNlcHRpb25zLT5SZXBvcnRDb3VudFsyXSAgICAg
ICAgICA9IDA7Ci0gICAgICAgIEV4Y2VwdGlvbnMtPlJlcG9ydENvdW50WzNdICAgICAgICAgID0g
MDsKLQotICAgICAgICBIZWFkZXItPk1vZGVEYXRhTGVuZ3RoICs9IHNpemVvZihNT0RFX0lORk9f
RVhDRVBUSU9OUyk7Ci0gICAgICAgIExlbmd0aExlZnQgLT0gc2l6ZW9mKE1PREVfSU5GT19FWENF
UFRJT05TKTsKLSAgICAgICAgQ3VycmVudFBhZ2UgPSAoKFBVQ0hBUilDdXJyZW50UGFnZSArIHNp
emVvZihNT0RFX0lORk9fRVhDRVBUSU9OUykpOwotICAgIH0KKyAgICBWZXJib3NlKCJbJXVdIGlu
IHN0YXRlICVzXG4iLAorICAgICAgICAgICAgVGFyZ2V0LT5UYXJnZXRJZCwKKyAgICAgICAgICAg
IFhlbnZiZFN0YXRlTmFtZShUYXJnZXQtPlN0YXRlKSk7CiAKLSAgICAvLyBGaW5pc2ggdGhpcyBT
UkIKLSAgICBTcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfU1VDQ0VTUzsKLSAgICBTcmItPkRh
dGFUcmFuc2Zlckxlbmd0aCA9IF9fbWluKENkYl9BbGxvY2F0aW9uTGVuZ3RoKFNyYiksIChVTE9O
RykoSGVhZGVyLT5Nb2RlRGF0YUxlbmd0aCArIDEpKTsKKyAgICByZXR1cm4gc3RhdHVzOwogfQog
Ci1zdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgVk9JRAotVGFyZ2V0UmVxdWVzdFNlbnNlKAotICAg
IElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0LAotICAgIElOICBQWEVOVkJEX1NSQkVYVCAgU3Ji
RXh0CitzdGF0aWMgRk9SQ0VJTkxJTkUgTlRTVEFUVVMKK19fVGFyZ2V0RDNUb0QwKAorICAgIElO
ICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0CiAgICAgKQogewotICAgIFBTQ1NJX1JFUVVFU1RfQkxP
Q0sgU3JiID0gU3JiRXh0LT5TcmI7Ci0gICAgUFNFTlNFX0RBVEEgICAgICAgICBTZW5zZSA9IFNy
Yi0+RGF0YUJ1ZmZlcjsKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsKIAotICAgIFVO
UkVGRVJFTkNFRF9QQVJBTUVURVIoVGFyZ2V0KTsKKyAgICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUo
QWNxdWlyZSwgJlRhcmdldC0+U3RvcmVJbnRlcmZhY2UpOworICAgIGlmICghTlRfU1VDQ0VTUyhz
dGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwxOwogCi0gICAgaWYgKCFfX1ZhbGlkYXRlU3JiQnVm
ZmVyKF9fRlVOQ1RJT05fXywgU3JiLCAoVUxPTkcpc2l6ZW9mKFNFTlNFX0RBVEEpKSkgewotICAg
ICAgICBTcmItPlNjc2lTdGF0dXMgPSAweDQwOwotICAgICAgICBTcmItPlNyYlN0YXR1cyA9IFNS
Ql9TVEFUVVNfREFUQV9PVkVSUlVOOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIHN0YXR1
cyA9IFRhcmdldFNldFN0YXRlKFRhcmdldCwgWEVOVkJEX0VOQUJMRUQpOworICAgIGlmICghTlRf
U1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwyOwogCi0gICAgUnRsWmVyb01lbW9y
eShTZW5zZSwgc2l6ZW9mKFNFTlNFX0RBVEEpKTsKKyAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7
CiAKLSAgICBTZW5zZS0+RXJyb3JDb2RlICAgICAgICAgICAgPSAweDcwOwotICAgIFNlbnNlLT5W
YWxpZCAgICAgICAgICAgICAgICA9IDE7Ci0gICAgU2Vuc2UtPkFkZGl0aW9uYWxTZW5zZUNvZGVR
dWFsaWZpZXIgPSAwOwotICAgIFNlbnNlLT5TZW5zZUtleSAgICAgICAgICAgICA9IFNDU0lfU0VO
U0VfTk9fU0VOU0U7Ci0gICAgU2Vuc2UtPkFkZGl0aW9uYWxTZW5zZUNvZGUgID0gU0NTSV9BRFNF
TlNFX05PX1NFTlNFOwotICAgIFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoICAgICA9IHNpemVvZihT
RU5TRV9EQVRBKTsKLSAgICBTcmItPlNyYlN0YXR1cyAgICAgICAgICAgICAgPSBTUkJfU1RBVFVT
X1NVQ0NFU1M7CitmYWlsMjoKKyAgICBFcnJvcigiZmFpbDJcbiIpOworICAgIFhFTkJVU19TVE9S
RShSZWxlYXNlLCAmVGFyZ2V0LT5TdG9yZUludGVyZmFjZSk7CitmYWlsMToKKyAgICBFcnJvcigi
ZmFpbDEgJTA4eFxuIiwgc3RhdHVzKTsKKyAgICByZXR1cm4gc3RhdHVzOwogfQogCi1zdGF0aWMg
REVDTFNQRUNfTk9JTkxJTkUgVk9JRAotVGFyZ2V0UmVwb3J0THVucygKLSAgICBJTiAgUFhFTlZC
RF9UQVJHRVQgIFRhcmdldCwKLSAgICBJTiAgUFhFTlZCRF9TUkJFWFQgIFNyYkV4dAorc3RhdGlj
IEZPUkNFSU5MSU5FIFZPSUQKK19fVGFyZ2V0RDBUb0QzKAorICAgIElOICBQWEVOVkJEX1RBUkdF
VCAgVGFyZ2V0CiAgICAgKQogewotICAgIFBTQ1NJX1JFUVVFU1RfQkxPQ0sgU3JiID0gU3JiRXh0
LT5TcmI7Ci0gICAgVUxPTkcgICAgICAgICAgICAgICBMZW5ndGg7Ci0gICAgVUxPTkcgICAgICAg
ICAgICAgICBPZmZzZXQ7Ci0gICAgVUxPTkcgICAgICAgICAgICAgICBBbGxvY0xlbmd0aCA9IENk
Yl9BbGxvY2F0aW9uTGVuZ3RoKFNyYik7Ci0gICAgUFVDSEFSICAgICAgICAgICAgICBCdWZmZXIg
PSBTcmItPkRhdGFCdWZmZXI7Ci0KLSAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKFRhcmdldCk7
CisgICAgVGFyZ2V0U2V0U3RhdGUoVGFyZ2V0LCBYRU5WQkRfQ0xPU0VEKTsKIAotICAgIGlmICgh
X19WYWxpZGF0ZVNyYkJ1ZmZlcihfX0ZVTkNUSU9OX18sIFNyYiwgOCkpIHsKLSAgICAgICAgU3Ji
LT5TY3NpU3RhdHVzID0gMHg0MDsKLSAgICAgICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVT
X0RBVEFfT1ZFUlJVTjsKLSAgICAgICAgU3JiLT5EYXRhVHJhbnNmZXJMZW5ndGggPSAwOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQorICAgIFhFTkJVU19TVE9SRShSZWxlYXNlLCAmVGFyZ2V0LT5T
dG9yZUludGVyZmFjZSk7Cit9CiAKLSAgICBSdGxaZXJvTWVtb3J5KEJ1ZmZlciwgQWxsb2NMZW5n
dGgpOworc3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIFZPSUQKK1RhcmdldFN1c3BlbmRDYWxsYmFj
aygKKyAgICBJTiAgUFZPSUQgICAgICAgQ29udGV4dAorICAgICkKK3sKKyAgICBQWEVOVkJEX1RB
UkdFVCAgVGFyZ2V0ID0gQ29udGV4dDsKKyAgICBMSVNUX0VOVFJZICAgICAgTGlzdDsKKyAgICBO
VFNUQVRVUyAgICAgICAgc3RhdHVzOwogCi0gICAgTGVuZ3RoID0gMDsKLSAgICBPZmZzZXQgPSA4
OworICAgIC8vIEFueSBvdXRzdGFuZGluZyByZXF1ZXN0cyBhcmUgZ29pbmcgdG8gY2F1c2UgcHJv
YmxlbXMuLi4KKyAgICAvLyBTdWJtaXR0ZWQgcmVxdWVzdHMgYXJlIGxvc3QKKyAgICAvLyBQcmVw
YXJlZCByZXF1ZXN0cyB3aWxsIG5lZWQgcmUtcHJlcGFyaW5nIChkaWZmZXJlbnQgZ3JhbnQvYmFj
a2VuZCkKKyAgICAvLyBGcmVzaCBTUkJzIHdpbGwgYmUgb2sKKyAgICBJbml0aWFsaXplTGlzdEhl
YWQoJkxpc3QpOworICAgIGZvciAoOzspIHsKKyAgICAgICAgUExJU1RfRU5UUlkgICAgIExpc3RF
bnRyeTsKKyAgICAgICAgUFhFTlZCRF9SRVFVRVNUIFJlcXVlc3Q7CisgICAgICAgIFBYRU5WQkRf
U1JCRVhUICBTcmJFeHQ7CiAKLSAgICBpZiAoT2Zmc2V0ICsgOCA8PSBBbGxvY0xlbmd0aCkgewot
ICAgICAgICBCdWZmZXJbT2Zmc2V0XSA9IDA7Ci0gICAgICAgIE9mZnNldCArPSA4OwotICAgICAg
ICBMZW5ndGggKz0gODsKLSAgICB9CisgICAgICAgIExpc3RFbnRyeSA9IFJlbW92ZUhlYWRMaXN0
KCZUYXJnZXQtPlN1Ym1pdHRlZCk7CisgICAgICAgIGlmIChMaXN0RW50cnkgPT0gJlRhcmdldC0+
U3VibWl0dGVkKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIFJlcXVlc3QgPSBDT05UQUlO
SU5HX1JFQ09SRChMaXN0RW50cnksIFhFTlZCRF9SRVFVRVNULCBMaXN0RW50cnkpOworICAgICAg
ICBTcmJFeHQgPSBSZXF1ZXN0LT5TcmJFeHQ7CiAKLSAgICBpZiAoT2Zmc2V0ICsgOCA8PSBBbGxv
Y0xlbmd0aCkgewotICAgICAgICBCdWZmZXJbT2Zmc2V0XSA9IFhFTlZCRF9NQVhfVEFSR0VUUzsK
LSAgICAgICAgT2Zmc2V0ICs9IDg7Ci0gICAgICAgIExlbmd0aCArPSA4OworICAgICAgICBUYXJn
ZXRQdXRSZXF1ZXN0KFRhcmdldCwgUmVxdWVzdCk7CisgICAgICAgIGlmIChJbnRlcmxvY2tlZERl
Y3JlbWVudCgmU3JiRXh0LT5SZXF1ZXN0Q291bnQpID09IDApIHsKKyAgICAgICAgICAgIFNyYkV4
dC0+U3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX0FCT1JURUQ7CisgICAgICAgICAgICBBZGFw
dGVyQ29tcGxldGVTcmIoVGFyZ2V0LT5BZGFwdGVyLCBTcmJFeHQpOworICAgICAgICB9CiAgICAg
fQorICAgIGZvciAoOzspIHsKKyAgICAgICAgUExJU1RfRU5UUlkgICAgIExpc3RFbnRyeTsKKyAg
ICAgICAgUFhFTlZCRF9SRVFVRVNUIFJlcXVlc3Q7CisgICAgICAgIFBYRU5WQkRfU1JCRVhUICBT
cmJFeHQ7CiAKLSAgICBSRVZFUlNFX0JZVEVTKEJ1ZmZlciwgJkxlbmd0aCk7Ci0KLSAgICBTcmIt
PkRhdGFUcmFuc2Zlckxlbmd0aCA9IF9fbWluKExlbmd0aCwgQWxsb2NMZW5ndGgpOwotICAgIFNy
Yi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19TVUNDRVNTOwotfQorICAgICAgICBMaXN0RW50cnkg
PSBSZW1vdmVIZWFkTGlzdCgmVGFyZ2V0LT5QcmVwYXJlZCk7CisgICAgICAgIGlmIChMaXN0RW50
cnkgPT0gJlRhcmdldC0+UHJlcGFyZWQpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgUmVx
dWVzdCA9IENPTlRBSU5JTkdfUkVDT1JEKExpc3RFbnRyeSwgWEVOVkJEX1JFUVVFU1QsIExpc3RF
bnRyeSk7CisgICAgICAgIFNyYkV4dCA9IFJlcXVlc3QtPlNyYkV4dDsKIAotc3RhdGljIERFQ0xT
UEVDX05PSU5MSU5FIFZPSUQKLVRhcmdldFJlYWRDYXBhY2l0eSgKLSAgICBJTiAgUFhFTlZCRF9U
QVJHRVQgICAgICBUYXJnZXQsCi0gICAgSU4gIFBYRU5WQkRfU1JCRVhUICAgICAgU3JiRXh0Ci0g
ICAgKQotewotICAgIFBTQ1NJX1JFUVVFU1RfQkxPQ0sgICAgIFNyYiA9IFNyYkV4dC0+U3JiOwot
ICAgIFBSRUFEX0NBUEFDSVRZX0RBVEEgICAgIENhcGFjaXR5ID0gU3JiLT5EYXRhQnVmZmVyOwot
ICAgIFBYRU5WQkRfRElTS0lORk8gICAgICAgIERpc2tJbmZvID0gRnJvbnRlbmRHZXREaXNrSW5m
byhUYXJnZXQtPkZyb250ZW5kKTsKLSAgICBVTE9ORzY0ICAgICAgICAgICAgICAgICBTZWN0b3JD
b3VudDsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICBTZWN0b3JTaXplOwotICAgIFVMT05H
ICAgICAgICAgICAgICAgICAgIExhc3RCbG9jazsKLQotICAgIGlmIChDZGJfUE1JKFNyYikgPT0g
MCAmJiBDZGJfTG9naWNhbEJsb2NrKFNyYikgIT0gMCkgewotICAgICAgICBTcmItPlNjc2lTdGF0
dXMgPSAweDAyOyAvLyBDSEVDS19DT05ESVRJT04KLSAgICAgICAgcmV0dXJuOworICAgICAgICBU
YXJnZXRQdXRSZXF1ZXN0KFRhcmdldCwgUmVxdWVzdCk7CisgICAgICAgIGlmIChJbnRlcmxvY2tl
ZERlY3JlbWVudCgmU3JiRXh0LT5SZXF1ZXN0Q291bnQpID09IDApIHsKKyAgICAgICAgICAgIElu
c2VydEhlYWRMaXN0KCZMaXN0LCAmU3JiRXh0LT5MaXN0RW50cnkpOworICAgICAgICB9CiAgICAg
fQotICAgIAotICAgIFNlY3RvckNvdW50ID0gRGlza0luZm8tPlNlY3RvckNvdW50OwotICAgIFNl
Y3RvclNpemUgPSBEaXNrSW5mby0+U2VjdG9yU2l6ZTsKKyAgICBmb3IgKDs7KSB7CisgICAgICAg
IFBMSVNUX0VOVFJZICAgICBMaXN0RW50cnk7CiAKLSAgICBpZiAoU2VjdG9yQ291bnQgPT0gKFVM
T05HKVNlY3RvckNvdW50KQotICAgICAgICBMYXN0QmxvY2sgPSAoVUxPTkcpU2VjdG9yQ291bnQg
LSAxOwotICAgIGVsc2UKLSAgICAgICAgTGFzdEJsb2NrID0gfihVTE9ORykwOworICAgICAgICBM
aXN0RW50cnkgPSBSZW1vdmVIZWFkTGlzdCgmTGlzdCk7CisgICAgICAgIGlmIChMaXN0RW50cnkg
PT0gJkxpc3QpCisgICAgICAgICAgICBicmVhazsKIAotICAgIGlmIChDYXBhY2l0eSkgewotICAg
ICAgICBDYXBhY2l0eS0+TG9naWNhbEJsb2NrQWRkcmVzcyA9IF9ieXRlc3dhcF91bG9uZyhMYXN0
QmxvY2spOwotICAgICAgICBDYXBhY2l0eS0+Qnl0ZXNQZXJCbG9jayA9IF9ieXRlc3dhcF91bG9u
ZyhTZWN0b3JTaXplKTsKKyAgICAgICAgSW5zZXJ0SGVhZExpc3QoJlRhcmdldC0+RnJlc2gsIExp
c3RFbnRyeSk7CiAgICAgfQogCi0gICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX1NVQ0NF
U1M7CisgICAgX19UYXJnZXREMFRvRDMoVGFyZ2V0KTsKKworICAgIHN0YXR1cyA9IF9fVGFyZ2V0
RDNUb0QwKFRhcmdldCk7CisgICAgQVNTRVJUKE5UX1NVQ0NFU1Moc3RhdHVzKSk7CiB9CiAKIHN0
YXRpYyBERUNMU1BFQ19OT0lOTElORSBWT0lECi1UYXJnZXRSZWFkQ2FwYWNpdHkxNigKLSAgICBJ
TiAgUFhFTlZCRF9UQVJHRVQgICAgICBUYXJnZXQsCi0gICAgSU4gIFBYRU5WQkRfU1JCRVhUICAg
ICAgU3JiRXh0CitUYXJnZXREZWJ1Z0NhbGxiYWNrKAorICAgIElOICBQVk9JRCAgICAgICBDb250
ZXh0LAorICAgIElOICBCT09MRUFOICAgICBDcmFzaGluZwogICAgICkKLXsKLSAgICBQU0NTSV9S
RVFVRVNUX0JMT0NLICAgICBTcmIgPSBTcmJFeHQtPlNyYjsKLSAgICBQUkVBRF9DQVBBQ0lUWTE2
X0RBVEEgICBDYXBhY2l0eSA9IFNyYi0+RGF0YUJ1ZmZlcjsKLSAgICBQWEVOVkJEX0RJU0tJTkZP
ICAgICAgICBEaXNrSW5mbyA9IEZyb250ZW5kR2V0RGlza0luZm8oVGFyZ2V0LT5Gcm9udGVuZCk7
Ci0gICAgVUxPTkc2NCAgICAgICAgICAgICAgICAgU2VjdG9yQ291bnQ7Ci0gICAgVUxPTkcgICAg
ICAgICAgICAgICAgICAgU2VjdG9yU2l6ZTsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICBQ
aHlzU2VjdG9yU2l6ZTsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICBMb2dpY2FsUGVyUGh5
c2ljYWw7Ci0gICAgVUxPTkcgICAgICAgICAgICAgICAgICAgTG9naWNhbFBlclBoeXNpY2FsRXhw
b25lbnQ7Ci0KLSAgICBpZiAoQ2RiX1BNSShTcmIpID09IDAgJiYgQ2RiX0xvZ2ljYWxCbG9jayhT
cmIpICE9IDApIHsKLSAgICAgICAgU3JiLT5TY3NpU3RhdHVzID0gMHgwMjsgLy8gQ0hFQ0tfQ09O
RElUSU9OCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBTZWN0b3JDb3VudCA9IERpc2tJ
bmZvLT5TZWN0b3JDb3VudDsKLSAgICBTZWN0b3JTaXplID0gRGlza0luZm8tPlNlY3RvclNpemU7
Ci0gICAgUGh5c1NlY3RvclNpemUgPSBEaXNrSW5mby0+UGh5c1NlY3RvclNpemU7Cit7CisgICAg
UFhFTlZCRF9UQVJHRVQgIFRhcmdldCA9IENvbnRleHQ7CiAKLSAgICBMb2dpY2FsUGVyUGh5c2lj
YWwgPSBQaHlzU2VjdG9yU2l6ZSAvIFNlY3RvclNpemU7CisgICAgVU5SRUZFUkVOQ0VEX1BBUkFN
RVRFUihDcmFzaGluZyk7CiAKLSAgICBpZiAoIV9CaXRTY2FuUmV2ZXJzZSgmTG9naWNhbFBlclBo
eXNpY2FsRXhwb25lbnQsIExvZ2ljYWxQZXJQaHlzaWNhbCkpCi0gICAgICAgIExvZ2ljYWxQZXJQ
aHlzaWNhbEV4cG9uZW50ID0gMDsKKyAgICBYRU5CVVNfREVCVUcoUHJpbnRmLAorICAgICAgICAg
ICAgICAgICAmVGFyZ2V0LT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIkFkYXB0
ZXI6IDB4JXAgRGV2aWNlT2JqZWN0OiAweCVwXG4iLAorICAgICAgICAgICAgICAgICBUYXJnZXQt
PkFkYXB0ZXIsCisgICAgICAgICAgICAgICAgIFRhcmdldC0+RGV2aWNlT2JqZWN0KTsKIAotICAg
IGlmIChDYXBhY2l0eSkgewotICAgICAgICBDYXBhY2l0eS0+TG9naWNhbEJsb2NrQWRkcmVzcy5R
dWFkUGFydCA9IF9ieXRlc3dhcF91aW50NjQoU2VjdG9yQ291bnQgLSAxKTsKLSAgICAgICAgQ2Fw
YWNpdHktPkJ5dGVzUGVyQmxvY2sgPSBfYnl0ZXN3YXBfdWxvbmcoU2VjdG9yU2l6ZSk7Ci0gICAg
ICAgIENhcGFjaXR5LT5Mb2dpY2FsUGVyUGh5c2ljYWxFeHBvbmVudCA9IChVQ0hBUilMb2dpY2Fs
UGVyUGh5c2ljYWxFeHBvbmVudDsKLSAgICB9CisgICAgWEVOQlVTX0RFQlVHKFByaW50ZiwKKyAg
ICAgICAgICAgICAgICAgJlRhcmdldC0+RGVidWdJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAg
ICJUYXJnZXRJOiAldSBEZXZpY2VJZDogJXUgQmFja2VuZElkOiAldVxuIiwKKyAgICAgICAgICAg
ICAgICAgVGFyZ2V0LT5UYXJnZXRJZCwKKyAgICAgICAgICAgICAgICAgVGFyZ2V0LT5EZXZpY2VJ
ZCwKKyAgICAgICAgICAgICAgICAgVGFyZ2V0LT5CYWNrZW5kSWQpOworCisgICAgWEVOQlVTX0RF
QlVHKFByaW50ZiwKKyAgICAgICAgICAgICAgICAgJlRhcmdldC0+RGVidWdJbnRlcmZhY2UsCisg
ICAgICAgICAgICAgICAgICJQYXRoOiAlc1xuIiwKKyAgICAgICAgICAgICAgICAgVGFyZ2V0LT5Q
YXRoKTsKKworICAgIFhFTkJVU19ERUJVRyhQcmludGYsCisgICAgICAgICAgICAgICAgICZUYXJn
ZXQtPkRlYnVnSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAiQmFja2VuZFBhdGg6ICVzXG4i
LAorICAgICAgICAgICAgICAgICBUYXJnZXQtPkJhY2tlbmRQYXRoID8gVGFyZ2V0LT5CYWNrZW5k
UGF0aCA6ICJOVUxMIik7CisKKyAgICBYRU5CVVNfREVCVUcoUHJpbnRmLAorICAgICAgICAgICAg
ICAgICAmVGFyZ2V0LT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIlRhcmdldFBh
dGg6ICVzXG4iLAorICAgICAgICAgICAgICAgICBUYXJnZXQtPlRhcmdldFBhdGgpOworCisgICAg
WEVOQlVTX0RFQlVHKFByaW50ZiwKKyAgICAgICAgICAgICAgICAmVGFyZ2V0LT5EZWJ1Z0ludGVy
ZmFjZSwKKyAgICAgICAgICAgICAgICAiRmVhdHVyZXM6ICVzJXMlcyVzJXNcbiIsCisgICAgICAg
ICAgICAgICAgVGFyZ2V0LT5SZW1vdmFibGUgPyAiUkVNT1ZBQkxFICIgOiAiIiwKKyAgICAgICAg
ICAgICAgICBUYXJnZXQtPkZlYXR1cmVCYXJyaWVyID8gIkJBUlJJRVIgIiA6ICIiLAorICAgICAg
ICAgICAgICAgIFRhcmdldC0+RmVhdHVyZURpc2NhcmQgPyAiRElTQ0FSRCAiIDogIiIsCisgICAg
ICAgICAgICAgICAgVGFyZ2V0LT5GZWF0dXJlRmx1c2ggPyAiRkxVU0ggIiA6ICIiLAorICAgICAg
ICAgICAgICAgIFRhcmdldC0+RmVhdHVyZUluZGlyZWN0ID8gIklORElSRUNUICIgOiAiIik7CisK
KyAgICBpZiAoVGFyZ2V0LT5GZWF0dXJlRGlzY2FyZCkgeworICAgICAgICBYRU5CVVNfREVCVUco
UHJpbnRmLAorICAgICAgICAgICAgICAgICAgICAmVGFyZ2V0LT5EZWJ1Z0ludGVyZmFjZSwKKyAg
ICAgICAgICAgICAgICAgICAgIkRJU0NBUkQ6ICVzJXUgQCAldVxuIiwKKyAgICAgICAgICAgICAg
ICAgICAgVGFyZ2V0LT5EaXNjYXJkU2VjdXJlID8gIlNFQ1VSRSAiIDogIiIsCisgICAgICAgICAg
ICAgICAgICAgIFRhcmdldC0+RGlzY2FyZEFsaWdubWVudCwKKyAgICAgICAgICAgICAgICAgICAg
VGFyZ2V0LT5EaXNjYXJkR3JhbnVsYXJpdHkpOworICAgIH0KKworICAgIGlmIChUYXJnZXQtPkZl
YXR1cmVJbmRpcmVjdCkgeworICAgICAgICBYRU5CVVNfREVCVUcoUHJpbnRmLAorICAgICAgICAg
ICAgICAgICAgICAmVGFyZ2V0LT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAg
IklORElSRUNUOiAldSBNYXhTZWdzUGVySW5kXG4iLAorICAgICAgICAgICAgICAgICAgICBUYXJn
ZXQtPkZlYXR1cmVJbmRpcmVjdCk7CisgICAgfQorCisgICAgWEVOQlVTX0RFQlVHKFByaW50ZiwK
KyAgICAgICAgICAgICAgICAmVGFyZ2V0LT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAg
ICAiJWxsdSBzZWN0b3JzIEAgJXUgKCV1KSAlMDh4XG4iLAorICAgICAgICAgICAgICAgIFRhcmdl
dC0+U2VjdG9yQ291bnQsCisgICAgICAgICAgICAgICAgVGFyZ2V0LT5TZWN0b3JTaXplLAorICAg
ICAgICAgICAgICAgIFRhcmdldC0+UGh5c2ljYWxTZWN0b3JTaXplLAorICAgICAgICAgICAgICAg
IFRhcmdldC0+RGlza0luZm8pOworfQorCitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFU
VVMKK1RhcmdldEJhY2tlbmRUaHJlYWQoCisgICAgSU4gIFBYRU5WQkRfVEhSRUFEICBTZWxmLAor
ICAgIElOICBQVk9JRCAgICAgICAgICAgQ29udGV4dAorICAgICkKK3sKKyAgICBQWEVOVkJEX1RB
UkdFVCAgICAgIFRhcmdldCA9IENvbnRleHQ7CisgICAgUEtFVkVOVCAgICAgICAgICAgICBFdmVu
dCA9IFRocmVhZEdldEV2ZW50KFNlbGYpOyAKKyAgICBMQVJHRV9JTlRFR0VSICAgICAgIFN0YXJ0
OworICAgIExBUkdFX0lOVEVHRVIgICAgICAgTm93OworCisgICAgS2VRdWVyeVN5c3RlbVRpbWUo
JlN0YXJ0KTsKKyAgICBmb3IgKDs7KSB7CisgICAgICAgIFBDSEFSICAgICAgICAgICBCdWZmZXI7
CisgICAgICAgIE5UU1RBVFVTICAgICAgICBzdGF0dXM7CisgICAgICAgIEtJUlFMICAgICAgICAg
ICBJcnFsOworICAgICAgICBCT09MRUFOICAgICAgICAgT25saW5lID0gVFJVRTsKKworICAgICAg
ICAoVk9JRCkgS2VXYWl0Rm9yU2luZ2xlT2JqZWN0KEV2ZW50LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEV4ZWN1dGl2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBLZXJuZWxNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEZBTFNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwor
ICAgICAgICBpZiAoVGhyZWFkSXNBbGVydGVkKFNlbGYpKQorICAgICAgICAgICAgYnJlYWs7CiAK
LSAgICBTcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfU1VDQ0VTUzsKLX0KKyAgICAgICAgS2VR
dWVyeVN5c3RlbVRpbWUoJk5vdyk7CisgICAgICAgIC8vIFJhdGUgbGltaXQgY2hlY2tpbmcgdG8g
b25jZSBhIHNlY29uZAorICAgICAgICBpZiAoKE5vdy5RdWFkUGFydCAtIFN0YXJ0LlF1YWRQYXJ0
KSA8IDEwMDAwMDAwdWxsKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIFN0YXJ0LlF1
YWRQYXJ0ID0gTm93LlF1YWRQYXJ0OwogCi1zdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAotX19UYXJn
ZXRRdWV1ZVNodXRkb3duKAotICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0LAotICAgIElO
ICBQWEVOVkJEX1NSQkVYVCAgU3JiRXh0Ci0gICAgKQotewotICAgIFBYRU5WQkRfTk9USUZJRVIg
ICAgTm90aWZpZXIgPSBGcm9udGVuZEdldE5vdGlmaWVyKFRhcmdldC0+RnJvbnRlbmQpOworICAg
ICAgICBLZUFjcXVpcmVTcGluTG9jaygmVGFyZ2V0LT5TdGF0ZUxvY2ssICZJcnFsKTsKKyAgICAg
ICAgaWYgKFRhcmdldC0+RGV2aWNlUG93ZXJTdGF0ZSAhPSBQb3dlckRldmljZUQwKSB7CisgICAg
ICAgICAgICBLZVJlbGVhc2VTcGluTG9jaygmVGFyZ2V0LT5TdGF0ZUxvY2ssIElycWwpOworICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgS2VSZWxlYXNlU3BpbkxvY2so
JlRhcmdldC0+U3RhdGVMb2NrLCBJcnFsKTsKKworICAgICAgICBUYXJnZXRTdG9yZVJlYWREaXNr
SW5mbyhUYXJnZXQpOworCisgICAgICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShSZWFkLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJlRhcmdldC0+U3RvcmVJbnRlcmZhY2UsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgVGFyZ2V0LT5CYWNrZW5kUGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJvbmxpbmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlcik7CisgICAg
ICAgIGlmIChOVF9TVUNDRVNTKHN0YXR1cykpIHsKKyAgICAgICAgICAgIE9ubGluZSA9IChCT09M
RUFOKXN0cnRvdWwoQnVmZmVyLCBOVUxMLCAyKTsKKworICAgICAgICAgICAgWEVOQlVTX1NUT1JF
KEZyZWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlRhcmdldC0+U3RvcmVJbnRlcmZh
Y2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyKTsKKyAgICAgICAgfQogCi0g
ICAgUXVldWVBcHBlbmQoJlRhcmdldC0+U2h1dGRvd25TcmJzLCAmU3JiRXh0LT5MaXN0RW50cnkp
OwotICAgIE5vdGlmaWVyS2ljayhOb3RpZmllcik7CisgICAgICAgIGlmICghT25saW5lKSB7Cisg
ICAgICAgICAgICAvLyBlamVjdCEKKyAgICAgICAgICAgIFRhcmdldFNldE1pc3NpbmcoVGFyZ2V0
LCAiRWplY3RpbmciKTsKKyAgICAgICAgICAgIEFkYXB0ZXJUYXJnZXRMaXN0Q2hhbmdlZChUYXJn
ZXRHZXRBZGFwdGVyKFRhcmdldCkpOworICAgICAgICB9CisgICAgfQogCi0gICAgU3JiRXh0LT5T
cmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfUEVORElORzsKKyAgICByZXR1cm4gU1RBVFVTX1NV
Q0NFU1M7CiB9CiAKLVZPSUQKLVRhcmdldFJlc2V0KAorTlRTVEFUVVMKK1RhcmdldEQzVG9EMCgK
ICAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldAogICAgICkKIHsKKyAgICBLSVJRTCAgICAg
ICAgICAgICAgIElycWw7CisgICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7CisKKyAgICBp
ZiAoVGFyZ2V0LT5EZXZpY2VQb3dlclN0YXRlID09IFBvd2VyRGV2aWNlRDApCisgICAgICAgIHJl
dHVybiBTVEFUVVNfU1VDQ0VTUzsKKwogICAgIFZlcmJvc2UoIlsldV0gPT09PT0+XG4iLAotICAg
ICAgICAgICAgVGFyZ2V0R2V0VGFyZ2V0SWQoVGFyZ2V0KSk7CisgICAgICAgICAgICBUYXJnZXQt
PlRhcmdldElkKTsKIAotICAgIF9fVGFyZ2V0UGF1c2VEYXRhUGF0aChUYXJnZXQsIFRSVUUpOwor
ICAgIHN0YXR1cyA9IFhFTkJVU19ERUJVRyhBY3F1aXJlLCAmVGFyZ2V0LT5EZWJ1Z0ludGVyZmFj
ZSk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDE7CiAK
LSAgICBpZiAoUXVldWVDb3VudCgmVGFyZ2V0LT5TdWJtaXR0ZWRSZXFzKSkgewotICAgICAgICBF
cnJvcigiVGFyZ2V0WyVkXSA6IGJhY2tlbmQgaGFzICV1IG91dHN0YW5kaW5nIHJlcXVlc3RzIGFm
dGVyIGEgVGFyZ2V0UmVzZXRcbiIsCi0gICAgICAgICAgICAgICAgVGFyZ2V0R2V0VGFyZ2V0SWQo
VGFyZ2V0KSwgUXVldWVDb3VudCgmVGFyZ2V0LT5TdWJtaXR0ZWRSZXFzKSk7Ci0gICAgfQorICAg
IHN0YXR1cyA9IFhFTkJVU19TVVNQRU5EKEFjcXVpcmUsICZUYXJnZXQtPlN1c3BlbmRJbnRlcmZh
Y2UpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwyOwog
Ci0gICAgX19UYXJnZXRVbnBhdXNlRGF0YVBhdGgoVGFyZ2V0KTsKKyAgICBzdGF0dXMgPSBYRU5C
VVNfREVCVUcoUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZUYXJnZXQtPkRl
YnVnSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgIF9fTU9EVUxFX18sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0RGVidWdDYWxsYmFjaywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICBUYXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgJlRhcmdldC0+RGVi
dWdDYWxsYmFjayk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8g
ZmFpbDM7CiAKLSAgICBWZXJib3NlKCJbJXVdIDw9PT09PVxuIiwKLSAgICAgICAgICAgIFRhcmdl
dEdldFRhcmdldElkKFRhcmdldCkpOwotfQorICAgIHN0YXR1cyA9IFhFTkJVU19TVVNQRU5EKFJl
Z2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICZUYXJnZXQtPlN1c3BlbmRJbnRl
cmZhY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VTUEVORF9DQUxMQkFDS19MQVRF
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldFN1c3BlbmRDYWxsYmFjaywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJlRhcmdldC0+U3VzcGVuZENhbGxiYWNrKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3Rh
dHVzKSkKKyAgICAgICAgZ290byBmYWlsNDsKIAotVk9JRAotVGFyZ2V0UHJlcGFyZVNyYigKLSAg
ICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldCwKLSAgICBJTiAgUFhFTlZCRF9TUkJFWFQgIFNy
YkV4dAotICAgICkKLXsKLSAgICBQU0NTSV9SRVFVRVNUX0JMT0NLIFNyYiA9IFNyYkV4dC0+U3Ji
OworICAgIEtlQWNxdWlyZVNwaW5Mb2NrKCZUYXJnZXQtPlN0YXRlTG9jaywgJklycWwpOworICAg
IHN0YXR1cyA9IF9fVGFyZ2V0RDNUb0QwKFRhcmdldCk7CisgICAgS2VSZWxlYXNlU3BpbkxvY2so
JlRhcmdldC0+U3RhdGVMb2NrLCBJcnFsKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkK
KyAgICAgICAgZ290byBmYWlsNTsKIAotICAgIFNyYkV4dC0+U3JiLT5TcmJTdGF0dXMgPSBTUkJf
U1RBVFVTX05PX0RFVklDRTsKLSAgICBpZiAoVGFyZ2V0SXNNaXNzaW5nKFRhcmdldCkpCi0gICAg
ICAgIHJldHVybjsKKyAgICBUYXJnZXQtPkRldmljZVBvd2VyU3RhdGUgPSBQb3dlckRldmljZUQw
OworICAgIFZlcmJvc2UoIlsldV0gPD09PT09XG4iLAorICAgICAgICAgICAgVGFyZ2V0LT5UYXJn
ZXRJZCk7CisgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwogCi0gICAgU3JiLT5TcmJTdGF0dXMg
PSBTUkJfU1RBVFVTX1BFTkRJTkc7CitmYWlsNToKKyAgICBFcnJvcigiZmFpbDVcbiIpOworICAg
IFhFTkJVU19TVVNQRU5EKERlcmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICZUYXJnZXQt
PlN1c3BlbmRJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAgIFRhcmdldC0+U3VzcGVuZENh
bGxiYWNrKTsKKyAgICBUYXJnZXQtPlN1c3BlbmRDYWxsYmFjayA9IE5VTEw7CitmYWlsNDoKKyAg
ICBFcnJvcigiZmFpbDRcbiIpOworICAgIFhFTkJVU19ERUJVRyhEZXJlZ2lzdGVyLAorICAgICAg
ICAgICAgICAgICAmVGFyZ2V0LT5EZWJ1Z0ludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgVGFy
Z2V0LT5EZWJ1Z0NhbGxiYWNrKTsKKyAgICBUYXJnZXQtPkRlYnVnQ2FsbGJhY2sgPSBOVUxMOwor
ZmFpbDM6CisgICAgRXJyb3IoImZhaWwzXG4iKTsKKyAgICBYRU5CVVNfU1VTUEVORChSZWxlYXNl
LAorICAgICAgICAgICAgICAgICAgICZUYXJnZXQtPlN1c3BlbmRJbnRlcmZhY2UpOworZmFpbDI6
CisgICAgRXJyb3IoImZhaWwyXG4iKTsKKyAgICBYRU5CVVNfREVCVUcoUmVsZWFzZSwKKyAgICAg
ICAgICAgICAgICAgJlRhcmdldC0+RGVidWdJbnRlcmZhY2UpOworZmFpbDE6CisgICAgRXJyb3Io
ImZhaWwxICUwOHhcbiIsIHN0YXR1cyk7CisgICAgcmV0dXJuIHN0YXR1czsKIH0KIAogVk9JRAot
VGFyZ2V0U3RhcnRTcmIoCi0gICAgSU4gIFBYRU5WQkRfVEFSR0VUICBUYXJnZXQsCi0gICAgSU4g
IFBYRU5WQkRfU1JCRVhUICBTcmJFeHQKK1RhcmdldEQwVG9EMygKKyAgICBJTiAgUFhFTlZCRF9U
QVJHRVQgIFRhcmdldAogICAgICkKIHsKLSAgICBjb25zdCBVQ0hBUiAgICAgICAgIE9wZXJhdGlv
biA9IENkYl9PcGVyYXRpb25FeChTcmJFeHQtPlNyYik7Ci0gICAgUFhFTlZCRF9ESVNLSU5GTyAg
ICBEaXNrSW5mbyA9IEZyb250ZW5kR2V0RGlza0luZm8oVGFyZ2V0LT5Gcm9udGVuZCk7CisgICAg
S0lSUUwgICAgICAgICAgICAgICBJcnFsOwogCi0gICAgaWYgKERpc2tJbmZvLT5EaXNrSW5mbyAm
IFZESVNLX1JFQURPTkxZKSB7Ci0gICAgICAgIFRyYWNlKCJUYXJnZXRbJWRdIDogKCUwOHgpIFJl
YWQtT25seSwgZmFpbCBTUkIgKCUwMng6JXMpXG4iLCBUYXJnZXRHZXRUYXJnZXRJZChUYXJnZXQp
LAotICAgICAgICAgICAgICAgIERpc2tJbmZvLT5EaXNrSW5mbywgT3BlcmF0aW9uLCBDZGJfT3Bl
cmF0aW9uTmFtZShPcGVyYXRpb24pKTsKLSAgICAgICAgU3JiRXh0LT5TcmItPlNjc2lTdGF0dXMg
PSAweDQwOyAvLyBTQ1NJX0FCT1JUCi0gICAgICAgIFNyYkV4dC0+U3JiLT5TcmJTdGF0dXMgPSBT
UkJfU1RBVFVTX0VSUk9SOworICAgIGlmIChUYXJnZXQtPkRldmljZVBvd2VyU3RhdGUgPT0gUG93
ZXJEZXZpY2VEMykKICAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHN3aXRjaCAoT3BlcmF0
aW9uKSB7Ci0gICAgY2FzZSBTQ1NJT1BfUkVBRDoKLSAgICAgICAgVGFyZ2V0UmVhZFdyaXRlKFRh
cmdldCwgU3JiRXh0KTsKIAotICAgIGNhc2UgU0NTSU9QX1dSSVRFOgotICAgICAgICBUYXJnZXRS
ZWFkV3JpdGUoVGFyZ2V0LCBTcmJFeHQpOwotICAgICAgICBicmVhazsKLSAgICAgICAgCi0gICAg
Y2FzZSBTQ1NJT1BfU1lOQ0hST05JWkVfQ0FDSEU6Ci0gICAgICAgIFRhcmdldFN5bmNDYWNoZShU
YXJnZXQsIFNyYkV4dCk7Ci0gICAgICAgIGJyZWFrOworICAgIFZlcmJvc2UoIlsldV0gPT09PT0+
XG4iLAorICAgICAgICAgICAgVGFyZ2V0LT5UYXJnZXRJZCk7CisgICAgVGFyZ2V0LT5EZXZpY2VQ
b3dlclN0YXRlID0gUG93ZXJEZXZpY2VEMzsKIAotICAgIGNhc2UgU0NTSU9QX1VOTUFQOgotICAg
ICAgICBUYXJnZXRVbm1hcChUYXJnZXQsIFNyYkV4dCk7Ci0gICAgICAgIGJyZWFrOworICAgIEtl
QWNxdWlyZVNwaW5Mb2NrKCZUYXJnZXQtPlN0YXRlTG9jaywgJklycWwpOworICAgIF9fVGFyZ2V0
RDBUb0QzKFRhcmdldCk7CisgICAgS2VSZWxlYXNlU3BpbkxvY2soJlRhcmdldC0+U3RhdGVMb2Nr
LCBJcnFsKTsKIAotICAgIGNhc2UgU0NTSU9QX0lOUVVJUlk6Ci0gICAgICAgIGlmICghU3RvclBv
cnRTZXREZXZpY2VRdWV1ZURlcHRoKFRhcmdldEdldEFkYXB0ZXIoVGFyZ2V0KSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKFVDSEFSKVRhcmdldEdldFRhcmdldElkKFRhcmdldCksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTlZCRF9NQVhfUVVFVUVfREVQVEgpKQotICAg
ICAgICAgICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6IEZhaWxlZCB0byBzZXQgcXVldWUgZGVwdGhc
biIsCi0gICAgICAgICAgICAgICAgICAgIFRhcmdldEdldFRhcmdldElkKFRhcmdldCkpOwotICAg
ICAgICBQZG9JbnF1aXJ5KFRhcmdldEdldFRhcmdldElkKFRhcmdldCksIEZyb250ZW5kR2V0SW5x
dWlyeShUYXJnZXQtPkZyb250ZW5kKSwgU3JiRXh0LT5TcmIpOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIFNDU0lPUF9NT0RFX1NFTlNFOgotICAgICAgICBUYXJnZXRNb2RlU2Vuc2UoVGFyZ2V0
LCBTcmJFeHQpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFNDU0lPUF9SRVFVRVNUX1NFTlNF
OgotICAgICAgICBUYXJnZXRSZXF1ZXN0U2Vuc2UoVGFyZ2V0LCBTcmJFeHQpOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIFNDU0lPUF9SRVBPUlRfTFVOUzoKLSAgICAgICAgVGFyZ2V0UmVwb3J0
THVucyhUYXJnZXQsIFNyYkV4dCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgU0NTSU9QX1JF
QURfQ0FQQUNJVFk6Ci0gICAgICAgIFRhcmdldFJlYWRDYXBhY2l0eShUYXJnZXQsIFNyYkV4dCk7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgU0NTSU9QX1JFQURfQ0FQQUNJVFkxNjoKLSAgICAg
ICAgVGFyZ2V0UmVhZENhcGFjaXR5MTYoVGFyZ2V0LCBTcmJFeHQpOwotICAgICAgICBicmVhazsK
KyAgICBYRU5CVVNfU1VTUEVORChEZXJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAmVGFy
Z2V0LT5TdXNwZW5kSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICBUYXJnZXQtPlN1c3Bl
bmRDYWxsYmFjayk7CisgICAgVGFyZ2V0LT5TdXNwZW5kQ2FsbGJhY2sgPSBOVUxMOwogCi0gICAg
Y2FzZSBTQ1NJT1BfTUVESVVNX1JFTU9WQUw6Ci0gICAgY2FzZSBTQ1NJT1BfVEVTVF9VTklUX1JF
QURZOgotICAgIGNhc2UgU0NTSU9QX1JFU0VSVkVfVU5JVDoKLSAgICBjYXNlIFNDU0lPUF9SRVNF
UlZFX1VOSVQxMDoKLSAgICBjYXNlIFNDU0lPUF9SRUxFQVNFX1VOSVQ6Ci0gICAgY2FzZSBTQ1NJ
T1BfUkVMRUFTRV9VTklUMTA6Ci0gICAgY2FzZSBTQ1NJT1BfVkVSSUZZOgotICAgIGNhc2UgU0NT
SU9QX1ZFUklGWTE2OgotICAgIGNhc2UgU0NTSU9QX1NUQVJUX1NUT1BfVU5JVDoKLSAgICAgICAg
U3JiRXh0LT5TcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfU1VDQ0VTUzsKLSAgICAgICAgYnJl
YWs7CisgICAgWEVOQlVTX0RFQlVHKERlcmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICZUYXJn
ZXQtPkRlYnVnSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICBUYXJnZXQtPkRlYnVnQ2FsbGJh
Y2spOworICAgIFRhcmdldC0+RGVidWdDYWxsYmFjayA9IE5VTEw7CiAKLSAgICBkZWZhdWx0Ogot
ICAgICAgICBUcmFjZSgiVGFyZ2V0WyVkXSA6IFVuc3VwcG9ydGVkIENEQiAoJTAyeDolcylcbiIs
Ci0gICAgICAgICAgICAgICBUYXJnZXRHZXRUYXJnZXRJZChUYXJnZXQpLAotICAgICAgICAgICAg
ICAgT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgQ2RiX09wZXJhdGlvbk5hbWUoT3BlcmF0aW9u
KSk7Ci0gICAgICAgIFNyYkV4dC0+U3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX0lOVkFMSURf
UkVRVUVTVDsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotfQorICAgIFhFTkJVU19TVVNQRU5EKFJl
bGVhc2UsCisgICAgICAgICAgICAgICAgICAgJlRhcmdldC0+U3VzcGVuZEludGVyZmFjZSk7CiAK
LVZPSUQKLVRhcmdldEZsdXNoKAotICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0LAotICAg
IElOICBQWEVOVkJEX1NSQkVYVCAgU3JiRXh0Ci0gICAgKQotewotICAgIF9fVGFyZ2V0UXVldWVT
aHV0ZG93bihUYXJnZXQsIFNyYkV4dCk7Ci19CisgICAgWEVOQlVTX0RFQlVHKFJlbGVhc2UsCisg
ICAgICAgICAgICAgICAgICZUYXJnZXQtPkRlYnVnSW50ZXJmYWNlKTsKIAotVk9JRAotVGFyZ2V0
U2h1dGRvd24oCi0gICAgSU4gIFBYRU5WQkRfVEFSR0VUICBUYXJnZXQsCi0gICAgSU4gIFBYRU5W
QkRfU1JCRVhUICBTcmJFeHQKLSAgICApCi17Ci0gICAgX19UYXJnZXRRdWV1ZVNodXRkb3duKFRh
cmdldCwgU3JiRXh0KTsKKyAgICBWZXJib3NlKCJbJXVdIDw9PT09PVxuIiwKKyAgICAgICAgICAg
IFRhcmdldC0+VGFyZ2V0SWQpOwogfQogCi1WT0lECi1UYXJnZXRTcmJQbnAoCi0gICAgX19pbiBQ
WEVOVkJEX1RBUkdFVCAgICAgICAgICAgICBUYXJnZXQsCi0gICAgX19pbiBQU0NTSV9QTlBfUkVR
VUVTVF9CTE9DSyBTcmIKK3N0YXRpYyBGT1JDRUlOTElORSBQQ0hBUgorX19EZXZpY2VVc2FnZU5h
bWUoCisgICAgSU4gIFVMT05HICAgSW5kZXgKICAgICApCiB7Ci0gICAgc3dpdGNoIChTcmItPlBu
UEFjdGlvbikgewotICAgIGNhc2UgU3RvclF1ZXJ5Q2FwYWJpbGl0aWVzOiB7Ci0gICAgICAgIFBT
VE9SX0RFVklDRV9DQVBBQklMSVRJRVMgRGV2aWNlQ2FwcyA9IFNyYi0+RGF0YUJ1ZmZlcjsKLSAg
ICAgICAgUFhFTlZCRF9DQVBTICAgIENhcHMgPSBGcm9udGVuZEdldENhcHMoVGFyZ2V0LT5Gcm9u
dGVuZCk7Ci0KLSAgICAgICAgaWYgKENhcHMtPlJlbW92YWJsZSkKLSAgICAgICAgICAgIERldmlj
ZUNhcHMtPlJlbW92YWJsZSA9IDE7Ci0gICAgICAgIGlmIChDYXBzLT5SZW1vdmFibGUpCi0gICAg
ICAgICAgICBEZXZpY2VDYXBzLT5FamVjdFN1cHBvcnRlZCA9IDE7Ci0gICAgICAgIGlmIChDYXBz
LT5TdXJwcmlzZVJlbW92YWJsZSkKLSAgICAgICAgICAgIERldmljZUNhcHMtPlN1cnByaXNlUmVt
b3ZhbE9LID0gMTsKLQotICAgICAgICBEZXZpY2VDYXBzLT5VbmlxdWVJRCA9IDE7Ci0KLSAgICAg
ICAgfSBicmVhazsKLQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIGJyZWFrOworICAgIHN3aXRjaCAo
SW5kZXgpIHsKKyAgICBjYXNlIERldmljZVVzYWdlVHlwZVVuZGVmaW5lZDogICAgICByZXR1cm4g
TlVMTDsKKyAgICBjYXNlIERldmljZVVzYWdlVHlwZVBhZ2luZzogICAgICAgICByZXR1cm4gInBh
Z2luZyI7CisgICAgY2FzZSBEZXZpY2VVc2FnZVR5cGVIaWJlcm5hdGlvbjogICAgcmV0dXJuICJo
aWJlcm5hdGlvbiI7CisgICAgY2FzZSBEZXZpY2VVc2FnZVR5cGVEdW1wRmlsZTogICAgICAgcmV0
dXJuICJkdW1wIjsKKyAgICBkZWZhdWx0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm4gTlVMTDsKICAgICB9CiB9CiAKLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS8vIFBuUCBIYW5k
bGVyCiBzdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAogX19UYXJnZXREZXZpY2VVc2FnZU5vdGlmaWNh
dGlvbigKLSAgICBfX2luIFBYRU5WQkRfVEFSR0VUICAgICAgICAgICAgIFRhcmdldCwKLSAgICBf
X2luIFBJUlAgICAgICAgICAgICAgICAgICAgIElycAorICAgIElOICBQWEVOVkJEX1RBUkdFVCAg
ICAgIFRhcmdldCwKKyAgICBJTiAgUElSUCAgICAgICAgICAgICAgICBJcnAKICAgICApCiB7CiAg
ICAgUElPX1NUQUNLX0xPQ0FUSU9OICAgICAgU3RhY2tMb2NhdGlvbjsKKyAgICBVTE9ORyAgICAg
ICAgICAgICAgICAgICBJbmRleDsKICAgICBCT09MRUFOICAgICAgICAgICAgICAgICBWYWx1ZTsK
LSAgICBERVZJQ0VfVVNBR0VfTk9USUZJQ0FUSU9OX1RZUEUgIFR5cGU7Ci0gICAgUFhFTlZCRF9D
QVBTICAgICAgICAgICAgQ2FwcyA9IEZyb250ZW5kR2V0Q2FwcyhUYXJnZXQtPkZyb250ZW5kKTsK
IAogICAgIFN0YWNrTG9jYXRpb24gPSBJb0dldEN1cnJlbnRJcnBTdGFja0xvY2F0aW9uKElycCk7
CiAgICAgVmFsdWUgPSBTdGFja0xvY2F0aW9uLT5QYXJhbWV0ZXJzLlVzYWdlTm90aWZpY2F0aW9u
LkluUGF0aDsKLSAgICBUeXBlICA9IFN0YWNrTG9jYXRpb24tPlBhcmFtZXRlcnMuVXNhZ2VOb3Rp
ZmljYXRpb24uVHlwZTsKLQotICAgIHN3aXRjaCAoVHlwZSkgewotICAgIGNhc2UgRGV2aWNlVXNh
Z2VUeXBlUGFnaW5nOgotICAgICAgICBpZiAoQ2Fwcy0+UGFnaW5nID09IFZhbHVlKQotICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICBDYXBzLT5QYWdpbmcgPSBWYWx1ZTsKLSAgICAgICAgYnJl
YWs7Ci0KLSAgICBjYXNlIERldmljZVVzYWdlVHlwZUhpYmVybmF0aW9uOgotICAgICAgICBpZiAo
Q2Fwcy0+SGliZXJuYXRpb24gPT0gVmFsdWUpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IENhcHMtPkhpYmVybmF0aW9uID0gVmFsdWU7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBE
ZXZpY2VVc2FnZVR5cGVEdW1wRmlsZToKLSAgICAgICAgaWYgKENhcHMtPkR1bXBGaWxlID09IFZh
bHVlKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBDYXBzLT5EdW1wRmlsZSA9IFZhbHVl
OwotICAgICAgICBicmVhazsKKyAgICBJbmRleCA9IChVTE9ORylTdGFja0xvY2F0aW9uLT5QYXJh
bWV0ZXJzLlVzYWdlTm90aWZpY2F0aW9uLlR5cGU7CiAKLSAgICBkZWZhdWx0OgorICAgIGlmIChf
X0RldmljZVVzYWdlTmFtZShJbmRleCkgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGlm
IChUYXJnZXQtPkRldmljZVVzYWdlW0luZGV4XSA9PSBWYWx1ZSkKICAgICAgICAgcmV0dXJuOwot
ICAgIH0KLSAgICBGcm9udGVuZFdyaXRlVXNhZ2UoVGFyZ2V0LT5Gcm9udGVuZCk7Ci19Ci0KLXN0
YXRpYyBGT1JDRUlOTElORSBWT0lECi1fX1RhcmdldENoZWNrRWplY3RQZW5kaW5nKAotICAgIF9f
aW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0Ci0gICAgKQotewotICAgIEtJUlFM
ICAgICAgICAgICAgICAgSXJxbDsKLSAgICBCT09MRUFOICAgICAgICAgICAgIEVqZWN0UGVuZGlu
ZyA9IEZBTFNFOwotCi0gICAgS2VBY3F1aXJlU3BpbkxvY2soJlRhcmdldC0+TG9jaywgJklycWwp
OwotICAgIGlmIChUYXJnZXQtPkVqZWN0UGVuZGluZykgewotICAgICAgICBFamVjdFBlbmRpbmcg
PSBUUlVFOwotICAgICAgICBUYXJnZXQtPkVqZWN0UGVuZGluZyA9IEZBTFNFOwotICAgICAgICBU
YXJnZXQtPkVqZWN0UmVxdWVzdGVkID0gVFJVRTsKLSAgICB9Ci0gICAgS2VSZWxlYXNlU3Bpbkxv
Y2soJlRhcmdldC0+TG9jaywgSXJxbCk7Ci0KLSAgICBpZiAoRWplY3RQZW5kaW5nKSB7Ci0gICAg
ICAgIFZlcmJvc2UoIlRhcmdldFslZF0gOiBJb1JlcXVlc3REZXZpY2VFamVjdCgweCVwKVxuIiwg
VGFyZ2V0R2V0VGFyZ2V0SWQoVGFyZ2V0KSwgVGFyZ2V0LT5EZXZpY2VPYmplY3QpOwotICAgICAg
ICBJb1JlcXVlc3REZXZpY2VFamVjdChUYXJnZXQtPkRldmljZU9iamVjdCk7Ci0gICAgfQotfQot
Ci1zdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAotX19UYXJnZXRDaGVja0VqZWN0RmFpbGVkKAotICAg
IF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0Ci0gICAgKQotewotICAgIEtJ
UlFMICAgICAgICAgICAgICAgSXJxbDsKLSAgICBCT09MRUFOICAgICAgICAgICAgIEVqZWN0RmFp
bGVkID0gRkFMU0U7Ci0KLSAgICBLZUFjcXVpcmVTcGluTG9jaygmVGFyZ2V0LT5Mb2NrLCAmSXJx
bCk7Ci0gICAgaWYgKFRhcmdldC0+RWplY3RSZXF1ZXN0ZWQpIHsKLSAgICAgICAgRWplY3RGYWls
ZWQgPSBUUlVFOwotICAgICAgICBUYXJnZXQtPkVqZWN0UmVxdWVzdGVkID0gRkFMU0U7Ci0gICAg
fQotICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZUYXJnZXQtPkxvY2ssIElycWwpOwotCi0gICAgaWYg
KEVqZWN0RmFpbGVkKSB7Ci0gICAgICAgIEVycm9yKCJUYXJnZXRbJWRdIDogVW5wbHVnIGZhaWxl
ZCBkdWUgdG8gb3BlbiBoYW5kbGUocykhXG4iLCBUYXJnZXRHZXRUYXJnZXRJZChUYXJnZXQpKTsK
LSAgICAgICAgRnJvbnRlbmRTdG9yZVdyaXRlRnJvbnRlbmQoVGFyZ2V0LT5Gcm9udGVuZCwgImVy
cm9yIiwgIlVucGx1ZyBmYWlsZWQgZHVlIHRvIG9wZW4gaGFuZGxlKHMpISIpOwotICAgIH0KLX0K
LQotc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKLV9fVGFyZ2V0UmVtb3ZlRGV2aWNlKAotICAgIF9f
aW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0Ci0gICAgKQotewotICAgIFRhcmdl
dEQwVG9EMyhUYXJnZXQpOwogCi0gICAgc3dpdGNoIChUYXJnZXRHZXREZXZpY2VQbnBTdGF0ZShU
YXJnZXQpKSB7Ci0gICAgY2FzZSBTdXJwcmlzZVJlbW92ZVBlbmRpbmc6Ci0gICAgICAgIFRhcmdl
dFNldE1pc3NpbmcoVGFyZ2V0LCAiU3VycHJpc2UgUmVtb3ZlIik7Ci0gICAgICAgIFRhcmdldFNl
dERldmljZVBucFN0YXRlKFRhcmdldCwgRGVsZXRlZCk7Ci0gICAgICAgIEFkYXB0ZXJUYXJnZXRM
aXN0Q2hhbmdlZChUYXJnZXRHZXRBZGFwdGVyKFRhcmdldCkpOwotICAgICAgICBicmVhazsKKyAg
ICBUYXJnZXQtPkRldmljZVVzYWdlW0luZGV4XSA9IFZhbHVlOwogCi0gICAgZGVmYXVsdDoKLSAg
ICAgICAgVGFyZ2V0U2V0TWlzc2luZyhUYXJnZXQsICJSZW1vdmVkIik7Ci0gICAgICAgIFRhcmdl
dFNldERldmljZVBucFN0YXRlKFRhcmdldCwgRGVsZXRlZCk7Ci0gICAgICAgIEFkYXB0ZXJUYXJn
ZXRMaXN0Q2hhbmdlZChUYXJnZXRHZXRBZGFwdGVyKFRhcmdldCkpOwotICAgICAgICBicmVhazsK
LSAgICB9Ci19CisgICAgVmVyYm9zZSgiWyV1XSAlcyAlc1xuIiwKKyAgICAgICAgICAgIFRhcmdl
dC0+VGFyZ2V0SWQsCisgICAgICAgICAgICBWYWx1ZSA/ICJBRERJTkciIDogIlJFTU9WSU5HIiwK
KyAgICAgICAgICAgIF9fRGV2aWNlVXNhZ2VOYW1lKEluZGV4KSk7CiAKLXN0YXRpYyBGT1JDRUlO
TElORSBWT0lECi1fX1RhcmdldEVqZWN0KAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAg
ICAgICAgVGFyZ2V0Ci0gICAgKQotewotICAgIFRhcmdldFNldE1pc3NpbmcoVGFyZ2V0LCAiRWpl
Y3RlZCIpOwotICAgIFRhcmdldFNldERldmljZVBucFN0YXRlKFRhcmdldCwgRGVsZXRlZCk7Ci0g
ICAgQWRhcHRlclRhcmdldExpc3RDaGFuZ2VkKFRhcmdldEdldEFkYXB0ZXIoVGFyZ2V0KSk7Cisg
ICAgKFZPSUQpIFhFTkJVU19TVE9SRShQcmludGYsCisgICAgICAgICAgICAgICAgICAgICAgICAm
VGFyZ2V0LT5TdG9yZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCisg
ICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQtPlRhcmdldFBhdGgsCisgICAgICAgICAgICAg
ICAgICAgICAgICBfX0RldmljZVVzYWdlTmFtZShJbmRleCksCisgICAgICAgICAgICAgICAgICAg
ICAgICAiJXUiLAorICAgICAgICAgICAgICAgICAgICAgICAgVmFsdWUpOwogfQogCi1fX2NoZWNr
UmV0dXJuCiBOVFNUQVRVUwogVGFyZ2V0RGlzcGF0Y2hQbnAoCi0gICAgX19pbiBQWEVOVkJEX1RB
UkdFVCAgICAgICAgICAgICBUYXJnZXQsCi0gICAgX19pbiBQREVWSUNFX09CSkVDVCAgICAgICAg
ICBEZXZpY2VPYmplY3QsCi0gICAgX19pbiBQSVJQICAgICAgICAgICAgICAgICAgICBJcnAKKyAg
ICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldCwKKyAgICBJTiAgUERFVklDRV9PQkpFQ1QgIERl
dmljZU9iamVjdCwKKyAgICBJTiAgUElSUCAgICAgICAgICAgIElycAogICAgICkKIHsKLSAgICBQ
SU9fU1RBQ0tfTE9DQVRJT04gIFN0YWNrID0gSW9HZXRDdXJyZW50SXJwU3RhY2tMb2NhdGlvbihJ
cnApOwotCi0gICAgX19UYXJnZXRDaGVja0VqZWN0UGVuZGluZyhUYXJnZXQpOwotCi0gICAgc3dp
dGNoIChTdGFjay0+TWlub3JGdW5jdGlvbikgeworICAgIFBJT19TVEFDS19MT0NBVElPTiAgU3Rh
Y2tMb2NhdGlvbjsKKyAgICAKKyAgICBTdGFja0xvY2F0aW9uID0gSW9HZXRDdXJyZW50SXJwU3Rh
Y2tMb2NhdGlvbihJcnApOworICAgIHN3aXRjaCAoU3RhY2tMb2NhdGlvbi0+TWlub3JGdW5jdGlv
bikgewogICAgIGNhc2UgSVJQX01OX1NUQVJUX0RFVklDRToKICAgICAgICAgKFZPSUQpIFRhcmdl
dEQzVG9EMChUYXJnZXQpOwogICAgICAgICBUYXJnZXRTZXREZXZpY2VQbnBTdGF0ZShUYXJnZXQs
IFN0YXJ0ZWQpOwpAQCAtMjM0MCw3ICsyODQ3LDcgQEAgVGFyZ2V0RGlzcGF0Y2hQbnAoCiAgICAg
ICAgIGJyZWFrOwogCiAgICAgY2FzZSBJUlBfTU5fQ0FOQ0VMX1NUT1BfREVWSUNFOgotICAgICAg
ICBfX1RhcmdldFJlc3RvcmVEZXZpY2VQbnBTdGF0ZShUYXJnZXQsIFN0b3BQZW5kaW5nKTsKKyAg
ICAgICAgVGFyZ2V0UmVzdG9yZURldmljZVBucFN0YXRlKFRhcmdldCk7CiAgICAgICAgIGJyZWFr
OwogCiAgICAgY2FzZSBJUlBfTU5fU1RPUF9ERVZJQ0U6CkBAIC0yMzUzLDggKzI4NjAsOCBAQCBU
YXJnZXREaXNwYXRjaFBucCgKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIElSUF9NTl9DQU5D
RUxfUkVNT1ZFX0RFVklDRToKLSAgICAgICAgX19UYXJnZXRDaGVja0VqZWN0RmFpbGVkKFRhcmdl
dCk7Ci0gICAgICAgIF9fVGFyZ2V0UmVzdG9yZURldmljZVBucFN0YXRlKFRhcmdldCwgUmVtb3Zl
UGVuZGluZyk7CisgICAgICAgIC8vIFNob3VsZCB3cml0ZSBzb21ldGhpbmcgdG8gWGVuc3RvcmUg
dG8gaW5kaWNhdGUgdGhlIFZFVE8gb24gZGV2aWNlZWplY3QKKyAgICAgICAgVGFyZ2V0UmVzdG9y
ZURldmljZVBucFN0YXRlKFRhcmdldCk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBJUlBf
TU5fU1VSUFJJU0VfUkVNT1ZBTDoKQEAgLTIzNjIsMTEgKzI4NjksMTYgQEAgVGFyZ2V0RGlzcGF0
Y2hQbnAoCiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBJUlBfTU5fUkVNT1ZFX0RFVklDRToK
LSAgICAgICAgX19UYXJnZXRSZW1vdmVEZXZpY2UoVGFyZ2V0KTsKKyAgICAgICAgVGFyZ2V0RDBU
b0QzKFRhcmdldCk7CisgICAgICAgIFRhcmdldFNldE1pc3NpbmcoVGFyZ2V0LCBEZXZpY2VQbnBT
dGF0ZU5hbWUoVGFyZ2V0LT5EZXZpY2VQbnBTdGF0ZSkpOworICAgICAgICBUYXJnZXRTZXREZXZp
Y2VQbnBTdGF0ZShUYXJnZXQsIERlbGV0ZWQpOworICAgICAgICBBZGFwdGVyVGFyZ2V0TGlzdENo
YW5nZWQoVGFyZ2V0R2V0QWRhcHRlcihUYXJnZXQpKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBj
YXNlIElSUF9NTl9FSkVDVDoKLSAgICAgICAgX19UYXJnZXRFamVjdChUYXJnZXQpOworICAgICAg
ICBUYXJnZXRTZXRNaXNzaW5nKFRhcmdldCwgIkVqZWN0ZWQiKTsKKyAgICAgICAgVGFyZ2V0U2V0
RGV2aWNlUG5wU3RhdGUoVGFyZ2V0LCBEZWxldGVkKTsKKyAgICAgICAgQWRhcHRlclRhcmdldExp
c3RDaGFuZ2VkKFRhcmdldEdldEFkYXB0ZXIoVGFyZ2V0KSk7CiAgICAgICAgIGJyZWFrOwogCiAg
ICAgY2FzZSBJUlBfTU5fREVWSUNFX1VTQUdFX05PVElGSUNBVElPTjoKQEAgLTIzNzYsMTE0ICsy
ODg4LDE1IEBAIFRhcmdldERpc3BhdGNoUG5wKAogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFr
OwogICAgIH0KLSAgICByZXR1cm4gRHJpdmVyRGlzcGF0Y2hQbnAoRGV2aWNlT2JqZWN0LCBJcnAp
OwotfQotCi1fX2Rydl9tYXhJUlFMKERJU1BBVENIX0xFVkVMKQotVk9JRAotVGFyZ2V0SXNzdWVE
ZXZpY2VFamVjdCgKLSAgICBfX2luIFBYRU5WQkRfVEFSR0VUICAgICAgICAgICAgIFRhcmdldCwK
LSAgICBfX2luIF9fbnVsbHRlcm1pbmF0ZWQgY29uc3QgQ0hBUiogUmVhc29uCi0gICAgKQotewot
ICAgIEtJUlFMICAgICAgIElycWw7Ci0gICAgQk9PTEVBTiAgICAgRG9FamVjdCA9IEZBTFNFOwot
Ci0gICAgS2VBY3F1aXJlU3BpbkxvY2soJlRhcmdldC0+TG9jaywgJklycWwpOwotICAgIGlmIChU
YXJnZXQtPkRldmljZU9iamVjdCkgewotICAgICAgICBEb0VqZWN0ID0gVFJVRTsKLSAgICAgICAg
VGFyZ2V0LT5FamVjdFJlcXVlc3RlZCA9IFRSVUU7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgVGFy
Z2V0LT5FamVjdFBlbmRpbmcgPSBUUlVFOwotICAgIH0KLSAgICBLZVJlbGVhc2VTcGluTG9jaygm
VGFyZ2V0LT5Mb2NrLCBJcnFsKTsKLQotICAgIFZlcmJvc2UoIlRhcmdldFslZF0gOiBFamVjdGlu
ZyAoJXMgLSAlcylcbiIsIFRhcmdldEdldFRhcmdldElkKFRhcmdldCksIERvRWplY3QgPyAiTm93
IiA6ICJOZXh0IFBuUCBJUlAiLCBSZWFzb24pOwotICAgIGlmICghVGFyZ2V0LT5Xcml0dGVuRWpl
Y3RlZCkgewotICAgICAgICBUYXJnZXQtPldyaXR0ZW5FamVjdGVkID0gVFJVRTsKLSAgICAgICAg
RnJvbnRlbmRTdG9yZVdyaXRlRnJvbnRlbmQoVGFyZ2V0LT5Gcm9udGVuZCwgImVqZWN0ZWQiLCAi
MSIpOwotICAgIH0KLSAgICBpZiAoRG9FamVjdCkgewotICAgICAgICBWZXJib3NlKCJUYXJnZXRb
JWRdIDogSW9SZXF1ZXN0RGV2aWNlRWplY3QoMHglcClcbiIsIFRhcmdldEdldFRhcmdldElkKFRh
cmdldCksIFRhcmdldC0+RGV2aWNlT2JqZWN0KTsKLSAgICAgICAgSW9SZXF1ZXN0RGV2aWNlRWpl
Y3QoVGFyZ2V0LT5EZXZpY2VPYmplY3QpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIFZlcmJvc2Uo
IlRhcmdldFslZF0gOiBUcmlnZ2VyaW5nIEJ1c0NoYW5nZURldGVjdGVkIHRvIGRldGVjdCBkZXZp
Y2VcbiIsIFRhcmdldEdldFRhcmdldElkKFRhcmdldCkpOwotICAgICAgICBBZGFwdGVyVGFyZ2V0
TGlzdENoYW5nZWQoVGFyZ2V0R2V0QWRhcHRlcihUYXJnZXQpKTsKLSAgICB9Ci19Ci0KLV9fY2hl
Y2tSZXR1cm4KLU5UU1RBVFVTCi1UYXJnZXREM1RvRDAoCi0gICAgX19pbiBQWEVOVkJEX1RBUkdF
VCAgICAgICAgICAgIFRhcmdldAotICAgICkKLXsKLSAgICBOVFNUQVRVUyAgICAgICAgICAgICAg
ICAgICAgU3RhdHVzOwotICAgIGNvbnN0IFVMT05HICAgICAgICAgICAgICAgICBUYXJnZXRJZCA9
IFRhcmdldEdldFRhcmdldElkKFRhcmdldCk7Ci0KLSAgICBpZiAoIVRhcmdldFNldERldmljZVBv
d2VyU3RhdGUoVGFyZ2V0LCBQb3dlckRldmljZUQwKSkKLSAgICAgICAgcmV0dXJuIFNUQVRVU19T
VUNDRVNTOwotCi0gICAgVHJhY2UoIlRhcmdldFslZF0gQCAoJWQpID09PT09PlxuIiwgVGFyZ2V0
SWQsIEtlR2V0Q3VycmVudElycWwoKSk7Ci0gICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6IEQzLT5E
MFxuIiwgVGFyZ2V0SWQpOwotCi0gICAgLy8gcG93ZXIgdXAgZnJvbnRlbmQKLSAgICBTdGF0dXMg
PSBGcm9udGVuZEQzVG9EMChUYXJnZXQtPkZyb250ZW5kKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Mo
U3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsMTsKLQotICAgIC8vIGNvbm5lY3QgZnJvbnRlbmQK
LSAgICBTdGF0dXMgPSBGcm9udGVuZFNldFN0YXRlKFRhcmdldC0+RnJvbnRlbmQsIFhFTlZCRF9F
TkFCTEVEKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKLSAgICAgICAgZ290byBmYWls
MjsKLSAgICBfX1RhcmdldFVucGF1c2VEYXRhUGF0aChUYXJnZXQpOwotCi0gICAgVHJhY2UoIlRh
cmdldFslZF0gQCAoJWQpIDw9PT09PVxuIiwgVGFyZ2V0SWQsIEtlR2V0Q3VycmVudElycWwoKSk7
Ci0gICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwotCi1mYWlsMjoKLSAgICBFcnJvcigiRmFpbDJc
biIpOwotICAgIEZyb250ZW5kRDBUb0QzKFRhcmdldC0+RnJvbnRlbmQpOwotCi1mYWlsMToKLSAg
ICBFcnJvcigiRmFpbDEgKCUwOHgpXG4iLCBTdGF0dXMpOwotCi0gICAgVGFyZ2V0LT5EZXZpY2VQ
b3dlclN0YXRlID0gUG93ZXJEZXZpY2VEMzsKLQotICAgIHJldHVybiBTdGF0dXM7Ci19Ci0KLVZP
SUQKLVRhcmdldEQwVG9EMygKLSAgICBfX2luIFBYRU5WQkRfVEFSR0VUICAgICAgICAgICAgVGFy
Z2V0Ci0gICAgKQotewotICAgIGNvbnN0IFVMT05HICAgICAgICAgICAgICAgICBUYXJnZXRJZCA9
IFRhcmdldEdldFRhcmdldElkKFRhcmdldCk7Ci0KLSAgICBpZiAoIVRhcmdldFNldERldmljZVBv
d2VyU3RhdGUoVGFyZ2V0LCBQb3dlckRldmljZUQzKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
VHJhY2UoIlRhcmdldFslZF0gQCAoJWQpID09PT09PlxuIiwgVGFyZ2V0SWQsIEtlR2V0Q3VycmVu
dElycWwoKSk7Ci0gICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6IEQwLT5EM1xuIiwgVGFyZ2V0SWQp
OwotCi0gICAgLy8gY2xvc2UgZnJvbnRlbmQKLSAgICBfX1RhcmdldFBhdXNlRGF0YVBhdGgoVGFy
Z2V0LCBGQUxTRSk7Ci0gICAgKFZPSUQpIEZyb250ZW5kU2V0U3RhdGUoVGFyZ2V0LT5Gcm9udGVu
ZCwgWEVOVkJEX0NMT1NFRCk7Ci0gICAgQVNTRVJUM1UoUXVldWVDb3VudCgmVGFyZ2V0LT5TdWJt
aXR0ZWRSZXFzKSwgPT0sIDApOwotCi0gICAgLy8gcG93ZXIgZG93biBmcm9udGVuZAotICAgIEZy
b250ZW5kRDBUb0QzKFRhcmdldC0+RnJvbnRlbmQpOwogCi0gICAgVHJhY2UoIlRhcmdldFslZF0g
QCAoJWQpIDw9PT09PVxuIiwgVGFyZ2V0SWQsIEtlR2V0Q3VycmVudElycWwoKSk7CisgICAgcmV0
dXJuIERyaXZlckRpc3BhdGNoUG5wKERldmljZU9iamVjdCwgSXJwKTsKIH0KIAogc3RhdGljIEZP
UkNFSU5MSU5FIFVMT05HCiBfX1BhcnNlVmJkKAotICAgIElOICBQQ0hBUiAgIERldmljZUlkU3Ry
CisgICAgSU4gIFVMT05HICAgRGV2aWNlSWQKICAgICApCi17Ci0gICAgVUxPTkcgICBEZXZpY2VJ
ZCA9IHN0cnRvdWwoRGV2aWNlSWRTdHIsIE5VTEwsIDEwKTsKLSAgICAKK3sgICAgCiAgICAgQVNT
RVJUM1UoKERldmljZUlkICYgfigoMSA8PCAyOSkgLSAxKSksID09LCAwKTsKIAogICAgIGlmIChE
ZXZpY2VJZCAmICgxIDw8IDI4KSkKQEAgLTI1MDQsMTQwICsyOTE3LDIzNSBAQCBfX1BhcnNlVmJk
KAogICAgIH0KIH0KIAotX19jaGVja1JldHVybgogTlRTVEFUVVMKIFRhcmdldENyZWF0ZSgKLSAg
ICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICBBZGFwdGVyLAotICAgIF9faW4gX19u
dWxsdGVybWluYXRlZCBQQ0hBUiAgRGV2aWNlSWQsCi0gICAgT1VUIFBYRU5WQkRfVEFSR0VUKiAg
ICAgICAgIF9UYXJnZXQKKyAgICBJTiAgUFhFTlZCRF9BREFQVEVSIEFkYXB0ZXIsCisgICAgSU4g
IFBBTlNJX1NUUklORyAgICBEZXZpY2UsCisgICAgT1VUIFBYRU5WQkRfVEFSR0VUKiBfVGFyZ2V0
CiAgICAgKQogewotICAgIE5UU1RBVFVTICAgIFN0YXR1czsKLSAgICBQWEVOVkJEX1RBUkdFVCBU
YXJnZXQ7Ci0gICAgVUxPTkcgICAgICAgICAgIFRhcmdldElkOworICAgIFBYRU5WQkRfVEFSR0VU
ICAgICAgVGFyZ2V0OworICAgIFVMT05HICAgICAgICAgICAgICAgRGV2aWNlSWQ7CisgICAgVUxP
TkcgICAgICAgICAgICAgICBUYXJnZXRJZDsKKyAgICBVTE9ORyAgICAgICAgICAgICAgIFNpemU7
CisgICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7CiAKKyAgICBEZXZpY2VJZCA9IHN0cnRv
dWwoRGV2aWNlLT5CdWZmZXIsIE5VTEwsIDEwKTsKICAgICBUYXJnZXRJZCA9IF9fUGFyc2VWYmQo
RGV2aWNlSWQpOwogICAgIGlmIChUYXJnZXRJZCA+PSBYRU5WQkRfTUFYX1RBUkdFVFMpCiAgICAg
ICAgIHJldHVybiBTVEFUVVNfUkVUUlk7Ci0KICAgICBpZiAoQWRhcHRlcklzVGFyZ2V0RW11bGF0
ZWQoQWRhcHRlciwgVGFyZ2V0SWQpKQogICAgICAgICByZXR1cm4gU1RBVFVTX1JFVFJZOwogCi0g
ICAgVHJhY2UoIlRhcmdldFslZF0gQCAoJWQpID09PT09PlxuIiwgVGFyZ2V0SWQsIEtlR2V0Q3Vy
cmVudElycWwoKSk7CisgICAgVmVyYm9zZSgiWyV1XSA9PT09PT4gJXNcbiIsIFRhcmdldElkLCBE
ZXZpY2UtPkJ1ZmZlcik7CiAKLSAgICBTdGF0dXMgPSBTVEFUVVNfSU5TVUZGSUNJRU5UX1JFU09V
UkNFUzsKLSNwcmFnbWEgd2FybmluZyhzdXBwcmVzczogNjAxNCkKLSAgICBUYXJnZXQgPSBfX1Rh
cmdldEFsbG9jKHNpemVvZihYRU5WQkRfVEFSR0VUKSk7Ci0gICAgaWYgKCFUYXJnZXQpCisgICAg
c3RhdHVzID0gU1RBVFVTX05PX01FTU9SWTsgCisgICAgVGFyZ2V0ID0gX19UYXJnZXRBbGxvY2F0
ZShzaXplb2YoWEVOVkJEX1RBUkdFVCkpOworICAgIGlmIChUYXJnZXQgPT0gTlVMTCkKICAgICAg
ICAgZ290byBmYWlsMTsKIAotICAgIFZlcmJvc2UoIlRhcmdldFslZF0gOiBDcmVhdGluZ1xuIiwg
VGFyZ2V0SWQpOwotICAgIFRhcmdldC0+U2lnbmF0dXJlICAgICAgPSBUQVJHRVRfU0lHTkFUVVJF
OwotICAgIFRhcmdldC0+QWRhcHRlciAgICAgICAgICAgID0gQWRhcHRlcjsKLSAgICBUYXJnZXQt
PkRldmljZU9iamVjdCAgID0gTlVMTDsgLy8gZmlsbGVkIGluIGxhdGVyCi0gICAgVGFyZ2V0LT5Q
YXVzZWQgICAgICAgICA9IDE7IC8vIFBhdXNlZCB1bnRpbCBEMy0+RDAgdHJhbnNpdGlvbgotICAg
IFRhcmdldC0+RGV2aWNlUG5wU3RhdGUgPSBQcmVzZW50OworICAgIFRhcmdldC0+QWRhcHRlciAg
ICAgICAgID0gQWRhcHRlcjsKKyAgICBUYXJnZXQtPkRldmljZU9iamVjdCAgICA9IE5VTEw7IC8v
IGZpbGxlZCBpbiBsYXRlcgorICAgIFRhcmdldC0+RGV2aWNlUG5wU3RhdGUgID0gUHJlc2VudDsK
ICAgICBUYXJnZXQtPkRldmljZVBvd2VyU3RhdGUgPSBQb3dlckRldmljZUQzOwotCi0gICAgS2VJ
bml0aWFsaXplU3BpbkxvY2soJlRhcmdldC0+TG9jayk7Ci0gICAgUXVldWVJbml0KCZUYXJnZXQt
PkZyZXNoU3Jicyk7Ci0gICAgUXVldWVJbml0KCZUYXJnZXQtPlByZXBhcmVkUmVxcyk7Ci0gICAg
UXVldWVJbml0KCZUYXJnZXQtPlN1Ym1pdHRlZFJlcXMpOwotICAgIFF1ZXVlSW5pdCgmVGFyZ2V0
LT5TaHV0ZG93blNyYnMpOwotICAgIF9fTG9va2FzaWRlSW5pdCgmVGFyZ2V0LT5SZXF1ZXN0TGlz
dCwgc2l6ZW9mKFhFTlZCRF9SRVFVRVNUKSwgUkVRVUVTVF9QT09MX1RBRyk7Ci0gICAgX19Mb29r
YXNpZGVJbml0KCZUYXJnZXQtPlNlZ21lbnRMaXN0LCBzaXplb2YoWEVOVkJEX1NFR01FTlQpLCBT
RUdNRU5UX1BPT0xfVEFHKTsKLSAgICBfX0xvb2thc2lkZUluaXQoJlRhcmdldC0+SW5kaXJlY3RM
aXN0LCBzaXplb2YoWEVOVkJEX0lORElSRUNUKSwgSU5ESVJFQ1RfUE9PTF9UQUcpOwotCi0gICAg
U3RhdHVzID0gRnJvbnRlbmRDcmVhdGUoVGFyZ2V0LCBEZXZpY2VJZCwgVGFyZ2V0SWQsICZUYXJn
ZXQtPkZyb250ZW5kKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKKyAgICBUYXJnZXQt
PkRldmljZUlkICAgICAgICA9IERldmljZUlkOworICAgIFRhcmdldC0+VGFyZ2V0SWQgICAgICAg
ID0gVGFyZ2V0SWQ7CisgICAgVGFyZ2V0LT5TdGF0ZSAgICAgICAgICAgPSBYRU5WQkRfSU5JVElB
TElaRUQ7CisgICAgVGFyZ2V0LT5CYWNrZW5kSWQgICAgICAgPSBET01JRF9JTlZBTElEOworICAg
IEtlSW5pdGlhbGl6ZVNwaW5Mb2NrKCZUYXJnZXQtPlN0YXRlTG9jayk7CisgICAgS2VJbml0aWFs
aXplU3BpbkxvY2soJlRhcmdldC0+UXVldWVMb2NrKTsKKworICAgIEFkYXB0ZXJHZXREZWJ1Z0lu
dGVyZmFjZShBZGFwdGVyLCAmVGFyZ2V0LT5EZWJ1Z0ludGVyZmFjZSk7CisgICAgQWRhcHRlckdl
dFN0b3JlSW50ZXJmYWNlKEFkYXB0ZXIsICZUYXJnZXQtPlN0b3JlSW50ZXJmYWNlKTsKKyAgICBB
ZGFwdGVyR2V0U3VzcGVuZEludGVyZmFjZShBZGFwdGVyLCAmVGFyZ2V0LT5TdXNwZW5kSW50ZXJm
YWNlKTsKKworICAgIHN0YXR1cyA9IFNUQVRVU19OT19NRU1PUlk7CisgICAgU2l6ZSA9IHNpemVv
ZigiZGV2aWNlL3ZiZC8iKSArIERldmljZS0+TGVuZ3RoICsgMTsKKyAgICBUYXJnZXQtPlBhdGgg
PSBfX1RhcmdldEFsbG9jYXRlKFNpemUpOworICAgIGlmIChUYXJnZXQtPlBhdGggPT0gTlVMTCkK
ICAgICAgICAgZ290byBmYWlsMjsKIAotICAgIFN0YXR1cyA9IFRhcmdldEQzVG9EMChUYXJnZXQp
OwotICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQorICAgIHN0YXR1cyA9IFJ0bFN0cmluZ0Ni
UHJpbnRmQShUYXJnZXQtPlBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNp
emUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZXZpY2UvdmJkLyVzIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlLT5CdWZmZXIpOworICAgIGlmICgh
TlRfU1VDQ0VTUyhzdGF0dXMpKQogICAgICAgICBnb3RvIGZhaWwzOwogCi0gICAgKl9UYXJnZXQg
PSBUYXJnZXQ7CisgICAgc3RhdHVzID0gU1RBVFVTX05PX01FTU9SWTsKKyAgICBTaXplID0gc2l6
ZW9mKCJkYXRhL3Njc2kvdGFyZ2V0L1hYWFgiKSArIDE7CisgICAgVGFyZ2V0LT5UYXJnZXRQYXRo
ID0gX19UYXJnZXRBbGxvY2F0ZShTaXplKTsKKyAgICBpZiAoVGFyZ2V0LT5UYXJnZXRQYXRoID09
IE5VTEwpCisgICAgICAgIGdvdG8gZmFpbDQ7CiAKLSAgICBWZXJib3NlKCJUYXJnZXRbJWRdIDog
Q3JlYXRlZCAoJXMpXG4iLCBUYXJnZXRJZCwgVGFyZ2V0KTsKLSAgICBUcmFjZSgiVGFyZ2V0WyVk
XSBAICglZCkgPD09PT09XG4iLCBUYXJnZXRJZCwgS2VHZXRDdXJyZW50SXJxbCgpKTsKKyAgICBz
dGF0dXMgPSBSdGxTdHJpbmdDYlByaW50ZkEoVGFyZ2V0LT5UYXJnZXRQYXRoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZGF0YS9zY3NpL3RhcmdldC8ldSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFRhcmdldElkKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290
byBmYWlsNTsKKworICAgIHN0YXR1cyA9IEdyYW50ZXJDcmVhdGUoVGFyZ2V0LCAmVGFyZ2V0LT5H
cmFudGVyKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBmYWls
NjsKKworICAgIHN0YXR1cyA9IEJsb2NrUmluZ0NyZWF0ZShUYXJnZXQsICZUYXJnZXQtPkJsb2Nr
UmluZyk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDc7
CisKKyAgICBzdGF0dXMgPSBUaHJlYWRDcmVhdGUoVGFyZ2V0QmFja2VuZFRocmVhZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAm
VGFyZ2V0LT5CYWNrZW5kVGhyZWFkKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAg
ICAgICAgZ290byBmYWlsODsKKworICAgIEluaXRpYWxpemVMaXN0SGVhZCgmVGFyZ2V0LT5GcmVz
aCk7CisgICAgSW5pdGlhbGl6ZUxpc3RIZWFkKCZUYXJnZXQtPlByZXBhcmVkKTsKKyAgICBJbml0
aWFsaXplTGlzdEhlYWQoJlRhcmdldC0+U3VibWl0dGVkKTsKKyAgICBJbml0aWFsaXplTGlzdEhl
YWQoJlRhcmdldC0+U2h1dGRvd24pOworCisgICAgRXhJbml0aWFsaXplTlBhZ2VkTG9va2FzaWRl
TGlzdCgmVGFyZ2V0LT5SZXF1ZXN0TGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNpemVvZihYRU5WQkRfUkVRVUVTVCksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBSRVFVRVNUX1BPT0xfVEFHLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMCk7CisgICAgRXhJbml0aWFsaXplTlBhZ2VkTG9va2FzaWRl
TGlzdCgmVGFyZ2V0LT5TZWdtZW50TGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNpemVvZihYRU5WQkRfU0VHTUVOVCksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBTRUdNRU5UX1BPT0xfVEFHLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMCk7CisgICAgRXhJbml0aWFsaXplTlBhZ2VkTG9va2FzaWRl
TGlzdCgmVGFyZ2V0LT5JbmRpcmVjdExpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzaXplb2YoWEVOVkJEX0lORElSRUNUKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIElORElSRUNUX1BPT0xfVEFHLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMCk7CisKKyAgICBzdGF0dXMgPSBUYXJnZXREM1RvRDAo
VGFyZ2V0KTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBmYWls
OTsKKworICAgIFZlcmJvc2UoIlsldV0gPD09PT09XG4iLCBUYXJnZXRJZCk7CisgICAgKl9UYXJn
ZXQgPSBUYXJnZXQ7CiAgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwogCitmYWlsOToKKyAgICBF
cnJvcigiZmFpbDlcbiIpOworCisgICAgRXhEZWxldGVOUGFnZWRMb29rYXNpZGVMaXN0KCZUYXJn
ZXQtPlJlcXVlc3RMaXN0KTsKKyAgICBFeERlbGV0ZU5QYWdlZExvb2thc2lkZUxpc3QoJlRhcmdl
dC0+U2VnbWVudExpc3QpOworICAgIEV4RGVsZXRlTlBhZ2VkTG9va2FzaWRlTGlzdCgmVGFyZ2V0
LT5JbmRpcmVjdExpc3QpOworCisgICAgUnRsWmVyb01lbW9yeSgmVGFyZ2V0LT5GcmVzaCwgc2l6
ZW9mKExJU1RfRU5UUlkpKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZUYXJnZXQtPlByZXBhcmVkLCBz
aXplb2YoTElTVF9FTlRSWSkpOworICAgIFJ0bFplcm9NZW1vcnkoJlRhcmdldC0+U3VibWl0dGVk
LCBzaXplb2YoTElTVF9FTlRSWSkpOworICAgIFJ0bFplcm9NZW1vcnkoJlRhcmdldC0+U2h1dGRv
d24sIHNpemVvZihMSVNUX0VOVFJZKSk7CisKKyAgICBUaHJlYWRBbGVydChUYXJnZXQtPkJhY2tl
bmRUaHJlYWQpOworICAgIFRocmVhZEpvaW4oVGFyZ2V0LT5CYWNrZW5kVGhyZWFkKTsKKyAgICBU
YXJnZXQtPkJhY2tlbmRUaHJlYWQgPSBOVUxMOworZmFpbDg6CisgICAgRXJyb3IoImZhaWw4XG4i
KTsKKyAgICBCbG9ja1JpbmdEZXN0cm95KFRhcmdldC0+QmxvY2tSaW5nKTsKKyAgICBUYXJnZXQt
PkJsb2NrUmluZyA9IE5VTEw7CitmYWlsNzoKKyAgICBFcnJvcigiZmFpbDdcbiIpOworICAgIEdy
YW50ZXJEZXN0cm95KFRhcmdldC0+R3JhbnRlcik7CisgICAgVGFyZ2V0LT5HcmFudGVyID0gTlVM
TDsKK2ZhaWw2OgorICAgIEVycm9yKCJmYWlsNlxuIik7CitmYWlsNToKKyAgICBFcnJvcigiZmFp
bDVcbiIpOworICAgIF9fVGFyZ2V0RnJlZShUYXJnZXQtPlRhcmdldFBhdGgpOworICAgIFRhcmdl
dC0+VGFyZ2V0UGF0aCA9IE5VTEw7CitmYWlsNDoKKyAgICBFcnJvcigiZmFpbDRcbiIpOwogZmFp
bDM6Ci0gICAgRXJyb3IoIkZhaWwzXG4iKTsKLSAgICBGcm9udGVuZERlc3Ryb3koVGFyZ2V0LT5G
cm9udGVuZCk7Ci0gICAgVGFyZ2V0LT5Gcm9udGVuZCA9IE5VTEw7Ci0KKyAgICBFcnJvcigiZmFp
bDNcbiIpOworICAgIF9fVGFyZ2V0RnJlZShUYXJnZXQtPlBhdGgpOworICAgIFRhcmdldC0+UGF0
aCA9IE5VTEw7CiBmYWlsMjoKLSAgICBFcnJvcigiRmFpbDJcbiIpOwotICAgIF9fTG9va2FzaWRl
VGVybSgmVGFyZ2V0LT5JbmRpcmVjdExpc3QpOwotICAgIF9fTG9va2FzaWRlVGVybSgmVGFyZ2V0
LT5TZWdtZW50TGlzdCk7Ci0gICAgX19Mb29rYXNpZGVUZXJtKCZUYXJnZXQtPlJlcXVlc3RMaXN0
KTsKKyAgICBFcnJvcigiZmFpbDJcbiIpOworICAgIFJ0bFplcm9NZW1vcnkoJlRhcmdldC0+RGVi
dWdJbnRlcmZhY2UsIHNpemVvZihYRU5CVVNfREVCVUdfSU5URVJGQUNFKSk7CisgICAgUnRsWmVy
b01lbW9yeSgmVGFyZ2V0LT5TdG9yZUludGVyZmFjZSwgc2l6ZW9mKFhFTkJVU19TVE9SRV9JTlRF
UkZBQ0UpKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZUYXJnZXQtPlN1c3BlbmRJbnRlcmZhY2UsIHNp
emVvZihYRU5CVVNfU1VTUEVORF9JTlRFUkZBQ0UpKTsKKworICAgIFRhcmdldC0+QWRhcHRlciAg
ICAgICAgID0gTlVMTDsKKyAgICBUYXJnZXQtPkRldmljZU9iamVjdCAgICA9IE5VTEw7IC8vIGZp
bGxlZCBpbiBsYXRlcgorICAgIFRhcmdldC0+RGV2aWNlUG5wU3RhdGUgID0gMDsKKyAgICBUYXJn
ZXQtPkRldmljZVBvd2VyU3RhdGUgPSAwOworICAgIFRhcmdldC0+RGV2aWNlSWQgICAgICAgID0g
MDsKKyAgICBUYXJnZXQtPlRhcmdldElkICAgICAgICA9IDA7CisgICAgVGFyZ2V0LT5TdGF0ZSAg
ICAgICAgICAgPSAwOworICAgIFRhcmdldC0+QmFja2VuZElkICAgICAgID0gMDsKKyAgICBSdGxa
ZXJvTWVtb3J5KCZUYXJnZXQtPlF1ZXVlTG9jaywgc2l6ZW9mKEtTUElOX0xPQ0spKTsKKyAgICBS
dGxaZXJvTWVtb3J5KCZUYXJnZXQtPlN0YXRlTG9jaywgc2l6ZW9mKEtTUElOX0xPQ0spKTsKKwor
ICAgIEFTU0VSVChJc1plcm9NZW1vcnkoVGFyZ2V0LCBzaXplb2YoWEVOVkJEX1RBUkdFVCkpKTsK
ICAgICBfX1RhcmdldEZyZWUoVGFyZ2V0KTsKLQogZmFpbDE6Ci0gICAgRXJyb3IoIkZhaWwxICgl
MDh4KVxuIiwgU3RhdHVzKTsKLSAgICByZXR1cm4gU3RhdHVzOworICAgIEVycm9yKCJmYWlsMSAl
MDh4XG4iLCBzdGF0dXMpOworICAgIHJldHVybiBzdGF0dXM7CiB9CiAKIFZPSUQKIFRhcmdldERl
c3Ryb3koCi0gICAgX19pbiBQWEVOVkJEX1RBUkdFVCAgICBUYXJnZXQKKyAgICBJTiAgUFhFTlZC
RF9UQVJHRVQgIFRhcmdldAogICAgICkKIHsKLSAgICBjb25zdCBVTE9ORyAgICAgICAgIFRhcmdl
dElkID0gVGFyZ2V0R2V0VGFyZ2V0SWQoVGFyZ2V0KTsKLSAgICBQVk9JRCAgICAgICAgICAgICAg
IE9iamVjdHNbM107Ci0gICAgUEtXQUlUX0JMT0NLICAgICAgICBXYWl0QmxvY2s7CisgICAgQVNT
RVJUKElzTGlzdEVtcHR5KCZUYXJnZXQtPkZyZXNoKSk7CisgICAgQVNTRVJUKElzTGlzdEVtcHR5
KCZUYXJnZXQtPlByZXBhcmVkKSk7CisgICAgQVNTRVJUKElzTGlzdEVtcHR5KCZUYXJnZXQtPlN1
Ym1pdHRlZCkpOworICAgIEFTU0VSVChJc0xpc3RFbXB0eSgmVGFyZ2V0LT5TaHV0ZG93bikpOwog
Ci0gICAgVHJhY2UoIlRhcmdldFslZF0gQCAoJWQpID09PT09PlxuIiwgVGFyZ2V0SWQsIEtlR2V0
Q3VycmVudElycWwoKSk7Ci0gICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6IERlc3Ryb3lpbmdcbiIs
IFRhcmdldElkKTsKKyAgICBFeERlbGV0ZU5QYWdlZExvb2thc2lkZUxpc3QoJlRhcmdldC0+UmVx
dWVzdExpc3QpOworICAgIEV4RGVsZXRlTlBhZ2VkTG9va2FzaWRlTGlzdCgmVGFyZ2V0LT5TZWdt
ZW50TGlzdCk7CisgICAgRXhEZWxldGVOUGFnZWRMb29rYXNpZGVMaXN0KCZUYXJnZXQtPkluZGly
ZWN0TGlzdCk7CiAKLSAgICBBU1NFUlQzVShUYXJnZXQtPlNpZ25hdHVyZSwgPT0sIFRBUkdFVF9T
SUdOQVRVUkUpOworICAgIFJ0bFplcm9NZW1vcnkoJlRhcmdldC0+RnJlc2gsIHNpemVvZihMSVNU
X0VOVFJZKSk7CisgICAgUnRsWmVyb01lbW9yeSgmVGFyZ2V0LT5QcmVwYXJlZCwgc2l6ZW9mKExJ
U1RfRU5UUlkpKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZUYXJnZXQtPlN1Ym1pdHRlZCwgc2l6ZW9m
KExJU1RfRU5UUlkpKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZUYXJnZXQtPlNodXRkb3duLCBzaXpl
b2YoTElTVF9FTlRSWSkpOwogCi0gICAgVGFyZ2V0RDBUb0QzKFRhcmdldCk7CisgICAgVGhyZWFk
QWxlcnQoVGFyZ2V0LT5CYWNrZW5kVGhyZWFkKTsKKyAgICBUaHJlYWRKb2luKFRhcmdldC0+QmFj
a2VuZFRocmVhZCk7CisgICAgVGFyZ2V0LT5CYWNrZW5kVGhyZWFkID0gTlVMTDsKIAotICAgIFZl
cmJvc2UoIlRhcmdldFslZF0gOiBSZXF1ZXN0TGlzdFVzZWQgJWRcbiIsIFRhcmdldElkLCBUYXJn
ZXQtPlJlcXVlc3RMaXN0LlVzZWQpOwotICAgIE9iamVjdHNbMF0gPSAmVGFyZ2V0LT5SZXF1ZXN0
TGlzdC5FbXB0eTsKLSAgICBPYmplY3RzWzFdID0gJlRhcmdldC0+U2VnbWVudExpc3QuRW1wdHk7
Ci0gICAgT2JqZWN0c1syXSA9ICZUYXJnZXQtPkluZGlyZWN0TGlzdC5FbXB0eTsKKyAgICBCbG9j
a1JpbmdEZXN0cm95KFRhcmdldC0+QmxvY2tSaW5nKTsKKyAgICBUYXJnZXQtPkJsb2NrUmluZyA9
IE5VTEw7CiAKLSAgICBXYWl0QmxvY2sgPSAoUEtXQUlUX0JMT0NLKV9fVGFyZ2V0QWxsb2Moc2l6
ZW9mKEtXQUlUX0JMT0NLKSAqIEFSUkFZU0laRShPYmplY3RzKSk7Ci0gICAgaWYgKFdhaXRCbG9j
ayA9PSBOVUxMKSB7Ci0gICAgICAgIFVMT05HICAgSW5kZXg7CisgICAgR3JhbnRlckRlc3Ryb3ko
VGFyZ2V0LT5HcmFudGVyKTsKKyAgICBUYXJnZXQtPkdyYW50ZXIgPSBOVUxMOwogCi0gICAgICAg
IEVycm9yKCJVbmFibGUgdG8gYWxsb2NhdGUgcmVzb3VyY2VzIGZvciBLV0FJVF9CTE9DS1xuIik7
CisgICAgX19UYXJnZXRGcmVlKFRhcmdldC0+QmFja2VuZFBhdGgpOworICAgIFRhcmdldC0+QmFj
a2VuZFBhdGggPSBOVUxMOwogCi0gICAgICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IEFSUkFZ
U0laRShPYmplY3RzKTsgSW5kZXgrKykKLSAgICAgICAgICAgIEtlV2FpdEZvclNpbmdsZU9iamVj
dChPYmplY3RzW0luZGV4XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeGVj
dXRpdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2VybmVsTW9kZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBOVUxMKTsKLSAgICB9IGVsc2UgewotICAgICAgICBLZVdhaXRGb3JN
dWx0aXBsZU9iamVjdHMoQVJSQVlTSVpFKE9iamVjdHMpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgT2JqZWN0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdh
aXRBbGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeGVjdXRpdmUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLZXJuZWxNb2RlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRkFMU0UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2FpdEJsb2NrKTsKLSNw
cmFnbWEgcHJlZmFzdChzdXBwcmVzczo2MTAyKQotICAgICAgICBfX1RhcmdldEZyZWUoV2FpdEJs
b2NrKTsKLSAgICB9CisgICAgX19UYXJnZXRGcmVlKFRhcmdldC0+VGFyZ2V0UGF0aCk7CisgICAg
VGFyZ2V0LT5UYXJnZXRQYXRoID0gTlVMTDsKIAotICAgIEFTU0VSVDNVKFRhcmdldEdldERldmlj
ZVBucFN0YXRlKFRhcmdldCksID09LCBEZWxldGVkKTsKKyAgICBfX1RhcmdldEZyZWUoVGFyZ2V0
LT5QYXRoKTsKKyAgICBUYXJnZXQtPlBhdGggPSBOVUxMOwogCi0gICAgRnJvbnRlbmREZXN0cm95
KFRhcmdldC0+RnJvbnRlbmQpOwotICAgIFRhcmdldC0+RnJvbnRlbmQgPSBOVUxMOworICAgIFJ0
bFplcm9NZW1vcnkoJlRhcmdldC0+RGVidWdJbnRlcmZhY2UsIHNpemVvZihYRU5CVVNfREVCVUdf
SU5URVJGQUNFKSk7CisgICAgUnRsWmVyb01lbW9yeSgmVGFyZ2V0LT5TdG9yZUludGVyZmFjZSwg
c2l6ZW9mKFhFTkJVU19TVE9SRV9JTlRFUkZBQ0UpKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZUYXJn
ZXQtPlN1c3BlbmRJbnRlcmZhY2UsIHNpemVvZihYRU5CVVNfU1VTUEVORF9JTlRFUkZBQ0UpKTsK
IAotICAgIF9fTG9va2FzaWRlVGVybSgmVGFyZ2V0LT5JbmRpcmVjdExpc3QpOwotICAgIF9fTG9v
a2FzaWRlVGVybSgmVGFyZ2V0LT5TZWdtZW50TGlzdCk7Ci0gICAgX19Mb29rYXNpZGVUZXJtKCZU
YXJnZXQtPlJlcXVlc3RMaXN0KTsKKyAgICBUYXJnZXQtPkFkYXB0ZXIgICAgICAgICA9IE5VTEw7
CisgICAgVGFyZ2V0LT5EZXZpY2VPYmplY3QgICAgPSBOVUxMOyAvLyBmaWxsZWQgaW4gbGF0ZXIK
KyAgICBUYXJnZXQtPkRldmljZVBucFN0YXRlICA9IDA7CisgICAgVGFyZ2V0LT5EZXZpY2VQb3dl
clN0YXRlID0gMDsKKyAgICBUYXJnZXQtPkRldmljZUlkICAgICAgICA9IDA7CisgICAgVGFyZ2V0
LT5UYXJnZXRJZCAgICAgICAgPSAwOworICAgIFRhcmdldC0+U3RhdGUgICAgICAgICAgID0gMDsK
KyAgICBUYXJnZXQtPkJhY2tlbmRJZCAgICAgICA9IDA7CisgICAgUnRsWmVyb01lbW9yeSgmVGFy
Z2V0LT5RdWV1ZUxvY2ssIHNpemVvZihLU1BJTl9MT0NLKSk7CisgICAgUnRsWmVyb01lbW9yeSgm
VGFyZ2V0LT5TdGF0ZUxvY2ssIHNpemVvZihLU1BJTl9MT0NLKSk7CiAKLSAgICBBU1NFUlQzVShU
YXJnZXQtPlNpZ25hdHVyZSwgPT0sIFRBUkdFVF9TSUdOQVRVUkUpOwotICAgIFJ0bFplcm9NZW1v
cnkoVGFyZ2V0LCBzaXplb2YoWEVOVkJEX1RBUkdFVCkpOworICAgIEFTU0VSVChJc1plcm9NZW1v
cnkoVGFyZ2V0LCBzaXplb2YoWEVOVkJEX1RBUkdFVCkpKTsKICAgICBfX1RhcmdldEZyZWUoVGFy
Z2V0KTsKLQotICAgIFZlcmJvc2UoIlRhcmdldFslZF0gOiBEZXN0cm95ZWRcbiIsIFRhcmdldElk
KTsKLSAgICBUcmFjZSgiVGFyZ2V0WyVkXSBAICglZCkgPD09PT09XG4iLCBUYXJnZXRJZCwgS2VH
ZXRDdXJyZW50SXJxbCgpKTsKIH0KZGlmZiAtLWdpdCBhL3NyYy94ZW52YmQvdGFyZ2V0LmggYi9z
cmMveGVudmJkL3RhcmdldC5oCmluZGV4IDg2ZjU3ZmQuLjQzNjYwZGQgMTAwNjQ0Ci0tLSBhL3Ny
Yy94ZW52YmQvdGFyZ2V0LmgKKysrIGIvc3JjL3hlbnZiZC90YXJnZXQuaApAQCAtMzYsMTk3ICsz
NiwxMTcgQEAKIAogdHlwZWRlZiBzdHJ1Y3QgX1hFTlZCRF9UQVJHRVQgWEVOVkJEX1RBUkdFVCwg
KlBYRU5WQkRfVEFSR0VUOwogCi0jaW5jbHVkZSAiYWRhcHRlci5oIgotI2luY2x1ZGUgInNyYmV4
dC5oIgogI2luY2x1ZGUgInR5cGVzLmgiCi0jaW5jbHVkZSA8ZGVidWdfaW50ZXJmYWNlLmg+Ci0K
LWV4dGVybiBWT0lECi1UYXJnZXREZWJ1Z0NhbGxiYWNrKAotICAgIF9faW4gUFhFTlZCRF9UQVJH
RVQgICAgICAgICAgICAgVGFyZ2V0LAotICAgIF9faW4gUFhFTkJVU19ERUJVR19JTlRFUkZBQ0Ug
RGVidWcKLSAgICApOwotCi0vLyBDcmVhdGlvbi9EZWxldGlvbgotX19jaGVja1JldHVybgotZXh0
ZXJuIE5UU1RBVFVTCi1UYXJnZXRDcmVhdGUoCi0gICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAg
ICAgICAgICAgQWRhcHRlciwKLSAgICBfX2luIF9fbnVsbHRlcm1pbmF0ZWQgUENIQVIgIERldmlj
ZUlkLAotICAgIE9VVCBQWEVOVkJEX1RBUkdFVCogICAgICAgICBfVGFyZ2V0Ci0gICAgKTsKLQot
ZXh0ZXJuIFZPSUQKLVRhcmdldERlc3Ryb3koCi0gICAgX19pbiBQWEVOVkJEX1RBUkdFVCAgICAg
ICAgICAgICBUYXJnZXQKLSAgICApOwotCi1fX2NoZWNrUmV0dXJuCi1leHRlcm4gTlRTVEFUVVMK
LVRhcmdldEQzVG9EMCgKLSAgICBfX2luIFBYRU5WQkRfVEFSR0VUICAgICAgICAgICAgIFRhcmdl
dAotICAgICk7Ci0KLWV4dGVybiBWT0lECi1UYXJnZXREMFRvRDMoCi0gICAgX19pbiBQWEVOVkJE
X1RBUkdFVCAgICAgICAgICAgICBUYXJnZXQKLSAgICApOwotCi0vLyBQblAgU3RhdGVzCi1leHRl
cm4gVk9JRAotVGFyZ2V0U2V0TWlzc2luZygKLSAgICBfX2luIFBYRU5WQkRfVEFSR0VUICAgICAg
ICAgICAgIFRhcmdldCwKLSAgICBfX2luIF9fbnVsbHRlcm1pbmF0ZWQgY29uc3QgQ0hBUiogUmVh
c29uCi0gICAgKTsKKyNpbmNsdWRlICJzcmJleHQuaCIKKyNpbmNsdWRlICJhZGFwdGVyLmgiCisj
aW5jbHVkZSAiZ3JhbnRlci5oIgogCi1fX2NoZWNrUmV0dXJuCi1leHRlcm4gQk9PTEVBTgotVGFy
Z2V0SXNNaXNzaW5nKAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0
CisjZGVmaW5lIFRBUkdFVF9HRVRfUFJPUEVSVFkoX25hbWUsIF90eXBlKSAgICAgICBcCitleHRl
cm4gX3R5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCitUYXJnZXRHZXQg
IyMgX25hbWUgIyMgKCAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgSU4gIFBYRU5WQkRf
VEFSR0VUICBUYXJnZXQgICAgICAgICAgICAgICAgICBcCiAgICAgKTsKIAotZXh0ZXJuIGNvbnN0
IENIQVIqCi1UYXJnZXRNaXNzaW5nUmVhc29uKAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAg
ICAgICAgICBUYXJnZXQKLSAgICApOworVEFSR0VUX0dFVF9QUk9QRVJUWShEZXZpY2VJZCwgVUxP
TkcpCitUQVJHRVRfR0VUX1BST1BFUlRZKFRhcmdldElkLCBVTE9ORykKK1RBUkdFVF9HRVRfUFJP
UEVSVFkoRGV2aWNlT2JqZWN0LCBQREVWSUNFX09CSkVDVCkKK1RBUkdFVF9HRVRfUFJPUEVSVFko
TWlzc2luZywgQk9PTEVBTikKK1RBUkdFVF9HRVRfUFJPUEVSVFkoRGV2aWNlUG5wU3RhdGUsIERF
VklDRV9QTlBfU1RBVEUpCitUQVJHRVRfR0VUX1BST1BFUlRZKEFkYXB0ZXIsIFBYRU5WQkRfQURB
UFRFUikKK1RBUkdFVF9HRVRfUFJPUEVSVFkoR3JhbnRlciwgUFhFTlZCRF9HUkFOVEVSKQorVEFS
R0VUX0dFVF9QUk9QRVJUWShQYXRoLCBQQ0hBUikKK1RBUkdFVF9HRVRfUFJPUEVSVFkoQmFja2Vu
ZFBhdGgsIFBDSEFSKQorVEFSR0VUX0dFVF9QUk9QRVJUWShCYWNrZW5kSWQsIFVTSE9SVCkKK1RB
UkdFVF9HRVRfUFJPUEVSVFkoUmVtb3ZhYmxlLCBCT09MRUFOKQogCi1fX2NoZWNrUmV0dXJuCi1l
eHRlcm4gQk9PTEVBTgotVGFyZ2V0SXNFbXVsYXRlZFVucGx1Z2dlZCgKLSAgICBfX2luIFBYRU5W
QkRfVEFSR0VUICAgICAgICAgICAgIFRhcmdldAotICAgICk7CisjdW5kZWYgVEFSR0VUX0dFVF9Q
Uk9QRVJUWQogCiBleHRlcm4gVk9JRAogVGFyZ2V0U2V0RGV2aWNlUG5wU3RhdGUoCi0gICAgX19p
biBQWEVOVkJEX1RBUkdFVCAgICAgICAgICAgICBUYXJnZXQsCi0gICAgX19pbiBERVZJQ0VfUE5Q
X1NUQVRFICAgICAgICBTdGF0ZQotICAgICk7Ci0KLV9fY2hlY2tSZXR1cm4KLWV4dGVybiBERVZJ
Q0VfUE5QX1NUQVRFCi1UYXJnZXRHZXREZXZpY2VQbnBTdGF0ZSgKLSAgICBfX2luIFBYRU5WQkRf
VEFSR0VUICAgICAgICAgICAgIFRhcmdldAotICAgICk7Ci0KLS8vIFF1ZXJ5IE1ldGhvZHMKLWV4
dGVybiBVTE9ORwotVGFyZ2V0R2V0VGFyZ2V0SWQoCi0gICAgX19pbiBQWEVOVkJEX1RBUkdFVCAg
ICAgICAgICAgICBUYXJnZXQKLSAgICApOwotCi1leHRlcm4gVUxPTkcKLVRhcmdldEdldERldmlj
ZUlkKAotICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0Ci0gICAgKTsK
LQotX19jaGVja1JldHVybgotZXh0ZXJuIFBERVZJQ0VfT0JKRUNUCi1UYXJnZXRHZXREZXZpY2VP
YmplY3QoCi0gICAgX19pbiBQWEVOVkJEX1RBUkdFVCAgICAgICAgICAgICBUYXJnZXQKKyAgICBJ
TiAgUFhFTlZCRF9UQVJHRVQgICAgICBUYXJnZXQsCisgICAgSU4gIERFVklDRV9QTlBfU1RBVEUg
ICAgU3RhdGUKICAgICApOwogCiBleHRlcm4gVk9JRAogVGFyZ2V0U2V0RGV2aWNlT2JqZWN0KAot
ICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0LAotICAgIF9faW4gUERF
VklDRV9PQkpFQ1QgICAgICAgICAgRGV2aWNlT2JqZWN0Ci0gICAgKTsKLQotX19jaGVja1JldHVy
bgotZXh0ZXJuIEJPT0xFQU4KLVRhcmdldElzUGF1c2VkKAotICAgIF9faW4gUFhFTlZCRF9UQVJH
RVQgICAgICAgICAgICAgVGFyZ2V0Ci0gICAgKTsKLQotX19jaGVja1JldHVybgotZXh0ZXJuIFVM
T05HCi1UYXJnZXRPdXRzdGFuZGluZ1JlcXMoCi0gICAgX19pbiBQWEVOVkJEX1RBUkdFVCAgICAg
ICAgICAgICBUYXJnZXQKKyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldCwKKyAgICBJTiAg
UERFVklDRV9PQkpFQ1QgIERldmljZU9iamVjdAogICAgICk7CiAKLV9fY2hlY2tSZXR1cm4KLWV4
dGVybiBQWEVOVkJEX0FEQVBURVIKLVRhcmdldEdldEFkYXB0ZXIoIAotICAgIF9faW4gUFhFTlZC
RF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0CitleHRlcm4gVk9JRAorVGFyZ2V0U2V0TWlzc2lu
ZygKKyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldCwKKyAgICBJTiAgY29uc3QgQ0hBUiog
ICAgIFJlYXNvbgogICAgICk7CiAKLWV4dGVybiBVTE9ORwotVGFyZ2V0U2VjdG9yU2l6ZSgKLSAg
ICBfX2luIFBYRU5WQkRfVEFSR0VUICAgICAgICAgICAgIFRhcmdldAorZXh0ZXJuIE5UU1RBVFVT
CitUYXJnZXRDcmVhdGUoCisgICAgSU4gIFBYRU5WQkRfQURBUFRFUiBBZGFwdGVyLAorICAgIElO
ICBQQU5TSV9TVFJJTkcgICAgRGV2aWNlLAorICAgIE9VVCBQWEVOVkJEX1RBUkdFVCogX1Rhcmdl
dAogICAgICk7CiAKLS8vIFF1ZXVlLVJlbGF0ZWQKIGV4dGVybiBWT0lECi1UYXJnZXRTdWJtaXRS
ZXF1ZXN0cygKLSAgICBfX2luIFBYRU5WQkRfVEFSR0VUICAgICAgICAgICAgIFRhcmdldAorVGFy
Z2V0RGVzdHJveSgKKyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldAogICAgICk7CiAKLWV4
dGVybiBWT0lECi1UYXJnZXRDb21wbGV0ZVJlc3BvbnNlKAotICAgIF9faW4gUFhFTlZCRF9UQVJH
RVQgICAgICAgICAgICAgVGFyZ2V0LAotICAgIF9faW4gVUxPTkcgICAgICAgICAgICAgICAgICAg
VGFnLAotICAgIF9faW4gU0hPUlQgICAgICAgICAgICAgICAgICAgU3RhdHVzCitleHRlcm4gTlRT
VEFUVVMKK1RhcmdldEQzVG9EMCgKKyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldAogICAg
ICk7CiAKIGV4dGVybiBWT0lECi1UYXJnZXRQcmVSZXN1bWUoCi0gICAgX19pbiBQWEVOVkJEX1RB
UkdFVCAgICAgICAgICAgICBUYXJnZXQKK1RhcmdldEQwVG9EMygKKyAgICBJTiAgUFhFTlZCRF9U
QVJHRVQgIFRhcmdldAogICAgICk7CiAKLWV4dGVybiBWT0lECi1UYXJnZXRQb3N0UmVzdW1lKAot
ICAgIF9faW4gUFhFTlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0CitleHRlcm4gTlRTVEFU
VVMKK1RhcmdldERpc3BhdGNoUG5wKAorICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0LAor
ICAgIElOICBQREVWSUNFX09CSkVDVCAgRGV2aWNlT2JqZWN0LAorICAgIElOICBQSVJQICAgICAg
ICAgICAgSXJwCiAgICAgKTsKIAotLy8gU3RvclBvcnQgTWV0aG9kcwogZXh0ZXJuIFZPSUQKIFRh
cmdldFJlc2V0KAogICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0CiAgICAgKTsKIAogZXh0
ZXJuIFZPSUQKLVRhcmdldFByZXBhcmVTcmIoCitUYXJnZXRGbHVzaCgKICAgICBJTiAgUFhFTlZC
RF9UQVJHRVQgIFRhcmdldCwKICAgICBJTiAgUFhFTlZCRF9TUkJFWFQgIFNyYkV4dAogICAgICk7
CiAKIGV4dGVybiBWT0lECi1UYXJnZXRTdGFydFNyYigKK1RhcmdldFNodXRkb3duKAogICAgIElO
ICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0LAogICAgIElOICBQWEVOVkJEX1NSQkVYVCAgU3JiRXh0
CiAgICAgKTsKIAogZXh0ZXJuIFZPSUQKLVRhcmdldEZsdXNoKAorVGFyZ2V0UHJlcGFyZVNyYigK
ICAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldCwKICAgICBJTiAgUFhFTlZCRF9TUkJFWFQg
IFNyYkV4dAogICAgICk7CiAKIGV4dGVybiBWT0lECi1UYXJnZXRTaHV0ZG93bigKK1RhcmdldFN0
YXJ0U3JiKAogICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0LAogICAgIElOICBQWEVOVkJE
X1NSQkVYVCAgU3JiRXh0CiAgICAgKTsKIAogZXh0ZXJuIFZPSUQKLVRhcmdldFNyYlBucCgKLSAg
ICBfX2luIFBYRU5WQkRfVEFSR0VUICAgICAgICAgICAgIFRhcmdldCwKLSAgICBfX2luIFBTQ1NJ
X1BOUF9SRVFVRVNUX0JMT0NLIFNyYgotICAgICk7Ci0KLS8vIFBuUCBIYW5kbGVyCi1fX2NoZWNr
UmV0dXJuCi1leHRlcm4gTlRTVEFUVVMKLVRhcmdldERpc3BhdGNoUG5wKAotICAgIF9faW4gUFhF
TlZCRF9UQVJHRVQgICAgICAgICAgICAgVGFyZ2V0LAotICAgIF9faW4gUERFVklDRV9PQkpFQ1Qg
ICAgICAgICAgRGV2aWNlT2JqZWN0LAotICAgIF9faW4gUElSUCAgICAgICAgICAgICAgICAgICAg
SXJwCitUYXJnZXRTdWJtaXRSZXF1ZXN0cygKKyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdl
dAogICAgICk7CiAKLV9fZHJ2X21heElSUUwoRElTUEFUQ0hfTEVWRUwpCiBleHRlcm4gVk9JRAot
VGFyZ2V0SXNzdWVEZXZpY2VFamVjdCgKLSAgICBfX2luIFBYRU5WQkRfVEFSR0VUICAgICAgICAg
ICAgIFRhcmdldCwKLSAgICBfX2luIF9fbnVsbHRlcm1pbmF0ZWQgY29uc3QgQ0hBUiogUmVhc29u
CitUYXJnZXRDb21wbGV0ZVJlc3BvbnNlKAorICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0
LAorICAgIElOICBVTE9ORzY0ICAgICAgICAgSWQsCisgICAgSU4gIFNIT1JUICAgICAgICAgICBT
dGF0dXMKICAgICApOwogCiAjZW5kaWYgLy8gX1hFTlZCRF9UQVJHRVRfSApkaWZmIC0tZ2l0IGEv
dnMyMDEyL3hlbnZiZC94ZW52YmQudmN4cHJvaiBiL3ZzMjAxMi94ZW52YmQveGVudmJkLnZjeHBy
b2oKaW5kZXggMDRhZmY3Yy4uOTkzMzEwZCAxMDA2NDQKLS0tIGEvdnMyMDEyL3hlbnZiZC94ZW52
YmQudmN4cHJvagorKysgYi92czIwMTIveGVudmJkL3hlbnZiZC52Y3hwcm9qCkBAIC03NiwxMiAr
NzYsOCBAQAogCQk8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvZHJpdmVyLmMi
IC8+CiAJCTxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9yZWdpc3RyeS5jIiAv
PgogCQk8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvYWRhcHRlci5jIiAvPgot
CQk8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvZnJvbnRlbmQuYyIgLz4KIAkJ
PENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL3RhcmdldC5jIiAvPgotCQk8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvcGRvaW5xdWlyeS5jIiAvPgotCQk8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvcXVldWUuYyIgLz4KIAkJPENsQ29tcGls
ZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL3RocmVhZC5jIiAvPgotCQk8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvbm90aWZpZXIuYyIgLz4KIAkJPENsQ29tcGlsZSBJbmNs
dWRlPSIuLi8uLi9zcmMveGVudmJkL2Jsb2NrcmluZy5jIiAvPgogCQk8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uLy4uL3NyYy94ZW52YmQvZ3JhbnRlci5jIiAvPgogCTwvSXRlbUdyb3VwPgpkaWZmIC0t
Z2l0IGEvdnMyMDEzL3hlbnZiZC94ZW52YmQudmN4cHJvaiBiL3ZzMjAxMy94ZW52YmQveGVudmJk
LnZjeHByb2oKaW5kZXggNGRjNWJiNS4uMTlkNWE0MCAxMDA2NDQKLS0tIGEvdnMyMDEzL3hlbnZi
ZC94ZW52YmQudmN4cHJvagorKysgYi92czIwMTMveGVudmJkL3hlbnZiZC52Y3hwcm9qCkBAIC0x
MDQsMTIgKzEwNCw4IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJk
L2RyaXZlci5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9y
ZWdpc3RyeS5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9h
ZGFwdGVyLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL2Zy
b250ZW5kLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL3Rh
cmdldC5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9wZG9p
bnF1aXJ5LmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL3F1
ZXVlLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL3RocmVh
ZC5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9ub3RpZmll
ci5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9ibG9ja3Jp
bmcuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvZ3JhbnRl
ci5jIiAvPgogICA8L0l0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL3ZzMjAxNS94ZW52YmQveGVudmJk
LnZjeHByb2ogYi92czIwMTUveGVudmJkL3hlbnZiZC52Y3hwcm9qCmluZGV4IDRhZTUxNTkuLmY5
M2VkN2QgMTAwNjQ0Ci0tLSBhL3ZzMjAxNS94ZW52YmQveGVudmJkLnZjeHByb2oKKysrIGIvdnMy
MDE1L3hlbnZiZC94ZW52YmQudmN4cHJvagpAQCAtNjgsMTIgKzY4LDggQEAKICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvZHJpdmVyLmMiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL3JlZ2lzdHJ5LmMiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL2FkYXB0ZXIuYyIgLz4KLSAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvZnJvbnRlbmQuYyIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvdGFyZ2V0LmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL3Bkb2lucXVpcnkuYyIgLz4KLSAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvcXVldWUuYyIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvdGhyZWFkLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLi8uLi9zcmMveGVudmJkL25vdGlmaWVyLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLi8uLi9zcmMveGVudmJkL2Jsb2NrcmluZy5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9ncmFudGVyLmMiIC8+CiAgIDwvSXRlbUdyb3VwPgotLSAK
Mi44LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3
aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby93
aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Mon May 15 13:04:56 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 15 May 2017 13:04: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 1dAFgG-0006zz-Qg; Mon, 15 May 2017 13:04:56 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=301e7c014=owen.smith@citrix.com>)
 id 1dAFgF-0006zn-DE
 for win-pv-devel@lists.xenproject.org; Mon, 15 May 2017 13:04:55 +0000
Received: from [193.109.254.147] by server-10.bemta-6.messagelabs.com id
 40/95-03613-677A9195; Mon, 15 May 2017 13:04:54 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmplkeJIrShJLcpLzFFi42JxWrohUrd0uWS
 kwdQ2S4s/ixMdGD0Of7jCEsAYxZqZl5RfkcCacflzfMGfJZwVe+7NZmpg/LGarYuRk0NCwF9i
 0sTLzCA2m4CsxMeVn8FsEQF1iX2ftzKB2MwCahLX93exgtjCAj4Sf+b3gdWwCKhK/P77hR3E5
 hWwkvh98QA7xEw5icmLLzGC2JwC1hIv3vwEs4WAajb+aGaGsJUkvi1+wQzRKyhxcuYTFohdEh
 IHX7xgnsDIOwtJahaS1AJGplWMGsWpRWWpRbqGFnpJRZnpGSW5iZk5uoYGZnq5qcXFiempOYl
 JxXrJ+bmbGIHBwwAEOxhvbgw4xCjJwaQkyuv6UjxSiC8pP6UyI7E4I76oNCe1+BCjDAeHkgRv
 2DLJSCHBotT01Iq0zBxgGMOkJTh4lEQg0rzFBYm5xZnpEKlTjIpS4rxeIAkBkERGaR5cGyx2L
 jHKSgnzMgIdIsRTkFqUm1mCKv+KUZyDUUmYNw1kCk9mXgnc9FdAi5lAFoPczFtckoiQkmpg9J
 n349zKU79qBQ5PPlDVWW4wk7GkXOi+8TWTuJveher+9/zrSzfuP31kW/Gum68CdIRu8TfMsQn
 sk0uVT83V8//beu/orx8qqSKfHd8kbooovLJRXmHv3YTzRmE/7vzKdJErejqLSaFf+GHX6rf3
 4/7E/n/bd3r1nLiCw/W10kclBNo9Une6KrEUZyQaajEXFScCAB8vGR6YAgAA
X-Env-Sender: prvs=301e7c014=owen.smith@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1494853491!49462532!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14216 invoked from network); 15 May 2017 13:04:53 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
 by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
 15 May 2017 13:04:53 -0000
X-IronPort-AV: E=Sophos;i="5.38,345,1491264000"; d="scan'208";a="423741002"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 15 May 2017 14:04:04 +0100
Message-ID: <20170515130429.20580-2-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20170515130429.20580-1-owen.smith@citrix.com>
References: <20170515130429.20580-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 01/26] Rename Fdo -> Adapter Remove Adapter
	reference counts
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/cgi-bin/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/cgi-bin/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
T3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW52YmQvYWRhcHRl
ci5jICAgICAgICAgfCAyMTQ3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysKIHNyYy94ZW52YmQvYWRhcHRlci5oICAgICAgICAgfCAgMTYyICsrKysKIHNyYy94ZW52YmQv
YmxvY2tyaW5nLmMgICAgICAgfCAgICA2ICstCiBzcmMveGVudmJkL2RyaXZlci5jICAgICAgICAg
IHwgICA2NiArLQogc3JjL3hlbnZiZC9kcml2ZXIuaCAgICAgICAgICB8ICAgMTEgKy0KIHNyYy94
ZW52YmQvZmRvLmMgICAgICAgICAgICAgfCAyMjA2IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogc3JjL3hlbnZiZC9mZG8uaCAgICAgICAgICAgICB8ICAxNzkgLS0t
LQogc3JjL3hlbnZiZC9mcm9udGVuZC5jICAgICAgICB8ICAgIDggKy0KIHNyYy94ZW52YmQvZ3Jh
bnRlci5jICAgICAgICAgfCAgICA2ICstCiBzcmMveGVudmJkL25vdGlmaWVyLmMgICAgICAgIHwg
ICAgOCArLQogc3JjL3hlbnZiZC9wZG8uYyAgICAgICAgICAgICB8ICAgNDYgKy0KIHNyYy94ZW52
YmQvcGRvLmggICAgICAgICAgICAgfCAgICA4ICstCiB2czIwMTIveGVudmJkL3hlbnZiZC52Y3hw
cm9qIHwgICAgMiArLQogdnMyMDEzL3hlbnZiZC94ZW52YmQudmN4cHJvaiB8ICAgIDIgKy0KIHZz
MjAxNS94ZW52YmQveGVudmJkLnZjeHByb2ogfCAgICAyICstCiAxNSBmaWxlcyBjaGFuZ2VkLCAy
MzkwIGluc2VydGlvbnMoKyksIDI0NjkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQg
c3JjL3hlbnZiZC9hZGFwdGVyLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL2FkYXB0
ZXIuaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvZmRvLmMKIGRlbGV0ZSBtb2RlIDEw
MDY0NCBzcmMveGVudmJkL2Zkby5oCgpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC9hZGFwdGVyLmMg
Yi9zcmMveGVudmJkL2FkYXB0ZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li44MzM0MzQ3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3hlbnZiZC9hZGFwdGVyLmMKQEAgLTAs
MCArMSwyMTQ3IEBACisvKiBDb3B5cmlnaHQgKGMpIENpdHJpeCBTeXN0ZW1zIEluYy4KKyAqIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiAKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIAorICogd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCAKKyAqIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZSBtZXQ6CisgKiAKKyAqICogICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIAorICogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgCisgKiAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAq
ICAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSAKKyAqICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIAorICogICAgIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciAKKyAqICAgICBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICogCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgCisgKiBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCAKKyAqIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIAorICogTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiAKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCAKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIAorICogQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIAorICogU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyAKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCAKKyAqIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyAKKyAqIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIAorICogU1VDSCBEQU1BR0UuCisgKi8gCisKKyNkZWZpbmUgSU5J
VEdVSUQgMQorI2luY2x1ZGUgPG50ZGRrLmg+CisjaW5jbHVkZSA8c3RvcnBvcnQuaD4KKyNpbmNs
dWRlIDxudHN0cnNhZmUuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworI2luY2x1ZGUgPHZlcnNp
b24uaD4KKyNpbmNsdWRlIDx4ZW5jZGIuaD4KKyNpbmNsdWRlIDxuYW1lcy5oPgorI2luY2x1ZGUg
PHN0b3JlX2ludGVyZmFjZS5oPgorI2luY2x1ZGUgPGV2dGNobl9pbnRlcmZhY2UuaD4KKyNpbmNs
dWRlIDxnbnR0YWJfaW50ZXJmYWNlLmg+CisjaW5jbHVkZSA8ZGVidWdfaW50ZXJmYWNlLmg+Cisj
aW5jbHVkZSA8c3VzcGVuZF9pbnRlcmZhY2UuaD4KKyNpbmNsdWRlIDxlbXVsYXRlZF9pbnRlcmZh
Y2UuaD4KKworI2luY2x1ZGUgImFkYXB0ZXIuaCIKKyNpbmNsdWRlICJkcml2ZXIuaCIKKyNpbmNs
dWRlICJyZWdpc3RyeS5oIgorI2luY2x1ZGUgInBkby5oIgorI2luY2x1ZGUgInNyYmV4dC5oIgor
I2luY2x1ZGUgInRocmVhZC5oIgorI2luY2x1ZGUgImJ1ZmZlci5oIgorCisjaW5jbHVkZSAidXRp
bC5oIgorI2luY2x1ZGUgImRlYnVnLmgiCisjaW5jbHVkZSAiYXNzZXJ0LmgiCisKKyNkZWZpbmUg
TUFYTkFNRUxFTiAgMTI4CisKKyNkZWZpbmUgQURBUFRFUl9TSUdOQVRVUkUgICAnb2RmWCcKKwor
c3RydWN0IF9YRU5WQkRfQURBUFRFUiB7CisgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAg
IFNpZ25hdHVyZTsKKyAgICBQREVWSUNFX09CSkVDVCAgICAgICAgICAgICAgRGV2aWNlT2JqZWN0
OworICAgIFBERVZJQ0VfT0JKRUNUICAgICAgICAgICAgICBMb3dlckRldmljZU9iamVjdDsKKyAg
ICBQREVWSUNFX09CSkVDVCAgICAgICAgICAgICAgUGh5c2ljYWxEZXZpY2VPYmplY3Q7CisgICAg
S1NQSU5fTE9DSyAgICAgICAgICAgICAgICAgIExvY2s7CisgICAgREVWSUNFX1BPV0VSX1NUQVRF
ICAgICAgICAgIERldmljZVBvd2VyOworICAgIEFOU0lfU1RSSU5HICAgICAgICAgICAgICAgICBF
bnVtZXJhdG9yOworCisgICAgLy8gUG93ZXIKKyAgICBQWEVOVkJEX1RIUkVBRCAgICAgICAgICAg
ICAgRGV2aWNlUG93ZXJUaHJlYWQ7CisgICAgUElSUCAgICAgICAgICAgICAgICAgICAgICAgIERl
dmljZVBvd2VySXJwOworCisgICAgLy8gSW50ZXJmYWNlcyB0byBYZW5CdXMKKyAgICBYRU5CVVNf
RVZUQ0hOX0lOVEVSRkFDRSAgICAgRXZ0Y2huOworICAgIFhFTkJVU19TVE9SRV9JTlRFUkZBQ0Ug
ICAgICBTdG9yZTsKKyAgICBYRU5CVVNfR05UVEFCX0lOVEVSRkFDRSAgICAgR250dGFiOworICAg
IFhFTkJVU19ERUJVR19JTlRFUkZBQ0UgICAgICBEZWJ1ZzsKKyAgICBYRU5CVVNfU1VTUEVORF9J
TlRFUkZBQ0UgICAgU3VzcGVuZDsKKyAgICBYRU5CVVNfVU5QTFVHX0lOVEVSRkFDRSAgICAgVW5w
bHVnOworICAgIFhFTkZJTFRfRU1VTEFURURfSU5URVJGQUNFICBFbXVsYXRlZDsKKyAgICAKKyAg
ICAvLyBEZWJ1ZyBDYWxsYmFjaworICAgIFBYRU5CVVNfREVCVUdfQ0FMTEJBQ0sgICAgICBEZWJ1
Z0NhbGxiYWNrOworICAgIFBYRU5CVVNfU1VTUEVORF9DQUxMQkFDSyAgICBTdXNwZW5kQ2FsbGJh
Y2s7CisKKyAgICAvLyBUYXJnZXRzCisgICAgS1NQSU5fTE9DSyAgICAgICAgICAgICAgICAgIFRh
cmdldExvY2s7CisgICAgUFhFTlZCRF9QRE8gICAgICAgICAgICAgICAgIFRhcmdldHNbWEVOVkJE
X01BWF9UQVJHRVRTXTsKKworICAgIC8vIFRhcmdldCBFbnVtZXJhdGlvbgorICAgIFBYRU5WQkRf
VEhSRUFEICAgICAgICAgICAgICBTY2FuVGhyZWFkOworICAgIEtFVkVOVCAgICAgICAgICAgICAg
ICAgICAgICBTY2FuRXZlbnQ7CisgICAgUFhFTkJVU19TVE9SRV9XQVRDSCAgICAgICAgIFNjYW5X
YXRjaDsKKworICAgIC8vIFN0YXRpc3RpY3MKKyAgICBMT05HICAgICAgICAgICAgICAgICAgICAg
ICAgQ3VycmVudFNyYnM7CisgICAgTE9ORyAgICAgICAgICAgICAgICAgICAgICAgIE1heGltdW1T
cmJzOworICAgIExPTkcgICAgICAgICAgICAgICAgICAgICAgICBUb3RhbFNyYnM7Cit9OworCisv
Lz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09CitzdGF0aWMgRk9SQ0VJTkxJTkUgQk9PTEVBTgorX19BZGFw
dGVyU2V0RGV2aWNlUG93ZXJTdGF0ZSgKKyAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAg
ICAgICAgICAgQWRhcHRlciwKKyAgICBfX2luIERFVklDRV9QT1dFUl9TVEFURSAgICAgICAgICBT
dGF0ZQorICAgICkKK3sKKyAgICBLSVJRTCAgICAgICBJcnFsOworICAgIEJPT0xFQU4gICAgIENo
YW5nZWQgPSBGQUxTRTsKKworICAgIEtlQWNxdWlyZVNwaW5Mb2NrKCZBZGFwdGVyLT5Mb2NrLCAm
SXJxbCk7CisKKyAgICBpZiAoQWRhcHRlci0+RGV2aWNlUG93ZXIgIT0gU3RhdGUpIHsKKyAgICAg
ICAgVmVyYm9zZSgiUE9XRVIgJXMgdG8gJXNcbiIsIFBvd2VyRGV2aWNlU3RhdGVOYW1lKEFkYXB0
ZXItPkRldmljZVBvd2VyKSwgUG93ZXJEZXZpY2VTdGF0ZU5hbWUoU3RhdGUpKTsKKyAgICAgICAg
Q2hhbmdlZCA9IFRSVUU7CisgICAgICAgIEFkYXB0ZXItPkRldmljZVBvd2VyID0gU3RhdGU7Cisg
ICAgfQorCisgICAgS2VSZWxlYXNlU3BpbkxvY2soJkFkYXB0ZXItPkxvY2ssIElycWwpOworCisg
ICAgcmV0dXJuIENoYW5nZWQ7Cit9CisKK3N0YXRpYyBGT1JDRUlOTElORSBERVZJQ0VfUE9XRVJf
U1RBVEUKK19fQWRhcHRlckdldERldmljZVBvd2VyU3RhdGUoCisgICAgX19pbiBQWEVOVkJEX0FE
QVBURVIgICAgICAgICAgICAgICAgQWRhcHRlcgorICAgICkKK3sKKyAgICBLSVJRTCAgICAgICAg
ICAgICAgIElycWw7CisgICAgREVWSUNFX1BPV0VSX1NUQVRFICBTdGF0ZTsKKworICAgIEtlQWNx
dWlyZVNwaW5Mb2NrKCZBZGFwdGVyLT5Mb2NrLCAmSXJxbCk7CisgICAgU3RhdGUgPSBBZGFwdGVy
LT5EZXZpY2VQb3dlcjsKKyAgICBLZVJlbGVhc2VTcGluTG9jaygmQWRhcHRlci0+TG9jaywgSXJx
bCk7CisKKyAgICByZXR1cm4gU3RhdGU7Cit9CisKK19fY2hlY2tSZXR1cm4KK3N0YXRpYyBGT1JD
RUlOTElORSBQWEVOVkJEX1BETworX19BZGFwdGVyR2V0UGRvQWx3YXlzKAorICAgIF9faW4gUFhF
TlZCRF9BREFQVEVSICAgICAgICAgICAgICAgICBBZGFwdGVyLAorICAgIF9faW4gVUxPTkcgICAg
ICAgICAgICAgICAgICAgICAgIFRhcmdldElkLAorICAgIF9faW4gUENIQVIgICAgICAgICAgICAg
ICAgICAgICAgIENhbGxlcgorICAgICkKK3sKKyAgICBQWEVOVkJEX1BETyBQZG87CisgICAgS0lS
UUwgICAgICAgSXJxbDsKKworICAgIEFTU0VSVDNVKFRhcmdldElkLCA8LCBYRU5WQkRfTUFYX1RB
UkdFVFMpOworCisgICAgS2VBY3F1aXJlU3BpbkxvY2soJkFkYXB0ZXItPlRhcmdldExvY2ssICZJ
cnFsKTsKKyAgICBQZG8gPSBBZGFwdGVyLT5UYXJnZXRzW1RhcmdldElkXTsKKyAgICBpZiAoUGRv
KSB7CisgICAgICAgIF9fUGRvUmVmZXJlbmNlKFBkbywgQ2FsbGVyKTsKKyAgICB9CisgICAgS2VS
ZWxlYXNlU3BpbkxvY2soJkFkYXB0ZXItPlRhcmdldExvY2ssIElycWwpOworICAgIAorICAgIHJl
dHVybiBQZG87Cit9CisKK19fY2hlY2tSZXR1cm4KK3N0YXRpYyBGT1JDRUlOTElORSBQWEVOVkJE
X1BETworX19fQWRhcHRlckdldFBkbygKKyAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAg
ICAgICAgICAgQWRhcHRlciwKKyAgICBfX2luIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBU
YXJnZXRJZCwKKyAgICBfX2luIFBDSEFSICAgICAgICAgICAgICAgICAgICAgICBDYWxsZXIKKyAg
ICApCit7CisgICAgUFhFTlZCRF9QRE8gUGRvID0gTlVMTDsKKyAgICBLSVJRTCAgICAgICBJcnFs
OworCisgICAgQVNTRVJUM1UoVGFyZ2V0SWQsIDwsIFhFTlZCRF9NQVhfVEFSR0VUUyk7CisKKyAg
ICBLZUFjcXVpcmVTcGluTG9jaygmQWRhcHRlci0+VGFyZ2V0TG9jaywgJklycWwpOworICAgIGlm
IChBZGFwdGVyLT5UYXJnZXRzW1RhcmdldElkXSAmJiAKKyAgICAgICAgX19QZG9SZWZlcmVuY2Uo
QWRhcHRlci0+VGFyZ2V0c1tUYXJnZXRJZF0sIENhbGxlcikgPiAwKSB7CisgICAgICAgIFBkbyA9
IEFkYXB0ZXItPlRhcmdldHNbVGFyZ2V0SWRdOworICAgIH0KKyAgICBLZVJlbGVhc2VTcGluTG9j
aygmQWRhcHRlci0+VGFyZ2V0TG9jaywgSXJxbCk7CisgICAgCisgICAgcmV0dXJuIFBkbzsKK30K
KyNkZWZpbmUgX19BZGFwdGVyR2V0UGRvKGYsIHQpIF9fX0FkYXB0ZXJHZXRQZG8oZiwgdCwgX19G
VU5DVElPTl9fKQorCitCT09MRUFOCitBZGFwdGVyTGlua1BkbygKKyAgICBfX2luIFBYRU5WQkRf
QURBUFRFUiAgICAgICAgICAgICAgICAgQWRhcHRlciwKKyAgICBfX2luIFBYRU5WQkRfUERPICAg
ICAgICAgICAgICAgICBQZG8KKyAgICApCit7CisgICAgS0lSUUwgICAgICAgSXJxbDsKKyAgICBQ
WEVOVkJEX1BETyBDdXJyZW50OworICAgIEJPT0xFQU4gICAgIFJlc3VsdCA9IEZBTFNFOworICAg
IFVMT05HICAgICAgIFRhcmdldElkID0gUGRvR2V0VGFyZ2V0SWQoUGRvKTsKKworICAgIEtlQWNx
dWlyZVNwaW5Mb2NrKCZBZGFwdGVyLT5UYXJnZXRMb2NrLCAmSXJxbCk7CisgICAgQ3VycmVudCA9
IEFkYXB0ZXItPlRhcmdldHNbVGFyZ2V0SWRdOworICAgIGlmIChBZGFwdGVyLT5UYXJnZXRzW1Rh
cmdldElkXSA9PSBOVUxMKSB7CisgICAgICAgIEFkYXB0ZXItPlRhcmdldHNbVGFyZ2V0SWRdID0g
UGRvOworICAgICAgICBSZXN1bHQgPSBUUlVFOworICAgIH0KKyAgICBLZVJlbGVhc2VTcGluTG9j
aygmQWRhcHRlci0+VGFyZ2V0TG9jaywgSXJxbCk7CisKKyAgICBpZiAoIVJlc3VsdCkgeworICAg
ICAgICBXYXJuaW5nKCJUYXJnZXRbJWRdIDogQ3VycmVudCAweCVwLCBOZXcgMHglcFxuIiwgVGFy
Z2V0SWQsIEN1cnJlbnQsIFBkbyk7CisgICAgfQorICAgIHJldHVybiBSZXN1bHQ7Cit9CitCT09M
RUFOCitBZGFwdGVyVW5saW5rUGRvKAorICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAg
ICAgICAgICBBZGFwdGVyLAorICAgIF9faW4gUFhFTlZCRF9QRE8gICAgICAgICAgICAgICAgIFBk
bworICAgICkKK3sKKyAgICBLSVJRTCAgICAgICBJcnFsOworICAgIFBYRU5WQkRfUERPIEN1cnJl
bnQ7CisgICAgQk9PTEVBTiAgICAgUmVzdWx0ID0gRkFMU0U7CisgICAgVUxPTkcgICAgICAgVGFy
Z2V0SWQgPSBQZG9HZXRUYXJnZXRJZChQZG8pOworCisgICAgS2VBY3F1aXJlU3BpbkxvY2soJkFk
YXB0ZXItPlRhcmdldExvY2ssICZJcnFsKTsKKyAgICBDdXJyZW50ID0gQWRhcHRlci0+VGFyZ2V0
c1tUYXJnZXRJZF07CisgICAgaWYgKEFkYXB0ZXItPlRhcmdldHNbVGFyZ2V0SWRdID09IFBkbykg
eworICAgICAgICBBZGFwdGVyLT5UYXJnZXRzW1RhcmdldElkXSA9IE5VTEw7CisgICAgICAgIFJl
c3VsdCA9IFRSVUU7CisgICAgfQorICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZBZGFwdGVyLT5UYXJn
ZXRMb2NrLCBJcnFsKTsKKworICAgIGlmICghUmVzdWx0KSB7CisgICAgICAgIFdhcm5pbmcoIlRh
cmdldFslZF0gOiBDdXJyZW50IDB4JXAsIEV4cGVjdGVkIDB4JXBcbiIsIFRhcmdldElkLCBDdXJy
ZW50LCBQZG8pOworICAgIH0KKyAgICByZXR1cm4gUmVzdWx0OworfQorCisvLz09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CisvLyBRdWVyeUludGVyZmFjZQorCitfX2Rydl9yZXF1aXJlc0lSUUwoUEFTU0lW
RV9MRVZFTCkKK3N0YXRpYyBOVFNUQVRVUworQWRhcHRlclF1ZXJ5SW50ZXJmYWNlKAorICAgIElO
ICBQWEVOVkJEX0FEQVBURVIgICAgIEFkYXB0ZXIsCisgICAgSU4gIGNvbnN0IEdVSUQgICAgICAq
R3VpZCwKKyAgICBJTiAgVUxPTkcgICAgICAgICAgIFZlcnNpb24sCisgICAgT1VUIFBJTlRFUkZB
Q0UgICAgICBJbnRlcmZhY2UsCisgICAgSU4gIFVMT05HICAgICAgICAgICBTaXplLAorICAgIElO
ICBCT09MRUFOICAgICAgICAgT3B0aW9uYWwKKyAgICApCit7CisgICAgS0VWRU5UICAgICAgICAg
ICAgICBFdmVudDsKKyAgICBJT19TVEFUVVNfQkxPQ0sgICAgIFN0YXR1c0Jsb2NrOworICAgIFBJ
UlAgICAgICAgICAgICAgICAgSXJwOworICAgIFBJT19TVEFDS19MT0NBVElPTiAgU3RhY2tMb2Nh
dGlvbjsKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsKKworICAgIEFTU0VSVDNVKEtl
R2V0Q3VycmVudElycWwoKSwgPT0sIFBBU1NJVkVfTEVWRUwpOworCisgICAgS2VJbml0aWFsaXpl
RXZlbnQoJkV2ZW50LCBOb3RpZmljYXRpb25FdmVudCwgRkFMU0UpOworICAgIFJ0bFplcm9NZW1v
cnkoJlN0YXR1c0Jsb2NrLCBzaXplb2YoSU9fU1RBVFVTX0JMT0NLKSk7CisKKyAgICBJcnAgPSBJ
b0J1aWxkU3luY2hyb25vdXNGc2RSZXF1ZXN0KElSUF9NSl9QTlAsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBBZGFwdGVyLT5Mb3dlckRldmljZU9iamVjdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZF
dmVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZTdGF0dXNCbG9j
ayk7CisKKyAgICBzdGF0dXMgPSBTVEFUVVNfVU5TVUNDRVNTRlVMOworICAgIGlmIChJcnAgPT0g
TlVMTCkKKyAgICAgICAgZ290byBmYWlsMTsKKworICAgIFN0YWNrTG9jYXRpb24gPSBJb0dldE5l
eHRJcnBTdGFja0xvY2F0aW9uKElycCk7CisgICAgU3RhY2tMb2NhdGlvbi0+TWlub3JGdW5jdGlv
biA9IElSUF9NTl9RVUVSWV9JTlRFUkZBQ0U7CisKKyAgICBTdGFja0xvY2F0aW9uLT5QYXJhbWV0
ZXJzLlF1ZXJ5SW50ZXJmYWNlLkludGVyZmFjZVR5cGUgPSBHdWlkOworICAgIFN0YWNrTG9jYXRp
b24tPlBhcmFtZXRlcnMuUXVlcnlJbnRlcmZhY2UuU2l6ZSA9IChVU0hPUlQpU2l6ZTsKKyAgICBT
dGFja0xvY2F0aW9uLT5QYXJhbWV0ZXJzLlF1ZXJ5SW50ZXJmYWNlLlZlcnNpb24gPSAoVVNIT1JU
KVZlcnNpb247CisgICAgU3RhY2tMb2NhdGlvbi0+UGFyYW1ldGVycy5RdWVyeUludGVyZmFjZS5J
bnRlcmZhY2UgPSBJbnRlcmZhY2U7CisgICAgCisgICAgSXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBT
VEFUVVNfTk9UX1NVUFBPUlRFRDsKKworICAgIHN0YXR1cyA9IElvQ2FsbERyaXZlcihBZGFwdGVy
LT5Mb3dlckRldmljZU9iamVjdCwgSXJwKTsKKyAgICBpZiAoc3RhdHVzID09IFNUQVRVU19QRU5E
SU5HKSB7CisgICAgICAgIChWT0lEKSBLZVdhaXRGb3JTaW5nbGVPYmplY3QoJkV2ZW50LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4ZWN1dGl2ZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBLZXJuZWxNb2RlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE5VTEwpOworICAgICAgICBzdGF0dXMgPSBTdGF0dXNCbG9jay5TdGF0dXM7CisgICAg
fQorCisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpIHsKKyAgICAgICAgaWYgKHN0YXR1cyA9
PSBTVEFUVVNfTk9UX1NVUFBPUlRFRCAmJiBPcHRpb25hbCkKKyAgICAgICAgICAgIGdvdG8gZG9u
ZTsKKworICAgICAgICBnb3RvIGZhaWwyOworICAgIH0KKworZG9uZToKKyAgICByZXR1cm4gU1RB
VFVTX1NVQ0NFU1M7CisKK2ZhaWwyOgorICAgIEVycm9yKCJmYWlsMlxuIik7CisKK2ZhaWwxOgor
ICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7CisKKyAgICByZXR1cm4gc3RhdHVz
OworfQorCisjZGVmaW5lIFFVRVJZX0lOVEVSRkFDRSggICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX0FkYXB0ZXIsICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBfUHJvdmlkZXJOYW1lLCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
X0ludGVyZmFjZU5hbWUsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIF9JbnRlcmZhY2UsICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBfU2l6ZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgX09wdGlvbmFsKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIEFkYXB0ZXJRdWVyeUludGVyZmFjZSgoX0FkYXB0ZXIpLCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgICAgICAgICAgICAgICAgICAgICZHVUlEXyAjIyBfUHJvdmlkZXJOYW1lICMjIF8gIyMg
X0ludGVyZmFjZU5hbWUgIyMgX0lOVEVSRkFDRSwgICAgIFwKKyAgICAgICAgICAgICAgICAgICAg
ICBfUHJvdmlkZXJOYW1lICMjIF8gIyMgX0ludGVyZmFjZU5hbWUgIyMgX0lOVEVSRkFDRV9WRVJT
SU9OX01BWCwgICBcCisgICAgICAgICAgICAgICAgICAgICAgKF9JbnRlcmZhY2UpLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAg
ICAgICAgICAgICAgIChfU2l6ZSksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAoX09wdGlvbmFs
KSkKKworLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLy8gRGVidWcKKworc3RhdGljIERFQ0xTUEVD
X05PSU5MSU5FIFZPSUQKK0FkYXB0ZXJEZWJ1Z0NhbGxiYWNrKAorICAgIF9faW4gUFZPSUQgICAg
ICAgICAgICAgICAgICAgICAgIENvbnRleHQsCisgICAgX19pbiBCT09MRUFOICAgICAgICAgICAg
ICAgICAgICAgQ3Jhc2hpbmcKKyAgICApCit7CisgICAgUFhFTlZCRF9BREFQVEVSICAgICBBZGFw
dGVyID0gQ29udGV4dDsKKyAgICBVTE9ORyAgICAgICAgICAgVGFyZ2V0SWQ7CisKKyAgICBpZiAo
QWRhcHRlciA9PSBOVUxMIHx8IEFkYXB0ZXItPkRlYnVnQ2FsbGJhY2sgPT0gTlVMTCkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgWEVOQlVTX0RFQlVHKFByaW50ZiwgJkFkYXB0ZXItPkRlYnVnLAor
ICAgICAgICAgICAgICAgICAiQURBUFRFUjogVmVyc2lvbjogJWQuJWQuJWQuJWQgKCVkLyVkLyVk
KVxuIiwKKyAgICAgICAgICAgICAgICAgTUFKT1JfVkVSU0lPTiwgTUlOT1JfVkVSU0lPTiwgTUlD
Uk9fVkVSU0lPTiwgQlVJTERfTlVNQkVSLAorICAgICAgICAgICAgICAgICBEQVksIE1PTlRILCBZ
RUFSKTsgCisgICAgWEVOQlVTX0RFQlVHKFByaW50ZiwgJkFkYXB0ZXItPkRlYnVnLAorICAgICAg
ICAgICAgICAgICAiQURBUFRFUjogQWRhcHRlcjogMHglcCAlc1xuIiwKKyAgICAgICAgICAgICAg
ICAgQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgQ3Jhc2hpbmcgPyAiQ1JBU0hJTkciIDogIiIp
OworICAgIFhFTkJVU19ERUJVRyhQcmludGYsICZBZGFwdGVyLT5EZWJ1ZywKKyAgICAgICAgICAg
ICAgICAgIkFEQVBURVI6IERldk9iaiAweCVwIExvd2VyRGV2T2JqIDB4JXAgUGh5c0Rldk9iaiAw
eCVwXG4iLAorICAgICAgICAgICAgICAgICBBZGFwdGVyLT5EZXZpY2VPYmplY3QsCisgICAgICAg
ICAgICAgICAgIEFkYXB0ZXItPkxvd2VyRGV2aWNlT2JqZWN0LAorICAgICAgICAgICAgICAgICBB
ZGFwdGVyLT5QaHlzaWNhbERldmljZU9iamVjdCk7CisgICAgWEVOQlVTX0RFQlVHKFByaW50Ziwg
JkFkYXB0ZXItPkRlYnVnLAorICAgICAgICAgICAgICAgICAiQURBUFRFUjogRGV2aWNlUG93ZXJT
dGF0ZTogJXNcbiIsCisgICAgICAgICAgICAgICAgIFBvd2VyRGV2aWNlU3RhdGVOYW1lKEFkYXB0
ZXItPkRldmljZVBvd2VyKSk7CisgICAgWEVOQlVTX0RFQlVHKFByaW50ZiwgJkFkYXB0ZXItPkRl
YnVnLAorICAgICAgICAgICAgICAgICAiQURBUFRFUjogRW51bWVyYXRvciAgICAgIDogJXMgKDB4
JXApXG4iLAorICAgICAgICAgICAgICAgICBBZGFwdGVyRW51bShBZGFwdGVyKSwgQWRhcHRlci0+
RW51bWVyYXRvci5CdWZmZXIpOworICAgIFhFTkJVU19ERUJVRyhQcmludGYsICZBZGFwdGVyLT5E
ZWJ1ZywKKyAgICAgICAgICAgICAgICAgIkFEQVBURVI6IFNyYnMgICAgICAgICAgICA6ICVkIC8g
JWQgKCVkIFRvdGFsKVxuIiwKKyAgICAgICAgICAgICAgICAgQWRhcHRlci0+Q3VycmVudFNyYnMs
IEFkYXB0ZXItPk1heGltdW1TcmJzLCBBZGFwdGVyLT5Ub3RhbFNyYnMpOworCisgICAgQnVmZmVy
RGVidWdDYWxsYmFjaygmQWRhcHRlci0+RGVidWcpOworICAgIAorICAgIGZvciAoVGFyZ2V0SWQg
PSAwOyBUYXJnZXRJZCA8IFhFTlZCRF9NQVhfVEFSR0VUUzsgKytUYXJnZXRJZCkgeworICAgICAg
ICAvLyBubyBuZWVkIHRvIHVzZSBfX0FkYXB0ZXJHZXRQZG8gKHdoaWNoIGlzIGxvY2tlZCBhdCBE
SVNQQVRDSCkgYXMgY2FsbGVkIGF0IEhJR0hfTEVWRUwKKyAgICAgICAgUFhFTlZCRF9QRE8gUGRv
ID0gQWRhcHRlci0+VGFyZ2V0c1tUYXJnZXRJZF07CisgICAgICAgIGlmIChQZG8gPT0gTlVMTCkK
KyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIFhFTkJVU19ERUJVRyhQcmludGYsICZB
ZGFwdGVyLT5EZWJ1ZywKKyAgICAgICAgICAgICAgICAgICAgICJBREFQVEVSOiA9PT09PiBUYXJn
ZXRbJS0zZF0gICAgOiAweCVwXG4iLCAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAg
ICAgICAgVGFyZ2V0SWQsIFBkbyk7CisKKyAgICAgICAgLy8gY2FsbCBUYXJnZXQncyBkZWJ1ZyBj
YWxsYmFjayBkaXJlY3RseQorICAgICAgICBQZG9EZWJ1Z0NhbGxiYWNrKFBkbywgJkFkYXB0ZXIt
PkRlYnVnKTsKKworICAgICAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCAmQWRhcHRlci0+RGVidWcs
CisgICAgICAgICAgICAgICAgICAgICAiQURBUFRFUjogPD09PT0gVGFyZ2V0WyUtM2RdICAgIDog
MHglcFxuIiwgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgIFRhcmdldElk
LCBQZG8pOworICAgIH0KKworICAgIEFkYXB0ZXItPk1heGltdW1TcmJzID0gQWRhcHRlci0+Q3Vy
cmVudFNyYnM7CisgICAgQWRhcHRlci0+VG90YWxTcmJzID0gMDsKK30KKworLy89PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQorLy8gRW51bWVyYXRpb24KK3N0YXRpYyBGT1JDRUlOTElORSBVTE9ORworX19Q
YXJzZVZiZCgKKyAgICBfX2luIFBDSEFSICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2VJZFN0
cgorICAgICkKK3sKKyAgICBVTE9ORyAgIERldmljZUlkID0gc3RydG91bChEZXZpY2VJZFN0ciwg
TlVMTCwgMTApOworICAgIAorICAgIEFTU0VSVDNVKChEZXZpY2VJZCAmIH4oKDEgPDwgMjkpIC0g
MSkpLCA9PSwgMCk7CisKKyAgICBpZiAoRGV2aWNlSWQgJiAoMSA8PCAyOCkpIHsgCisgICAgICAg
IHJldHVybiAoRGV2aWNlSWQgJiAoKDEgPDwgMjApIC0gMSkpID4+IDg7ICAgICAgICAgICAvKiB4
dmQgICAgKi8KKyAgICB9IGVsc2UgeworICAgICAgICBzd2l0Y2ggKERldmljZUlkID4+IDgpIHsK
KyAgICAgICAgY2FzZSAyMDI6ICAgcmV0dXJuIChEZXZpY2VJZCAmIDB4RjApID4+IDQ7ICAgICAg
ICAgIC8qIHh2ZCAgICAqLworICAgICAgICBjYXNlIDg6ICAgICByZXR1cm4gKERldmljZUlkICYg
MHhGMCkgPj4gNDsgICAgICAgICAgLyogc2QgICAgICovCisgICAgICAgIGNhc2UgMzogICAgIHJl
dHVybiAoRGV2aWNlSWQgJiAweEMwKSA+PiA2OyAgICAgICAgICAvKiBoZGEuLmIgKi8KKyAgICAg
ICAgY2FzZSAyMjogICAgcmV0dXJuICgoRGV2aWNlSWQgJiAweEMwKSA+PiA2KSArIDI7ICAgIC8q
IGhkYy4uZCAqLworICAgICAgICBjYXNlIDMzOiAgICByZXR1cm4gKChEZXZpY2VJZCAmIDB4QzAp
ID4+IDYpICsgNDsgICAgLyogaGRlLi5mICovCisgICAgICAgIGNhc2UgMzQ6ICAgIHJldHVybiAo
KERldmljZUlkICYgMHhDMCkgPj4gNikgKyA2OyAgICAvKiBoZGcuLmggKi8KKyAgICAgICAgY2Fz
ZSA1NjogICAgcmV0dXJuICgoRGV2aWNlSWQgJiAweEMwKSA+PiA2KSArIDg7ICAgIC8qIGhkaS4u
aiAqLworICAgICAgICBjYXNlIDU3OiAgICByZXR1cm4gKChEZXZpY2VJZCAmIDB4QzApID4+IDYp
ICsgMTA7ICAgLyogaGRrLi5sICovCisgICAgICAgIGNhc2UgODg6ICAgIHJldHVybiAoKERldmlj
ZUlkICYgMHhDMCkgPj4gNikgKyAxMjsgICAvKiBoZG0uLm4gKi8KKyAgICAgICAgY2FzZSA4OTog
ICAgcmV0dXJuICgoRGV2aWNlSWQgJiAweEMwKSA+PiA2KSArIDE0OyAgIC8qIGhkby4ucCAqLwor
ICAgICAgICBkZWZhdWx0OiAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyAgICBFcnJvcigi
SW52YWxpZCBEZXZpY2VJZCAlcyAoJTA4eClcbiIsIERldmljZUlkU3RyLCBEZXZpY2VJZCk7Cisg
ICAgcmV0dXJuIDB4RkZGRkZGRkY7IC8vIE9CVklPVVMgRVJST1IgVkFMVUUKK30KK3N0YXRpYyBG
T1JDRUlOTElORSBYRU5WQkRfREVWSUNFX1RZUEUKK19fRGV2aWNlVHlwZSgKKyAgICBfX2luIFBD
SEFSICAgICAgICAgICAgICAgICAgICAgIFR5cGUKKyAgICApCit7CisgICAgaWYgKHN0cmNtcChU
eXBlLCAiZGlzayIpID09IDApCisgICAgICAgIHJldHVybiBYRU5WQkRfREVWSUNFX1RZUEVfRElT
SzsKKyAgICBpZiAoc3RyY21wKFR5cGUsICJjZHJvbSIpID09IDApCisgICAgICAgIHJldHVybiBY
RU5WQkRfREVWSUNFX1RZUEVfQ0RST007CisgICAgcmV0dXJuIFhFTlZCRF9ERVZJQ0VfVFlQRV9V
TktOT1dOOworfQorX19jaGVja1JldHVybgorc3RhdGljIEZPUkNFSU5MSU5FIEJPT0xFQU4KK19f
QWRhcHRlckhpZGRlblRhcmdldCgKKyAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAg
ICAgICAgQWRhcHRlciwKKyAgICBfX2luIFBDSEFSICAgICAgICAgICAgICAgICAgICAgICBEZXZp
Y2VJZCwKKyAgICBfX291dCBQWEVOVkJEX0RFVklDRV9UWVBFICAgICAgICBEZXZpY2VUeXBlCisg
ICAgKQoreworICAgIE5UU1RBVFVTICAgIFN0YXR1czsKKyAgICBQQ0hBUiAgICAgICBGcm9udGVu
ZFBhdGg7CisgICAgUENIQVIgICAgICAgQnVmZmVyOworICAgIFVMT05HICAgICAgIFZhbHVlOwor
ICAgIAorICAgICpEZXZpY2VUeXBlID0gWEVOVkJEX0RFVklDRV9UWVBFX1VOS05PV047CisgICAg
RnJvbnRlbmRQYXRoID0gRHJpdmVyRm9ybWF0KCJkZXZpY2UvJXMvJXMiLCBBZGFwdGVyRW51bShB
ZGFwdGVyKSwgRGV2aWNlSWQpOworICAgIGlmICghRnJvbnRlbmRQYXRoKQorICAgICAgICBnb3Rv
IGZhaWw7CisKKyAgICAvLyBFamVjdGVkPworICAgIFN0YXR1cyA9IFhFTkJVU19TVE9SRShSZWFk
LCAmQWRhcHRlci0+U3RvcmUsIE5VTEwsIEZyb250ZW5kUGF0aCwgImVqZWN0ZWQiLCAmQnVmZmVy
KTsKKyAgICBpZiAoTlRfU1VDQ0VTUyhTdGF0dXMpKSB7CisgICAgICAgIFZhbHVlID0gc3RydG91
bChCdWZmZXIsIE5VTEwsIDEwKTsKKyAgICAgICAgWEVOQlVTX1NUT1JFKEZyZWUsICZBZGFwdGVy
LT5TdG9yZSwgQnVmZmVyKTsKKworICAgICAgICBpZiAoVmFsdWUpCisgICAgICAgICAgICBnb3Rv
IGlnbm9yZTsKKyAgICB9CisKKyAgICAvLyBOb3QgRGlzaz8KKyAgICBTdGF0dXMgPSBYRU5CVVNf
U1RPUkUoUmVhZCwgJkFkYXB0ZXItPlN0b3JlLCBOVUxMLCBGcm9udGVuZFBhdGgsICJkZXZpY2Ut
dHlwZSIsICZCdWZmZXIpOworICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQorICAgICAgICBn
b3RvIGlnbm9yZTsKKyAgICAqRGV2aWNlVHlwZSA9IF9fRGV2aWNlVHlwZShCdWZmZXIpOworICAg
IFhFTkJVU19TVE9SRShGcmVlLCAmQWRhcHRlci0+U3RvcmUsIEJ1ZmZlcik7CisgICAgCisgICAg
c3dpdGNoICgqRGV2aWNlVHlwZSkgeworICAgIGNhc2UgWEVOVkJEX0RFVklDRV9UWVBFX0RJU0s6
ICAgCisgICAgICAgIGJyZWFrOworICAgIGNhc2UgWEVOVkJEX0RFVklDRV9UWVBFX0NEUk9NOiAg
CisgICAgICAgIGlmIChEcml2ZXJQYXJhbWV0ZXJzLlBWQ0RSb20pICAgCisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgLy8gaW50ZW50aW9uYWwgZmFsbC10aHJvdWdoCisgICAgZGVmYXVsdDog
ICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgZ290byBpZ25vcmU7CisgICAgfQorCisg
ICAgLy8gVHJ5IHRvIENyZWF0ZQorICAgIERyaXZlckZvcm1hdEZyZWUoRnJvbnRlbmRQYXRoKTsK
KyAgICByZXR1cm4gRkFMU0U7CisKK2ZhaWw6CisgICAgRXJyb3IoIkZhaWxcbiIpOworICAgIHJl
dHVybiBUUlVFOworCitpZ25vcmU6CisgICAgRHJpdmVyRm9ybWF0RnJlZShGcm9udGVuZFBhdGgp
OworICAgIHJldHVybiBUUlVFOworfQorX19jaGVja1JldHVybgorc3RhdGljIEZPUkNFSU5MSU5F
IEJPT0xFQU4KK19fQWRhcHRlcklzUGRvVW5wbHVnZ2VkKAorICAgIF9faW4gUFhFTlZCRF9BREFQ
VEVSICAgICAgICAgICAgICAgICBBZGFwdGVyLAorICAgIF9faW4gUENIQVIgICAgICAgICAgICAg
ICAgICAgICAgIEVudW1lcmF0b3IsCisgICAgX19pbiBQQ0hBUiAgICAgICAgICAgICAgICAgICAg
ICAgRGV2aWNlLAorICAgIF9faW4gVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldAor
ICAgICkKK3sKKyAgICAvLyBPbmx5IGNoZWNrIHRhcmdldHMgdGhhdCBjb3VsZCBiZSBlbXVsYXRl
ZAorICAgIGlmIChUYXJnZXQgPiAzKSB7CisgICAgICAgIFZlcmJvc2UoIlRhcmdldFslZF0gOiAo
JXMvJXMpIEVtdWxhdGVkIE5PVF9BUFBMSUNBQkxFIChub24tSURFIGRldmljZSlcbiIsIAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldCwgRW51bWVyYXRvciwgRGV2aWNlKTsKKyAg
ICAgICAgcmV0dXJuIFRSVUU7CisgICAgfQorICAgICAKKyAgICAvLyBDaGVjayBwcmVzZW5zZSBv
ZiBFbXVsYXRlZCBpbnRlcmZhY2UuIEFic2VuY2UgaW5kaWNhdGVzIGVtdWxhdGVkIGNhbm5vdCBi
ZSB1bnBsdWdnZWQKKyAgICBpZiAoQWRhcHRlci0+RW11bGF0ZWQuSW50ZXJmYWNlLkNvbnRleHQg
PT0gTlVMTCkgeworICAgICAgICBXYXJuaW5nKCJUYXJnZXRbJWRdIDogKCVzLyVzKSBFbXVsYXRl
ZCBOT1RfS05PV04gKGFzc3VtZWQgUFJFU0VOVClcbiIsIAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFRhcmdldCwgRW51bWVyYXRvciwgRGV2aWNlKTsKKyAgICAgICAgcmV0dXJuIEZBTFNF
OworICAgIH0KKworICAgIC8vIEFzayBYZW5GaWx0IGlmIEN0cmxyKDApLCBUYXJnZXQoVGFyZ2V0
KSwgTHVuKDApIGlzIHByZXNlbnQKKyAgICBpZiAoWEVORklMVF9FTVVMQVRFRChJc0Rpc2tQcmVz
ZW50LCAmQWRhcHRlci0+RW11bGF0ZWQsIDAsIFRhcmdldCwgMCkpIHsKKyAgICAgICAgVmVyYm9z
ZSgiVGFyZ2V0WyVkXSA6ICglcy8lcykgRW11bGF0ZWQgUFJFU0VOVFxuIiwgCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVGFyZ2V0LCBFbnVtZXJhdG9yLCBEZXZpY2UpOworICAgICAgICBy
ZXR1cm4gRkFMU0U7CisgICAgfSBlbHNlIHsKKyAgICAgICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6
ICglcy8lcykgRW11bGF0ZWQgTk9UX1BSRVNFTlRcbiIsIAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFRhcmdldCwgRW51bWVyYXRvciwgRGV2aWNlKTsKKyAgICAgICAgcmV0dXJuIFRSVUU7
CisgICAgfQorfQorCitzdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAorX19BZGFwdGVyRW51bWVyYXRl
KAorICAgIF9faW4gICAgUFhFTlZCRF9BREFQVEVSICAgICBBZGFwdGVyLAorICAgIF9faW4gICAg
UEFOU0lfU1RSSU5HICAgIERldmljZXMsCisgICAgX19vdXQgICBQQk9PTEVBTiAgICAgICAgTmVl
ZEludmFsaWRhdGUsCisgICAgX19vdXQgICBQQk9PTEVBTiAgICAgICAgTmVlZFJlYm9vdAorICAg
ICkKK3sKKyAgICBVTE9ORyAgICAgICAgICAgICAgIFRhcmdldElkOworICAgIFBBTlNJX1NUUklO
RyAgICAgICAgRGV2aWNlOworICAgIFVMT05HICAgICAgICAgICAgICAgSW5kZXg7CisgICAgUFhF
TlZCRF9QRE8gICAgICAgICBQZG87CisKKyAgICAqTmVlZEludmFsaWRhdGUgPSBGQUxTRTsKKyAg
ICAqTmVlZFJlYm9vdCA9IEZBTFNFOworCisgICAgZm9yIChUYXJnZXRJZCA9IDA7IFRhcmdldElk
IDwgWEVOVkJEX01BWF9UQVJHRVRTOyArK1RhcmdldElkKSB7CisgICAgICAgIEJPT0xFQU4gICAg
IE1pc3NpbmcgPSBUUlVFOworCisgICAgICAgIFBkbyA9IF9fQWRhcHRlckdldFBkbyhBZGFwdGVy
LCBUYXJnZXRJZCk7CisgICAgICAgIGlmIChQZG8gPT0gTlVMTCkKKyAgICAgICAgICAgIGNvbnRp
bnVlOworCisgICAgICAgIGZvciAoSW5kZXggPSAwOyBEZXZpY2VzW0luZGV4XS5CdWZmZXIgIT0g
TlVMTDsgKytJbmRleCkgeworICAgICAgICAgICAgVUxPTkcgRGV2aWNlVGFyZ2V0SWQ7CisgICAg
ICAgICAgICBEZXZpY2UgPSAmRGV2aWNlc1tJbmRleF07CisgICAgICAgICAgICBEZXZpY2VUYXJn
ZXRJZCA9IF9fUGFyc2VWYmQoRGV2aWNlLT5CdWZmZXIpOworICAgICAgICAgICAgaWYgKFRhcmdl
dElkID09IERldmljZVRhcmdldElkKSB7CisgICAgICAgICAgICAgICAgTWlzc2luZyA9IEZBTFNF
OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAg
ICAgICAgaWYgKE1pc3NpbmcgJiYgIVBkb0lzTWlzc2luZyhQZG8pKSB7CisgICAgICAgICAgICBQ
ZG9TZXRNaXNzaW5nKFBkbywgIkRldmljZSBEaXNhcHBlYXJlZCIpOworICAgICAgICAgICAgaWYg
KFBkb0dldERldmljZVBucFN0YXRlKFBkbykgPT0gUHJlc2VudCkKKyAgICAgICAgICAgICAgICBQ
ZG9TZXREZXZpY2VQbnBTdGF0ZShQZG8sIERlbGV0ZWQpOworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgICpOZWVkSW52YWxpZGF0ZSA9IFRSVUU7CisgICAgICAgIH0KKworICAgICAg
ICBpZiAoUGRvR2V0RGV2aWNlUG5wU3RhdGUoUGRvKSA9PSBEZWxldGVkKSB7CisgICAgICAgICAg
ICBQZG9EZXJlZmVyZW5jZShQZG8pOworICAgICAgICAgICAgUGRvRGVzdHJveShQZG8pOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgUGRvRGVyZWZlcmVuY2UoUGRvKTsKKyAgICAgICAg
fQorICAgIH0KKworICAgIC8vIGFkZCBuZXcgdGFyZ2V0cworICAgIGZvciAoSW5kZXggPSAwOyBE
ZXZpY2VzW0luZGV4XS5CdWZmZXIgIT0gTlVMTDsgKytJbmRleCkgeworICAgICAgICBYRU5WQkRf
REVWSUNFX1RZUEUgIERldmljZVR5cGU7CisKKyAgICAgICAgRGV2aWNlID0gJkRldmljZXNbSW5k
ZXhdOworCisgICAgICAgIFRhcmdldElkID0gX19QYXJzZVZiZChEZXZpY2UtPkJ1ZmZlcik7Cisg
ICAgICAgIGlmIChUYXJnZXRJZCA9PSAweEZGRkZGRkZGKSB7CisgICAgICAgICAgICBjb250aW51
ZTsKKyAgICAgICAgfQorCisgICAgICAgIFBkbyA9IF9fQWRhcHRlckdldFBkbyhBZGFwdGVyLCBU
YXJnZXRJZCk7CisgICAgICAgIGlmIChQZG8pIHsKKyAgICAgICAgICAgIFBkb0RlcmVmZXJlbmNl
KFBkbyk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChf
X0FkYXB0ZXJIaWRkZW5UYXJnZXQoQWRhcHRlciwgRGV2aWNlLT5CdWZmZXIsICZEZXZpY2VUeXBl
KSkgeworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIV9f
QWRhcHRlcklzUGRvVW5wbHVnZ2VkKEFkYXB0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEFkYXB0ZXJFbnVtKEFkYXB0ZXIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBEZXZpY2UtPkJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFy
Z2V0SWQpKSB7CisgICAgICAgICAgICAqTmVlZFJlYm9vdCA9IFRSVUU7CisgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChQZG9DcmVhdGUoQWRhcHRlciwKKyAg
ICAgICAgICAgICAgICAgICAgICBEZXZpY2UtPkJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAg
ICBUYXJnZXRJZCwKKyAgICAgICAgICAgICAgICAgICAgICBEZXZpY2VUeXBlKSkgeworICAgICAg
ICAgICAgKk5lZWRJbnZhbGlkYXRlID0gVFJVRTsKKyAgICAgICAgfQorICAgIH0KK30KKworc3Rh
dGljIEZPUkNFSU5MSU5FIFBBTlNJX1NUUklORworX19BZGFwdGVyTXVsdGlTelRvQW5zaSgKKyAg
ICBJTiAgUENIQVIgICAgICAgQnVmZmVyCisgICAgKQoreworICAgIFBBTlNJX1NUUklORyAgICBB
bnNpOworICAgIExPTkcgICAgICAgICAgICBJbmRleDsKKyAgICBMT05HICAgICAgICAgICAgQ291
bnQ7CisgICAgTlRTVEFUVVMgICAgICAgIHN0YXR1czsKKworICAgIEluZGV4ID0gMDsKKyAgICBD
b3VudCA9IDA7CisgICAgZm9yICg7OykgeworICAgICAgICBpZiAoQnVmZmVyW0luZGV4XSA9PSAn
XDAnKSB7CisgICAgICAgICAgICBDb3VudCsrOworICAgICAgICAgICAgSW5kZXgrKzsKKworICAg
ICAgICAgICAgLy8gQ2hlY2sgZm9yIGRvdWJsZSBOVUwKKyAgICAgICAgICAgIGlmIChCdWZmZXJb
SW5kZXhdID09ICdcMCcpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICBJbmRleCsrOworICAgICAgICB9CisgICAgfQorCisgICAgQW5zaSA9IF9f
QWxsb2NhdGVQb29sV2l0aFRhZyhOb25QYWdlZFBvb2wsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzaXplb2YgKEFOU0lfU1RSSU5HKSAqIChDb3VudCArIDEpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgQURBUFRFUl9TSUdOQVRVUkUpOworCisgICAgc3RhdHVz
ID0gU1RBVFVTX05PX01FTU9SWTsKKyAgICBpZiAoQW5zaSA9PSBOVUxMKQorICAgICAgICBnb3Rv
IGZhaWwxOworCisgICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgQ291bnQ7IEluZGV4KyspIHsK
KyAgICAgICAgVUxPTkcgICBMZW5ndGg7CisKKyAgICAgICAgTGVuZ3RoID0gKFVMT05HKXN0cmxl
bihCdWZmZXIpOworICAgICAgICBBbnNpW0luZGV4XS5NYXhpbXVtTGVuZ3RoID0gKFVTSE9SVCko
TGVuZ3RoICsgMSk7CisgICAgICAgIEFuc2lbSW5kZXhdLkJ1ZmZlciA9IF9fQWxsb2NhdGVQb29s
V2l0aFRhZyhOb25QYWdlZFBvb2wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBBbnNpW0luZGV4XS5NYXhpbXVtTGVuZ3RoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQURBUFRFUl9TSUdOQVRVUkUp
OworCisgICAgICAgIHN0YXR1cyA9IFNUQVRVU19OT19NRU1PUlk7CisgICAgICAgIGlmIChBbnNp
W0luZGV4XS5CdWZmZXIgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZmFpbDI7CisKKyAgICAg
ICAgUnRsQ29weU1lbW9yeShBbnNpW0luZGV4XS5CdWZmZXIsIEJ1ZmZlciwgTGVuZ3RoKTsKKyAg
ICAgICAgQW5zaVtJbmRleF0uTGVuZ3RoID0gKFVTSE9SVClMZW5ndGg7CisKKyAgICAgICAgQnVm
ZmVyICs9IExlbmd0aCArIDE7CisgICAgfQorCisgICAgcmV0dXJuIEFuc2k7CisKK2ZhaWwyOgor
ICAgIEVycm9yKCJmYWlsMlxuIik7CisKKyAgICB3aGlsZSAoLS1JbmRleCA+PSAwKQorICAgICAg
ICAgICAgX19GcmVlUG9vbFdpdGhUYWcoQW5zaVtJbmRleF0uQnVmZmVyLCBBREFQVEVSX1NJR05B
VFVSRSk7CisKKyAgICBfX0ZyZWVQb29sV2l0aFRhZyhBbnNpLCBBREFQVEVSX1NJR05BVFVSRSk7
CisKK2ZhaWwxOgorICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7CisKKyAgICBy
ZXR1cm4gTlVMTDsKK30KKworc3RhdGljIEZPUkNFSU5MSU5FIFBBTlNJX1NUUklORworX19BZGFw
dGVyTXVsdGlTelRvVXBjYXNlQW5zaSgKKyAgICBJTiAgUENIQVIgICAgICAgQnVmZmVyCisgICAg
KQoreworICAgIFBBTlNJX1NUUklORyAgICBBbnNpOworICAgIExPTkcgICAgICAgICAgICBJbmRl
eDsKKyAgICBMT05HICAgICAgICAgICAgQ291bnQ7CisgICAgTlRTVEFUVVMgICAgICAgIHN0YXR1
czsKKworICAgIEluZGV4ID0gMDsKKyAgICBDb3VudCA9IDA7CisgICAgZm9yICg7OykgeworICAg
ICAgICBpZiAoQnVmZmVyW0luZGV4XSA9PSAnXDAnKSB7CisgICAgICAgICAgICBDb3VudCsrOwor
ICAgICAgICAgICAgSW5kZXgrKzsKKworICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIGRvdWJsZSBO
VUwKKyAgICAgICAgICAgIGlmIChCdWZmZXJbSW5kZXhdID09ICdcMCcpCisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBCdWZmZXJbSW5kZXhdID0g
X190b3VwcGVyKEJ1ZmZlcltJbmRleF0pOworICAgICAgICAgICAgSW5kZXgrKzsKKyAgICAgICAg
fQorICAgIH0KKworICAgIEFuc2kgPSBfX0FsbG9jYXRlUG9vbFdpdGhUYWcoTm9uUGFnZWRQb29s
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChBTlNJX1NUUklORykg
KiAoQ291bnQgKyAxKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQVBURVJf
U0lHTkFUVVJFKTsKKworICAgIHN0YXR1cyA9IFNUQVRVU19OT19NRU1PUlk7CisgICAgaWYgKEFu
c2kgPT0gTlVMTCkKKyAgICAgICAgZ290byBmYWlsMTsKKworICAgIGZvciAoSW5kZXggPSAwOyBJ
bmRleCA8IENvdW50OyBJbmRleCsrKSB7CisgICAgICAgIFVMT05HICAgTGVuZ3RoOworCisgICAg
ICAgIExlbmd0aCA9IChVTE9ORylzdHJsZW4oQnVmZmVyKTsKKyAgICAgICAgQW5zaVtJbmRleF0u
TWF4aW11bUxlbmd0aCA9IChVU0hPUlQpKExlbmd0aCArIDEpOworICAgICAgICBBbnNpW0luZGV4
XS5CdWZmZXIgPSBfX0FsbG9jYXRlUG9vbFdpdGhUYWcoTm9uUGFnZWRQb29sLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5zaVtJbmRleF0uTWF4
aW11bUxlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEFEQVBURVJfU0lHTkFUVVJFKTsKKworICAgICAgICBzdGF0dXMgPSBTVEFUVVNfTk9f
TUVNT1JZOworICAgICAgICBpZiAoQW5zaVtJbmRleF0uQnVmZmVyID09IE5VTEwpCisgICAgICAg
ICAgICBnb3RvIGZhaWwyOworCisgICAgICAgIFJ0bENvcHlNZW1vcnkoQW5zaVtJbmRleF0uQnVm
ZmVyLCBCdWZmZXIsIExlbmd0aCk7CisgICAgICAgIEFuc2lbSW5kZXhdLkxlbmd0aCA9IChVU0hP
UlQpTGVuZ3RoOworCisgICAgICAgIEJ1ZmZlciArPSBMZW5ndGggKyAxOworICAgIH0KKworICAg
IHJldHVybiBBbnNpOworCitmYWlsMjoKKyAgICBFcnJvcigiZmFpbDJcbiIpOworCisgICAgd2hp
bGUgKC0tSW5kZXggPj0gMCkKKyAgICAgICAgICAgIF9fRnJlZVBvb2xXaXRoVGFnKEFuc2lbSW5k
ZXhdLkJ1ZmZlciwgQURBUFRFUl9TSUdOQVRVUkUpOworCisgICAgX19GcmVlUG9vbFdpdGhUYWco
QW5zaSwgQURBUFRFUl9TSUdOQVRVUkUpOworCitmYWlsMToKKyAgICBFcnJvcigiZmFpbDEgKCUw
OHgpXG4iLCBzdGF0dXMpOworCisgICAgcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBGT1JDRUlO
TElORSBWT0lECitfX0FkYXB0ZXJGcmVlQW5zaSgKKyAgICBJTiAgUEFOU0lfU1RSSU5HICAgIEFu
c2kKKyAgICApCit7CisgICAgVUxPTkcgICAgICAgICAgICAgICBJbmRleDsKKworICAgIGZvciAo
SW5kZXggPSAwOyBBbnNpW0luZGV4XS5CdWZmZXIgIT0gTlVMTDsgSW5kZXgrKykKKyAgICAgICAg
ICAgIF9fRnJlZVBvb2xXaXRoVGFnKEFuc2lbSW5kZXhdLkJ1ZmZlciwgQURBUFRFUl9TSUdOQVRV
UkUpOworCisgICAgX19GcmVlUG9vbFdpdGhUYWcoQW5zaSwgQURBUFRFUl9TSUdOQVRVUkUpOwor
fQorCitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgVk9JRAorQWRhcHRlclNjYW5UYXJnZXRzKAor
ICAgIF9faW4gICAgUFhFTlZCRF9BREFQVEVSIEFkYXB0ZXIKKyAgICApCit7CisgICAgTlRTVEFU
VVMgICAgICAgIFN0YXR1czsKKyAgICBQQ0hBUiAgICAgICAgICAgQnVmZmVyOworICAgIFBBTlNJ
X1NUUklORyAgICBEZXZpY2VzOworICAgIEJPT0xFQU4gICAgICAgICBOZWVkSW52YWxpZGF0ZTsK
KyAgICBCT09MRUFOICAgICAgICAgTmVlZFJlYm9vdDsKKworICAgIFN0YXR1cyA9IFhFTkJVU19T
VE9SRShEaXJlY3RvcnksICZBZGFwdGVyLT5TdG9yZSwgTlVMTCwgImRldmljZSIsIEFkYXB0ZXJF
bnVtKEFkYXB0ZXIpLCAmQnVmZmVyKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgRGV2aWNlcyA9IF9fQWRhcHRlck11bHRpU3pUb0Fuc2koQnVm
ZmVyKTsKKyAgICBYRU5CVVNfU1RPUkUoRnJlZSwgJkFkYXB0ZXItPlN0b3JlLCBCdWZmZXIpOwor
CisgICAgaWYgKERldmljZXMgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworCisgICAgX19BZGFw
dGVyRW51bWVyYXRlKEFkYXB0ZXIsIERldmljZXMsICZOZWVkSW52YWxpZGF0ZSwgJk5lZWRSZWJv
b3QpOworICAgIF9fQWRhcHRlckZyZWVBbnNpKERldmljZXMpOworCisgICAgaWYgKE5lZWRJbnZh
bGlkYXRlKSB7CisgICAgICAgIFN0b3JQb3J0Tm90aWZpY2F0aW9uKEJ1c0NoYW5nZURldGVjdGVk
LCBBZGFwdGVyLCAwKTsKKyAgICB9CisgICAgaWYgKE5lZWRSZWJvb3QpIHsKKyAgICAgICAgRHJp
dmVyUmVxdWVzdFJlYm9vdCgpOworICAgIH0KK30KKworX19jaGVja1JldHVybgorc3RhdGljIERF
Q0xTUEVDX05PSU5MSU5FIE5UU1RBVFVTCitBZGFwdGVyU2NhbigKKyAgICBfX2luIFBYRU5WQkRf
VEhSRUFEICAgICAgICAgICAgICBUaHJlYWQsCisgICAgX19pbiBQVk9JRCAgICAgICAgICAgICAg
ICAgICAgICAgQ29udGV4dAorICAgICkKK3sKKyAgICBQWEVOVkJEX0FEQVBURVIgICAgIEFkYXB0
ZXIgPSBDb250ZXh0OworICAgIFBLRVZFTlQgICAgICAgICBFdmVudCA9IFRocmVhZEdldEV2ZW50
KFRocmVhZCk7CisKKyAgICBmb3IgKDs7KSB7CisgICAgICAgIFRyYWNlKCJ3YWl0aW5nLi4uXG4i
KTsKKworICAgICAgICAoVk9JRCkgS2VXYWl0Rm9yU2luZ2xlT2JqZWN0KEV2ZW50LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4ZWN1dGl2ZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBLZXJuZWxNb2RlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE5VTEwpOworICAgICAgICBLZUNsZWFyRXZlbnQoRXZlbnQpOworCisgICAgICAgIGlmIChU
aHJlYWRJc0FsZXJ0ZWQoVGhyZWFkKSkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGlm
IChfX0FkYXB0ZXJHZXREZXZpY2VQb3dlclN0YXRlKEFkYXB0ZXIpID09IFBvd2VyRGV2aWNlRDAp
CisgICAgICAgICAgICBBZGFwdGVyU2NhblRhcmdldHMoQWRhcHRlcik7CisKKyAgICAgICAgS2VT
ZXRFdmVudCgmQWRhcHRlci0+U2NhbkV2ZW50LCBJT19OT19JTkNSRU1FTlQsIEZBTFNFKTsKKyAg
ICB9CisgICAgS2VTZXRFdmVudCgmQWRhcHRlci0+U2NhbkV2ZW50LCBJT19OT19JTkNSRU1FTlQs
IEZBTFNFKTsKKworICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKK30KKworLy89PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQorLy8gSW5pdGlhbGl6ZSwgU3RhcnQsIFN0b3AKKworX19kcnZfcmVxdWlyZXNJ
UlFMKFBBU1NJVkVfTEVWRUwpCitzdGF0aWMgRk9SQ0VJTkxJTkUgTlRTVEFUVVMKK19fQWRhcHRl
clF1ZXJ5SW50ZXJmYWNlcygKKyAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICBB
ZGFwdGVyCisgICAgKQoreworICAgIE5UU1RBVFVTICAgICAgICBTdGF0dXM7CisKKyAgICBBU1NF
UlQzVShLZUdldEN1cnJlbnRJcnFsKCksID09LCBQQVNTSVZFX0xFVkVMKTsKKworICAgIC8vIEdl
dCBTVE9SRSBJbnRlcmZhY2UKKyAgICBTdGF0dXMgPSBRVUVSWV9JTlRFUkZBQ0UoQWRhcHRlciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOQlVTLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBTVE9SRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFBJTlRFUkZB
Q0UpJkFkYXB0ZXItPlN0b3JlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yg
KEFkYXB0ZXItPlN0b3JlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UpOwor
ICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwxOworCisgICAg
Ly8gR2V0IEVWVENITiBJbnRlcmZhY2UKKyAgICBTdGF0dXMgPSBRVUVSWV9JTlRFUkZBQ0UoQWRh
cHRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOQlVTLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBFVlRDSE4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQ
SU5URVJGQUNFKSZBZGFwdGVyLT5FdnRjaG4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNpemVvZiAoQWRhcHRlci0+RXZ0Y2huKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RkFMU0UpOworICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwy
OworCisgICAgLy8gR2V0IEdOVFRBQiBJbnRlcmZhY2UKKyAgICBTdGF0dXMgPSBRVUVSWV9JTlRF
UkZBQ0UoQWRhcHRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOQlVTLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBHTlRUQUIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIChQSU5URVJGQUNFKSZBZGFwdGVyLT5HbnR0YWIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNpemVvZiAoQWRhcHRlci0+R250dGFiKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgRkFMU0UpOworICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQorICAgICAgICBn
b3RvIGZhaWwzOworCisgICAgLy8gR2V0IFNVU1BFTkQgSW50ZXJmYWNlCisgICAgU3RhdHVzID0g
UVVFUllfSU5URVJGQUNFKEFkYXB0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhF
TkJVUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VTUEVORCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKFBJTlRFUkZBQ0UpJkFkYXB0ZXItPlN1c3BlbmQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNpemVvZiAoQWRhcHRlci0+U3VzcGVuZCksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEZBTFNFKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVz
KSkKKyAgICAgICAgZ290byBmYWlsNDsKKworICAgIC8vIEdldCBERUJVRyBJbnRlcmZhY2UKKyAg
ICBTdGF0dXMgPSBRVUVSWV9JTlRFUkZBQ0UoQWRhcHRlciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgWEVOQlVTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERUJVRywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKFBJTlRFUkZBQ0UpJkFkYXB0ZXItPkRlYnVnLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKEFkYXB0ZXItPkRlYnVnKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UpOworICAgIGlmICghTlRfU1VDQ0VTUyhT
dGF0dXMpKQorICAgICAgICBnb3RvIGZhaWw1OworCisgICAgLy8gR2V0IFVOUExVRyBJbnRlcmZh
Y2UKKyAgICBTdGF0dXMgPSBRVUVSWV9JTlRFUkZBQ0UoQWRhcHRlciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgWEVOQlVTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVTlBM
VUcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQSU5URVJGQUNFKSZBZGFwdGVyLT5V
bnBsdWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZiAoQWRhcHRlci0+VW5w
bHVnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UpOworICAgIGlmICghTlRf
U1VDQ0VTUyhTdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWw2OworCisgICAgLy8gR2V0IEVNVUxB
VEVEIEludGVyZmFjZSAob3B0aW9uYWwpCisgICAgU3RhdHVzID0gUVVFUllfSU5URVJGQUNFKEFk
YXB0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTkZJTFQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEVNVUxBVEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoUElOVEVSRkFDRSkmQWRhcHRlci0+RW11bGF0ZWQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNpemVvZiAoQWRhcHRlci0+RW11bGF0ZWQpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBUUlVFKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKKyAgICAgICAgZ290
byBmYWlsNzsKKworICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKKworZmFpbDc6CisgICAgUnRs
WmVyb01lbW9yeSgmQWRhcHRlci0+VW5wbHVnLAorICAgICAgICAgICAgICAgICAgc2l6ZW9mIChY
RU5CVVNfVU5QTFVHX0lOVEVSRkFDRSkpOworZmFpbDY6CisgICAgUnRsWmVyb01lbW9yeSgmQWRh
cHRlci0+RGVidWcsCisgICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkJVU19ERUJVR19JTlRF
UkZBQ0UpKTsKK2ZhaWw1OgorICAgIFJ0bFplcm9NZW1vcnkoJkFkYXB0ZXItPlN1c3BlbmQsCisg
ICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkJVU19TVVNQRU5EX0lOVEVSRkFDRSkpOworZmFp
bDQ6CisgICAgUnRsWmVyb01lbW9yeSgmQWRhcHRlci0+R250dGFiLAorICAgICAgICAgICAgICAg
ICAgc2l6ZW9mIChYRU5CVVNfR05UVEFCX0lOVEVSRkFDRSkpOworZmFpbDM6CisgICAgUnRsWmVy
b01lbW9yeSgmQWRhcHRlci0+RXZ0Y2huLAorICAgICAgICAgICAgICAgICAgc2l6ZW9mIChYRU5C
VVNfRVZUQ0hOX0lOVEVSRkFDRSkpOworZmFpbDI6CisgICAgUnRsWmVyb01lbW9yeSgmQWRhcHRl
ci0+U3RvcmUsCisgICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkJVU19TVE9SRV9JTlRFUkZB
Q0UpKTsKK2ZhaWwxOgorICAgIHJldHVybiBTdGF0dXM7Cit9CitzdGF0aWMgRk9SQ0VJTkxJTkUg
Vk9JRAorX19BZGFwdGVyWmVyb0ludGVyZmFjZXMoCisgICAgX19pbiBQWEVOVkJEX0FEQVBURVIg
ICAgICAgICAgICAgQWRhcHRlcgorICAgICkKK3sKKyAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVy
LT5FbXVsYXRlZCwKKyAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVORklMVF9FTVVMQVRFRF9J
TlRFUkZBQ0UpKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5VbnBsdWcsCisgICAgICAg
ICAgICAgICAgICBzaXplb2YgKFhFTkJVU19VTlBMVUdfSU5URVJGQUNFKSk7CisgICAgUnRsWmVy
b01lbW9yeSgmQWRhcHRlci0+RGVidWcsCisgICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkJV
U19ERUJVR19JTlRFUkZBQ0UpKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5TdXNwZW5k
LAorICAgICAgICAgICAgICAgICAgc2l6ZW9mIChYRU5CVVNfU1VTUEVORF9JTlRFUkZBQ0UpKTsK
KyAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5HbnR0YWIsCisgICAgICAgICAgICAgICAgICBz
aXplb2YgKFhFTkJVU19HTlRUQUJfSU5URVJGQUNFKSk7CisgICAgUnRsWmVyb01lbW9yeSgmQWRh
cHRlci0+RXZ0Y2huLAorICAgICAgICAgICAgICAgICAgc2l6ZW9mIChYRU5CVVNfRVZUQ0hOX0lO
VEVSRkFDRSkpOworICAgIFJ0bFplcm9NZW1vcnkoJkFkYXB0ZXItPlN0b3JlLAorICAgICAgICAg
ICAgICAgICAgc2l6ZW9mIChYRU5CVVNfU1RPUkVfSU5URVJGQUNFKSk7Cit9CitzdGF0aWMgRk9S
Q0VJTkxJTkUgTlRTVEFUVVMKK19fQWRhcHRlckFjcXVpcmUoCisgICAgX19pbiBQWEVOVkJEX0FE
QVBURVIgICAgQWRhcHRlcgorICAgICkKK3sKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1
czsKKworICAgIGlmIChBZGFwdGVyLT5FbXVsYXRlZC5JbnRlcmZhY2UuQ29udGV4dCkgeworICAg
ICAgICBzdGF0dXMgPSBYRU5GSUxUX0VNVUxBVEVEKEFjcXVpcmUsICZBZGFwdGVyLT5FbXVsYXRl
ZCk7CisgICAgICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICAgICAgZ290byBm
YWlsMTsKKyAgICB9CisKKyAgICBzdGF0dXMgPSBYRU5CVVNfU1VTUEVORChBY3F1aXJlLCAmQWRh
cHRlci0+U3VzcGVuZCk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdv
dG8gZmFpbDI7CisKKyAgICBzdGF0dXMgPSBYRU5CVVNfREVCVUcoQWNxdWlyZSwgJkFkYXB0ZXIt
PkRlYnVnKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBmYWls
MzsKKworICAgIHN0YXR1cyA9IFhFTkJVU19HTlRUQUIoQWNxdWlyZSwgJkFkYXB0ZXItPkdudHRh
Yik7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDQ7CisK
KyAgICBzdGF0dXMgPSBYRU5CVVNfRVZUQ0hOKEFjcXVpcmUsICZBZGFwdGVyLT5FdnRjaG4pOwor
ICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWw1OworCisgICAg
c3RhdHVzID0gWEVOQlVTX1NUT1JFKEFjcXVpcmUsICZBZGFwdGVyLT5TdG9yZSk7CisgICAgaWYg
KCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDY7CisKKyAgICByZXR1cm4g
U1RBVFVTX1NVQ0NFU1M7CisKK2ZhaWw2OgorICAgIFhFTkJVU19FVlRDSE4oUmVsZWFzZSwgJkFk
YXB0ZXItPkV2dGNobik7CitmYWlsNToKKyAgICBYRU5CVVNfR05UVEFCKFJlbGVhc2UsICZBZGFw
dGVyLT5HbnR0YWIpOworZmFpbDQ6CisgICAgWEVOQlVTX0RFQlVHKFJlbGVhc2UsICZBZGFwdGVy
LT5EZWJ1Zyk7CitmYWlsMzoKKyAgICBYRU5CVVNfU1VTUEVORChSZWxlYXNlLCAmQWRhcHRlci0+
U3VzcGVuZCk7CitmYWlsMjoKKyAgICBpZiAoQWRhcHRlci0+RW11bGF0ZWQuSW50ZXJmYWNlLkNv
bnRleHQpCisgICAgICAgIFhFTkZJTFRfRU1VTEFURUQoUmVsZWFzZSwgJkFkYXB0ZXItPkVtdWxh
dGVkKTsKK2ZhaWwxOgorICAgIHJldHVybiBzdGF0dXM7Cit9CitzdGF0aWMgRk9SQ0VJTkxJTkUg
Vk9JRAorX19BZGFwdGVyUmVsZWFzZSgKKyAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAg
ICAgICBBZGFwdGVyCisgICAgKQoreworICAgIFhFTkJVU19TVE9SRShSZWxlYXNlLCAmQWRhcHRl
ci0+U3RvcmUpOworICAgIFhFTkJVU19FVlRDSE4oUmVsZWFzZSwgJkFkYXB0ZXItPkV2dGNobik7
CisgICAgWEVOQlVTX0dOVFRBQihSZWxlYXNlLCAmQWRhcHRlci0+R250dGFiKTsKKyAgICBYRU5C
VVNfREVCVUcoUmVsZWFzZSwgJkFkYXB0ZXItPkRlYnVnKTsKKyAgICBYRU5CVVNfU1VTUEVORChS
ZWxlYXNlLCAmQWRhcHRlci0+U3VzcGVuZCk7CisgICAgaWYgKEFkYXB0ZXItPkVtdWxhdGVkLklu
dGVyZmFjZS5Db250ZXh0KQorICAgICAgICBYRU5GSUxUX0VNVUxBVEVEKFJlbGVhc2UsICZBZGFw
dGVyLT5FbXVsYXRlZCk7Cit9CisKK3N0YXRpYyBGT1JDRUlOTElORSBCT09MRUFOCitfX0FkYXB0
ZXJNYXRjaERpc3RyaWJ1dGlvbigKKyAgICBJTiAgUFhFTlZCRF9BREFQVEVSIEFkYXB0ZXIsCisg
ICAgSU4gIFBDSEFSICAgICAgIEJ1ZmZlcgorICAgICkKK3sKKyAgICBQQ0hBUiAgICAgICAgICAg
VmVuZG9yOworICAgIFBDSEFSICAgICAgICAgICBQcm9kdWN0OworICAgIFBDSEFSICAgICAgICAg
ICBDb250ZXh0OworICAgIGNvbnN0IENIQVIgICAgICAqVGV4dDsKKyAgICBCT09MRUFOICAgICAg
ICAgTWF0Y2g7CisgICAgVUxPTkcgICAgICAgICAgIEluZGV4OworICAgIE5UU1RBVFVTICAgICAg
ICBzdGF0dXM7CisKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKEFkYXB0ZXIpOworCisgICAg
c3RhdHVzID0gU1RBVFVTX0lOVkFMSURfUEFSQU1FVEVSOworCisgICAgVmVuZG9yID0gX19zdHJ0
b2tfcihCdWZmZXIsICIgIiwgJkNvbnRleHQpOworICAgIGlmIChWZW5kb3IgPT0gTlVMTCkKKyAg
ICAgICAgZ290byBmYWlsMTsKKworICAgIFByb2R1Y3QgPSBfX3N0cnRva19yKE5VTEwsICIgIiwg
JkNvbnRleHQpOworICAgIGlmIChQcm9kdWN0ID09IE5VTEwpCisgICAgICAgIGdvdG8gZmFpbDI7
CisKKyAgICBNYXRjaCA9IFRSVUU7CisKKyAgICBUZXh0ID0gVkVORE9SX05BTUVfU1RSOworCisg
ICAgZm9yIChJbmRleCA9IDA7IFRleHRbSW5kZXhdICE9IDA7IEluZGV4KyspIHsKKyAgICAgICAg
aWYgKCFpc2FsbnVtKChVQ0hBUilUZXh0W0luZGV4XSkpIHsKKyAgICAgICAgICAgIGlmIChWZW5k
b3JbSW5kZXhdICE9ICdfJykgeworICAgICAgICAgICAgICAgIE1hdGNoID0gRkFMU0U7CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICBpZiAoVmVuZG9yW0luZGV4XSAhPSBUZXh0W0luZGV4XSkgeworICAgICAgICAgICAg
ICAgIE1hdGNoID0gRkFMU0U7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBUZXh0ID0gIlhFTlZCRCI7CisKKyAgICBpZiAoX3N0
cmljbXAoUHJvZHVjdCwgVGV4dCkgIT0gMCkKKyAgICAgICAgTWF0Y2ggPSBGQUxTRTsKKworICAg
IHJldHVybiBNYXRjaDsKKworZmFpbDI6CisgICAgRXJyb3IoImZhaWwyXG4iKTsKKworZmFpbDE6
CisgICAgRXJyb3IoImZhaWwxICglMDh4KVxuIiwgc3RhdHVzKTsKKworICAgIHJldHVybiBGQUxT
RTsKK30KKworc3RhdGljIFZPSUQKK0FkYXB0ZXJDbGVhckRpc3RyaWJ1dGlvbigKKyAgICBJTiAg
UFhFTlZCRF9BREFQVEVSIEFkYXB0ZXIKKyAgICApCit7CisgICAgUENIQVIgICAgICAgICAgIEJ1
ZmZlcjsKKyAgICBQQU5TSV9TVFJJTkcgICAgRGlzdHJpYnV0aW9uczsKKyAgICBVTE9ORyAgICAg
ICAgICAgSW5kZXg7CisgICAgTlRTVEFUVVMgICAgICAgIHN0YXR1czsKKworICAgIFRyYWNlKCI9
PT09PlxuIik7CisKKyAgICBzdGF0dXMgPSBYRU5CVVNfU1RPUkUoRGlyZWN0b3J5LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+U3RvcmUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICJkcml2ZXJzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJkJ1
ZmZlcik7CisgICAgaWYgKE5UX1NVQ0NFU1Moc3RhdHVzKSkgeworICAgICAgICBEaXN0cmlidXRp
b25zID0gX19BZGFwdGVyTXVsdGlTelRvVXBjYXNlQW5zaShCdWZmZXIpOworCisgICAgICAgIFhF
TkJVU19TVE9SRShGcmVlLAorICAgICAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPlN0b3JlLAor
ICAgICAgICAgICAgICAgICAgICAgQnVmZmVyKTsKKyAgICB9IGVsc2UgeworICAgICAgICBEaXN0
cmlidXRpb25zID0gTlVMTDsKKyAgICB9CisKKyAgICBpZiAoRGlzdHJpYnV0aW9ucyA9PSBOVUxM
KQorICAgICAgICBnb3RvIGRvbmU7CisKKyAgICBmb3IgKEluZGV4ID0gMDsgRGlzdHJpYnV0aW9u
c1tJbmRleF0uQnVmZmVyICE9IE5VTEw7IEluZGV4KyspIHsKKyAgICAgICAgUEFOU0lfU1RSSU5H
ICAgIERpc3RyaWJ1dGlvbiA9ICZEaXN0cmlidXRpb25zW0luZGV4XTsKKworICAgICAgICBzdGF0
dXMgPSBYRU5CVVNfU1RPUkUoUmVhZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZB
ZGFwdGVyLT5TdG9yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZHJpdmVycyIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBEaXN0cmlidXRpb24tPkJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZCdWZmZXIpOworICAgICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAg
ICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGlmIChfX0FkYXB0ZXJNYXRjaERpc3RyaWJ1dGlv
bihBZGFwdGVyLCBCdWZmZXIpKQorICAgICAgICAgICAgKFZPSUQpIFhFTkJVU19TVE9SRShSZW1v
dmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZBZGFwdGVyLT5TdG9yZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImRyaXZlcnMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBE
aXN0cmlidXRpb24tPkJ1ZmZlcik7CisKKyAgICAgICAgWEVOQlVTX1NUT1JFKEZyZWUsCisgICAg
ICAgICAgICAgICAgICAgICAmQWRhcHRlci0+U3RvcmUsCisgICAgICAgICAgICAgICAgICAgICBC
dWZmZXIpOworICAgIH0KKworICAgIF9fQWRhcHRlckZyZWVBbnNpKERpc3RyaWJ1dGlvbnMpOwor
Citkb25lOgorICAgIFRyYWNlKCI8PT09PVxuIik7Cit9CisKKyNkZWZpbmUgTUFYSU1VTV9JTkRF
WCAgIDI1NQorCitzdGF0aWMgTlRTVEFUVVMKK0FkYXB0ZXJTZXREaXN0cmlidXRpb24oCisgICAg
SU4gIFBYRU5WQkRfQURBUFRFUiBBZGFwdGVyCisgICAgKQoreworICAgIFVMT05HICAgICAgICAg
ICBJbmRleDsKKyAgICBDSEFSICAgICAgICAgICAgRGlzdHJpYnV0aW9uW01BWE5BTUVMRU5dOwor
ICAgIENIQVIgICAgICAgICAgICBWZW5kb3JbTUFYTkFNRUxFTl07CisgICAgY29uc3QgQ0hBUiAg
ICAgICpQcm9kdWN0OworICAgIE5UU1RBVFVTICAgICAgICBzdGF0dXM7CisKKyAgICBUcmFjZSgi
PT09PT5cbiIpOworCisgICAgSW5kZXggPSAwOworICAgIHdoaWxlIChJbmRleCA8PSBNQVhJTVVN
X0lOREVYKSB7CisgICAgICAgIFBDSEFSICAgQnVmZmVyOworCisgICAgICAgIHN0YXR1cyA9IFJ0
bFN0cmluZ0NiUHJpbnRmQShEaXN0cmlidXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBNQVhOQU1FTEVOLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIiV1IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4KTsKKyAg
ICAgICAgQVNTRVJUKE5UX1NVQ0NFU1Moc3RhdHVzKSk7CisKKyAgICAgICAgc3RhdHVzID0gWEVO
QlVTX1NUT1JFKFJlYWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+
U3RvcmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImRyaXZlcnMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRGlzdHJpYnV0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlcik7
CisgICAgICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKSB7CisgICAgICAgICAgICBpZiAoc3Rh
dHVzID09IFNUQVRVU19PQkpFQ1RfTkFNRV9OT1RfRk9VTkQpCisgICAgICAgICAgICAgICAgZ290
byB1cGRhdGU7CisKKyAgICAgICAgICAgIGdvdG8gZmFpbDE7CisgICAgICAgIH0KKworICAgICAg
ICBYRU5CVVNfU1RPUkUoRnJlZSwKKyAgICAgICAgICAgICAgICAgICAgICZBZGFwdGVyLT5TdG9y
ZSwKKyAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcik7CisKKyAgICAgICAgSW5kZXgrKzsKKyAg
ICB9CisKKyAgICBzdGF0dXMgPSBTVEFUVVNfVU5TVUNDRVNTRlVMOworICAgIGdvdG8gZmFpbDI7
CisKK3VwZGF0ZToKKyAgICBzdGF0dXMgPSBSdGxTdHJpbmdDYlByaW50ZkEoVmVuZG9yLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQVhOQU1FTEVOLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiJXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBW
RU5ET1JfTkFNRV9TVFIpOworICAgIEFTU0VSVChOVF9TVUNDRVNTKHN0YXR1cykpOworCisgICAg
Zm9yIChJbmRleCAgPSAwOyBWZW5kb3JbSW5kZXhdICE9ICdcMCc7IEluZGV4KyspCisgICAgICAg
IGlmICghaXNhbG51bSgoVUNIQVIpVmVuZG9yW0luZGV4XSkpCisgICAgICAgICAgICBWZW5kb3Jb
SW5kZXhdID0gJ18nOworCisgICAgUHJvZHVjdCA9ICJYRU5WQkQiOworCisjaWYgREJHCisjZGVm
aW5lIEFUVFJJQlVURVMgICAiKERFQlVHKSIKKyNlbHNlCisjZGVmaW5lIEFUVFJJQlVURVMgICAi
IgorI2VuZGlmCisKKyAgICAoVk9JRCkgWEVOQlVTX1NUT1JFKFByaW50ZiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICZBZGFwdGVyLT5TdG9yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIE5V
TEwsCisgICAgICAgICAgICAgICAgICAgICAgICAiZHJpdmVycyIsCisgICAgICAgICAgICAgICAg
ICAgICAgICBEaXN0cmlidXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAiJXMgJXMgJXUu
JXUuJXUgJXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgVmVuZG9yLAorICAgICAgICAgICAg
ICAgICAgICAgICAgUHJvZHVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgIE1BSk9SX1ZFUlNJ
T04sCisgICAgICAgICAgICAgICAgICAgICAgICBNSU5PUl9WRVJTSU9OLAorICAgICAgICAgICAg
ICAgICAgICAgICAgTUlDUk9fVkVSU0lPTiwKKyAgICAgICAgICAgICAgICAgICAgICAgIEFUVFJJ
QlVURVMKKyAgICAgICAgICAgICAgICAgICAgICAgICk7CisKKyN1bmRlZiAgQVRUUklCVVRFUwor
CisgICAgVHJhY2UoIjw9PT09XG4iKTsKKyAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CisKK2Zh
aWwyOgorICAgIEVycm9yKCJmYWlsMlxuIik7CisKK2ZhaWwxOgorICAgIEVycm9yKCJmYWlsMSAo
JTA4eClcbiIsIHN0YXR1cyk7CisKKyAgICByZXR1cm4gc3RhdHVzOworfQorCitzdGF0aWMgRk9S
Q0VJTkxJTkUgTlRTVEFUVVMKK19fQWRhcHRlckQzVG9EMCgKKyAgICBfX2luIFBYRU5WQkRfQURB
UFRFUiAgICBBZGFwdGVyCisgICAgKQoreworICAgIE5UU1RBVFVTICAgICAgICAgICAgU3RhdHVz
OworCisgICAgVHJhY2UoIj09PT09PlxuIik7CisKKyAgICAoVk9JRCkgQWRhcHRlclNldERpc3Ry
aWJ1dGlvbihBZGFwdGVyKTsKKworICAgIEFTU0VSVDNQKEFkYXB0ZXItPlNjYW5XYXRjaCwgPT0s
IE5VTEwpOworICAgIFN0YXR1cyA9IFhFTkJVU19TVE9SRShXYXRjaEFkZCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgJkFkYXB0ZXItPlN0b3JlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZGV2aWNlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQWRhcHRlckVudW0oQWRhcHRl
ciksCisgICAgICAgICAgICAgICAgICAgICAgICAgIFRocmVhZEdldEV2ZW50KEFkYXB0ZXItPlNj
YW5UaHJlYWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+U2NhbldhdGNo
KTsKKyAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKKyAgICAgICAgZ290byBmYWlsMTsKKwor
ICAgIChWT0lEKSBYRU5CVVNfU1RPUkUoUHJpbnRmLAorICAgICAgICAgICAgICAgICAgICAgICAg
JkFkYXB0ZXItPlN0b3JlLAorICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICJmZWF0dXJlL2hvdHBsdWciLAorICAgICAgICAgICAgICAgICAgICAg
ICAgInZiZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAiJXUiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgVFJVRSk7CisKKyAgICBUcmFjZSgiPD09PT09XG4iKTsKKyAgICByZXR1cm4gU1RB
VFVTX1NVQ0NFU1M7CisKK2ZhaWwxOgorICAgIEVycm9yKCJmYWlsMSAoJTA4eClcbiIsIFN0YXR1
cyk7CisKKyAgICByZXR1cm4gU3RhdHVzOworfQorCitzdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAor
X19BZGFwdGVyRDBUb0QzKAorICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgIEFkYXB0ZXIKKyAg
ICApCit7CisgICAgVHJhY2UoIj09PT09PlxuIik7CisKKyAgICAoVk9JRCkgWEVOQlVTX1NUT1JF
KFJlbW92ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICZBZGFwdGVyLT5TdG9yZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAiZmVhdHVy
ZS9ob3RwbHVnIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ2YmQiKTsKKworICAgIChWT0lE
KSBYRU5CVVNfU1RPUkUoV2F0Y2hSZW1vdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAmQWRh
cHRlci0+U3RvcmUsCisgICAgICAgICAgICAgICAgICAgICAgICBBZGFwdGVyLT5TY2FuV2F0Y2gp
OworICAgIEFkYXB0ZXItPlNjYW5XYXRjaCA9IE5VTEw7CisKKyAgICBBZGFwdGVyQ2xlYXJEaXN0
cmlidXRpb24oQWRhcHRlcik7CisKKyAgICBUcmFjZSgiPD09PT09XG4iKTsKK30KKworX19kcnZf
cmVxdWlyZXNJUlFMKERJU1BBVENIX0xFVkVMKQorc3RhdGljIFZPSUQKK0FkYXB0ZXJTdXNwZW5k
TGF0ZUNhbGxiYWNrKAorICAgIF9faW4gUFZPSUQgICAgICAgICAgICAgICAgICAgQXJndW1lbnQK
KyAgICApCit7CisgICAgUFhFTlZCRF9BREFQVEVSICAgICBBZGFwdGVyID0gQXJndW1lbnQ7Cisg
ICAgTlRTVEFUVVMgICAgICAgIFN0YXR1czsKKworICAgIFZlcmJvc2UoIiVzICglcylcbiIsCisg
ICAgICAgICBNQUpPUl9WRVJTSU9OX1NUUiAiLiIgTUlOT1JfVkVSU0lPTl9TVFIgIi4iIE1JQ1JP
X1ZFUlNJT05fU1RSICIuIiBCVUlMRF9OVU1CRVJfU1RSLAorICAgICAgICAgREFZX1NUUiAiLyIg
TU9OVEhfU1RSICIvIiBZRUFSX1NUUik7CisKKyAgICBfX0FkYXB0ZXJEMFRvRDMoQWRhcHRlcik7
CisKKyAgICBTdGF0dXMgPSBfX0FkYXB0ZXJEM1RvRDAoQWRhcHRlcik7CisgICAgQVNTRVJUKE5U
X1NVQ0NFU1MoU3RhdHVzKSk7Cit9CisKK3N0YXRpYyBOVFNUQVRVUworQWRhcHRlckQzVG9EMCgK
KyAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICBBZGFwdGVyCisgICAgKQorewor
ICAgIE5UU1RBVFVTICAgIFN0YXR1czsKKyAgICBVTE9ORyAgICAgICBUYXJnZXRJZDsKKworICAg
IGlmICghX19BZGFwdGVyU2V0RGV2aWNlUG93ZXJTdGF0ZShBZGFwdGVyLCBQb3dlckRldmljZUQw
KSkKKyAgICAgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOworCisgICAgVHJhY2UoIj09PT09PiAo
JWQpXG4iLCBLZUdldEN1cnJlbnRJcnFsKCkpOworICAgIFZlcmJvc2UoIkQzLT5EMFxuIik7CisK
KyAgICAvLyBHZXQgSW50ZXJmYWNlcworICAgIFN0YXR1cyA9IF9fQWRhcHRlckFjcXVpcmUoQWRh
cHRlcik7CisgICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDE7
CisgICAgCisgICAgLy8gcmVnaXN0ZXIgZGVidWcgY2FsbGJhY2sKKyAgICBBU1NFUlQzUChBZGFw
dGVyLT5EZWJ1Z0NhbGxiYWNrLCA9PSwgTlVMTCk7CisgICAgU3RhdHVzID0gWEVOQlVTX0RFQlVH
KFJlZ2lzdGVyLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPkRlYnVnLCAK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgX19NT0RVTEVfXywgCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIEFkYXB0ZXJEZWJ1Z0NhbGxiYWNrLCAKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgQWRhcHRlciwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICZBZGFwdGVyLT5EZWJ1Z0Nh
bGxiYWNrKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKKyAgICAgICAgZ290byBmYWls
MjsKKworICAgIC8vIFBvd2VyIFVQIGFueSBQRE9zCisgICAgZm9yIChUYXJnZXRJZCA9IDA7IFRh
cmdldElkIDwgWEVOVkJEX01BWF9UQVJHRVRTOyArK1RhcmdldElkKSB7CisgICAgICAgIFBYRU5W
QkRfUERPIFBkbyA9IF9fQWRhcHRlckdldFBkbyhBZGFwdGVyLCBUYXJnZXRJZCk7CisgICAgICAg
IGlmIChQZG8pIHsKKyAgICAgICAgICAgIFN0YXR1cyA9IFBkb0QzVG9EMChQZG8pOworICAgICAg
ICAgICAgUGRvRGVyZWZlcmVuY2UoUGRvKTsKKworICAgICAgICAgICAgaWYgKCFOVF9TVUNDRVNT
KFN0YXR1cykpCisgICAgICAgICAgICAgICAgZ290byBmYWlsMzsKKyAgICAgICAgfQorICAgIH0K
KworICAgIFN0YXR1cyA9IF9fQWRhcHRlckQzVG9EMChBZGFwdGVyKTsKKyAgICBpZiAoIU5UX1NV
Q0NFU1MoU3RhdHVzKSkKKyAgICAgICAgZ290byBmYWlsNDsKKworICAgIC8vIHJlZ2lzdGVyIHN1
c3BlbmQgY2FsbGJhY2sgdG8gcmUtcmVnaXN0ZXIgdGhlIHdhdGNoCisgICAgQVNTRVJUM1AoQWRh
cHRlci0+U3VzcGVuZENhbGxiYWNrLCA9PSwgTlVMTCk7CisgICAgU3RhdHVzID0gWEVOQlVTX1NV
U1BFTkQoUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPlN1
c3BlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VTUEVORF9DQUxMQkFDS19MQVRF
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkYXB0ZXJTdXNwZW5kTGF0ZUNhbGxiYWNr
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkYXB0ZXIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJkFkYXB0ZXItPlN1c3BlbmRDYWxsYmFjayk7CisgICAgaWYgKCFOVF9TVUND
RVNTKFN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDU7CisKKyAgICBUcmFjZSgiPD09PT09ICgl
ZClcbiIsIEtlR2V0Q3VycmVudElycWwoKSk7CisgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwor
CitmYWlsNToKKyAgICBFcnJvcigiRmFpbDVcbiIpOworCisgICAgX19BZGFwdGVyRDBUb0QzKEFk
YXB0ZXIpOworCitmYWlsNDoKKyAgICBFcnJvcigiRmFpbDRcbiIpOworCitmYWlsMzoKKyAgICBF
cnJvcigiRmFpbDNcbiIpOworCisgICAgZm9yIChUYXJnZXRJZCA9IDA7IFRhcmdldElkIDwgWEVO
VkJEX01BWF9UQVJHRVRTOyArK1RhcmdldElkKSB7CisgICAgICAgIFBYRU5WQkRfUERPIFBkbyA9
IF9fQWRhcHRlckdldFBkbyhBZGFwdGVyLCBUYXJnZXRJZCk7CisgICAgICAgIGlmIChQZG8pIHsK
KyAgICAgICAgICAgIFBkb0QwVG9EMyhQZG8pOworICAgICAgICAgICAgUGRvRGVyZWZlcmVuY2Uo
UGRvKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIFhFTkJVU19ERUJVRyhEZXJlZ2lzdGVyLCAm
QWRhcHRlci0+RGVidWcsIEFkYXB0ZXItPkRlYnVnQ2FsbGJhY2spOworICAgIEFkYXB0ZXItPkRl
YnVnQ2FsbGJhY2sgPSBOVUxMOworCitmYWlsMjoKKyAgICBFcnJvcigiRmFpbDJcbiIpOworCisg
ICAgX19BZGFwdGVyUmVsZWFzZShBZGFwdGVyKTsKKyAgIAorZmFpbDE6CisgICAgRXJyb3IoIkZh
aWwxICglMDh4KVxuIiwgU3RhdHVzKTsKKworICAgIF9fQWRhcHRlclNldERldmljZVBvd2VyU3Rh
dGUoQWRhcHRlciwgUG93ZXJEZXZpY2VEMyk7CisgICAgcmV0dXJuIFN0YXR1czsKK30KKworc3Rh
dGljIFZPSUQKK0FkYXB0ZXJEMFRvRDMoCisgICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAg
ICAgICAgQWRhcHRlcgorICAgICkKK3sKKyAgICBVTE9ORyAgICAgICBUYXJnZXRJZDsKKworICAg
IGlmICghX19BZGFwdGVyU2V0RGV2aWNlUG93ZXJTdGF0ZShBZGFwdGVyLCBQb3dlckRldmljZUQz
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgVHJhY2UoIj09PT09PiAoJWQpXG4iLCBLZUdldEN1
cnJlbnRJcnFsKCkpOworICAgIFZlcmJvc2UoIkQwLT5EM1xuIik7CisKKyAgICAvLyByZW1vdmUg
c3VzcGVuZCBjYWxsYmFjaworICAgIFhFTkJVU19TVVNQRU5EKERlcmVnaXN0ZXIsICZBZGFwdGVy
LT5TdXNwZW5kLCBBZGFwdGVyLT5TdXNwZW5kQ2FsbGJhY2spOworICAgIEFkYXB0ZXItPlN1c3Bl
bmRDYWxsYmFjayA9IE5VTEw7CisKKyAgICBfX0FkYXB0ZXJEMFRvRDMoQWRhcHRlcik7CisKKyAg
ICAvLyBQb3dlciBET1dOIGFueSBQRE9zCisgICAgZm9yIChUYXJnZXRJZCA9IDA7IFRhcmdldElk
IDwgWEVOVkJEX01BWF9UQVJHRVRTOyArK1RhcmdldElkKSB7CisgICAgICAgIFBYRU5WQkRfUERP
IFBkbyA9IF9fQWRhcHRlckdldFBkbyhBZGFwdGVyLCBUYXJnZXRJZCk7CisgICAgICAgIGlmIChQ
ZG8pIHsKKyAgICAgICAgICAgIFBkb0QwVG9EMyhQZG8pOworICAgICAgICAgICAgUGRvRGVyZWZl
cmVuY2UoUGRvKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIGZyZWUgZGVidWcgY2FsbGJh
Y2sKKyAgICBpZiAoQWRhcHRlci0+RGVidWdDYWxsYmFjayAhPSBOVUxMKSB7CisgICAgICAgIFhF
TkJVU19ERUJVRyhEZXJlZ2lzdGVyLCAmQWRhcHRlci0+RGVidWcsIEFkYXB0ZXItPkRlYnVnQ2Fs
bGJhY2spOworICAgICAgICBBZGFwdGVyLT5EZWJ1Z0NhbGxiYWNrID0gTlVMTDsKKyAgICB9CisK
KyAgICAvLyBSZWxlYXNlIEludGVyZmFjZXMKKyAgICBfX0FkYXB0ZXJSZWxlYXNlKEFkYXB0ZXIp
OworCisgICAgVHJhY2UoIjw9PT09PSAoJWQpXG4iLCBLZUdldEN1cnJlbnRJcnFsKCkpOworfQor
CitfX2NoZWNrUmV0dXJuCitzdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFUVVMKK0FkYXB0
ZXJEZXZpY2VQb3dlcigKKyAgICBfX2luIFBYRU5WQkRfVEhSRUFEICAgICAgICAgICAgIFRocmVh
ZCwKKyAgICBfX2luIFBWT0lEICAgICAgICAgICAgICAgICAgICAgIENvbnRleHQKKyAgICApCit7
CisgICAgUFhFTlZCRF9BREFQVEVSICAgICBBZGFwdGVyID0gQ29udGV4dDsKKworICAgIGZvciAo
OzspIHsKKyAgICAgICAgUElSUCAgICAgICAgICAgICAgICBJcnA7CisgICAgICAgIFBJT19TVEFD
S19MT0NBVElPTiAgU3RhY2s7CisgICAgICAgIERFVklDRV9QT1dFUl9TVEFURSAgRGV2aWNlU3Rh
dGU7CisgICAgICAgIFBPV0VSX0FDVElPTiAgICAgICAgQWN0aW9uOworICAgICAgICBOVFNUQVRV
UyAgICAgICAgICAgIFN0YXR1czsKKworICAgICAgICBpZiAoIVRocmVhZFdhaXQoVGhyZWFkKSkK
KyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIC8vIG11c3QgaGF2ZSBhIHBlbmRlZCBEZXZp
Y2VQb3dlcklycAorICAgICAgICBBU1NFUlQzUChBZGFwdGVyLT5EZXZpY2VQb3dlcklycCwgIT0s
IE5VTEwpOworCisgICAgICAgIElycCA9IEFkYXB0ZXItPkRldmljZVBvd2VySXJwOworICAgICAg
ICBBZGFwdGVyLT5EZXZpY2VQb3dlcklycCA9IE5VTEw7CisKKyAgICAgICAgU3RhY2sgPSBJb0dl
dEN1cnJlbnRJcnBTdGFja0xvY2F0aW9uKElycCk7CisgICAgICAgIERldmljZVN0YXRlID0gU3Rh
Y2stPlBhcmFtZXRlcnMuUG93ZXIuU3RhdGUuRGV2aWNlU3RhdGU7CisgICAgICAgIEFjdGlvbiA9
IFN0YWNrLT5QYXJhbWV0ZXJzLlBvd2VyLlNodXRkb3duVHlwZTsKKworICAgICAgICBzd2l0Y2gg
KFN0YWNrLT5NaW5vckZ1bmN0aW9uKSB7CisgICAgICAgIGNhc2UgSVJQX01OX1NFVF9QT1dFUjoK
KyAgICAgICAgICAgIHN3aXRjaCAoRGV2aWNlU3RhdGUpIHsKKyAgICAgICAgICAgIGNhc2UgUG93
ZXJEZXZpY2VEMDoKKyAgICAgICAgICAgICAgICBWZXJib3NlKCJBREFQVEVSOlBvd2VyRGV2aWNl
RDBcbiIpOworICAgICAgICAgICAgICAgIEFkYXB0ZXJEM1RvRDAoQWRhcHRlcik7CisgICAgICAg
ICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgUG93ZXJEZXZpY2VEMzoKKyAgICAg
ICAgICAgICAgICBWZXJib3NlKCJBREFQVEVSOlBvd2VyRGV2aWNlRDMgKCVzKVxuIiwgUG93ZXJB
Y3Rpb25OYW1lKEFjdGlvbikpOworICAgICAgICAgICAgICAgIEFkYXB0ZXJEMFRvRDMoQWRhcHRl
cik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY2FzZSBJUlBfTU5fUVVFUllfUE9XRVI6CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBTdGF0dXMgPSBEcml2ZXJEaXNwYXRjaFBv
d2VyKEFkYXB0ZXItPkRldmljZU9iamVjdCwgSXJwKTsKKyAgICAgICAgaWYgKCFOVF9TVUNDRVNT
KFN0YXR1cykpIHsKKyAgICAgICAgICAgIFdhcm5pbmcoIlN0b3JQb3J0IGZhaWxlZCBQb3dlcklS
UCB3aXRoICUwOHhcbiIsIFN0YXR1cyk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4g
U1RBVFVTX1NVQ0NFU1M7Cit9CisKK19fY2hlY2tSZXR1cm4KK19fZHJ2X3JlcXVpcmVzSVJRTChQ
QVNTSVZFX0xFVkVMKQorc3RhdGljIE5UU1RBVFVTCitfX0FkYXB0ZXJJbml0aWFsaXplKAorICAg
IF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAgICAgIEFkYXB0ZXIKKyAgICApCit7CisgICAg
VUxPTkcgICAgICAgU3RvclN0YXR1czsKKyAgICBOVFNUQVRVUyAgICBTdGF0dXM7CisKKyAgICBU
cmFjZSgiPT09PT0+ICglZClcbiIsIEtlR2V0Q3VycmVudElycWwoKSk7CisgICAgCisgICAgQVNT
RVJUM1UoS2VHZXRDdXJyZW50SXJxbCgpLCA8PSwgRElTUEFUQ0hfTEVWRUwpOworICAgIC8vIGlu
aXRpYWxpemUgdGhlIG1lbW9yeQorICAgIEFkYXB0ZXItPkRldmljZVBvd2VyID0gUG93ZXJEZXZp
Y2VEMzsKKyAgICBLZUluaXRpYWxpemVTcGluTG9jaygmQWRhcHRlci0+VGFyZ2V0TG9jayk7Cisg
ICAgS2VJbml0aWFsaXplU3BpbkxvY2soJkFkYXB0ZXItPkxvY2spOworICAgIEtlSW5pdGlhbGl6
ZUV2ZW50KCZBZGFwdGVyLT5TY2FuRXZlbnQsIFN5bmNocm9uaXphdGlvbkV2ZW50LCBGQUxTRSk7
CisKKyAgICBBZGFwdGVyLT5TaWduYXR1cmUgPSBBREFQVEVSX1NJR05BVFVSRTsKKworICAgIFN0
b3JTdGF0dXMgPSBTdG9yUG9ydEdldERldmljZU9iamVjdHMoQWRhcHRlciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZBZGFwdGVyLT5EZXZpY2VPYmplY3QsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+UGh5c2lj
YWxEZXZpY2VPYmplY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAmQWRhcHRlci0+TG93ZXJEZXZpY2VPYmplY3QpOworICAgIFN0YXR1cyA9IFNUQVRVU19VTlNV
Q0NFU1NGVUw7CisgICAgaWYgKFN0b3JTdGF0dXMgIT0gU1RPUl9TVEFUVVNfU1VDQ0VTUykgewor
ICAgICAgICBFcnJvcigiU3RvclBvcnRHZXREZXZpY2VPYmplY3RzKCkgKCV4OiVzKVxuIiwgU3Rv
clN0YXR1cywgU3RvclN0YXR1c05hbWUoU3RvclN0YXR1cykpOworICAgICAgICBnb3RvIGZhaWwx
OworICAgIH0KKworICAgIC8vIGdldCBpbnRlcmZhY2VzCisgICAgU3RhdHVzID0gX19BZGFwdGVy
UXVlcnlJbnRlcmZhY2VzKEFkYXB0ZXIpOworICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQor
ICAgICAgICBnb3RvIGZhaWwyOworCisgICAgLy8gc3RhcnQgZW51bSB0aHJlYWQKKyAgICBTdGF0
dXMgPSBUaHJlYWRDcmVhdGUoQWRhcHRlclNjYW4sIEFkYXB0ZXIsICZBZGFwdGVyLT5TY2FuVGhy
ZWFkKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKKyAgICAgICAgZ290byBmYWlsMzsK
KworICAgIFN0YXR1cyA9IFRocmVhZENyZWF0ZShBZGFwdGVyRGV2aWNlUG93ZXIsIEFkYXB0ZXIs
ICZBZGFwdGVyLT5EZXZpY2VQb3dlclRocmVhZCk7CisgICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1
cykpCisgICAgICAgIGdvdG8gZmFpbDQ7CisKKyAgICAvLyBxdWVyeSBlbnVtZXJhdG9yCisgICAg
Ly8gZml4IHRoaXMgdXAgdG8gcXVlcnkgZnJvbSBkZXZpY2UgbG9jYXRpb24oPykKKyAgICAvL1J0
bEluaXRBbnNpU3RyaW5nKCZBZGFwdGVyLT5FbnVtZXJhdG9yLCAidmJkIik7CisKKyAgICAvLyBs
aW5rIGZkbworICAgIERyaXZlckxpbmtBZGFwdGVyKEFkYXB0ZXIpOworCisgICAgVHJhY2UoIjw9
PT09PSAoJWQpXG4iLCBLZUdldEN1cnJlbnRJcnFsKCkpOworICAgIHJldHVybiBTVEFUVVNfU1VD
Q0VTUzsKKworZmFpbDQ6CisgICAgRXJyb3IoImZhaWw0XG4iKTsKKyAgICBUaHJlYWRBbGVydChB
ZGFwdGVyLT5TY2FuVGhyZWFkKTsKKyAgICBUaHJlYWRKb2luKEFkYXB0ZXItPlNjYW5UaHJlYWQp
OworICAgIEFkYXB0ZXItPlNjYW5UaHJlYWQgPSBOVUxMOworZmFpbDM6CisgICAgRXJyb3IoImZh
aWwzXG4iKTsKKyAgICBfX0FkYXB0ZXJaZXJvSW50ZXJmYWNlcyhBZGFwdGVyKTsKK2ZhaWwyOgor
ICAgIEVycm9yKCJmYWlsMlxuIik7CisgICAgQWRhcHRlci0+RGV2aWNlT2JqZWN0ID0gTlVMTDsK
KyAgICBBZGFwdGVyLT5QaHlzaWNhbERldmljZU9iamVjdCA9IE5VTEw7CisgICAgQWRhcHRlci0+
TG93ZXJEZXZpY2VPYmplY3QgPSBOVUxMOworZmFpbDE6CisgICAgRXJyb3IoImZhaWwxICglMDh4
KVxuIiwgU3RhdHVzKTsKKyAgICByZXR1cm4gU3RhdHVzOworfQorX19kcnZfbWF4SVJRTChQQVNT
SVZFX0xFVkVMKQorc3RhdGljIFZPSUQKK19fQWRhcHRlclRlcm1pbmF0ZSgKKyAgICBfX2luIFBY
RU5WQkRfQURBUFRFUiAgICAgICAgICAgICBBZGFwdGVyCisgICAgKQoreworICAgIFVMT05HICAg
VGFyZ2V0SWQ7CisKKyAgICBUcmFjZSgiPT09PT0+ICglZClcbiIsIEtlR2V0Q3VycmVudElycWwo
KSk7CisKKyAgICBEcml2ZXJVbmxpbmtBZGFwdGVyKEFkYXB0ZXIpOworICAgIEFTU0VSVDNVKEFk
YXB0ZXItPkRldmljZVBvd2VyLCA9PSwgUG93ZXJEZXZpY2VEMyk7CisKKyAgICAvLyBzdG9wIGRl
dmljZSBwb3dlciB0aHJlYWQKKyAgICBUaHJlYWRBbGVydChBZGFwdGVyLT5EZXZpY2VQb3dlclRo
cmVhZCk7CisgICAgVGhyZWFkSm9pbihBZGFwdGVyLT5EZXZpY2VQb3dlclRocmVhZCk7CisgICAg
QWRhcHRlci0+RGV2aWNlUG93ZXJUaHJlYWQgPSBOVUxMOworCisgICAgLy8gc3RvcCBlbnVtIHRo
cmVhZAorICAgIFRocmVhZEFsZXJ0KEFkYXB0ZXItPlNjYW5UaHJlYWQpOworICAgIFRocmVhZEpv
aW4oQWRhcHRlci0+U2NhblRocmVhZCk7CisgICAgQWRhcHRlci0+U2NhblRocmVhZCA9IE5VTEw7
CisKKyAgICAvLyBjbGVhciBkZXZpY2Ugb2JqZWN0cworICAgIEFkYXB0ZXItPkRldmljZU9iamVj
dCA9IE5VTEw7CisgICAgQWRhcHRlci0+UGh5c2ljYWxEZXZpY2VPYmplY3QgPSBOVUxMOworICAg
IEFkYXB0ZXItPkxvd2VyRGV2aWNlT2JqZWN0ID0gTlVMTDsKKyAgICAKKyAgICAvLyBkZWxldGUg
dGFyZ2V0cworICAgIGZvciAoVGFyZ2V0SWQgPSAwOyBUYXJnZXRJZCA8IFhFTlZCRF9NQVhfVEFS
R0VUUzsgKytUYXJnZXRJZCkgeworICAgICAgICBQWEVOVkJEX1BETyBQZG8gPSBfX0FkYXB0ZXJH
ZXRQZG9BbHdheXMoQWRhcHRlciwgVGFyZ2V0SWQsIF9fRlVOQ1RJT05fXyk7CisgICAgICAgIGlm
IChQZG8pIHsKKyAgICAgICAgICAgIC8vIFBkbyBtYXkgbm90IGJlIGluIERlbGV0ZWQgc3RhdGUg
eWV0LCBmb3JjZSBpdCBhcyBBZGFwdGVyIGlzIHRlcm1pbmF0aW5nCisgICAgICAgICAgICBpZiAo
UGRvR2V0RGV2aWNlUG5wU3RhdGUoUGRvKSAhPSBEZWxldGVkKQorICAgICAgICAgICAgICAgIFBk
b1NldERldmljZVBucFN0YXRlKFBkbywgRGVsZXRlZCk7CisgICAgICAgICAgICAvLyB1cGRhdGUg
bWlzc2luZyAoZm9yIGRlYnVnIG91dHB1dCBtb3JlIHRoYW4gYW55dGhpbmcgZWxzZQorICAgICAg
ICAgICAgUGRvU2V0TWlzc2luZyhQZG8sICJBZGFwdGVyVGVybWluYXRlIik7CisgICAgICAgICAg
ICAvLyBkcm9wIHJlZi1jb3VudCBhY3F1aXJlZCBpbiBfX0FkYXB0ZXJHZXRQZG8gKmJlZm9yZSog
ZGVzdHJveWluZyBQZG8KKyAgICAgICAgICAgIFBkb0RlcmVmZXJlbmNlKFBkbyk7CisgICAgICAg
ICAgICBQZG9EZXN0cm95KFBkbyk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBjbGVhbnVw
IG1lbW9yeQorICAgIEFTU0VSVDNVKEFkYXB0ZXItPkRldmljZVBvd2VyLCA9PSwgUG93ZXJEZXZp
Y2VEMyk7CisgICAgQVNTRVJUM1AoQWRhcHRlci0+RGVidWdDYWxsYmFjaywgPT0sIE5VTEwpOwor
ICAgIEFTU0VSVDNQKEFkYXB0ZXItPlN1c3BlbmRDYWxsYmFjaywgPT0sIE5VTEwpOworCisgICAg
QWRhcHRlci0+U2lnbmF0dXJlID0gMDsKKyAgICBBZGFwdGVyLT5EZXZpY2VQb3dlciA9IDA7Cisg
ICAgQWRhcHRlci0+Q3VycmVudFNyYnMgPSBBZGFwdGVyLT5NYXhpbXVtU3JicyA9IEFkYXB0ZXIt
PlRvdGFsU3JicyA9IDA7CisgICAgUnRsWmVyb01lbW9yeSgmQWRhcHRlci0+RW51bWVyYXRvciwg
c2l6ZW9mKEFOU0lfU1RSSU5HKSk7CisgICAgUnRsWmVyb01lbW9yeSgmQWRhcHRlci0+VGFyZ2V0
TG9jaywgc2l6ZW9mKEtTUElOX0xPQ0spKTsKKyAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5M
b2NrLCBzaXplb2YoS1NQSU5fTE9DSykpOworICAgIFJ0bFplcm9NZW1vcnkoJkFkYXB0ZXItPlNj
YW5FdmVudCwgc2l6ZW9mKEtFVkVOVCkpOworICAgIF9fQWRhcHRlclplcm9JbnRlcmZhY2VzKEFk
YXB0ZXIpOworCisgICAgQVNTRVJUKElzWmVyb01lbW9yeShBZGFwdGVyLCBzaXplb2YoWEVOVkJE
X0FEQVBURVIpKSk7CisgICAgVHJhY2UoIjw9PT09PSAoJWQpXG4iLCBLZUdldEN1cnJlbnRJcnFs
KCkpOworfQorLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLy8gUXVlcnkgTWV0aG9kcworX19jaGVj
a1JldHVybgorRk9SQ0VJTkxJTkUgUERFVklDRV9PQkpFQ1QKK0FkYXB0ZXJHZXREZXZpY2VPYmpl
Y3QoCisgICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgICAgIEFkYXB0ZXIKKyAg
ICApCit7CisgICAgaWYgKEFkYXB0ZXIpCisgICAgICAgIHJldHVybiBBZGFwdGVyLT5EZXZpY2VP
YmplY3Q7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKK0ZPUkNFSU5MSU5FIFVMT05HCitBZGFwdGVy
U2l6ZW9mWGVudmJkQWRhcHRlcigKKyAgICApCit7CisgICAgcmV0dXJuIChVTE9ORylzaXplb2Yo
WEVOVkJEX0FEQVBURVIpOworfQorCitGT1JDRUlOTElORSBQQ0hBUgorQWRhcHRlckVudW0oCisg
ICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgICAgIEFkYXB0ZXIKKyAgICApCit7
CisgICAgaWYgKEFkYXB0ZXItPkVudW1lcmF0b3IuQnVmZmVyKQorICAgICAgICByZXR1cm4gQWRh
cHRlci0+RW51bWVyYXRvci5CdWZmZXI7CisgICAgZWxzZQorICAgICAgICByZXR1cm4gInZiZCI7
Cit9CisKKy8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy8vIFNSQiBNZXRob2RzCitGT1JDRUlOTElO
RSBWT0lECitBZGFwdGVyU3RhcnRTcmIoCisgICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAg
ICAgICAgICAgIEFkYXB0ZXIsCisgICAgX19pbiBQU0NTSV9SRVFVRVNUX0JMT0NLICAgICAgICAg
U3JiCisgICAgKQoreworICAgIExPTkcgICAgVmFsdWU7CisKKyAgICBVTlJFRkVSRU5DRURfUEFS
QU1FVEVSKFNyYik7CisKKyAgICBWYWx1ZSA9IEludGVybG9ja2VkSW5jcmVtZW50KCZBZGFwdGVy
LT5DdXJyZW50U3Jicyk7CisgICAgaWYgKFZhbHVlID4gQWRhcHRlci0+TWF4aW11bVNyYnMpCisg
ICAgICAgIEFkYXB0ZXItPk1heGltdW1TcmJzID0gVmFsdWU7CisgICAgSW50ZXJsb2NrZWRJbmNy
ZW1lbnQoJkFkYXB0ZXItPlRvdGFsU3Jicyk7Cit9CisKK0ZPUkNFSU5MSU5FIFZPSUQKK0FkYXB0
ZXJDb21wbGV0ZVNyYigKKyAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICAgICAg
QWRhcHRlciwKKyAgICBfX2luIFBTQ1NJX1JFUVVFU1RfQkxPQ0sgICAgICAgICBTcmIKKyAgICAp
Cit7CisgICAgQVNTRVJUM1UoU3JiLT5TcmJTdGF0dXMsICE9LCBTUkJfU1RBVFVTX1BFTkRJTkcp
OworCisgICAgSW50ZXJsb2NrZWREZWNyZW1lbnQoJkFkYXB0ZXItPkN1cnJlbnRTcmJzKTsKKwor
ICAgIFN0b3JQb3J0Tm90aWZpY2F0aW9uKFJlcXVlc3RDb21wbGV0ZSwgQWRhcHRlciwgU3JiKTsK
K30KKworLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLy8gU3RvclBvcnQgTWV0aG9kcworQk9PTEVB
TgorQWRhcHRlclJlc2V0QnVzKAorICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAgICAg
ICAgICBBZGFwdGVyCisgICAgKQoreworICAgIFVMT05HICAgICAgICAgICBUYXJnZXRJZDsKKwor
ICAgIFZlcmJvc2UoIj09PT0+XG4iKTsKKyAgICBmb3IgKFRhcmdldElkID0gMDsgVGFyZ2V0SWQg
PCBYRU5WQkRfTUFYX1RBUkdFVFM7ICsrVGFyZ2V0SWQpIHsKKyAgICAgICAgUFhFTlZCRF9QRE8g
UGRvID0gX19BZGFwdGVyR2V0UGRvKEFkYXB0ZXIsIFRhcmdldElkKTsKKyAgICAgICAgaWYgKFBk
bykgeworICAgICAgICAgICAgUGRvUmVzZXQoUGRvKTsKKyAgICAgICAgICAgIFBkb0RlcmVmZXJl
bmNlKFBkbyk7CisgICAgICAgIH0KKyAgICB9CisgICAgVmVyYm9zZSgiPD09PT1cbiIpOworCisg
ICAgcmV0dXJuIFRSVUU7Cit9CisKK3N0YXRpYyBWT0lECitBZGFwdGVyVW5wbHVnUmVxdWVzdCgK
KyAgICBJTiAgUFhFTlZCRF9BREFQVEVSIEFkYXB0ZXIsCisgICAgSU4gIEJPT0xFQU4gICAgIE1h
a2UKKyAgICApCit7CisgICAgTlRTVEFUVVMgICAgICAgIHN0YXR1czsKKworICAgIHN0YXR1cyA9
IFhFTkJVU19VTlBMVUcoQWNxdWlyZSwgJkFkYXB0ZXItPlVucGx1Zyk7CisgICAgaWYgKCFOVF9T
VUNDRVNTKHN0YXR1cykpCisgICAgICAgIHJldHVybjsKKworICAgIFhFTkJVU19VTlBMVUcoUmVx
dWVzdCwKKyAgICAgICAgICAgICAgICAgICZBZGFwdGVyLT5VbnBsdWcsCisgICAgICAgICAgICAg
ICAgICBYRU5CVVNfVU5QTFVHX0RFVklDRV9UWVBFX0RJU0tTLAorICAgICAgICAgICAgICAgICAg
TWFrZSk7CisKKyAgICBYRU5CVVNfVU5QTFVHKFJlbGVhc2UsICZBZGFwdGVyLT5VbnBsdWcpOwor
fQorCitVTE9ORworQWRhcHRlckZpbmRBZGFwdGVyKAorICAgIF9faW4gUFhFTlZCRF9BREFQVEVS
ICAgICAgICAgICAgICAgICBBZGFwdGVyLAorICAgIF9faW5vdXQgUFBPUlRfQ09ORklHVVJBVElP
Tl9JTkZPUk1BVElPTiAgQ29uZmlnSW5mbworICAgICkKK3sKKyAgICAvLyBzZXR1cCBjb25maWcg
aW5mbworICAgIENvbmZpZ0luZm8tPk1heGltdW1UcmFuc2Zlckxlbmd0aCAgICAgICA9IFhFTlZC
RF9NQVhfVFJBTlNGRVJfTEVOR1RIOworICAgIENvbmZpZ0luZm8tPk51bWJlck9mUGh5c2ljYWxC
cmVha3MgICAgICA9IFhFTlZCRF9NQVhfUEhZU0lDQUxfQlJFQUtTOworICAgIENvbmZpZ0luZm8t
PkFsaWdubWVudE1hc2sgICAgICAgICAgICAgICA9IDA7IC8vIEJ5dGUtQWxpZ25lZAorICAgIENv
bmZpZ0luZm8tPk51bWJlck9mQnVzZXMgICAgICAgICAgICAgICA9IDE7CisgICAgQ29uZmlnSW5m
by0+SW5pdGlhdG9yQnVzSWRbMF0gICAgICAgICAgID0gMTsKKyAgICBDb25maWdJbmZvLT5TY2F0
dGVyR2F0aGVyICAgICAgICAgICAgICAgPSBUUlVFOworICAgIENvbmZpZ0luZm8tPk1hc3RlciAg
ICAgICAgICAgICAgICAgICAgICA9IFRSVUU7CisgICAgQ29uZmlnSW5mby0+Q2FjaGVzRGF0YSAg
ICAgICAgICAgICAgICAgID0gRkFMU0U7CisgICAgQ29uZmlnSW5mby0+TWFwQnVmZmVycyAgICAg
ICAgICAgICAgICAgID0gU1RPUl9NQVBfTk9OX1JFQURfV1JJVEVfQlVGRkVSUzsKKyAgICBDb25m
aWdJbmZvLT5NYXhpbXVtTnVtYmVyT2ZUYXJnZXRzICAgICAgPSBYRU5WQkRfTUFYX1RBUkdFVFM7
CisgICAgQ29uZmlnSW5mby0+TWF4aW11bU51bWJlck9mTG9naWNhbFVuaXRzID0gMTsKKyAgICBD
b25maWdJbmZvLT5XbWlEYXRhUHJvdmlkZXIgICAgICAgICAgICAgPSBGQUxTRTsgLy8gc2hvdWxk
IGJlIFRSVUUKKyAgICBDb25maWdJbmZvLT5TeW5jaHJvbml6YXRpb25Nb2RlbCAgICAgICAgPSBT
dG9yU3luY2hyb25pemVGdWxsRHVwbGV4OworCisgICAgaWYgKENvbmZpZ0luZm8tPkRtYTY0Qml0
QWRkcmVzc2VzID09IFNDU0lfRE1BNjRfU1lTVEVNX1NVUFBPUlRFRCkgeworICAgICAgICBUcmFj
ZSgiNjRiaXQgRE1BXG4iKTsKKyAgICAgICAgQ29uZmlnSW5mby0+RG1hNjRCaXRBZGRyZXNzZXMg
PSBTQ1NJX0RNQTY0X01JTklQT1JUX1NVUFBPUlRFRDsKKyAgICB9CisKKyAgICAvLyBnZXRzIGNh
bGxlZCBvbiByZXN1bWUgZnJvbSBoaWJlcm5hdGUsIHNvIG9ubHkgc2V0dXAgaWYgbm90IGFscmVh
ZHkgZG9uZQorICAgIGlmIChBZGFwdGVyLT5TaWduYXR1cmUgPT0gQURBUFRFUl9TSUdOQVRVUkUp
IHsKKyAgICAgICAgVmVyYm9zZSgiQURBUFRFUiBhbHJlYWR5IGluaXRhbGl6ZWQgKDB4JXApXG4i
LCBBZGFwdGVyKTsKKyAgICAgICAgcmV0dXJuIFNQX1JFVFVSTl9GT1VORDsKKyAgICB9CisKKyAg
ICAvLyBXZSBuZWVkIHRvIGRvIHRoaXMgdG8gYXZvaWQgYW4gYXNzZXJ0aW9uIGluIGEgY2hlY2tl
ZCBrZXJuZWwKKyAgICAoVk9JRCkgU3RvclBvcnRHZXRVbmNhY2hlZEV4dGVuc2lvbihBZGFwdGVy
LCBDb25maWdJbmZvLCBQQUdFX1NJWkUpOworCisgICAgaWYgKCFOVF9TVUNDRVNTKF9fQWRhcHRl
ckluaXRpYWxpemUoQWRhcHRlcikpKQorICAgICAgICByZXR1cm4gU1BfUkVUVVJOX0VSUk9SOwor
CisgICAgQWRhcHRlclVucGx1Z1JlcXVlc3QoQWRhcHRlciwgVFJVRSk7CisKKyAgICBpZiAoIU5U
X1NVQ0NFU1MoQWRhcHRlckQzVG9EMChBZGFwdGVyKSkpCisgICAgICAgIHJldHVybiBTUF9SRVRV
Uk5fRVJST1I7CisKKyAgICByZXR1cm4gU1BfUkVUVVJOX0ZPVU5EOworfQorCitzdGF0aWMgRk9S
Q0VJTkxJTkUgVk9JRAorX19BZGFwdGVyU3JiUG5wKAorICAgIF9faW4gUFhFTlZCRF9BREFQVEVS
ICAgICAgICAgICAgICAgICBBZGFwdGVyLAorICAgIF9faW4gUFNDU0lfUE5QX1JFUVVFU1RfQkxP
Q0sgICAgIFNyYgorICAgICkKK3sKKyAgICBpZiAoIShTcmItPlNyYlBuUEZsYWdzICYgU1JCX1BO
UF9GTEFHU19BREFQVEVSX1JFUVVFU1QpKSB7CisgICAgICAgIFBYRU5WQkRfUERPICAgICBQZG87
CisKKyAgICAgICAgUGRvID0gX19BZGFwdGVyR2V0UGRvKEFkYXB0ZXIsIFNyYi0+VGFyZ2V0SWQp
OworICAgICAgICBpZiAoUGRvKSB7CisgICAgICAgICAgICBQZG9TcmJQbnAoUGRvLCBTcmIpOwor
ICAgICAgICAgICAgUGRvRGVyZWZlcmVuY2UoUGRvKTsKKyAgICAgICAgfQorICAgIH0KK30KKwor
Qk9PTEVBTiAKK0FkYXB0ZXJCdWlsZElvKAorICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAg
ICAgICAgICAgICBBZGFwdGVyLAorICAgIF9faW4gUFNDU0lfUkVRVUVTVF9CTE9DSyAgICAgICAg
IFNyYgorICAgICkKK3sKKyAgICBJbml0U3JiRXh0KFNyYik7CisKKyAgICBzd2l0Y2ggKFNyYi0+
RnVuY3Rpb24pIHsKKyAgICBjYXNlIFNSQl9GVU5DVElPTl9FWEVDVVRFX1NDU0k6CisgICAgY2Fz
ZSBTUkJfRlVOQ1RJT05fUkVTRVRfREVWSUNFOgorICAgIGNhc2UgU1JCX0ZVTkNUSU9OX0ZMVVNI
OgorICAgIGNhc2UgU1JCX0ZVTkNUSU9OX1NIVVRET1dOOgorICAgICAgICBBZGFwdGVyU3RhcnRT
cmIoQWRhcHRlciwgU3JiKTsKKyAgICAgICAgcmV0dXJuIFRSVUU7CisKKyAgICAgICAgLy8gZG9u
dCBwYXNzIHRvIFN0YXJ0SW8KKyAgICBjYXNlIFNSQl9GVU5DVElPTl9QTlA6CisgICAgICAgIF9f
QWRhcHRlclNyYlBucChBZGFwdGVyLCAoUFNDU0lfUE5QX1JFUVVFU1RfQkxPQ0spU3JiKTsKKyAg
ICAgICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX1NVQ0NFU1M7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgU1JCX0ZVTkNUSU9OX0FCT1JUX0NPTU1BTkQ6CisgICAgICAgIFNyYi0+U3Ji
U3RhdHVzID0gU1JCX1NUQVRVU19BQk9SVF9GQUlMRUQ7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgU1JCX0ZVTkNUSU9OX1JFU0VUX0JVUzoKKyAgICAgICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJf
U1RBVFVTX1NVQ0NFU1M7CisgICAgICAgIEFkYXB0ZXJSZXNldEJ1cyhBZGFwdGVyKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgICAgIAorICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFrOworICAgIH0K
KyAgICAKKyAgICBTdG9yUG9ydE5vdGlmaWNhdGlvbihSZXF1ZXN0Q29tcGxldGUsIEFkYXB0ZXIs
IFNyYik7CisgICAgcmV0dXJuIEZBTFNFOworfSAgIAorCitCT09MRUFOIAorQWRhcHRlclN0YXJ0
SW8oCisgICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgICAgIEFkYXB0ZXIsCisg
ICAgX19pbiBQU0NTSV9SRVFVRVNUX0JMT0NLICAgICAgICAgU3JiCisgICAgKQoreworICAgIFBY
RU5WQkRfUERPIFBkbzsKKyAgICBCT09MRUFOICAgICBDb21wbGV0ZVNyYiA9IFRSVUU7CisKKyAg
ICBQZG8gPSBfX0FkYXB0ZXJHZXRQZG8oQWRhcHRlciwgU3JiLT5UYXJnZXRJZCk7CisgICAgaWYg
KFBkbykgeworICAgICAgICBDb21wbGV0ZVNyYiA9IFBkb1N0YXJ0SW8oUGRvLCBTcmIpOworICAg
ICAgICBQZG9EZXJlZmVyZW5jZShQZG8pOworICAgIH0KKworICAgIGlmIChDb21wbGV0ZVNyYikg
eworICAgICAgICBBZGFwdGVyQ29tcGxldGVTcmIoQWRhcHRlciwgU3JiKTsKKyAgICB9CisgICAg
cmV0dXJuIFRSVUU7Cit9CisKK3N0YXRpYyBQWEVOVkJEX1BETworQWRhcHRlckdldFBkb0Zyb21E
ZXZpY2VPYmplY3QoCisgICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgICAgIEFk
YXB0ZXIsCisgICAgX19pbiBQREVWSUNFX09CSkVDVCAgICAgICAgICAgICAgRGV2aWNlT2JqZWN0
CisgICAgKQoreworICAgIFVMT05HICAgICAgICAgICBUYXJnZXRJZDsKKworICAgIEFTU0VSVDNQ
KERldmljZU9iamVjdCwgIT0sIE5VTEwpOworCisgICAgZm9yIChUYXJnZXRJZCA9IDA7IFRhcmdl
dElkIDwgWEVOVkJEX01BWF9UQVJHRVRTOyArK1RhcmdldElkKSB7CisgICAgICAgIFBYRU5WQkRf
UERPIFBkbyA9IF9fQWRhcHRlckdldFBkbyhBZGFwdGVyLCBUYXJnZXRJZCk7CisgICAgICAgIGlm
IChQZG8pIHsKKyAgICAgICAgICAgIGlmIChQZG9HZXREZXZpY2VPYmplY3QoUGRvKSA9PSBEZXZp
Y2VPYmplY3QpCisgICAgICAgICAgICAgICAgcmV0dXJuIFBkbzsKKyAgICAgICAgICAgIFBkb0Rl
cmVmZXJlbmNlKFBkbyk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gTlVMTDsKK30K
Kworc3RhdGljIFBYRU5WQkRfUERPCitBZGFwdGVyTWFwRGV2aWNlT2JqZWN0VG9QZG8oCisgICAg
X19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgICAgQWRhcHRlciwKKyAgICBfX2luIFBE
RVZJQ0VfT0JKRUNUICAgICAgICAgICAgIERldmljZU9iamVjdAorICAgICkKK3sKKyAgICBQWEVO
VkJEX1BETyAgICAgICAgICAgICAgICAgUGRvOworICAgIEtFVkVOVCAgICAgICAgICAgICAgICAg
ICAgICBDb21wbGV0ZTsKKyAgICBQSVJQICAgICAgICAgICAgICAgICAgICAgICAgSXJwOworICAg
IElPX1NUQVRVU19CTE9DSyAgICAgICAgICAgICBTdGF0dXNCbG9jazsKKyAgICBQSU9fU1RBQ0tf
TE9DQVRJT04gICAgICAgICAgU3RhY2s7CisgICAgTlRTVEFUVVMgICAgICAgICAgICAgICAgICAg
IFN0YXR1czsKKyAgICBQV0NIQVIgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nOworICAgIFVM
T05HICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXRJZDsKKyAgICBERUNMQVJFX1VOSUNPREVf
U1RSSU5HX1NJWkUoVW5pU3RyLCA0KTsKKworICAgIEtlSW5pdGlhbGl6ZUV2ZW50KCZDb21wbGV0
ZSwgTm90aWZpY2F0aW9uRXZlbnQsIEZBTFNFKTsKKyAgICAKKyAgICBJcnAgPSBJb0J1aWxkU3lu
Y2hyb25vdXNGc2RSZXF1ZXN0KElSUF9NSl9QTlAsIERldmljZU9iamVjdCwgTlVMTCwgMCwgTlVM
TCwgJkNvbXBsZXRlLCAmU3RhdHVzQmxvY2spOworICAgIGlmIChJcnAgPT0gTlVMTCkKKyAgICAg
ICAgZ290byBmYWlsMTsKKworICAgIFN0YWNrID0gSW9HZXROZXh0SXJwU3RhY2tMb2NhdGlvbihJ
cnApOworICAgIFN0YWNrLT5NaW5vckZ1bmN0aW9uID0gSVJQX01OX1FVRVJZX0lEOworICAgIFN0
YWNrLT5QYXJhbWV0ZXJzLlF1ZXJ5SWQuSWRUeXBlID0gQnVzUXVlcnlJbnN0YW5jZUlEOworCisg
ICAgSXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBTVEFUVVNfTk9UX1NVUFBPUlRFRDsKKworICAgIFN0
YXR1cyA9IElvQ2FsbERyaXZlcihEZXZpY2VPYmplY3QsIElycCk7CisgICAgaWYgKFN0YXR1cyA9
PSBTVEFUVVNfUEVORElORykgeworICAgICAgICAoVk9JRCkgS2VXYWl0Rm9yU2luZ2xlT2JqZWN0
KCZDb21wbGV0ZSwgRXhlY3V0aXZlLCBLZXJuZWxNb2RlLCBGQUxTRSwgTlVMTCk7CisgICAgICAg
IFN0YXR1cyA9IFN0YXR1c0Jsb2NrLlN0YXR1czsKKyAgICB9CisgICAgaWYgKCFOVF9TVUNDRVNT
KFN0YXR1cykpCisgICAgICAgIGdvdG8gZmFpbDI7CisKKyAgICBTdHJpbmcgPSAoUFdDSEFSKVN0
YXR1c0Jsb2NrLkluZm9ybWF0aW9uOworICAgIHN3aXRjaCAod2NzbGVuKFN0cmluZykpIHsKKyAg
ICBjYXNlIDM6CisgICAgICAgIFVuaVN0ci5MZW5ndGggPSAxICogc2l6ZW9mKFdDSEFSKTsKKyAg
ICAgICAgVW5pU3RyX2J1ZmZlclswXSA9IFN0cmluZ1sxXTsKKyAgICAgICAgVW5pU3RyX2J1ZmZl
clsxXSA9IFVOSUNPREVfTlVMTDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSA2OgorICAgICAg
ICBVbmlTdHIuTGVuZ3RoID0gMiAqIHNpemVvZihXQ0hBUik7CisgICAgICAgIFVuaVN0cl9idWZm
ZXJbMF0gPSBTdHJpbmdbMl07CisgICAgICAgIFVuaVN0cl9idWZmZXJbMV0gPSBTdHJpbmdbM107
CisgICAgICAgIFVuaVN0cl9idWZmZXJbMl0gPSBVTklDT0RFX05VTEw7CisgICAgICAgIGJyZWFr
OworICAgIGRlZmF1bHQ6CisgICAgICAgIGdvdG8gZmFpbDM7CisgICAgfQorCisgICAgU3RhdHVz
ID0gUnRsVW5pY29kZVN0cmluZ1RvSW50ZWdlcigmVW5pU3RyLCAxNiwgJlRhcmdldElkKTsKKyAg
ICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKKyAgICAgICAgZ290byBmYWlsNDsKKworICAgIFBk
byA9IF9fQWRhcHRlckdldFBkbyhBZGFwdGVyLCBUYXJnZXRJZCk7CisgICAgaWYgKFBkbyA9PSBO
VUxMKQorICAgICAgICBnb3RvIGZhaWw1OworCisgICAgUGRvU2V0RGV2aWNlT2JqZWN0KFBkbywg
RGV2aWNlT2JqZWN0KTsKKyAgICBFeEZyZWVQb29sKFN0cmluZyk7CisKKyAgICByZXR1cm4gUGRv
OworCitmYWlsNToKK2ZhaWw0OgorZmFpbDM6CisgICAgRXhGcmVlUG9vbChTdHJpbmcpOworZmFp
bDI6CitmYWlsMToKKyAgICByZXR1cm4gTlVMTDsKK30KKworX19jaGVja1JldHVybgorTlRTVEFU
VVMKK0FkYXB0ZXJGb3J3YXJkUG5wKAorICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAg
ICAgICAgIEFkYXB0ZXIsCisgICAgX19pbiBQREVWSUNFX09CSkVDVCAgICAgICAgICAgICBEZXZp
Y2VPYmplY3QsCisgICAgX19pbiBQSVJQICAgICAgICAgICAgICAgICAgICAgICBJcnAKKyAgICAp
Cit7CisgICAgUElPX1NUQUNLX0xPQ0FUSU9OICBTdGFjazsKKyAgICBQWEVOVkJEX1BETyAgICAg
ICAgIFBkbzsKKworICAgIEFTU0VSVDNQKERldmljZU9iamVjdCwgIT0sIEFkYXB0ZXItPkRldmlj
ZU9iamVjdCk7CisKKyAgICBQZG8gPSBBZGFwdGVyR2V0UGRvRnJvbURldmljZU9iamVjdChBZGFw
dGVyLCBEZXZpY2VPYmplY3QpOworICAgIGlmIChQZG8gIT0gTlVMTCkgeworICAgICAgICByZXR1
cm4gUGRvRGlzcGF0Y2hQbnAoUGRvLCBEZXZpY2VPYmplY3QsIElycCk7CisgICAgfQorCisgICAg
U3RhY2sgPSBJb0dldEN1cnJlbnRJcnBTdGFja0xvY2F0aW9uKElycCk7CisgICAgaWYgKFN0YWNr
LT5NaW5vckZ1bmN0aW9uID09IElSUF9NTl9RVUVSWV9JRCAmJgorICAgICAgICBTdGFjay0+UGFy
YW1ldGVycy5RdWVyeUlkLklkVHlwZSA9PSBCdXNRdWVyeURldmljZUlEKSB7CisgICAgICAgIFBk
byA9IEFkYXB0ZXJNYXBEZXZpY2VPYmplY3RUb1BkbyhBZGFwdGVyLCBEZXZpY2VPYmplY3QpOwor
ICAgICAgICBpZiAoUGRvICE9IE5VTEwpIHsKKyAgICAgICAgICAgIHJldHVybiBQZG9EaXNwYXRj
aFBucChQZG8sIERldmljZU9iamVjdCwgSXJwKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJl
dHVybiBEcml2ZXJEaXNwYXRjaFBucChEZXZpY2VPYmplY3QsIElycCk7Cit9CisKK19fY2hlY2tS
ZXR1cm4KK05UU1RBVFVTCitBZGFwdGVyRGlzcGF0Y2hQbnAoCisgICAgX19pbiBQWEVOVkJEX0FE
QVBURVIgICAgICAgICAgICAgICAgIEFkYXB0ZXIsCisgICAgX19pbiBQREVWSUNFX09CSkVDVCAg
ICAgICAgICAgICAgRGV2aWNlT2JqZWN0LAorICAgIF9faW4gUElSUCAgICAgICAgICAgICAgICAg
ICAgICAgIElycAorICAgICkKK3sKKyAgICBQSU9fU1RBQ0tfTE9DQVRJT04gIFN0YWNrOworCisg
ICAgQVNTRVJUM1AoRGV2aWNlT2JqZWN0LCA9PSwgQWRhcHRlci0+RGV2aWNlT2JqZWN0KTsKKwor
ICAgIFN0YWNrID0gSW9HZXRDdXJyZW50SXJwU3RhY2tMb2NhdGlvbihJcnApOworCisgICAgc3dp
dGNoIChTdGFjay0+TWlub3JGdW5jdGlvbikgeworICAgIGNhc2UgSVJQX01OX1JFTU9WRV9ERVZJ
Q0U6CisgICAgICAgIFZlcmJvc2UoIkFEQVBURVI6SVJQX01OX1JFTU9WRV9ERVZJQ0VcbiIpOwor
ICAgICAgICBBZGFwdGVyRDBUb0QzKEFkYXB0ZXIpOworICAgICAgICBBZGFwdGVyVW5wbHVnUmVx
dWVzdChBZGFwdGVyLCBGQUxTRSk7CisgICAgICAgIF9fQWRhcHRlclRlcm1pbmF0ZShBZGFwdGVy
KTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIElSUF9NTl9RVUVSWV9ERVZJQ0VfUkVMQVRJ
T05TOgorICAgICAgICBpZiAoU3RhY2stPlBhcmFtZXRlcnMuUXVlcnlEZXZpY2VSZWxhdGlvbnMu
VHlwZSA9PSBCdXNSZWxhdGlvbnMpIHsKKyAgICAgICAgICAgIEtlQ2xlYXJFdmVudCgmQWRhcHRl
ci0+U2NhbkV2ZW50KTsKKyAgICAgICAgICAgIFRocmVhZFdha2UoQWRhcHRlci0+U2NhblRocmVh
ZCk7CisKKyAgICAgICAgICAgIFRyYWNlKCJ3YWl0aW5nIGZvciBzY2FuIHRocmVhZFxuIik7CisK
KyAgICAgICAgICAgIChWT0lEKSBLZVdhaXRGb3JTaW5nbGVPYmplY3QoJkFkYXB0ZXItPlNjYW5F
dmVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXhlY3V0aXZl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLZXJuZWxNb2RlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgIH0KKyAgICAg
ICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBy
ZXR1cm4gRHJpdmVyRGlzcGF0Y2hQbnAoRGV2aWNlT2JqZWN0LCBJcnApOworfQorCitfX2NoZWNr
UmV0dXJuCitOVFNUQVRVUworQWRhcHRlckRpc3BhdGNoUG93ZXIoCisgICAgX19pbiBQWEVOVkJE
X0FEQVBURVIgICAgICAgICAgICAgICAgIEFkYXB0ZXIsCisgICAgX19pbiBQREVWSUNFX09CSkVD
VCAgICAgICAgICAgICAgRGV2aWNlT2JqZWN0LAorICAgIF9faW4gUElSUCAgICAgICAgICAgICAg
ICAgICAgICAgIElycAorICAgICkKK3sKKyAgICBQSU9fU1RBQ0tfTE9DQVRJT04gIFN0YWNrOwor
ICAgIFBPV0VSX1NUQVRFX1RZUEUgICAgUG93ZXJUeXBlOworICAgIE5UU1RBVFVTICAgICAgICAg
ICAgc3RhdHVzOworCisgICAgQVNTRVJUM1AoRGV2aWNlT2JqZWN0LCA9PSwgQWRhcHRlci0+RGV2
aWNlT2JqZWN0KTsKKworICAgIFN0YWNrID0gSW9HZXRDdXJyZW50SXJwU3RhY2tMb2NhdGlvbihJ
cnApOworICAgIFBvd2VyVHlwZSA9IFN0YWNrLT5QYXJhbWV0ZXJzLlBvd2VyLlR5cGU7CisKKyAg
ICBzd2l0Y2ggKFBvd2VyVHlwZSkgeworICAgIGNhc2UgRGV2aWNlUG93ZXJTdGF0ZToKKyAgICAg
ICAgaWYgKEFkYXB0ZXItPkRldmljZVBvd2VyVGhyZWFkID09IE5VTEwpIHsKKyAgICAgICAgICAg
IFZlcmJvc2UoIkRldmljZVBvd2VyIElSUCBiZWZvcmUgRGV2aWNlUG93ZXJUaHJlYWQgcmVhZHlc
biIpOworICAgICAgICAgICAgc3RhdHVzID0gRHJpdmVyRGlzcGF0Y2hQb3dlcihEZXZpY2VPYmpl
Y3QsIElycCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIElvTWFy
a0lycFBlbmRpbmcoSXJwKTsKKworICAgICAgICBBU1NFUlQzUChBZGFwdGVyLT5EZXZpY2VQb3dl
cklycCwgPT0sIE5VTEwpOworICAgICAgICBBU1NFUlQzUChEZXZpY2VPYmplY3QsID09LCBBZGFw
dGVyLT5EZXZpY2VPYmplY3QpOworCisgICAgICAgIEFkYXB0ZXItPkRldmljZVBvd2VySXJwID0g
SXJwOworICAgICAgICBUaHJlYWRXYWtlKEFkYXB0ZXItPkRldmljZVBvd2VyVGhyZWFkKTsKKyAg
ICAgICAgCisgICAgICAgIHN0YXR1cyA9IFNUQVRVU19QRU5ESU5HOworICAgICAgICBicmVhazsK
KworICAgIGNhc2UgU3lzdGVtUG93ZXJTdGF0ZToKKyAgICBkZWZhdWx0OgorICAgICAgICBzdGF0
dXMgPSBEcml2ZXJEaXNwYXRjaFBvd2VyKERldmljZU9iamVjdCwgSXJwKTsKKyAgICAgICAgYnJl
YWs7CisgICAgfQorCisgICAgcmV0dXJuIHN0YXR1czsKK30KKworUFhFTkJVU19TVE9SRV9JTlRF
UkZBQ0UKK0FkYXB0ZXJBY3F1aXJlU3RvcmUoCisgICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAg
QWRhcHRlcgorICAgICkKK3sKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsKKworICAg
IHN0YXR1cyA9IFhFTkJVU19TVE9SRShBY3F1aXJlLCAmQWRhcHRlci0+U3RvcmUpOworICAgIGlm
ICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHJldHVy
biAmQWRhcHRlci0+U3RvcmU7Cit9CisKK1BYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRQorQWRhcHRl
ckFjcXVpcmVFdnRjaG4oCisgICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgQWRhcHRlcgorICAg
ICkKK3sKKyAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsKKworICAgIHN0YXR1cyA9IFhF
TkJVU19FVlRDSE4oQWNxdWlyZSwgJkFkYXB0ZXItPkV2dGNobik7CisgICAgaWYgKCFOVF9TVUND
RVNTKHN0YXR1cykpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgcmV0dXJuICZBZGFwdGVy
LT5FdnRjaG47Cit9CisKK1BYRU5CVVNfR05UVEFCX0lOVEVSRkFDRQorQWRhcHRlckFjcXVpcmVH
bnR0YWIoCisgICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgQWRhcHRlcgorICAgICkKK3sKKyAg
ICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsKKworICAgIHN0YXR1cyA9IFhFTkJVU19HTlRU
QUIoQWNxdWlyZSwgJkFkYXB0ZXItPkdudHRhYik7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1
cykpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgcmV0dXJuICZBZGFwdGVyLT5HbnR0YWI7
Cit9CisKK1BYRU5CVVNfREVCVUdfSU5URVJGQUNFCitBZGFwdGVyQWNxdWlyZURlYnVnKAorICAg
IF9faW4gUFhFTlZCRF9BREFQVEVSICAgIEFkYXB0ZXIKKyAgICApCit7CisgICAgTlRTVEFUVVMg
ICAgICAgICAgICBzdGF0dXM7CisKKyAgICBzdGF0dXMgPSBYRU5CVVNfREVCVUcoQWNxdWlyZSwg
JkFkYXB0ZXItPkRlYnVnKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAg
cmV0dXJuIE5VTEw7CisKKyAgICByZXR1cm4gJkFkYXB0ZXItPkRlYnVnOworfQorCitQWEVOQlVT
X1NVU1BFTkRfSU5URVJGQUNFCitBZGFwdGVyQWNxdWlyZVN1c3BlbmQoCisgICAgX19pbiBQWEVO
VkJEX0FEQVBURVIgICAgQWRhcHRlciAgICAKKyAgICApCit7CisgICAgTlRTVEFUVVMgICAgICAg
ICAgICBzdGF0dXM7CisKKyAgICBzdGF0dXMgPSBYRU5CVVNfU1VTUEVORChBY3F1aXJlLCAmQWRh
cHRlci0+U3VzcGVuZCk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCisgICAgICAgIHJl
dHVybiBOVUxMOworCisgICAgcmV0dXJuICZBZGFwdGVyLT5TdXNwZW5kOworfQpkaWZmIC0tZ2l0
IGEvc3JjL3hlbnZiZC9hZGFwdGVyLmggYi9zcmMveGVudmJkL2FkYXB0ZXIuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzVhYTUxCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj
L3hlbnZiZC9hZGFwdGVyLmgKQEAgLTAsMCArMSwxNjIgQEAKKy8qIENvcHlyaWdodCAoYykgQ2l0
cml4IFN5c3RlbXMgSW5jLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIAorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3JtcywgCisgKiB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIAorICogdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqIAorICogKiAgIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgCisgKiAgICAgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSAKKyAqICAgICBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICogICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIAorICogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgCisgKiAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIAorICogICAgIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCAKKyAqIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIAorICogSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgCisgKiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSAKKyAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIAor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgCisgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgCisgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIAorICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIAorICogV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIAorICogTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSAKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgCisgKiBTVUNIIERBTUFH
RS4KKyAqLyAKKworI2lmbmRlZiBfWEVOVkJEX0FEQVBURVJfSAorI2RlZmluZSBfWEVOVkJEX0FE
QVBURVJfSAorCisjaW5jbHVkZSA8bnRkZGsuaD4KKwordHlwZWRlZiBzdHJ1Y3QgX1hFTlZCRF9B
REFQVEVSIFhFTlZCRF9BREFQVEVSLCAqUFhFTlZCRF9BREFQVEVSOworCisjaW5jbHVkZSA8c3Rv
cnBvcnQuaD4KKyNpbmNsdWRlICJwZG8uaCIKKyNpbmNsdWRlIDxzdG9yZV9pbnRlcmZhY2UuaD4K
KyNpbmNsdWRlIDxldnRjaG5faW50ZXJmYWNlLmg+CisjaW5jbHVkZSA8Z250dGFiX2ludGVyZmFj
ZS5oPgorI2luY2x1ZGUgPGRlYnVnX2ludGVyZmFjZS5oPgorI2luY2x1ZGUgPHN1c3BlbmRfaW50
ZXJmYWNlLmg+CisjaW5jbHVkZSA8dW5wbHVnX2ludGVyZmFjZS5oPgorCisvLyBMaW5rIFBET3MK
K2V4dGVybiBCT09MRUFOCitBZGFwdGVyTGlua1BkbygKKyAgICBfX2luIFBYRU5WQkRfQURBUFRF
UiAgICAgICAgICAgICAgICAgQWRhcHRlciwKKyAgICBfX2luIFBYRU5WQkRfUERPICAgICAgICAg
ICAgICAgICBQZG8KKyAgICApOworCitleHRlcm4gQk9PTEVBTgorQWRhcHRlclVubGlua1BkbygK
KyAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICAgICAgQWRhcHRlciwKKyAgICBf
X2luIFBYRU5WQkRfUERPICAgICAgICAgICAgICAgICBQZG8KKyAgICApOworLy8gUXVlcnkgTWV0
aG9kcworX19jaGVja1JldHVybgorZXh0ZXJuIFBERVZJQ0VfT0JKRUNUCitBZGFwdGVyR2V0RGV2
aWNlT2JqZWN0KAorICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAgICAgICAgICBBZGFw
dGVyCisgICAgKTsKKworZXh0ZXJuIFVMT05HCitBZGFwdGVyU2l6ZW9mWGVudmJkQWRhcHRlcigK
KyAgICApOworCitleHRlcm4gUENIQVIKK0FkYXB0ZXJFbnVtKAorICAgIF9faW4gUFhFTlZCRF9B
REFQVEVSICAgICAgICAgICAgICAgICBBZGFwdGVyCisgICAgKTsKKworLy8gU1JCIE1ldGhvZHMK
K2V4dGVybiBWT0lECitBZGFwdGVyU3RhcnRTcmIoCisgICAgX19pbiBQWEVOVkJEX0FEQVBURVIg
ICAgICAgICAgICAgICAgIEFkYXB0ZXIsCisgICAgX19pbiBQU0NTSV9SRVFVRVNUX0JMT0NLICAg
ICAgICAgU3JiCisgICAgKTsKKworZXh0ZXJuIFZPSUQKK0FkYXB0ZXJDb21wbGV0ZVNyYigKKyAg
ICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICAgICAgQWRhcHRlciwKKyAgICBfX2lu
IFBTQ1NJX1JFUVVFU1RfQkxPQ0sgICAgICAgICBTcmIKKyAgICApOworCisvLyBTdG9yUG9ydCBN
ZXRob2RzCitleHRlcm4gQk9PTEVBTgorQWRhcHRlclJlc2V0QnVzKAorICAgIF9faW4gUFhFTlZC
RF9BREFQVEVSICAgICAgICAgICAgICAgICBBZGFwdGVyCisgICAgKTsKKworZXh0ZXJuIFVMT05H
CitBZGFwdGVyRmluZEFkYXB0ZXIoCisgICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAg
ICAgICAgIEFkYXB0ZXIsCisgICAgX19pbm91dCBQUE9SVF9DT05GSUdVUkFUSU9OX0lORk9STUFU
SU9OICBDb25maWdJbmZvCisgICAgKTsKKworZXh0ZXJuIEJPT0xFQU4gCitBZGFwdGVyQnVpbGRJ
bygKKyAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICAgICAgQWRhcHRlciwKKyAg
ICBfX2luIFBTQ1NJX1JFUVVFU1RfQkxPQ0sgICAgICAgICBTcmIKKyAgICApOworCitleHRlcm4g
Qk9PTEVBTiAKK0FkYXB0ZXJTdGFydElvKAorICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAg
ICAgICAgICAgICBBZGFwdGVyLAorICAgIF9faW4gUFNDU0lfUkVRVUVTVF9CTE9DSyAgICAgICAg
IFNyYgorICAgICk7CisKK19fY2hlY2tSZXR1cm4KK2V4dGVybiBOVFNUQVRVUworQWRhcHRlckZv
cndhcmRQbnAoCisgICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgICAgQWRhcHRl
ciwKKyAgICBfX2luIFBERVZJQ0VfT0JKRUNUICAgICAgICAgICAgIERldmljZU9iamVjdCwKKyAg
ICBfX2luIFBJUlAgICAgICAgICAgICAgICAgICAgICAgIElycAorICAgICk7CisKK19fY2hlY2tS
ZXR1cm4KK2V4dGVybiBOVFNUQVRVUworQWRhcHRlckRpc3BhdGNoUG5wKAorICAgIF9faW4gUFhF
TlZCRF9BREFQVEVSICAgICAgICAgICAgICAgICBBZGFwdGVyLAorICAgIF9faW4gUERFVklDRV9P
QkpFQ1QgICAgICAgICAgICAgIERldmljZU9iamVjdCwKKyAgICBfX2luIFBJUlAgICAgICAgICAg
ICAgICAgICAgICAgICBJcnAKKyAgICApOworCitfX2NoZWNrUmV0dXJuCitleHRlcm4gTlRTVEFU
VVMKK0FkYXB0ZXJEaXNwYXRjaFBvd2VyKAorICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAg
ICAgICAgICAgICBBZGFwdGVyLAorICAgIF9faW4gUERFVklDRV9PQkpFQ1QgICAgICAgICAgICAg
IERldmljZU9iamVjdCwKKyAgICBfX2luIFBJUlAgICAgICAgICAgICAgICAgICAgICAgICBJcnAK
KyAgICApOworCitleHRlcm4gUFhFTkJVU19TVE9SRV9JTlRFUkZBQ0UKK0FkYXB0ZXJBY3F1aXJl
U3RvcmUoCisgICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgICAgIEFkYXB0ZXIK
KyAgICApOworCitleHRlcm4gUFhFTkJVU19FVlRDSE5fSU5URVJGQUNFCitBZGFwdGVyQWNxdWly
ZUV2dGNobigKKyAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICAgICAgQWRhcHRl
cgorICAgICk7CisKK2V4dGVybiBQWEVOQlVTX0dOVFRBQl9JTlRFUkZBQ0UKK0FkYXB0ZXJBY3F1
aXJlR250dGFiKAorICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAgICAgICAgICBBZGFw
dGVyCisgICAgKTsKKworZXh0ZXJuIFBYRU5CVVNfREVCVUdfSU5URVJGQUNFCitBZGFwdGVyQWNx
dWlyZURlYnVnKAorICAgIF9faW4gUFhFTlZCRF9BREFQVEVSICAgICAgICAgICAgICAgICBBZGFw
dGVyCisgICAgKTsKKworZXh0ZXJuIFBYRU5CVVNfU1VTUEVORF9JTlRFUkZBQ0UKK0FkYXB0ZXJB
Y3F1aXJlU3VzcGVuZCgKKyAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICAgICAg
QWRhcHRlcgorICAgICk7CisKKyNlbmRpZiAvLyBfWEVOVkJEX0FEQVBURVJfSApkaWZmIC0tZ2l0
IGEvc3JjL3hlbnZiZC9ibG9ja3JpbmcuYyBiL3NyYy94ZW52YmQvYmxvY2tyaW5nLmMKaW5kZXgg
NTBkNzM4Yi4uYjYwZjM5ZSAxMDA2NDQKLS0tIGEvc3JjL3hlbnZiZC9ibG9ja3JpbmcuYworKysg
Yi9zcmMveGVudmJkL2Jsb2NrcmluZy5jCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSAiYmxv
Y2tyaW5nLmgiCiAjaW5jbHVkZSAiZnJvbnRlbmQuaCIKICNpbmNsdWRlICJwZG8uaCIKLSNpbmNs
dWRlICJmZG8uaCIKKyNpbmNsdWRlICJhZGFwdGVyLmgiCiAjaW5jbHVkZSAidXRpbC5oIgogI2lu
Y2x1ZGUgImRlYnVnLmgiCiAjaW5jbHVkZSAic3JiZXh0LmgiCkBAIC0yNzcsMTIgKzI3NywxMiBA
QCBCbG9ja1JpbmdDb25uZWN0KAogICAgIE5UU1RBVFVTICAgICAgICBzdGF0dXM7CiAgICAgUENI
QVIgICAgICAgICAgIFZhbHVlOwogICAgIFVMT05HICAgICAgICAgICBJbmRleCwgUmluZ1BhZ2Vz
OwotICAgIFBYRU5WQkRfRkRPICAgICBGZG8gPSBQZG9HZXRGZG8oRnJvbnRlbmRHZXRQZG8oQmxv
Y2tSaW5nLT5Gcm9udGVuZCkpOworICAgIFBYRU5WQkRfQURBUFRFUiAgICAgQWRhcHRlciA9IFBk
b0dldEFkYXB0ZXIoRnJvbnRlbmRHZXRQZG8oQmxvY2tSaW5nLT5Gcm9udGVuZCkpOwogICAgIFBY
RU5WQkRfR1JBTlRFUiBHcmFudGVyID0gRnJvbnRlbmRHZXRHcmFudGVyKEJsb2NrUmluZy0+RnJv
bnRlbmQpOwogCiAgICAgQVNTRVJUKEJsb2NrUmluZy0+Q29ubmVjdGVkID09IEZBTFNFKTsKIAot
ICAgIEJsb2NrUmluZy0+U3RvcmVJbnRlcmZhY2UgPSBGZG9BY3F1aXJlU3RvcmUoRmRvKTsKKyAg
ICBCbG9ja1JpbmctPlN0b3JlSW50ZXJmYWNlID0gQWRhcHRlckFjcXVpcmVTdG9yZShBZGFwdGVy
KTsKIAogICAgIHN0YXR1cyA9IFNUQVRVU19VTlNVQ0NFU1NGVUw7CiAgICAgaWYgKEJsb2NrUmlu
Zy0+U3RvcmVJbnRlcmZhY2UgPT0gTlVMTCkKZGlmZiAtLWdpdCBhL3NyYy94ZW52YmQvZHJpdmVy
LmMgYi9zcmMveGVudmJkL2RyaXZlci5jCmluZGV4IDFmNzEzYzQuLmMyMDJiNzggMTAwNjQ0Ci0t
LSBhL3NyYy94ZW52YmQvZHJpdmVyLmMKKysrIGIvc3JjL3hlbnZiZC9kcml2ZXIuYwpAQCAtMzAs
NyArMzAsNyBAQAogICovIAogCiAjaW5jbHVkZSAiZHJpdmVyLmgiCi0jaW5jbHVkZSAiZmRvLmgi
CisjaW5jbHVkZSAiYWRhcHRlci5oIgogI2luY2x1ZGUgInBkby5oIgogI2luY2x1ZGUgInJlZ2lz
dHJ5LmgiCiAjaW5jbHVkZSAic3JiZXh0LmgiCkBAIC00OCw3ICs0OCw3IEBAIHR5cGVkZWYgc3Ry
dWN0IF9YRU5WQkRfRFJJVkVSIHsKICAgICBQRFJJVkVSX0RJU1BBVENIICAgIFN0b3JQb3J0RGlz
cGF0Y2hQbnA7CiAgICAgUERSSVZFUl9ESVNQQVRDSCAgICBTdG9yUG9ydERpc3BhdGNoUG93ZXI7
CiAgICAgUERSSVZFUl9VTkxPQUQgICAgICBTdG9yUG9ydERyaXZlclVubG9hZDsKLSAgICBQWEVO
VkJEX0ZETyAgICAgICAgIEZkbzsKKyAgICBQWEVOVkJEX0FEQVBURVIgICAgICAgICBBZGFwdGVy
OwogICAgIEtTUElOX0xPQ0sgICAgICAgICAgTG9jazsKIH0gWEVOVkJEX0RSSVZFUjsKIApAQCAt
MTE3LDUxICsxMTcsNTAgQEAgRHJpdmVyRGlzcGF0Y2hQb3dlcigKIH0KIAogVk9JRAotRHJpdmVy
TGlua0ZkbygKLSAgICBfX2luIFBYRU5WQkRfRkRPICAgICAgICAgICAgIEZkbworRHJpdmVyTGlu
a0FkYXB0ZXIoCisgICAgX19pbiBQWEVOVkJEX0FEQVBURVIgICAgICAgICAgICAgQWRhcHRlcgog
ICAgICkKIHsKICAgICBLSVJRTCAgICAgICBJcnFsOwogCiAgICAgS2VBY3F1aXJlU3BpbkxvY2so
JkRyaXZlci5Mb2NrLCAmSXJxbCk7Ci0gICAgRHJpdmVyLkZkbyA9IEZkbzsKKyAgICBEcml2ZXIu
QWRhcHRlciA9IEFkYXB0ZXI7CiAgICAgS2VSZWxlYXNlU3BpbkxvY2soJkRyaXZlci5Mb2NrLCBJ
cnFsKTsKIH0KIAogVk9JRAotRHJpdmVyVW5saW5rRmRvKAotICAgIF9faW4gUFhFTlZCRF9GRE8g
ICAgICAgICAgICAgRmRvCitEcml2ZXJVbmxpbmtBZGFwdGVyKAorICAgIF9faW4gUFhFTlZCRF9B
REFQVEVSICAgICAgICAgICAgIEFkYXB0ZXIKICAgICApCiB7CiAgICAgS0lSUUwgICAgICAgSXJx
bDsKIAotICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoRmRvKTsKKyAgICBVTlJFRkVSRU5DRURf
UEFSQU1FVEVSKEFkYXB0ZXIpOwogCiAgICAgS2VBY3F1aXJlU3BpbkxvY2soJkRyaXZlci5Mb2Nr
LCAmSXJxbCk7Ci0gICAgRHJpdmVyLkZkbyA9IE5VTEw7CisgICAgRHJpdmVyLkFkYXB0ZXIgPSBO
VUxMOwogICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZEcml2ZXIuTG9jaywgSXJxbCk7CiB9CiAKIHN0
YXRpYyBGT1JDRUlOTElORSBCT09MRUFOCi1fX0RyaXZlckdldEZkbygKK19fRHJpdmVyR2V0QWRh
cHRlcigKICAgICBJTiAgUERFVklDRV9PQkpFQ1QgICAgICBEZXZpY2VPYmplY3QsCi0gICAgT1VU
IFBYRU5WQkRfRkRPICAgICAgICAgKkZkbworICAgIE9VVCBQWEVOVkJEX0FEQVBURVIgICAgICAg
ICAqQWRhcHRlcgogICAgICkKIHsKICAgICBLSVJRTCAgICAgICBJcnFsOwotICAgIEJPT0xFQU4g
ICAgIElzRmRvID0gRkFMU0U7CisgICAgQk9PTEVBTiAgICAgSXNBZGFwdGVyID0gRkFMU0U7CiAK
ICAgICBLZUFjcXVpcmVTcGluTG9jaygmRHJpdmVyLkxvY2ssICZJcnFsKTsKLSAgICAqRmRvID0g
RHJpdmVyLkZkbzsKLSAgICBpZiAoKkZkbykgewotICAgICAgICBGZG9SZWZlcmVuY2UoKkZkbyk7
Ci0gICAgICAgIGlmIChGZG9HZXREZXZpY2VPYmplY3QoKkZkbykgPT0gRGV2aWNlT2JqZWN0KSB7
Ci0gICAgICAgICAgICBJc0ZkbyA9IFRSVUU7CisgICAgKkFkYXB0ZXIgPSBEcml2ZXIuQWRhcHRl
cjsKKyAgICBpZiAoKkFkYXB0ZXIpIHsKKyAgICAgICAgaWYgKEFkYXB0ZXJHZXREZXZpY2VPYmpl
Y3QoKkFkYXB0ZXIpID09IERldmljZU9iamVjdCkgeworICAgICAgICAgICAgSXNBZGFwdGVyID0g
VFJVRTsKICAgICAgICAgfQogICAgIH0KICAgICBLZVJlbGVhc2VTcGluTG9jaygmRHJpdmVyLkxv
Y2ssIElycWwpOwogCi0gICAgcmV0dXJuIElzRmRvOworICAgIHJldHVybiBJc0FkYXB0ZXI7CiB9
CiAKICNkZWZpbmUgTUFYTkFNRUxFTiAgMjU2CkBAIC0zNjUsNyArMzY0LDcgQEAgSHdSZXNldEJ1
cygKIHsKICAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKFBhdGhJZCk7CiAKLSAgICByZXR1cm4g
RmRvUmVzZXRCdXMoKFBYRU5WQkRfRkRPKUh3RGV2aWNlRXh0ZW5zaW9uKTsKKyAgICByZXR1cm4g
QWRhcHRlclJlc2V0QnVzKChQWEVOVkJEX0FEQVBURVIpSHdEZXZpY2VFeHRlbnNpb24pOwogfQog
CiBIV19GSU5EX0FEQVBURVIgICAgIEh3RmluZEFkYXB0ZXI7CkBAIC0zODUsNyArMzg0LDcgQEAg
SHdGaW5kQWRhcHRlcigKICAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKEFyZ3VtZW50U3RyaW5n
KTsKICAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKEFnYWluKTsKIAotICAgIHJldHVybiBGZG9G
aW5kQWRhcHRlcigoUFhFTlZCRF9GRE8pSHdEZXZpY2VFeHRlbnNpb24sIENvbmZpZ0luZm8pOwor
ICAgIHJldHVybiBBZGFwdGVyRmluZEFkYXB0ZXIoKFBYRU5WQkRfQURBUFRFUilId0RldmljZUV4
dGVuc2lvbiwgQ29uZmlnSW5mbyk7CiB9CiAKIHN0YXRpYyBGT1JDRUlOTElORSBCT09MRUFOCkBA
IC00MTcsNyArNDE2LDcgQEAgSHdCdWlsZElvKAogICAgIGlmIChfX0ZhaWxTdG9yYWdlUmVxdWVz
dChId0RldmljZUV4dGVuc2lvbiwgU3JiKSkKICAgICAgICAgcmV0dXJuIEZBTFNFOyAvLyBkb250
IHBhc3MgdG8gSHdTdGFydElvCiAKLSAgICByZXR1cm4gRmRvQnVpbGRJbygoUFhFTlZCRF9GRE8p
SHdEZXZpY2VFeHRlbnNpb24sIFNyYik7CisgICAgcmV0dXJuIEFkYXB0ZXJCdWlsZElvKChQWEVO
VkJEX0FEQVBURVIpSHdEZXZpY2VFeHRlbnNpb24sIFNyYik7CiB9CiAKIEhXX1NUQVJUSU8gICAg
ICAgICAgSHdTdGFydElvOwpAQCAtNDMxLDcgKzQzMCw3IEBAIEh3U3RhcnRJbygKICAgICBpZiAo
X19GYWlsU3RvcmFnZVJlcXVlc3QoSHdEZXZpY2VFeHRlbnNpb24sIFNyYikpCiAgICAgICAgIHJl
dHVybiBUUlVFOyAvLyBhY2tub3dsZWRnZSB0aGUgc3JiCiAKLSAgICByZXR1cm4gRmRvU3RhcnRJ
bygoUFhFTlZCRF9GRE8pSHdEZXZpY2VFeHRlbnNpb24sIFNyYik7CisgICAgcmV0dXJuIEFkYXB0
ZXJTdGFydElvKChQWEVOVkJEX0FEQVBURVIpSHdEZXZpY2VFeHRlbnNpb24sIFNyYik7CiB9CiAK
IF9fZHJ2X2Rpc3BhdGNoVHlwZShJUlBfTUpfUE5QKQpAQCAtNDQzLDEzICs0NDIsMTMgQEAgRGlz
cGF0Y2hQbnAoCiAgICAgSU4gUElSUCAgICAgICAgICAgICBJcnAKICAgICApCiB7Ci0gICAgUFhF
TlZCRF9GRE8gICAgICAgICBGZG87CisgICAgUFhFTlZCRF9BREFQVEVSICAgICAgICAgQWRhcHRl
cjsKIAotICAgIGlmIChfX0RyaXZlckdldEZkbyhEZXZpY2VPYmplY3QsICZGZG8pKQotICAgICAg
ICByZXR1cm4gRmRvRGlzcGF0Y2hQbnAoRmRvLCBEZXZpY2VPYmplY3QsIElycCk7CisgICAgaWYg
KF9fRHJpdmVyR2V0QWRhcHRlcihEZXZpY2VPYmplY3QsICZBZGFwdGVyKSkKKyAgICAgICAgcmV0
dXJuIEFkYXB0ZXJEaXNwYXRjaFBucChBZGFwdGVyLCBEZXZpY2VPYmplY3QsIElycCk7CiAKLSAg
ICBpZiAoRmRvICE9IE5VTEwpCi0gICAgICAgIHJldHVybiBGZG9Gb3J3YXJkUG5wKEZkbywgRGV2
aWNlT2JqZWN0LCBJcnApOworICAgIGlmIChBZGFwdGVyICE9IE5VTEwpCisgICAgICAgIHJldHVy
biBBZGFwdGVyRm9yd2FyZFBucChBZGFwdGVyLCBEZXZpY2VPYmplY3QsIElycCk7CiAKICAgICBy
ZXR1cm4gRHJpdmVyRGlzcGF0Y2hQbnAoRGV2aWNlT2JqZWN0LCBJcnApOwogfQpAQCAtNDYzLDEz
ICs0NjIsMTAgQEAgRGlzcGF0Y2hQb3dlcigKICAgICBJTiBQSVJQICAgICAgICAgICAgIElycAog
ICAgICkKIHsKLSAgICBQWEVOVkJEX0ZETyAgICAgICAgIEZkbzsKKyAgICBQWEVOVkJEX0FEQVBU
RVIgICAgICAgICBBZGFwdGVyOwogCi0gICAgaWYgKF9fRHJpdmVyR2V0RmRvKERldmljZU9iamVj
dCwgJkZkbykpCi0gICAgICAgIHJldHVybiBGZG9EaXNwYXRjaFBvd2VyKEZkbywgRGV2aWNlT2Jq
ZWN0LCBJcnApOwotCi0gICAgaWYgKEZkbyAhPSBOVUxMKQotICAgICAgICBGZG9EZXJlZmVyZW5j
ZShGZG8pOworICAgIGlmIChfX0RyaXZlckdldEFkYXB0ZXIoRGV2aWNlT2JqZWN0LCAmQWRhcHRl
cikpCisgICAgICAgIHJldHVybiBBZGFwdGVyRGlzcGF0Y2hQb3dlcihBZGFwdGVyLCBEZXZpY2VP
YmplY3QsIElycCk7CiAKICAgICByZXR1cm4gRHJpdmVyRGlzcGF0Y2hQb3dlcihEZXZpY2VPYmpl
Y3QsIElycCk7CiB9CkBAIC01NDAsNyArNTM2LDcgQEAgRHJpdmVyRW50cnkoCiAgICAgU2Vydmlj
ZUtleSA9IE5VTEw7CiAKICAgICBLZUluaXRpYWxpemVTcGluTG9jaygmRHJpdmVyLkxvY2spOwot
ICAgIERyaXZlci5GZG8gPSBOVUxMOworICAgIERyaXZlci5BZGFwdGVyID0gTlVMTDsKICAgICBC
dWZmZXJJbml0aWFsaXplKCk7CiAKICAgICBfX0RyaXZlclBhcnNlT3B0aW9uKCJYRU5WQkQ6U1lO
VEhfSU5RPSIsCkBAIC01NjAsNyArNTU2LDcgQEAgRHJpdmVyRW50cnkoCiAgICAgSW5pdERhdGEu
SHdSZXNldEJ1cyAgICAgICAgICAgICAgICAgPSAgIEh3UmVzZXRCdXM7CiAgICAgSW5pdERhdGEu
SHdEbWFTdGFydGVkICAgICAgICAgICAgICAgPSAgIE5VTEw7CiAgICAgSW5pdERhdGEuSHdBZGFw
dGVyU3RhdGUgICAgICAgICAgICAgPSAgIE5VTEw7Ci0gICAgSW5pdERhdGEuRGV2aWNlRXh0ZW5z
aW9uU2l6ZSAgICAgICAgPSAgIEZkb1NpemVvZlhlbnZiZEZkbygpOworICAgIEluaXREYXRhLkRl
dmljZUV4dGVuc2lvblNpemUgICAgICAgID0gICBBZGFwdGVyU2l6ZW9mWGVudmJkQWRhcHRlcigp
OwogICAgIEluaXREYXRhLlNwZWNpZmljTHVFeHRlbnNpb25TaXplICAgID0gICBzaXplb2YgKFVM
T05HKTsgLy8gbm90IGFjdHVhbGx5IHVzZWQKICAgICBJbml0RGF0YS5TcmJFeHRlbnNpb25TaXpl
ICAgICAgICAgICA9ICAgc2l6ZW9mKFhFTlZCRF9TUkJFWFQpOwogICAgIEluaXREYXRhLk51bWJl
ck9mQWNjZXNzUmFuZ2VzICAgICAgID0gICAyOwpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC9kcml2
ZXIuaCBiL3NyYy94ZW52YmQvZHJpdmVyLmgKaW5kZXggZTc3MzBhOS4uY2VhN2I0MiAxMDA2NDQK
LS0tIGEvc3JjL3hlbnZiZC9kcml2ZXIuaAorKysgYi9zcmMveGVudmJkL2RyaXZlci5oCkBAIC0z
Miw3ICszMiw2IEBACiAjaWZuZGVmIF9YRU5WQkRfWEVOVkJEX0gKICNkZWZpbmUgX1hFTlZCRF9Y
RU5WQkRfSAogCi0jaW5jbHVkZSAiZmRvLmgiCiAjaW5jbHVkZSA8eGVuLmg+CiAKIC8vIEdsb2Jh
bCBDb25zdGFudHMKQEAgLTU3LDYgKzU2LDggQEAgdHlwZWRlZiBzdHJ1Y3QgX1hFTlZCRF9QQVJB
TUVURVJTIHsKIAogZXh0ZXJuIFhFTlZCRF9QQVJBTUVURVJTICAgIERyaXZlclBhcmFtZXRlcnM7
CiAKKyNpbmNsdWRlICJhZGFwdGVyLmgiCisKIGV4dGVybiBIQU5ETEUKIERyaXZlckdldFBhcmFt
ZXRlcnNLZXkoCiAgICAgVk9JRApAQCAtNzYsMTMgKzc3LDEzIEBAIERyaXZlckRpc3BhdGNoUG93
ZXIoCiAKIC8vIEZkbyBEZXZpY2UgRXh0ZW5zaW9uIG1hbmFnZW1lbnQKIGV4dGVybiBWT0lECi1E
cml2ZXJMaW5rRmRvKAotICAgIF9faW4gUFhFTlZCRF9GRE8gICAgICAgICAgICAgRmRvCitEcml2
ZXJMaW5rQWRhcHRlcigKKyAgICBJTiAgUFhFTlZCRF9BREFQVEVSIEFkYXB0ZXIKICAgICApOwog
CiBleHRlcm4gVk9JRAotRHJpdmVyVW5saW5rRmRvKAotICAgIF9faW4gUFhFTlZCRF9GRE8gICAg
ICAgICAgICAgRmRvCitEcml2ZXJVbmxpbmtBZGFwdGVyKAorICAgIElOICBQWEVOVkJEX0FEQVBU
RVIgQWRhcHRlcgogICAgICk7CiAKIGV4dGVybiBWT0lECmRpZmYgLS1naXQgYS9zcmMveGVudmJk
L2Zkby5jIGIvc3JjL3hlbnZiZC9mZG8uYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YzFhZWViNS4uMDAwMDAwMAotLS0gYS9zcmMveGVudmJkL2Zkby5jCisrKyAvZGV2L251bGwKQEAg
LTEsMjIwNiArMCwwIEBACi0vKiBDb3B5cmlnaHQgKGMpIENpdHJpeCBTeXN0ZW1zIEluYy4KLSAq
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIAotICogd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCAKLSAqIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6Ci0gKiAKLSAqICogICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIAotICogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgCi0gKiAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAqICAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSAKLSAqICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIAotICogICAgIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciAKLSAqICAgICBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICogCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgCi0gKiBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCAKLSAqIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIAotICogTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgCi0gKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiAKLSAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCAKLSAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIAotICogQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIAotICog
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyAKLSAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCAKLSAqIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyAKLSAqIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIAotICogU1VDSCBEQU1BR0UuCi0gKi8gCi0KLSNkZWZpbmUg
SU5JVEdVSUQgMQotCi0jaW5jbHVkZSAiZmRvLmgiCi0jaW5jbHVkZSAiZHJpdmVyLmgiCi0jaW5j
bHVkZSAicmVnaXN0cnkuaCIKLSNpbmNsdWRlICJwZG8uaCIKLSNpbmNsdWRlICJzcmJleHQuaCIK
LSNpbmNsdWRlICJ0aHJlYWQuaCIKLSNpbmNsdWRlICJidWZmZXIuaCIKLSNpbmNsdWRlICJkZWJ1
Zy5oIgotI2luY2x1ZGUgImFzc2VydC5oIgotI2luY2x1ZGUgInV0aWwuaCIKLSNpbmNsdWRlIDx2
ZXJzaW9uLmg+Ci0jaW5jbHVkZSA8eGVuY2RiLmg+Ci0jaW5jbHVkZSA8bmFtZXMuaD4KLSNpbmNs
dWRlIDxzdG9yZV9pbnRlcmZhY2UuaD4KLSNpbmNsdWRlIDxldnRjaG5faW50ZXJmYWNlLmg+Ci0j
aW5jbHVkZSA8Z250dGFiX2ludGVyZmFjZS5oPgotI2luY2x1ZGUgPGRlYnVnX2ludGVyZmFjZS5o
PgotI2luY2x1ZGUgPHN1c3BlbmRfaW50ZXJmYWNlLmg+Ci0jaW5jbHVkZSA8ZW11bGF0ZWRfaW50
ZXJmYWNlLmg+Ci0KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLQotI2RlZmluZSBNQVhOQU1FTEVOICAx
MjgKLQotI2RlZmluZSBGRE9fU0lHTkFUVVJFICAgJ29kZlgnCi0KLXN0cnVjdCBfWEVOVkJEX0ZE
TyB7Ci0gICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIFNpZ25hdHVyZTsKLSAgICBLRVZF
TlQgICAgICAgICAgICAgICAgICAgICAgUmVtb3ZlRXZlbnQ7Ci0gICAgTE9ORyAgICAgICAgICAg
ICAgICAgICAgICAgIFJlZmVyZW5jZUNvdW50OwotICAgIFBERVZJQ0VfT0JKRUNUICAgICAgICAg
ICAgICBEZXZpY2VPYmplY3Q7Ci0gICAgUERFVklDRV9PQkpFQ1QgICAgICAgICAgICAgIExvd2Vy
RGV2aWNlT2JqZWN0OwotICAgIFBERVZJQ0VfT0JKRUNUICAgICAgICAgICAgICBQaHlzaWNhbERl
dmljZU9iamVjdDsKLSAgICBLU1BJTl9MT0NLICAgICAgICAgICAgICAgICAgTG9jazsKLSAgICBE
RVZJQ0VfUE9XRVJfU1RBVEUgICAgICAgICAgRGV2aWNlUG93ZXI7Ci0gICAgQU5TSV9TVFJJTkcg
ICAgICAgICAgICAgICAgIEVudW1lcmF0b3I7Ci0KLSAgICAvLyBQb3dlcgotICAgIFBYRU5WQkRf
VEhSRUFEICAgICAgICAgICAgICBEZXZpY2VQb3dlclRocmVhZDsKLSAgICBQSVJQICAgICAgICAg
ICAgICAgICAgICAgICAgRGV2aWNlUG93ZXJJcnA7Ci0KLSAgICAvLyBJbnRlcmZhY2VzIHRvIFhl
bkJ1cwotICAgIFhFTkJVU19FVlRDSE5fSU5URVJGQUNFICAgICBFdnRjaG47Ci0gICAgWEVOQlVT
X1NUT1JFX0lOVEVSRkFDRSAgICAgIFN0b3JlOwotICAgIFhFTkJVU19HTlRUQUJfSU5URVJGQUNF
ICAgICBHbnR0YWI7Ci0gICAgWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSAgICAgIERlYnVnOwotICAg
IFhFTkJVU19TVVNQRU5EX0lOVEVSRkFDRSAgICBTdXNwZW5kOwotICAgIFhFTkJVU19VTlBMVUdf
SU5URVJGQUNFICAgICBVbnBsdWc7Ci0gICAgWEVORklMVF9FTVVMQVRFRF9JTlRFUkZBQ0UgIEVt
dWxhdGVkOwotICAgIAotICAgIC8vIERlYnVnIENhbGxiYWNrCi0gICAgUFhFTkJVU19ERUJVR19D
QUxMQkFDSyAgICAgIERlYnVnQ2FsbGJhY2s7Ci0gICAgUFhFTkJVU19TVVNQRU5EX0NBTExCQUNL
ICAgIFN1c3BlbmRDYWxsYmFjazsKLQotICAgIC8vIFRhcmdldHMKLSAgICBLU1BJTl9MT0NLICAg
ICAgICAgICAgICAgICAgVGFyZ2V0TG9jazsKLSAgICBQWEVOVkJEX1BETyAgICAgICAgICAgICAg
ICAgVGFyZ2V0c1tYRU5WQkRfTUFYX1RBUkdFVFNdOwotCi0gICAgLy8gVGFyZ2V0IEVudW1lcmF0
aW9uCi0gICAgUFhFTlZCRF9USFJFQUQgICAgICAgICAgICAgIFNjYW5UaHJlYWQ7Ci0gICAgS0VW
RU5UICAgICAgICAgICAgICAgICAgICAgIFNjYW5FdmVudDsKLSAgICBQWEVOQlVTX1NUT1JFX1dB
VENIICAgICAgICAgU2NhbldhdGNoOwotCi0gICAgLy8gU3RhdGlzdGljcwotICAgIExPTkcgICAg
ICAgICAgICAgICAgICAgICAgICBDdXJyZW50U3JiczsKLSAgICBMT05HICAgICAgICAgICAgICAg
ICAgICAgICAgTWF4aW11bVNyYnM7Ci0gICAgTE9ORyAgICAgICAgICAgICAgICAgICAgICAgIFRv
dGFsU3JiczsKLX07Ci0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLXN0YXRpYyBGT1JDRUlOTElO
RSBCT09MRUFOCi1fX0Zkb1NldERldmljZVBvd2VyU3RhdGUoCi0gICAgX19pbiBQWEVOVkJEX0ZE
TyAgICAgICAgICAgICAgICAgRmRvLAotICAgIF9faW4gREVWSUNFX1BPV0VSX1NUQVRFICAgICAg
ICAgIFN0YXRlCi0gICAgKQotewotICAgIEtJUlFMICAgICAgIElycWw7Ci0gICAgQk9PTEVBTiAg
ICAgQ2hhbmdlZCA9IEZBTFNFOwotCi0gICAgS2VBY3F1aXJlU3BpbkxvY2soJkZkby0+TG9jaywg
JklycWwpOwotCi0gICAgaWYgKEZkby0+RGV2aWNlUG93ZXIgIT0gU3RhdGUpIHsKLSAgICAgICAg
VmVyYm9zZSgiUE9XRVIgJXMgdG8gJXNcbiIsIFBvd2VyRGV2aWNlU3RhdGVOYW1lKEZkby0+RGV2
aWNlUG93ZXIpLCBQb3dlckRldmljZVN0YXRlTmFtZShTdGF0ZSkpOwotICAgICAgICBDaGFuZ2Vk
ID0gVFJVRTsKLSAgICAgICAgRmRvLT5EZXZpY2VQb3dlciA9IFN0YXRlOwotICAgIH0KLQotICAg
IEtlUmVsZWFzZVNwaW5Mb2NrKCZGZG8tPkxvY2ssIElycWwpOwotCi0gICAgcmV0dXJuIENoYW5n
ZWQ7Ci19Ci0KLXN0YXRpYyBGT1JDRUlOTElORSBERVZJQ0VfUE9XRVJfU1RBVEUKLV9fRmRvR2V0
RGV2aWNlUG93ZXJTdGF0ZSgKLSAgICBfX2luIFBYRU5WQkRfRkRPICAgICAgICAgICAgICAgIEZk
bwotICAgICkKLXsKLSAgICBLSVJRTCAgICAgICAgICAgICAgIElycWw7Ci0gICAgREVWSUNFX1BP
V0VSX1NUQVRFICBTdGF0ZTsKLQotICAgIEtlQWNxdWlyZVNwaW5Mb2NrKCZGZG8tPkxvY2ssICZJ
cnFsKTsKLSAgICBTdGF0ZSA9IEZkby0+RGV2aWNlUG93ZXI7Ci0gICAgS2VSZWxlYXNlU3Bpbkxv
Y2soJkZkby0+TG9jaywgSXJxbCk7Ci0KLSAgICByZXR1cm4gU3RhdGU7Ci19Ci0KLV9fY2hlY2tS
ZXR1cm4KLXN0YXRpYyBGT1JDRUlOTElORSBQWEVOVkJEX1BETwotX19GZG9HZXRQZG9BbHdheXMo
Ci0gICAgX19pbiBQWEVOVkJEX0ZETyAgICAgICAgICAgICAgICAgRmRvLAotICAgIF9faW4gVUxP
TkcgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldElkLAotICAgIF9faW4gUENIQVIgICAgICAg
ICAgICAgICAgICAgICAgIENhbGxlcgotICAgICkKLXsKLSAgICBQWEVOVkJEX1BETyBQZG87Ci0g
ICAgS0lSUUwgICAgICAgSXJxbDsKLQotICAgIEFTU0VSVDNVKFRhcmdldElkLCA8LCBYRU5WQkRf
TUFYX1RBUkdFVFMpOwotCi0gICAgS2VBY3F1aXJlU3BpbkxvY2soJkZkby0+VGFyZ2V0TG9jaywg
JklycWwpOwotICAgIFBkbyA9IEZkby0+VGFyZ2V0c1tUYXJnZXRJZF07Ci0gICAgaWYgKFBkbykg
ewotICAgICAgICBfX1Bkb1JlZmVyZW5jZShQZG8sIENhbGxlcik7Ci0gICAgfQotICAgIEtlUmVs
ZWFzZVNwaW5Mb2NrKCZGZG8tPlRhcmdldExvY2ssIElycWwpOwotICAgIAotICAgIHJldHVybiBQ
ZG87Ci19Ci0KLV9fY2hlY2tSZXR1cm4KLXN0YXRpYyBGT1JDRUlOTElORSBQWEVOVkJEX1BETwot
X19fRmRvR2V0UGRvKAotICAgIF9faW4gUFhFTlZCRF9GRE8gICAgICAgICAgICAgICAgIEZkbywK
LSAgICBfX2luIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXRJZCwKLSAgICBfX2lu
IFBDSEFSICAgICAgICAgICAgICAgICAgICAgICBDYWxsZXIKLSAgICApCi17Ci0gICAgUFhFTlZC
RF9QRE8gUGRvID0gTlVMTDsKLSAgICBLSVJRTCAgICAgICBJcnFsOwotCi0gICAgQVNTRVJUM1Uo
VGFyZ2V0SWQsIDwsIFhFTlZCRF9NQVhfVEFSR0VUUyk7Ci0KLSAgICBLZUFjcXVpcmVTcGluTG9j
aygmRmRvLT5UYXJnZXRMb2NrLCAmSXJxbCk7Ci0gICAgaWYgKEZkby0+VGFyZ2V0c1tUYXJnZXRJ
ZF0gJiYgCi0gICAgICAgIF9fUGRvUmVmZXJlbmNlKEZkby0+VGFyZ2V0c1tUYXJnZXRJZF0sIENh
bGxlcikgPiAwKSB7Ci0gICAgICAgIFBkbyA9IEZkby0+VGFyZ2V0c1tUYXJnZXRJZF07Ci0gICAg
fQotICAgIEtlUmVsZWFzZVNwaW5Mb2NrKCZGZG8tPlRhcmdldExvY2ssIElycWwpOwotICAgIAot
ICAgIHJldHVybiBQZG87Ci19Ci0jZGVmaW5lIF9fRmRvR2V0UGRvKGYsIHQpIF9fX0Zkb0dldFBk
byhmLCB0LCBfX0ZVTkNUSU9OX18pCi0KLS8vIFJlZmVyZW5jZSBDb3VudGluZwotTE9ORwotX19G
ZG9SZWZlcmVuY2UoCi0gICAgX19pbiBQWEVOVkJEX0ZETyAgICAgICAgICAgICAgICAgRmRvLAot
ICAgIF9faW4gUENIQVIgICAgICAgICAgICAgICAgICAgICAgIENhbGxlcgotICAgICkKLXsKLSAg
ICBMT05HIFJlc3VsdDsKLSAgICAKLSAgICBBU1NFUlQzUChGZG8sICE9LCBOVUxMKTsKLSAgICBS
ZXN1bHQgPSBJbnRlcmxvY2tlZEluY3JlbWVudCgmRmRvLT5SZWZlcmVuY2VDb3VudCk7Ci0gICAg
QVNTRVJUUkVGQ09VTlQoUmVzdWx0LCA+LCAwLCBDYWxsZXIpOwotCi0gICAgaWYgKFJlc3VsdCA9
PSAxKSB7Ci0gICAgICAgIFJlc3VsdCA9IEludGVybG9ja2VkRGVjcmVtZW50KCZGZG8tPlJlZmVy
ZW5jZUNvdW50KTsKLSAgICAgICAgRXJyb3IoIiVzOiBBdHRlbXB0aW5nIHRvIHRha2UgcmVmZXJl
bmNlIG9mIHJlbW92ZWQgRkRPIGZyb20gJWRcbiIsIENhbGxlciwgUmVzdWx0KTsKLSAgICAgICAg
cmV0dXJuIDA7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgQVNTRVJUUkVGQ09VTlQoUmVzdWx0LCA+
LCAxLCBDYWxsZXIpOwotICAgICAgICByZXR1cm4gUmVzdWx0OwotICAgIH0KLX0KLUZPUkNFSU5M
SU5FIExPTkcKLV9fRmRvRGVyZWZlcmVuY2UoCi0gICAgX19pbiBQWEVOVkJEX0ZETyAgICAgICAg
ICAgICAgICAgRmRvLAotICAgIF9faW4gUENIQVIgICAgICAgICAgICAgICAgICAgICAgIENhbGxl
cgotICAgICkKLXsKLSAgICBMT05HICAgIFJlc3VsdDsKLSAgICAKLSAgICBBU1NFUlQzUChGZG8s
ICE9LCBOVUxMKTsKLSAgICBSZXN1bHQgPSBJbnRlcmxvY2tlZERlY3JlbWVudCgmRmRvLT5SZWZl
cmVuY2VDb3VudCk7Ci0gICAgQVNTRVJUUkVGQ09VTlQoUmVzdWx0LCA+PSwgMCwgQ2FsbGVyKTsK
LSAgICAKLSAgICBpZiAoUmVzdWx0ID09IDApIHsKLSAgICAgICAgVmVyYm9zZSgiRmluYWwgUmVm
ZXJlbmNlQ291bnQgZHJvcHBlZCwgMHglcCBhYmxlIHRvIGJlIHJlbW92ZWRcbiIsIEZkbyk7Ci0g
ICAgICAgIEtlU2V0RXZlbnQoJkZkby0+UmVtb3ZlRXZlbnQsIElPX05PX0lOQ1JFTUVOVCwgRkFM
U0UpOwotICAgIH0KLSAgICByZXR1cm4gUmVzdWx0OwotfQotQk9PTEVBTgotRmRvTGlua1BkbygK
LSAgICBfX2luIFBYRU5WQkRfRkRPICAgICAgICAgICAgICAgICBGZG8sCi0gICAgX19pbiBQWEVO
VkJEX1BETyAgICAgICAgICAgICAgICAgUGRvCi0gICAgKQotewotICAgIEtJUlFMICAgICAgIEly
cWw7Ci0gICAgUFhFTlZCRF9QRE8gQ3VycmVudDsKLSAgICBCT09MRUFOICAgICBSZXN1bHQgPSBG
QUxTRTsKLSAgICBVTE9ORyAgICAgICBUYXJnZXRJZCA9IFBkb0dldFRhcmdldElkKFBkbyk7Ci0K
LSAgICBLZUFjcXVpcmVTcGluTG9jaygmRmRvLT5UYXJnZXRMb2NrLCAmSXJxbCk7Ci0gICAgQ3Vy
cmVudCA9IEZkby0+VGFyZ2V0c1tUYXJnZXRJZF07Ci0gICAgaWYgKEZkby0+VGFyZ2V0c1tUYXJn
ZXRJZF0gPT0gTlVMTCkgewotICAgICAgICBGZG8tPlRhcmdldHNbVGFyZ2V0SWRdID0gUGRvOwot
ICAgICAgICBSZXN1bHQgPSBUUlVFOwotICAgIH0KLSAgICBLZVJlbGVhc2VTcGluTG9jaygmRmRv
LT5UYXJnZXRMb2NrLCBJcnFsKTsKLQotICAgIGlmICghUmVzdWx0KSB7Ci0gICAgICAgIFdhcm5p
bmcoIlRhcmdldFslZF0gOiBDdXJyZW50IDB4JXAsIE5ldyAweCVwXG4iLCBUYXJnZXRJZCwgQ3Vy
cmVudCwgUGRvKTsKLSAgICB9Ci0gICAgcmV0dXJuIFJlc3VsdDsKLX0KLUJPT0xFQU4KLUZkb1Vu
bGlua1BkbygKLSAgICBfX2luIFBYRU5WQkRfRkRPICAgICAgICAgICAgICAgICBGZG8sCi0gICAg
X19pbiBQWEVOVkJEX1BETyAgICAgICAgICAgICAgICAgUGRvCi0gICAgKQotewotICAgIEtJUlFM
ICAgICAgIElycWw7Ci0gICAgUFhFTlZCRF9QRE8gQ3VycmVudDsKLSAgICBCT09MRUFOICAgICBS
ZXN1bHQgPSBGQUxTRTsKLSAgICBVTE9ORyAgICAgICBUYXJnZXRJZCA9IFBkb0dldFRhcmdldElk
KFBkbyk7Ci0KLSAgICBLZUFjcXVpcmVTcGluTG9jaygmRmRvLT5UYXJnZXRMb2NrLCAmSXJxbCk7
Ci0gICAgQ3VycmVudCA9IEZkby0+VGFyZ2V0c1tUYXJnZXRJZF07Ci0gICAgaWYgKEZkby0+VGFy
Z2V0c1tUYXJnZXRJZF0gPT0gUGRvKSB7Ci0gICAgICAgIEZkby0+VGFyZ2V0c1tUYXJnZXRJZF0g
PSBOVUxMOwotICAgICAgICBSZXN1bHQgPSBUUlVFOwotICAgIH0KLSAgICBLZVJlbGVhc2VTcGlu
TG9jaygmRmRvLT5UYXJnZXRMb2NrLCBJcnFsKTsKLQotICAgIGlmICghUmVzdWx0KSB7Ci0gICAg
ICAgIFdhcm5pbmcoIlRhcmdldFslZF0gOiBDdXJyZW50IDB4JXAsIEV4cGVjdGVkIDB4JXBcbiIs
IFRhcmdldElkLCBDdXJyZW50LCBQZG8pOwotICAgIH0KLSAgICByZXR1cm4gUmVzdWx0OwotfQot
Ci0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0vLyBRdWVyeUludGVyZmFjZQotCi1fX2Rydl9yZXF1
aXJlc0lSUUwoUEFTU0lWRV9MRVZFTCkKLXN0YXRpYyBOVFNUQVRVUwotRmRvUXVlcnlJbnRlcmZh
Y2UoCi0gICAgSU4gIFBYRU5WQkRfRkRPICAgICBGZG8sCi0gICAgSU4gIGNvbnN0IEdVSUQgICAg
ICAqR3VpZCwKLSAgICBJTiAgVUxPTkcgICAgICAgICAgIFZlcnNpb24sCi0gICAgT1VUIFBJTlRF
UkZBQ0UgICAgICBJbnRlcmZhY2UsCi0gICAgSU4gIFVMT05HICAgICAgICAgICBTaXplLAotICAg
IElOICBCT09MRUFOICAgICAgICAgT3B0aW9uYWwKLSAgICApCi17Ci0gICAgS0VWRU5UICAgICAg
ICAgICAgICBFdmVudDsKLSAgICBJT19TVEFUVVNfQkxPQ0sgICAgIFN0YXR1c0Jsb2NrOwotICAg
IFBJUlAgICAgICAgICAgICAgICAgSXJwOwotICAgIFBJT19TVEFDS19MT0NBVElPTiAgU3RhY2tM
b2NhdGlvbjsKLSAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsKLQotICAgIEFTU0VSVDNV
KEtlR2V0Q3VycmVudElycWwoKSwgPT0sIFBBU1NJVkVfTEVWRUwpOwotCi0gICAgS2VJbml0aWFs
aXplRXZlbnQoJkV2ZW50LCBOb3RpZmljYXRpb25FdmVudCwgRkFMU0UpOwotICAgIFJ0bFplcm9N
ZW1vcnkoJlN0YXR1c0Jsb2NrLCBzaXplb2YoSU9fU1RBVFVTX0JMT0NLKSk7Ci0KLSAgICBJcnAg
PSBJb0J1aWxkU3luY2hyb25vdXNGc2RSZXF1ZXN0KElSUF9NSl9QTlAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBGZG8tPkxvd2VyRGV2aWNlT2JqZWN0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkV2
ZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlN0YXR1c0Jsb2Nr
KTsKLQotICAgIHN0YXR1cyA9IFNUQVRVU19VTlNVQ0NFU1NGVUw7Ci0gICAgaWYgKElycCA9PSBO
VUxMKQotICAgICAgICBnb3RvIGZhaWwxOwotCi0gICAgU3RhY2tMb2NhdGlvbiA9IElvR2V0TmV4
dElycFN0YWNrTG9jYXRpb24oSXJwKTsKLSAgICBTdGFja0xvY2F0aW9uLT5NaW5vckZ1bmN0aW9u
ID0gSVJQX01OX1FVRVJZX0lOVEVSRkFDRTsKLQotICAgIFN0YWNrTG9jYXRpb24tPlBhcmFtZXRl
cnMuUXVlcnlJbnRlcmZhY2UuSW50ZXJmYWNlVHlwZSA9IEd1aWQ7Ci0gICAgU3RhY2tMb2NhdGlv
bi0+UGFyYW1ldGVycy5RdWVyeUludGVyZmFjZS5TaXplID0gKFVTSE9SVClTaXplOwotICAgIFN0
YWNrTG9jYXRpb24tPlBhcmFtZXRlcnMuUXVlcnlJbnRlcmZhY2UuVmVyc2lvbiA9IChVU0hPUlQp
VmVyc2lvbjsKLSAgICBTdGFja0xvY2F0aW9uLT5QYXJhbWV0ZXJzLlF1ZXJ5SW50ZXJmYWNlLklu
dGVyZmFjZSA9IEludGVyZmFjZTsKLSAgICAKLSAgICBJcnAtPklvU3RhdHVzLlN0YXR1cyA9IFNU
QVRVU19OT1RfU1VQUE9SVEVEOwotCi0gICAgc3RhdHVzID0gSW9DYWxsRHJpdmVyKEZkby0+TG93
ZXJEZXZpY2VPYmplY3QsIElycCk7Ci0gICAgaWYgKHN0YXR1cyA9PSBTVEFUVVNfUEVORElORykg
ewotICAgICAgICAoVk9JRCkgS2VXYWl0Rm9yU2luZ2xlT2JqZWN0KCZFdmVudCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeGVjdXRpdmUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgS2VybmVsTW9kZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBGQUxTRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBOVUxMKTsKLSAgICAgICAgc3RhdHVzID0gU3RhdHVzQmxvY2suU3RhdHVzOwotICAgIH0KLQot
ICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKSB7Ci0gICAgICAgIGlmIChzdGF0dXMgPT0gU1RB
VFVTX05PVF9TVVBQT1JURUQgJiYgT3B0aW9uYWwpCi0gICAgICAgICAgICBnb3RvIGRvbmU7Ci0K
LSAgICAgICAgZ290byBmYWlsMjsKLSAgICB9Ci0KLWRvbmU6Ci0gICAgcmV0dXJuIFNUQVRVU19T
VUNDRVNTOwotCi1mYWlsMjoKLSAgICBFcnJvcigiZmFpbDJcbiIpOwotCi1mYWlsMToKLSAgICBF
cnJvcigiZmFpbDEgKCUwOHgpXG4iLCBzdGF0dXMpOwotCi0gICAgcmV0dXJuIHN0YXR1czsKLX0K
LQotI2RlZmluZSBRVUVSWV9JTlRFUkZBQ0UoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIF9GZG8sICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICBfUHJvdmlkZXJOYW1lLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX0ludGVyZmFj
ZU5hbWUsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIF9JbnRlcmZhY2UsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICBfU2l6ZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgX09wdGlvbmFsKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgIEZkb1F1ZXJ5SW50ZXJmYWNlKChfRmRvKSwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAg
ICAgICAgICAmR1VJRF8gIyMgX1Byb3ZpZGVyTmFtZSAjIyBfICMjIF9JbnRlcmZhY2VOYW1lICMj
IF9JTlRFUkZBQ0UsICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgX1Byb3ZpZGVyTmFtZSAj
IyBfICMjIF9JbnRlcmZhY2VOYW1lICMjIF9JTlRFUkZBQ0VfVkVSU0lPTl9NQVgsICAgXAotICAg
ICAgICAgICAgICAgICAgICAgIChfSW50ZXJmYWNlKSwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAoX1Np
emUpLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgKF9PcHRpb25hbCkpCi0KLS8vPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS8vIERlYnVnCi0KLXN0YXRpYyBERUNMU1BFQ19OT0lOTElORSBWT0lECi1G
ZG9EZWJ1Z0NhbGxiYWNrKAotICAgIF9faW4gUFZPSUQgICAgICAgICAgICAgICAgICAgICAgIENv
bnRleHQsCi0gICAgX19pbiBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgQ3Jhc2hpbmcKLSAg
ICApCi17Ci0gICAgUFhFTlZCRF9GRE8gICAgIEZkbyA9IENvbnRleHQ7Ci0gICAgVUxPTkcgICAg
ICAgICAgIFRhcmdldElkOwotCi0gICAgaWYgKEZkbyA9PSBOVUxMIHx8IEZkby0+RGVidWdDYWxs
YmFjayA9PSBOVUxMKQotICAgICAgICByZXR1cm47Ci0KLSAgICBYRU5CVVNfREVCVUcoUHJpbnRm
LCAmRmRvLT5EZWJ1ZywKLSAgICAgICAgICAgICAgICAgIkZETzogVmVyc2lvbjogJWQuJWQuJWQu
JWQgKCVkLyVkLyVkKVxuIiwKLSAgICAgICAgICAgICAgICAgTUFKT1JfVkVSU0lPTiwgTUlOT1Jf
VkVSU0lPTiwgTUlDUk9fVkVSU0lPTiwgQlVJTERfTlVNQkVSLAotICAgICAgICAgICAgICAgICBE
QVksIE1PTlRILCBZRUFSKTsgCi0gICAgWEVOQlVTX0RFQlVHKFByaW50ZiwgJkZkby0+RGVidWcs
Ci0gICAgICAgICAgICAgICAgICJGRE86IEZkbzogMHglcCAocmVmLWNvdW50ICVkKSAlc1xuIiwK
LSAgICAgICAgICAgICAgICAgQ29udGV4dCwKLSAgICAgICAgICAgICAgICAgRmRvLT5SZWZlcmVu
Y2VDb3VudCwKLSAgICAgICAgICAgICAgICAgQ3Jhc2hpbmcgPyAiQ1JBU0hJTkciIDogIiIpOwot
ICAgIFhFTkJVU19ERUJVRyhQcmludGYsICZGZG8tPkRlYnVnLAotICAgICAgICAgICAgICAgICAi
RkRPOiBEZXZPYmogMHglcCBMb3dlckRldk9iaiAweCVwIFBoeXNEZXZPYmogMHglcFxuIiwKLSAg
ICAgICAgICAgICAgICAgRmRvLT5EZXZpY2VPYmplY3QsCi0gICAgICAgICAgICAgICAgIEZkby0+
TG93ZXJEZXZpY2VPYmplY3QsCi0gICAgICAgICAgICAgICAgIEZkby0+UGh5c2ljYWxEZXZpY2VP
YmplY3QpOwotICAgIFhFTkJVU19ERUJVRyhQcmludGYsICZGZG8tPkRlYnVnLAotICAgICAgICAg
ICAgICAgICAiRkRPOiBEZXZpY2VQb3dlclN0YXRlOiAlc1xuIiwKLSAgICAgICAgICAgICAgICAg
UG93ZXJEZXZpY2VTdGF0ZU5hbWUoRmRvLT5EZXZpY2VQb3dlcikpOwotICAgIFhFTkJVU19ERUJV
RyhQcmludGYsICZGZG8tPkRlYnVnLAotICAgICAgICAgICAgICAgICAiRkRPOiBFbnVtZXJhdG9y
ICAgICAgOiAlcyAoMHglcClcbiIsCi0gICAgICAgICAgICAgICAgIEZkb0VudW0oRmRvKSwgRmRv
LT5FbnVtZXJhdG9yLkJ1ZmZlcik7Ci0gICAgWEVOQlVTX0RFQlVHKFByaW50ZiwgJkZkby0+RGVi
dWcsCi0gICAgICAgICAgICAgICAgICJGRE86IFNyYnMgICAgICAgICAgICA6ICVkIC8gJWQgKCVk
IFRvdGFsKVxuIiwKLSAgICAgICAgICAgICAgICAgRmRvLT5DdXJyZW50U3JicywgRmRvLT5NYXhp
bXVtU3JicywgRmRvLT5Ub3RhbFNyYnMpOwotCi0gICAgQnVmZmVyRGVidWdDYWxsYmFjaygmRmRv
LT5EZWJ1Zyk7Ci0gICAgCi0gICAgZm9yIChUYXJnZXRJZCA9IDA7IFRhcmdldElkIDwgWEVOVkJE
X01BWF9UQVJHRVRTOyArK1RhcmdldElkKSB7Ci0gICAgICAgIC8vIG5vIG5lZWQgdG8gdXNlIF9f
RmRvR2V0UGRvICh3aGljaCBpcyBsb2NrZWQgYXQgRElTUEFUQ0gpIGFzIGNhbGxlZCBhdCBISUdI
X0xFVkVMCi0gICAgICAgIFBYRU5WQkRfUERPIFBkbyA9IEZkby0+VGFyZ2V0c1tUYXJnZXRJZF07
Ci0gICAgICAgIGlmIChQZG8gPT0gTlVMTCkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAg
ICAgIFhFTkJVU19ERUJVRyhQcmludGYsICZGZG8tPkRlYnVnLAotICAgICAgICAgICAgICAgICAg
ICAgIkZETzogPT09PT4gVGFyZ2V0WyUtM2RdICAgIDogMHglcFxuIiwgICAgICAgICAgICAgICAg
ICAKLSAgICAgICAgICAgICAgICAgICAgIFRhcmdldElkLCBQZG8pOwotCi0gICAgICAgIC8vIGNh
bGwgVGFyZ2V0J3MgZGVidWcgY2FsbGJhY2sgZGlyZWN0bHkKLSAgICAgICAgUGRvRGVidWdDYWxs
YmFjayhQZG8sICZGZG8tPkRlYnVnKTsKLQotICAgICAgICBYRU5CVVNfREVCVUcoUHJpbnRmLCAm
RmRvLT5EZWJ1ZywKLSAgICAgICAgICAgICAgICAgICAgICJGRE86IDw9PT09IFRhcmdldFslLTNk
XSAgICA6IDB4JXBcbiIsICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgICBU
YXJnZXRJZCwgUGRvKTsKLSAgICB9Ci0KLSAgICBGZG8tPk1heGltdW1TcmJzID0gRmRvLT5DdXJy
ZW50U3JiczsKLSAgICBGZG8tPlRvdGFsU3JicyA9IDA7Ci19Ci0KLS8vPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS8vIEVudW1lcmF0aW9uCi1zdGF0aWMgRk9SQ0VJTkxJTkUgVUxPTkcKLV9fUGFyc2VW
YmQoCi0gICAgX19pbiBQQ0hBUiAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlSWRTdHIKLSAg
ICApCi17Ci0gICAgVUxPTkcgICBEZXZpY2VJZCA9IHN0cnRvdWwoRGV2aWNlSWRTdHIsIE5VTEws
IDEwKTsKLSAgICAKLSAgICBBU1NFUlQzVSgoRGV2aWNlSWQgJiB+KCgxIDw8IDI5KSAtIDEpKSwg
PT0sIDApOwotCi0gICAgaWYgKERldmljZUlkICYgKDEgPDwgMjgpKSB7IAotICAgICAgICByZXR1
cm4gKERldmljZUlkICYgKCgxIDw8IDIwKSAtIDEpKSA+PiA4OyAgICAgICAgICAgLyogeHZkICAg
ICovCi0gICAgfSBlbHNlIHsKLSAgICAgICAgc3dpdGNoIChEZXZpY2VJZCA+PiA4KSB7Ci0gICAg
ICAgIGNhc2UgMjAyOiAgIHJldHVybiAoRGV2aWNlSWQgJiAweEYwKSA+PiA0OyAgICAgICAgICAv
KiB4dmQgICAgKi8KLSAgICAgICAgY2FzZSA4OiAgICAgcmV0dXJuIChEZXZpY2VJZCAmIDB4RjAp
ID4+IDQ7ICAgICAgICAgIC8qIHNkICAgICAqLwotICAgICAgICBjYXNlIDM6ICAgICByZXR1cm4g
KERldmljZUlkICYgMHhDMCkgPj4gNjsgICAgICAgICAgLyogaGRhLi5iICovCi0gICAgICAgIGNh
c2UgMjI6ICAgIHJldHVybiAoKERldmljZUlkICYgMHhDMCkgPj4gNikgKyAyOyAgICAvKiBoZGMu
LmQgKi8KLSAgICAgICAgY2FzZSAzMzogICAgcmV0dXJuICgoRGV2aWNlSWQgJiAweEMwKSA+PiA2
KSArIDQ7ICAgIC8qIGhkZS4uZiAqLwotICAgICAgICBjYXNlIDM0OiAgICByZXR1cm4gKChEZXZp
Y2VJZCAmIDB4QzApID4+IDYpICsgNjsgICAgLyogaGRnLi5oICovCi0gICAgICAgIGNhc2UgNTY6
ICAgIHJldHVybiAoKERldmljZUlkICYgMHhDMCkgPj4gNikgKyA4OyAgICAvKiBoZGkuLmogKi8K
LSAgICAgICAgY2FzZSA1NzogICAgcmV0dXJuICgoRGV2aWNlSWQgJiAweEMwKSA+PiA2KSArIDEw
OyAgIC8qIGhkay4ubCAqLwotICAgICAgICBjYXNlIDg4OiAgICByZXR1cm4gKChEZXZpY2VJZCAm
IDB4QzApID4+IDYpICsgMTI7ICAgLyogaGRtLi5uICovCi0gICAgICAgIGNhc2UgODk6ICAgIHJl
dHVybiAoKERldmljZUlkICYgMHhDMCkgPj4gNikgKyAxNDsgICAvKiBoZG8uLnAgKi8KLSAgICAg
ICAgZGVmYXVsdDogICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgRXJyb3IoIkludmFs
aWQgRGV2aWNlSWQgJXMgKCUwOHgpXG4iLCBEZXZpY2VJZFN0ciwgRGV2aWNlSWQpOwotICAgIHJl
dHVybiAweEZGRkZGRkZGOyAvLyBPQlZJT1VTIEVSUk9SIFZBTFVFCi19Ci1zdGF0aWMgRk9SQ0VJ
TkxJTkUgWEVOVkJEX0RFVklDRV9UWVBFCi1fX0RldmljZVR5cGUoCi0gICAgX19pbiBQQ0hBUiAg
ICAgICAgICAgICAgICAgICAgICBUeXBlCi0gICAgKQotewotICAgIGlmIChzdHJjbXAoVHlwZSwg
ImRpc2siKSA9PSAwKQotICAgICAgICByZXR1cm4gWEVOVkJEX0RFVklDRV9UWVBFX0RJU0s7Ci0g
ICAgaWYgKHN0cmNtcChUeXBlLCAiY2Ryb20iKSA9PSAwKQotICAgICAgICByZXR1cm4gWEVOVkJE
X0RFVklDRV9UWVBFX0NEUk9NOwotICAgIHJldHVybiBYRU5WQkRfREVWSUNFX1RZUEVfVU5LTk9X
TjsKLX0KLV9fY2hlY2tSZXR1cm4KLXN0YXRpYyBGT1JDRUlOTElORSBCT09MRUFOCi1fX0Zkb0hp
ZGRlblRhcmdldCgKLSAgICBfX2luIFBYRU5WQkRfRkRPICAgICAgICAgICAgICAgICBGZG8sCi0g
ICAgX19pbiBQQ0hBUiAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlSWQsCi0gICAgX19vdXQg
UFhFTlZCRF9ERVZJQ0VfVFlQRSAgICAgICAgRGV2aWNlVHlwZQotICAgICkKLXsKLSAgICBOVFNU
QVRVUyAgICBTdGF0dXM7Ci0gICAgUENIQVIgICAgICAgRnJvbnRlbmRQYXRoOwotICAgIFBDSEFS
ICAgICAgIEJ1ZmZlcjsKLSAgICBVTE9ORyAgICAgICBWYWx1ZTsKLSAgICAKLSAgICAqRGV2aWNl
VHlwZSA9IFhFTlZCRF9ERVZJQ0VfVFlQRV9VTktOT1dOOwotICAgIEZyb250ZW5kUGF0aCA9IERy
aXZlckZvcm1hdCgiZGV2aWNlLyVzLyVzIiwgRmRvRW51bShGZG8pLCBEZXZpY2VJZCk7Ci0gICAg
aWYgKCFGcm9udGVuZFBhdGgpCi0gICAgICAgIGdvdG8gZmFpbDsKLQotICAgIC8vIEVqZWN0ZWQ/
Ci0gICAgU3RhdHVzID0gWEVOQlVTX1NUT1JFKFJlYWQsICZGZG8tPlN0b3JlLCBOVUxMLCBGcm9u
dGVuZFBhdGgsICJlamVjdGVkIiwgJkJ1ZmZlcik7Ci0gICAgaWYgKE5UX1NVQ0NFU1MoU3RhdHVz
KSkgewotICAgICAgICBWYWx1ZSA9IHN0cnRvdWwoQnVmZmVyLCBOVUxMLCAxMCk7Ci0gICAgICAg
IFhFTkJVU19TVE9SRShGcmVlLCAmRmRvLT5TdG9yZSwgQnVmZmVyKTsKLQotICAgICAgICBpZiAo
VmFsdWUpCi0gICAgICAgICAgICBnb3RvIGlnbm9yZTsKLSAgICB9Ci0KLSAgICAvLyBOb3QgRGlz
az8KLSAgICBTdGF0dXMgPSBYRU5CVVNfU1RPUkUoUmVhZCwgJkZkby0+U3RvcmUsIE5VTEwsIEZy
b250ZW5kUGF0aCwgImRldmljZS10eXBlIiwgJkJ1ZmZlcik7Ci0gICAgaWYgKCFOVF9TVUNDRVNT
KFN0YXR1cykpCi0gICAgICAgIGdvdG8gaWdub3JlOwotICAgICpEZXZpY2VUeXBlID0gX19EZXZp
Y2VUeXBlKEJ1ZmZlcik7Ci0gICAgWEVOQlVTX1NUT1JFKEZyZWUsICZGZG8tPlN0b3JlLCBCdWZm
ZXIpOwotICAgIAotICAgIHN3aXRjaCAoKkRldmljZVR5cGUpIHsKLSAgICBjYXNlIFhFTlZCRF9E
RVZJQ0VfVFlQRV9ESVNLOiAgIAotICAgICAgICBicmVhazsKLSAgICBjYXNlIFhFTlZCRF9ERVZJ
Q0VfVFlQRV9DRFJPTTogIAotICAgICAgICBpZiAoRHJpdmVyUGFyYW1ldGVycy5QVkNEUm9tKSAg
IAotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIC8vIGludGVudGlvbmFsIGZhbGwtdGhyb3Vn
aAotICAgIGRlZmF1bHQ6ICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgIGdvdG8gaWdu
b3JlOwotICAgIH0KLQotICAgIC8vIFRyeSB0byBDcmVhdGUKLSAgICBEcml2ZXJGb3JtYXRGcmVl
KEZyb250ZW5kUGF0aCk7Ci0gICAgcmV0dXJuIEZBTFNFOwotCi1mYWlsOgotICAgIEVycm9yKCJG
YWlsXG4iKTsKLSAgICByZXR1cm4gVFJVRTsKLQotaWdub3JlOgotICAgIERyaXZlckZvcm1hdEZy
ZWUoRnJvbnRlbmRQYXRoKTsKLSAgICByZXR1cm4gVFJVRTsKLX0KLV9fY2hlY2tSZXR1cm4KLXN0
YXRpYyBGT1JDRUlOTElORSBCT09MRUFOCi1fX0Zkb0lzUGRvVW5wbHVnZ2VkKAotICAgIF9faW4g
UFhFTlZCRF9GRE8gICAgICAgICAgICAgICAgIEZkbywKLSAgICBfX2luIFBDSEFSICAgICAgICAg
ICAgICAgICAgICAgICBFbnVtZXJhdG9yLAotICAgIF9faW4gUENIQVIgICAgICAgICAgICAgICAg
ICAgICAgIERldmljZSwKLSAgICBfX2luIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBUYXJn
ZXQKLSAgICApCi17Ci0gICAgLy8gT25seSBjaGVjayB0YXJnZXRzIHRoYXQgY291bGQgYmUgZW11
bGF0ZWQKLSAgICBpZiAoVGFyZ2V0ID4gMykgewotICAgICAgICBWZXJib3NlKCJUYXJnZXRbJWRd
IDogKCVzLyVzKSBFbXVsYXRlZCBOT1RfQVBQTElDQUJMRSAobm9uLUlERSBkZXZpY2UpXG4iLCAK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQsIEVudW1lcmF0b3IsIERldmljZSk7
Ci0gICAgICAgIHJldHVybiBUUlVFOwotICAgIH0KLSAgICAgCi0gICAgLy8gQ2hlY2sgcHJlc2Vu
c2Ugb2YgRW11bGF0ZWQgaW50ZXJmYWNlLiBBYnNlbmNlIGluZGljYXRlcyBlbXVsYXRlZCBjYW5u
b3QgYmUgdW5wbHVnZ2VkCi0gICAgaWYgKEZkby0+RW11bGF0ZWQuSW50ZXJmYWNlLkNvbnRleHQg
PT0gTlVMTCkgewotICAgICAgICBXYXJuaW5nKCJUYXJnZXRbJWRdIDogKCVzLyVzKSBFbXVsYXRl
ZCBOT1RfS05PV04gKGFzc3VtZWQgUFJFU0VOVClcbiIsIAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFRhcmdldCwgRW51bWVyYXRvciwgRGV2aWNlKTsKLSAgICAgICAgcmV0dXJuIEZBTFNF
OwotICAgIH0KLQotICAgIC8vIEFzayBYZW5GaWx0IGlmIEN0cmxyKDApLCBUYXJnZXQoVGFyZ2V0
KSwgTHVuKDApIGlzIHByZXNlbnQKLSAgICBpZiAoWEVORklMVF9FTVVMQVRFRChJc0Rpc2tQcmVz
ZW50LCAmRmRvLT5FbXVsYXRlZCwgMCwgVGFyZ2V0LCAwKSkgewotICAgICAgICBWZXJib3NlKCJU
YXJnZXRbJWRdIDogKCVzLyVzKSBFbXVsYXRlZCBQUkVTRU5UXG4iLCAKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBUYXJnZXQsIEVudW1lcmF0b3IsIERldmljZSk7Ci0gICAgICAgIHJldHVy
biBGQUxTRTsKLSAgICB9IGVsc2UgewotICAgICAgICBWZXJib3NlKCJUYXJnZXRbJWRdIDogKCVz
LyVzKSBFbXVsYXRlZCBOT1RfUFJFU0VOVFxuIiwgCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgVGFyZ2V0LCBFbnVtZXJhdG9yLCBEZXZpY2UpOwotICAgICAgICByZXR1cm4gVFJVRTsKLSAg
ICB9Ci19Ci0KLXN0YXRpYyBGT1JDRUlOTElORSBWT0lECi1fX0Zkb0VudW1lcmF0ZSgKLSAgICBf
X2luICAgIFBYRU5WQkRfRkRPICAgICBGZG8sCi0gICAgX19pbiAgICBQQU5TSV9TVFJJTkcgICAg
RGV2aWNlcywKLSAgICBfX291dCAgIFBCT09MRUFOICAgICAgICBOZWVkSW52YWxpZGF0ZSwKLSAg
ICBfX291dCAgIFBCT09MRUFOICAgICAgICBOZWVkUmVib290Ci0gICAgKQotewotICAgIFVMT05H
ICAgICAgICAgICAgICAgVGFyZ2V0SWQ7Ci0gICAgUEFOU0lfU1RSSU5HICAgICAgICBEZXZpY2U7
Ci0gICAgVUxPTkcgICAgICAgICAgICAgICBJbmRleDsKLSAgICBQWEVOVkJEX1BETyAgICAgICAg
IFBkbzsKLQotICAgICpOZWVkSW52YWxpZGF0ZSA9IEZBTFNFOwotICAgICpOZWVkUmVib290ID0g
RkFMU0U7Ci0KLSAgICBmb3IgKFRhcmdldElkID0gMDsgVGFyZ2V0SWQgPCBYRU5WQkRfTUFYX1RB
UkdFVFM7ICsrVGFyZ2V0SWQpIHsKLSAgICAgICAgQk9PTEVBTiAgICAgTWlzc2luZyA9IFRSVUU7
Ci0KLSAgICAgICAgUGRvID0gX19GZG9HZXRQZG8oRmRvLCBUYXJnZXRJZCk7Ci0gICAgICAgIGlm
IChQZG8gPT0gTlVMTCkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGZvciAoSW5k
ZXggPSAwOyBEZXZpY2VzW0luZGV4XS5CdWZmZXIgIT0gTlVMTDsgKytJbmRleCkgewotICAgICAg
ICAgICAgVUxPTkcgRGV2aWNlVGFyZ2V0SWQ7Ci0gICAgICAgICAgICBEZXZpY2UgPSAmRGV2aWNl
c1tJbmRleF07Ci0gICAgICAgICAgICBEZXZpY2VUYXJnZXRJZCA9IF9fUGFyc2VWYmQoRGV2aWNl
LT5CdWZmZXIpOwotICAgICAgICAgICAgaWYgKFRhcmdldElkID09IERldmljZVRhcmdldElkKSB7
Ci0gICAgICAgICAgICAgICAgTWlzc2luZyA9IEZBTFNFOwotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKE1pc3NpbmcgJiYgIVBk
b0lzTWlzc2luZyhQZG8pKSB7Ci0gICAgICAgICAgICBQZG9TZXRNaXNzaW5nKFBkbywgIkRldmlj
ZSBEaXNhcHBlYXJlZCIpOwotICAgICAgICAgICAgaWYgKFBkb0dldERldmljZVBucFN0YXRlKFBk
bykgPT0gUHJlc2VudCkKLSAgICAgICAgICAgICAgICBQZG9TZXREZXZpY2VQbnBTdGF0ZShQZG8s
IERlbGV0ZWQpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICpOZWVkSW52YWxp
ZGF0ZSA9IFRSVUU7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoUGRvR2V0RGV2aWNlUG5wU3Rh
dGUoUGRvKSA9PSBEZWxldGVkKSB7Ci0gICAgICAgICAgICBQZG9EZXJlZmVyZW5jZShQZG8pOwot
ICAgICAgICAgICAgUGRvRGVzdHJveShQZG8pOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgUGRvRGVyZWZlcmVuY2UoUGRvKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIC8vIGFkZCBu
ZXcgdGFyZ2V0cwotICAgIGZvciAoSW5kZXggPSAwOyBEZXZpY2VzW0luZGV4XS5CdWZmZXIgIT0g
TlVMTDsgKytJbmRleCkgewotICAgICAgICBYRU5WQkRfREVWSUNFX1RZUEUgIERldmljZVR5cGU7
Ci0KLSAgICAgICAgRGV2aWNlID0gJkRldmljZXNbSW5kZXhdOwotCi0gICAgICAgIFRhcmdldElk
ID0gX19QYXJzZVZiZChEZXZpY2UtPkJ1ZmZlcik7Ci0gICAgICAgIGlmIChUYXJnZXRJZCA9PSAw
eEZGRkZGRkZGKSB7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAg
IFBkbyA9IF9fRmRvR2V0UGRvKEZkbywgVGFyZ2V0SWQpOwotICAgICAgICBpZiAoUGRvKSB7Ci0g
ICAgICAgICAgICBQZG9EZXJlZmVyZW5jZShQZG8pOwotICAgICAgICAgICAgY29udGludWU7Ci0g
ICAgICAgIH0KLQotICAgICAgICBpZiAoX19GZG9IaWRkZW5UYXJnZXQoRmRvLCBEZXZpY2UtPkJ1
ZmZlciwgJkRldmljZVR5cGUpKSB7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQot
Ci0gICAgICAgIGlmICghX19GZG9Jc1Bkb1VucGx1Z2dlZChGZG8sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEZkb0VudW0oRmRvKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgRGV2aWNlLT5CdWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRh
cmdldElkKSkgewotICAgICAgICAgICAgKk5lZWRSZWJvb3QgPSBUUlVFOwotICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoUGRvQ3JlYXRlKEZkbywKLSAgICAg
ICAgICAgICAgICAgICAgICBEZXZpY2UtPkJ1ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICBU
YXJnZXRJZCwKLSAgICAgICAgICAgICAgICAgICAgICBEZXZpY2VUeXBlKSkgewotICAgICAgICAg
ICAgKk5lZWRJbnZhbGlkYXRlID0gVFJVRTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotc3RhdGlj
IEZPUkNFSU5MSU5FIFBBTlNJX1NUUklORwotX19GZG9NdWx0aVN6VG9BbnNpKAotICAgIElOICBQ
Q0hBUiAgICAgICBCdWZmZXIKLSAgICApCi17Ci0gICAgUEFOU0lfU1RSSU5HICAgIEFuc2k7Ci0g
ICAgTE9ORyAgICAgICAgICAgIEluZGV4OwotICAgIExPTkcgICAgICAgICAgICBDb3VudDsKLSAg
ICBOVFNUQVRVUyAgICAgICAgc3RhdHVzOwotCi0gICAgSW5kZXggPSAwOwotICAgIENvdW50ID0g
MDsKLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGlmIChCdWZmZXJbSW5kZXhdID09ICdcMCcpIHsK
LSAgICAgICAgICAgIENvdW50Kys7Ci0gICAgICAgICAgICBJbmRleCsrOwotCi0gICAgICAgICAg
ICAvLyBDaGVjayBmb3IgZG91YmxlIE5VTAotICAgICAgICAgICAgaWYgKEJ1ZmZlcltJbmRleF0g
PT0gJ1wwJykKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgIEluZGV4Kys7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBBbnNpID0gX19BbGxvY2F0
ZVBvb2xXaXRoVGFnKE5vblBhZ2VkUG9vbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNpemVvZiAoQU5TSV9TVFJJTkcpICogKENvdW50ICsgMSksCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBGRE9fU0lHTkFUVVJFKTsKLQotICAgIHN0YXR1cyA9IFNUQVRVU19O
T19NRU1PUlk7Ci0gICAgaWYgKEFuc2kgPT0gTlVMTCkKLSAgICAgICAgZ290byBmYWlsMTsKLQot
ICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IENvdW50OyBJbmRleCsrKSB7Ci0gICAgICAgIFVM
T05HICAgTGVuZ3RoOwotCi0gICAgICAgIExlbmd0aCA9IChVTE9ORylzdHJsZW4oQnVmZmVyKTsK
LSAgICAgICAgQW5zaVtJbmRleF0uTWF4aW11bUxlbmd0aCA9IChVU0hPUlQpKExlbmd0aCArIDEp
OwotICAgICAgICBBbnNpW0luZGV4XS5CdWZmZXIgPSBfX0FsbG9jYXRlUG9vbFdpdGhUYWcoTm9u
UGFnZWRQb29sLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgQW5zaVtJbmRleF0uTWF4aW11bUxlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZET19TSUdOQVRVUkUpOwotCi0gICAgICAgIHN0
YXR1cyA9IFNUQVRVU19OT19NRU1PUlk7Ci0gICAgICAgIGlmIChBbnNpW0luZGV4XS5CdWZmZXIg
PT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gZmFpbDI7Ci0KLSAgICAgICAgUnRsQ29weU1lbW9y
eShBbnNpW0luZGV4XS5CdWZmZXIsIEJ1ZmZlciwgTGVuZ3RoKTsKLSAgICAgICAgQW5zaVtJbmRl
eF0uTGVuZ3RoID0gKFVTSE9SVClMZW5ndGg7Ci0KLSAgICAgICAgQnVmZmVyICs9IExlbmd0aCAr
IDE7Ci0gICAgfQotCi0gICAgcmV0dXJuIEFuc2k7Ci0KLWZhaWwyOgotICAgIEVycm9yKCJmYWls
MlxuIik7Ci0KLSAgICB3aGlsZSAoLS1JbmRleCA+PSAwKQotICAgICAgICAgICAgX19GcmVlUG9v
bFdpdGhUYWcoQW5zaVtJbmRleF0uQnVmZmVyLCBGRE9fU0lHTkFUVVJFKTsKLQotICAgIF9fRnJl
ZVBvb2xXaXRoVGFnKEFuc2ksIEZET19TSUdOQVRVUkUpOwotCi1mYWlsMToKLSAgICBFcnJvcigi
ZmFpbDEgKCUwOHgpXG4iLCBzdGF0dXMpOwotCi0gICAgcmV0dXJuIE5VTEw7Ci19Ci0KLXN0YXRp
YyBGT1JDRUlOTElORSBQQU5TSV9TVFJJTkcKLV9fRmRvTXVsdGlTelRvVXBjYXNlQW5zaSgKLSAg
ICBJTiAgUENIQVIgICAgICAgQnVmZmVyCi0gICAgKQotewotICAgIFBBTlNJX1NUUklORyAgICBB
bnNpOwotICAgIExPTkcgICAgICAgICAgICBJbmRleDsKLSAgICBMT05HICAgICAgICAgICAgQ291
bnQ7Ci0gICAgTlRTVEFUVVMgICAgICAgIHN0YXR1czsKLQotICAgIEluZGV4ID0gMDsKLSAgICBD
b3VudCA9IDA7Ci0gICAgZm9yICg7OykgewotICAgICAgICBpZiAoQnVmZmVyW0luZGV4XSA9PSAn
XDAnKSB7Ci0gICAgICAgICAgICBDb3VudCsrOwotICAgICAgICAgICAgSW5kZXgrKzsKLQotICAg
ICAgICAgICAgLy8gQ2hlY2sgZm9yIGRvdWJsZSBOVUwKLSAgICAgICAgICAgIGlmIChCdWZmZXJb
SW5kZXhdID09ICdcMCcpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICBCdWZmZXJbSW5kZXhdID0gX190b3VwcGVyKEJ1ZmZlcltJbmRleF0pOwot
ICAgICAgICAgICAgSW5kZXgrKzsKLSAgICAgICAgfQotICAgIH0KLQotICAgIEFuc2kgPSBfX0Fs
bG9jYXRlUG9vbFdpdGhUYWcoTm9uUGFnZWRQb29sLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2l6ZW9mIChBTlNJX1NUUklORykgKiAoQ291bnQgKyAxKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEZET19TSUdOQVRVUkUpOwotCi0gICAgc3RhdHVzID0gU1RB
VFVTX05PX01FTU9SWTsKLSAgICBpZiAoQW5zaSA9PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWwx
OwotCi0gICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgQ291bnQ7IEluZGV4KyspIHsKLSAgICAg
ICAgVUxPTkcgICBMZW5ndGg7Ci0KLSAgICAgICAgTGVuZ3RoID0gKFVMT05HKXN0cmxlbihCdWZm
ZXIpOwotICAgICAgICBBbnNpW0luZGV4XS5NYXhpbXVtTGVuZ3RoID0gKFVTSE9SVCkoTGVuZ3Ro
ICsgMSk7Ci0gICAgICAgIEFuc2lbSW5kZXhdLkJ1ZmZlciA9IF9fQWxsb2NhdGVQb29sV2l0aFRh
ZyhOb25QYWdlZFBvb2wsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBBbnNpW0luZGV4XS5NYXhpbXVtTGVuZ3RoLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkRPX1NJR05BVFVSRSk7Ci0KLSAgICAg
ICAgc3RhdHVzID0gU1RBVFVTX05PX01FTU9SWTsKLSAgICAgICAgaWYgKEFuc2lbSW5kZXhdLkJ1
ZmZlciA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBmYWlsMjsKLQotICAgICAgICBSdGxDb3B5
TWVtb3J5KEFuc2lbSW5kZXhdLkJ1ZmZlciwgQnVmZmVyLCBMZW5ndGgpOwotICAgICAgICBBbnNp
W0luZGV4XS5MZW5ndGggPSAoVVNIT1JUKUxlbmd0aDsKLQotICAgICAgICBCdWZmZXIgKz0gTGVu
Z3RoICsgMTsKLSAgICB9Ci0KLSAgICByZXR1cm4gQW5zaTsKLQotZmFpbDI6Ci0gICAgRXJyb3Io
ImZhaWwyXG4iKTsKLQotICAgIHdoaWxlICgtLUluZGV4ID49IDApCi0gICAgICAgICAgICBfX0Zy
ZWVQb29sV2l0aFRhZyhBbnNpW0luZGV4XS5CdWZmZXIsIEZET19TSUdOQVRVUkUpOwotCi0gICAg
X19GcmVlUG9vbFdpdGhUYWcoQW5zaSwgRkRPX1NJR05BVFVSRSk7Ci0KLWZhaWwxOgotICAgIEVy
cm9yKCJmYWlsMSAoJTA4eClcbiIsIHN0YXR1cyk7Ci0KLSAgICByZXR1cm4gTlVMTDsKLX0KLQot
c3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKLV9fRmRvRnJlZUFuc2koCi0gICAgSU4gIFBBTlNJX1NU
UklORyAgICBBbnNpCi0gICAgKQotewotICAgIFVMT05HICAgICAgICAgICAgICAgSW5kZXg7Ci0K
LSAgICBmb3IgKEluZGV4ID0gMDsgQW5zaVtJbmRleF0uQnVmZmVyICE9IE5VTEw7IEluZGV4Kysp
Ci0gICAgICAgICAgICBfX0ZyZWVQb29sV2l0aFRhZyhBbnNpW0luZGV4XS5CdWZmZXIsIEZET19T
SUdOQVRVUkUpOwotCi0gICAgX19GcmVlUG9vbFdpdGhUYWcoQW5zaSwgRkRPX1NJR05BVFVSRSk7
Ci19Ci0KLXN0YXRpYyBERUNMU1BFQ19OT0lOTElORSBWT0lECi1GZG9TY2FuVGFyZ2V0cygKLSAg
ICBfX2luICAgIFBYRU5WQkRfRkRPIEZkbwotICAgICkKLXsKLSAgICBOVFNUQVRVUyAgICAgICAg
U3RhdHVzOwotICAgIFBDSEFSICAgICAgICAgICBCdWZmZXI7Ci0gICAgUEFOU0lfU1RSSU5HICAg
IERldmljZXM7Ci0gICAgQk9PTEVBTiAgICAgICAgIE5lZWRJbnZhbGlkYXRlOwotICAgIEJPT0xF
QU4gICAgICAgICBOZWVkUmVib290OwotCi0gICAgU3RhdHVzID0gWEVOQlVTX1NUT1JFKERpcmVj
dG9yeSwgJkZkby0+U3RvcmUsIE5VTEwsICJkZXZpY2UiLCBGZG9FbnVtKEZkbyksICZCdWZmZXIp
OwotICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBE
ZXZpY2VzID0gX19GZG9NdWx0aVN6VG9BbnNpKEJ1ZmZlcik7Ci0gICAgWEVOQlVTX1NUT1JFKEZy
ZWUsICZGZG8tPlN0b3JlLCBCdWZmZXIpOwotCi0gICAgaWYgKERldmljZXMgPT0gTlVMTCkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgX19GZG9FbnVtZXJhdGUoRmRvLCBEZXZpY2VzLCAmTmVlZElu
dmFsaWRhdGUsICZOZWVkUmVib290KTsKLSAgICBfX0Zkb0ZyZWVBbnNpKERldmljZXMpOwotCi0g
ICAgaWYgKE5lZWRJbnZhbGlkYXRlKSB7Ci0gICAgICAgIFN0b3JQb3J0Tm90aWZpY2F0aW9uKEJ1
c0NoYW5nZURldGVjdGVkLCBGZG8sIDApOwotICAgIH0KLSAgICBpZiAoTmVlZFJlYm9vdCkgewot
ICAgICAgICBEcml2ZXJSZXF1ZXN0UmVib290KCk7Ci0gICAgfQotfQotCi1fX2NoZWNrUmV0dXJu
Ci1zdGF0aWMgREVDTFNQRUNfTk9JTkxJTkUgTlRTVEFUVVMKLUZkb1NjYW4oCi0gICAgX19pbiBQ
WEVOVkJEX1RIUkVBRCAgICAgICAgICAgICAgVGhyZWFkLAotICAgIF9faW4gUFZPSUQgICAgICAg
ICAgICAgICAgICAgICAgIENvbnRleHQKLSAgICApCi17Ci0gICAgUFhFTlZCRF9GRE8gICAgIEZk
byA9IENvbnRleHQ7Ci0gICAgUEtFVkVOVCAgICAgICAgIEV2ZW50ID0gVGhyZWFkR2V0RXZlbnQo
VGhyZWFkKTsKLQotICAgIGZvciAoOzspIHsKLSAgICAgICAgVHJhY2UoIndhaXRpbmcuLi5cbiIp
OwotCi0gICAgICAgIChWT0lEKSBLZVdhaXRGb3JTaW5nbGVPYmplY3QoRXZlbnQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXhlY3V0aXZlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEtlcm5lbE1vZGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRkFMU0UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTlVMTCk7Ci0gICAgICAgIEtlQ2xlYXJFdmVudChFdmVudCk7Ci0KLSAgICAgICAgaWYgKFRo
cmVhZElzQWxlcnRlZChUaHJlYWQpKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgaWYg
KF9fRmRvR2V0RGV2aWNlUG93ZXJTdGF0ZShGZG8pID09IFBvd2VyRGV2aWNlRDApCi0gICAgICAg
ICAgICBGZG9TY2FuVGFyZ2V0cyhGZG8pOwotCi0gICAgICAgIEtlU2V0RXZlbnQoJkZkby0+U2Nh
bkV2ZW50LCBJT19OT19JTkNSRU1FTlQsIEZBTFNFKTsKLSAgICB9Ci0gICAgS2VTZXRFdmVudCgm
RmRvLT5TY2FuRXZlbnQsIElPX05PX0lOQ1JFTUVOVCwgRkFMU0UpOwotCi0gICAgcmV0dXJuIFNU
QVRVU19TVUNDRVNTOwotfQotCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0vLyBJbml0aWFsaXpl
LCBTdGFydCwgU3RvcAotCi1fX2Rydl9yZXF1aXJlc0lSUUwoUEFTU0lWRV9MRVZFTCkKLXN0YXRp
YyBGT1JDRUlOTElORSBOVFNUQVRVUwotX19GZG9RdWVyeUludGVyZmFjZXMoCi0gICAgX19pbiBQ
WEVOVkJEX0ZETyAgICAgICAgICAgICBGZG8KLSAgICApCi17Ci0gICAgTlRTVEFUVVMgICAgICAg
IFN0YXR1czsKLQotICAgIEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwoKSwgPT0sIFBBU1NJVkVf
TEVWRUwpOwotCi0gICAgLy8gR2V0IFNUT1JFIEludGVyZmFjZQotICAgIFN0YXR1cyA9IFFVRVJZ
X0lOVEVSRkFDRShGZG8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTkJVUywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RPUkUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIChQSU5URVJGQUNFKSZGZG8tPlN0b3JlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzaXplb2YgKEZkby0+U3RvcmUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG
QUxTRSk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDE7
Ci0KLSAgICAvLyBHZXQgRVZUQ0hOIEludGVyZmFjZQotICAgIFN0YXR1cyA9IFFVRVJZX0lOVEVS
RkFDRShGZG8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTkJVUywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRVZUQ0hOLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoUElOVEVSRkFDRSkmRmRvLT5FdnRjaG4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNpemVvZiAoRmRvLT5FdnRjaG4pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxT
RSk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDI7Ci0K
LSAgICAvLyBHZXQgR05UVEFCIEludGVyZmFjZQotICAgIFN0YXR1cyA9IFFVRVJZX0lOVEVSRkFD
RShGZG8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTkJVUywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR05UVEFCLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
UElOVEVSRkFDRSkmRmRvLT5HbnR0YWIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNp
emVvZiAoRmRvLT5HbnR0YWIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSk7
Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDM7Ci0KLSAg
ICAvLyBHZXQgU1VTUEVORCBJbnRlcmZhY2UKLSAgICBTdGF0dXMgPSBRVUVSWV9JTlRFUkZBQ0Uo
RmRvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5CVVMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFNVU1BFTkQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQ
SU5URVJGQUNFKSZGZG8tPlN1c3BlbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNp
emVvZiAoRmRvLT5TdXNwZW5kKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0Up
OwotICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWw0OwotCi0g
ICAgLy8gR2V0IERFQlVHIEludGVyZmFjZQotICAgIFN0YXR1cyA9IFFVRVJZX0lOVEVSRkFDRShG
ZG8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTkJVUywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgREVCVUcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQSU5U
RVJGQUNFKSZGZG8tPkRlYnVnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yg
KEZkby0+RGVidWcpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSk7Ci0gICAg
aWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDU7Ci0KLSAgICAvLyBH
ZXQgVU5QTFVHIEludGVyZmFjZQotICAgIFN0YXR1cyA9IFFVRVJZX0lOVEVSRkFDRShGZG8sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTkJVUywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVU5QTFVHLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUElOVEVSRkFD
RSkmRmRvLT5VbnBsdWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZiAoRmRv
LT5VbnBsdWcpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSk7Ci0gICAgaWYg
KCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDY7Ci0KLSAgICAvLyBHZXQg
RU1VTEFURUQgSW50ZXJmYWNlIChvcHRpb25hbCkKLSAgICBTdGF0dXMgPSBRVUVSWV9JTlRFUkZB
Q0UoRmRvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5GSUxULAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBFTVVMQVRFRCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKFBJTlRFUkZBQ0UpJkZkby0+RW11bGF0ZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNpemVvZiAoRmRvLT5FbXVsYXRlZCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFRSVUUpOwotICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWw3
OwotCi0gICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwotCi1mYWlsNzoKLSAgICBSdGxaZXJvTWVt
b3J5KCZGZG8tPlVucGx1ZywKLSAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX1VOUExV
R19JTlRFUkZBQ0UpKTsKLWZhaWw2OgotICAgIFJ0bFplcm9NZW1vcnkoJkZkby0+RGVidWcsCi0g
ICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkJVU19ERUJVR19JTlRFUkZBQ0UpKTsKLWZhaWw1
OgotICAgIFJ0bFplcm9NZW1vcnkoJkZkby0+U3VzcGVuZCwKLSAgICAgICAgICAgICAgICAgIHNp
emVvZiAoWEVOQlVTX1NVU1BFTkRfSU5URVJGQUNFKSk7Ci1mYWlsNDoKLSAgICBSdGxaZXJvTWVt
b3J5KCZGZG8tPkdudHRhYiwKLSAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX0dOVFRB
Ql9JTlRFUkZBQ0UpKTsKLWZhaWwzOgotICAgIFJ0bFplcm9NZW1vcnkoJkZkby0+RXZ0Y2huLAot
ICAgICAgICAgICAgICAgICAgc2l6ZW9mIChYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRSkpOwotZmFp
bDI6Ci0gICAgUnRsWmVyb01lbW9yeSgmRmRvLT5TdG9yZSwKLSAgICAgICAgICAgICAgICAgIHNp
emVvZiAoWEVOQlVTX1NUT1JFX0lOVEVSRkFDRSkpOwotZmFpbDE6Ci0gICAgcmV0dXJuIFN0YXR1
czsKLX0KLXN0YXRpYyBGT1JDRUlOTElORSBWT0lECi1fX0Zkb1plcm9JbnRlcmZhY2VzKAotICAg
IF9faW4gUFhFTlZCRF9GRE8gICAgICAgICAgICAgRmRvCi0gICAgKQotewotICAgIFJ0bFplcm9N
ZW1vcnkoJkZkby0+RW11bGF0ZWQsCi0gICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkZJTFRf
RU1VTEFURURfSU5URVJGQUNFKSk7Ci0gICAgUnRsWmVyb01lbW9yeSgmRmRvLT5VbnBsdWcsCi0g
ICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkJVU19VTlBMVUdfSU5URVJGQUNFKSk7Ci0gICAg
UnRsWmVyb01lbW9yeSgmRmRvLT5EZWJ1ZywKLSAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVO
QlVTX0RFQlVHX0lOVEVSRkFDRSkpOwotICAgIFJ0bFplcm9NZW1vcnkoJkZkby0+U3VzcGVuZCwK
LSAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX1NVU1BFTkRfSU5URVJGQUNFKSk7Ci0g
ICAgUnRsWmVyb01lbW9yeSgmRmRvLT5HbnR0YWIsCi0gICAgICAgICAgICAgICAgICBzaXplb2Yg
KFhFTkJVU19HTlRUQUJfSU5URVJGQUNFKSk7Ci0gICAgUnRsWmVyb01lbW9yeSgmRmRvLT5FdnRj
aG4sCi0gICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkJVU19FVlRDSE5fSU5URVJGQUNFKSk7
Ci0gICAgUnRsWmVyb01lbW9yeSgmRmRvLT5TdG9yZSwKLSAgICAgICAgICAgICAgICAgIHNpemVv
ZiAoWEVOQlVTX1NUT1JFX0lOVEVSRkFDRSkpOwotfQotc3RhdGljIEZPUkNFSU5MSU5FIE5UU1RB
VFVTCi1fX0Zkb0FjcXVpcmUoCi0gICAgX19pbiBQWEVOVkJEX0ZETyAgICBGZG8KLSAgICApCi17
Ci0gICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7Ci0KLSAgICBpZiAoRmRvLT5FbXVsYXRl
ZC5JbnRlcmZhY2UuQ29udGV4dCkgewotICAgICAgICBzdGF0dXMgPSBYRU5GSUxUX0VNVUxBVEVE
KEFjcXVpcmUsICZGZG8tPkVtdWxhdGVkKTsKLSAgICAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1
cykpCi0gICAgICAgICAgICBnb3RvIGZhaWwxOwotICAgIH0KLQotICAgIHN0YXR1cyA9IFhFTkJV
U19TVVNQRU5EKEFjcXVpcmUsICZGZG8tPlN1c3BlbmQpOwotICAgIGlmICghTlRfU1VDQ0VTUyhz
dGF0dXMpKQotICAgICAgICBnb3RvIGZhaWwyOwotCi0gICAgc3RhdHVzID0gWEVOQlVTX0RFQlVH
KEFjcXVpcmUsICZGZG8tPkRlYnVnKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAg
ICAgICAgZ290byBmYWlsMzsKLQotICAgIHN0YXR1cyA9IFhFTkJVU19HTlRUQUIoQWNxdWlyZSwg
JkZkby0+R250dGFiKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgZ290
byBmYWlsNDsKLQotICAgIHN0YXR1cyA9IFhFTkJVU19FVlRDSE4oQWNxdWlyZSwgJkZkby0+RXZ0
Y2huKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsNTsK
LQotICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShBY3F1aXJlLCAmRmRvLT5TdG9yZSk7Ci0gICAg
aWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDY7Ci0KLSAgICByZXR1
cm4gU1RBVFVTX1NVQ0NFU1M7Ci0KLWZhaWw2OgotICAgIFhFTkJVU19FVlRDSE4oUmVsZWFzZSwg
JkZkby0+RXZ0Y2huKTsKLWZhaWw1OgotICAgIFhFTkJVU19HTlRUQUIoUmVsZWFzZSwgJkZkby0+
R250dGFiKTsKLWZhaWw0OgotICAgIFhFTkJVU19ERUJVRyhSZWxlYXNlLCAmRmRvLT5EZWJ1Zyk7
Ci1mYWlsMzoKLSAgICBYRU5CVVNfU1VTUEVORChSZWxlYXNlLCAmRmRvLT5TdXNwZW5kKTsKLWZh
aWwyOgotICAgIGlmIChGZG8tPkVtdWxhdGVkLkludGVyZmFjZS5Db250ZXh0KQotICAgICAgICBY
RU5GSUxUX0VNVUxBVEVEKFJlbGVhc2UsICZGZG8tPkVtdWxhdGVkKTsKLWZhaWwxOgotICAgIHJl
dHVybiBzdGF0dXM7Ci19Ci1zdGF0aWMgRk9SQ0VJTkxJTkUgVk9JRAotX19GZG9SZWxlYXNlKAot
ICAgIF9faW4gUFhFTlZCRF9GRE8gICAgICAgICAgICAgRmRvCi0gICAgKQotewotICAgIFhFTkJV
U19TVE9SRShSZWxlYXNlLCAmRmRvLT5TdG9yZSk7Ci0gICAgWEVOQlVTX0VWVENITihSZWxlYXNl
LCAmRmRvLT5FdnRjaG4pOwotICAgIFhFTkJVU19HTlRUQUIoUmVsZWFzZSwgJkZkby0+R250dGFi
KTsKLSAgICBYRU5CVVNfREVCVUcoUmVsZWFzZSwgJkZkby0+RGVidWcpOwotICAgIFhFTkJVU19T
VVNQRU5EKFJlbGVhc2UsICZGZG8tPlN1c3BlbmQpOwotICAgIGlmIChGZG8tPkVtdWxhdGVkLklu
dGVyZmFjZS5Db250ZXh0KQotICAgICAgICBYRU5GSUxUX0VNVUxBVEVEKFJlbGVhc2UsICZGZG8t
PkVtdWxhdGVkKTsKLX0KLQotc3RhdGljIEZPUkNFSU5MSU5FIEJPT0xFQU4KLV9fRmRvTWF0Y2hE
aXN0cmlidXRpb24oCi0gICAgSU4gIFBYRU5WQkRfRkRPIEZkbywKLSAgICBJTiAgUENIQVIgICAg
ICAgQnVmZmVyCi0gICAgKQotewotICAgIFBDSEFSICAgICAgICAgICBWZW5kb3I7Ci0gICAgUENI
QVIgICAgICAgICAgIFByb2R1Y3Q7Ci0gICAgUENIQVIgICAgICAgICAgIENvbnRleHQ7Ci0gICAg
Y29uc3QgQ0hBUiAgICAgICpUZXh0OwotICAgIEJPT0xFQU4gICAgICAgICBNYXRjaDsKLSAgICBV
TE9ORyAgICAgICAgICAgSW5kZXg7Ci0gICAgTlRTVEFUVVMgICAgICAgIHN0YXR1czsKLQotICAg
IFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoRmRvKTsKLQotICAgIHN0YXR1cyA9IFNUQVRVU19JTlZB
TElEX1BBUkFNRVRFUjsKLQotICAgIFZlbmRvciA9IF9fc3RydG9rX3IoQnVmZmVyLCAiICIsICZD
b250ZXh0KTsKLSAgICBpZiAoVmVuZG9yID09IE5VTEwpCi0gICAgICAgIGdvdG8gZmFpbDE7Ci0K
LSAgICBQcm9kdWN0ID0gX19zdHJ0b2tfcihOVUxMLCAiICIsICZDb250ZXh0KTsKLSAgICBpZiAo
UHJvZHVjdCA9PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWwyOwotCi0gICAgTWF0Y2ggPSBUUlVF
OwotCi0gICAgVGV4dCA9IFZFTkRPUl9OQU1FX1NUUjsKLQotICAgIGZvciAoSW5kZXggPSAwOyBU
ZXh0W0luZGV4XSAhPSAwOyBJbmRleCsrKSB7Ci0gICAgICAgIGlmICghaXNhbG51bSgoVUNIQVIp
VGV4dFtJbmRleF0pKSB7Ci0gICAgICAgICAgICBpZiAoVmVuZG9yW0luZGV4XSAhPSAnXycpIHsK
LSAgICAgICAgICAgICAgICBNYXRjaCA9IEZBTFNFOwotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYgKFZlbmRvcltJ
bmRleF0gIT0gVGV4dFtJbmRleF0pIHsKLSAgICAgICAgICAgICAgICBNYXRjaCA9IEZBTFNFOwot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQot
Ci0gICAgVGV4dCA9ICJYRU5WQkQiOwotCi0gICAgaWYgKF9zdHJpY21wKFByb2R1Y3QsIFRleHQp
ICE9IDApCi0gICAgICAgIE1hdGNoID0gRkFMU0U7Ci0KLSAgICByZXR1cm4gTWF0Y2g7Ci0KLWZh
aWwyOgotICAgIEVycm9yKCJmYWlsMlxuIik7Ci0KLWZhaWwxOgotICAgIEVycm9yKCJmYWlsMSAo
JTA4eClcbiIsIHN0YXR1cyk7Ci0KLSAgICByZXR1cm4gRkFMU0U7Ci19Ci0KLXN0YXRpYyBWT0lE
Ci1GZG9DbGVhckRpc3RyaWJ1dGlvbigKLSAgICBJTiAgUFhFTlZCRF9GRE8gRmRvCi0gICAgKQot
ewotICAgIFBDSEFSICAgICAgICAgICBCdWZmZXI7Ci0gICAgUEFOU0lfU1RSSU5HICAgIERpc3Ry
aWJ1dGlvbnM7Ci0gICAgVUxPTkcgICAgICAgICAgIEluZGV4OwotICAgIE5UU1RBVFVTICAgICAg
ICBzdGF0dXM7Ci0KLSAgICBUcmFjZSgiPT09PT5cbiIpOwotCi0gICAgc3RhdHVzID0gWEVOQlVT
X1NUT1JFKERpcmVjdG9yeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJkZkby0+U3RvcmUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJkcml2ZXJzIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgJkJ1ZmZlcik7Ci0gICAgaWYgKE5UX1NVQ0NFU1Moc3RhdHVzKSkg
ewotICAgICAgICBEaXN0cmlidXRpb25zID0gX19GZG9NdWx0aVN6VG9VcGNhc2VBbnNpKEJ1ZmZl
cik7Ci0KLSAgICAgICAgWEVOQlVTX1NUT1JFKEZyZWUsCi0gICAgICAgICAgICAgICAgICAgICAm
RmRvLT5TdG9yZSwKLSAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcik7Ci0gICAgfSBlbHNlIHsK
LSAgICAgICAgRGlzdHJpYnV0aW9ucyA9IE5VTEw7Ci0gICAgfQotCi0gICAgaWYgKERpc3RyaWJ1
dGlvbnMgPT0gTlVMTCkKLSAgICAgICAgZ290byBkb25lOwotCi0gICAgZm9yIChJbmRleCA9IDA7
IERpc3RyaWJ1dGlvbnNbSW5kZXhdLkJ1ZmZlciAhPSBOVUxMOyBJbmRleCsrKSB7Ci0gICAgICAg
IFBBTlNJX1NUUklORyAgICBEaXN0cmlidXRpb24gPSAmRGlzdHJpYnV0aW9uc1tJbmRleF07Ci0K
LSAgICAgICAgc3RhdHVzID0gWEVOQlVTX1NUT1JFKFJlYWQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmRmRvLT5TdG9yZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5V
TEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZHJpdmVycyIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBEaXN0cmlidXRpb24tPkJ1ZmZlciwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICZCdWZmZXIpOwotICAgICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVz
KSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGlmIChfX0Zkb01hdGNoRGlzdHJp
YnV0aW9uKEZkbywgQnVmZmVyKSkKLSAgICAgICAgICAgIChWT0lEKSBYRU5CVVNfU1RPUkUoUmVt
b3ZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRmRvLT5TdG9yZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImRyaXZlcnMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0
cmlidXRpb24tPkJ1ZmZlcik7Ci0KLSAgICAgICAgWEVOQlVTX1NUT1JFKEZyZWUsCi0gICAgICAg
ICAgICAgICAgICAgICAmRmRvLT5TdG9yZSwKLSAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcik7
Ci0gICAgfQotCi0gICAgX19GZG9GcmVlQW5zaShEaXN0cmlidXRpb25zKTsKLQotZG9uZToKLSAg
ICBUcmFjZSgiPD09PT1cbiIpOwotfQotCi0jZGVmaW5lIE1BWElNVU1fSU5ERVggICAyNTUKLQot
c3RhdGljIE5UU1RBVFVTCi1GZG9TZXREaXN0cmlidXRpb24oCi0gICAgSU4gIFBYRU5WQkRfRkRP
IEZkbwotICAgICkKLXsKLSAgICBVTE9ORyAgICAgICAgICAgSW5kZXg7Ci0gICAgQ0hBUiAgICAg
ICAgICAgIERpc3RyaWJ1dGlvbltNQVhOQU1FTEVOXTsKLSAgICBDSEFSICAgICAgICAgICAgVmVu
ZG9yW01BWE5BTUVMRU5dOwotICAgIGNvbnN0IENIQVIgICAgICAqUHJvZHVjdDsKLSAgICBOVFNU
QVRVUyAgICAgICAgc3RhdHVzOwotCi0gICAgVHJhY2UoIj09PT0+XG4iKTsKLQotICAgIEluZGV4
ID0gMDsKLSAgICB3aGlsZSAoSW5kZXggPD0gTUFYSU1VTV9JTkRFWCkgewotICAgICAgICBQQ0hB
UiAgIEJ1ZmZlcjsKLQotICAgICAgICBzdGF0dXMgPSBSdGxTdHJpbmdDYlByaW50ZkEoRGlzdHJp
YnV0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFYTkFNRUxFTiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIldSIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBJbmRleCk7Ci0gICAgICAgIEFTU0VSVChOVF9TVUNDRVNT
KHN0YXR1cykpOwotCi0gICAgICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShSZWFkLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJkZkby0+U3RvcmUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRyaXZlcnMi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlzdHJpYnV0aW9uLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlcik7Ci0gICAgICAgIGlmICghTlRfU1VDQ0VTUyhz
dGF0dXMpKSB7Ci0gICAgICAgICAgICBpZiAoc3RhdHVzID09IFNUQVRVU19PQkpFQ1RfTkFNRV9O
T1RfRk9VTkQpCi0gICAgICAgICAgICAgICAgZ290byB1cGRhdGU7Ci0KLSAgICAgICAgICAgIGdv
dG8gZmFpbDE7Ci0gICAgICAgIH0KLQotICAgICAgICBYRU5CVVNfU1RPUkUoRnJlZSwKLSAgICAg
ICAgICAgICAgICAgICAgICZGZG8tPlN0b3JlLAotICAgICAgICAgICAgICAgICAgICAgQnVmZmVy
KTsKLQotICAgICAgICBJbmRleCsrOwotICAgIH0KLQotICAgIHN0YXR1cyA9IFNUQVRVU19VTlNV
Q0NFU1NGVUw7Ci0gICAgZ290byBmYWlsMjsKLQotdXBkYXRlOgotICAgIHN0YXR1cyA9IFJ0bFN0
cmluZ0NiUHJpbnRmQShWZW5kb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1B
WE5BTUVMRU4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFZFTkRPUl9OQU1FX1NUUik7Ci0gICAgQVNTRVJUKE5U
X1NVQ0NFU1Moc3RhdHVzKSk7Ci0KLSAgICBmb3IgKEluZGV4ICA9IDA7IFZlbmRvcltJbmRleF0g
IT0gJ1wwJzsgSW5kZXgrKykKLSAgICAgICAgaWYgKCFpc2FsbnVtKChVQ0hBUilWZW5kb3JbSW5k
ZXhdKSkKLSAgICAgICAgICAgIFZlbmRvcltJbmRleF0gPSAnXyc7Ci0KLSAgICBQcm9kdWN0ID0g
IlhFTlZCRCI7Ci0KLSNpZiBEQkcKLSNkZWZpbmUgQVRUUklCVVRFUyAgICIoREVCVUcpIgotI2Vs
c2UKLSNkZWZpbmUgQVRUUklCVVRFUyAgICIiCi0jZW5kaWYKLQotICAgIChWT0lEKSBYRU5CVVNf
U1RPUkUoUHJpbnRmLAotICAgICAgICAgICAgICAgICAgICAgICAgJkZkby0+U3RvcmUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgImRyaXZl
cnMiLAotICAgICAgICAgICAgICAgICAgICAgICAgRGlzdHJpYnV0aW9uLAotICAgICAgICAgICAg
ICAgICAgICAgICAgIiVzICVzICV1LiV1LiV1ICVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
IFZlbmRvciwKLSAgICAgICAgICAgICAgICAgICAgICAgIFByb2R1Y3QsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBNQUpPUl9WRVJTSU9OLAotICAgICAgICAgICAgICAgICAgICAgICAgTUlOT1Jf
VkVSU0lPTiwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1JQ1JPX1ZFUlNJT04sCi0gICAgICAg
ICAgICAgICAgICAgICAgICBBVFRSSUJVVEVTCi0gICAgICAgICAgICAgICAgICAgICAgICApOwot
Ci0jdW5kZWYgIEFUVFJJQlVURVMKLQotICAgIFRyYWNlKCI8PT09PVxuIik7Ci0gICAgcmV0dXJu
IFNUQVRVU19TVUNDRVNTOwotCi1mYWlsMjoKLSAgICBFcnJvcigiZmFpbDJcbiIpOwotCi1mYWls
MToKLSAgICBFcnJvcigiZmFpbDEgKCUwOHgpXG4iLCBzdGF0dXMpOwotCi0gICAgcmV0dXJuIHN0
YXR1czsKLX0KLQotc3RhdGljIEZPUkNFSU5MSU5FIE5UU1RBVFVTCi1fX0Zkb0QzVG9EMCgKLSAg
ICBfX2luIFBYRU5WQkRfRkRPICAgIEZkbwotICAgICkKLXsKLSAgICBOVFNUQVRVUyAgICAgICAg
ICAgIFN0YXR1czsKLQotICAgIFRyYWNlKCI9PT09PT5cbiIpOwotCi0gICAgKFZPSUQpIEZkb1Nl
dERpc3RyaWJ1dGlvbihGZG8pOwotCi0gICAgQVNTRVJUM1AoRmRvLT5TY2FuV2F0Y2gsID09LCBO
VUxMKTsKLSAgICBTdGF0dXMgPSBYRU5CVVNfU1RPUkUoV2F0Y2hBZGQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICZGZG8tPlN0b3JlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiZGV2
aWNlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRmRvRW51bShGZG8pLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICBUaHJlYWRHZXRFdmVudChGZG8tPlNjYW5UaHJlYWQpLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAmRmRvLT5TY2FuV2F0Y2gpOwotICAgIGlmICghTlRfU1VDQ0VT
UyhTdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWwxOwotCi0gICAgKFZPSUQpIFhFTkJVU19TVE9S
RShQcmludGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAmRmRvLT5TdG9yZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZmVhdHVyZS9o
b3RwbHVnIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YmQiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIiV1IiwKLSAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUpOwotCi0gICAgVHJh
Y2UoIjw9PT09PVxuIik7Ci0gICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwotCi1mYWlsMToKLSAg
ICBFcnJvcigiZmFpbDEgKCUwOHgpXG4iLCBTdGF0dXMpOwotCi0gICAgcmV0dXJuIFN0YXR1czsK
LX0KLQotc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKLV9fRmRvRDBUb0QzKAotICAgIF9faW4gUFhF
TlZCRF9GRE8gICAgRmRvCi0gICAgKQotewotICAgIFRyYWNlKCI9PT09PT5cbiIpOwotCi0gICAg
KFZPSUQpIFhFTkJVU19TVE9SRShSZW1vdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAmRmRv
LT5TdG9yZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZmVhdHVyZS9ob3RwbHVnIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ2YmQi
KTsKLQotICAgIChWT0lEKSBYRU5CVVNfU1RPUkUoV2F0Y2hSZW1vdmUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAmRmRvLT5TdG9yZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIEZkby0+U2Nh
bldhdGNoKTsKLSAgICBGZG8tPlNjYW5XYXRjaCA9IE5VTEw7Ci0KLSAgICBGZG9DbGVhckRpc3Ry
aWJ1dGlvbihGZG8pOwotCi0gICAgVHJhY2UoIjw9PT09PVxuIik7Ci19Ci0KLV9fZHJ2X3JlcXVp
cmVzSVJRTChESVNQQVRDSF9MRVZFTCkKLXN0YXRpYyBWT0lECi1GZG9TdXNwZW5kTGF0ZUNhbGxi
YWNrKAotICAgIF9faW4gUFZPSUQgICAgICAgICAgICAgICAgICAgQXJndW1lbnQKLSAgICApCi17
Ci0gICAgUFhFTlZCRF9GRE8gICAgIEZkbyA9IEFyZ3VtZW50OwotICAgIE5UU1RBVFVTICAgICAg
ICBTdGF0dXM7Ci0KLSAgICBWZXJib3NlKCIlcyAoJXMpXG4iLAotICAgICAgICAgTUFKT1JfVkVS
U0lPTl9TVFIgIi4iIE1JTk9SX1ZFUlNJT05fU1RSICIuIiBNSUNST19WRVJTSU9OX1NUUiAiLiIg
QlVJTERfTlVNQkVSX1NUUiwKLSAgICAgICAgIERBWV9TVFIgIi8iIE1PTlRIX1NUUiAiLyIgWUVB
Ul9TVFIpOwotCi0gICAgX19GZG9EMFRvRDMoRmRvKTsKLQotICAgIFN0YXR1cyA9IF9fRmRvRDNU
b0QwKEZkbyk7Ci0gICAgQVNTRVJUKE5UX1NVQ0NFU1MoU3RhdHVzKSk7Ci19Ci0KLXN0YXRpYyBO
VFNUQVRVUwotRmRvRDNUb0QwKAotICAgIF9faW4gUFhFTlZCRF9GRE8gICAgICAgICAgICAgRmRv
Ci0gICAgKQotewotICAgIE5UU1RBVFVTICAgIFN0YXR1czsKLSAgICBVTE9ORyAgICAgICBUYXJn
ZXRJZDsKLQotICAgIGlmICghX19GZG9TZXREZXZpY2VQb3dlclN0YXRlKEZkbywgUG93ZXJEZXZp
Y2VEMCkpCi0gICAgICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKLQotICAgIFRyYWNlKCI9PT09
PT4gKCVkKVxuIiwgS2VHZXRDdXJyZW50SXJxbCgpKTsKLSAgICBWZXJib3NlKCJEMy0+RDBcbiIp
OwotCi0gICAgLy8gR2V0IEludGVyZmFjZXMKLSAgICBTdGF0dXMgPSBfX0Zkb0FjcXVpcmUoRmRv
KTsKLSAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsMTsKLSAg
ICAKLSAgICAvLyByZWdpc3RlciBkZWJ1ZyBjYWxsYmFjawotICAgIEFTU0VSVDNQKEZkby0+RGVi
dWdDYWxsYmFjaywgPT0sIE5VTEwpOwotICAgIFN0YXR1cyA9IFhFTkJVU19ERUJVRyhSZWdpc3Rl
ciwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZGZG8tPkRlYnVnLCAKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgX19NT0RVTEVfXywgCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEZk
b0RlYnVnQ2FsbGJhY2ssIAotICAgICAgICAgICAgICAgICAgICAgICAgICBGZG8sIAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAmRmRvLT5EZWJ1Z0NhbGxiYWNrKTsKLSAgICBpZiAoIU5UX1NV
Q0NFU1MoU3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsMjsKLQotICAgIC8vIFBvd2VyIFVQIGFu
eSBQRE9zCi0gICAgZm9yIChUYXJnZXRJZCA9IDA7IFRhcmdldElkIDwgWEVOVkJEX01BWF9UQVJH
RVRTOyArK1RhcmdldElkKSB7Ci0gICAgICAgIFBYRU5WQkRfUERPIFBkbyA9IF9fRmRvR2V0UGRv
KEZkbywgVGFyZ2V0SWQpOwotICAgICAgICBpZiAoUGRvKSB7Ci0gICAgICAgICAgICBTdGF0dXMg
PSBQZG9EM1RvRDAoUGRvKTsKLSAgICAgICAgICAgIFBkb0RlcmVmZXJlbmNlKFBkbyk7Ci0KLSAg
ICAgICAgICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQotICAgICAgICAgICAgICAgIGdvdG8g
ZmFpbDM7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBTdGF0dXMgPSBfX0Zkb0QzVG9EMChGZG8p
OwotICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWw0OwotCi0g
ICAgLy8gcmVnaXN0ZXIgc3VzcGVuZCBjYWxsYmFjayB0byByZS1yZWdpc3RlciB0aGUgd2F0Y2gK
LSAgICBBU1NFUlQzUChGZG8tPlN1c3BlbmRDYWxsYmFjaywgPT0sIE5VTEwpOwotICAgIFN0YXR1
cyA9IFhFTkJVU19TVVNQRU5EKFJlZ2lzdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZGZG8tPlN1c3BlbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VTUEVORF9DQUxM
QkFDS19MQVRFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZkb1N1c3BlbmRMYXRlQ2Fs
bGJhY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgRmRvLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZGZG8tPlN1c3BlbmRDYWxsYmFjayk7Ci0gICAgaWYgKCFOVF9TVUNDRVNT
KFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDU7Ci0KLSAgICBUcmFjZSgiPD09PT09ICglZClc
biIsIEtlR2V0Q3VycmVudElycWwoKSk7Ci0gICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwotCi1m
YWlsNToKLSAgICBFcnJvcigiRmFpbDVcbiIpOwotCi0gICAgX19GZG9EMFRvRDMoRmRvKTsKLQot
ZmFpbDQ6Ci0gICAgRXJyb3IoIkZhaWw0XG4iKTsKLQotZmFpbDM6Ci0gICAgRXJyb3IoIkZhaWwz
XG4iKTsKLQotICAgIGZvciAoVGFyZ2V0SWQgPSAwOyBUYXJnZXRJZCA8IFhFTlZCRF9NQVhfVEFS
R0VUUzsgKytUYXJnZXRJZCkgewotICAgICAgICBQWEVOVkJEX1BETyBQZG8gPSBfX0Zkb0dldFBk
byhGZG8sIFRhcmdldElkKTsKLSAgICAgICAgaWYgKFBkbykgewotICAgICAgICAgICAgUGRvRDBU
b0QzKFBkbyk7Ci0gICAgICAgICAgICBQZG9EZXJlZmVyZW5jZShQZG8pOwotICAgICAgICB9Ci0g
ICAgfQotCi0gICAgWEVOQlVTX0RFQlVHKERlcmVnaXN0ZXIsICZGZG8tPkRlYnVnLCBGZG8tPkRl
YnVnQ2FsbGJhY2spOwotICAgIEZkby0+RGVidWdDYWxsYmFjayA9IE5VTEw7Ci0KLWZhaWwyOgot
ICAgIEVycm9yKCJGYWlsMlxuIik7Ci0KLSAgICBfX0Zkb1JlbGVhc2UoRmRvKTsKLSAgIAotZmFp
bDE6Ci0gICAgRXJyb3IoIkZhaWwxICglMDh4KVxuIiwgU3RhdHVzKTsKLQotICAgIF9fRmRvU2V0
RGV2aWNlUG93ZXJTdGF0ZShGZG8sIFBvd2VyRGV2aWNlRDMpOwotICAgIHJldHVybiBTdGF0dXM7
Ci19Ci0KLXN0YXRpYyBWT0lECi1GZG9EMFRvRDMoCi0gICAgX19pbiBQWEVOVkJEX0ZETyAgICAg
ICAgICAgICBGZG8KLSAgICApCi17Ci0gICAgVUxPTkcgICAgICAgVGFyZ2V0SWQ7Ci0KLSAgICBp
ZiAoIV9fRmRvU2V0RGV2aWNlUG93ZXJTdGF0ZShGZG8sIFBvd2VyRGV2aWNlRDMpKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBUcmFjZSgiPT09PT0+ICglZClcbiIsIEtlR2V0Q3VycmVudElycWwo
KSk7Ci0gICAgVmVyYm9zZSgiRDAtPkQzXG4iKTsKLQotICAgIC8vIHJlbW92ZSBzdXNwZW5kIGNh
bGxiYWNrCi0gICAgWEVOQlVTX1NVU1BFTkQoRGVyZWdpc3RlciwgJkZkby0+U3VzcGVuZCwgRmRv
LT5TdXNwZW5kQ2FsbGJhY2spOwotICAgIEZkby0+U3VzcGVuZENhbGxiYWNrID0gTlVMTDsKLQot
ICAgIF9fRmRvRDBUb0QzKEZkbyk7Ci0KLSAgICAvLyBQb3dlciBET1dOIGFueSBQRE9zCi0gICAg
Zm9yIChUYXJnZXRJZCA9IDA7IFRhcmdldElkIDwgWEVOVkJEX01BWF9UQVJHRVRTOyArK1Rhcmdl
dElkKSB7Ci0gICAgICAgIFBYRU5WQkRfUERPIFBkbyA9IF9fRmRvR2V0UGRvKEZkbywgVGFyZ2V0
SWQpOwotICAgICAgICBpZiAoUGRvKSB7Ci0gICAgICAgICAgICBQZG9EMFRvRDMoUGRvKTsKLSAg
ICAgICAgICAgIFBkb0RlcmVmZXJlbmNlKFBkbyk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICAv
LyBmcmVlIGRlYnVnIGNhbGxiYWNrCi0gICAgaWYgKEZkby0+RGVidWdDYWxsYmFjayAhPSBOVUxM
KSB7Ci0gICAgICAgIFhFTkJVU19ERUJVRyhEZXJlZ2lzdGVyLCAmRmRvLT5EZWJ1ZywgRmRvLT5E
ZWJ1Z0NhbGxiYWNrKTsKLSAgICAgICAgRmRvLT5EZWJ1Z0NhbGxiYWNrID0gTlVMTDsKLSAgICB9
Ci0KLSAgICAvLyBSZWxlYXNlIEludGVyZmFjZXMKLSAgICBfX0Zkb1JlbGVhc2UoRmRvKTsKLQot
ICAgIFRyYWNlKCI8PT09PT0gKCVkKVxuIiwgS2VHZXRDdXJyZW50SXJxbCgpKTsKLX0KLQotX19j
aGVja1JldHVybgotc3RhdGljIERFQ0xTUEVDX05PSU5MSU5FIE5UU1RBVFVTCi1GZG9EZXZpY2VQ
b3dlcigKLSAgICBfX2luIFBYRU5WQkRfVEhSRUFEICAgICAgICAgICAgIFRocmVhZCwKLSAgICBf
X2luIFBWT0lEICAgICAgICAgICAgICAgICAgICAgIENvbnRleHQKLSAgICApCi17Ci0gICAgUFhF
TlZCRF9GRE8gICAgIEZkbyA9IENvbnRleHQ7Ci0KLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIFBJ
UlAgICAgICAgICAgICAgICAgSXJwOwotICAgICAgICBQSU9fU1RBQ0tfTE9DQVRJT04gIFN0YWNr
OwotICAgICAgICBERVZJQ0VfUE9XRVJfU1RBVEUgIERldmljZVN0YXRlOwotICAgICAgICBQT1dF
Ul9BQ1RJT04gICAgICAgIEFjdGlvbjsKLSAgICAgICAgTlRTVEFUVVMgICAgICAgICAgICBTdGF0
dXM7Ci0KLSAgICAgICAgaWYgKCFUaHJlYWRXYWl0KFRocmVhZCkpCi0gICAgICAgICAgICBicmVh
azsKLQotICAgICAgICAvLyBtdXN0IGhhdmUgYSBwZW5kZWQgRGV2aWNlUG93ZXJJcnAKLSAgICAg
ICAgQVNTRVJUM1AoRmRvLT5EZXZpY2VQb3dlcklycCwgIT0sIE5VTEwpOwotCi0gICAgICAgIEly
cCA9IEZkby0+RGV2aWNlUG93ZXJJcnA7Ci0gICAgICAgIEZkby0+RGV2aWNlUG93ZXJJcnAgPSBO
VUxMOwotCi0gICAgICAgIFN0YWNrID0gSW9HZXRDdXJyZW50SXJwU3RhY2tMb2NhdGlvbihJcnAp
OwotICAgICAgICBEZXZpY2VTdGF0ZSA9IFN0YWNrLT5QYXJhbWV0ZXJzLlBvd2VyLlN0YXRlLkRl
dmljZVN0YXRlOwotICAgICAgICBBY3Rpb24gPSBTdGFjay0+UGFyYW1ldGVycy5Qb3dlci5TaHV0
ZG93blR5cGU7Ci0KLSAgICAgICAgc3dpdGNoIChTdGFjay0+TWlub3JGdW5jdGlvbikgewotICAg
ICAgICBjYXNlIElSUF9NTl9TRVRfUE9XRVI6Ci0gICAgICAgICAgICBzd2l0Y2ggKERldmljZVN0
YXRlKSB7Ci0gICAgICAgICAgICBjYXNlIFBvd2VyRGV2aWNlRDA6Ci0gICAgICAgICAgICAgICAg
VmVyYm9zZSgiRkRPOlBvd2VyRGV2aWNlRDBcbiIpOwotICAgICAgICAgICAgICAgIEZkb0QzVG9E
MChGZG8pOwotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICBjYXNlIFBvd2Vy
RGV2aWNlRDM6Ci0gICAgICAgICAgICAgICAgVmVyYm9zZSgiRkRPOlBvd2VyRGV2aWNlRDMgKCVz
KVxuIiwgUG93ZXJBY3Rpb25OYW1lKEFjdGlvbikpOwotICAgICAgICAgICAgICAgIEZkb0QwVG9E
MyhGZG8pOwotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICBkZWZhdWx0Ogot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgSVJQX01OX1FVRVJZX1BPV0VSOgotICAgICAgICBkZWZhdWx0OgotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgRmRvRGVyZWZlcmVuY2UoRmRvKTsK
LSAgICAgICAgU3RhdHVzID0gRHJpdmVyRGlzcGF0Y2hQb3dlcihGZG8tPkRldmljZU9iamVjdCwg
SXJwKTsKLSAgICAgICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpIHsKLSAgICAgICAgICAgIFdh
cm5pbmcoIlN0b3JQb3J0IGZhaWxlZCBQb3dlcklSUCB3aXRoICUwOHhcbiIsIFN0YXR1cyk7Ci0g
ICAgICAgIH0KLSAgICB9Ci0KLSAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7Ci19Ci0KLV9fY2hl
Y2tSZXR1cm4KLV9fZHJ2X3JlcXVpcmVzSVJRTChQQVNTSVZFX0xFVkVMKQotc3RhdGljIE5UU1RB
VFVTCi1fX0Zkb0luaXRpYWxpemUoCi0gICAgX19pbiBQWEVOVkJEX0ZETyAgICAgICAgICAgICBG
ZG8KLSAgICApCi17Ci0gICAgVUxPTkcgICAgICAgU3RvclN0YXR1czsKLSAgICBOVFNUQVRVUyAg
ICBTdGF0dXM7Ci0KLSAgICBUcmFjZSgiPT09PT0+ICglZClcbiIsIEtlR2V0Q3VycmVudElycWwo
KSk7Ci0gICAgCi0gICAgQVNTRVJUM1UoS2VHZXRDdXJyZW50SXJxbCgpLCA8PSwgRElTUEFUQ0hf
TEVWRUwpOwotICAgIC8vIGluaXRpYWxpemUgdGhlIG1lbW9yeQotICAgIEZkby0+RGV2aWNlUG93
ZXIgPSBQb3dlckRldmljZUQzOwotICAgIEtlSW5pdGlhbGl6ZVNwaW5Mb2NrKCZGZG8tPlRhcmdl
dExvY2spOwotICAgIEtlSW5pdGlhbGl6ZVNwaW5Mb2NrKCZGZG8tPkxvY2spOwotICAgIEtlSW5p
dGlhbGl6ZUV2ZW50KCZGZG8tPlJlbW92ZUV2ZW50LCBTeW5jaHJvbml6YXRpb25FdmVudCwgRkFM
U0UpOwotICAgIEtlSW5pdGlhbGl6ZUV2ZW50KCZGZG8tPlNjYW5FdmVudCwgU3luY2hyb25pemF0
aW9uRXZlbnQsIEZBTFNFKTsKLQotICAgIEZkby0+UmVmZXJlbmNlQ291bnQgPSAxOwotICAgIEZk
by0+U2lnbmF0dXJlID0gRkRPX1NJR05BVFVSRTsKLQotICAgIFN0b3JTdGF0dXMgPSBTdG9yUG9y
dEdldERldmljZU9iamVjdHMoRmRvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJkZkby0+RGV2aWNlT2JqZWN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJkZkby0+UGh5c2ljYWxEZXZpY2VPYmplY3QsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRmRvLT5Mb3dlckRldmljZU9iamVjdCk7Ci0g
ICAgU3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VTU0ZVTDsKLSAgICBpZiAoU3RvclN0YXR1cyAhPSBT
VE9SX1NUQVRVU19TVUNDRVNTKSB7Ci0gICAgICAgIEVycm9yKCJTdG9yUG9ydEdldERldmljZU9i
amVjdHMoKSAoJXg6JXMpXG4iLCBTdG9yU3RhdHVzLCBTdG9yU3RhdHVzTmFtZShTdG9yU3RhdHVz
KSk7Ci0gICAgICAgIGdvdG8gZmFpbDE7Ci0gICAgfQotCi0gICAgLy8gZ2V0IGludGVyZmFjZXMK
LSAgICBTdGF0dXMgPSBfX0Zkb1F1ZXJ5SW50ZXJmYWNlcyhGZG8pOwotICAgIGlmICghTlRfU1VD
Q0VTUyhTdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWwyOwotCi0gICAgLy8gc3RhcnQgZW51bSB0
aHJlYWQKLSAgICBTdGF0dXMgPSBUaHJlYWRDcmVhdGUoRmRvU2NhbiwgRmRvLCAmRmRvLT5TY2Fu
VGhyZWFkKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1MoU3RhdHVzKSkKLSAgICAgICAgZ290byBmYWls
MzsKLQotICAgIFN0YXR1cyA9IFRocmVhZENyZWF0ZShGZG9EZXZpY2VQb3dlciwgRmRvLCAmRmRv
LT5EZXZpY2VQb3dlclRocmVhZCk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAg
ICAgIGdvdG8gZmFpbDQ7Ci0KLSAgICAvLyBxdWVyeSBlbnVtZXJhdG9yCi0gICAgLy8gZml4IHRo
aXMgdXAgdG8gcXVlcnkgZnJvbSBkZXZpY2UgbG9jYXRpb24oPykKLSAgICAvL1J0bEluaXRBbnNp
U3RyaW5nKCZGZG8tPkVudW1lcmF0b3IsICJ2YmQiKTsKLQotICAgIC8vIGxpbmsgZmRvCi0gICAg
RHJpdmVyTGlua0ZkbyhGZG8pOwotCi0gICAgVHJhY2UoIjw9PT09PSAoJWQpXG4iLCBLZUdldEN1
cnJlbnRJcnFsKCkpOwotICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKLQotZmFpbDQ6Ci0gICAg
RXJyb3IoImZhaWw0XG4iKTsKLSAgICBUaHJlYWRBbGVydChGZG8tPlNjYW5UaHJlYWQpOwotICAg
IFRocmVhZEpvaW4oRmRvLT5TY2FuVGhyZWFkKTsKLSAgICBGZG8tPlNjYW5UaHJlYWQgPSBOVUxM
OwotZmFpbDM6Ci0gICAgRXJyb3IoImZhaWwzXG4iKTsKLSAgICBfX0Zkb1plcm9JbnRlcmZhY2Vz
KEZkbyk7Ci1mYWlsMjoKLSAgICBFcnJvcigiZmFpbDJcbiIpOwotICAgIEZkby0+RGV2aWNlT2Jq
ZWN0ID0gTlVMTDsKLSAgICBGZG8tPlBoeXNpY2FsRGV2aWNlT2JqZWN0ID0gTlVMTDsKLSAgICBG
ZG8tPkxvd2VyRGV2aWNlT2JqZWN0ID0gTlVMTDsKLWZhaWwxOgotICAgIEVycm9yKCJmYWlsMSAo
JTA4eClcbiIsIFN0YXR1cyk7Ci0gICAgcmV0dXJuIFN0YXR1czsKLX0KLV9fZHJ2X21heElSUUwo
UEFTU0lWRV9MRVZFTCkKLXN0YXRpYyBWT0lECi1fX0Zkb1Rlcm1pbmF0ZSgKLSAgICBfX2luIFBY
RU5WQkRfRkRPICAgICAgICAgICAgIEZkbwotICAgICkKLXsKLSAgICBVTE9ORyAgIFRhcmdldElk
OwotCi0gICAgVHJhY2UoIj09PT09PiAoJWQpXG4iLCBLZUdldEN1cnJlbnRJcnFsKCkpOwotCi0g
ICAgRHJpdmVyVW5saW5rRmRvKEZkbyk7Ci0gICAgQVNTRVJUM1UoRmRvLT5EZXZpY2VQb3dlciwg
PT0sIFBvd2VyRGV2aWNlRDMpOwotICAgIEZkb0RlcmVmZXJlbmNlKEZkbyk7Ci0KLSAgICAvLyBz
aG91bGQgd2FpdCB1bnRpbCBSZWZlcmVuY2VDb3VudCA9PSAwCi0gICAgVmVyYm9zZSgiVGVybWlu
YXRpbmcsICVkIFJlZnNcbiIsIEZkby0+UmVmZXJlbmNlQ291bnQpOwotICAgIEFTU0VSVDNTKEZk
by0+UmVmZXJlbmNlQ291bnQsID49LCAwKTsKLSAgICBLZVdhaXRGb3JTaW5nbGVPYmplY3QoJkZk
by0+UmVtb3ZlRXZlbnQsIEV4ZWN1dGl2ZSwgS2VybmVsTW9kZSwgRkFMU0UsIE5VTEwpOwotICAg
IEFTU0VSVDNTKEZkby0+UmVmZXJlbmNlQ291bnQsID09LCAwKTsKLQotICAgIC8vIHN0b3AgZGV2
aWNlIHBvd2VyIHRocmVhZAotICAgIFRocmVhZEFsZXJ0KEZkby0+RGV2aWNlUG93ZXJUaHJlYWQp
OwotICAgIFRocmVhZEpvaW4oRmRvLT5EZXZpY2VQb3dlclRocmVhZCk7Ci0gICAgRmRvLT5EZXZp
Y2VQb3dlclRocmVhZCA9IE5VTEw7Ci0KLSAgICAvLyBzdG9wIGVudW0gdGhyZWFkCi0gICAgVGhy
ZWFkQWxlcnQoRmRvLT5TY2FuVGhyZWFkKTsKLSAgICBUaHJlYWRKb2luKEZkby0+U2NhblRocmVh
ZCk7Ci0gICAgRmRvLT5TY2FuVGhyZWFkID0gTlVMTDsKLQotICAgIC8vIGNsZWFyIGRldmljZSBv
YmplY3RzCi0gICAgRmRvLT5EZXZpY2VPYmplY3QgPSBOVUxMOwotICAgIEZkby0+UGh5c2ljYWxE
ZXZpY2VPYmplY3QgPSBOVUxMOwotICAgIEZkby0+TG93ZXJEZXZpY2VPYmplY3QgPSBOVUxMOwot
ICAgIAotICAgIC8vIGRlbGV0ZSB0YXJnZXRzCi0gICAgZm9yIChUYXJnZXRJZCA9IDA7IFRhcmdl
dElkIDwgWEVOVkJEX01BWF9UQVJHRVRTOyArK1RhcmdldElkKSB7Ci0gICAgICAgIFBYRU5WQkRf
UERPIFBkbyA9IF9fRmRvR2V0UGRvQWx3YXlzKEZkbywgVGFyZ2V0SWQsIF9fRlVOQ1RJT05fXyk7
Ci0gICAgICAgIGlmIChQZG8pIHsKLSAgICAgICAgICAgIC8vIFBkbyBtYXkgbm90IGJlIGluIERl
bGV0ZWQgc3RhdGUgeWV0LCBmb3JjZSBpdCBhcyBGZG8gaXMgdGVybWluYXRpbmcKLSAgICAgICAg
ICAgIGlmIChQZG9HZXREZXZpY2VQbnBTdGF0ZShQZG8pICE9IERlbGV0ZWQpCi0gICAgICAgICAg
ICAgICAgUGRvU2V0RGV2aWNlUG5wU3RhdGUoUGRvLCBEZWxldGVkKTsKLSAgICAgICAgICAgIC8v
IHVwZGF0ZSBtaXNzaW5nIChmb3IgZGVidWcgb3V0cHV0IG1vcmUgdGhhbiBhbnl0aGluZyBlbHNl
Ci0gICAgICAgICAgICBQZG9TZXRNaXNzaW5nKFBkbywgIkZkb1Rlcm1pbmF0ZSIpOwotICAgICAg
ICAgICAgLy8gZHJvcCByZWYtY291bnQgYWNxdWlyZWQgaW4gX19GZG9HZXRQZG8gKmJlZm9yZSog
ZGVzdHJveWluZyBQZG8KLSAgICAgICAgICAgIFBkb0RlcmVmZXJlbmNlKFBkbyk7Ci0gICAgICAg
ICAgICBQZG9EZXN0cm95KFBkbyk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICAvLyBjbGVhbnVw
IG1lbW9yeQotICAgIEFTU0VSVDNVKEZkby0+RGV2aWNlUG93ZXIsID09LCBQb3dlckRldmljZUQz
KTsKLSAgICBBU1NFUlQzUChGZG8tPkRlYnVnQ2FsbGJhY2ssID09LCBOVUxMKTsKLSAgICBBU1NF
UlQzUChGZG8tPlN1c3BlbmRDYWxsYmFjaywgPT0sIE5VTEwpOwotCi0gICAgRmRvLT5TaWduYXR1
cmUgPSAwOwotICAgIEZkby0+RGV2aWNlUG93ZXIgPSAwOwotICAgIEZkby0+Q3VycmVudFNyYnMg
PSBGZG8tPk1heGltdW1TcmJzID0gRmRvLT5Ub3RhbFNyYnMgPSAwOwotICAgIFJ0bFplcm9NZW1v
cnkoJkZkby0+RW51bWVyYXRvciwgc2l6ZW9mKEFOU0lfU1RSSU5HKSk7Ci0gICAgUnRsWmVyb01l
bW9yeSgmRmRvLT5UYXJnZXRMb2NrLCBzaXplb2YoS1NQSU5fTE9DSykpOwotICAgIFJ0bFplcm9N
ZW1vcnkoJkZkby0+TG9jaywgc2l6ZW9mKEtTUElOX0xPQ0spKTsKLSAgICBSdGxaZXJvTWVtb3J5
KCZGZG8tPlNjYW5FdmVudCwgc2l6ZW9mKEtFVkVOVCkpOwotICAgIFJ0bFplcm9NZW1vcnkoJkZk
by0+UmVtb3ZlRXZlbnQsIHNpemVvZihLRVZFTlQpKTsKLSAgICBfX0Zkb1plcm9JbnRlcmZhY2Vz
KEZkbyk7Ci0KLSAgICBBU1NFUlQoSXNaZXJvTWVtb3J5KEZkbywgc2l6ZW9mKFhFTlZCRF9GRE8p
KSk7Ci0gICAgVHJhY2UoIjw9PT09PSAoJWQpXG4iLCBLZUdldEN1cnJlbnRJcnFsKCkpOwotfQot
Ly89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLy8gUXVlcnkgTWV0aG9kcwotX19jaGVja1JldHVybgot
Rk9SQ0VJTkxJTkUgUERFVklDRV9PQkpFQ1QKLUZkb0dldERldmljZU9iamVjdCgKLSAgICBfX2lu
IFBYRU5WQkRfRkRPICAgICAgICAgICAgICAgICBGZG8KLSAgICApCi17Ci0gICAgaWYgKEZkbykK
LSAgICAgICAgcmV0dXJuIEZkby0+RGV2aWNlT2JqZWN0OwotICAgIHJldHVybiBOVUxMOwotfQot
Ci1GT1JDRUlOTElORSBVTE9ORwotRmRvU2l6ZW9mWGVudmJkRmRvKAotICAgICkKLXsKLSAgICBy
ZXR1cm4gKFVMT05HKXNpemVvZihYRU5WQkRfRkRPKTsKLX0KLQotRk9SQ0VJTkxJTkUgUENIQVIK
LUZkb0VudW0oCi0gICAgX19pbiBQWEVOVkJEX0ZETyAgICAgICAgICAgICAgICAgRmRvCi0gICAg
KQotewotICAgIGlmIChGZG8tPkVudW1lcmF0b3IuQnVmZmVyKQotICAgICAgICByZXR1cm4gRmRv
LT5FbnVtZXJhdG9yLkJ1ZmZlcjsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiAidmJkIjsKLX0K
LQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLy8gU1JCIE1ldGhvZHMKLUZPUkNFSU5MSU5FIFZP
SUQKLUZkb1N0YXJ0U3JiKAotICAgIF9faW4gUFhFTlZCRF9GRE8gICAgICAgICAgICAgICAgIEZk
bywKLSAgICBfX2luIFBTQ1NJX1JFUVVFU1RfQkxPQ0sgICAgICAgICBTcmIKLSAgICApCi17Ci0g
ICAgTE9ORyAgICBWYWx1ZTsKLQotICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoU3JiKTsKLQot
ICAgIFZhbHVlID0gSW50ZXJsb2NrZWRJbmNyZW1lbnQoJkZkby0+Q3VycmVudFNyYnMpOwotICAg
IGlmIChWYWx1ZSA+IEZkby0+TWF4aW11bVNyYnMpCi0gICAgICAgIEZkby0+TWF4aW11bVNyYnMg
PSBWYWx1ZTsKLSAgICBJbnRlcmxvY2tlZEluY3JlbWVudCgmRmRvLT5Ub3RhbFNyYnMpOwotfQot
Ci1GT1JDRUlOTElORSBWT0lECi1GZG9Db21wbGV0ZVNyYigKLSAgICBfX2luIFBYRU5WQkRfRkRP
ICAgICAgICAgICAgICAgICBGZG8sCi0gICAgX19pbiBQU0NTSV9SRVFVRVNUX0JMT0NLICAgICAg
ICAgU3JiCi0gICAgKQotewotICAgIEFTU0VSVDNVKFNyYi0+U3JiU3RhdHVzLCAhPSwgU1JCX1NU
QVRVU19QRU5ESU5HKTsKLQotICAgIEludGVybG9ja2VkRGVjcmVtZW50KCZGZG8tPkN1cnJlbnRT
cmJzKTsKLQotICAgIFN0b3JQb3J0Tm90aWZpY2F0aW9uKFJlcXVlc3RDb21wbGV0ZSwgRmRvLCBT
cmIpOwotfQotCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0vLyBTdG9yUG9ydCBNZXRob2RzCi1C
T09MRUFOCi1GZG9SZXNldEJ1cygKLSAgICBfX2luIFBYRU5WQkRfRkRPICAgICAgICAgICAgICAg
ICBGZG8KLSAgICApCi17Ci0gICAgVUxPTkcgICAgICAgICAgIFRhcmdldElkOwotCi0gICAgVmVy
Ym9zZSgiPT09PT5cbiIpOwotICAgIGZvciAoVGFyZ2V0SWQgPSAwOyBUYXJnZXRJZCA8IFhFTlZC
RF9NQVhfVEFSR0VUUzsgKytUYXJnZXRJZCkgewotICAgICAgICBQWEVOVkJEX1BETyBQZG8gPSBf
X0Zkb0dldFBkbyhGZG8sIFRhcmdldElkKTsKLSAgICAgICAgaWYgKFBkbykgewotICAgICAgICAg
ICAgUGRvUmVzZXQoUGRvKTsKLSAgICAgICAgICAgIFBkb0RlcmVmZXJlbmNlKFBkbyk7Ci0gICAg
ICAgIH0KLSAgICB9Ci0gICAgVmVyYm9zZSgiPD09PT1cbiIpOwotCi0gICAgcmV0dXJuIFRSVUU7
Ci19Ci0KLXN0YXRpYyBWT0lECi1GZG9VbnBsdWdSZXF1ZXN0KAotICAgIElOICBQWEVOVkJEX0ZE
TyBGZG8sCi0gICAgSU4gIEJPT0xFQU4gICAgIE1ha2UKLSAgICApCi17Ci0gICAgTlRTVEFUVVMg
ICAgICAgIHN0YXR1czsKLQotICAgIHN0YXR1cyA9IFhFTkJVU19VTlBMVUcoQWNxdWlyZSwgJkZk
by0+VW5wbHVnKTsKLSAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgWEVOQlVTX1VOUExVRyhSZXF1ZXN0LAotICAgICAgICAgICAgICAgICAgJkZkby0+
VW5wbHVnLAotICAgICAgICAgICAgICAgICAgWEVOQlVTX1VOUExVR19ERVZJQ0VfVFlQRV9ESVNL
UywKLSAgICAgICAgICAgICAgICAgIE1ha2UpOwotCi0gICAgWEVOQlVTX1VOUExVRyhSZWxlYXNl
LCAmRmRvLT5VbnBsdWcpOwotfQotCi1VTE9ORwotRmRvRmluZEFkYXB0ZXIoCi0gICAgX19pbiBQ
WEVOVkJEX0ZETyAgICAgICAgICAgICAgICAgRmRvLAotICAgIF9faW5vdXQgUFBPUlRfQ09ORklH
VVJBVElPTl9JTkZPUk1BVElPTiAgQ29uZmlnSW5mbwotICAgICkKLXsKLSAgICAvLyBzZXR1cCBj
b25maWcgaW5mbwotICAgIENvbmZpZ0luZm8tPk1heGltdW1UcmFuc2Zlckxlbmd0aCAgICAgICA9
IFhFTlZCRF9NQVhfVFJBTlNGRVJfTEVOR1RIOwotICAgIENvbmZpZ0luZm8tPk51bWJlck9mUGh5
c2ljYWxCcmVha3MgICAgICA9IFhFTlZCRF9NQVhfUEhZU0lDQUxfQlJFQUtTOwotICAgIENvbmZp
Z0luZm8tPkFsaWdubWVudE1hc2sgICAgICAgICAgICAgICA9IDA7IC8vIEJ5dGUtQWxpZ25lZAot
ICAgIENvbmZpZ0luZm8tPk51bWJlck9mQnVzZXMgICAgICAgICAgICAgICA9IDE7Ci0gICAgQ29u
ZmlnSW5mby0+SW5pdGlhdG9yQnVzSWRbMF0gICAgICAgICAgID0gMTsKLSAgICBDb25maWdJbmZv
LT5TY2F0dGVyR2F0aGVyICAgICAgICAgICAgICAgPSBUUlVFOwotICAgIENvbmZpZ0luZm8tPk1h
c3RlciAgICAgICAgICAgICAgICAgICAgICA9IFRSVUU7Ci0gICAgQ29uZmlnSW5mby0+Q2FjaGVz
RGF0YSAgICAgICAgICAgICAgICAgID0gRkFMU0U7Ci0gICAgQ29uZmlnSW5mby0+TWFwQnVmZmVy
cyAgICAgICAgICAgICAgICAgID0gU1RPUl9NQVBfTk9OX1JFQURfV1JJVEVfQlVGRkVSUzsKLSAg
ICBDb25maWdJbmZvLT5NYXhpbXVtTnVtYmVyT2ZUYXJnZXRzICAgICAgPSBYRU5WQkRfTUFYX1RB
UkdFVFM7Ci0gICAgQ29uZmlnSW5mby0+TWF4aW11bU51bWJlck9mTG9naWNhbFVuaXRzID0gMTsK
LSAgICBDb25maWdJbmZvLT5XbWlEYXRhUHJvdmlkZXIgICAgICAgICAgICAgPSBGQUxTRTsgLy8g
c2hvdWxkIGJlIFRSVUUKLSAgICBDb25maWdJbmZvLT5TeW5jaHJvbml6YXRpb25Nb2RlbCAgICAg
ICAgPSBTdG9yU3luY2hyb25pemVGdWxsRHVwbGV4OwotCi0gICAgaWYgKENvbmZpZ0luZm8tPkRt
YTY0Qml0QWRkcmVzc2VzID09IFNDU0lfRE1BNjRfU1lTVEVNX1NVUFBPUlRFRCkgewotICAgICAg
ICBUcmFjZSgiNjRiaXQgRE1BXG4iKTsKLSAgICAgICAgQ29uZmlnSW5mby0+RG1hNjRCaXRBZGRy
ZXNzZXMgPSBTQ1NJX0RNQTY0X01JTklQT1JUX1NVUFBPUlRFRDsKLSAgICB9Ci0KLSAgICAvLyBn
ZXRzIGNhbGxlZCBvbiByZXN1bWUgZnJvbSBoaWJlcm5hdGUsIHNvIG9ubHkgc2V0dXAgaWYgbm90
IGFscmVhZHkgZG9uZQotICAgIGlmIChGZG8tPlNpZ25hdHVyZSA9PSBGRE9fU0lHTkFUVVJFKSB7
Ci0gICAgICAgIFZlcmJvc2UoIkZETyBhbHJlYWR5IGluaXRhbGl6ZWQgKDB4JXApXG4iLCBGZG8p
OwotICAgICAgICByZXR1cm4gU1BfUkVUVVJOX0ZPVU5EOwotICAgIH0KLQotICAgIC8vIFdlIG5l
ZWQgdG8gZG8gdGhpcyB0byBhdm9pZCBhbiBhc3NlcnRpb24gaW4gYSBjaGVja2VkIGtlcm5lbAot
ICAgIChWT0lEKSBTdG9yUG9ydEdldFVuY2FjaGVkRXh0ZW5zaW9uKEZkbywgQ29uZmlnSW5mbywg
UEFHRV9TSVpFKTsKLQotICAgIGlmICghTlRfU1VDQ0VTUyhfX0Zkb0luaXRpYWxpemUoRmRvKSkp
Ci0gICAgICAgIHJldHVybiBTUF9SRVRVUk5fRVJST1I7Ci0KLSAgICBGZG9VbnBsdWdSZXF1ZXN0
KEZkbywgVFJVRSk7Ci0KLSAgICBpZiAoIU5UX1NVQ0NFU1MoRmRvRDNUb0QwKEZkbykpKQotICAg
ICAgICByZXR1cm4gU1BfUkVUVVJOX0VSUk9SOwotCi0gICAgcmV0dXJuIFNQX1JFVFVSTl9GT1VO
RDsKLX0KLQotc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKLV9fRmRvU3JiUG5wKAotICAgIF9faW4g
UFhFTlZCRF9GRE8gICAgICAgICAgICAgICAgIEZkbywKLSAgICBfX2luIFBTQ1NJX1BOUF9SRVFV
RVNUX0JMT0NLICAgICBTcmIKLSAgICApCi17Ci0gICAgaWYgKCEoU3JiLT5TcmJQblBGbGFncyAm
IFNSQl9QTlBfRkxBR1NfQURBUFRFUl9SRVFVRVNUKSkgewotICAgICAgICBQWEVOVkJEX1BETyAg
ICAgUGRvOwotCi0gICAgICAgIFBkbyA9IF9fRmRvR2V0UGRvKEZkbywgU3JiLT5UYXJnZXRJZCk7
Ci0gICAgICAgIGlmIChQZG8pIHsKLSAgICAgICAgICAgIFBkb1NyYlBucChQZG8sIFNyYik7Ci0g
ICAgICAgICAgICBQZG9EZXJlZmVyZW5jZShQZG8pOwotICAgICAgICB9Ci0gICAgfQotfQotCi1C
T09MRUFOIAotRmRvQnVpbGRJbygKLSAgICBfX2luIFBYRU5WQkRfRkRPICAgICAgICAgICAgICAg
ICBGZG8sCi0gICAgX19pbiBQU0NTSV9SRVFVRVNUX0JMT0NLICAgICAgICAgU3JiCi0gICAgKQot
ewotICAgIEluaXRTcmJFeHQoU3JiKTsKLQotICAgIHN3aXRjaCAoU3JiLT5GdW5jdGlvbikgewot
ICAgIGNhc2UgU1JCX0ZVTkNUSU9OX0VYRUNVVEVfU0NTSToKLSAgICBjYXNlIFNSQl9GVU5DVElP
Tl9SRVNFVF9ERVZJQ0U6Ci0gICAgY2FzZSBTUkJfRlVOQ1RJT05fRkxVU0g6Ci0gICAgY2FzZSBT
UkJfRlVOQ1RJT05fU0hVVERPV046Ci0gICAgICAgIEZkb1N0YXJ0U3JiKEZkbywgU3JiKTsKLSAg
ICAgICAgcmV0dXJuIFRSVUU7Ci0KLSAgICAgICAgLy8gZG9udCBwYXNzIHRvIFN0YXJ0SW8KLSAg
ICBjYXNlIFNSQl9GVU5DVElPTl9QTlA6Ci0gICAgICAgIF9fRmRvU3JiUG5wKEZkbywgKFBTQ1NJ
X1BOUF9SRVFVRVNUX0JMT0NLKVNyYik7Ci0gICAgICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NU
QVRVU19TVUNDRVNTOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFNSQl9GVU5DVElPTl9BQk9S
VF9DT01NQU5EOgotICAgICAgICBTcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfQUJPUlRfRkFJ
TEVEOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFNSQl9GVU5DVElPTl9SRVNFVF9CVVM6Ci0g
ICAgICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19TVUNDRVNTOwotICAgICAgICBGZG9S
ZXNldEJ1cyhGZG8pOwotICAgICAgICBicmVhazsKLSAgICAgICAgCi0gICAgZGVmYXVsdDoKLSAg
ICAgICAgYnJlYWs7Ci0gICAgfQotICAgIAotICAgIFN0b3JQb3J0Tm90aWZpY2F0aW9uKFJlcXVl
c3RDb21wbGV0ZSwgRmRvLCBTcmIpOwotICAgIHJldHVybiBGQUxTRTsKLX0gICAKLQotQk9PTEVB
TiAKLUZkb1N0YXJ0SW8oCi0gICAgX19pbiBQWEVOVkJEX0ZETyAgICAgICAgICAgICAgICAgRmRv
LAotICAgIF9faW4gUFNDU0lfUkVRVUVTVF9CTE9DSyAgICAgICAgIFNyYgotICAgICkKLXsKLSAg
ICBQWEVOVkJEX1BETyBQZG87Ci0gICAgQk9PTEVBTiAgICAgQ29tcGxldGVTcmIgPSBUUlVFOwot
Ci0gICAgUGRvID0gX19GZG9HZXRQZG8oRmRvLCBTcmItPlRhcmdldElkKTsKLSAgICBpZiAoUGRv
KSB7Ci0gICAgICAgIENvbXBsZXRlU3JiID0gUGRvU3RhcnRJbyhQZG8sIFNyYik7Ci0gICAgICAg
IFBkb0RlcmVmZXJlbmNlKFBkbyk7Ci0gICAgfQotCi0gICAgaWYgKENvbXBsZXRlU3JiKSB7Ci0g
ICAgICAgIEZkb0NvbXBsZXRlU3JiKEZkbywgU3JiKTsKLSAgICB9Ci0gICAgcmV0dXJuIFRSVUU7
Ci19Ci0KLXN0YXRpYyBQWEVOVkJEX1BETwotRmRvR2V0UGRvRnJvbURldmljZU9iamVjdCgKLSAg
ICBfX2luIFBYRU5WQkRfRkRPICAgICAgICAgICAgICAgICBGZG8sCi0gICAgX19pbiBQREVWSUNF
X09CSkVDVCAgICAgICAgICAgICAgRGV2aWNlT2JqZWN0Ci0gICAgKQotewotICAgIFVMT05HICAg
ICAgICAgICBUYXJnZXRJZDsKLQotICAgIEFTU0VSVDNQKERldmljZU9iamVjdCwgIT0sIE5VTEwp
OwotCi0gICAgZm9yIChUYXJnZXRJZCA9IDA7IFRhcmdldElkIDwgWEVOVkJEX01BWF9UQVJHRVRT
OyArK1RhcmdldElkKSB7Ci0gICAgICAgIFBYRU5WQkRfUERPIFBkbyA9IF9fRmRvR2V0UGRvKEZk
bywgVGFyZ2V0SWQpOwotICAgICAgICBpZiAoUGRvKSB7Ci0gICAgICAgICAgICBpZiAoUGRvR2V0
RGV2aWNlT2JqZWN0KFBkbykgPT0gRGV2aWNlT2JqZWN0KQotICAgICAgICAgICAgICAgIHJldHVy
biBQZG87Ci0gICAgICAgICAgICBQZG9EZXJlZmVyZW5jZShQZG8pOwotICAgICAgICB9Ci0gICAg
fQotCi0gICAgcmV0dXJuIE5VTEw7Ci19Ci0KLXN0YXRpYyBQWEVOVkJEX1BETwotRmRvTWFwRGV2
aWNlT2JqZWN0VG9QZG8oCi0gICAgX19pbiBQWEVOVkJEX0ZETyAgICAgICAgICAgICAgICBGZG8s
Ci0gICAgX19pbiBQREVWSUNFX09CSkVDVCAgICAgICAgICAgICBEZXZpY2VPYmplY3QKLSAgICAp
Ci17Ci0gICAgUFhFTlZCRF9QRE8gICAgICAgICAgICAgICAgIFBkbzsKLSAgICBLRVZFTlQgICAg
ICAgICAgICAgICAgICAgICAgQ29tcGxldGU7Ci0gICAgUElSUCAgICAgICAgICAgICAgICAgICAg
ICAgIElycDsKLSAgICBJT19TVEFUVVNfQkxPQ0sgICAgICAgICAgICAgU3RhdHVzQmxvY2s7Ci0g
ICAgUElPX1NUQUNLX0xPQ0FUSU9OICAgICAgICAgIFN0YWNrOwotICAgIE5UU1RBVFVTICAgICAg
ICAgICAgICAgICAgICBTdGF0dXM7Ci0gICAgUFdDSEFSICAgICAgICAgICAgICAgICAgICAgIFN0
cmluZzsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0SWQ7Ci0gICAgREVD
TEFSRV9VTklDT0RFX1NUUklOR19TSVpFKFVuaVN0ciwgNCk7Ci0KLSAgICBLZUluaXRpYWxpemVF
dmVudCgmQ29tcGxldGUsIE5vdGlmaWNhdGlvbkV2ZW50LCBGQUxTRSk7Ci0gICAgCi0gICAgSXJw
ID0gSW9CdWlsZFN5bmNocm9ub3VzRnNkUmVxdWVzdChJUlBfTUpfUE5QLCBEZXZpY2VPYmplY3Qs
IE5VTEwsIDAsIE5VTEwsICZDb21wbGV0ZSwgJlN0YXR1c0Jsb2NrKTsKLSAgICBpZiAoSXJwID09
IE5VTEwpCi0gICAgICAgIGdvdG8gZmFpbDE7Ci0KLSAgICBTdGFjayA9IElvR2V0TmV4dElycFN0
YWNrTG9jYXRpb24oSXJwKTsKLSAgICBTdGFjay0+TWlub3JGdW5jdGlvbiA9IElSUF9NTl9RVUVS
WV9JRDsKLSAgICBTdGFjay0+UGFyYW1ldGVycy5RdWVyeUlkLklkVHlwZSA9IEJ1c1F1ZXJ5SW5z
dGFuY2VJRDsKLQotICAgIElycC0+SW9TdGF0dXMuU3RhdHVzID0gU1RBVFVTX05PVF9TVVBQT1JU
RUQ7Ci0KLSAgICBTdGF0dXMgPSBJb0NhbGxEcml2ZXIoRGV2aWNlT2JqZWN0LCBJcnApOwotICAg
IGlmIChTdGF0dXMgPT0gU1RBVFVTX1BFTkRJTkcpIHsKLSAgICAgICAgKFZPSUQpIEtlV2FpdEZv
clNpbmdsZU9iamVjdCgmQ29tcGxldGUsIEV4ZWN1dGl2ZSwgS2VybmVsTW9kZSwgRkFMU0UsIE5V
TEwpOwotICAgICAgICBTdGF0dXMgPSBTdGF0dXNCbG9jay5TdGF0dXM7Ci0gICAgfQotICAgIGlm
ICghTlRfU1VDQ0VTUyhTdGF0dXMpKQotICAgICAgICBnb3RvIGZhaWwyOwotCi0gICAgU3RyaW5n
ID0gKFBXQ0hBUilTdGF0dXNCbG9jay5JbmZvcm1hdGlvbjsKLSAgICBzd2l0Y2ggKHdjc2xlbihT
dHJpbmcpKSB7Ci0gICAgY2FzZSAzOgotICAgICAgICBVbmlTdHIuTGVuZ3RoID0gMSAqIHNpemVv
ZihXQ0hBUik7Ci0gICAgICAgIFVuaVN0cl9idWZmZXJbMF0gPSBTdHJpbmdbMV07Ci0gICAgICAg
IFVuaVN0cl9idWZmZXJbMV0gPSBVTklDT0RFX05VTEw7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgNjoKLSAgICAgICAgVW5pU3RyLkxlbmd0aCA9IDIgKiBzaXplb2YoV0NIQVIpOwotICAgICAg
ICBVbmlTdHJfYnVmZmVyWzBdID0gU3RyaW5nWzJdOwotICAgICAgICBVbmlTdHJfYnVmZmVyWzFd
ID0gU3RyaW5nWzNdOwotICAgICAgICBVbmlTdHJfYnVmZmVyWzJdID0gVU5JQ09ERV9OVUxMOwot
ICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBnb3RvIGZhaWwzOwotICAgIH0K
LQotICAgIFN0YXR1cyA9IFJ0bFVuaWNvZGVTdHJpbmdUb0ludGVnZXIoJlVuaVN0ciwgMTYsICZU
YXJnZXRJZCk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKFN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFp
bDQ7Ci0KLSAgICBQZG8gPSBfX0Zkb0dldFBkbyhGZG8sIFRhcmdldElkKTsKLSAgICBpZiAoUGRv
ID09IE5VTEwpCi0gICAgICAgIGdvdG8gZmFpbDU7Ci0KLSAgICBQZG9TZXREZXZpY2VPYmplY3Qo
UGRvLCBEZXZpY2VPYmplY3QpOwotICAgIEV4RnJlZVBvb2woU3RyaW5nKTsKLQotICAgIHJldHVy
biBQZG87Ci0KLWZhaWw1OgotZmFpbDQ6Ci1mYWlsMzoKLSAgICBFeEZyZWVQb29sKFN0cmluZyk7
Ci1mYWlsMjoKLWZhaWwxOgotICAgIHJldHVybiBOVUxMOwotfQotCi1fX2NoZWNrUmV0dXJuCi1O
VFNUQVRVUwotRmRvRm9yd2FyZFBucCgKLSAgICBfX2luIFBYRU5WQkRfRkRPICAgICAgICAgICAg
ICAgIEZkbywKLSAgICBfX2luIFBERVZJQ0VfT0JKRUNUICAgICAgICAgICAgIERldmljZU9iamVj
dCwKLSAgICBfX2luIFBJUlAgICAgICAgICAgICAgICAgICAgICAgIElycAotICAgICkKLXsKLSAg
ICBQSU9fU1RBQ0tfTE9DQVRJT04gIFN0YWNrOwotICAgIFBYRU5WQkRfUERPICAgICAgICAgUGRv
OwotCi0gICAgQVNTRVJUM1AoRGV2aWNlT2JqZWN0LCAhPSwgRmRvLT5EZXZpY2VPYmplY3QpOwot
Ci0gICAgUGRvID0gRmRvR2V0UGRvRnJvbURldmljZU9iamVjdChGZG8sIERldmljZU9iamVjdCk7
Ci0gICAgaWYgKFBkbyAhPSBOVUxMKSB7Ci0gICAgICAgIEZkb0RlcmVmZXJlbmNlKEZkbyk7Ci0g
ICAgICAgIHJldHVybiBQZG9EaXNwYXRjaFBucChQZG8sIERldmljZU9iamVjdCwgSXJwKTsKLSAg
ICB9Ci0KLSAgICBTdGFjayA9IElvR2V0Q3VycmVudElycFN0YWNrTG9jYXRpb24oSXJwKTsKLSAg
ICBpZiAoU3RhY2stPk1pbm9yRnVuY3Rpb24gPT0gSVJQX01OX1FVRVJZX0lEICYmCi0gICAgICAg
IFN0YWNrLT5QYXJhbWV0ZXJzLlF1ZXJ5SWQuSWRUeXBlID09IEJ1c1F1ZXJ5RGV2aWNlSUQpIHsK
LSAgICAgICAgUGRvID0gRmRvTWFwRGV2aWNlT2JqZWN0VG9QZG8oRmRvLCBEZXZpY2VPYmplY3Qp
OwotICAgICAgICBpZiAoUGRvICE9IE5VTEwpIHsKLSAgICAgICAgICAgIEZkb0RlcmVmZXJlbmNl
KEZkbyk7Ci0gICAgICAgICAgICByZXR1cm4gUGRvRGlzcGF0Y2hQbnAoUGRvLCBEZXZpY2VPYmpl
Y3QsIElycCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBGZG9EZXJlZmVyZW5jZShGZG8pOwot
ICAgIHJldHVybiBEcml2ZXJEaXNwYXRjaFBucChEZXZpY2VPYmplY3QsIElycCk7Ci19Ci0KLV9f
Y2hlY2tSZXR1cm4KLU5UU1RBVFVTCi1GZG9EaXNwYXRjaFBucCgKLSAgICBfX2luIFBYRU5WQkRf
RkRPICAgICAgICAgICAgICAgICBGZG8sCi0gICAgX19pbiBQREVWSUNFX09CSkVDVCAgICAgICAg
ICAgICAgRGV2aWNlT2JqZWN0LAotICAgIF9faW4gUElSUCAgICAgICAgICAgICAgICAgICAgICAg
IElycAotICAgICkKLXsKLSAgICBQSU9fU1RBQ0tfTE9DQVRJT04gIFN0YWNrOwotCi0gICAgQVNT
RVJUM1AoRGV2aWNlT2JqZWN0LCA9PSwgRmRvLT5EZXZpY2VPYmplY3QpOwotCi0gICAgU3RhY2sg
PSBJb0dldEN1cnJlbnRJcnBTdGFja0xvY2F0aW9uKElycCk7Ci0KLSAgICBzd2l0Y2ggKFN0YWNr
LT5NaW5vckZ1bmN0aW9uKSB7Ci0gICAgY2FzZSBJUlBfTU5fUkVNT1ZFX0RFVklDRToKLSAgICAg
ICAgVmVyYm9zZSgiRkRPOklSUF9NTl9SRU1PVkVfREVWSUNFXG4iKTsKLSAgICAgICAgRmRvRDBU
b0QzKEZkbyk7Ci0gICAgICAgIEZkb1VucGx1Z1JlcXVlc3QoRmRvLCBGQUxTRSk7Ci0gICAgICAg
IC8vIGRyb3AgcmVmLWNvdW50IGFjcXVpcmVkIGluIERyaXZlckdldEZkbyAqYmVmb3JlKiBkZXN0
cm95aW5nIEZkbwotICAgICAgICBGZG9EZXJlZmVyZW5jZShGZG8pOwotICAgICAgICBfX0Zkb1Rl
cm1pbmF0ZShGZG8pOwotICAgICAgICBicmVhazsKLQotICAgIGNhc2UgSVJQX01OX1FVRVJZX0RF
VklDRV9SRUxBVElPTlM6Ci0gICAgICAgIGlmIChTdGFjay0+UGFyYW1ldGVycy5RdWVyeURldmlj
ZVJlbGF0aW9ucy5UeXBlID09IEJ1c1JlbGF0aW9ucykgewotICAgICAgICAgICAgS2VDbGVhckV2
ZW50KCZGZG8tPlNjYW5FdmVudCk7Ci0gICAgICAgICAgICBUaHJlYWRXYWtlKEZkby0+U2NhblRo
cmVhZCk7Ci0KLSAgICAgICAgICAgIFRyYWNlKCJ3YWl0aW5nIGZvciBzY2FuIHRocmVhZFxuIik7
Ci0KLSAgICAgICAgICAgIChWT0lEKSBLZVdhaXRGb3JTaW5nbGVPYmplY3QoJkZkby0+U2NhbkV2
ZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeGVjdXRpdmUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtlcm5lbE1vZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKLSAgICAgICAgfQotICAgICAg
ICBGZG9EZXJlZmVyZW5jZShGZG8pOwotICAgICAgICBicmVhazsKLQotICAgIGRlZmF1bHQ6Ci0g
ICAgICAgIEZkb0RlcmVmZXJlbmNlKEZkbyk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAg
IHJldHVybiBEcml2ZXJEaXNwYXRjaFBucChEZXZpY2VPYmplY3QsIElycCk7Ci19Ci0KLV9fY2hl
Y2tSZXR1cm4KLU5UU1RBVFVTCi1GZG9EaXNwYXRjaFBvd2VyKAotICAgIF9faW4gUFhFTlZCRF9G
RE8gICAgICAgICAgICAgICAgIEZkbywKLSAgICBfX2luIFBERVZJQ0VfT0JKRUNUICAgICAgICAg
ICAgICBEZXZpY2VPYmplY3QsCi0gICAgX19pbiBQSVJQICAgICAgICAgICAgICAgICAgICAgICAg
SXJwCi0gICAgKQotewotICAgIFBJT19TVEFDS19MT0NBVElPTiAgU3RhY2s7Ci0gICAgUE9XRVJf
U1RBVEVfVFlQRSAgICBQb3dlclR5cGU7Ci0gICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7
Ci0KLSAgICBBU1NFUlQzUChEZXZpY2VPYmplY3QsID09LCBGZG8tPkRldmljZU9iamVjdCk7Ci0K
LSAgICBTdGFjayA9IElvR2V0Q3VycmVudElycFN0YWNrTG9jYXRpb24oSXJwKTsKLSAgICBQb3dl
clR5cGUgPSBTdGFjay0+UGFyYW1ldGVycy5Qb3dlci5UeXBlOwotCi0gICAgc3dpdGNoIChQb3dl
clR5cGUpIHsKLSAgICBjYXNlIERldmljZVBvd2VyU3RhdGU6Ci0gICAgICAgIGlmIChGZG8tPkRl
dmljZVBvd2VyVGhyZWFkID09IE5VTEwpIHsKLSAgICAgICAgICAgIFZlcmJvc2UoIkRldmljZVBv
d2VyIElSUCBiZWZvcmUgRGV2aWNlUG93ZXJUaHJlYWQgcmVhZHlcbiIpOwotICAgICAgICAgICAg
RmRvRGVyZWZlcmVuY2UoRmRvKTsKLSAgICAgICAgICAgIHN0YXR1cyA9IERyaXZlckRpc3BhdGNo
UG93ZXIoRGV2aWNlT2JqZWN0LCBJcnApOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0K
LQotICAgICAgICBJb01hcmtJcnBQZW5kaW5nKElycCk7Ci0KLSAgICAgICAgQVNTRVJUM1AoRmRv
LT5EZXZpY2VQb3dlcklycCwgPT0sIE5VTEwpOwotICAgICAgICBBU1NFUlQzUChEZXZpY2VPYmpl
Y3QsID09LCBGZG8tPkRldmljZU9iamVjdCk7Ci0KLSAgICAgICAgRmRvLT5EZXZpY2VQb3dlckly
cCA9IElycDsKLSAgICAgICAgVGhyZWFkV2FrZShGZG8tPkRldmljZVBvd2VyVGhyZWFkKTsKLSAg
ICAgICAgCi0gICAgICAgIHN0YXR1cyA9IFNUQVRVU19QRU5ESU5HOwotICAgICAgICBicmVhazsK
LQotICAgIGNhc2UgU3lzdGVtUG93ZXJTdGF0ZToKLSAgICBkZWZhdWx0OgotICAgICAgICBGZG9E
ZXJlZmVyZW5jZShGZG8pOwotICAgICAgICBzdGF0dXMgPSBEcml2ZXJEaXNwYXRjaFBvd2VyKERl
dmljZU9iamVjdCwgSXJwKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgcmV0dXJuIHN0
YXR1czsKLX0KLQotUFhFTkJVU19TVE9SRV9JTlRFUkZBQ0UKLUZkb0FjcXVpcmVTdG9yZSgKLSAg
ICBfX2luIFBYRU5WQkRfRkRPICAgIEZkbwotICAgICkKLXsKLSAgICBOVFNUQVRVUyAgICAgICAg
ICAgIHN0YXR1czsKLQotICAgIHN0YXR1cyA9IFhFTkJVU19TVE9SRShBY3F1aXJlLCAmRmRvLT5T
dG9yZSk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgIHJldHVybiBOVUxM
OwotCi0gICAgcmV0dXJuICZGZG8tPlN0b3JlOwotfQotCi1QWEVOQlVTX0VWVENITl9JTlRFUkZB
Q0UKLUZkb0FjcXVpcmVFdnRjaG4oCi0gICAgX19pbiBQWEVOVkJEX0ZETyAgICBGZG8KLSAgICAp
Ci17Ci0gICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7Ci0KLSAgICBzdGF0dXMgPSBYRU5C
VVNfRVZUQ0hOKEFjcXVpcmUsICZGZG8tPkV2dGNobik7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKHN0
YXR1cykpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgcmV0dXJuICZGZG8tPkV2dGNobjsK
LX0KLQotUFhFTkJVU19HTlRUQUJfSU5URVJGQUNFCi1GZG9BY3F1aXJlR250dGFiKAotICAgIF9f
aW4gUFhFTlZCRF9GRE8gICAgRmRvCi0gICAgKQotewotICAgIE5UU1RBVFVTICAgICAgICAgICAg
c3RhdHVzOwotCi0gICAgc3RhdHVzID0gWEVOQlVTX0dOVFRBQihBY3F1aXJlLCAmRmRvLT5HbnR0
YWIpOwotICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICByZXR1cm4gTlVMTDsK
LQotICAgIHJldHVybiAmRmRvLT5HbnR0YWI7Ci19Ci0KLVBYRU5CVVNfREVCVUdfSU5URVJGQUNF
Ci1GZG9BY3F1aXJlRGVidWcoCi0gICAgX19pbiBQWEVOVkJEX0ZETyAgICBGZG8KLSAgICApCi17
Ci0gICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7Ci0KLSAgICBzdGF0dXMgPSBYRU5CVVNf
REVCVUcoQWNxdWlyZSwgJkZkby0+RGVidWcpOwotICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMp
KQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIHJldHVybiAmRmRvLT5EZWJ1ZzsKLX0KLQot
UFhFTkJVU19TVVNQRU5EX0lOVEVSRkFDRQotRmRvQWNxdWlyZVN1c3BlbmQoCi0gICAgX19pbiBQ
WEVOVkJEX0ZETyAgICBGZG8gICAgCi0gICAgKQotewotICAgIE5UU1RBVFVTICAgICAgICAgICAg
c3RhdHVzOwotCi0gICAgc3RhdHVzID0gWEVOQlVTX1NVU1BFTkQoQWNxdWlyZSwgJkZkby0+U3Vz
cGVuZCk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgIHJldHVybiBOVUxM
OwotCi0gICAgcmV0dXJuICZGZG8tPlN1c3BlbmQ7Ci19CmRpZmYgLS1naXQgYS9zcmMveGVudmJk
L2Zkby5oIGIvc3JjL3hlbnZiZC9mZG8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OTZjNjZhNS4uMDAwMDAwMAotLS0gYS9zcmMveGVudmJkL2Zkby5oCisrKyAvZGV2L251bGwKQEAg
LTEsMTc5ICswLDAgQEAKLS8qIENvcHlyaWdodCAoYykgQ2l0cml4IFN5c3RlbXMgSW5jLgotICog
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3JtcywgCi0gKiB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIAotICogdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDoKLSAqIAotICogKiAgIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgCi0gKiAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSAKLSAqICAgICBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
ICogICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIAotICogICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgCi0gKiAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIAotICogICAgIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKiAKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCAKLSAqIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIAotICogSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgCi0gKiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSAKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIAotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIAotICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgCi0gKiBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgCi0gKiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIAotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIAotICogV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIAotICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSAKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgCi0gKiBTVUNIIERBTUFHRS4KLSAqLyAKLQotI2lmbmRlZiBf
WEVOVkJEX0ZET19ICi0jZGVmaW5lIF9YRU5WQkRfRkRPX0gKLQotdHlwZWRlZiBzdHJ1Y3QgX1hF
TlZCRF9GRE8gWEVOVkJEX0ZETywgKlBYRU5WQkRfRkRPOwotCi0jaW5jbHVkZSA8bnRkZGsuaD4K
LSNpbmNsdWRlIDxudHN0cnNhZmUuaD4KLSNpbmNsdWRlIDx4ZW52YmQtc3RvcnBvcnQuaD4KLSNp
bmNsdWRlICJwZG8uaCIKLSNpbmNsdWRlIDxzdG9yZV9pbnRlcmZhY2UuaD4KLSNpbmNsdWRlIDxl
dnRjaG5faW50ZXJmYWNlLmg+Ci0jaW5jbHVkZSA8Z250dGFiX2ludGVyZmFjZS5oPgotI2luY2x1
ZGUgPGRlYnVnX2ludGVyZmFjZS5oPgotI2luY2x1ZGUgPHN1c3BlbmRfaW50ZXJmYWNlLmg+Ci0j
aW5jbHVkZSA8dW5wbHVnX2ludGVyZmFjZS5oPgotCi0vLyBSZWZlcmVuY2UgQ291bnRpbmcKLWV4
dGVybiBMT05HCi1fX0Zkb1JlZmVyZW5jZSgKLSAgICBfX2luIFBYRU5WQkRfRkRPICAgICAgICAg
ICAgICAgICBGZG8sCi0gICAgX19pbiBQQ0hBUiAgICAgICAgICAgICAgICAgICAgICAgQ2FsbGVy
Ci0gICAgKTsKLQotI2RlZmluZSBGZG9SZWZlcmVuY2UoX3hfKSBfX0Zkb1JlZmVyZW5jZShfeF8s
IF9fRlVOQ1RJT05fXykKLQotZXh0ZXJuIExPTkcKLV9fRmRvRGVyZWZlcmVuY2UoCi0gICAgX19p
biBQWEVOVkJEX0ZETyAgICAgICAgICAgICAgICAgRmRvLAotICAgIF9faW4gUENIQVIgICAgICAg
ICAgICAgICAgICAgICAgIENhbGxlcgotICAgICk7Ci0KLSNkZWZpbmUgRmRvRGVyZWZlcmVuY2Uo
X3hfKSBfX0Zkb0RlcmVmZXJlbmNlKF94XywgX19GVU5DVElPTl9fKQotCi0vLyBMaW5rIFBET3MK
LWV4dGVybiBCT09MRUFOCi1GZG9MaW5rUGRvKAotICAgIF9faW4gUFhFTlZCRF9GRE8gICAgICAg
ICAgICAgICAgIEZkbywKLSAgICBfX2luIFBYRU5WQkRfUERPICAgICAgICAgICAgICAgICBQZG8K
LSAgICApOwotCi1leHRlcm4gQk9PTEVBTgotRmRvVW5saW5rUGRvKAotICAgIF9faW4gUFhFTlZC
RF9GRE8gICAgICAgICAgICAgICAgIEZkbywKLSAgICBfX2luIFBYRU5WQkRfUERPICAgICAgICAg
ICAgICAgICBQZG8KLSAgICApOwotLy8gUXVlcnkgTWV0aG9kcwotX19jaGVja1JldHVybgotZXh0
ZXJuIFBERVZJQ0VfT0JKRUNUCi1GZG9HZXREZXZpY2VPYmplY3QoCi0gICAgX19pbiBQWEVOVkJE
X0ZETyAgICAgICAgICAgICAgICAgRmRvCi0gICAgKTsKLQotZXh0ZXJuIFVMT05HCi1GZG9TaXpl
b2ZYZW52YmRGZG8oCi0gICAgKTsKLQotZXh0ZXJuIFBDSEFSCi1GZG9FbnVtKAotICAgIF9faW4g
UFhFTlZCRF9GRE8gICAgICAgICAgICAgICAgIEZkbwotICAgICk7Ci0KLS8vIFNSQiBNZXRob2Rz
Ci1leHRlcm4gVk9JRAotRmRvU3RhcnRTcmIoCi0gICAgX19pbiBQWEVOVkJEX0ZETyAgICAgICAg
ICAgICAgICAgRmRvLAotICAgIF9faW4gUFNDU0lfUkVRVUVTVF9CTE9DSyAgICAgICAgIFNyYgot
ICAgICk7Ci0KLWV4dGVybiBWT0lECi1GZG9Db21wbGV0ZVNyYigKLSAgICBfX2luIFBYRU5WQkRf
RkRPICAgICAgICAgICAgICAgICBGZG8sCi0gICAgX19pbiBQU0NTSV9SRVFVRVNUX0JMT0NLICAg
ICAgICAgU3JiCi0gICAgKTsKLQotLy8gU3RvclBvcnQgTWV0aG9kcwotZXh0ZXJuIEJPT0xFQU4K
LUZkb1Jlc2V0QnVzKAotICAgIF9faW4gUFhFTlZCRF9GRE8gICAgICAgICAgICAgICAgIEZkbwot
ICAgICk7Ci0KLWV4dGVybiBVTE9ORwotRmRvRmluZEFkYXB0ZXIoCi0gICAgX19pbiBQWEVOVkJE
X0ZETyAgICAgICAgICAgICAgICAgRmRvLAotICAgIF9faW5vdXQgUFBPUlRfQ09ORklHVVJBVElP
Tl9JTkZPUk1BVElPTiAgQ29uZmlnSW5mbwotICAgICk7Ci0KLWV4dGVybiBCT09MRUFOIAotRmRv
QnVpbGRJbygKLSAgICBfX2luIFBYRU5WQkRfRkRPICAgICAgICAgICAgICAgICBGZG8sCi0gICAg
X19pbiBQU0NTSV9SRVFVRVNUX0JMT0NLICAgICAgICAgU3JiCi0gICAgKTsKLQotZXh0ZXJuIEJP
T0xFQU4gCi1GZG9TdGFydElvKAotICAgIF9faW4gUFhFTlZCRF9GRE8gICAgICAgICAgICAgICAg
IEZkbywKLSAgICBfX2luIFBTQ1NJX1JFUVVFU1RfQkxPQ0sgICAgICAgICBTcmIKLSAgICApOwot
Ci1fX2NoZWNrUmV0dXJuCi1leHRlcm4gTlRTVEFUVVMKLUZkb0ZvcndhcmRQbnAoCi0gICAgX19p
biBQWEVOVkJEX0ZETyAgICAgICAgICAgICAgICBGZG8sCi0gICAgX19pbiBQREVWSUNFX09CSkVD
VCAgICAgICAgICAgICBEZXZpY2VPYmplY3QsCi0gICAgX19pbiBQSVJQICAgICAgICAgICAgICAg
ICAgICAgICBJcnAKLSAgICApOwotCi1fX2NoZWNrUmV0dXJuCi1leHRlcm4gTlRTVEFUVVMKLUZk
b0Rpc3BhdGNoUG5wKAotICAgIF9faW4gUFhFTlZCRF9GRE8gICAgICAgICAgICAgICAgIEZkbywK
LSAgICBfX2luIFBERVZJQ0VfT0JKRUNUICAgICAgICAgICAgICBEZXZpY2VPYmplY3QsCi0gICAg
X19pbiBQSVJQICAgICAgICAgICAgICAgICAgICAgICAgSXJwCi0gICAgKTsKLQotX19jaGVja1Jl
dHVybgotZXh0ZXJuIE5UU1RBVFVTCi1GZG9EaXNwYXRjaFBvd2VyKAotICAgIF9faW4gUFhFTlZC
RF9GRE8gICAgICAgICAgICAgICAgIEZkbywKLSAgICBfX2luIFBERVZJQ0VfT0JKRUNUICAgICAg
ICAgICAgICBEZXZpY2VPYmplY3QsCi0gICAgX19pbiBQSVJQICAgICAgICAgICAgICAgICAgICAg
ICAgSXJwCi0gICAgKTsKLQotZXh0ZXJuIFBYRU5CVVNfU1RPUkVfSU5URVJGQUNFCi1GZG9BY3F1
aXJlU3RvcmUoCi0gICAgX19pbiBQWEVOVkJEX0ZETyAgICAgICAgICAgICAgICAgRmRvCi0gICAg
KTsKLQotZXh0ZXJuIFBYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRQotRmRvQWNxdWlyZUV2dGNobigK
LSAgICBfX2luIFBYRU5WQkRfRkRPICAgICAgICAgICAgICAgICBGZG8KLSAgICApOwotCi1leHRl
cm4gUFhFTkJVU19HTlRUQUJfSU5URVJGQUNFCi1GZG9BY3F1aXJlR250dGFiKAotICAgIF9faW4g
UFhFTlZCRF9GRE8gICAgICAgICAgICAgICAgIEZkbwotICAgICk7Ci0KLWV4dGVybiBQWEVOQlVT
X0RFQlVHX0lOVEVSRkFDRQotRmRvQWNxdWlyZURlYnVnKAotICAgIF9faW4gUFhFTlZCRF9GRE8g
ICAgICAgICAgICAgICAgIEZkbwotICAgICk7Ci0KLWV4dGVybiBQWEVOQlVTX1NVU1BFTkRfSU5U
RVJGQUNFCi1GZG9BY3F1aXJlU3VzcGVuZCgKLSAgICBfX2luIFBYRU5WQkRfRkRPICAgICAgICAg
ICAgICAgICBGZG8KLSAgICApOwotCi0jZW5kaWYgLy8gX1hFTlZCRF9GRE9fSApkaWZmIC0tZ2l0
IGEvc3JjL3hlbnZiZC9mcm9udGVuZC5jIGIvc3JjL3hlbnZiZC9mcm9udGVuZC5jCmluZGV4IDgz
YTBmNWUuLmRhZjUzMzggMTAwNjQ0Ci0tLSBhL3NyYy94ZW52YmQvZnJvbnRlbmQuYworKysgYi9z
cmMveGVudmJkL2Zyb250ZW5kLmMKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJmcm9udGVu
ZC5oIgogI2luY2x1ZGUgInJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiZHJpdmVyLmgiCi0jaW5jbHVk
ZSAiZmRvLmgiCisjaW5jbHVkZSAiYWRhcHRlci5oIgogI2luY2x1ZGUgInBkb2lucXVpcnkuaCIK
ICNpbmNsdWRlICJzcmJleHQuaCIKICNpbmNsdWRlICJkZWJ1Zy5oIgpAQCAtMTQ0MiwxMyArMTQ0
MiwxMyBAQCBGcm9udGVuZEQzVG9EMCgKICAgICBLZUFjcXVpcmVTcGluTG9jaygmRnJvbnRlbmQt
PlN0YXRlTG9jaywgJklycWwpOwogCiAgICAgLy8gYWNxdWlyZSBpbnRlcmZhY2VzCi0gICAgRnJv
bnRlbmQtPlN0b3JlICAgPSBGZG9BY3F1aXJlU3RvcmUoUGRvR2V0RmRvKEZyb250ZW5kLT5QZG8p
KTsKKyAgICBGcm9udGVuZC0+U3RvcmUgICA9IEFkYXB0ZXJBY3F1aXJlU3RvcmUoUGRvR2V0QWRh
cHRlcihGcm9udGVuZC0+UGRvKSk7CiAKICAgICBTdGF0dXMgPSBTVEFUVVNfVU5TVUNDRVNTRlVM
OwogICAgIGlmIChGcm9udGVuZC0+U3RvcmUgPT0gTlVMTCkKICAgICAgICAgZ290byBmYWlsMTsK
IAotICAgIEZyb250ZW5kLT5TdXNwZW5kID0gRmRvQWNxdWlyZVN1c3BlbmQoUGRvR2V0RmRvKEZy
b250ZW5kLT5QZG8pKTsKKyAgICBGcm9udGVuZC0+U3VzcGVuZCA9IEFkYXB0ZXJBY3F1aXJlU3Vz
cGVuZChQZG9HZXRBZGFwdGVyKEZyb250ZW5kLT5QZG8pKTsKIAogICAgIFN0YXR1cyA9IFNUQVRV
U19VTlNVQ0NFU1NGVUw7CiAgICAgaWYgKEZyb250ZW5kLT5TdXNwZW5kID09IE5VTEwpCkBAIC0x
NjAxLDcgKzE2MDEsNyBAQCBGcm9udGVuZENyZWF0ZSgKICAgICBGcm9udGVuZC0+QmFja2VuZElk
ID0gRE9NSURfSU5WQUxJRDsKICAgICAKICAgICBTdGF0dXMgPSBTVEFUVVNfSU5TVUZGSUNJRU5U
X1JFU09VUkNFUzsKLSAgICBGcm9udGVuZC0+RnJvbnRlbmRQYXRoID0gRHJpdmVyRm9ybWF0KCJk
ZXZpY2UvJXMvJXMiLCBGZG9FbnVtKFBkb0dldEZkbyhQZG8pKSwgRGV2aWNlSWQpOworICAgIEZy
b250ZW5kLT5Gcm9udGVuZFBhdGggPSBEcml2ZXJGb3JtYXQoImRldmljZS8lcy8lcyIsIEFkYXB0
ZXJFbnVtKFBkb0dldEFkYXB0ZXIoUGRvKSksIERldmljZUlkKTsKICAgICBpZiAoRnJvbnRlbmQt
PkZyb250ZW5kUGF0aCA9PSBOVUxMKSAKICAgICAgICAgZ290byBmYWlsMjsKIApkaWZmIC0tZ2l0
IGEvc3JjL3hlbnZiZC9ncmFudGVyLmMgYi9zcmMveGVudmJkL2dyYW50ZXIuYwppbmRleCBlOGMx
MTYxLi5mNjcwMzA0IDEwMDY0NAotLS0gYS9zcmMveGVudmJkL2dyYW50ZXIuYworKysgYi9zcmMv
eGVudmJkL2dyYW50ZXIuYwpAQCAtMzEsNyArMzEsNyBAQAogCiAjaW5jbHVkZSAiZnJvbnRlbmQu
aCIKICNpbmNsdWRlICJwZG8uaCIKLSNpbmNsdWRlICJmZG8uaCIKKyNpbmNsdWRlICJhZGFwdGVy
LmgiCiAjaW5jbHVkZSAidXRpbC5oIgogI2luY2x1ZGUgImRlYnVnLmgiCiAjaW5jbHVkZSAidGhy
ZWFkLmgiCkBAIC0xMzksMTMgKzEzOSwxMyBAQCBHcmFudGVyQ29ubmVjdCgKICAgICBJTiAgVVNI
T1JUICAgICAgICAgICAgICAgICAgICAgIEJhY2tlbmREb21haW4KICAgICApCiB7Ci0gICAgUFhF
TlZCRF9GRE8gRmRvID0gUGRvR2V0RmRvKEZyb250ZW5kR2V0UGRvKEdyYW50ZXItPkZyb250ZW5k
KSk7CisgICAgUFhFTlZCRF9BREFQVEVSIEFkYXB0ZXIgPSBQZG9HZXRBZGFwdGVyKEZyb250ZW5k
R2V0UGRvKEdyYW50ZXItPkZyb250ZW5kKSk7CiAgICAgQ0hBUiAgICAgICAgTmFtZVtNQVhOQU1F
TEVOXTsKICAgICBOVFNUQVRVUyAgICBzdGF0dXM7CiAKICAgICBBU1NFUlQoR3JhbnRlci0+Q29u
bmVjdGVkID09IEZBTFNFKTsKIAotICAgIEdyYW50ZXItPkdudHRhYkludGVyZmFjZSA9IEZkb0Fj
cXVpcmVHbnR0YWIoRmRvKTsKKyAgICBHcmFudGVyLT5HbnR0YWJJbnRlcmZhY2UgPSBBZGFwdGVy
QWNxdWlyZUdudHRhYihBZGFwdGVyKTsKIAogICAgIHN0YXR1cyA9IFNUQVRVU19VTlNVQ0NFU1NG
VUw7CiAgICAgaWYgKEdyYW50ZXItPkdudHRhYkludGVyZmFjZSA9PSBOVUxMKQpkaWZmIC0tZ2l0
IGEvc3JjL3hlbnZiZC9ub3RpZmllci5jIGIvc3JjL3hlbnZiZC9ub3RpZmllci5jCmluZGV4IGIz
ZDJhN2MuLjNiZmYyZjYgMTAwNjQ0Ci0tLSBhL3NyYy94ZW52YmQvbm90aWZpZXIuYworKysgYi9z
cmMveGVudmJkL25vdGlmaWVyLmMKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJub3RpZmll
ci5oIgogI2luY2x1ZGUgImZyb250ZW5kLmgiCiAjaW5jbHVkZSAicGRvLmgiCi0jaW5jbHVkZSAi
ZmRvLmgiCisjaW5jbHVkZSAiYWRhcHRlci5oIgogI2luY2x1ZGUgInV0aWwuaCIKICNpbmNsdWRl
ICJkZWJ1Zy5oIgogI2luY2x1ZGUgPGV2dGNobl9pbnRlcmZhY2UuaD4KQEAgLTE2MiwxOCArMTYy
LDE4IEBAIE5vdGlmaWVyQ29ubmVjdCgKICAgICBJTiAgVVNIT1JUICAgICAgICAgICAgICAgICAg
ICAgIEJhY2tlbmREb21haW4KICAgICApCiB7Ci0gICAgUFhFTlZCRF9GRE8gRmRvID0gUGRvR2V0
RmRvKEZyb250ZW5kR2V0UGRvKE5vdGlmaWVyLT5Gcm9udGVuZCkpOworICAgIFBYRU5WQkRfQURB
UFRFUiBBZGFwdGVyID0gUGRvR2V0QWRhcHRlcihGcm9udGVuZEdldFBkbyhOb3RpZmllci0+RnJv
bnRlbmQpKTsKICAgICBOVFNUQVRVUyAgICBzdGF0dXM7CiAKICAgICBBU1NFUlQoTm90aWZpZXIt
PkNvbm5lY3RlZCA9PSBGQUxTRSk7CiAKLSAgICBOb3RpZmllci0+U3RvcmVJbnRlcmZhY2UgPSBG
ZG9BY3F1aXJlU3RvcmUoRmRvKTsKKyAgICBOb3RpZmllci0+U3RvcmVJbnRlcmZhY2UgPSBBZGFw
dGVyQWNxdWlyZVN0b3JlKEFkYXB0ZXIpOwogCiAgICAgc3RhdHVzID0gU1RBVFVTX1VOU1VDQ0VT
U0ZVTDsKICAgICBpZiAoTm90aWZpZXItPlN0b3JlSW50ZXJmYWNlID09IE5VTEwpCiAgICAgICAg
IGdvdG8gZmFpbDE7CiAKLSAgICBOb3RpZmllci0+RXZ0Y2huSW50ZXJmYWNlID0gRmRvQWNxdWly
ZUV2dGNobihGZG8pOworICAgIE5vdGlmaWVyLT5FdnRjaG5JbnRlcmZhY2UgPSBBZGFwdGVyQWNx
dWlyZUV2dGNobihBZGFwdGVyKTsKIAogICAgIHN0YXR1cyA9IFNUQVRVU19VTlNVQ0NFU1NGVUw7
CiAgICAgaWYgKE5vdGlmaWVyLT5FdnRjaG5JbnRlcmZhY2UgPT0gTlVMTCkKZGlmZiAtLWdpdCBh
L3NyYy94ZW52YmQvcGRvLmMgYi9zcmMveGVudmJkL3Bkby5jCmluZGV4IDNjZTQ4Y2MuLjdkYTMx
NzYgMTAwNjQ0Ci0tLSBhL3NyYy94ZW52YmQvcGRvLmMKKysrIGIvc3JjL3hlbnZiZC9wZG8uYwpA
QCAtMzEsNyArMzEsNyBAQAogCiAjaW5jbHVkZSAicGRvLmgiCiAjaW5jbHVkZSAiZHJpdmVyLmgi
Ci0jaW5jbHVkZSAiZmRvLmgiCisjaW5jbHVkZSAiYWRhcHRlci5oIgogI2luY2x1ZGUgImZyb250
ZW5kLmgiCiAjaW5jbHVkZSAicXVldWUuaCIKICNpbmNsdWRlICJzcmJleHQuaCIKQEAgLTczLDcg
KzczLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX1hFTlZCRF9MT09LQVNJREUgewogCiBzdHJ1Y3QgX1hF
TlZCRF9QRE8gewogICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBTaWduYXR1cmU7Ci0g
ICAgUFhFTlZCRF9GRE8gICAgICAgICAgICAgICAgIEZkbzsKKyAgICBQWEVOVkJEX0FEQVBURVIg
ICAgICAgICAgICAgICAgIEFkYXB0ZXI7CiAgICAgUERFVklDRV9PQkpFQ1QgICAgICAgICAgICAg
IERldmljZU9iamVjdDsKICAgICBLRVZFTlQgICAgICAgICAgICAgICAgICAgICAgUmVtb3ZlRXZl
bnQ7CiAgICAgTE9ORyAgICAgICAgICAgICAgICAgICAgICAgIFJlZmVyZW5jZUNvdW50OwpAQCAt
MjY4LDggKzI2OCw4IEBAIFBkb0RlYnVnQ2FsbGJhY2soCiAgICAgICAgIHJldHVybjsKIAogICAg
IFhFTkJVU19ERUJVRyhQcmludGYsIERlYnVnSW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAi
UERPOiBGZG8gMHglcCBEZXZpY2VPYmplY3QgMHglcFxuIiwKLSAgICAgICAgICAgICAgICAgUGRv
LT5GZG8sCisgICAgICAgICAgICAgICAgICJQRE86IEFkYXB0ZXIgMHglcCBEZXZpY2VPYmplY3Qg
MHglcFxuIiwKKyAgICAgICAgICAgICAgICAgUGRvLT5BZGFwdGVyLAogICAgICAgICAgICAgICAg
ICBQZG8tPkRldmljZU9iamVjdCk7CiAgICAgWEVOQlVTX0RFQlVHKFByaW50ZiwgRGVidWdJbnRl
cmZhY2UsCiAgICAgICAgICAgICAgICAgICJQRE86IFJlZmVyZW5jZUNvdW50ICVkXG4iLApAQCAt
NTM3LDEyICs1MzcsMTIgQEAgUGRvT3V0c3RhbmRpbmdSZXFzKAogfQogCiBfX2NoZWNrUmV0dXJu
Ci1GT1JDRUlOTElORSBQWEVOVkJEX0ZETwotUGRvR2V0RmRvKCAKK0ZPUkNFSU5MSU5FIFBYRU5W
QkRfQURBUFRFUgorUGRvR2V0QWRhcHRlciggCiAgICAgX19pbiBQWEVOVkJEX1BETyAgICAgICAg
ICAgICBQZG8KICAgICApCiB7Ci0gICAgcmV0dXJuIFBkby0+RmRvOworICAgIHJldHVybiBQZG8t
PkFkYXB0ZXI7CiB9CiAKIEZPUkNFSU5MSU5FIFVMT05HCkBAIC0xMTc3LDcgKzExNzcsNyBAQCBQ
cmVwYXJlUmVhZFdyaXRlKAogICAgIFNyYkV4dC0+Q291bnQgPSAwOwogCiAgICAgUnRsWmVyb01l
bW9yeSgmU0dMaXN0LCBzaXplb2YoU0dMaXN0KSk7Ci0gICAgU0dMaXN0LlNHTGlzdCA9IFN0b3JQ
b3J0R2V0U2NhdHRlckdhdGhlckxpc3QoUGRvR2V0RmRvKFBkbyksIFNyYik7CisgICAgU0dMaXN0
LlNHTGlzdCA9IFN0b3JQb3J0R2V0U2NhdHRlckdhdGhlckxpc3QoUGRvR2V0QWRhcHRlcihQZG8p
LCBTcmIpOwogCiAgICAgd2hpbGUgKFNlY3RvcnNMZWZ0ID4gMCkgewogICAgICAgICBVTE9ORyAg
ICAgICAgICAgTWF4U2VnbWVudHM7CkBAIC0xMzcwLDcgKzEzNzAsNyBAQCBfX1Bkb1BhdXNlRGF0
YVBhdGgoCiAgICAgICAgIFZlcmJvc2UoIlRhcmdldFslZF0gOiBGcmVzaFNyYiAweCVwIC0+IFND
U0lfQUJPUlRFRFxuIiwgUGRvR2V0VGFyZ2V0SWQoUGRvKSwgU3JiRXh0LT5TcmIpOwogICAgICAg
ICBTcmJFeHQtPlNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19BQk9SVEVEOwogICAgICAgICBT
cmJFeHQtPlNyYi0+U2NzaVN0YXR1cyA9IDB4NDA7IC8vIFNDU0lfQUJPUlRFRDsKLSAgICAgICAg
RmRvQ29tcGxldGVTcmIoUGRvR2V0RmRvKFBkbyksIFNyYkV4dC0+U3JiKTsKKyAgICAgICAgQWRh
cHRlckNvbXBsZXRlU3JiKFBkb0dldEFkYXB0ZXIoUGRvKSwgU3JiRXh0LT5TcmIpOwogICAgIH0K
IAogICAgIC8vIEZhaWwgUHJlcGFyZWRSZXFzCkBAIC0xMzkwLDcgKzEzOTAsNyBAQCBfX1Bkb1Bh
dXNlRGF0YVBhdGgoCiAKICAgICAgICAgaWYgKEludGVybG9ja2VkRGVjcmVtZW50KCZTcmJFeHQt
PkNvdW50KSA9PSAwKSB7CiAgICAgICAgICAgICBTcmJFeHQtPlNyYi0+U2NzaVN0YXR1cyA9IDB4
NDA7IC8vIFNDU0lfQUJPUlRFRAotICAgICAgICAgICAgRmRvQ29tcGxldGVTcmIoUGRvR2V0RmRv
KFBkbyksIFNyYkV4dC0+U3JiKTsKKyAgICAgICAgICAgIEFkYXB0ZXJDb21wbGV0ZVNyYihQZG9H
ZXRBZGFwdGVyKFBkbyksIFNyYkV4dC0+U3JiKTsKICAgICAgICAgfQogICAgIH0KIH0KQEAgLTE1
MDIsNyArMTUwMiw3IEBAIFBkb0NvbXBsZXRlU2h1dGRvd24oCiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgU3JiRXh0ID0gQ09OVEFJTklOR19SRUNPUkQoRW50cnksIFhFTlZCRF9TUkJFWFQs
IEVudHJ5KTsKICAgICAgICAgU3JiRXh0LT5TcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfU1VD
Q0VTUzsKLSAgICAgICAgRmRvQ29tcGxldGVTcmIoUGRvR2V0RmRvKFBkbyksIFNyYkV4dC0+U3Ji
KTsKKyAgICAgICAgQWRhcHRlckNvbXBsZXRlU3JiKFBkb0dldEFkYXB0ZXIoUGRvKSwgU3JiRXh0
LT5TcmIpOwogICAgIH0KIH0KIApAQCAtMTU5OSw3ICsxNTk5LDcgQEAgUGRvQ29tcGxldGVSZXNw
b25zZSgKICAgICAgICAgICAgIFNyYi0+U2NzaVN0YXR1cyA9IDB4NDA7IC8vIFNDU0lfQUJPUlRF
RAogICAgICAgICB9CiAKLSAgICAgICAgRmRvQ29tcGxldGVTcmIoUGRvR2V0RmRvKFBkbyksIFNy
Yik7CisgICAgICAgIEFkYXB0ZXJDb21wbGV0ZVNyYihQZG9HZXRBZGFwdGVyKFBkbyksIFNyYik7
CiAgICAgfQogfQogCkBAIC0yMDkyLDcgKzIwOTIsNyBAQCBfX1Bkb0V4ZWN1dGVTY3NpKAogICAg
ICAgICBicmVhazsKIAogICAgIGNhc2UgU0NTSU9QX0lOUVVJUlk6Ci0gICAgICAgIGlmICghU3Rv
clBvcnRTZXREZXZpY2VRdWV1ZURlcHRoKFBkb0dldEZkbyhQZG8pLAorICAgICAgICBpZiAoIVN0
b3JQb3J0U2V0RGV2aWNlUXVldWVEZXB0aChQZG9HZXRBZGFwdGVyKFBkbyksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIChVQ0hBUilQZG9HZXRUYXJnZXRJZChQZG8pLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLApAQCAtMjI1NSw3ICsyMjU1LDcgQEAg
X19QZG9DbGVhbnVwU3VibWl0dGVkUmVxcygKICAgICAgICAgaWYgKEludGVybG9ja2VkRGVjcmVt
ZW50KCZTcmJFeHQtPkNvdW50KSA9PSAwKSB7CiAgICAgICAgICAgICBTcmJFeHQtPlNyYi0+U3Ji
U3RhdHVzID0gU1JCX1NUQVRVU19BQk9SVEVEOwogICAgICAgICAgICAgU3JiRXh0LT5TcmItPlNj
c2lTdGF0dXMgPSAweDQwOyAvLyBTQ1NJX0FCT1JURUQKLSAgICAgICAgICAgIEZkb0NvbXBsZXRl
U3JiKFBkb0dldEZkbyhQZG8pLCBTcmJFeHQtPlNyYik7CisgICAgICAgICAgICBBZGFwdGVyQ29t
cGxldGVTcmIoUGRvR2V0QWRhcHRlcihQZG8pLCBTcmJFeHQtPlNyYik7CiAgICAgICAgIH0KICAg
ICB9CiB9CkBAIC0yNDAzLDEzICsyNDAzLDEzIEBAIF9fUGRvUmVtb3ZlRGV2aWNlKAogICAgIGNh
c2UgU3VycHJpc2VSZW1vdmVQZW5kaW5nOgogICAgICAgICBQZG9TZXRNaXNzaW5nKFBkbywgIlN1
cnByaXNlIFJlbW92ZSIpOwogICAgICAgICBQZG9TZXREZXZpY2VQbnBTdGF0ZShQZG8sIERlbGV0
ZWQpOwotICAgICAgICBTdG9yUG9ydE5vdGlmaWNhdGlvbihCdXNDaGFuZ2VEZXRlY3RlZCwgUGRv
R2V0RmRvKFBkbyksIDApOworICAgICAgICBTdG9yUG9ydE5vdGlmaWNhdGlvbihCdXNDaGFuZ2VE
ZXRlY3RlZCwgUGRvR2V0QWRhcHRlcihQZG8pLCAwKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBk
ZWZhdWx0OgogICAgICAgICBQZG9TZXRNaXNzaW5nKFBkbywgIlJlbW92ZWQiKTsKICAgICAgICAg
UGRvU2V0RGV2aWNlUG5wU3RhdGUoUGRvLCBEZWxldGVkKTsKLSAgICAgICAgU3RvclBvcnROb3Rp
ZmljYXRpb24oQnVzQ2hhbmdlRGV0ZWN0ZWQsIFBkb0dldEZkbyhQZG8pLCAwKTsKKyAgICAgICAg
U3RvclBvcnROb3RpZmljYXRpb24oQnVzQ2hhbmdlRGV0ZWN0ZWQsIFBkb0dldEFkYXB0ZXIoUGRv
KSwgMCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIH0KQEAgLTI0MjEsNyArMjQyMSw3IEBAIF9f
UGRvRWplY3QoCiB7CiAgICAgUGRvU2V0TWlzc2luZyhQZG8sICJFamVjdGVkIik7CiAgICAgUGRv
U2V0RGV2aWNlUG5wU3RhdGUoUGRvLCBEZWxldGVkKTsKLSAgICBTdG9yUG9ydE5vdGlmaWNhdGlv
bihCdXNDaGFuZ2VEZXRlY3RlZCwgUGRvR2V0RmRvKFBkbyksIDApOworICAgIFN0b3JQb3J0Tm90
aWZpY2F0aW9uKEJ1c0NoYW5nZURldGVjdGVkLCBQZG9HZXRBZGFwdGVyKFBkbyksIDApOwogfQog
CiBfX2NoZWNrUmV0dXJuCkBAIC0yNTE2LDcgKzI1MTYsNyBAQCBQZG9Jc3N1ZURldmljZUVqZWN0
KAogICAgICAgICBJb1JlcXVlc3REZXZpY2VFamVjdChQZG8tPkRldmljZU9iamVjdCk7CiAgICAg
fSBlbHNlIHsKICAgICAgICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6IFRyaWdnZXJpbmcgQnVzQ2hh
bmdlRGV0ZWN0ZWQgdG8gZGV0ZWN0IGRldmljZVxuIiwgUGRvR2V0VGFyZ2V0SWQoUGRvKSk7Ci0g
ICAgICAgIFN0b3JQb3J0Tm90aWZpY2F0aW9uKEJ1c0NoYW5nZURldGVjdGVkLCBQZG9HZXRGZG8o
UGRvKSwgMCk7CisgICAgICAgIFN0b3JQb3J0Tm90aWZpY2F0aW9uKEJ1c0NoYW5nZURldGVjdGVk
LCBQZG9HZXRBZGFwdGVyKFBkbyksIDApOwogICAgIH0KIH0KIApAQCAtMjU4OCw3ICsyNTg4LDcg
QEAgUGRvRDBUb0QzKAogX19jaGVja1JldHVybgogQk9PTEVBTgogUGRvQ3JlYXRlKAotICAgIF9f
aW4gUFhFTlZCRF9GRE8gICAgICAgICAgICAgRmRvLAorICAgIF9faW4gUFhFTlZCRF9BREFQVEVS
ICAgICAgICAgICAgIEFkYXB0ZXIsCiAgICAgX19pbiBfX251bGx0ZXJtaW5hdGVkIFBDSEFSICBE
ZXZpY2VJZCwKICAgICBfX2luIFVMT05HICAgICAgICAgICAgICAgICAgIFRhcmdldElkLAogICAg
IF9faW4gWEVOVkJEX0RFVklDRV9UWVBFICAgICAgRGV2aWNlVHlwZQpAQCAtMjYwNyw3ICsyNjA3
LDcgQEAgUGRvQ3JlYXRlKAogCiAgICAgVmVyYm9zZSgiVGFyZ2V0WyVkXSA6IENyZWF0aW5nXG4i
LCBUYXJnZXRJZCk7CiAgICAgUGRvLT5TaWduYXR1cmUgICAgICA9IFBET19TSUdOQVRVUkU7Ci0g
ICAgUGRvLT5GZG8gICAgICAgICAgICA9IEZkbzsKKyAgICBQZG8tPkFkYXB0ZXIgICAgICAgICAg
ICA9IEFkYXB0ZXI7CiAgICAgUGRvLT5EZXZpY2VPYmplY3QgICA9IE5VTEw7IC8vIGZpbGxlZCBp
biBsYXRlcgogICAgIEtlSW5pdGlhbGl6ZUV2ZW50KCZQZG8tPlJlbW92ZUV2ZW50LCBTeW5jaHJv
bml6YXRpb25FdmVudCwgRkFMU0UpOwogICAgIFBkby0+UmVmZXJlbmNlQ291bnQgPSAxOwpAQCAt
MjYzMyw3ICsyNjMzLDcgQEAgUGRvQ3JlYXRlKAogICAgIGlmICghTlRfU1VDQ0VTUyhTdGF0dXMp
KQogICAgICAgICBnb3RvIGZhaWwzOwogCi0gICAgaWYgKCFGZG9MaW5rUGRvKEZkbywgUGRvKSkK
KyAgICBpZiAoIUFkYXB0ZXJMaW5rUGRvKEFkYXB0ZXIsIFBkbykpCiAgICAgICAgIGdvdG8gZmFp
bDQ7CiAKICAgICBWZXJib3NlKCJUYXJnZXRbJWRdIDogQ3JlYXRlZCAoJXMpXG4iLCBUYXJnZXRJ
ZCwgUGRvKTsKQEAgLTI2NzQsOCArMjY3NCw4IEBAIFBkb0Rlc3Ryb3koCiAgICAgVmVyYm9zZSgi
VGFyZ2V0WyVkXSA6IERlc3Ryb3lpbmdcbiIsIFRhcmdldElkKTsKIAogICAgIEFTU0VSVDNVKFBk
by0+U2lnbmF0dXJlLCA9PSwgUERPX1NJR05BVFVSRSk7Ci0gICAgaWYgKCFGZG9VbmxpbmtQZG8o
UGRvR2V0RmRvKFBkbyksIFBkbykpIHsKLSAgICAgICAgRXJyb3IoIlRhcmdldFslZF0gOiBQRE8g
MHglcCBub3QgbGlua2VkIHRvIEZETyAweCVwXG4iLCBUYXJnZXRJZCwgUGRvLCBQZG9HZXRGZG8o
UGRvKSk7CisgICAgaWYgKCFBZGFwdGVyVW5saW5rUGRvKFBkb0dldEFkYXB0ZXIoUGRvKSwgUGRv
KSkgeworICAgICAgICBFcnJvcigiVGFyZ2V0WyVkXSA6IFBETyAweCVwIG5vdCBsaW5rZWQgdG8g
QURBUFRFUiAweCVwXG4iLCBUYXJnZXRJZCwgUGRvLCBQZG9HZXRBZGFwdGVyKFBkbykpOwogICAg
IH0KIAogICAgIFBkb0QwVG9EMyhQZG8pOwpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC9wZG8uaCBi
L3NyYy94ZW52YmQvcGRvLmgKaW5kZXggNmUzZWNhNS4uODJhYzgyNSAxMDA2NDQKLS0tIGEvc3Jj
L3hlbnZiZC9wZG8uaAorKysgYi9zcmMveGVudmJkL3Bkby5oCkBAIC0zNyw3ICszNyw3IEBAIHR5
cGVkZWYgc3RydWN0IF9YRU5WQkRfUERPIFhFTlZCRF9QRE8sICpQWEVOVkJEX1BETzsKICNpbmNs
dWRlIDxudGRkay5oPgogI2luY2x1ZGUgPG50c3Ryc2FmZS5oPgogI2luY2x1ZGUgPHhlbnZiZC1z
dG9ycG9ydC5oPgotI2luY2x1ZGUgImZkby5oIgorI2luY2x1ZGUgImFkYXB0ZXIuaCIKICNpbmNs
dWRlICJzcmJleHQuaCIKICNpbmNsdWRlICJ0eXBlcy5oIgogI2luY2x1ZGUgPGRlYnVnX2ludGVy
ZmFjZS5oPgpAQCAtNTIsNyArNTIsNyBAQCBQZG9EZWJ1Z0NhbGxiYWNrKAogX19jaGVja1JldHVy
bgogZXh0ZXJuIEJPT0xFQU4KIFBkb0NyZWF0ZSgKLSAgICBfX2luIFBYRU5WQkRfRkRPICAgICAg
ICAgICAgIEZkbywKKyAgICBfX2luIFBYRU5WQkRfQURBUFRFUiAgICAgICAgICAgICBBZGFwdGVy
LAogICAgIF9faW4gX19udWxsdGVybWluYXRlZCBQQ0hBUiAgRGV2aWNlSWQsCiAgICAgX19pbiBV
TE9ORyAgICAgICAgICAgICAgICAgICBUYXJnZXRJZCwKICAgICBfX2luIFhFTlZCRF9ERVZJQ0Vf
VFlQRSAgICAgIERldmljZVR5cGUKQEAgLTE1OCw4ICsxNTgsOCBAQCBQZG9PdXRzdGFuZGluZ1Jl
cXMoCiAgICAgKTsKIAogX19jaGVja1JldHVybgotZXh0ZXJuIFBYRU5WQkRfRkRPCi1QZG9HZXRG
ZG8oIAorZXh0ZXJuIFBYRU5WQkRfQURBUFRFUgorUGRvR2V0QWRhcHRlciggCiAgICAgX19pbiBQ
WEVOVkJEX1BETyAgICAgICAgICAgICBQZG8KICAgICApOwogCmRpZmYgLS1naXQgYS92czIwMTIv
eGVudmJkL3hlbnZiZC52Y3hwcm9qIGIvdnMyMDEyL3hlbnZiZC94ZW52YmQudmN4cHJvagppbmRl
eCA3ODM5NWY5Li42YTEwYjZhIDEwMDY0NAotLS0gYS92czIwMTIveGVudmJkL3hlbnZiZC52Y3hw
cm9qCisrKyBiL3ZzMjAxMi94ZW52YmQveGVudmJkLnZjeHByb2oKQEAgLTc1LDcgKzc1LDcgQEAK
IAkJPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL2J1ZmZlci5jIiAvPgogCQk8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvZHJpdmVyLmMiIC8+CiAJCTxDbENv
bXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9yZWdpc3RyeS5jIiAvPgotCQk8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvZmRvLmMiIC8+CisJCTxDbENvbXBpbGUgSW5j
bHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9hZGFwdGVyLmMiIC8+CiAJCTxDbENvbXBpbGUgSW5jbHVk
ZT0iLi4vLi4vc3JjL3hlbnZiZC9mcm9udGVuZC5jIiAvPgogCQk8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uLy4uL3NyYy94ZW52YmQvcGRvLmMiIC8+CiAJCTxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4v
c3JjL3hlbnZiZC9wZG9pbnF1aXJ5LmMiIC8+CmRpZmYgLS1naXQgYS92czIwMTMveGVudmJkL3hl
bnZiZC52Y3hwcm9qIGIvdnMyMDEzL3hlbnZiZC94ZW52YmQudmN4cHJvagppbmRleCA0NTMyNjFh
Li5mN2VmNDY0IDEwMDY0NAotLS0gYS92czIwMTMveGVudmJkL3hlbnZiZC52Y3hwcm9qCisrKyBi
L3ZzMjAxMy94ZW52YmQveGVudmJkLnZjeHByb2oKQEAgLTEwMyw3ICsxMDMsNyBAQAogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9idWZmZXIuYyIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvZHJpdmVyLmMiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL3JlZ2lzdHJ5LmMiIC8+Ci0gICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL2Zkby5jIiAvPgorICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9hZGFwdGVyLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL2Zyb250ZW5kLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL3Bkby5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi4vLi4vc3JjL3hlbnZiZC9wZG9pbnF1aXJ5LmMiIC8+CmRpZmYgLS1naXQgYS92czIwMTUv
eGVudmJkL3hlbnZiZC52Y3hwcm9qIGIvdnMyMDE1L3hlbnZiZC94ZW52YmQudmN4cHJvagppbmRl
eCAxOGU3NTNlLi5hYmQ0YjI2IDEwMDY0NAotLS0gYS92czIwMTUveGVudmJkL3hlbnZiZC52Y3hw
cm9qCisrKyBiL3ZzMjAxNS94ZW52YmQveGVudmJkLnZjeHByb2oKQEAgLTY3LDcgKzY3LDcgQEAK
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvYnVmZmVyLmMiIC8+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL2RyaXZlci5jIiAvPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9yZWdpc3RyeS5jIiAvPgotICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9mZG8uYyIgLz4KKyAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvYWRhcHRlci5jIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9mcm9udGVuZC5jIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9wZG8uYyIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvcGRvaW5xdWlyeS5jIiAvPgotLSAKMi44LjMKCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2
ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2
ZWw=

From win-pv-devel-bounces@lists.xenproject.org Mon May 15 13:04:58 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 15 May 2017 13:04: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 1dAFgI-00070u-U1; Mon, 15 May 2017 13:04:58 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=301e7c014=owen.smith@citrix.com>)
 id 1dAFgH-0006zy-4K
 for win-pv-devel@lists.xenproject.org; Mon, 15 May 2017 13:04:57 +0000
Received: from [193.109.254.147] by server-11.bemta-6.messagelabs.com id
 A4/2A-03587-877A9195; Mon, 15 May 2017 13:04:56 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmphkeJIrShJLcpLzFFi42JxWrohUrdsuWS
 kwewGS4s/ixMdGD0Of7jCEsAYxZqZl5RfkcCa0X/nGFvBB9WKw2fWsDYwvpLuYuTkkBDwl7i8
 4j4TiM0mICvxceVnZhBbREBdYt/nrWBxZgE1iev7u1hBbGEBW4mt25rA4iwCqhKPjq0Hi/MKW
 EusWbuIFWKmnMTkxZcYQWxOoPiLNz/BbCEBK4mNP5qZIWwliW+LXzBD9ApKnJz5hAVil4TEwR
 cvmCcw8s5CkpqFJLWAkWkVo0ZxalFZapGuoYVeUlFmekZJbmJmjq6hgZlebmpxcWJ6ak5iUrF
 ecn7uJkZg6DAAwQ7GmxsDDjFKcjApifK6vhSPFOJLyk+pzEgszogvKs1JLT7EKMPBoSTBG7ZM
 MlJIsCg1PbUiLTMHGMQwaQkOHiURiDRvcUFibnFmOkTqFKOilDivF0hCACSRUZoH1waLnEuMs
 lLCvIxAhwjxFKQW5WaWoMq/YhTnYFQS5k0DmcKTmVcCN/0V0GImkMUgN/MWlyQipKQaGIt7jl
 XdaKpdqFj8ZGf5hnN3U/PqtuS7e01qmDxb/v6TK3W8z4Kym0OZKsvfv9RrlRC+uWO5+Z2/Pr0
 +9YLPz89caT1lqW3k9M9fuPUETFVMNXyUuJ1uVv1aZ1qemH+UcUHOic22t6L0dt/lnCos0qfj
 dlNEYMoa4awK43ubWUXsuNnuMXPfU2Ipzkg01GIuKk4EALJONoqXAgAA
X-Env-Sender: prvs=301e7c014=owen.smith@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1494853491!49462532!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14386 invoked from network); 15 May 2017 13:04:54 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
 by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
 15 May 2017 13:04:54 -0000
X-IronPort-AV: E=Sophos;i="5.38,345,1491264000"; d="scan'208";a="423741007"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 15 May 2017 14:04:12 +0100
Message-ID: <20170515130429.20580-10-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20170515130429.20580-1-owen.smith@citrix.com>
References: <20170515130429.20580-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 09/26] Move non-queue-srb handling to BuildIo
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/cgi-bin/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/cgi-bin/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
T3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW52YmQvYWRhcHRl
ci5jIHwgNDUgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCiBzcmMveGVudmJk
L3RhcmdldC5jICB8IDY0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t
LS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNjUgaW5zZXJ0aW9ucygrKSwgNDQgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC9hZGFwdGVyLmMgYi9zcmMveGVudmJkL2Fk
YXB0ZXIuYwppbmRleCBlMjYyZmUzLi41M2M4NThmIDEwMDY0NAotLS0gYS9zcmMveGVudmJkL2Fk
YXB0ZXIuYworKysgYi9zcmMveGVudmJkL2FkYXB0ZXIuYwpAQCAtMTYzOCwzMyArMTYzOCwzOCBA
QCBBZGFwdGVySHdTdGFydElvKAogICAgIFBYRU5WQkRfU1JCRVhUICAgICAgICAgIFNyYkV4dCA9
IFNyYi0+U3JiRXh0ZW5zaW9uOwogICAgIFBYRU5WQkRfVEFSR0VUICAgICAgICAgIFRhcmdldDsK
IAotICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19JTlZBTElEX1RBUkdFVF9JRDsKICAg
ICBUYXJnZXQgPSBBZGFwdGVyR2V0VGFyZ2V0KEFkYXB0ZXIsIFNyYi0+VGFyZ2V0SWQpOwotICAg
IGlmIChUYXJnZXQpIHsKLSAgICAgICAgc3dpdGNoIChTcmItPkZ1bmN0aW9uKSB7Ci0gICAgICAg
IGNhc2UgU1JCX0ZVTkNUSU9OX0VYRUNVVEVfU0NTSToKLSAgICAgICAgICAgIFRhcmdldFN0YXJ0
U3JiKFRhcmdldCwgU3JiRXh0KTsKLSAgICAgICAgICAgIGJyZWFrOworICAgIEFTU0VSVChUYXJn
ZXQgIT0gTlVMTCk7CisgICAgaWYgKFRhcmdldCA9PSBOVUxMKSB7CisgICAgICAgIFNyYi0+U3Ji
U3RhdHVzID0gU1JCX1NUQVRVU19JTlZBTElEX1RBUkdFVF9JRDsKKyAgICAgICAgZ290byBjb21w
bGV0ZV9zcmI7CisgICAgfQogCi0gICAgICAgIGNhc2UgU1JCX0ZVTkNUSU9OX1JFU0VUX0RFVklD
RToKLSAgICAgICAgICAgIFRhcmdldFJlc2V0KFRhcmdldCk7Ci0gICAgICAgICAgICBTcmItPlNy
YlN0YXR1cyA9IFNSQl9TVEFUVVNfU1VDQ0VTUzsKLSAgICAgICAgICAgIGJyZWFrOworICAgIEFT
U0VSVChTcmItPlNyYlN0YXR1cyA9PSBTUkJfU1RBVFVTX1BFTkRJTkcpOworICAgIHN3aXRjaCAo
U3JiLT5GdW5jdGlvbikgeworICAgIGNhc2UgU1JCX0ZVTkNUSU9OX0VYRUNVVEVfU0NTSToKKyAg
ICAgICAgVGFyZ2V0U3RhcnRTcmIoVGFyZ2V0LCBTcmJFeHQpOworICAgICAgICBicmVhazsKIAot
ICAgICAgICBjYXNlIFNSQl9GVU5DVElPTl9GTFVTSDoKLSAgICAgICAgICAgIFRhcmdldEZsdXNo
KFRhcmdldCwgU3JiRXh0KTsKLSAgICAgICAgICAgIGJyZWFrOworICAgIGNhc2UgU1JCX0ZVTkNU
SU9OX1JFU0VUX0RFVklDRToKKyAgICAgICAgVGFyZ2V0UmVzZXQoVGFyZ2V0KTsKKyAgICAgICAg
U3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX1NVQ0NFU1M7CisgICAgICAgIGJyZWFrOwogCi0g
ICAgICAgIGNhc2UgU1JCX0ZVTkNUSU9OX1NIVVRET1dOOgotICAgICAgICAgICAgVGFyZ2V0U2h1
dGRvd24oVGFyZ2V0LCBTcmJFeHQpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTUkJf
RlVOQ1RJT05fRkxVU0g6CisgICAgICAgIFRhcmdldEZsdXNoKFRhcmdldCwgU3JiRXh0KTsKKyAg
ICAgICAgYnJlYWs7CiAKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIFNyYi0+U3JiU3Rh
dHVzID0gU1JCX1NUQVRVU19JTlZBTElEX1JFUVVFU1Q7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgfQorICAgIGNhc2UgU1JCX0ZVTkNUSU9OX1NIVVRET1dOOgorICAgICAgICBUYXJnZXRT
aHV0ZG93bihUYXJnZXQsIFNyYkV4dCk7CisgICAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoK
KyAgICAgICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX0lOVkFMSURfUkVRVUVTVDsKKyAg
ICAgICAgYnJlYWs7CiAgICAgfQogCitjb21wbGV0ZV9zcmI6CiAgICAgaWYgKFNyYi0+U3JiU3Rh
dHVzICE9IFNSQl9TVEFUVVNfUEVORElORykKICAgICAgICAgQWRhcHRlckNvbXBsZXRlU3JiKEFk
YXB0ZXIsIFNyYkV4dCk7CiAKZGlmZiAtLWdpdCBhL3NyYy94ZW52YmQvdGFyZ2V0LmMgYi9zcmMv
eGVudmJkL3RhcmdldC5jCmluZGV4IDQ5ZGZjMDkuLmM4ZmY1MzEgMTAwNjQ0Ci0tLSBhL3NyYy94
ZW52YmQvdGFyZ2V0LmMKKysrIGIvc3JjL3hlbnZiZC90YXJnZXQuYwpAQCAtOTkyLDE5ICs5OTIs
NiBAQCBUYXJnZXRTaHV0ZG93bigKICAgICBCbG9ja1JpbmdLaWNrKFRhcmdldC0+QmxvY2tSaW5n
KTsKIH0KIAotVk9JRAotVGFyZ2V0UHJlcGFyZVNyYigKLSAgICBJTiAgUFhFTlZCRF9UQVJHRVQg
IFRhcmdldCwKLSAgICBJTiAgUFhFTlZCRF9TUkJFWFQgIFNyYkV4dAotICAgICkKLXsKLSAgICBQ
U0NTSV9SRVFVRVNUX0JMT0NLIFNyYiA9IFNyYkV4dC0+T3JpZ2luYWxSZXE7Ci0KLSAgICBVTlJF
RkVSRU5DRURfUEFSQU1FVEVSKFRhcmdldCk7Ci0KLSAgICBTcmItPlNyYlN0YXR1cyA9IFNSQl9T
VEFUVVNfUEVORElORzsKLX0KLQogc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKIFRhcmdldFF1ZXVl
U3JiKAogICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0LApAQCAtMTM3MSw3ICsxMzU4LDcg
QEAgVGFyZ2V0Q2hlY2tTZWN0b3JzKAogfQogCiBWT0lECi1UYXJnZXRTdGFydFNyYigKK1Rhcmdl
dFByZXBhcmVTcmIoCiAgICAgSU4gIFBYRU5WQkRfVEFSR0VUICBUYXJnZXQsCiAgICAgSU4gIFBY
RU5WQkRfU1JCRVhUICBTcmJFeHQKICAgICApCkBAIC0xMzgzLDI0ICsxMzcwLDI3IEBAIFRhcmdl
dFN0YXJ0U3JiKAogICAgIHN3aXRjaCAoT3BlcmF0aW9uKSB7CiAgICAgY2FzZSBTQ1NJT1BfUkVB
RDoKICAgICBjYXNlIFNDU0lPUF9XUklURToKLSAgICAgICAgaWYgKCFUYXJnZXRDaGVja1NlY3Rv
cnMoVGFyZ2V0LCBTcmJFeHQpKQotICAgICAgICAgICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RB
VFVTX0VSUk9SOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBUYXJnZXRRdWV1ZVNyYihUYXJn
ZXQsIFNyYkV4dCk7CisgICAgICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19QRU5ESU5H
OworICAgICAgICBpZiAoVGFyZ2V0Q2hlY2tTZWN0b3JzKFRhcmdldCwgU3JiRXh0KSkKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAvLyBTZWN0b3JzIG91dCBvZiByYW5nZSwgZmFpbCBTUkIK
KyAgICAgICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX0VSUk9SOwogICAgICAgICBicmVh
azsKIAogICAgIGNhc2UgU0NTSU9QX1VOTUFQOgorICAgICAgICBTcmItPlNyYlN0YXR1cyA9IFNS
Ql9TVEFUVVNfUEVORElORzsKICAgICAgICAgaWYgKFRhcmdldC0+RmVhdHVyZURpc2NhcmQpCi0g
ICAgICAgICAgICBUYXJnZXRRdWV1ZVNyYihUYXJnZXQsIFNyYkV4dCk7Ci0gICAgICAgIGVsc2UK
LSAgICAgICAgICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19TVUNDRVNTOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIC8vIERpc2NhcmQgbm90IHN1cHBvcnRlZCwganVzdCBzdWNj
ZWVkIFNSQgorICAgICAgICBTcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfU1VDQ0VTUzsKICAg
ICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFNDU0lPUF9TWU5DSFJPTklaRV9DQUNIRToKKyAgICAg
ICAgU3JiLT5TcmJTdGF0dXMgPSBTUkJfU1RBVFVTX1BFTkRJTkc7CiAgICAgICAgIGlmIChUYXJn
ZXQtPkZlYXR1cmVCYXJyaWVyIHx8IFRhcmdldC0+RmVhdHVyZUZsdXNoKQotICAgICAgICAgICAg
VGFyZ2V0UXVldWVTcmIoVGFyZ2V0LCBTcmJFeHQpOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBTcmItPlNyYlN0YXR1cyA9IFNSQl9TVEFUVVNfU1VDQ0VTUzsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAvLyBCYXJyaWVyIGFuZCBGbHVzaCBub3Qgc3VwcG9ydGVkLCBqdXN0IHN1Y2Nl
ZWQgU1JCCisgICAgICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19TVUNDRVNTOwogICAg
ICAgICBicmVhazsKIAogICAgIGNhc2UgU0NTSU9QX0lOUVVJUlk6CkBAIC0xNDQwLDYgKzE0MzAs
MzIgQEAgVGFyZ2V0U3RhcnRTcmIoCiAgICAgfQogfQogCitWT0lECitUYXJnZXRTdGFydFNyYigK
KyAgICBJTiAgUFhFTlZCRF9UQVJHRVQgIFRhcmdldCwKKyAgICBJTiAgUFhFTlZCRF9TUkJFWFQg
IFNyYkV4dAorICAgICkKK3sKKyAgICBQU0NTSV9SRVFVRVNUX0JMT0NLIFNyYiA9IFNyYkV4dC0+
T3JpZ2luYWxSZXE7CisgICAgVUNIQVIgICAgICAgICAgICAgICBPcGVyYXRpb247CisKKyAgICBP
cGVyYXRpb24gPSBDZGJfT3BlcmF0aW9uRXgoU3JiKTsKKyAgICBzd2l0Y2ggKE9wZXJhdGlvbikg
eworICAgIGNhc2UgU0NTSU9QX1JFQUQ6CisgICAgY2FzZSBTQ1NJT1BfV1JJVEU6CisgICAgY2Fz
ZSBTQ1NJT1BfVU5NQVA6CisgICAgY2FzZSBTQ1NJT1BfU1lOQ0hST05JWkVfQ0FDSEU6CisgICAg
ICAgIEFTU0VSVChTcmItPlNyYlN0YXR1cyA9PSBTUkJfU1RBVFVTX1BFTkRJTkcpOworICAgICAg
ICBUYXJnZXRRdWV1ZVNyYihUYXJnZXQsIFNyYkV4dCk7CisgICAgICAgIGJyZWFrOworCisgICAg
ZGVmYXVsdDoKKyAgICAgICAgLy8gQnVpbGRJbyBzaG91bGQgY29tcGxldGUgbm9uLXF1ZXVlLXdv
cnRoeSBTUkJzCisgICAgICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19JTlZBTElEX1JF
UVVFU1Q7CisgICAgICAgIGJyZWFrOworICAgIH0KK30KKwogc3RhdGljIFZPSUQKIFRhcmdldFN0
b3JlUmVhZERpc2tJbmZvKAogICAgIElOICBQWEVOVkJEX1RBUkdFVCAgVGFyZ2V0Ci0tIAoyLjgu
MwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1w
di1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3dpbi1w
di1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Mon May 15 13:04:58 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 15 May 2017 13:04: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 1dAFgI-00071D-Vc; Mon, 15 May 2017 13:04:58 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=301e7c014=owen.smith@citrix.com>)
 id 1dAFgH-00070F-B5
 for win-pv-devel@lists.xenproject.org; Mon, 15 May 2017 13:04:57 +0000
Received: from [193.109.254.147] by server-6.bemta-6.messagelabs.com id
 BC/AD-03920-877A9195; Mon, 15 May 2017 13:04:56 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmphkeJIrShJLcpLzFFi42JxWrohUrdiuWS
 kQe8kDos/ixMdGD0Of7jCEsAYxZqZl5RfkcCacXjbZraCv6kVm771MzUwznXpYuTkkBDwlzh4
 7wYTiM0mICvxceVnZhBbREBdYt/nrWBxZgE1iev7u1hBbGEBV4nXs7+wgdgsAqoSvy+0s4DYv
 AJWEo+v/2GBmCknMXnxJUYQm1PAWuLFm59gthBQzcYfzcwQtpLEt8UvmCF6BSVOznzCArFLQu
 LgixfMExh5ZyFJzUKSWsDItIpRozi1qCy1SNfQQi+pKDM9oyQ3MTNH19DATC83tbg4MT01JzG
 pWC85P3cTIzB0GIBgB+PNjQGHGCU5mJREeV1fikcK8SXlp1RmJBZnxBeV5qQWH2KU4eBQkuAN
 WyYZKSRYlJqeWpGWmQMMYpi0BAePkghEmre4IDG3ODMdInWKUVFKnNcLJCEAksgozYNrg0XOJ
 UZZKWFeRqBDhHgKUotyM0tQ5V8xinMwKgnzpoFM4cnMK4Gb/gpoMRPIYpCbeYtLEhFSUg2MIf
 XvjjpsMsuK+LOsaduf4v99TZ8lDq/hP5qhyiYjsODg50hNxv9PsoV3KsrwhL/dPzvL/LTXEWG
 tT3+O/QtPEmAMPOt+wJN17S6LBxJ87/TNfWI4/i+pDv0mZ27feCaSL62xwSDng17e8yL34wUv
 Q/ZyPNvo0LLB/Vx6z/0gpZKvwjLbr4kpsRRnJBpqMRcVJwIAP1p6R5cCAAA=
X-Env-Sender: prvs=301e7c014=owen.smith@citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1494853491!49462532!3
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14601 invoked from network); 15 May 2017 13:04:55 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
 by server-15.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
 15 May 2017 13:04:55 -0000
X-IronPort-AV: E=Sophos;i="5.38,345,1491264000"; d="scan'208";a="423741008"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 15 May 2017 14:04:10 +0100
Message-ID: <20170515130429.20580-8-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20170515130429.20580-1-owen.smith@citrix.com>
References: <20170515130429.20580-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 07/26] Move ScatterGather list iteration to
	adapter.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/cgi-bin/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/cgi-bin/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
T3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW52YmQvYWRhcHRl
ci5jIHwgIDYzICsrKysrKysrKysrKysrLS0KIHNyYy94ZW52YmQvYWRhcHRlci5oIHwgICA5ICsr
Kwogc3JjL3hlbnZiZC9zcmJleHQuaCAgfCAgIDQgKysKIHNyYy94ZW52YmQvdGFyZ2V0LmMgIHwg
MTk4ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
NCBmaWxlcyBjaGFuZ2VkLCAxMTggaW5zZXJ0aW9ucygrKSwgMTU2IGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL3NyYy94ZW52YmQvYWRhcHRlci5jIGIvc3JjL3hlbnZiZC9hZGFwdGVyLmMKaW5k
ZXggNGNlOTcxMS4uMzFiNTI2ZiAxMDA2NDQKLS0tIGEvc3JjL3hlbnZiZC9hZGFwdGVyLmMKKysr
IGIvc3JjL3hlbnZiZC9hZGFwdGVyLmMKQEAgLTE0MDUsOSArMTQwNSwyMSBAQCBBZGFwdGVyUHVs
bHVwU3JiKAogICAgIElOICBQU0NTSV9SRVFVRVNUX0JMT0NLIFNyYgogICAgICkKIHsKLSAgICAv
LyB3YWxrIFNjYXR0ZXJHYXRoZXIgbGlzdCwgYWRkIGJvdW5jZXMgd2hlcmUgbmVlZGVkCi0gICAg
VU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihBZGFwdGVyKTsKLSAgICBVTlJFRkVSRU5DRURfUEFSQU1F
VEVSKFNyYik7CisgICAgUFhFTlZCRF9TUkJFWFQgICAgICAgICAgU3JiRXh0ID0gU3JiLT5TcmJF
eHRlbnNpb247CisgICAgVUNIQVIgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uOworCisgICAg
T3BlcmF0aW9uID0gQ2RiX09wZXJhdGlvbkV4KFNyYik7CisgICAgc3dpdGNoIChPcGVyYXRpb24p
IHsKKyAgICBjYXNlIFNDU0lPUF9SRUFEOgorICAgIGNhc2UgU0NTSU9QX1dSSVRFOgorICAgICAg
ICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICAvLyBvbmx5IG5lZWQgdG8gcHVsbHVwIGZv
ciByZWFkL3dyaXRlCisgICAgICAgIHJldHVybiBUUlVFOworICAgIH0KKworICAgIFNyYkV4dC0+
U0dMaXN0ID0gU3RvclBvcnRHZXRTY2F0dGVyR2F0aGVyTGlzdChBZGFwdGVyLCBTcmIpOworCiAg
ICAgcmV0dXJuIFRSVUU7CiB9CiAKQEAgLTE0MTcsOSArMTQyOSw1MCBAQCBBZGFwdGVyUHVsbGRv
d25TcmIoCiAgICAgSU4gIFBTQ1NJX1JFUVVFU1RfQkxPQ0sgU3JiCiAgICAgKQogewotICAgIC8v
IGZvcmVhY2ggU2NhdHRlckdhdGhlciBlbnRyeSwgdW5ib3VuY2UgaXQKKyAgICBQWEVOVkJEX1NS
QkVYVCAgICAgICAgICBTcmJFeHQgPSBTcmItPlNyYkV4dGVuc2lvbjsKKwogICAgIFVOUkVGRVJF
TkNFRF9QQVJBTUVURVIoQWRhcHRlcik7Ci0gICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihTcmIp
OworCisgICAgU3JiRXh0LT5TR0xpc3QgPSBOVUxMOworICAgIFNyYkV4dC0+U0dJbmRleCA9IDA7
CisgICAgU3JiRXh0LT5TR09mZnNldCA9IDA7Cit9CisKK1ZPSUQKK0FkYXB0ZXJHZXROZXh0U0dF
bnRyeSgKKyAgICBJTiAgUFhFTlZCRF9TUkJFWFQgICAgICAgICAgICAgIFNyYkV4dCwKKyAgICBJ
TiAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIEV4aXN0aW5nTGVuZ3RoLAorICAgIE9VVCBQ
UEZOX05VTUJFUiAgICAgICAgICAgICAgICAgUGZuLAorICAgIE9VVCBQVUxPTkcgICAgICAgICAg
ICAgICAgICAgICAgT2Zmc2V0LAorICAgIE9VVCBQVUxPTkcgICAgICAgICAgICAgICAgICAgICAg
TGVuZ3RoCisgICAgKQoreworICAgIFBTVE9SX1NDQVRURVJfR0FUSEVSX0xJU1QgICAgICAgU0dM
aXN0OworICAgIFBTVE9SX1NDQVRURVJfR0FUSEVSX0VMRU1FTlQgICAgU0dFbGVtZW50OworICAg
IFNUT1JfUEhZU0lDQUxfQUREUkVTUyAgICAgICAgICAgQWRkcjsKKworICAgIFNHTGlzdCA9IFNy
YkV4dC0+U0dMaXN0OworICAgIEFTU0VSVChTR0xpc3QgIT0gTlVMTCk7CisKKyAgICBBU1NFUlQz
VShTcmJFeHQtPlNHSW5kZXgsIDwsIFNHTGlzdC0+TnVtYmVyT2ZFbGVtZW50cyk7CisKKyAgICBT
R0VsZW1lbnQgPSAmU0dMaXN0LT5MaXN0W1NyYkV4dC0+U0dJbmRleF07CisKKyAgICBBZGRyLlF1
YWRQYXJ0ID0gU0dFbGVtZW50LT5QaHlzaWNhbEFkZHJlc3MuUXVhZFBhcnQgKyBTcmJFeHQtPlNH
T2Zmc2V0OworCisgICAgKlBmbiAgICA9IChQRk5fTlVNQkVSKShBZGRyLlF1YWRQYXJ0ID4+IFBB
R0VfU0hJRlQpOworICAgICpPZmZzZXQgPSAoVUxPTkcpKEFkZHIuUXVhZFBhcnQgJiAoUEFHRV9T
SVpFIC0gMSkpOworICAgICpMZW5ndGggPSBfX21pbihQQUdFX1NJWkUgLSAqT2Zmc2V0IC0gRXhp
c3RpbmdMZW5ndGgsCisgICAgICAgICAgICAgICAgICAgIFNHRWxlbWVudC0+TGVuZ3RoIC0gU3Ji
RXh0LT5TR09mZnNldCk7CisKKyAgICBBU1NFUlQzVSgqTGVuZ3RoLCA8PSwgUEFHRV9TSVpFKTsK
KyAgICBBU1NFUlQzVShTcmJFeHQtPlNHT2Zmc2V0LCA8LCBTR0VsZW1lbnQtPkxlbmd0aCk7CisK
KyAgICBTcmJFeHQtPlNHT2Zmc2V0ICs9ICpMZW5ndGg7CisgICAgaWYgKFNyYkV4dC0+U0dPZmZz
ZXQgPj0gU0dFbGVtZW50LT5MZW5ndGgpIHsKKyAgICAgICAgU3JiRXh0LT5TR0luZGV4Kys7Cisg
ICAgICAgIFNyYkV4dC0+U0dPZmZzZXQgPSAwOworICAgIH0KIH0KIAogVk9JRApkaWZmIC0tZ2l0
IGEvc3JjL3hlbnZiZC9hZGFwdGVyLmggYi9zcmMveGVudmJkL2FkYXB0ZXIuaAppbmRleCBkZThi
NjkxLi4xMzNhMDllIDEwMDY0NAotLS0gYS9zcmMveGVudmJkL2FkYXB0ZXIuaAorKysgYi9zcmMv
eGVudmJkL2FkYXB0ZXIuaApAQCAtNjUsNiArNjUsMTUgQEAgQWRhcHRlcklzVGFyZ2V0RW11bGF0
ZWQoCiAgICAgKTsKIAogZXh0ZXJuIFZPSUQKK0FkYXB0ZXJHZXROZXh0U0dFbnRyeSgKKyAgICBJ
TiAgUFhFTlZCRF9TUkJFWFQgIFNyYkV4dCwKKyAgICBJTiAgVUxPTkcgICAgICAgICAgIEV4aXN0
aW5nTGVuZ3RoLAorICAgIE9VVCBQUEZOX05VTUJFUiAgICAgUGZuLAorICAgIE9VVCBQVUxPTkcg
ICAgICAgICAgT2Zmc2V0LAorICAgIE9VVCBQVUxPTkcgICAgICAgICAgTGVuZ3RoCisgICAgKTsK
KworZXh0ZXJuIFZPSUQKIEFkYXB0ZXJDb21wbGV0ZVNyYigKICAgICBJTiAgUFhFTlZCRF9BREFQ
VEVSIEFkYXB0ZXIsCiAgICAgSU4gIFBYRU5WQkRfU1JCRVhUICBTcmJFeHQKZGlmZiAtLWdpdCBh
L3NyYy94ZW52YmQvc3JiZXh0LmggYi9zcmMveGVudmJkL3NyYmV4dC5oCmluZGV4IDJlNzlkZTgu
LjMzODA1NDIgMTAwNjQ0Ci0tLSBhL3NyYy94ZW52YmQvc3JiZXh0LmgKKysrIGIvc3JjL3hlbnZi
ZC9zcmJleHQuaApAQCAtNDEsNiArNDEsMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgX1hFTlZCRF9TUkJF
WFQgewogICAgIFBTQ1NJX1JFUVVFU1RfQkxPQ0sgICAgIFNyYjsKICAgICBMSVNUX0VOVFJZICAg
ICAgICAgICAgICBMaXN0RW50cnk7CiAgICAgTE9ORyAgICAgICAgICAgICAgICAgICAgUmVxdWVz
dENvdW50OworICAgIC8vIFNjYXR0ZXJHYXRoZXIKKyAgICBQVk9JRCAgICAgICAgICAgICAgICAg
ICBTR0xpc3Q7CisgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgU0dJbmRleDsKKyAgICBVTE9O
RyAgICAgICAgICAgICAgICAgICBTR09mZnNldDsKIH0gWEVOVkJEX1NSQkVYVCwgKlBYRU5WQkRf
U1JCRVhUOwogCiB0eXBlZGVmIHN0cnVjdCBfWEVOVkJEX1JFUVVFU1QgewpkaWZmIC0tZ2l0IGEv
c3JjL3hlbnZiZC90YXJnZXQuYyBiL3NyYy94ZW52YmQvdGFyZ2V0LmMKaW5kZXggNWIxNGE3My4u
NmU1Y2IwZCAxMDA2NDQKLS0tIGEvc3JjL3hlbnZiZC90YXJnZXQuYworKysgYi9zcmMveGVudmJk
L3RhcmdldC5jCkBAIC0xMjMsOTIgKzEyMyw2IEBAIHN0cnVjdCBfWEVOVkJEX1RBUkdFVCB7CiAg
ICAgTlBBR0VEX0xPT0tBU0lERV9MSVNUICAgICAgIEluZGlyZWN0TGlzdDsKIH07CiAKLXR5cGVk
ZWYgc3RydWN0IF9YRU5WQkRfU0dfTElTVCB7Ci0gICAgLy8gU0dMaXN0IGZyb20gU1JCCi0gICAg
UFNUT1JfU0NBVFRFUl9HQVRIRVJfTElTVCAgIFNHTGlzdDsKLSAgICAvLyAiY3VycmVudCIgdmFs
dWVzCi0gICAgU1RPUl9QSFlTSUNBTF9BRERSRVNTICAgICAgIFBoeXNBZGRyOwotICAgIFVMT05H
ICAgICAgICAgICAgICAgICAgICAgICBQaHlzTGVuOwotICAgIC8vIGl0ZXJhdGlvbgotICAgIFVM
T05HICAgICAgICAgICAgICAgICAgICAgICBJbmRleDsKLSAgICBVTE9ORyAgICAgICAgICAgICAg
ICAgICAgICAgT2Zmc2V0OwotICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBMZW5ndGg7
Ci19IFhFTlZCRF9TR19MSVNULCAqUFhFTlZCRF9TR19MSVNUOwotCi1zdGF0aWMgRk9SQ0VJTkxJ
TkUgVk9JRAotU0dMaXN0SW5pdCgKLSAgICBJTiBPVVQgIFBYRU5WQkRfU0dfTElTVCAgICAgU0dM
aXN0LAotICAgIElOICBQVk9JRCAgICAgICAgICAgICAgICAgICBBZGFwdGVyLAotICAgIElOICBQ
U0NTSV9SRVFVRVNUX0JMT0NLICAgICBTcmIKLSAgICApCi17Ci0gICAgUnRsWmVyb01lbW9yeShT
R0xpc3QsIHNpemVvZihYRU5WQkRfU0dfTElTVCkpOwotICAgIFNHTGlzdC0+U0dMaXN0ID0gU3Rv
clBvcnRHZXRTY2F0dGVyR2F0aGVyTGlzdChBZGFwdGVyLCBTcmIpOwotfQotCi1zdGF0aWMgRk9S
Q0VJTkxJTkUgVk9JRAotU0dMaXN0R2V0KAotICAgIElOIE9VVCAgUFhFTlZCRF9TR19MSVNUICAg
ICAgICAgU0dMaXN0Ci0gICAgKQotewotICAgIFBTVE9SX1NDQVRURVJfR0FUSEVSX0VMRU1FTlQg
ICAgU0dFbGVtZW50OwotICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0
OwotCi0gICAgQVNTRVJUM1UoU0dMaXN0LT5JbmRleCwgPCwgU0dMaXN0LT5TR0xpc3QtPk51bWJl
ck9mRWxlbWVudHMpOwotCi0gICAgU0dFbGVtZW50ID0gJlNHTGlzdC0+U0dMaXN0LT5MaXN0W1NH
TGlzdC0+SW5kZXhdOwotCi0gICAgU0dMaXN0LT5QaHlzQWRkci5RdWFkUGFydCA9IFNHRWxlbWVu
dC0+UGh5c2ljYWxBZGRyZXNzLlF1YWRQYXJ0ICsgU0dMaXN0LT5PZmZzZXQ7Ci0gICAgT2Zmc2V0
ID0gKFVMT05HKShTR0xpc3QtPlBoeXNBZGRyLlF1YWRQYXJ0ICYgKFBBR0VfU0laRSAtIDEpKTsK
LSAgICBTR0xpc3QtPlBoeXNMZW4gICAgICAgICAgID0gX19taW4oUEFHRV9TSVpFIC0gT2Zmc2V0
IC0gU0dMaXN0LT5MZW5ndGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFNHRWxlbWVudC0+TGVuZ3RoIC0gU0dMaXN0LT5PZmZzZXQpOwotCi0gICAgQVNTRVJUM1UoU0dM
aXN0LT5QaHlzTGVuLCA8PSwgUEFHRV9TSVpFKTsKLSAgICBBU1NFUlQzVShTR0xpc3QtPk9mZnNl
dCwgPCwgU0dFbGVtZW50LT5MZW5ndGgpOwotCi0gICAgU0dMaXN0LT5MZW5ndGggPSBTR0xpc3Qt
PlBoeXNMZW47IC8vIGdldHMgcmVzZXQgZXZlcnkgdGltZSBmb3IgR3JhbnRlZCwgZXZlcnkgMW9y
MiB0aW1lcyBmb3IgQm91bmNlZAotICAgIFNHTGlzdC0+T2Zmc2V0ID0gU0dMaXN0LT5PZmZzZXQg
KyBTR0xpc3QtPlBoeXNMZW47Ci0gICAgaWYgKFNHTGlzdC0+T2Zmc2V0ID49IFNHRWxlbWVudC0+
TGVuZ3RoKSB7Ci0gICAgICAgIFNHTGlzdC0+SW5kZXggID0gU0dMaXN0LT5JbmRleCArIDE7Ci0g
ICAgICAgIFNHTGlzdC0+T2Zmc2V0ID0gMDsKLSAgICB9Ci19Ci0KLXN0YXRpYyBGT1JDRUlOTElO
RSBCT09MRUFOCi1TR0xpc3ROZXh0KAotICAgIElOIE9VVCAgUFhFTlZCRF9TR19MSVNUICAgICAg
ICAgU0dMaXN0LAotICAgIElOICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgQWxpZ25tZW50
TWFzawotICAgICkKLXsKLSAgICBTR0xpc3QtPkxlbmd0aCA9IDA7Ci0gICAgU0dMaXN0R2V0KFNH
TGlzdCk7ICAvLyBnZXQgbmV4dCBQaHlzQWRkciBhbmQgUGh5c0xlbgotICAgIHJldHVybiAhKChT
R0xpc3QtPlBoeXNBZGRyLlF1YWRQYXJ0ICYgQWxpZ25tZW50TWFzaykgfHwgKFNHTGlzdC0+UGh5
c0xlbiAmIEFsaWdubWVudE1hc2spKTsKLX0KLQotc3RhdGljIEZPUkNFSU5MSU5FIFBGTl9OVU1C
RVIKLVNHTGlzdFBmbigKLSAgICBJTiAgUFhFTlZCRF9TR19MSVNUIFNHTGlzdAotICAgICkKLXsK
LSAgICByZXR1cm4gKFBGTl9OVU1CRVIpKFNHTGlzdC0+UGh5c0FkZHIuUXVhZFBhcnQgPj4gUEFH
RV9TSElGVCk7Ci19Ci0KLXN0YXRpYyBGT1JDRUlOTElORSBVTE9ORwotU0dMaXN0T2Zmc2V0KAot
ICAgIElOICBQWEVOVkJEX1NHX0xJU1QgU0dMaXN0Ci0gICAgKQotewotICAgIHJldHVybiAoVUxP
TkcpKFNHTGlzdC0+UGh5c0FkZHIuUXVhZFBhcnQgJiAoUEFHRV9TSVpFIC0gMSkpOwotfQotCi1z
dGF0aWMgRk9SQ0VJTkxJTkUgVUxPTkcKLVNHTGlzdExlbmd0aCgKLSAgICBJTiAgUFhFTlZCRF9T
R19MSVNUIFNHTGlzdAotICAgICkKLXsKLSAgICByZXR1cm4gU0dMaXN0LT5QaHlzTGVuOwotfQot
CiBzdGF0aWMgRk9SQ0VJTkxJTkUgUFZPSUQKIF9fVGFyZ2V0QWxsb2NhdGUoCiAgICAgSU4gIFVM
T05HICAgU2l6ZQpAQCAtNDc2LDU4ICszOTAsNiBAQCBUYXJnZXRQdXRSZXF1ZXN0KAogICAgIEV4
RnJlZVRvTlBhZ2VkTG9va2FzaWRlTGlzdCgmVGFyZ2V0LT5SZXF1ZXN0TGlzdCwgUmVxdWVzdCk7
CiB9CiAKLXN0YXRpYyBGT1JDRUlOTElORSBCT09MRUFOCi1CdWZmZXJNYXAoCi0gICAgSU4gIFBY
RU5WQkRfU0VHTUVOVCBTZWdtZW50LAotICAgIElOICBQWEVOVkJEX1NHX0xJU1QgU0dMaXN0LAot
ICAgIElOICBVTE9ORyAgICAgICAgICAgTGVuZ3RoCi0gICAgKQotewotICAgIC8vIG1hcCBQaHlz
QWRkciB0byAxIG9yIDIgcGFnZXMgYW5kIGxvY2sgZm9yIFZpcnRBZGRyCi0jcHJhZ21hIHdhcm5p
bmcocHVzaCkKLSNwcmFnbWEgd2FybmluZyhkaXNhYmxlOjI4MTQ1KQotICAgIFNlZ21lbnQtPk1k
bC5OZXh0ICAgICAgICAgICA9IE5VTEw7Ci0gICAgU2VnbWVudC0+TWRsLlNpemUgICAgICAgICAg
ID0gKFNIT1JUKShzaXplb2YoTURMKSArIHNpemVvZihQRk5fTlVNQkVSKSk7Ci0gICAgU2VnbWVu
dC0+TWRsLk1kbEZsYWdzICAgICAgID0gTURMX1BBR0VTX0xPQ0tFRDsKLSAgICBTZWdtZW50LT5N
ZGwuUHJvY2VzcyAgICAgICAgPSBOVUxMOwotICAgIFNlZ21lbnQtPk1kbC5NYXBwZWRTeXN0ZW1W
YSA9IE5VTEw7Ci0gICAgU2VnbWVudC0+TWRsLlN0YXJ0VmEgICAgICAgID0gTlVMTDsKLSAgICBT
ZWdtZW50LT5NZGwuQnl0ZUNvdW50ICAgICAgPSBTR0xpc3RMZW5ndGgoU0dMaXN0KTsKLSAgICBT
ZWdtZW50LT5NZGwuQnl0ZU9mZnNldCAgICAgPSBTR0xpc3RPZmZzZXQoU0dMaXN0KTsKLSAgICBT
ZWdtZW50LT5QZm5bMF0gICAgICAgICAgICAgPSBTR0xpc3RQZm4oU0dMaXN0KTsKLQotICAgIGlm
IChTZWdtZW50LT5NZGwuQnl0ZUNvdW50IDwgTGVuZ3RoKSB7Ci0gICAgICAgIC8vIG5lZWQgcGFy
dCBvZiBuZXh0IHBhZ2UKLSAgICAgICAgU0dMaXN0R2V0KFNHTGlzdCk7Ci0gICAgICAgIFNlZ21l
bnQtPk1kbC5TaXplICAgICAgICs9IHNpemVvZihQRk5fTlVNQkVSKTsKLSAgICAgICAgU2VnbWVu
dC0+TWRsLkJ5dGVDb3VudCAgPSBTZWdtZW50LT5NZGwuQnl0ZUNvdW50ICsgU0dMaXN0TGVuZ3Ro
KFNHTGlzdCk7Ci0gICAgICAgIFNlZ21lbnQtPlBmblsxXSAgICAgICAgID0gU0dMaXN0UGZuKFNH
TGlzdCk7Ci0gICAgfQotI3ByYWdtYSB3YXJuaW5nKHBvcCkKLQotICAgIEFTU0VSVDNVKFNlZ21l
bnQtPk1kbC5CeXRlQ291bnQsIDw9LCBQQUdFX1NJWkUpOwotICAgIEFTU0VSVDNVKFNlZ21lbnQt
Pk1kbC5CeXRlQ291bnQsID09LCBMZW5ndGgpOwotICAgICAgICAgICAgICAgIAotICAgIFNlZ21l
bnQtPkxlbmd0aCA9IG1pbihTZWdtZW50LT5NZGwuQnl0ZUNvdW50LCBQQUdFX1NJWkUpOwotICAg
IFNlZ21lbnQtPkJ1ZmZlciA9IE1tTWFwTG9ja2VkUGFnZXNTcGVjaWZ5Q2FjaGUoJlNlZ21lbnQt
Pk1kbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEtlcm5lbE1vZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBNbUNhY2hlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBGQUxTRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIE5vcm1hbFBhZ2VQcmlvcml0eSk7Ci0gICAgaWYgKFNlZ21lbnQtPkJ1
ZmZlciA9PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWw7Ci0KLSAgICBBU1NFUlQzUChNbUdldE1k
bFBmbkFycmF5KCZTZWdtZW50LT5NZGwpWzBdLCA9PSwgU2VnbWVudC0+UGZuWzBdKTsKLSAgICAv
LyBpZiBvbmx5IDEgUGZuIGlzIHVzZWQsIHRoaXMgdHJpZ2dlcnMgYW4gYXJyYXktb3V0LW9mLWJv
dW5kcyBjb25kaXRpb24hCi0gICAgLy9BU1NFUlQzUChNbUdldE1kbFBmbkFycmF5KCZTZWdtZW50
LT5NZGwpWzFdLCA9PSwgU2VnbWVudC0+UGZuWzFdKTsKLSAKLSAgICByZXR1cm4gVFJVRTsKLQot
ZmFpbDoKLSAgICByZXR1cm4gRkFMU0U7Ci19Ci0KIHN0YXRpYyBCT09MRUFOCiBUYXJnZXRQcmVw
YXJlUlcoCiAgICAgSU4gIFBYRU5WQkRfVEFSR0VUICBUYXJnZXQsCkBAIC01MzksMTYgKzQwMSwx
MiBAQCBUYXJnZXRQcmVwYXJlUlcoCiAgICAgVUxPTkc2NCAgICAgICAgICAgICBTZWN0b3JTdGFy
dCA9IENkYl9Mb2dpY2FsQmxvY2soU3JiKTsKICAgICBVTE9ORyAgICAgICAgICAgICAgIFNlY3Rv
cnNMZWZ0ID0gQ2RiX1RyYW5zZmVyQmxvY2soU3JiKTsKICAgICBMSVNUX0VOVFJZICAgICAgICAg
IExpc3Q7Ci0gICAgWEVOVkJEX1NHX0xJU1QgICAgICBTR0xpc3Q7CiAgICAgS0lSUUwgICAgICAg
ICAgICAgICBJcnFsOwogICAgIGNvbnN0IFVMT05HICAgICAgICAgU2VjdG9yU2l6ZSA9IFRhcmdl
dC0+U2VjdG9yU2l6ZTsKICAgICBjb25zdCBVTE9ORyAgICAgICAgIFNlY3Rvck1hc2sgPSBTZWN0
b3JTaXplIC0gMTsKICAgICBjb25zdCBVTE9ORyAgICAgICAgIFNlY3RvcnNQZXJQYWdlID0gUEFH
RV9TSVpFIC8gU2VjdG9yU2l6ZTsKIAogICAgIEluaXRpYWxpemVMaXN0SGVhZCgmTGlzdCk7Ci0g
ICAgU0dMaXN0SW5pdCgmU0dMaXN0LCBUYXJnZXRHZXRBZGFwdGVyKFRhcmdldCksIFNyYik7Ci0K
LSAgICAvLyB2YWxpZGF0ZSBTZWN0b3JTdGFydCwgU2VjdG9yc0xlZnQgZml0cyBpbiB0aGlzIHRh
cmdldCAocHJldmVudCByZWFkL3dyaXRlIGJleW9uZCBleHRlbnRzKQogCiAgICAgd2hpbGUgKFNl
Y3RvcnNMZWZ0ID4gMCkgewogICAgICAgICBQWEVOVkJEX1JFUVVFU1QgUmVxdWVzdDsKQEAgLTU3
Niw2ICs0MzQsOCBAQCBUYXJnZXRQcmVwYXJlUlcoCiAgICAgICAgICAgICBQWEVOVkJEX1NFR01F
TlQgU2VnbWVudDsKICAgICAgICAgICAgIFVMT05HICAgICAgICAgICBTZWN0b3JzTm93OwogICAg
ICAgICAgICAgUEZOX05VTUJFUiAgICAgIFBmbjsKKyAgICAgICAgICAgIFVMT05HICAgICAgICAg
ICBPZmZzZXQ7CisgICAgICAgICAgICBVTE9ORyAgICAgICAgICAgTGVuZ3RoOwogICAgICAgICAg
ICAgTlRTVEFUVVMgICAgICAgIHN0YXR1czsKIAogICAgICAgICAgICAgaWYgKFNlY3RvcnNMZWZ0
ID09IDApCkBAIC01ODcsMjQgKzQ0Nyw2MCBAQCBUYXJnZXRQcmVwYXJlUlcoCiAgICAgICAgICAg
ICBJbnNlcnRUYWlsTGlzdCgmUmVxdWVzdC0+U2VnbWVudHMsICZTZWdtZW50LT5MaXN0RW50cnkp
OwogICAgICAgICAgICAgKytSZXF1ZXN0LT5OclNlZ21lbnRzOwogCi0gICAgICAgICAgICBpZiAo
U0dMaXN0TmV4dCgmU0dMaXN0LCBTZWN0b3JNYXNrKSkgewotICAgICAgICAgICAgICAgIEFTU0VS
VCgoU0dMaXN0T2Zmc2V0KCZTR0xpc3QpICYgU2VjdG9yTWFzaykgPT0gMCk7Ci0KLSAgICAgICAg
ICAgICAgICBTZWdtZW50LT5GaXJzdFNlY3RvciA9IChVQ0hBUikoU0dMaXN0T2Zmc2V0KCZTR0xp
c3QpIC8gU2VjdG9yU2l6ZSk7CisgICAgICAgICAgICBBZGFwdGVyR2V0TmV4dFNHRW50cnkoU3Ji
RXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJlBmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmT2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZMZW5ndGgp
OworICAgICAgICAgICAgaWYgKChPZmZzZXQgJiBTZWN0b3JNYXNrKSA9PSAwICYmIChMZW5ndGgg
JiBTZWN0b3JNYXNrKSA9PSAwKSB7CisgICAgICAgICAgICAgICAgU2VnbWVudC0+Rmlyc3RTZWN0
b3IgPSAoVUNIQVIpKE9mZnNldCAvIFNlY3RvclNpemUpOwogICAgICAgICAgICAgICAgIFNlY3Rv
cnNOb3cgICAgICAgICAgID0gbWluKFNlY3RvcnNMZWZ0LCBTZWN0b3JzUGVyUGFnZSAtIFNlZ21l
bnQtPkZpcnN0U2VjdG9yKTsKICAgICAgICAgICAgICAgICBTZWdtZW50LT5MYXN0U2VjdG9yICA9
IChVQ0hBUikoU2VnbWVudC0+Rmlyc3RTZWN0b3IgKyBTZWN0b3JzTm93IC0gMSk7Ci0KLSAgICAg
ICAgICAgICAgICBQZm4gPSBTR0xpc3RQZm4oJlNHTGlzdCk7CiAgICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgIEFTU0VSVCgoU0dMaXN0T2Zmc2V0KCZTR0xpc3QpICYgU2VjdG9y
TWFzaykgIT0gMCk7Ci0KICAgICAgICAgICAgICAgICBTZWdtZW50LT5GaXJzdFNlY3RvciA9IChV
Q0hBUikwOwogICAgICAgICAgICAgICAgIFNlY3RvcnNOb3cgICAgICAgICAgID0gbWluKFNlY3Rv
cnNMZWZ0LCBTZWN0b3JzUGVyUGFnZSk7CiAgICAgICAgICAgICAgICAgU2VnbWVudC0+TGFzdFNl
Y3RvciAgPSAoVUNIQVIpKFNlY3RvcnNOb3cgLSAxKTsKIAotICAgICAgICAgICAgICAgIGlmICgh
QnVmZmVyTWFwKFNlZ21lbnQsICZTR0xpc3QsIFNlY3RvcnNOb3cgKiBTZWN0b3JTaXplKSkKKyAg
ICAgICAgICAgICAgICAvLyBtYXAgUGh5c0FkZHIgdG8gMSBvciAyIHBhZ2VzIGFuZCBsb2NrIGZv
ciBWaXJ0QWRkcgorI3ByYWdtYSB3YXJuaW5nKHB1c2gpCisjcHJhZ21hIHdhcm5pbmcoZGlzYWJs
ZToyODE0NSkKKyAgICAgICAgICAgICAgICBTZWdtZW50LT5NZGwuU2l6ZSAgICAgICAgICAgPSAo
U0hPUlQpKHNpemVvZihNREwpICsgc2l6ZW9mKFBGTl9OVU1CRVIpKTsKKyAgICAgICAgICAgICAg
ICBTZWdtZW50LT5NZGwuTWRsRmxhZ3MgICAgICAgPSBNRExfUEFHRVNfTE9DS0VEOworICAgICAg
ICAgICAgICAgIFNlZ21lbnQtPk1kbC5CeXRlQ291bnQgICAgICA9IExlbmd0aDsKKyAgICAgICAg
ICAgICAgICBTZWdtZW50LT5NZGwuQnl0ZU9mZnNldCAgICAgPSBPZmZzZXQ7CisgICAgICAgICAg
ICAgICAgU2VnbWVudC0+UGZuWzBdICAgICAgICAgICAgID0gUGZuOworCisgICAgICAgICAgICAg
ICAgaWYgKFNlZ21lbnQtPk1kbC5CeXRlQ291bnQgPCBTZWN0b3JzTm93ICogU2VjdG9yU2l6ZSkg
eworICAgICAgICAgICAgICAgICAgICAvLyBuZWVkIHBhcnQgb2YgbmV4dCBwYWdlCisgICAgICAg
ICAgICAgICAgICAgIEFkYXB0ZXJHZXROZXh0U0dFbnRyeShTcmJFeHQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMZW5ndGgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmUGZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJk9mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZMZW5ndGgpOworICAgICAgICAgICAgICAgICAgICBBU1NFUlQoT2Zmc2V0ID09
IDApOworICAgICAgICAgICAgICAgICAgICBTZWdtZW50LT5NZGwuU2l6ZSAgICAgICArPSBzaXpl
b2YoUEZOX05VTUJFUik7CisgICAgICAgICAgICAgICAgICAgIFNlZ21lbnQtPk1kbC5CeXRlQ291
bnQgID0gU2VnbWVudC0+TWRsLkJ5dGVDb3VudCArIExlbmd0aDsKKyAgICAgICAgICAgICAgICAg
ICAgU2VnbWVudC0+UGZuWzFdICAgICAgICAgPSBQZm47CisgICAgICAgICAgICAgICAgfQorI3By
YWdtYSB3YXJuaW5nKHBvcCkKKworICAgICAgICAgICAgICAgIEFTU0VSVDNVKFNlZ21lbnQtPk1k
bC5CeXRlQ291bnQsIDw9LCBQQUdFX1NJWkUpOworICAgICAgICAgICAgICAgIEFTU0VSVDNVKFNl
Z21lbnQtPk1kbC5CeXRlQ291bnQsID09LCBTZWN0b3JzTm93ICogU2VjdG9yU2l6ZSk7CisKKyAg
ICAgICAgICAgICAgICBTZWdtZW50LT5MZW5ndGggPSBTZWdtZW50LT5NZGwuQnl0ZUNvdW50Owor
ICAgICAgICAgICAgICAgIFNlZ21lbnQtPkJ1ZmZlciA9IE1tTWFwTG9ja2VkUGFnZXNTcGVjaWZ5
Q2FjaGUoJlNlZ21lbnQtPk1kbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtlcm5lbE1vZGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNbUNhY2hlZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vcm1hbFBhZ2VQcmlvcml0eSk7Cisg
ICAgICAgICAgICAgICAgaWYgKFNlZ21lbnQtPkJ1ZmZlciA9PSBOVUxMKQogICAgICAgICAgICAg
ICAgICAgICBnb3RvIGZhaWwzOwogCisgICAgICAgICAgICAgICAgQVNTRVJUM1AoTW1HZXRNZGxQ
Zm5BcnJheSgmU2VnbWVudC0+TWRsKVswXSwgPT0sIFNlZ21lbnQtPlBmblswXSk7CisgICAgICAg
ICAgICAgICAgLy8gaWYgb25seSAxIFBmbiBpcyB1c2VkLCB0aGlzIHRyaWdnZXJzIGFuIGFycmF5
LW91dC1vZi1ib3VuZHMgY29uZGl0aW9uIQorICAgICAgICAgICAgICAgIC8vQVNTRVJUM1AoTW1H
ZXRNZGxQZm5BcnJheSgmU2VnbWVudC0+TWRsKVsxXSwgPT0sIFNlZ21lbnQtPlBmblsxXSk7CisK
ICAgICAgICAgICAgICAgICBpZiAoIUJ1ZmZlckdldChTZWdtZW50LCAmU2VnbWVudC0+QnVmZmVy
SWQsICZQZm4pKQogICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWw0OwogCi0tIAoyLjguMwoK
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1k
ZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz
Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1k
ZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Mon May 15 13:17:02 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 15 May 2017 13:17: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 1dAFry-0007zp-B1; Mon, 15 May 2017 13:17:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=301e7c014=owen.smith@citrix.com>)
 id 1dAFrx-0007zi-GA
 for win-pv-devel@lists.xenproject.org; Mon, 15 May 2017 13:17:01 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
 77/25-02955-C4AA9195; Mon, 15 May 2017 13:17:00 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupjkeJIrShJLcpLzFFi42JxWrohUtd7lWS
 kwfJ9VhZ/Fic6MHoc/nCFJYAxijUzLym/IoE14++986wFj8UqLs5sYmlg3C/QxcjJISHgL3H+
 5ANWEJtNQFbi48rPzCC2iIC6xL7PW5lAbGYBNYnr+7vAaoQFAiQ+PNnE2MXIwcEioCpx7Wc2S
 JhXwFpixt9HjBAj5SQmL74EZnMCxV+8+QlmCwlYSWz80cwMYStJfFv8ghmiV1Di5MwnLBCrJC
 QOvnjBPIGRdxaS1CwkqQWMTKsY1YtTi8pSi3RN9JKKMtMzSnITM3N0DQ2M9XJTi4sT01NzEpO
 K9ZLzczcxAsOGAQh2MDZ+cTrEKMnBpCTK6/pSPFKILyk/pTIjsTgjvqg0J7X4EKMMB4eSBK/R
 SslIIcGi1PTUirTMHGAAw6QlOHiURHi3rwBK8xYXJOYWZ6ZDpE4x6nJ8+ff1PZMQS15+XqqUO
 K8UyAwBkKKM0jy4EbBousQoKyXMywh0lBBPQWpRbmYJqvwrRnEORiVh3g8gq3gy80rgNr0COo
 IJ6IgwkPt5i0sSEVJSDYyBXG4y+9j1VKvPZYU9il94dFflk6Idj2+zsh+7dWxax9v9EtqqCqf
 F/zqX/5po9+rt0hiX1Jp1d865HD0YPuOJ4CcOzSlHubgPOS7OaDOozrOeeUSEV3p9hWjxHVsr
 Td7sNzGL/S4+Plkv5X50husX13Xej7NWXz/d/vSnlFOPM8v11HNJj4SVWIozEg21mIuKEwEHW
 kVRoQIAAA==
X-Env-Sender: prvs=301e7c014=owen.smith@citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1494854218!61881490!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 52781 invoked from network); 15 May 2017 13:16:59 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
 by server-6.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
 15 May 2017 13:16:59 -0000
X-IronPort-AV: E=Sophos;i="5.38,345,1491264000"; d="scan'208";a="423743301"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 15 May 2017 14:04:24 +0100
Message-ID: <20170515130429.20580-22-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20170515130429.20580-1-owen.smith@citrix.com>
References: <20170515130429.20580-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 21/26] Add overrides for MaxTransferLength
	and MaxPhysicalBreaks
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/cgi-bin/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/cgi-bin/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
T3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW52YmQvYWRhcHRl
ci5jIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKystLQogc3JjL3hlbnZiZC9kcml2ZXIuaCAg
fCAgNSArKy0tLQogMiBmaWxlcyBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL3NyYy94ZW52YmQvYWRhcHRlci5jIGIvc3JjL3hlbnZiZC9hZGFw
dGVyLmMKaW5kZXggYzRmYTlmNi4uOTQ1ODg4ZCAxMDA2NDQKLS0tIGEvc3JjL3hlbnZiZC9hZGFw
dGVyLmMKKysrIGIvc3JjL3hlbnZiZC9hZGFwdGVyLmMKQEAgLTE3NjgsNiArMTc2OCw4IEBAIEFk
YXB0ZXJId0ZpbmRBZGFwdGVyKAogICAgIFBERVZJQ0VfT0JKRUNUICAgICAgICAgICAgICAgICAg
ICAgICAgICBEZXZpY2VPYmplY3Q7CiAgICAgUERFVklDRV9PQkpFQ1QgICAgICAgICAgICAgICAg
ICAgICAgICAgIFBoeXNpY2FsRGV2aWNlT2JqZWN0OwogICAgIFBERVZJQ0VfT0JKRUNUICAgICAg
ICAgICAgICAgICAgICAgICAgICBMb3dlckRldmljZU9iamVjdDsKKyAgICBVTE9ORyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF4VHJhbnNmZXJMZW5ndGg7CisgICAgVUxPTkcg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heFBoeXNpY2FsQnJlYWtzOwogICAg
IE5UU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM7CiAKICAgICBV
TlJFRkVSRU5DRURfUEFSQU1FVEVSKENvbnRleHQpOwpAQCAtMTc3NSw5ICsxNzc3LDI4IEBAIEFk
YXB0ZXJId0ZpbmRBZGFwdGVyKAogICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoQXJndW1lbnRT
dHJpbmcpOwogICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoQWdhaW4pOwogCisgICAgLy8gb3Zl
cnJpZGUgc2V0dGluZ3MKKyAgICBzdGF0dXMgPSBSZWdpc3RyeVF1ZXJ5RHdvcmRWYWx1ZShEcml2
ZXJHZXRQYXJhbWV0ZXJzS2V5KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIk1heFRyYW5zZmVyTGVuZ3RoIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmTWF4VHJhbnNmZXJMZW5ndGgpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQor
ICAgICAgICBNYXhUcmFuc2Zlckxlbmd0aCA9IFhFTlZCRF9NQVhfVFJBTlNGRVJfTEVOR1RIOwor
ICAgIGlmICgoTWF4VHJhbnNmZXJMZW5ndGggJiAoUEFHRV9TSVpFIC0gMSkpICE9IDApCisgICAg
ICAgIE1heFRyYW5zZmVyTGVuZ3RoID0gWEVOVkJEX01BWF9UUkFOU0ZFUl9MRU5HVEg7CisKKyAg
ICBzdGF0dXMgPSBSZWdpc3RyeVF1ZXJ5RHdvcmRWYWx1ZShEcml2ZXJHZXRQYXJhbWV0ZXJzS2V5
KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1heFBoeXNpY2FsQnJl
YWtzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmTWF4UGh5c2ljYWxC
cmVha3MpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBNYXhQaHlzaWNh
bEJyZWFrcyA9IFhFTlZCRF9NQVhfUEhZU0lDQUxfQlJFQUtTOworCisgICAgVmVyYm9zZSgiTWF4
VHJhbnNmZXJMZW5ndGg6ICV1LCBNYXhQaHlzaWNhbEJyZWFrczogJXVcbiIsCisgICAgICAgICAg
ICBNYXhUcmFuc2Zlckxlbmd0aCwKKyAgICAgICAgICAgIE1heFBoeXNpY2FsQnJlYWtzKTsKKwog
ICAgIC8vIHNldHVwIGNvbmZpZyBpbmZvCi0gICAgQ29uZmlnSW5mby0+TWF4aW11bVRyYW5zZmVy
TGVuZ3RoICAgICAgID0gWEVOVkJEX01BWF9UUkFOU0ZFUl9MRU5HVEg7Ci0gICAgQ29uZmlnSW5m
by0+TnVtYmVyT2ZQaHlzaWNhbEJyZWFrcyAgICAgID0gWEVOVkJEX01BWF9QSFlTSUNBTF9CUkVB
S1M7CisgICAgQ29uZmlnSW5mby0+TWF4aW11bVRyYW5zZmVyTGVuZ3RoICAgICAgID0gTWF4VHJh
bnNmZXJMZW5ndGg7CisgICAgQ29uZmlnSW5mby0+TnVtYmVyT2ZQaHlzaWNhbEJyZWFrcyAgICAg
ID0gTWF4UGh5c2ljYWxCcmVha3M7CiAgICAgQ29uZmlnSW5mby0+QWxpZ25tZW50TWFzayAgICAg
ICAgICAgICAgID0gMDsgLy8gQnl0ZS1BbGlnbmVkCiAgICAgQ29uZmlnSW5mby0+TnVtYmVyT2ZC
dXNlcyAgICAgICAgICAgICAgID0gMTsKICAgICBDb25maWdJbmZvLT5Jbml0aWF0b3JCdXNJZFsw
XSAgICAgICAgICAgPSAxOwpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC9kcml2ZXIuaCBiL3NyYy94
ZW52YmQvZHJpdmVyLmgKaW5kZXggNzNhNGUxMS4uYWFlM2RhMSAxMDA2NDQKLS0tIGEvc3JjL3hl
bnZiZC9kcml2ZXIuaAorKysgYi9zcmMveGVudmJkL2RyaXZlci5oCkBAIC0zNSw5ICszNSw4IEBA
CiAjaW5jbHVkZSA8bnRkZGsuaD4KIAogI2RlZmluZSBYRU5WQkRfTUFYX1RBUkdFVFMgICAgICAg
ICAgICAgICgyNTUpCi0jZGVmaW5lIFhFTlZCRF9NQVhfUEFHRVNfUEVSX1NSQiAgICAgICAgKDEw
MjQpCi0jZGVmaW5lIFhFTlZCRF9NQVhfVFJBTlNGRVJfTEVOR1RIICAgICAgKFhFTlZCRF9NQVhf
UEFHRVNfUEVSX1NSQiAqIFBBR0VfU0laRSkKLSNkZWZpbmUgWEVOVkJEX01BWF9QSFlTSUNBTF9C
UkVBS1MgICAgICAoWEVOVkJEX01BWF9QQUdFU19QRVJfU1JCIC0gMSkKKyNkZWZpbmUgWEVOVkJE
X01BWF9UUkFOU0ZFUl9MRU5HVEggICAgICAoKDE2ICogMTEpICogUEFHRV9TSVpFKSAvLyAxLzIg
cmluZyBvZiBkaXJlY3QgKG9yIDEgaW5kaXJlY3QpCisjZGVmaW5lIFhFTlZCRF9NQVhfUEhZU0lD
QUxfQlJFQUtTICAgICAgKCgxNiAqIDExKSAtIDEpICAgICAgICAgLy8gMS8yIHJpbmcgb2YgZGly
ZWN0IChvciAxIGluZGlyZWN0KQogCiBleHRlcm4gVk9JRAogRHJpdmVyU2V0QWRhcHRlcigKLS0g
CjIuOC4zCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
d2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8v
d2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Mon May 15 13:17:06 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 15 May 2017 13:17: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 1dAFs2-00080W-CJ; Mon, 15 May 2017 13:17:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=301e7c014=owen.smith@citrix.com>)
 id 1dAFs1-00080K-Nq
 for win-pv-devel@lists.xenproject.org; Mon, 15 May 2017 13:17:05 +0000
Received: from [85.158.137.68] by server-13.bemta-3.messagelabs.com id
 1B/73-17076-05AA9195; Mon, 15 May 2017 13:17:04 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpikeJIrShJLcpLzFFi42JxWrohUjdglWS
 kwZ43YhZ/Fic6MHoc/nCFJYAxijUzLym/IoE148rv8IJPahXfzn5ibmA8Id3FyMkhIeAvMWXp
 PWYQm01AVuLjys9gtoiAusS+z1uZQGxmATWJ6/u7WEFsYQE7iTtHP4HFWQRUJb7dvggW5xWwl
 ri/6h4jxEw5icmLL4HZnEDxF29+gtlCAlYSG380M0PYShLfFr9ghugVlDg58wkLxC4JiYMvXj
 BPYOSdhSQ1C0lqASPTKkb14tSistQiXRO9pKLM9IyS3MTMHF1DA2O93NTi4sT01JzEpGK95Pz
 cTYzAsGEAgh2MjV+cDjFKcjApifK6vhSPFOJLyk+pzEgszogvKs1JLT7EKMPBoSTBa7RSMlJI
 sCg1PbUiLTMHGMAwaQkOHiUR3u0rgNK8xQWJucWZ6RCpU4yKUuK8UiB9AiCJjNI8uDZY1Fxil
 JUS5mUEOkSIpyC1KDezBFX+FaM4B6OSMO8HkPE8mXklcNNfAS1mAlocBnIzb3FJIkJKqoFRsU
 EqwV1emzfl7t3Z+zo/2AQv6879saNqwtSiTZ2vZZ8GvHzCGLrUK+/99MikafVcbketjruE5d5
 abVaxx4dZ6PPfO7IV2jcq08Uqd9xXiHHeuPi0nv2V6LS63/krVeQ1m5TmTTDJq56hzv5W7VKi
 i3rr+qTUuc1i4UknOg41rHlfeExIvEOJpTgj0VCLuag4EQANJiSylQIAAA==
X-Env-Sender: prvs=301e7c014=owen.smith@citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1494854218!61881490!2
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 56416 invoked from network); 15 May 2017 13:17:04 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
 by server-6.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
 15 May 2017 13:17:04 -0000
X-IronPort-AV: E=Sophos;i="5.38,345,1491264000"; d="scan'208";a="423743322"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 15 May 2017 14:04:26 +0100
Message-ID: <20170515130429.20580-24-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20170515130429.20580-1-owen.smith@citrix.com>
References: <20170515130429.20580-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 23/26] Track Queued/Submitted/Completed counts
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/cgi-bin/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/cgi-bin/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>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKLS0tCiBzcmMveGVudmJk
L2FkYXB0ZXIuYyAgIHwgMzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogc3JjL3hl
bnZiZC9ibG9ja3JpbmcuYyB8IDMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQog
MiBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL3NyYy94ZW52YmQvYWRhcHRlci5jIGIvc3JjL3hlbnZiZC9hZGFwdGVyLmMKaW5kZXgg
OTQ1ODg4ZC4uYjBhOTRlMiAxMDA2NDQKLS0tIGEvc3JjL3hlbnZiZC9hZGFwdGVyLmMKKysrIGIv
c3JjL3hlbnZiZC9hZGFwdGVyLmMKQEAgLTE4NTMsNyArMTg1MywzNiBAQCBBZGFwdGVySHdJbml0
aWFsaXplKAogICAgIElOICBQVk9JRCAgIERldkV4dAogICAgICkKIHsKLSAgICBVTlJFRkVSRU5D
RURfUEFSQU1FVEVSKERldkV4dCk7CisgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgc3RhdHVz
OworICAgIFBFUkZfQ09ORklHVVJBVElPTl9EQVRBIFBlcmY7CisKKyAgICBSdGxaZXJvTWVtb3J5
KCZQZXJmLCBzaXplb2YoUEVSRl9DT05GSUdVUkFUSU9OX0RBVEEpKTsKKyAgICBQZXJmLlZlcnNp
b24gPSBTVE9SX1BFUkZfVkVSU0lPTjsKKyAgICBQZXJmLlNpemUgID0gc2l6ZW9mKFBFUkZfQ09O
RklHVVJBVElPTl9EQVRBKTsKKworICAgIHN0YXR1cyA9IFN0b3JQb3J0SW5pdGlhbGl6ZVBlcmZP
cHRzKERldkV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVF
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZQZXJmKTsKKyAgICBp
ZiAoc3RhdHVzICE9IFNUT1JfU1RBVFVTX1NVQ0NFU1MpCisgICAgICAgIHJldHVybiBUUlVFOwor
CisgICAgVmVyYm9zZSgiUGVyZjogJXMlcyVzJXMlcyVzXG4iLAorICAgICAgICAgICAgUGVyZi5G
bGFncyAmIFNUT1JfUEVSRl9EUENfUkVESVJFQ1RJT04gPyAiRFBDX1JFRElSRUNUICIgOiAiIiwK
KyAgICAgICAgICAgIFBlcmYuRmxhZ3MgJiBTVE9SX1BFUkZfQ09OQ1VSUkVOVF9DSEFOTkVMUyA/
ICJDT05DVVJSRU5UICIgOiAiIiwKKyAgICAgICAgICAgIFBlcmYuRmxhZ3MgJiBTVE9SX1BFUkZf
SU5URVJSVVBUX01FU1NBR0VfUkFOR0VTID8gIk1TR19SQU5HRVMgIiA6ICIiLAorICAgICAgICAg
ICAgUGVyZi5GbGFncyAmIFNUT1JfUEVSRl9BRFZfQ09ORklHX0xPQ0FMSVRZID8gIkxPQ0FMSVRZ
ICIgOiAiIiwKKyAgICAgICAgICAgIFBlcmYuRmxhZ3MgJiBTVE9SX1BFUkZfT1BUSU1JWkVfRk9S
X0NPTVBMRVRJT05fRFVSSU5HX1NUQVJUSU8gPyAiU1RBUlRJTyAiIDogIiIsCisgICAgICAgICAg
ICBQZXJmLkZsYWdzICYgU1RPUl9QRVJGX0RQQ19SRURJUkVDVElPTl9DVVJSRU5UX0NQVSA/ICJD
VVJSRU5UX0NQVSAiIDogIiIpOworICAgIFZlcmJvc2UoIlBlcmY6ICV1IENoYW5uZWxzXG4iLAor
ICAgICAgICAgICAgUGVyZi5Db25jdXJyZW50Q2hhbm5lbHMpOworCisgICAgaWYgKFBlcmYuRmxh
Z3MgJiBTVE9SX1BFUkZfQ09OQ1VSUkVOVF9DSEFOTkVMUykKKyAgICAgICAgUGVyZi5Db25jdXJy
ZW50Q2hhbm5lbHMgPSBLZVF1ZXJ5QWN0aXZlUHJvY2Vzc29yQ291bnQoTlVMTCk7CisKKyAgICBz
dGF0dXMgPSBTdG9yUG9ydEluaXRpYWxpemVQZXJmT3B0cyhEZXZFeHQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJlBlcmYpOworCiAgICAgcmV0dXJuIFRSVUU7CiB9CiAKZGlmZiAt
LWdpdCBhL3NyYy94ZW52YmQvYmxvY2tyaW5nLmMgYi9zcmMveGVudmJkL2Jsb2NrcmluZy5jCmlu
ZGV4IGE0MWE5MTIuLjk2Y2MxMmUgMTAwNjQ0Ci0tLSBhL3NyYy94ZW52YmQvYmxvY2tyaW5nLmMK
KysrIGIvc3JjL3hlbnZiZC9ibG9ja3JpbmcuYwpAQCAtNzksNiArNzksMTAgQEAgc3RydWN0IF9Y
RU5WQkRfQkxPQ0tSSU5HIHsKICAgICBVTE9ORyAgICAgICAgICAgICAgICAgICBOclF1ZXVlZDsK
ICAgICBVTE9ORyAgICAgICAgICAgICAgICAgICBOclN1Ym1pdHRlZDsKICAgICBVTE9ORyAgICAg
ICAgICAgICAgICAgICBOckNvbXBsZXRlZDsKKyAgICBVTE9ORyAgICAgICAgICAgICAgICAgICBD
dXJRdWV1ZWQ7CisgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgQ3VyU3VibWl0dGVkOworICAg
IFVMT05HICAgICAgICAgICAgICAgICAgIE1heFF1ZXVlZDsKKyAgICBVTE9ORyAgICAgICAgICAg
ICAgICAgICBNYXhTdWJtaXR0ZWQ7CiAgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgTnJJbnRl
cnJ1cHRzOwogICAgIFVMT05HICAgICAgICAgICAgICAgICAgIE5yRHBjczsKIH07CkBAIC0yNjUs
NyArMjY5LDExIEBAIEJsb2NrUmluZ1Bvc3RSZXF1ZXN0KAogCiAgICAgcmVxID0gUklOR19HRVRf
UkVRVUVTVCgmQmxvY2tSaW5nLT5Gcm9udCwgQmxvY2tSaW5nLT5Gcm9udC5yZXFfcHJvZF9wdnQp
OwogICAgICsrQmxvY2tSaW5nLT5Gcm9udC5yZXFfcHJvZF9wdnQ7CisgICAgLS1CbG9ja1Jpbmct
PkN1clF1ZXVlZDsKICAgICArK0Jsb2NrUmluZy0+TnJTdWJtaXR0ZWQ7CisgICAgKytCbG9ja1Jp
bmctPkN1clN1Ym1pdHRlZDsKKyAgICBpZiAoQmxvY2tSaW5nLT5DdXJTdWJtaXR0ZWQgPiBCbG9j
a1JpbmctPk1heFN1Ym1pdHRlZCkKKyAgICAgICAgQmxvY2tSaW5nLT5NYXhTdWJtaXR0ZWQgPSBC
bG9ja1JpbmctPkN1clN1Ym1pdHRlZDsKICAgICBJbnNlcnRUYWlsTGlzdCgmQmxvY2tSaW5nLT5T
dWJtaXR0ZWQsICZSZXF1ZXN0LT5MaXN0RW50cnkpOwogCiAgICAgQmxvY2tSaW5nSW5zZXJ0KEJs
b2NrUmluZywgUmVxdWVzdCwgcmVxKTsKQEAgLTM1NSw2ICszNjMsNyBAQCBCbG9ja1JpbmdQb2xs
KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByc3AtPnN0YXR1cyk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICArK0Jsb2NrUmluZy0+TnJDb21wbGV0ZWQ7CisgICAg
ICAgICAgICAtLUJsb2NrUmluZy0+Q3VyU3VibWl0dGVkOwogCiAgICAgICAgICAgICAvLyB6ZXJv
IGVudGlyZSByaW5nIHNsb3QgKHRvIGRldGVjdCBmdXJ0aGVyIGZhaWx1cmVzKQogICAgICAgICAg
ICAgUnRsWmVyb01lbW9yeShyc3AsIHNpemVvZih1bmlvbiBibGtpZl9zcmluZ19lbnRyeSkpOwpA
QCAtMzkwLDcgKzM5OSw3IEBAIGRvbmU6CiAKICAgICBLZVJlbGVhc2VTcGluTG9ja0Zyb21EcGNM
ZXZlbCgmQmxvY2tSaW5nLT5Mb2NrKTsKIH0KLQorIAogS1NFUlZJQ0VfUk9VVElORSBCbG9ja1Jp
bmdJbnRlcnJ1cHQ7CiAKIEJPT0xFQU4KQEAgLTQ5Myw2ICs1MDIsMTQgQEAgQmxvY2tSaW5nRGVi
dWdDYWxsYmFjaygKICAgICAgICAgICAgICAgICAgQmxvY2tSaW5nLT5OclN1Ym1pdHRlZCwKICAg
ICAgICAgICAgICAgICAgQmxvY2tSaW5nLT5OckNvbXBsZXRlZCk7CiAKKyAgICBYRU5CVVNfREVC
VUcoUHJpbnRmLAorICAgICAgICAgICAgICAgICAmQmxvY2tSaW5nLT5EZWJ1Z0ludGVyZmFjZSwK
KyAgICAgICAgICAgICAgICAgIlF1ZXVlZDogJXUgLyAldSwgU3VibWl0dGVkOiAldSAvICV1XG4i
LAorICAgICAgICAgICAgICAgICBCbG9ja1JpbmctPkN1clF1ZXVlZCwKKyAgICAgICAgICAgICAg
ICAgQmxvY2tSaW5nLT5NYXhRdWV1ZWQsCisgICAgICAgICAgICAgICAgIEJsb2NrUmluZy0+Q3Vy
U3VibWl0dGVkLAorICAgICAgICAgICAgICAgICBCbG9ja1JpbmctPk1heFN1Ym1pdHRlZCk7CisK
ICAgICBQb3J0ID0gWEVOQlVTX0VWVENITihHZXRQb3J0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICZCbG9ja1JpbmctPkV2dGNobkludGVyZmFjZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICBCbG9ja1JpbmctPkNoYW5uZWwpOwpAQCAtODQ3LDkgKzg2NCwyMCBAQCBCbG9ja1JpbmdEaXNj
b25uZWN0KAogICAgIFhFTkJVU19TVE9SRShSZWxlYXNlLCAmQmxvY2tSaW5nLT5TdG9yZUludGVy
ZmFjZSk7CiAgICAgUnRsWmVyb01lbW9yeSgmQmxvY2tSaW5nLT5TdG9yZUludGVyZmFjZSwgc2l6
ZW9mKFhFTkJVU19TVE9SRV9JTlRFUkZBQ0UpKTsKIAorICAgIFZlcmJvc2UoIlF1ZXVlZDogJXUg
LyAldSwgU3VibWl0dGVkICV1IC8gJXUsIENvbXBsZXRlZDogJXVcbiIsCisgICAgICAgICAgICBC
bG9ja1JpbmctPk5yUXVldWVkLAorICAgICAgICAgICAgQmxvY2tSaW5nLT5NYXhRdWV1ZWQsCisg
ICAgICAgICAgICBCbG9ja1JpbmctPk5yU3VibWl0dGVkLAorICAgICAgICAgICAgQmxvY2tSaW5n
LT5NYXhTdWJtaXR0ZWQsCisgICAgICAgICAgICBCbG9ja1JpbmctPk5yQ29tcGxldGVkKTsKKwog
ICAgIEJsb2NrUmluZy0+TnJRdWV1ZWQgPSAwOwogICAgIEJsb2NrUmluZy0+TnJTdWJtaXR0ZWQg
PSAwOwogICAgIEJsb2NrUmluZy0+TnJDb21wbGV0ZWQgPSAwOworICAgIEJsb2NrUmluZy0+Q3Vy
UXVldWVkID0gMDsKKyAgICBCbG9ja1JpbmctPkN1clN1Ym1pdHRlZCA9IDA7CisgICAgQmxvY2tS
aW5nLT5NYXhRdWV1ZWQgPSAwOworICAgIEJsb2NrUmluZy0+TWF4U3VibWl0dGVkID0gMDsKICAg
ICBCbG9ja1JpbmctPk5ySW50ZXJydXB0cyA9IDA7CiAgICAgQmxvY2tSaW5nLT5OckRwY3MgPSAw
OwogCkBAIC04NzMsNyArOTAxLDEwIEBAIEJsb2NrUmluZ1N1Ym1pdCgKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBJbnNlcnRUYWlsTGlzdCgmQmxvY2tSaW5nLT5RdWV1ZWQsIExpc3RFbnRy
eSk7CiAgICAgICAgICsrQmxvY2tSaW5nLT5OclF1ZXVlZDsKKyAgICAgICAgKytCbG9ja1Jpbmct
PkN1clF1ZXVlZDsKICAgICB9CisgICAgaWYgKEJsb2NrUmluZy0+Q3VyUXVldWVkID4gQmxvY2tS
aW5nLT5NYXhRdWV1ZWQpCisgICAgICAgIEJsb2NrUmluZy0+TWF4UXVldWVkID0gQmxvY2tSaW5n
LT5DdXJRdWV1ZWQ7CiAKICAgICBLZVJlbGVhc2VTcGluTG9jaygmQmxvY2tSaW5nLT5Mb2NrLCBJ
cnFsKTsKIAotLSAKMi44LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2NnaS1iaW4vbWFpbG1h
bi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Mon May 15 13:17:09 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 15 May 2017 13:17: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 1dAFs5-00081Y-EH; Mon, 15 May 2017 13:17:09 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=301e7c014=owen.smith@citrix.com>)
 id 1dAFs4-00081B-0L
 for win-pv-devel@lists.xenproject.org; Mon, 15 May 2017 13:17:08 +0000
Received: from [85.158.143.35] by server-10.bemta-6.messagelabs.com id
 B8/65-03613-35AA9195; Mon, 15 May 2017 13:17:07 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpmkeJIrShJLcpLzFFi42JxWrrBXjdolWS
 kwY75qhZ/Fic6MHoc/nCFJYAxijUzLym/IoE148mVK0wFm8srHlx4xtLA+Muvi5GTQ0LAX2Lx
 lV9sIDabgKzEx5WfmUFsEQF1iX2ftzKB2MwCahLX93exgtjCAq4Sl85OZQSxWQRUJb4cvAoW5
 xWwlpjw/j4bxEw5icmLL4HVcALFX7z5CWYLCVhJbPzRzAxhK0l8W/yCGaJXUOLkzCcsELskJA
 6+eME8gZF3FpLULCSpBYxMqxjVi1OLylKLdC30kooy0zNKchMzc3QNDcz0clOLixPTU3MSk4r
 1kvNzNzECA4cBCHYwzr7sf4hRkoNJSZTX9aV4pBBfUn5KZUZicUZ8UWlOavEhRhkODiUJXqOV
 kpFCgkWp6akVaZk5wBCGSUtw8CiJ8G5fAZTmLS5IzC3OTIdInWJUlBLn7QLpEwBJZJTmwbXB4
 uYSo6yUMC8j0CFCPAWpRbmZJajyrxjFORiVhHmzQKbwZOaVwE1/BbSYCWhxGMjNvMUliQgpqQ
 ZGARu9pzIVmwKDL1wLb4rXOL7x7PYPTrJnKvzU/ab7JobWBWfLzJx34OezrKw1x2Un/G/aKrh
 K93ibqnGLpYqspHPkg9qwX0wNz2ZeT//vdO1k3sVH6wPXn+f6vz/U83NMkdalwPrQepkvJ74l
 tvQpHftzlUvORGSTxGt1Lvc/TSFXO97c+RqmxFKckWioxVxUnAgAD83ZD5YCAAA=
X-Env-Sender: prvs=301e7c014=owen.smith@citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1494854224!65174926!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 64836 invoked from network); 15 May 2017 13:17:05 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
 by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
 15 May 2017 13:17:05 -0000
X-IronPort-AV: E=Sophos;i="5.38,345,1491264000"; d="scan'208";a="432396880"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 15 May 2017 14:04:17 +0100
Message-ID: <20170515130429.20580-15-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20170515130429.20580-1-owen.smith@citrix.com>
References: <20170515130429.20580-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 14/26] Use CACHE interface instead of
	lookaside lists
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/cgi-bin/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/cgi-bin/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
T3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW52YmQvdGFyZ2V0
LmMgfCAzMjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t
LS0tLQogMSBmaWxlIGNoYW5nZWQsIDI2OSBpbnNlcnRpb25zKCspLCA1NyBkZWxldGlvbnMoLSkK
CmRpZmYgLS1naXQgYS9zcmMveGVudmJkL3RhcmdldC5jIGIvc3JjL3hlbnZiZC90YXJnZXQuYwpp
bmRleCBkMjQyZDk2Li5jZDNiNzM2IDEwMDY0NAotLS0gYS9zcmMveGVudmJkL3RhcmdldC5jCisr
KyBiL3NyYy94ZW52YmQvdGFyZ2V0LmMKQEAgLTc4LDYgKzc4LDcgQEAgc3RydWN0IF9YRU5WQkRf
VEFSR0VUIHsKICAgICBYRU5WQkRfU1RBVEUgICAgICAgICAgICAgICAgU3RhdGU7CiAgICAgS1NQ
SU5fTE9DSyAgICAgICAgICAgICAgICAgIFN0YXRlTG9jazsKICAgICBLU1BJTl9MT0NLICAgICAg
ICAgICAgICAgICAgUXVldWVMb2NrOworICAgIEtTUElOX0xPQ0sgICAgICAgICAgICAgICAgICBD
YWNoZUxvY2s7CiAgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgIE1pc3Npbmc7CiAgICAg
UFhFTlZCRF9HUkFOVEVSICAgICAgICAgICAgIEdyYW50ZXI7CiAgICAgUFhFTlZCRF9CTE9DS1JJ
TkcgICAgICAgICAgIEJsb2NrUmluZzsKQEAgLTEwNiw2ICsxMDcsNyBAQCBzdHJ1Y3QgX1hFTlZC
RF9UQVJHRVQgewogICAgIFhFTkJVU19ERUJVR19JTlRFUkZBQ0UgICAgICBEZWJ1Z0ludGVyZmFj
ZTsKICAgICBYRU5CVVNfU1VTUEVORF9JTlRFUkZBQ0UgICAgU3VzcGVuZEludGVyZmFjZTsKICAg
ICBYRU5CVVNfU1RPUkVfSU5URVJGQUNFICAgICAgU3RvcmVJbnRlcmZhY2U7CisgICAgWEVOQlVT
X0NBQ0hFX0lOVEVSRkFDRSAgICAgIENhY2hlSW50ZXJmYWNlOwogCiAgICAgUFhFTkJVU19ERUJV
R19DQUxMQkFDSyAgICAgIERlYnVnQ2FsbGJhY2s7CiAgICAgUFhFTkJVU19TVVNQRU5EX0NBTExC
QUNLICAgIFN1c3BlbmRDYWxsYmFjazsKQEAgLTExNyw5ICsxMTksOSBAQCBzdHJ1Y3QgX1hFTlZC
RF9UQVJHRVQgewogICAgIExJU1RfRU5UUlkgICAgICAgICAgICAgICAgICBTdWJtaXR0ZWQ7CiAg
ICAgTElTVF9FTlRSWSAgICAgICAgICAgICAgICAgIFNodXRkb3duOwogCi0gICAgTlBBR0VEX0xP
T0tBU0lERV9MSVNUICAgICAgIFJlcXVlc3RMaXN0OwotICAgIE5QQUdFRF9MT09LQVNJREVfTElT
VCAgICAgICBTZWdtZW50TGlzdDsKLSAgICBOUEFHRURfTE9PS0FTSURFX0xJU1QgICAgICAgSW5k
aXJlY3RMaXN0OworICAgIFBYRU5CVVNfQ0FDSEUgICAgICAgICAgICAgICBSZXF1ZXN0Q2FjaGU7
CisgICAgUFhFTkJVU19DQUNIRSAgICAgICAgICAgICAgIFNlZ21lbnRDYWNoZTsKKyAgICBQWEVO
QlVTX0NBQ0hFICAgICAgICAgICAgICAgSW5kaXJlY3RDYWNoZTsKIH07CiAKIHN0YXRpYyBGT1JD
RUlOTElORSBQVk9JRApAQCAtMjM1LDYgKzIzNywxMDggQEAgVGFyZ2V0U2V0TWlzc2luZygKICAg
ICBUYXJnZXQtPk1pc3NpbmcgPSBUUlVFOwogfQogCitzdGF0aWMgVk9JRAorVGFyZ2V0QWNxdWly
ZUxvY2soCisgICAgSU4gIFBWT0lEICAgICAgIEFyZ3VtZW50CisgICAgKQoreworICAgIFBYRU5W
QkRfVEFSR0VUICBUYXJnZXQgPSBBcmd1bWVudDsKKworICAgIEtlQWNxdWlyZVNwaW5Mb2NrQXRE
cGNMZXZlbCgmVGFyZ2V0LT5DYWNoZUxvY2spOworfQorCitzdGF0aWMgVk9JRAorVGFyZ2V0UmVs
ZWFzZUxvY2soCisgICAgSU4gIFBWT0lEICAgICAgIEFyZ3VtZW50CisgICAgKQoreworICAgIFBY
RU5WQkRfVEFSR0VUICBUYXJnZXQgPSBBcmd1bWVudDsKKworI3ByYWdtYSB3YXJuaW5nKHN1cHBy
ZXNzOjI2MTEwKQorICAgIEtlUmVsZWFzZVNwaW5Mb2NrRnJvbURwY0xldmVsKCZUYXJnZXQtPkNh
Y2hlTG9jayk7Cit9CisKK3N0YXRpYyBOVFNUQVRVUworVGFyZ2V0UmVxdWVzdEN0b3IoCisgICAg
SU4gIFBWT0lEICAgICAgIEFyZ3VtZW50LAorICAgIElOICBQVk9JRCAgICAgICBPYmplY3QKKyAg
ICApCit7CisgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihBcmd1bWVudCk7CisgICAgVU5SRUZF
UkVOQ0VEX1BBUkFNRVRFUihPYmplY3QpOworICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKK30K
Kworc3RhdGljIFZPSUQKK1RhcmdldFJlcXVlc3REdG9yKAorICAgIElOICBQVk9JRCAgICAgICBB
cmd1bWVudCwKKyAgICBJTiAgUFZPSUQgICAgICAgT2JqZWN0CisgICAgKQoreworICAgIFVOUkVG
RVJFTkNFRF9QQVJBTUVURVIoQXJndW1lbnQpOworICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIo
T2JqZWN0KTsKK30KKworc3RhdGljIE5UU1RBVFVTCitUYXJnZXRTZWdtZW50Q3RvcigKKyAgICBJ
TiAgUFZPSUQgICAgICAgQXJndW1lbnQsCisgICAgSU4gIFBWT0lEICAgICAgIE9iamVjdAorICAg
ICkKK3sKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVSKEFyZ3VtZW50KTsKKyAgICBVTlJFRkVS
RU5DRURfUEFSQU1FVEVSKE9iamVjdCk7CisgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOworfQor
CitzdGF0aWMgVk9JRAorVGFyZ2V0U2VnbWVudER0b3IoCisgICAgSU4gIFBWT0lEICAgICAgIEFy
Z3VtZW50LAorICAgIElOICBQVk9JRCAgICAgICBPYmplY3QKKyAgICApCit7CisgICAgVU5SRUZF
UkVOQ0VEX1BBUkFNRVRFUihBcmd1bWVudCk7CisgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihP
YmplY3QpOworfQorCitzdGF0aWMgTlRTVEFUVVMKK1RhcmdldEluZGlyZWN0Q3RvcigKKyAgICBJ
TiAgUFZPSUQgICAgICAgICAgIEFyZ3VtZW50LAorICAgIElOICBQVk9JRCAgICAgICAgICAgT2Jq
ZWN0CisgICAgKQoreworICAgIFBYRU5WQkRfSU5ESVJFQ1QgICAgSW5kaXJlY3QgPSBPYmplY3Q7
CisgICAgTlRTVEFUVVMgICAgICAgICAgICBzdGF0dXM7CisKKyAgICBVTlJFRkVSRU5DRURfUEFS
QU1FVEVSKEFyZ3VtZW50KTsKKworICAgIHN0YXR1cyA9IFNUQVRVU19OT19NRU1PUlk7CisgICAg
SW5kaXJlY3QtPk1kbCA9IF9fQWxsb2NhdGVQYWdlKCk7CisgICAgaWYgKEluZGlyZWN0LT5NZGwg
PT0gTlVMTCkKKyAgICAgICAgZ290byBmYWlsMTsKKworICAgIEluZGlyZWN0LT5QYWdlID0gTW1H
ZXRTeXN0ZW1BZGRyZXNzRm9yTWRsU2FmZShJbmRpcmVjdC0+TWRsLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3JtYWxQYWdlUHJpb3JpdHkpOwor
ICAgIEFTU0VSVChJbmRpcmVjdC0+UGFnZSAhPSBOVUxMKTsKKworICAgIHJldHVybiBTVEFUVVNf
U1VDQ0VTUzsKKworZmFpbDE6CisgICAgcmV0dXJuIHN0YXR1czsKK30KKworc3RhdGljIFZPSUQK
K1RhcmdldEluZGlyZWN0RHRvcigKKyAgICBJTiAgUFZPSUQgICAgICAgICAgIEFyZ3VtZW50LAor
ICAgIElOICBQVk9JRCAgICAgICAgICAgT2JqZWN0CisgICAgKQoreworICAgIFBYRU5WQkRfSU5E
SVJFQ1QgICAgSW5kaXJlY3QgPSBPYmplY3Q7CisKKyAgICBVTlJFRkVSRU5DRURfUEFSQU1FVEVS
KEFyZ3VtZW50KTsKKworICAgIF9fRnJlZVBhZ2UoSW5kaXJlY3QtPk1kbCk7Cit9CisKIHN0YXRp
YyBQWEVOVkJEX0lORElSRUNUCiBUYXJnZXRHZXRJbmRpcmVjdCgKICAgICBJTiAgUFhFTlZCRF9U
QVJHRVQgIFRhcmdldApAQCAtMjQzLDM1ICszNDcsMzAgQEAgVGFyZ2V0R2V0SW5kaXJlY3QoCiAg
ICAgUFhFTlZCRF9JTkRJUkVDVCAgICBJbmRpcmVjdDsKICAgICBOVFNUQVRVUyAgICAgICAgICAg
IHN0YXR1czsKIAotICAgIEluZGlyZWN0ID0gRXhBbGxvY2F0ZUZyb21OUGFnZWRMb29rYXNpZGVM
aXN0KCZUYXJnZXQtPkluZGlyZWN0TGlzdCk7CisgICAgSW5kaXJlY3QgPSBYRU5CVVNfQ0FDSEUo
R2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICZUYXJnZXQtPkNhY2hlSW50ZXJmYWNl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldC0+SW5kaXJlY3RDYWNoZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSk7CiAgICAgaWYgKEluZGlyZWN0ID09IE5V
TEwpCiAgICAgICAgIGdvdG8gZmFpbDE7CiAKLSAgICBSdGxaZXJvTWVtb3J5KEluZGlyZWN0LCBz
aXplb2YoWEVOVkJEX0lORElSRUNUKSk7Ci0KICAgICBJbml0aWFsaXplTGlzdEhlYWQoJkluZGly
ZWN0LT5MaXN0RW50cnkpOwotICAgIEluZGlyZWN0LT5NZGwgPSBfX0FsbG9jYXRlUGFnZSgpOwot
ICAgIGlmIChJbmRpcmVjdC0+TWRsID09IE5VTEwpCi0gICAgICAgIGdvdG8gZmFpbDI7Ci0KLSAg
ICBJbmRpcmVjdC0+UGFnZSA9IE1tR2V0U3lzdGVtQWRkcmVzc0Zvck1kbFNhZmUoSW5kaXJlY3Qt
Pk1kbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Tm9ybWFsUGFnZVByaW9yaXR5KTsKLSAgICBBU1NFUlQoSW5kaXJlY3QtPlBhZ2UgIT0gTlVMTCk7
CiAKICAgICBzdGF0dXMgPSBHcmFudGVyR2V0KFRhcmdldC0+R3JhbnRlciwKICAgICAgICAgICAg
ICAgICAgICAgICAgIE1tR2V0TWRsUGZuQXJyYXkoSW5kaXJlY3QtPk1kbClbMF0sCiAgICAgICAg
ICAgICAgICAgICAgICAgICBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgICAgJkluZGlyZWN0
LT5HcmFudCk7CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFp
bDM7CisgICAgICAgIGdvdG8gZmFpbDI7CiAKICAgICByZXR1cm4gSW5kaXJlY3Q7CiAKLWZhaWwz
OgotICAgIF9fRnJlZVBhZ2UoSW5kaXJlY3QtPk1kbCk7CiBmYWlsMjoKLSAgICBSdGxaZXJvTWVt
b3J5KEluZGlyZWN0LCBzaXplb2YoWEVOVkJEX0lORElSRUNUKSk7Ci0gICAgRXhGcmVlVG9OUGFn
ZWRMb29rYXNpZGVMaXN0KCZUYXJnZXQtPkluZGlyZWN0TGlzdCwgSW5kaXJlY3QpOworICAgIFhF
TkJVU19DQUNIRShQdXQsCisgICAgICAgICAgICAgICAgICZUYXJnZXQtPkNhY2hlSW50ZXJmYWNl
LAorICAgICAgICAgICAgICAgICBUYXJnZXQtPkluZGlyZWN0Q2FjaGUsCisgICAgICAgICAgICAg
ICAgIEluZGlyZWN0LAorICAgICAgICAgICAgICAgICBGQUxTRSk7CiBmYWlsMToKICAgICByZXR1
cm4gTlVMTDsKIH0KQEAgLTI4NCwxMiArMzgzLDEzIEBAIFRhcmdldFB1dEluZGlyZWN0KAogewog
ICAgIGlmIChJbmRpcmVjdC0+R3JhbnQpCiAgICAgICAgIEdyYW50ZXJQdXQoVGFyZ2V0LT5HcmFu
dGVyLCBJbmRpcmVjdC0+R3JhbnQpOworICAgIEluZGlyZWN0LT5HcmFudCA9IE5VTEw7CiAKLSAg
ICBpZiAoSW5kaXJlY3QtPlBhZ2UpCi0gICAgICAgIF9fRnJlZVBhZ2UoSW5kaXJlY3QtPk1kbCk7
Ci0KLSAgICBSdGxaZXJvTWVtb3J5KEluZGlyZWN0LCBzaXplb2YoWEVOVkJEX0lORElSRUNUKSk7
Ci0gICAgRXhGcmVlVG9OUGFnZWRMb29rYXNpZGVMaXN0KCZUYXJnZXQtPkluZGlyZWN0TGlzdCwg
SW5kaXJlY3QpOworICAgIFhFTkJVU19DQUNIRShQdXQsCisgICAgICAgICAgICAgICAgICZUYXJn
ZXQtPkNhY2hlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICBUYXJnZXQtPkluZGlyZWN0Q2Fj
aGUsCisgICAgICAgICAgICAgICAgIEluZGlyZWN0LAorICAgICAgICAgICAgICAgICBGQUxTRSk7
CiB9CiAKIHN0YXRpYyBQWEVOVkJEX1NFR01FTlQKQEAgLTI5OSwxMiArMzk5LDE0IEBAIFRhcmdl
dEdldFNlZ21lbnQoCiB7CiAgICAgUFhFTlZCRF9TRUdNRU5UICAgICBTZWdtZW50OwogCi0gICAg
U2VnbWVudCA9IEV4QWxsb2NhdGVGcm9tTlBhZ2VkTG9va2FzaWRlTGlzdCgmVGFyZ2V0LT5TZWdt
ZW50TGlzdCk7CisgICAgU2VnbWVudCA9IFhFTkJVU19DQUNIRShHZXQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmVGFyZ2V0LT5DYWNoZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFRhcmdldC0+U2VnbWVudENhY2hlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRkFMU0UpOwogICAgIGlmIChTZWdtZW50ID09IE5VTEwpCiAgICAgICAgIGdvdG8gZmFpbDE7
CiAKICAgICBSdGxaZXJvTWVtb3J5KFNlZ21lbnQsIHNpemVvZihYRU5WQkRfU0VHTUVOVCkpOwot
CiAgICAgSW5pdGlhbGl6ZUxpc3RIZWFkKCZTZWdtZW50LT5MaXN0RW50cnkpOwogCiAgICAgcmV0
dXJuIFNlZ21lbnQ7CkBAIC0zMjksNyArNDMxLDExIEBAIFRhcmdldFB1dFNlZ21lbnQoCiAgICAg
ICAgIEJ1ZmZlclB1dChTZWdtZW50LT5CdWZmZXJJZCk7CiAKICAgICBSdGxaZXJvTWVtb3J5KFNl
Z21lbnQsIHNpemVvZihYRU5WQkRfU0VHTUVOVCkpOwotICAgIEV4RnJlZVRvTlBhZ2VkTG9va2Fz
aWRlTGlzdCgmVGFyZ2V0LT5TZWdtZW50TGlzdCwgU2VnbWVudCk7CisgICAgWEVOQlVTX0NBQ0hF
KFB1dCwKKyAgICAgICAgICAgICAgICAgJlRhcmdldC0+Q2FjaGVJbnRlcmZhY2UsCisgICAgICAg
ICAgICAgICAgIFRhcmdldC0+U2VnbWVudENhY2hlLAorICAgICAgICAgICAgICAgICBTZWdtZW50
LAorICAgICAgICAgICAgICAgICBGQUxTRSk7CiB9CiAKIHN0YXRpYyBQWEVOVkJEX1JFUVVFU1QK
QEAgLTMzOSw3ICs0NDUsMTAgQEAgVGFyZ2V0R2V0UmVxdWVzdCgKIHsKICAgICBQWEVOVkJEX1JF
UVVFU1QgICAgIFJlcXVlc3Q7CiAKLSAgICBSZXF1ZXN0ID0gRXhBbGxvY2F0ZUZyb21OUGFnZWRM
b29rYXNpZGVMaXN0KCZUYXJnZXQtPlJlcXVlc3RMaXN0KTsKKyAgICBSZXF1ZXN0ID0gWEVOQlVT
X0NBQ0hFKEdldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZUYXJnZXQtPkNhY2hlSW50
ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0LT5SZXF1ZXN0Q2FjaGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSk7CiAgICAgaWYgKFJlcXVlc3QgPT0g
TlVMTCkKICAgICAgICAgZ290byBmYWlsMTsKIApAQCAtMzg2LDcgKzQ5NSwxMSBAQCBUYXJnZXRQ
dXRSZXF1ZXN0KAogICAgIH0KIAogICAgIFJ0bFplcm9NZW1vcnkoUmVxdWVzdCwgc2l6ZW9mKFhF
TlZCRF9SRVFVRVNUKSk7Ci0gICAgRXhGcmVlVG9OUGFnZWRMb29rYXNpZGVMaXN0KCZUYXJnZXQt
PlJlcXVlc3RMaXN0LCBSZXF1ZXN0KTsKKyAgICBYRU5CVVNfQ0FDSEUoUHV0LAorICAgICAgICAg
ICAgICAgICAmVGFyZ2V0LT5DYWNoZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgVGFyZ2V0
LT5SZXF1ZXN0Q2FjaGUsCisgICAgICAgICAgICAgICAgIFJlcXVlc3QsCisgICAgICAgICAgICAg
ICAgIEZBTFNFKTsKIH0KIAogc3RhdGljIEZPUkNFSU5MSU5FIFZPSUQKQEAgLTI3NjEsNiArMjg3
NCw3IEBAIFRhcmdldENyZWF0ZSgKICAgICBVTE9ORyAgICAgICAgICAgICAgIERldmljZUlkOwog
ICAgIFVMT05HICAgICAgICAgICAgICAgVGFyZ2V0SWQ7CiAgICAgVUxPTkcgICAgICAgICAgICAg
ICBTaXplOworICAgIENIQVIgICAgICAgICAgICAgICAgTmFtZVtzaXplb2YoInZiZF9YWFhYX3Jl
cSIpXTsKICAgICBOVFNUQVRVUyAgICAgICAgICAgIHN0YXR1czsKIAogICAgIERldmljZUlkID0g
c3RydG91bChEZXZpY2UtPkJ1ZmZlciwgTlVMTCwgMTApOwpAQCAtMjc4Nyw4ICsyOTAxLDEwIEBA
IFRhcmdldENyZWF0ZSgKICAgICBUYXJnZXQtPkJhY2tlbmRJZCAgICAgICA9IERPTUlEX0lOVkFM
SUQ7CiAgICAgS2VJbml0aWFsaXplU3BpbkxvY2soJlRhcmdldC0+U3RhdGVMb2NrKTsKICAgICBL
ZUluaXRpYWxpemVTcGluTG9jaygmVGFyZ2V0LT5RdWV1ZUxvY2spOworICAgIEtlSW5pdGlhbGl6
ZVNwaW5Mb2NrKCZUYXJnZXQtPkNhY2hlTG9jayk7CiAKICAgICBBZGFwdGVyR2V0RGVidWdJbnRl
cmZhY2UoQWRhcHRlciwgJlRhcmdldC0+RGVidWdJbnRlcmZhY2UpOworICAgIEFkYXB0ZXJHZXRD
YWNoZUludGVyZmFjZShBZGFwdGVyLCAmVGFyZ2V0LT5DYWNoZUludGVyZmFjZSk7CiAgICAgQWRh
cHRlckdldFN0b3JlSW50ZXJmYWNlKEFkYXB0ZXIsICZUYXJnZXQtPlN0b3JlSW50ZXJmYWNlKTsK
ICAgICBBZGFwdGVyR2V0U3VzcGVuZEludGVyZmFjZShBZGFwdGVyLCAmVGFyZ2V0LT5TdXNwZW5k
SW50ZXJmYWNlKTsKIApAQCAtMjgzNiw0MyArMjk1MiwxMjEgQEAgVGFyZ2V0Q3JlYXRlKAogICAg
IEluaXRpYWxpemVMaXN0SGVhZCgmVGFyZ2V0LT5TdWJtaXR0ZWQpOwogICAgIEluaXRpYWxpemVM
aXN0SGVhZCgmVGFyZ2V0LT5TaHV0ZG93bik7CiAKLSAgICBFeEluaXRpYWxpemVOUGFnZWRMb29r
YXNpZGVMaXN0KCZUYXJnZXQtPlJlcXVlc3RMaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5V
TEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFhFTlZCRF9SRVFVRVNUKSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFUVVFU1RfUE9PTF9UQUcsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKLSAgICBFeEluaXRpYWxpemVOUGFnZWRMb29r
YXNpZGVMaXN0KCZUYXJnZXQtPlNlZ21lbnRMaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5V
TEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFhFTlZCRF9TRUdNRU5UKSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNFR01FTlRfUE9PTF9UQUcsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKLSAgICBFeEluaXRpYWxpemVOUGFnZWRMb29r
YXNpZGVMaXN0KCZUYXJnZXQtPkluZGlyZWN0TGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO
VUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihYRU5WQkRfSU5ESVJFQ1QpLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5ESVJFQ1RfUE9PTF9UQUcsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKKyAgICBzdGF0dXMgPSBYRU5CVVNfQ0FD
SEUoQWNxdWlyZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJlRhcmdldC0+Q2FjaGVJbnRl
cmZhY2UpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWw5
OworCisgICAgc3RhdHVzID0gUnRsU3RyaW5nQ2JQcmludGZBKE5hbWUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNpemVvZihOYW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInZiZF8ldV9yZXEiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU
YXJnZXQtPlRhcmdldElkKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAg
Z290byBmYWlsMTA7CisKKyAgICBzdGF0dXMgPSBYRU5CVVNfQ0FDSEUoQ3JlYXRlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAmVGFyZ2V0LT5DYWNoZUludGVyZmFjZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFhF
TlZCRF9SRVFVRVNUKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgOCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgVGFyZ2V0UmVxdWVzdEN0b3IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIFRhcmdldFJlcXVlc3REdG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXRB
Y3F1aXJlTG9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0UmVsZWFzZUxvY2ss
CisgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgJlRhcmdldC0+UmVxdWVzdENhY2hlKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVz
KSkKKyAgICAgICAgZ290byBmYWlsMTE7CisKKyAgICBzdGF0dXMgPSBSdGxTdHJpbmdDYlByaW50
ZkEoTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKE5hbWUpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmJkXyV1X3NlZyIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFRhcmdldC0+VGFyZ2V0SWQpOworICAgIGlmICghTlRfU1VD
Q0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwxMjsKKworICAgIHN0YXR1cyA9IFhFTkJV
U19DQUNIRShDcmVhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZUYXJnZXQtPkNhY2hl
SW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBzaXplb2YoWEVOVkJEX1NFR01FTlQpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAzMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0U2VnbWVudEN0b3Is
CisgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldFNlZ21lbnREdG9yLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBUYXJnZXRBY3F1aXJlTG9jaywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgVGFyZ2V0UmVsZWFzZUxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdl
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJlRhcmdldC0+U2VnbWVudENhY2hlKTsKKyAg
ICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgZ290byBmYWlsMTM7CisKKyAgICBz
dGF0dXMgPSBSdGxTdHJpbmdDYlByaW50ZkEoTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2l6ZW9mKE5hbWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dmJkXyV1X2luZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldC0+VGFy
Z2V0SWQpOworICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBnb3RvIGZhaWwx
NDsKKworICAgIHN0YXR1cyA9IFhFTkJVU19DQUNIRShDcmVhdGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICZUYXJnZXQtPkNhY2hlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoWEVOVkJEX0lORElS
RUNUKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgVGFyZ2V0SW5kaXJlY3RDdG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJn
ZXRJbmRpcmVjdER0b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldEFjcXVpcmVM
b2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXRSZWxlYXNlTG9jaywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAm
VGFyZ2V0LT5JbmRpcmVjdENhY2hlKTsKKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAg
ICAgICAgZ290byBmYWlsMTU7CiAKICAgICBzdGF0dXMgPSBUYXJnZXREM1RvRDAoVGFyZ2V0KTsK
ICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsOTsKKyAgICAg
ICAgZ290byBmYWlsMTY7CiAKICAgICBWZXJib3NlKCJbJXVdIDw9PT09PVxuIiwgVGFyZ2V0SWQp
OwogICAgICpfVGFyZ2V0ID0gVGFyZ2V0OwogICAgIHJldHVybiBTVEFUVVNfU1VDQ0VTUzsKIAor
ZmFpbDE2OgorICAgIEVycm9yKCJmYWlsMTZcbiIpOworCisgICAgWEVOQlVTX0NBQ0hFKERlc3Ry
b3ksCisgICAgICAgICAgICAgICAgICZUYXJnZXQtPkNhY2hlSW50ZXJmYWNlLAorICAgICAgICAg
ICAgICAgICBUYXJnZXQtPkluZGlyZWN0Q2FjaGUpOworICAgIFRhcmdldC0+SW5kaXJlY3RDYWNo
ZSA9IE5VTEw7CisKK2ZhaWwxNToKKyAgICBFcnJvcigiZmFpbDE1XG4iKTsKK2ZhaWwxNDoKKyAg
ICBFcnJvcigiZmFpbDE0XG4iKTsKKworICAgIFhFTkJVU19DQUNIRShEZXN0cm95LAorICAgICAg
ICAgICAgICAgICAmVGFyZ2V0LT5DYWNoZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgVGFy
Z2V0LT5TZWdtZW50Q2FjaGUpOworICAgIFRhcmdldC0+U2VnbWVudENhY2hlID0gTlVMTDsKKwor
ZmFpbDEzOgorICAgIEVycm9yKCJmYWlsMTNcbiIpOworZmFpbDEyOgorICAgIEVycm9yKCJmYWls
MTJcbiIpOworCisgICAgWEVOQlVTX0NBQ0hFKERlc3Ryb3ksCisgICAgICAgICAgICAgICAgICZU
YXJnZXQtPkNhY2hlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICBUYXJnZXQtPlJlcXVlc3RD
YWNoZSk7CisgICAgVGFyZ2V0LT5SZXF1ZXN0Q2FjaGUgPSBOVUxMOworICAgIAorZmFpbDExOgor
ICAgIEVycm9yKCJmYWlsMTFcbiIpOworZmFpbDEwOgorICAgIEVycm9yKCJmYWlsMTBcbiIpOwor
CisgICAgWEVOQlVTX0NBQ0hFKFJlbGVhc2UsCisgICAgICAgICAgICAgICAgICZUYXJnZXQtPkNh
Y2hlSW50ZXJmYWNlKTsKKwogZmFpbDk6CiAgICAgRXJyb3IoImZhaWw5XG4iKTsKIAotICAgIEV4
RGVsZXRlTlBhZ2VkTG9va2FzaWRlTGlzdCgmVGFyZ2V0LT5SZXF1ZXN0TGlzdCk7Ci0gICAgRXhE
ZWxldGVOUGFnZWRMb29rYXNpZGVMaXN0KCZUYXJnZXQtPlNlZ21lbnRMaXN0KTsKLSAgICBFeERl
bGV0ZU5QYWdlZExvb2thc2lkZUxpc3QoJlRhcmdldC0+SW5kaXJlY3RMaXN0KTsKLQogICAgIFJ0
bFplcm9NZW1vcnkoJlRhcmdldC0+UHJlcGFyZWQsIHNpemVvZihMSVNUX0VOVFJZKSk7CiAgICAg
UnRsWmVyb01lbW9yeSgmVGFyZ2V0LT5TdWJtaXR0ZWQsIHNpemVvZihMSVNUX0VOVFJZKSk7CiAg
ICAgUnRsWmVyb01lbW9yeSgmVGFyZ2V0LT5TaHV0ZG93biwgc2l6ZW9mKExJU1RfRU5UUlkpKTsK
QEAgLTI5MDMsNiArMzA5Nyw3IEBAIGZhaWwzOgogZmFpbDI6CiAgICAgRXJyb3IoImZhaWwyXG4i
KTsKICAgICBSdGxaZXJvTWVtb3J5KCZUYXJnZXQtPkRlYnVnSW50ZXJmYWNlLCBzaXplb2YoWEVO
QlVTX0RFQlVHX0lOVEVSRkFDRSkpOworICAgIFJ0bFplcm9NZW1vcnkoJlRhcmdldC0+Q2FjaGVJ
bnRlcmZhY2UsIHNpemVvZihYRU5CVVNfQ0FDSEVfSU5URVJGQUNFKSk7CiAgICAgUnRsWmVyb01l
bW9yeSgmVGFyZ2V0LT5TdG9yZUludGVyZmFjZSwgc2l6ZW9mKFhFTkJVU19TVE9SRV9JTlRFUkZB
Q0UpKTsKICAgICBSdGxaZXJvTWVtb3J5KCZUYXJnZXQtPlN1c3BlbmRJbnRlcmZhY2UsIHNpemVv
ZihYRU5CVVNfU1VTUEVORF9JTlRFUkZBQ0UpKTsKIApAQCAtMjkxNCw2ICszMTA5LDcgQEAgZmFp
bDI6CiAgICAgVGFyZ2V0LT5UYXJnZXRJZCAgICAgICAgPSAwOwogICAgIFRhcmdldC0+U3RhdGUg
ICAgICAgICAgID0gMDsKICAgICBUYXJnZXQtPkJhY2tlbmRJZCAgICAgICA9IDA7CisgICAgUnRs
WmVyb01lbW9yeSgmVGFyZ2V0LT5DYWNoZUxvY2ssIHNpemVvZihLU1BJTl9MT0NLKSk7CiAgICAg
UnRsWmVyb01lbW9yeSgmVGFyZ2V0LT5RdWV1ZUxvY2ssIHNpemVvZihLU1BJTl9MT0NLKSk7CiAg
ICAgUnRsWmVyb01lbW9yeSgmVGFyZ2V0LT5TdGF0ZUxvY2ssIHNpemVvZihLU1BJTl9MT0NLKSk7
CiAKQEAgLTI5MzMsOSArMzEyOSwyMyBAQCBUYXJnZXREZXN0cm95KAogICAgIEFTU0VSVChJc0xp
c3RFbXB0eSgmVGFyZ2V0LT5TdWJtaXR0ZWQpKTsKICAgICBBU1NFUlQoSXNMaXN0RW1wdHkoJlRh
cmdldC0+U2h1dGRvd24pKTsKIAotICAgIEV4RGVsZXRlTlBhZ2VkTG9va2FzaWRlTGlzdCgmVGFy
Z2V0LT5SZXF1ZXN0TGlzdCk7Ci0gICAgRXhEZWxldGVOUGFnZWRMb29rYXNpZGVMaXN0KCZUYXJn
ZXQtPlNlZ21lbnRMaXN0KTsKLSAgICBFeERlbGV0ZU5QYWdlZExvb2thc2lkZUxpc3QoJlRhcmdl
dC0+SW5kaXJlY3RMaXN0KTsKKyAgICBYRU5CVVNfQ0FDSEUoRGVzdHJveSwKKyAgICAgICAgICAg
ICAgICAgJlRhcmdldC0+Q2FjaGVJbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgIFRhcmdldC0+
SW5kaXJlY3RDYWNoZSk7CisgICAgVGFyZ2V0LT5JbmRpcmVjdENhY2hlID0gTlVMTDsKKworICAg
IFhFTkJVU19DQUNIRShEZXN0cm95LAorICAgICAgICAgICAgICAgICAmVGFyZ2V0LT5DYWNoZUlu
dGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgVGFyZ2V0LT5TZWdtZW50Q2FjaGUpOworICAgIFRh
cmdldC0+U2VnbWVudENhY2hlID0gTlVMTDsKKworICAgIFhFTkJVU19DQUNIRShEZXN0cm95LAor
ICAgICAgICAgICAgICAgICAmVGFyZ2V0LT5DYWNoZUludGVyZmFjZSwKKyAgICAgICAgICAgICAg
ICAgVGFyZ2V0LT5SZXF1ZXN0Q2FjaGUpOworICAgIFRhcmdldC0+UmVxdWVzdENhY2hlID0gTlVM
TDsKKworICAgIFhFTkJVU19DQUNIRShSZWxlYXNlLAorICAgICAgICAgICAgICAgICAmVGFyZ2V0
LT5DYWNoZUludGVyZmFjZSk7CiAKICAgICBSdGxaZXJvTWVtb3J5KCZUYXJnZXQtPlByZXBhcmVk
LCBzaXplb2YoTElTVF9FTlRSWSkpOwogICAgIFJ0bFplcm9NZW1vcnkoJlRhcmdldC0+U3VibWl0
dGVkLCBzaXplb2YoTElTVF9FTlRSWSkpOwpAQCAtMjk2Miw2ICszMTcyLDcgQEAgVGFyZ2V0RGVz
dHJveSgKIAogICAgIFJ0bFplcm9NZW1vcnkoJlRhcmdldC0+RGVidWdJbnRlcmZhY2UsIHNpemVv
ZihYRU5CVVNfREVCVUdfSU5URVJGQUNFKSk7CiAgICAgUnRsWmVyb01lbW9yeSgmVGFyZ2V0LT5T
dG9yZUludGVyZmFjZSwgc2l6ZW9mKFhFTkJVU19TVE9SRV9JTlRFUkZBQ0UpKTsKKyAgICBSdGxa
ZXJvTWVtb3J5KCZUYXJnZXQtPkNhY2hlSW50ZXJmYWNlLCBzaXplb2YoWEVOQlVTX0NBQ0hFX0lO
VEVSRkFDRSkpOwogICAgIFJ0bFplcm9NZW1vcnkoJlRhcmdldC0+U3VzcGVuZEludGVyZmFjZSwg
c2l6ZW9mKFhFTkJVU19TVVNQRU5EX0lOVEVSRkFDRSkpOwogCiAgICAgVGFyZ2V0LT5BZGFwdGVy
ICAgICAgICAgPSBOVUxMOwpAQCAtMjk3Miw2ICszMTgzLDcgQEAgVGFyZ2V0RGVzdHJveSgKICAg
ICBUYXJnZXQtPlRhcmdldElkICAgICAgICA9IDA7CiAgICAgVGFyZ2V0LT5TdGF0ZSAgICAgICAg
ICAgPSAwOwogICAgIFRhcmdldC0+QmFja2VuZElkICAgICAgID0gMDsKKyAgICBSdGxaZXJvTWVt
b3J5KCZUYXJnZXQtPkNhY2hlTG9jaywgc2l6ZW9mKEtTUElOX0xPQ0spKTsKICAgICBSdGxaZXJv
TWVtb3J5KCZUYXJnZXQtPlF1ZXVlTG9jaywgc2l6ZW9mKEtTUElOX0xPQ0spKTsKICAgICBSdGxa
ZXJvTWVtb3J5KCZUYXJnZXQtPlN0YXRlTG9jaywgc2l6ZW9mKEtTUElOX0xPQ0spKTsKIAotLSAK
Mi44LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3
aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby93
aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Mon May 15 13:17:18 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 15 May 2017 13:17:18 +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 1dAFsE-00083v-Fl; Mon, 15 May 2017 13:17:18 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=301e7c014=owen.smith@citrix.com>)
 id 1dAFsD-00083f-Gt
 for win-pv-devel@lists.xenproject.org; Mon, 15 May 2017 13:17:17 +0000
Received: from [193.109.254.147] by server-4.bemta-6.messagelabs.com id
 0E/C2-02956-C5AA9195; Mon, 15 May 2017 13:17:16 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmphkeJIrShJLcpLzFFi42JxWrrBXjdmlWS
 kwaWVwhZ/Fic6MHoc/nCFJYAxijUzLym/IoE149+/F6wFj7QqLlz/w97A+Euui5GTQ0LAX+L4
 g3fsIDabgKzEx5WfmUFsEQF1iX2ftzKB2MwCahLX93exgtjCAqYSfWcXgtWzCKhK7Pi2B8zmF
 bCWaF0/nQ1ippzE5MWXGEFsTqD4izc/wWwhASuJjT+amSFsJYlvi18wQ/QKSpyc+YQFYpeExM
 EXL5gnMPLOQpKahSS1gJFpFaNGcWpRWWqRrqG5XlJRZnpGSW5iZo6uoYGZXm5qcXFiempOYlK
 xXnJ+7iZGYOgwAMEOxtsbAw4xSnIwKYnyur4UjxTiS8pPqcxILM6ILyrNSS0+xCjDwaEkwWu0
 UjJSSLAoNT21Ii0zBxjEMGkJDh4lEd5MkDRvcUFibnFmOkTqFKOilDivFEhCACSRUZoH1waLn
 EuMslLCvIxAhwjxFKQW5WaWoMq/YhTnYFQS5s0CmcKTmVcCN/0V0GImoMVhIDfzFpckIqSkGh
 g5bQwl9JaynwiQbdbc53mzSHHvBw/xF+u3xT6bsufBgQdrJq6renFUssWZSZzNff38LoM7Scb
 xe6e6bvj7t9LyxTXzuLTFj3boXBb5rLOhJdVkYexNu8RO8SzeOROUzZ91F835o7Hxc4XmqYB/
 6meMl/rdX7zWLHObzxEZzdbeV7G8j7ftie1VYinOSDTUYi4qTgQAJn8KwZcCAAA=
X-Env-Sender: prvs=301e7c014=owen.smith@citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1494854234!102425784!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 51668 invoked from network); 15 May 2017 13:17:16 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
 by server-9.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
 15 May 2017 13:17:16 -0000
X-IronPort-AV: E=Sophos;i="5.38,345,1491264000"; d="scan'208";a="432396918"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 15 May 2017 14:04:27 +0100
Message-ID: <20170515130429.20580-25-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20170515130429.20580-1-owen.smith@citrix.com>
References: <20170515130429.20580-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 24/26] Read overrides at start of day
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/cgi-bin/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/cgi-bin/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>

RnJvbTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgoKUmVhZHMgTWF4VHJhbnNm
ZXJMZW5ndGggYW5kIE1heFBoeXNpY2FsQnJlYWtzIGVhcmxpZXIKClNpZ25lZC1vZmYtYnk6IE93
ZW4gU21pdGggPG93ZW4uc21pdGhAY2l0cml4LmNvbT4KLS0tCiBzcmMveGVudmJkL2FkYXB0ZXIu
YyB8IDMyICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmMveGVudmJkL2RyaXZl
ci5jICB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBz
cmMveGVudmJkL2RyaXZlci5oICB8IDEwICsrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNTYg
aW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC9h
ZGFwdGVyLmMgYi9zcmMveGVudmJkL2FkYXB0ZXIuYwppbmRleCBiMGE5NGUyLi44NmM3Mjc1IDEw
MDY0NAotLS0gYS9zcmMveGVudmJkL2FkYXB0ZXIuYworKysgYi9zcmMveGVudmJkL2FkYXB0ZXIu
YwpAQCAtMTc2OCw4ICsxNzY4LDYgQEAgQWRhcHRlckh3RmluZEFkYXB0ZXIoCiAgICAgUERFVklD
RV9PQkpFQ1QgICAgICAgICAgICAgICAgICAgICAgICAgIERldmljZU9iamVjdDsKICAgICBQREVW
SUNFX09CSkVDVCAgICAgICAgICAgICAgICAgICAgICAgICAgUGh5c2ljYWxEZXZpY2VPYmplY3Q7
CiAgICAgUERFVklDRV9PQkpFQ1QgICAgICAgICAgICAgICAgICAgICAgICAgIExvd2VyRGV2aWNl
T2JqZWN0OwotICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXhU
cmFuc2Zlckxlbmd0aDsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTWF4UGh5c2ljYWxCcmVha3M7CiAgICAgTlRTVEFUVVMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0YXR1czsKIAogICAgIFVOUkVGRVJFTkNFRF9QQVJBTUVURVIoQ29udGV4dCk7
CkBAIC0xNzc3LDI4ICsxNzc1LDkgQEAgQWRhcHRlckh3RmluZEFkYXB0ZXIoCiAgICAgVU5SRUZF
UkVOQ0VEX1BBUkFNRVRFUihBcmd1bWVudFN0cmluZyk7CiAgICAgVU5SRUZFUkVOQ0VEX1BBUkFN
RVRFUihBZ2Fpbik7CiAKLSAgICAvLyBvdmVycmlkZSBzZXR0aW5ncwotICAgIHN0YXR1cyA9IFJl
Z2lzdHJ5UXVlcnlEd29yZFZhbHVlKERyaXZlckdldFBhcmFtZXRlcnNLZXkoKSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWF4VHJhbnNmZXJMZW5ndGgiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZNYXhUcmFuc2Zlckxlbmd0aCk7Ci0gICAg
aWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgIE1heFRyYW5zZmVyTGVuZ3RoID0gWEVO
VkJEX01BWF9UUkFOU0ZFUl9MRU5HVEg7Ci0gICAgaWYgKChNYXhUcmFuc2Zlckxlbmd0aCAmIChQ
QUdFX1NJWkUgLSAxKSkgIT0gMCkKLSAgICAgICAgTWF4VHJhbnNmZXJMZW5ndGggPSBYRU5WQkRf
TUFYX1RSQU5TRkVSX0xFTkdUSDsKLQotICAgIHN0YXR1cyA9IFJlZ2lzdHJ5UXVlcnlEd29yZFZh
bHVlKERyaXZlckdldFBhcmFtZXRlcnNLZXkoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiTWF4UGh5c2ljYWxCcmVha3MiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZNYXhQaHlzaWNhbEJyZWFrcyk7Ci0gICAgaWYgKCFOVF9TVUNDRVNTKHN0
YXR1cykpCi0gICAgICAgIE1heFBoeXNpY2FsQnJlYWtzID0gWEVOVkJEX01BWF9QSFlTSUNBTF9C
UkVBS1M7Ci0KLSAgICBWZXJib3NlKCJNYXhUcmFuc2Zlckxlbmd0aDogJXUsIE1heFBoeXNpY2Fs
QnJlYWtzOiAldVxuIiwKLSAgICAgICAgICAgIE1heFRyYW5zZmVyTGVuZ3RoLAotICAgICAgICAg
ICAgTWF4UGh5c2ljYWxCcmVha3MpOwotCiAgICAgLy8gc2V0dXAgY29uZmlnIGluZm8KLSAgICBD
b25maWdJbmZvLT5NYXhpbXVtVHJhbnNmZXJMZW5ndGggICAgICAgPSBNYXhUcmFuc2Zlckxlbmd0
aDsKLSAgICBDb25maWdJbmZvLT5OdW1iZXJPZlBoeXNpY2FsQnJlYWtzICAgICAgPSBNYXhQaHlz
aWNhbEJyZWFrczsKKyAgICBDb25maWdJbmZvLT5NYXhpbXVtVHJhbnNmZXJMZW5ndGggICAgICAg
PSBEcml2ZXJHZXRNYXhUcmFuc2Zlckxlbmd0aCgpOworICAgIENvbmZpZ0luZm8tPk51bWJlck9m
UGh5c2ljYWxCcmVha3MgICAgICA9IERyaXZlckdldE1heFBoeXNpY2FsQnJlYWtzKCk7CiAgICAg
Q29uZmlnSW5mby0+QWxpZ25tZW50TWFzayAgICAgICAgICAgICAgID0gMDsgLy8gQnl0ZS1BbGln
bmVkCiAgICAgQ29uZmlnSW5mby0+TnVtYmVyT2ZCdXNlcyAgICAgICAgICAgICAgID0gMTsKICAg
ICBDb25maWdJbmZvLT5Jbml0aWF0b3JCdXNJZFswXSAgICAgICAgICAgPSAxOwpAQCAtMTg3Niwx
MyArMTg1NSw2IEBAIEFkYXB0ZXJId0luaXRpYWxpemUoCiAgICAgVmVyYm9zZSgiUGVyZjogJXUg
Q2hhbm5lbHNcbiIsCiAgICAgICAgICAgICBQZXJmLkNvbmN1cnJlbnRDaGFubmVscyk7CiAKLSAg
ICBpZiAoUGVyZi5GbGFncyAmIFNUT1JfUEVSRl9DT05DVVJSRU5UX0NIQU5ORUxTKQotICAgICAg
ICBQZXJmLkNvbmN1cnJlbnRDaGFubmVscyA9IEtlUXVlcnlBY3RpdmVQcm9jZXNzb3JDb3VudChO
VUxMKTsKLQotICAgIHN0YXR1cyA9IFN0b3JQb3J0SW5pdGlhbGl6ZVBlcmZPcHRzKERldkV4dCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUGVyZik7Ci0KICAgICByZXR1cm4gVFJV
RTsKIH0KIApkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC9kcml2ZXIuYyBiL3NyYy94ZW52YmQvZHJp
dmVyLmMKaW5kZXggNDgyMzM5MC4uMjhkMmQ0OSAxMDA2NDQKLS0tIGEvc3JjL3hlbnZiZC9kcml2
ZXIuYworKysgYi9zcmMveGVudmJkL2RyaXZlci5jCkBAIC01MCw2ICs1MCw4IEBACiB0eXBlZGVm
IHN0cnVjdCBfWEVOVkJEX0RSSVZFUiB7CiAgICAgUFhFTlZCRF9BREFQVEVSICAgICBBZGFwdGVy
OwogICAgIEhBTkRMRSAgICAgICAgICAgICAgUGFyYW1ldGVyc0tleTsKKyAgICBVTE9ORyAgICAg
ICAgICAgICAgIE1heFRyYW5zZmVyTGVuZ3RoOworICAgIFVMT05HICAgICAgICAgICAgICAgTWF4
UGh5c2ljYWxCcmVha3M7CiAgICAgUERSSVZFUl9ESVNQQVRDSCAgICBTdG9yUG9ydERpc3BhdGNo
UG5wOwogICAgIFBEUklWRVJfRElTUEFUQ0ggICAgU3RvclBvcnREaXNwYXRjaFBvd2VyOwogICAg
IFBEUklWRVJfVU5MT0FEICAgICAgU3RvclBvcnREcml2ZXJVbmxvYWQ7CkBAIC04NSw2ICs4Nywy
MiBAQCBEcml2ZXJHZXRQYXJhbWV0ZXJzS2V5KAogICAgIHJldHVybiBfX0RyaXZlckdldFBhcmFt
ZXRlcnNLZXkoKTsKIH0KIAorVUxPTkcKK0RyaXZlckdldE1heFRyYW5zZmVyTGVuZ3RoKAorICAg
IFZPSUQKKyAgICApCit7CisgICAgcmV0dXJuIERyaXZlci5NYXhUcmFuc2Zlckxlbmd0aDsKK30K
KworVUxPTkcKK0RyaXZlckdldE1heFBoeXNpY2FsQnJlYWtzKAorICAgIFZPSUQKKyAgICApCit7
CisgICAgcmV0dXJuIERyaXZlci5NYXhQaHlzaWNhbEJyZWFrczsKK30KKwogQk9PTEVBTgogRHJp
dmVyUmVhZE92ZXJyaWRlKAogICAgIElOICBQQ0hBUiAgIE5hbWUKQEAgLTI1NCw2ICsyNzIsOSBA
QCBEcml2ZXJVbmxvYWQoCiAKICAgICBCdWZmZXJUZXJtaW5hdGUoKTsKIAorICAgIERyaXZlci5N
YXhUcmFuc2Zlckxlbmd0aCA9IDA7CisgICAgRHJpdmVyLk1heFBoeXNpY2FsQnJlYWtzID0gMDsK
KwogICAgIFJlZ2lzdHJ5Q2xvc2VLZXkoRHJpdmVyLlBhcmFtZXRlcnNLZXkpOwogICAgIERyaXZl
ci5QYXJhbWV0ZXJzS2V5ID0gTlVMTDsKIApAQCAtMzA1LDYgKzMyNiwyNiBAQCBEcml2ZXJFbnRy
eSgKIAogICAgIERyaXZlci5QYXJhbWV0ZXJzS2V5ID0gUGFyYW1ldGVyc0tleTsKICAgICBEcml2
ZXIuQWRhcHRlciA9IE5VTEw7CisKKyAgICAvLyBvdmVycmlkZSBzZXR0aW5ncworICAgIHN0YXR1
cyA9IFJlZ2lzdHJ5UXVlcnlEd29yZFZhbHVlKFBhcmFtZXRlcnNLZXksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIk1heFRyYW5zZmVyTGVuZ3RoIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmRHJpdmVyLk1heFRyYW5zZmVyTGVuZ3RoKTsKKyAg
ICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICAgICAgRHJpdmVyLk1heFRyYW5zZmVyTGVu
Z3RoID0gWEVOVkJEX01BWF9UUkFOU0ZFUl9MRU5HVEg7CisgICAgaWYgKChEcml2ZXIuTWF4VHJh
bnNmZXJMZW5ndGggJiAoUEFHRV9TSVpFIC0gMSkpICE9IDApCisgICAgICAgIERyaXZlci5NYXhU
cmFuc2Zlckxlbmd0aCA9IFhFTlZCRF9NQVhfVFJBTlNGRVJfTEVOR1RIOworCisgICAgc3RhdHVz
ID0gUmVnaXN0cnlRdWVyeUR3b3JkVmFsdWUoUGFyYW1ldGVyc0tleSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiTWF4UGh5c2ljYWxCcmVha3MiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZEcml2ZXIuTWF4UGh5c2ljYWxCcmVha3MpOworICAg
IGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQorICAgICAgICBEcml2ZXIuTWF4UGh5c2ljYWxCcmVh
a3MgPSBYRU5WQkRfTUFYX1BIWVNJQ0FMX0JSRUFLUzsKKworICAgIFZlcmJvc2UoIk1heFRyYW5z
ZmVyTGVuZ3RoOiAldSwgTWF4UGh5c2ljYWxCcmVha3M6ICV1XG4iLAorICAgICAgICAgICAgRHJp
dmVyLk1heFRyYW5zZmVyTGVuZ3RoLAorICAgICAgICAgICAgRHJpdmVyLk1heFBoeXNpY2FsQnJl
YWtzKTsKKwogICAgIEJ1ZmZlckluaXRpYWxpemUoKTsKIAogICAgIHN0YXR1cyA9IEFkYXB0ZXJE
cml2ZXJFbnRyeShSZWdpc3RyeVBhdGgsCkBAIC0zMzAsNiArMzcxLDkgQEAgZmFpbDQ6CiAKICAg
ICBCdWZmZXJUZXJtaW5hdGUoKTsKIAorICAgIERyaXZlci5NYXhUcmFuc2Zlckxlbmd0aCA9IDA7
CisgICAgRHJpdmVyLk1heFBoeXNpY2FsQnJlYWtzID0gMDsKKwogICAgIFJlZ2lzdHJ5Q2xvc2VL
ZXkoRHJpdmVyLlBhcmFtZXRlcnNLZXkpOwogICAgIERyaXZlci5QYXJhbWV0ZXJzS2V5ID0gTlVM
TDsKIApkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC9kcml2ZXIuaCBiL3NyYy94ZW52YmQvZHJpdmVy
LmgKaW5kZXggYWFlM2RhMS4uZTljZGNjMCAxMDA2NDQKLS0tIGEvc3JjL3hlbnZiZC9kcml2ZXIu
aAorKysgYi9zcmMveGVudmJkL2RyaXZlci5oCkBAIC00OCw2ICs0OCwxNiBAQCBEcml2ZXJHZXRQ
YXJhbWV0ZXJzS2V5KAogICAgIFZPSUQKICAgICApOwogCitleHRlcm4gVUxPTkcKK0RyaXZlckdl
dE1heFRyYW5zZmVyTGVuZ3RoKAorICAgIFZPSUQKKyAgICApOworCitleHRlcm4gVUxPTkcKK0Ry
aXZlckdldE1heFBoeXNpY2FsQnJlYWtzKAorICAgIFZPSUQKKyAgICApOworCiBleHRlcm4gQk9P
TEVBTgogRHJpdmVyUmVhZE92ZXJyaWRlKAogICAgIElOICBQQ0hBUiAgIE5hbWUKLS0gCjIuOC4z
CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2
LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0
cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2
LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Mon May 15 13:17:23 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 15 May 2017 13:17: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 1dAFsJ-000850-H3; Mon, 15 May 2017 13:17:23 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=301e7c014=owen.smith@citrix.com>)
 id 1dAFsI-00084k-T6
 for win-pv-devel@lists.xenproject.org; Mon, 15 May 2017 13:17:22 +0000
Received: from [193.109.254.147] by server-3.bemta-6.messagelabs.com id
 EB/87-03058-26AA9195; Mon, 15 May 2017 13:17:22 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmphkeJIrShJLcpLzFFi42JxWrohUjdxlWS
 kQe83VYs/ixMdGD0Of7jCEsAYxZqZl5RfkcCasWDdL9aCw2oVV44/YWpgPCDTxcjJISHgL3Hr
 +gQmEJtNQFbi48rPzCC2iIC6xL7PW8HizAJqEtf3d7GC2MICBhLXNxxmB7FZBFQlJvZNBIvzC
 lhLfPy8lxlippzE5MWXGEFsTqD4izc/wWwhASuJjT+amSFsJYlvi18wQ/QKSpyc+YQFYpeExM
 EXL5gnMPLOQpKahSS1gJFpFaNGcWpRWWqRrpGRXlJRZnpGSW5iZo6uoYGZXm5qcXFiempOYlK
 xXnJ+7iZGYOgwAMEOxjXzAw8xSnIwKYnyur4UjxTiS8pPqcxILM6ILyrNSS0+xCjDwaEkwWu0
 UjJSSLAoNT21Ii0zBxjEMGkJDh4lEd7tK4DSvMUFibnFmekQqVOMilLivFIgfQIgiYzSPLg2W
 ORcYpSVEuZlBDpEiKcgtSg3swRV/hWjOAejkjCvNsgUnsy8Erjpr4AWMwEtDgO5mbe4JBEhJd
 XAmL9x34uCx+ccV71j/i51e1vs83Nnumd8uOv/5vEcF50Fn3tiH8WaHhAvy1hUEZIdIZ696Ii
 lXPnTO47+OxT2cZ1k4/2sq3kq719Z5Ykmiy2qwoKJe71+sddfNj0ldcWB0z/aQ++2nfjxqbF3
 pravXVD7mbHG6PnfFU6m0XaLMpuL9ZmZz8/+q8RSnJFoqMVcVJwIAIdPuUaXAgAA
X-Env-Sender: prvs=301e7c014=owen.smith@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1494854240!96835807!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 43334 invoked from network); 15 May 2017 13:17:21 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
 by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
 15 May 2017 13:17:21 -0000
X-IronPort-AV: E=Sophos;i="5.38,345,1491264000"; d="scan'208";a="423743387"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 15 May 2017 14:04:25 +0100
Message-ID: <20170515130429.20580-23-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20170515130429.20580-1-owen.smith@citrix.com>
References: <20170515130429.20580-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 22/26] Rename Prepared to Queued
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/cgi-bin/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/cgi-bin/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
T3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW52YmQvYmxvY2ty
aW5nLmMgfCAzOSArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIHNyYy94
ZW52YmQvdGFyZ2V0LmMgICAgfCAgMiAtLQogMiBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25z
KCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMveGVudmJkL2Jsb2NrcmluZy5j
IGIvc3JjL3hlbnZiZC9ibG9ja3JpbmcuYwppbmRleCA3MmU2MThhLi5hNDFhOTEyIDEwMDY0NAot
LS0gYS9zcmMveGVudmJkL2Jsb2NrcmluZy5jCisrKyBiL3NyYy94ZW52YmQvYmxvY2tyaW5nLmMK
QEAgLTYzLDcgKzYzLDcgQEAgc3RydWN0IF9YRU5WQkRfQkxPQ0tSSU5HIHsKIAogICAgIFBYRU5C
VVNfREVCVUdfQ0FMTEJBQ0sgIERlYnVnQ2FsbGJhY2s7CiAKLSAgICBMSVNUX0VOVFJZICAgICAg
ICAgICAgICBQcmVwYXJlZDsKKyAgICBMSVNUX0VOVFJZICAgICAgICAgICAgICBRdWV1ZWQ7CiAg
ICAgTElTVF9FTlRSWSAgICAgICAgICAgICAgU3VibWl0dGVkOwogCiAgICAgS1NQSU5fTE9DSyAg
ICAgICAgICAgICAgTG9jazsKQEAgLTc2LDYgKzc2LDcgQEAgc3RydWN0IF9YRU5WQkRfQkxPQ0tS
SU5HIHsKICAgICBQWEVOQlVTX0VWVENITl9DSEFOTkVMICBDaGFubmVsOwogICAgIEtEUEMgICAg
ICAgICAgICAgICAgICAgIERwYzsKIAorICAgIFVMT05HICAgICAgICAgICAgICAgICAgIE5yUXVl
dWVkOwogICAgIFVMT05HICAgICAgICAgICAgICAgICAgIE5yU3VibWl0dGVkOwogICAgIFVMT05H
ICAgICAgICAgICAgICAgICAgIE5yQ29tcGxldGVkOwogICAgIFVMT05HICAgICAgICAgICAgICAg
ICAgIE5ySW50ZXJydXB0czsKQEAgLTM2NSwyNSArMzY2LDI1IEBAIEJsb2NrUmluZ1BvbGwoCiAg
ICAgICAgIEJsb2NrUmluZy0+U2hhcmVkLT5yc3BfZXZlbnQgPSByc3BfY29ucyArIDE7CiAgICAg
fQogCi0gICAgLy8gc3VibWl0IGFsbCBwcmVwYXJlZCByZXF1ZXN0cywgcHJlcGFyZSB0aGUgbmV4
dCBzcmIKKyAgICAvLyBzdWJtaXQgYWxsIHF1ZXVlZCByZXF1ZXN0cwogICAgIGZvciAoOzspIHsK
ICAgICAgICAgUExJU1RfRU5UUlkgICAgIExpc3RFbnRyeTsKICAgICAgICAgUFhFTlZCRF9SRVFV
RVNUIFJlcXVlc3Q7CiAKLSAgICAgICAgTGlzdEVudHJ5ID0gUmVtb3ZlSGVhZExpc3QoJkJsb2Nr
UmluZy0+UHJlcGFyZWQpOwotICAgICAgICBpZiAoTGlzdEVudHJ5ID09ICZCbG9ja1JpbmctPlBy
ZXBhcmVkKQorICAgICAgICBMaXN0RW50cnkgPSBSZW1vdmVIZWFkTGlzdCgmQmxvY2tSaW5nLT5R
dWV1ZWQpOworICAgICAgICBpZiAoTGlzdEVudHJ5ID09ICZCbG9ja1JpbmctPlF1ZXVlZCkKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBSZXF1ZXN0ID0gQ09OVEFJTklOR19SRUNPUkQoTGlz
dEVudHJ5LCBYRU5WQkRfUkVRVUVTVCwgTGlzdEVudHJ5KTsKIAogICAgICAgICBpZiAoQmxvY2tS
aW5nUG9zdFJlcXVlc3QoQmxvY2tSaW5nLCBSZXF1ZXN0KSkKICAgICAgICAgICAgIGNvbnRpbnVl
OwogCi0gICAgICAgIEluc2VydEhlYWRMaXN0KCZCbG9ja1JpbmctPlByZXBhcmVkLCBMaXN0RW50
cnkpOworICAgICAgICBJbnNlcnRIZWFkTGlzdCgmQmxvY2tSaW5nLT5RdWV1ZWQsIExpc3RFbnRy
eSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAogZG9uZToKLSAgICBpZiAoSXNMaXN0RW1wdHko
JkJsb2NrUmluZy0+UHJlcGFyZWQpICYmCisgICAgaWYgKElzTGlzdEVtcHR5KCZCbG9ja1Jpbmct
PlF1ZXVlZCkgJiYKICAgICAgICAgSXNMaXN0RW1wdHkoJkJsb2NrUmluZy0+U3VibWl0dGVkKSkK
ICAgICAgICAgVGFyZ2V0Q29tcGxldGVTaHV0ZG93bihCbG9ja1JpbmctPlRhcmdldCk7CiAKQEAg
LTQ4Nyw3ICs0ODgsOCBAQCBCbG9ja1JpbmdEZWJ1Z0NhbGxiYWNrKAogCiAgICAgWEVOQlVTX0RF
QlVHKFByaW50ZiwKICAgICAgICAgICAgICAgICAgJkJsb2NrUmluZy0+RGVidWdJbnRlcmZhY2Us
Ci0gICAgICAgICAgICAgICAgICJTdWJtaXR0ZWQ6ICV1LCBDb21wbGV0ZWQ6ICV1XG4iLAorICAg
ICAgICAgICAgICAgICAiUXVldWVkOiAldSwgU3VibWl0dGVkOiAldSwgQ29tcGxldGVkOiAldVxu
IiwKKyAgICAgICAgICAgICAgICAgQmxvY2tSaW5nLT5OclF1ZXVlZCwKICAgICAgICAgICAgICAg
ICAgQmxvY2tSaW5nLT5OclN1Ym1pdHRlZCwKICAgICAgICAgICAgICAgICAgQmxvY2tSaW5nLT5O
ckNvbXBsZXRlZCk7CiAKQEAgLTUyNCw3ICs1MjYsNyBAQCBCbG9ja1JpbmdDcmVhdGUoCiAgICAg
KCpCbG9ja1JpbmcpLT5UYXJnZXQgPSBUYXJnZXQ7CiAgICAgS2VJbml0aWFsaXplU3BpbkxvY2so
JigqQmxvY2tSaW5nKS0+TG9jayk7CiAgICAgS2VJbml0aWFsaXplRHBjKCYoKkJsb2NrUmluZykt
PkRwYywgQmxvY2tSaW5nRHBjLCAqQmxvY2tSaW5nKTsKLSAgICBJbml0aWFsaXplTGlzdEhlYWQo
JigqQmxvY2tSaW5nKS0+UHJlcGFyZWQpOworICAgIEluaXRpYWxpemVMaXN0SGVhZCgmKCpCbG9j
a1JpbmcpLT5RdWV1ZWQpOwogICAgIEluaXRpYWxpemVMaXN0SGVhZCgmKCpCbG9ja1JpbmcpLT5T
dWJtaXR0ZWQpOwogCiAgICAgcmV0dXJuIFNUQVRVU19TVUNDRVNTOwpAQCAtNTQxLDcgKzU0Myw3
IEBAIEJsb2NrUmluZ0Rlc3Ryb3koCiAgICAgQmxvY2tSaW5nLT5UYXJnZXQgPSBOVUxMOwogICAg
IFJ0bFplcm9NZW1vcnkoJkJsb2NrUmluZy0+TG9jaywgc2l6ZW9mKEtTUElOX0xPQ0spKTsKICAg
ICBSdGxaZXJvTWVtb3J5KCZCbG9ja1JpbmctPkRwYywgc2l6ZW9mKEtEUEMpKTsKLSAgICBSdGxa
ZXJvTWVtb3J5KCZCbG9ja1JpbmctPlByZXBhcmVkLCBzaXplb2YoTElTVF9FTlRSWSkpOworICAg
IFJ0bFplcm9NZW1vcnkoJkJsb2NrUmluZy0+UXVldWVkLCBzaXplb2YoTElTVF9FTlRSWSkpOwog
ICAgIFJ0bFplcm9NZW1vcnkoJkJsb2NrUmluZy0+U3VibWl0dGVkLCBzaXplb2YoTElTVF9FTlRS
WSkpOwogCiAgICAgQVNTRVJUKElzWmVyb01lbW9yeShCbG9ja1JpbmcsIHNpemVvZihYRU5WQkRf
QkxPQ0tSSU5HKSkpOwpAQCAtODQ1LDYgKzg0Nyw3IEBAIEJsb2NrUmluZ0Rpc2Nvbm5lY3QoCiAg
ICAgWEVOQlVTX1NUT1JFKFJlbGVhc2UsICZCbG9ja1JpbmctPlN0b3JlSW50ZXJmYWNlKTsKICAg
ICBSdGxaZXJvTWVtb3J5KCZCbG9ja1JpbmctPlN0b3JlSW50ZXJmYWNlLCBzaXplb2YoWEVOQlVT
X1NUT1JFX0lOVEVSRkFDRSkpOwogCisgICAgQmxvY2tSaW5nLT5OclF1ZXVlZCA9IDA7CiAgICAg
QmxvY2tSaW5nLT5OclN1Ym1pdHRlZCA9IDA7CiAgICAgQmxvY2tSaW5nLT5OckNvbXBsZXRlZCA9
IDA7CiAgICAgQmxvY2tSaW5nLT5OckludGVycnVwdHMgPSAwOwpAQCAtODYwLDE2ICs4NjMsMTYg
QEAgQmxvY2tSaW5nU3VibWl0KAogICAgICkKIHsKICAgICBLSVJRTCAgICAgICAgICAgICAgICAg
ICBJcnFsOwotICAgIFBMSVNUX0VOVFJZICAgICAgICAgICAgIExpc3RJdGVtOworICAgIFBMSVNU
X0VOVFJZICAgICAgICAgICAgIExpc3RFbnRyeTsKIAogICAgIEtlQWNxdWlyZVNwaW5Mb2NrKCZC
bG9ja1JpbmctPkxvY2ssICZJcnFsKTsKIAotICAgIExpc3RJdGVtID0gUmVxdWVzdExpc3QtPkZs
aW5rOwotCi0gICAgaWYgKCFJc0xpc3RFbXB0eShSZXF1ZXN0TGlzdCkpIHsKLSAgICAgICAgUmVt
b3ZlRW50cnlMaXN0KFJlcXVlc3RMaXN0KTsKLSAgICAgICAgSW5pdGlhbGl6ZUxpc3RIZWFkKFJl
cXVlc3RMaXN0KTsKLSAgICAgICAgQXBwZW5kVGFpbExpc3QoJkJsb2NrUmluZy0+UHJlcGFyZWQs
IExpc3RJdGVtKTsKKyAgICBmb3IgKDs7KSB7CisgICAgICAgIExpc3RFbnRyeSA9IFJlbW92ZUhl
YWRMaXN0KFJlcXVlc3RMaXN0KTsKKyAgICAgICAgaWYgKExpc3RFbnRyeSA9PSBSZXF1ZXN0TGlz
dCkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBJbnNlcnRUYWlsTGlzdCgmQmxvY2tSaW5n
LT5RdWV1ZWQsIExpc3RFbnRyeSk7CisgICAgICAgICsrQmxvY2tSaW5nLT5OclF1ZXVlZDsKICAg
ICB9CiAKICAgICBLZVJlbGVhc2VTcGluTG9jaygmQmxvY2tSaW5nLT5Mb2NrLCBJcnFsKTsKQEAg
LTg5OSw4ICs5MDIsOCBAQCBCbG9ja1JpbmdTdXNwZW5kQ2FsbGJhY2soCiAgICAgICAgIFBMSVNU
X0VOVFJZICAgICAgICAgTGlzdEVudHJ5OwogICAgICAgICBQWEVOVkJEX1JFUVVFU1QgICAgIFJl
cXVlc3Q7CiAKLSAgICAgICAgTGlzdEVudHJ5ID0gUmVtb3ZlSGVhZExpc3QoJkJsb2NrUmluZy0+
UHJlcGFyZWQpOwotICAgICAgICBpZiAoTGlzdEVudHJ5ID09ICZCbG9ja1JpbmctPlByZXBhcmVk
KQorICAgICAgICBMaXN0RW50cnkgPSBSZW1vdmVIZWFkTGlzdCgmQmxvY2tSaW5nLT5RdWV1ZWQp
OworICAgICAgICBpZiAoTGlzdEVudHJ5ID09ICZCbG9ja1JpbmctPlF1ZXVlZCkKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBSZXF1ZXN0ID0gQ09OVEFJTklOR19SRUNPUkQoTGlzdEVudHJ5
LCBYRU5WQkRfUkVRVUVTVCwgTGlzdEVudHJ5KTsKIApkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC90
YXJnZXQuYyBiL3NyYy94ZW52YmQvdGFyZ2V0LmMKaW5kZXggYTlkMTE4My4uZDZjMzg3MiAxMDA2
NDQKLS0tIGEvc3JjL3hlbnZiZC90YXJnZXQuYworKysgYi9zcmMveGVudmJkL3RhcmdldC5jCkBA
IC02NjIsOCArNjYyLDYgQEAgVGFyZ2V0UHJlcGFyZVJXKAogICAgICAgICAgICAgICAgICAgICBn
b3RvIGZhaWw2OwogCiAgICAgICAgICAgICAgICAgSW5zZXJ0VGFpbExpc3QoJlJlcXVlc3QtPklu
ZGlyZWN0cywgJkluZGlyZWN0LT5MaXN0RW50cnkpOwotCi0gICAgICAgICAgICAgICAgLy8gVE9E
TzogRmlsbCBJbmRpcmVjdC0+UGFnZSB3aXRoIFNlZ21lbnQgaW5mbz8KICAgICAgICAgICAgIH0K
ICAgICAgICAgfQogICAgIH0KLS0gCjIuOC4zCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2
ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2kt
YmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Mon May 15 13:17:44 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 15 May 2017 13:17: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 1dAFse-00086q-Jd; Mon, 15 May 2017 13:17:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=301e7c014=owen.smith@citrix.com>)
 id 1dAFsd-00086j-D5
 for win-pv-devel@lists.xenproject.org; Mon, 15 May 2017 13:17:43 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
 B4/E5-26749-67AA9195; Mon, 15 May 2017 13:17:42 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmphkeJIrShJLcpLzFFi42JxWrohUrdslWS
 kwYkLAhZ/Fic6MHoc/nCFJYAxijUzLym/IoE14876Z+wF6zUrNkxbw9bA+Ei2i5GTQ0LAX2Jb
 9yNGEJtNQFbi48rPzCC2iIC6xL7PW5lAbGYBNYnr+7tYQWxhAQOJK6/72UBsFgFViaP/F7CD2
 LwC1hK/W1YzQcyUk5i8+BLYTE6g+Is3P8FsIQEriY0/mpkhbCWJb4tfMEP0CkqcnPmEBWKXhM
 TBFy+YJzDyzkKSmoUktYCRaRWjRnFqUVlqka6RuV5SUWZ6RkluYmaOrqGBsV5uanFxYnpqTmJ
 SsV5yfu4mRmDo1DMwMO5gbNnrd4hRkoNJSZTX9aV4pBBfUn5KZUZicUZ8UWlOavEhRhkODiUJ
 XqOVkpFCgkWp6akVaZk5wCCGSUtw8CiJ8GaCpHmLCxJzizPTIVKnGBWlxHm7QBICIImM0jy4N
 ljkXGKUlRLmZWRgYBDiKUgtys0sQZV/xSjOwagkzJsFMoUnM68EbvoroMVMQIvDQG7mLS5JRE
 hJNTDK5Vg7my72EeRW+nNJOW6Rge6LPk32Dc89mN5I77wmyrSzkP2TmdDG/tRgf9H3YjuOXhP
 Z8Jtpv3LL85nH/rZ7X55gtSR3h6Zz+jPvXd8rtHax9D2X2Hz5Z7z+xQ8fIjrO589x/hQwK1Z7
 w8Je6dCcue3vLdk0Uo/LXWJ+njD9+gdZN64uSXMlluKMREMt5qLiRABx6CjylwIAAA==
X-Env-Sender: prvs=301e7c014=owen.smith@citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1494854260!69562374!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 51641 invoked from network); 15 May 2017 13:17:42 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
 by server-11.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
 15 May 2017 13:17:42 -0000
X-IronPort-AV: E=Sophos;i="5.38,345,1491264000"; d="scan'208";a="423743423"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 15 May 2017 14:04:16 +0100
Message-ID: <20170515130429.20580-14-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20170515130429.20580-1-owen.smith@citrix.com>
References: <20170515130429.20580-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 13/26] Query for Cache Interface
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/cgi-bin/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/cgi-bin/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
T3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW52YmQvYWRhcHRl
ci5jIHwgNDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t
CiBzcmMveGVudmJkL2FkYXB0ZXIuaCB8ICAyICsrCiAyIGZpbGVzIGNoYW5nZWQsIDM0IGluc2Vy
dGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy94ZW52YmQvYWRhcHRl
ci5jIGIvc3JjL3hlbnZiZC9hZGFwdGVyLmMKaW5kZXggYjMyNmYxNi4uYTkxOWI2OSAxMDA2NDQK
LS0tIGEvc3JjL3hlbnZiZC9hZGFwdGVyLmMKKysrIGIvc3JjL3hlbnZiZC9hZGFwdGVyLmMKQEAg
LTczLDYgKzczLDcgQEAgc3RydWN0IF9YRU5WQkRfQURBUFRFUiB7CiAgICAgWEVOQlVTX0VWVENI
Tl9JTlRFUkZBQ0UgICAgIEV2dGNobkludGVyZmFjZTsKICAgICBYRU5CVVNfU1RPUkVfSU5URVJG
QUNFICAgICAgU3RvcmVJbnRlcmZhY2U7CiAgICAgWEVOQlVTX0dOVFRBQl9JTlRFUkZBQ0UgICAg
IEdudHRhYkludGVyZmFjZTsKKyAgICBYRU5CVVNfQ0FDSEVfSU5URVJGQUNFICAgICAgQ2FjaGVJ
bnRlcmZhY2U7CiAgICAgWEVOQlVTX0RFQlVHX0lOVEVSRkFDRSAgICAgIERlYnVnSW50ZXJmYWNl
OwogICAgIFhFTkJVU19TVVNQRU5EX0lOVEVSRkFDRSAgICBTdXNwZW5kSW50ZXJmYWNlOwogICAg
IFhFTkJVU19VTlBMVUdfSU5URVJGQUNFICAgICBVbnBsdWdJbnRlcmZhY2U7CkBAIC0xMjU4LDY5
ICsxMjU5LDgwIEBAIEFkYXB0ZXJJbml0aWFsaXplKAogICAgICAgICBnb3RvIGZhaWwzOwogCiAg
ICAgc3RhdHVzID0gQWRhcHRlclF1ZXJ5SW50ZXJmYWNlKEFkYXB0ZXIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFhFTkJVU19DQUNIRSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJkFkYXB0ZXItPkNhY2hlSW50ZXJmYWNlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBGQUxTRSk7CisgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykp
CisgICAgICAgIGdvdG8gZmFpbDQ7CisKKyAgICBzdGF0dXMgPSBBZGFwdGVyUXVlcnlJbnRlcmZh
Y2UoQWRhcHRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOQlVTX1NV
U1BFTkQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZBZGFwdGVyLT5TdXNw
ZW5kSW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSk7
CiAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDQ7CisgICAg
ICAgIGdvdG8gZmFpbDU7CiAKICAgICBzdGF0dXMgPSBBZGFwdGVyUXVlcnlJbnRlcmZhY2UoQWRh
cHRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOQlVTX0RFQlVHLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+RGVidWdJbnRlcmZh
Y2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFKTsKICAgICBpZiAo
IU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsNTsKKyAgICAgICAgZ290byBm
YWlsNjsKIAogICAgIHN0YXR1cyA9IEFkYXB0ZXJRdWVyeUludGVyZmFjZShBZGFwdGVyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5CVVNfVU5QTFVHLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmQWRhcHRlci0+VW5wbHVnSW50ZXJmYWNlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSk7CiAgICAgaWYgKCFOVF9TVUND
RVNTKHN0YXR1cykpCi0gICAgICAgIGdvdG8gZmFpbDY7CisgICAgICAgIGdvdG8gZmFpbDc7CiAK
ICAgICBzdGF0dXMgPSBBZGFwdGVyUXVlcnlJbnRlcmZhY2UoQWRhcHRlciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgWEVORklMVF9FTVVMQVRFRCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPkVtdWxhdGVkSW50ZXJmYWNlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFKTsKICAgICBpZiAoIU5UX1NVQ0NFU1Mo
c3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsNzsKKyAgICAgICAgZ290byBmYWlsODsKIAogICAg
IHN0YXR1cyA9IFRocmVhZENyZWF0ZShBZGFwdGVyU2NhblRocmVhZCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQWRhcHRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJkFkYXB0ZXIt
PlNjYW5UaHJlYWQpOwogICAgIGlmICghTlRfU1VDQ0VTUyhzdGF0dXMpKQotICAgICAgICBnb3Rv
IGZhaWw4OworICAgICAgICBnb3RvIGZhaWw5OwogCiAgICAgc3RhdHVzID0gVGhyZWFkQ3JlYXRl
KEFkYXB0ZXJEZXZpY2VQb3dlclRocmVhZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRh
cHRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJkFkYXB0ZXItPkRldmljZVBvd2VyVGhy
ZWFkKTsKICAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVzKSkKLSAgICAgICAgZ290byBmYWlsOTsK
KyAgICAgICAgZ290byBmYWlsMTA7CiAKICAgICBBZGFwdGVyVW5wbHVnUmVxdWVzdChBZGFwdGVy
LCBUUlVFKTsKICAgICByZXR1cm4gU1RBVFVTX1NVQ0NFU1M7CiAKLWZhaWw5OgotICAgIEVycm9y
KCJmYWlsOVxuIik7CitmYWlsMTA6CisgICAgRXJyb3IoImZhaWwxMFxuIik7CiAgICAgVGhyZWFk
QWxlcnQoQWRhcHRlci0+U2NhblRocmVhZCk7CiAgICAgVGhyZWFkSm9pbihBZGFwdGVyLT5TY2Fu
VGhyZWFkKTsKICAgICBBZGFwdGVyLT5TY2FuVGhyZWFkID0gTlVMTDsKLWZhaWw4OgotICAgIEVy
cm9yKCJmYWlsOFxuIik7CitmYWlsOToKKyAgICBFcnJvcigiZmFpbDlcbiIpOwogICAgIFJ0bFpl
cm9NZW1vcnkoJkFkYXB0ZXItPkVtdWxhdGVkSW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAg
c2l6ZW9mIChYRU5GSUxUX0VNVUxBVEVEX0lOVEVSRkFDRSkpOwotZmFpbDc6Ci0gICAgRXJyb3Io
ImZhaWw3XG4iKTsKK2ZhaWw4OgorICAgIEVycm9yKCJmYWlsOFxuIik7CiAgICAgUnRsWmVyb01l
bW9yeSgmQWRhcHRlci0+VW5wbHVnSW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgc2l6ZW9m
IChYRU5CVVNfVU5QTFVHX0lOVEVSRkFDRSkpOwotZmFpbDY6Ci0gICAgRXJyb3IoImZhaWw2XG4i
KTsKK2ZhaWw3OgorICAgIEVycm9yKCJmYWlsN1xuIik7CiAgICAgUnRsWmVyb01lbW9yeSgmQWRh
cHRlci0+RGVidWdJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkJVU19E
RUJVR19JTlRFUkZBQ0UpKTsKLWZhaWw1OgotICAgIEVycm9yKCJmYWlsNVxuIik7CitmYWlsNjoK
KyAgICBFcnJvcigiZmFpbDZcbiIpOwogICAgIFJ0bFplcm9NZW1vcnkoJkFkYXB0ZXItPlN1c3Bl
bmRJbnRlcmZhY2UsCiAgICAgICAgICAgICAgICAgICBzaXplb2YgKFhFTkJVU19TVVNQRU5EX0lO
VEVSRkFDRSkpOworZmFpbDU6CisgICAgRXJyb3IoImZhaWw1XG4iKTsKKyAgICBSdGxaZXJvTWVt
b3J5KCZBZGFwdGVyLT5DYWNoZUludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgIHNpemVvZiAo
WEVOQlVTX0NBQ0hFX0lOVEVSRkFDRSkpOwogZmFpbDQ6CiAgICAgRXJyb3IoImZhaWw0XG4iKTsK
ICAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5HbnR0YWJJbnRlcmZhY2UsCkBAIC0xMzkzLDYg
KzE0MDUsOSBAQCBBZGFwdGVyVGVhcmRvd24oCiAgICAgUnRsWmVyb01lbW9yeSgmQWRhcHRlci0+
U3VzcGVuZEludGVyZmFjZSwKICAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX1NVU1BF
TkRfSU5URVJGQUNFKSk7CiAKKyAgICBSdGxaZXJvTWVtb3J5KCZBZGFwdGVyLT5DYWNoZUludGVy
ZmFjZSwKKyAgICAgICAgICAgICAgICAgIHNpemVvZiAoWEVOQlVTX0NBQ0hFX0lOVEVSRkFDRSkp
OworCiAgICAgUnRsWmVyb01lbW9yeSgmQWRhcHRlci0+R250dGFiSW50ZXJmYWNlLAogICAgICAg
ICAgICAgICAgICAgc2l6ZW9mIChYRU5CVVNfR05UVEFCX0lOVEVSRkFDRSkpOwogCkBAIC0yMDg5
LDYgKzIxMDQsNyBAQCBBREFQVEVSX0dFVF9JTlRFUkZBQ0UoU3RvcmUsIFBYRU5CVVNfU1RPUkVf
SU5URVJGQUNFKQogQURBUFRFUl9HRVRfSU5URVJGQUNFKERlYnVnLCBQWEVOQlVTX0RFQlVHX0lO
VEVSRkFDRSkKIEFEQVBURVJfR0VUX0lOVEVSRkFDRShFdnRjaG4sIFBYRU5CVVNfRVZUQ0hOX0lO
VEVSRkFDRSkKIEFEQVBURVJfR0VUX0lOVEVSRkFDRShHbnR0YWIsIFBYRU5CVVNfR05UVEFCX0lO
VEVSRkFDRSkKK0FEQVBURVJfR0VUX0lOVEVSRkFDRShDYWNoZSwgUFhFTkJVU19DQUNIRV9JTlRF
UkZBQ0UpCiBBREFQVEVSX0dFVF9JTlRFUkZBQ0UoU3VzcGVuZCwgUFhFTkJVU19TVVNQRU5EX0lO
VEVSRkFDRSkKIAogI3VuZGVmIEFEQVBURVJfR0VUX0lOVEVSRkFDRQpkaWZmIC0tZ2l0IGEvc3Jj
L3hlbnZiZC9hZGFwdGVyLmggYi9zcmMveGVudmJkL2FkYXB0ZXIuaAppbmRleCAxMjY3NjI3Li5k
MTJiNjA2IDEwMDY0NAotLS0gYS9zcmMveGVudmJkL2FkYXB0ZXIuaAorKysgYi9zcmMveGVudmJk
L2FkYXB0ZXIuaApAQCAtNDAsNiArNDAsNyBAQCB0eXBlZGVmIHN0cnVjdCBfWEVOVkJEX0FEQVBU
RVIgWEVOVkJEX0FEQVBURVIsICpQWEVOVkJEX0FEQVBURVI7CiAjaW5jbHVkZSA8c3RvcmVfaW50
ZXJmYWNlLmg+CiAjaW5jbHVkZSA8ZXZ0Y2huX2ludGVyZmFjZS5oPgogI2luY2x1ZGUgPGdudHRh
Yl9pbnRlcmZhY2UuaD4KKyNpbmNsdWRlIDxjYWNoZV9pbnRlcmZhY2UuaD4KICNpbmNsdWRlIDxk
ZWJ1Z19pbnRlcmZhY2UuaD4KICNpbmNsdWRlIDxzdXNwZW5kX2ludGVyZmFjZS5oPgogCkBAIC01
NCw2ICs1NSw3IEBAIEFEQVBURVJfR0VUX0lOVEVSRkFDRShTdG9yZSwgUFhFTkJVU19TVE9SRV9J
TlRFUkZBQ0UpCiBBREFQVEVSX0dFVF9JTlRFUkZBQ0UoRGVidWcsIFBYRU5CVVNfREVCVUdfSU5U
RVJGQUNFKQogQURBUFRFUl9HRVRfSU5URVJGQUNFKEV2dGNobiwgUFhFTkJVU19FVlRDSE5fSU5U
RVJGQUNFKQogQURBUFRFUl9HRVRfSU5URVJGQUNFKEdudHRhYiwgUFhFTkJVU19HTlRUQUJfSU5U
RVJGQUNFKQorQURBUFRFUl9HRVRfSU5URVJGQUNFKENhY2hlLCBQWEVOQlVTX0NBQ0hFX0lOVEVS
RkFDRSkKIEFEQVBURVJfR0VUX0lOVEVSRkFDRShTdXNwZW5kLCBQWEVOQlVTX1NVU1BFTkRfSU5U
RVJGQUNFKQogCiAjdW5kZWYgQURBUFRFUl9HRVRfSU5URVJGQUNFCi0tIAoyLjguMwoKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBt
YWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz
dHMueGVucHJvamVjdC5vcmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Mon May 15 13:18:15 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 15 May 2017 13:18:15 +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 1dAFt9-00088u-Lu; Mon, 15 May 2017 13:18:15 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=301e7c014=owen.smith@citrix.com>)
 id 1dAFt8-00088o-Ph
 for win-pv-devel@lists.xenproject.org; Mon, 15 May 2017 13:18:14 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
 E7/F6-01730-69AA9195; Mon, 15 May 2017 13:18:14 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpikeJIrShJLcpLzFFi42JxWrrBXnfqKsl
 Ig02XlC3+LE50YPQ4/OEKSwBjFGtmXlJ+RQJrxuZ5PAUnhCo2zrnG1MC4nreLkZNDQsBfYu6b
 DjYQm01AVuLjys/MILaIgLrEvs9bmUBsZgE1iev7u1hBbGEBY4kdMzaxgNgsAqoSF+9eBavhF
 bCWmLB0PzvETDmJyYsvMYLYnEDxF29+gtlCAlYSG380M0PYShLfFr9ghugVlDg58wkLxC4JiY
 MvXjBPYOSdhSQ1C0lqASPTKkb14tSistQiXSO9pKLM9IyS3MTMHF1DA1O93NTi4sT01JzEpGK
 95PzcTYzAsGEAgh2M3/84HWKU5GBSEuV1fSkeKcSXlJ9SmZFYnBFfVJqTWnyIUYaDQ0mC12il
 ZKSQYFFqempFWmYOMIBh0hIcPEoivJkgad7igsTc4sx0iNQpRkUpcd4ukIQASCKjNA+uDRY1l
 xhlpYR5GYEOEeIpSC3KzSxBlX/FKM7BqCTMmwUyhSczrwRu+iugxUxAi8NAbuYtLklESEk1MC
 Z6Mi/1ULTqV9k2c5Hy0kvbP3Qpr5bur4x1d7/hW9cQx230wn/reufXOsf8Cg5buWcf9XB69mJ
 xw7dpnu3KkjHXP6ZcW9DYMzt25ocbUssvGV4+khsX7BD5NrNe7SDTk7IpAfXFjQL9U2fZ/b/J
 9+pf7cMLCzWrz+ld6PxusOBryGStl5U1N5RYijMSDbWYi4oTAWOnx/SVAgAA
X-Env-Sender: prvs=301e7c014=owen.smith@citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1494854291!62006035!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24503 invoked from network); 15 May 2017 13:18:13 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
 by server-12.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
 15 May 2017 13:18:13 -0000
X-IronPort-AV: E=Sophos;i="5.38,345,1491264000"; d="scan'208";a="432397177"
From: <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Mon, 15 May 2017 14:04:21 +0100
Message-ID: <20170515130429.20580-19-owen.smith@citrix.com>
X-Mailer: git-send-email 2.8.3
In-Reply-To: <20170515130429.20580-1-owen.smith@citrix.com>
References: <20170515130429.20580-1-owen.smith@citrix.com>
MIME-Version: 1.0
Cc: Owen Smith <owen.smith@citrix.com>
Subject: [win-pv-devel] [PATCH 18/26] Refactor Inquiry 0x83 handle
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/cgi-bin/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/cgi-bin/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
T3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgotLS0KIHNyYy94ZW52YmQvdGFyZ2V0
LmMgfCAyMCArKysrKysrKysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlv
bnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3hlbnZiZC90YXJnZXQuYyBi
L3NyYy94ZW52YmQvdGFyZ2V0LmMKaW5kZXggMjIxOTNhOS4uN2M5M2ExYyAxMDA2NDQKLS0tIGEv
c3JjL3hlbnZiZC90YXJnZXQuYworKysgYi9zcmMveGVudmJkL3RhcmdldC5jCkBAIC05OTgsMTUg
Kzk5OCwxOSBAQCBUYXJnZXRJbnF1aXJ5ODMoCiAgICAgUFZQRF9JREVOVElGSUNBVElPTl9ERVND
UklQVE9SICBEZXNjcjsKIAogICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NUQVRVU19EQVRBX09W
RVJSVU47Ci0gICAgaWYgKFNyYi0+RGF0YVRyYW5zZmVyTGVuZ3RoIDwgc2l6ZW9mKFZQRF9JREVO
VElGSUNBVElPTl9QQUdFKSAtIDEgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNpemVvZihWUERfSURFTlRJRklDQVRJT05fREVTQ1JJUFRPUikgKyAxNikKKyAgICBpZiAoU3Ji
LT5EYXRhVHJhbnNmZXJMZW5ndGggPCBzaXplb2YoVlBEX0lERU5USUZJQ0FUSU9OX1BBR0UpIC0g
MSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgUnRsWmVyb01lbW9yeShEYXRhLCBTcmItPkRhdGFU
cmFuc2Zlckxlbmd0aCk7CiAgICAgRGF0YS0+UGFnZUNvZGUgPSAweDgzOwotICAgIERhdGEtPlBh
Z2VMZW5ndGggPSBzaXplb2YoVlBEX0lERU5USUZJQ0FUSU9OX0RFU0NSSVBUT1IpICsgMTY7Cisg
ICAgRGF0YS0+UGFnZUxlbmd0aCA9IDA7CiAKLSAgICBEZXNjciA9IChQVlBEX0lERU5USUZJQ0FU
SU9OX0RFU0NSSVBUT1IpRGF0YS0+RGVzY3JpcHRvcnM7CisgICAgLy8gVHJ5IFZwZElkZW50aWZp
ZXJUeXBlVmVuZG9ySWQ6VnBkQ29kZVNldEFzY2lpIChTdHJpbmcgSWRlbnRpZmllcikKKyAgICBp
ZiAoU3JiLT5EYXRhVHJhbnNmZXJMZW5ndGggPCBzaXplb2YoVlBEX0lERU5USUZJQ0FUSU9OX1BB
R0UpIC0gMSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFZQRF9J
REVOVElGSUNBVElPTl9ERVNDUklQVE9SKSArIDE2KQorICAgICAgICBnb3RvIGRvbmU7CisKKyAg
ICBEZXNjciA9IChQVlBEX0lERU5USUZJQ0FUSU9OX0RFU0NSSVBUT1IpKChQVUNIQVIpRGF0YS0+
RGVzY3JpcHRvcnMpOwogICAgIERlc2NyLT5Db2RlU2V0ICAgICAgICAgID0gVnBkQ29kZVNldEFz
Y2lpOwogICAgIERlc2NyLT5JZGVudGlmaWVyVHlwZSAgID0gVnBkSWRlbnRpZmllclR5cGVWZW5k
b3JJZDsKICAgICBEZXNjci0+SWRlbnRpZmllckxlbmd0aCA9IDE2OwpAQCAtMTAxNSw5ICsxMDE5
LDEzIEBAIFRhcmdldElucXVpcnk4MygKICAgICAgICAgICAgICAgICAgICAgICAgIlhFTjoldTol
dSIsCiAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldC0+RGV2aWNlSWQsCiAgICAgICAgICAg
ICAgICAgICAgICAgIFRhcmdldC0+VGFyZ2V0SWQpOworICAgIERhdGEtPlBhZ2VMZW5ndGggKz0g
c2l6ZW9mKFZQRF9JREVOVElGSUNBVElPTl9ERVNDUklQVE9SKSArIERlc2NyLT5JZGVudGlmaWVy
TGVuZ3RoOworCisgICAgLy8gQXBwZW5kIG90aGVyIGlkZW50aWZpZXJzIGFzIHJlcXVpcmVkCiAK
K2RvbmU6CiAgICAgU3JiLT5EYXRhVHJhbnNmZXJMZW5ndGggPSBzaXplb2YoVlBEX0lERU5USUZJ
Q0FUSU9OX1BBR0UpIC0gMSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yo
VlBEX0lERU5USUZJQ0FUSU9OX0RFU0NSSVBUT1IpICsgMTY7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBEYXRhLT5QYWdlTGVuZ3RoOwogICAgIFNyYi0+U3JiU3RhdHVzID0gU1JCX1NU
QVRVU19TVUNDRVNTOwogfQogCkBAIC0xNTkyLDcgKzE2MDAsNyBAQCBUYXJnZXRTdG9yZVJlYWRG
ZWF0dXJlcygKICAgICAgICAgICAgICAgICAgICAgICAgICAgJlRhcmdldC0+U3RvcmVJbnRlcmZh
Y2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFRhcmdldC0+QmFja2VuZFBhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJk
aXNjYXJkLXNlY3VyZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNjYXJkLWdyYW51
bGFyaXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlcik7CiAgICAgaWYgKE5U
X1NVQ0NFU1Moc3RhdHVzKSkgewogICAgICAgICBUYXJnZXQtPkRpc2NhcmRHcmFudWxhcml0eSA9
IHN0cnRvdWwoQnVmZmVyLCBOVUxMLCAxMCk7Ci0tIAoyLjguMwoKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QK
d2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj
dC5vcmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Mon May 15 15:53:03 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 15 May 2017 15:53: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 1dAIIw-0006DU-7K; Mon, 15 May 2017 15:53:02 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=301e7c014=owen.smith@citrix.com>)
 id 1dAIIv-0006DM-9X
 for win-pv-devel@lists.xenproject.org; Mon, 15 May 2017 15:53:01 +0000
Received: from [85.158.143.35] by server-3.bemta-6.messagelabs.com id
 A8/E9-03058-CDEC9195; Mon, 15 May 2017 15:53:00 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrLIsWRWlGSWpSXmKPExsWyU9JRQvf2Ocl
 Ig8M/5Sz+LE50YPQ4/OEKSwBjFGtmXlJ+RQJrxqJHi5gLmucwVix784S1gfHjTMYuRk4OCYEg
 iRmrGtlAbDYBDYkZnYtZuhg5OEQEvCVur+AHMYUFlCUOzbOFiGpIXJiRBlIsIqAncai1jx3EZ
 hFQlTiz5xHYQF4Bd4k961+xgtiMArISXxpXM4PYzALiEk1fVrJCLBWQWLLnPDOELSrx8vE/qL
 iBxNal+1gg6nMlbt96xQYxU1Di5MwnLBMY+WchGTULSdksJGWzgC5lFtCUWL9LH6JEUWJK90N
 2CFtDonXOXCjbUmLd3N2syGoWMHKsYlQvTi0qSy3SNdJLKspMzyjJTczM0TU0MNPLTS0uTkxP
 zUlMKtZLzs/dxAgMegYg2MG47K/TIUZJDiYlUV7Xl+KRQnxJ+SmVGYnFGfFFpTmpxYcYZTg4l
 CR4p5+VjBQSLEpNT61Iy8wBxh9MWoKDR0mEdxpImre4IDG3ODMdInWKUZfj3dIP75mEWPLy81
 KlxHmvghQJgBRllObBjYClgkuMslLCvIxARwnxFKQW5WaWoMq/YhTnYFQS5r0MMoUnM68EbtM
 roCOYgI4IA7mft7gkESEl1cDIKsy1hvHve6F/iSf+fy499G3GlZZTd/SF1507VshWfubW9m6P
 R5bnvze+EChaoRG4edqn6UGrG5UW71swS1rQL2vHooy6ktj/gnaOl2tX7Qv71D039ysL49aO8
 CccfGKT24X6b3nsrgvbW52mlVn2xX1X3bT4x8bFW9h5r6vLW8l33fJJ61ynxFKckWioxVxUnA
 gAJKA/swADAAA=
X-Env-Sender: prvs=301e7c014=owen.smith@citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1494863579!45649803!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.6 required=7.0 tests=BODY_RANDOM_LONG,
 HTML_50_60,HTML_MESSAGE,received_headers: No Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 35290 invoked from network); 15 May 2017 15:52:59 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
 by server-6.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
 15 May 2017 15:52:59 -0000
X-IronPort-AV: E=Sophos;i="5.38,345,1491264000"; d="scan'208,217";a="46058491"
From: Owen Smith <owen.smith@citrix.com>
To: "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Thread-Topic: [PATCH] Xenvbd Refactoring
Thread-Index: AQHSzZNSmC0EnhQlf0CuTMrPBsBFfg==
Date: Mon, 15 May 2017 15:52:57 +0000
Message-ID: <55f4425abd93461a87562f43e7c9e9f2@AMSPEX02CL02.citrite.net>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: [win-pv-devel] [PATCH] Xenvbd Refactoring
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/cgi-bin/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/cgi-bin/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3937999800834247868=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

--===============3937999800834247868==
Content-Language: en-GB
Content-Type: multipart/alternative;
	boundary="_000_55f4425abd93461a87562f43e7c9e9f2AMSPEX02CL02citritenet_"

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

SXQgc2VlbXMgSeKAmXZlIGV4cGVyaWVuY2VkIHNvbWUgbWFpbCBkZWxpdmVyeSBmYWlsdXJlcyB0
cnlpbmcgdG8gc2VuZCBhIDI2IHBhdGNoIHNlcmllcy4NClJhdGhlciB0aGFuIHJlc2VuZCB0aGUg
c2VyaWVzLCBJ4oCZdmUgcHV0IGEgYnJhbmNoIHVwIHRvIGV4YW1pbmUuDQoNCk9yaWdpbmFsIFsw
MC8yNl0gU3VtbWFyeToNCg0KQWxsIHBhdGNoZXMgc2hvdWxkIGJlIHRha2VuIHRvZ2V0aGVyLg0K
SW4gYW4gYXR0ZW1wdCB0byBpbXByb3ZlIG1haW50YWluYWJpbGl0eSBhbmQgY29kZSByZWFkYWJp
bGl0eSwgcmVmYWN0b3INCnhlbnZiZC4NClRoaXMgcGF0Y2ggc2VyaWVzIGFsc28gbW92ZXMgdGhl
IFNSQiBxdWV1ZWluZyByZXNwb25zaWJpbGl0eSB0byBzdG9ycG9ydCwNCmJ5IHByZXBhcmluZyBi
bGtpZiByZXF1ZXN0cyBkdXJpbmcgQnVpbGRJbyBhbmQgYXBwZW5kaW5nIGJsa2lmIHJlcXVlc3Rz
IHRvDQphIHBlbmRpbmcgcXVldWUgZm9yIHRoZSByaW5nIGR1cmluZyBTdGFydElvLiBUaGlzIHNo
b3VsZCBhbGxvdyBhIHJlZHVjdGlvbg0KaW4gcHJvY2Vzc2luZyBkdXJpbmcgdGhlIERQQyAoYXMg
dGhlIERQQyB3aWxsIG9ubHkgY29tcGxldGUgYmxraWYgcmVzcG9uc2VzLA0KYW5kIHRoZSBjb3Jy
ZXNwb25kaW5nIFNSQiwgYW5kIHN1Ym1pdCBibGtpZiByZXF1ZXN0cykgYW5kIHRha2UgYWR2YW50
YWdlIG9mDQpCdWlsZElvJ3MgY29uY3VycmVudCBjYWxscy4NCg0KVGVzdGVkIHdpdGggSExLLTE3
MDMgb24gV2luZG93cyAxMCB4NjQgKGJ1aWxkIDE1MDYzLnJzMl9yZWxlYXNlLjE3MDMxNy0xODM0
KQ0KQWxsIHRlc3RzIChpbmNsdWRpbmcgbm9uLVdIUUwgdGVzdHMpIHBhc3NlZA0KDQpJb01ldGVy
IHJlc3VsdHMgY29tcGFyZWQgdG8gcHJldmlvdXMgeGVudmJkIGFuZCBlbXVsYXRlZCBvbiBzaW5n
bGUgc29ja2V0DQpYZW9uIFgzNDUwIEAgMi42R0h6IChndWVzdCBoYXMgMiB2Q1BVcyksIHdpdGgg
OEdCIFJBTSAoZ3Vlc3QgaGFzIDRHQiwgMUdCIHJhbWZzKQ0KKDEgd29ya2VyLCBxdWV1ZS1kZXB0
aCAzMiwgNSBtaW51dGVzLCA0S0IgMjAlIHJlYWQsIDgwJSByYW5kb20sIDEyOEtCLWFsaWduZWQp
DQpUZXN0ZWQsIFN0b3JhZ2VCYWNraW5nLCBJT1BzDQpFbXVsYXRlZCwgSERELCA3MjYuNzUNCkVt
dWxhdGVkLCBSQU0sIDY5NS45Mw0KWGVuVmJkIDguMiwgSERELCA1MjUuNTINClhlblZiZCA4LjIs
IFJBTSwgNDMzMC41MQ0KVGhlc2VQYXRjaGVzLCBIREQsIDI0NzUuMjMNClRoZXNlUGF0Y2hlcywg
UkFNLCAzNjE5LjA2DQpOb3RlOiBUaGVyZSB3YXMgYSBsYXJnZSBhbW1vdW50IG9mIHZhcmlhbmNl
IGluIGFsbCB0aGUgcmVzdWx0cyBkdXJpbmcgcmVydW5zLA0Kd2l0aCBhbiBhcHByb3hpbWF0ZSAx
MC0yMCUgdmFyaWFuY2UgaW4gdGhlIHNhbWUgc2V0dXBzLiBUZXN0cyB3aXRoIFBWIGRyaXZlcnMN
CmJhY2tlZCBieSBSQU0gd2VyZSBtYXhpbmcgZ3Vlc3QgQ1BVIHV0aWxpemF0aW9uLg0KDQpPd2Vu
IFNtaXRoICgyNik6DQogIFJlbmFtZSBGZG8gLT4gQWRhcHRlciBSZW1vdmUgQWRhcHRlciByZWZl
cmVuY2UgY291bnRzDQogIFJlbmFtZSBQZG8gLT4gVGFyZ2V0DQogIFRpZHkgdXAgRHJpdmVyLmgv
LmMNCiAgUmVmYWN0b3IgQWRhcHRlci5jDQogIFBhc3MgUFhFTlZCRF9TUkJFWFQsIG5vdCBQU0NT
SV9SRVFVRVNUX0JMT0NLDQogIFJlZmFjdG9yIHRhcmdldC5jDQogIE1vdmUgU2NhdHRlckdhdGhl
ciBsaXN0IGl0ZXJhdGlvbiB0byBhZGFwdGVyLmMNCiAgUmVuYW1lIFNyYkV4dDo6U3JiIHRvIE9y
aWdpbmFsUmVxDQogIE1vdmUgbm9uLXF1ZXVlLXNyYiBoYW5kbGluZyB0byBCdWlsZElvDQogIEFk
ZCBvdmVycmlkZSB0byBkaXNhYmxlIHNwZWNpZmljIGZlYXR1cmVzDQogIFByZXBhcmUgcmVxdWVz
dHMgaW4gQnVpbGRJbw0KICBNb3ZlIFNyYkV4dCBjbGVhbnVwIGludG8gaW5saW5lIGZ1bmN0aW9u
DQogIFF1ZXJ5IGZvciBDYWNoZSBJbnRlcmZhY2UNCiAgVXNlIENBQ0hFIGludGVyZmFjZSBpbnN0
ZWFkIG9mIGxvb2thc2lkZSBsaXN0cw0KICBGaXggSW5kaXJlY3QgcmVxdWVzdHMNCiAgTW92ZSBC
bG9ja1JpbmdQb2xsIGlubGluZQ0KICBNb3ZlIFByZXBhcmVkL1N1Ym1pdHRlZCB0byBCbG9ja1Jp
bmcNCiAgUmVmYWN0b3IgSW5xdWlyeSAweDgzIGhhbmRsZXINCiAgUmVtb3ZlIFRhcmdldFF1ZXVl
U3JiLCBmb2xkIGludG8gY2FsbGVyDQogIFNldCBRdWV1ZSBEZXB0aCwgc29tZSBtaW5vciBmaXhl
cw0KICBBZGQgb3ZlcnJpZGVzIGZvciBNYXhUcmFuc2Zlckxlbmd0aCBhbmQgTWF4UGh5c2ljYWxC
cmVha3MNCiAgUmVuYW1lIFByZXBhcmVkIHRvIFF1ZXVlZA0KICBUcmFjayBRdWV1ZWQvU3VibWl0
dGVkL0NvbXBsZXRlZCBjb3VudHMNCiAgUmVhZCBvdmVycmlkZXMgYXQgc3RhcnQgb2YgZGF5DQog
IEZpeCBkaXNjYXJkIGRlYnVnIHN0YXRlbWVudHMNCiAgQWRkIG92ZXJyaWRlIGZvciByaW5nIHNp
emUNCg0Kc3JjL3hlbnZiZC9hZGFwdGVyLmMgICAgICAgICB8IDIxNjMgKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysNCnNyYy94ZW52YmQvYWRhcHRlci5oICAgICAgICAgfCAgMTI4ICsrDQpz
cmMveGVudmJkL2Jsb2NrcmluZy5jICAgICAgIHwgMTA0MCArKysrKysrKystLS0tLQ0Kc3JjL3hl
bnZiZC9ibG9ja3JpbmcuaCAgICAgICB8ICAgNDQgKy0NCnNyYy94ZW52YmQvZHJpdmVyLmMgICAg
ICAgICAgfCAgNDgwICsrLS0tLS0NCnNyYy94ZW52YmQvZHJpdmVyLmggICAgICAgICAgfCAgIDcz
ICstDQpzcmMveGVudmJkL2Zkby5jICAgICAgICAgICAgIHwgMjIwNiAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0NCnNyYy94ZW52YmQvZmRvLmggICAgICAgICAgICAgfCAgMTc5IC0tLQ0K
c3JjL3hlbnZiZC9mcm9udGVuZC5jICAgICAgICB8IDE3NzEgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tDQpzcmMveGVudmJkL2Zyb250ZW5kLmggICAgICAgIHwgIDE5NSAtLS0NCnNyYy94ZW52YmQv
Z3JhbnRlci5jICAgICAgICAgfCAgMTk4ICstLQ0Kc3JjL3hlbnZiZC9ncmFudGVyLmggICAgICAg
ICB8ICAgNDggKy0NCnNyYy94ZW52YmQvbm90aWZpZXIuYyAgICAgICAgfCAgMzM1IC0tLS0tDQpz
cmMveGVudmJkL25vdGlmaWVyLmggICAgICAgIHwgIDEwMSAtLQ0Kc3JjL3hlbnZiZC9wZG8uYyAg
ICAgICAgICAgICB8IDI3MzIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K
c3JjL3hlbnZiZC9wZG8uaCAgICAgICAgICAgICB8ICAyMjkgLS0tLQ0Kc3JjL3hlbnZiZC9wZG9p
bnF1aXJ5LmMgICAgICB8ICA1NTQgLS0tLS0tLS0NCnNyYy94ZW52YmQvcGRvaW5xdWlyeS5oICAg
ICAgfCAgIDY1IC0NCnNyYy94ZW52YmQvcXVldWUuYyAgICAgICAgICAgfCAgMTM5IC0tDQpzcmMv
eGVudmJkL3F1ZXVlLmggICAgICAgICAgIHwgICA4NiAtLQ0Kc3JjL3hlbnZiZC9zcmJleHQuaCAg
ICAgICAgICB8ICAgODUgKy0NCnNyYy94ZW52YmQvdGFyZ2V0LmMgICAgICAgICAgfCAzMTAwICsr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0Kc3JjL3hlbnZiZC90YXJn
ZXQuaCAgICAgICAgICB8ICAxNTIgKysrDQp2czIwMTIveGVudmJkL3hlbnZiZC52Y3hwcm9qIHwg
ICAgOCArLQ0KdnMyMDEzL3hlbnZiZC94ZW52YmQudmN4cHJvaiB8ICAgIDggKy0NCnZzMjAxNS94
ZW52YmQveGVudmJkLnZjeHByb2ogfCAgICA4ICstDQoyNiBmaWxlcyBjaGFuZ2VkLCA2NjA2IGlu
c2VydGlvbnMoKyksIDk1MjEgZGVsZXRpb25zKC0pDQpjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3hl
bnZiZC9hZGFwdGVyLmMNCmNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL2FkYXB0ZXIuaA0K
ZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvZmRvLmMNCmRlbGV0ZSBtb2RlIDEwMDY0NCBz
cmMveGVudmJkL2Zkby5oDQpkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9mcm9udGVuZC5j
DQpkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9mcm9udGVuZC5oDQpkZWxldGUgbW9kZSAx
MDA2NDQgc3JjL3hlbnZiZC9ub3RpZmllci5jDQpkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZi
ZC9ub3RpZmllci5oDQpkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9wZG8uYw0KZGVsZXRl
IG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvcGRvLmgNCmRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMveGVu
dmJkL3Bkb2lucXVpcnkuYw0KZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvcGRvaW5xdWly
eS5oDQpkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9xdWV1ZS5jDQpkZWxldGUgbW9kZSAx
MDA2NDQgc3JjL3hlbnZiZC9xdWV1ZS5oDQpjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC90
YXJnZXQuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvdGFyZ2V0LmgNCg0KLS0NCjIu
OC4zDQoNCkEgYnJhbmNoIHNob3dpbmcgdGhlIHBhdGNoZXMgaXMgYXZhaWxhYmxlIGF0Og0KaHR0
cHM6Ly9naXRodWIuY29tL093ZW5TbWl0aC94ZW52YmQvdHJlZS9leHBlcmltZW50DQo=

--_000_55f4425abd93461a87562f43e7c9e9f2AMSPEX02CL02citritenet_
Content-Type: text/html; charset="utf-8"
Content-ID: <AAF993761C4E1C4B90972AE76CAC6A8C@citrix.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l
dGEgbmFtZT0iR2VuZXJhdG9yIiBjb250ZW50PSJNaWNyb3NvZnQgV29yZCAxNSAoZmlsdGVyZWQg
bWVkaXVtKSI+DQo8c3R5bGU+PCEtLQ0KLyogRm9udCBEZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFj
ZQ0KCXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2
IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToy
IDE1IDUgMiAyIDIgNCAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3Jt
YWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNtOw0KCW1hcmdpbi1i
b3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp
IixzYW5zLXNlcmlmO30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1v
bmx5O30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzkyLjBwdDsNCgltYXJn
aW46NzIuMHB0IDcyLjBwdCA3Mi4wcHQgNzIuMHB0O30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFn
ZTpXb3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVOLUdC
Ij4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JdCBz
ZWVtcyBJ4oCZdmUgZXhwZXJpZW5jZWQgc29tZSBtYWlsIGRlbGl2ZXJ5IGZhaWx1cmVzIHRyeWlu
ZyB0byBzZW5kIGEgMjYgcGF0Y2ggc2VyaWVzLjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlJh
dGhlciB0aGFuIHJlc2VuZCB0aGUgc2VyaWVzLCBJ4oCZdmUgcHV0IGEgYnJhbmNoIHVwIHRvIGV4
YW1pbmUuPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj5PcmlnaW5hbCBbMDAvMjZdIFN1bW1hcnk6PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij5BbGwgcGF0Y2hlcyBzaG91bGQgYmUgdGFrZW4gdG9nZXRoZXIuPC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+SW4gYW4gYXR0ZW1wdCB0byBpbXByb3ZlIG1haW50YWluYWJpbGl0eSBhbmQgY29k
ZSByZWFkYWJpbGl0eSwgcmVmYWN0b3I8L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj54ZW52YmQu
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhpcyBwYXRjaCBzZXJpZXMgYWxzbyBtb3ZlcyB0
aGUgU1JCIHF1ZXVlaW5nIHJlc3BvbnNpYmlsaXR5IHRvIHN0b3Jwb3J0LDwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPmJ5IHByZXBhcmluZyBibGtpZiByZXF1ZXN0cyBkdXJpbmcgQnVpbGRJbyBh
bmQgYXBwZW5kaW5nIGJsa2lmIHJlcXVlc3RzIHRvPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
YSBwZW5kaW5nIHF1ZXVlIGZvciB0aGUgcmluZyBkdXJpbmcgU3RhcnRJby4gVGhpcyBzaG91bGQg
YWxsb3cgYSByZWR1Y3Rpb248L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5pbiBwcm9jZXNzaW5n
IGR1cmluZyB0aGUgRFBDIChhcyB0aGUgRFBDIHdpbGwgb25seSBjb21wbGV0ZSBibGtpZiByZXNw
b25zZXMsPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+YW5kIHRoZSBjb3JyZXNwb25kaW5nIFNS
QiwgYW5kIHN1Ym1pdCBibGtpZiByZXF1ZXN0cykgYW5kIHRha2UgYWR2YW50YWdlIG9mPC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+QnVpbGRJbydzIGNvbmN1cnJlbnQgY2FsbHMuPC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj5UZXN0ZWQgd2l0aCBITEstMTcwMyBvbiBXaW5kb3dzIDEwIHg2NCAoYnVpbGQgMTUwNjMu
cnMyX3JlbGVhc2UuMTcwMzE3LTE4MzQpPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+QWxsIHRl
c3RzIChpbmNsdWRpbmcgbm9uLVdIUUwgdGVzdHMpIHBhc3NlZDwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SW9NZXRl
ciByZXN1bHRzIGNvbXBhcmVkIHRvIHByZXZpb3VzIHhlbnZiZCBhbmQgZW11bGF0ZWQgb24gc2lu
Z2xlIHNvY2tldA0KPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+WGVvbiBYMzQ1MCBAIDIuNkdI
eiAoZ3Vlc3QgaGFzIDIgdkNQVXMpLCB3aXRoIDhHQiBSQU0gKGd1ZXN0IGhhcyA0R0IsIDFHQiBy
YW1mcyk8L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4oMSB3b3JrZXIsIHF1ZXVlLWRlcHRoIDMy
LCA1IG1pbnV0ZXMsIDRLQiAyMCUgcmVhZCwgODAlIHJhbmRvbSwgMTI4S0ItYWxpZ25lZCk8L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UZXN0ZWQsIFN0b3JhZ2VCYWNraW5nLCBJT1BzPC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+RW11bGF0ZWQsIEhERCwgNzI2Ljc1PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+RW11bGF0ZWQsIFJBTSwgNjk1LjkzPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+WGVuVmJkIDguMiwgSERELCA1MjUuNTI8L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5YZW5W
YmQgOC4yLCBSQU0sIDQzMzAuNTE8L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGVzZVBhdGNo
ZXMsIEhERCwgMjQ3NS4yMzwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoZXNlUGF0Y2hlcywg
UkFNLCAzNjE5LjA2PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Tm90ZTogVGhlcmUgd2FzIGEg
bGFyZ2UgYW1tb3VudCBvZiB2YXJpYW5jZSBpbiBhbGwgdGhlIHJlc3VsdHMgZHVyaW5nIHJlcnVu
cyw8L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj53aXRoIGFuIGFwcHJveGltYXRlIDEwLTIwJSB2
YXJpYW5jZSBpbiB0aGUgc2FtZSBzZXR1cHMuIFRlc3RzIHdpdGggUFYgZHJpdmVyczwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPmJhY2tlZCBieSBSQU0gd2VyZSBtYXhpbmcgZ3Vlc3QgQ1BVIHV0
aWxpemF0aW9uLjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+T3dlbiBTbWl0aCAoMjYpOjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPiZuYnNwOyBSZW5hbWUgRmRvIC0mZ3Q7IEFkYXB0ZXIgUmVtb3ZlIEFkYXB0ZXIg
cmVmZXJlbmNlIGNvdW50czwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOyBSZW5hbWUg
UGRvIC0mZ3Q7IFRhcmdldDwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOyBUaWR5IHVw
IERyaXZlci5oLy5jPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7IFJlZmFjdG9yIEFk
YXB0ZXIuYzwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOyBQYXNzIFBYRU5WQkRfU1JC
RVhULCBub3QgUFNDU0lfUkVRVUVTVF9CTE9DSzwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZu
YnNwOyBSZWZhY3RvciB0YXJnZXQuYzwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOyBN
b3ZlIFNjYXR0ZXJHYXRoZXIgbGlzdCBpdGVyYXRpb24gdG8gYWRhcHRlci5jPC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jm5ic3A7IFJlbmFtZSBTcmJFeHQ6OlNyYiB0byBPcmlnaW5hbFJlcTwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOyBNb3ZlIG5vbi1xdWV1ZS1zcmIgaGFuZGxp
bmcgdG8gQnVpbGRJbzwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOyBBZGQgb3ZlcnJp
ZGUgdG8gZGlzYWJsZSBzcGVjaWZpYyBmZWF0dXJlczwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZuYnNwOyBQcmVwYXJlIHJlcXVlc3RzIGluIEJ1aWxkSW88L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mbmJzcDsgTW92ZSBTcmJFeHQgY2xlYW51cCBpbnRvIGlubGluZSBmdW5jdGlvbjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOyBRdWVyeSBmb3IgQ2FjaGUgSW50ZXJmYWNlPC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7IFVzZSBDQUNIRSBpbnRlcmZhY2UgaW5zdGVh
ZCBvZiBsb29rYXNpZGUgbGlzdHM8L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDsgRml4
IEluZGlyZWN0IHJlcXVlc3RzPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7IE1vdmUg
QmxvY2tSaW5nUG9sbCBpbmxpbmU8L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDsgTW92
ZSBQcmVwYXJlZC9TdWJtaXR0ZWQgdG8gQmxvY2tSaW5nPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+Jm5ic3A7IFJlZmFjdG9yIElucXVpcnkgMHg4MyBoYW5kbGVyPC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+Jm5ic3A7IFJlbW92ZSBUYXJnZXRRdWV1ZVNyYiwgZm9sZCBpbnRvIGNhbGxlcjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOyBTZXQgUXVldWUgRGVwdGgsIHNvbWUgbWlu
b3IgZml4ZXM8L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDsgQWRkIG92ZXJyaWRlcyBm
b3IgTWF4VHJhbnNmZXJMZW5ndGggYW5kIE1heFBoeXNpY2FsQnJlYWtzPC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Jm5ic3A7IFJlbmFtZSBQcmVwYXJlZCB0byBRdWV1ZWQ8L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj4mbmJzcDsgVHJhY2sgUXVldWVkL1N1Ym1pdHRlZC9Db21wbGV0ZWQgY291
bnRzPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7IFJlYWQgb3ZlcnJpZGVzIGF0IHN0
YXJ0IG9mIGRheTwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOyBGaXggZGlzY2FyZCBk
ZWJ1ZyBzdGF0ZW1lbnRzPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7IEFkZCBvdmVy
cmlkZSBmb3IgcmluZyBzaXplPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5zcmMveGVudmJkL2FkYXB0ZXIuYyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8IDIxNjMgJiM0Mzsm
IzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0
MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7
JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOzwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPnNyYy94
ZW52YmQvYWRhcHRlci5oJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7IHwmbmJzcDsgMTI4ICYjNDM7JiM0Mzs8L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5z
cmMveGVudmJkL2Jsb2NrcmluZy5jJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
IHwgMTA0MCAmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzstLS0t
LTwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPnNyYy94ZW52YmQvYmxvY2tyaW5nLmgmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyA0NCAmIzQzOy08L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5zcmMveGVudmJkL2RyaXZlci5jJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsgNDgwICYjNDM7
JiM0MzstLS0tLTwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPnNyYy94ZW52YmQvZHJpdmVyLmgm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZu
YnNwOyZuYnNwOyA3MyAmIzQzOy08L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5zcmMveGVudmJk
L2Zkby5jJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwgMjIwNiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS08L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5zcmMveGVudmJkL2Zkby5oJm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7IHwmbmJzcDsgMTc5IC0tLTwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPnNyYy94ZW52YmQv
ZnJvbnRlbmQuYyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8IDE3
NzEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+c3Jj
L3hlbnZiZC9mcm9udGVuZC5oJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7IHwmbmJzcDsgMTk1IC0tLTwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPnNyYy94ZW52YmQv
Z3JhbnRlci5jJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
IHwmbmJzcDsgMTk4ICYjNDM7LS08L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5zcmMveGVudmJk
L2dyYW50ZXIuaCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyB8Jm5ic3A7Jm5ic3A7IDQ4ICYjNDM7LTwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPnNyYy94
ZW52YmQvbm90aWZpZXIuYyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyB8Jm5ic3A7IDMzNSAtLS0tLTwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPnNyYy94ZW52YmQv
bm90aWZpZXIuaCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5i
c3A7IDEwMSAtLTwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPnNyYy94ZW52YmQvcGRvLmMmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgfCAyNzMyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5zcmMveGVudmJkL3Bkby5oJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
IHwmbmJzcDsgMjI5IC0tLS08L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5zcmMveGVudmJkL3Bk
b2lucXVpcnkuYyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7IDU1NCAtLS0t
LS0tLTwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPnNyYy94ZW52YmQvcGRvaW5xdWlyeS5oJm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsgNjUgLTwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPnNyYy94ZW52YmQvcXVldWUuYyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7IDEzOSAtLTwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPnNyYy94ZW52YmQvcXVldWUuaCZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7
IDg2IC0tPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+c3JjL3hlbnZiZC9zcmJleHQuaCZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7
Jm5ic3A7IDg1ICYjNDM7LTwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPnNyYy94ZW52YmQvdGFy
Z2V0LmMmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsgfCAzMTAwICYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYj
NDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQz
OyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0Mzsm
IzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOzwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPnNyYy94ZW52YmQvdGFyZ2V0LmgmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAxNTIgJiM0MzsmIzQz
OyYjNDM7PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+dnMyMDEyL3hlbnZiZC94ZW52YmQudmN4
cHJvaiB8Jm5ic3A7Jm5ic3A7Jm5ic3A7IDggJiM0MzstPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+dnMyMDEzL3hlbnZiZC94ZW52YmQudmN4cHJvaiB8Jm5ic3A7Jm5ic3A7Jm5ic3A7IDggJiM0
MzstPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+dnMyMDE1L3hlbnZiZC94ZW52YmQudmN4cHJv
aiB8Jm5ic3A7Jm5ic3A7Jm5ic3A7IDggJiM0MzstPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
MjYgZmlsZXMgY2hhbmdlZCwgNjYwNiBpbnNlcnRpb25zKCYjNDM7KSwgOTUyMSBkZWxldGlvbnMo
LSk8L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5jcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZi
ZC9hZGFwdGVyLmM8L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5jcmVhdGUgbW9kZSAxMDA2NDQg
c3JjL3hlbnZiZC9hZGFwdGVyLmg8L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5kZWxldGUgbW9k
ZSAxMDA2NDQgc3JjL3hlbnZiZC9mZG8uYzwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPmRlbGV0
ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL2Zkby5oPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
ZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvZnJvbnRlbmQuYzwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPmRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL2Zyb250ZW5kLmg8L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj5kZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9ub3RpZmll
ci5jPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52
YmQvbm90aWZpZXIuaDwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPmRlbGV0ZSBtb2RlIDEwMDY0
NCBzcmMveGVudmJkL3Bkby5jPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ZGVsZXRlIG1vZGUg
MTAwNjQ0IHNyYy94ZW52YmQvcGRvLmg8L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5kZWxldGUg
bW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9wZG9pbnF1aXJ5LmM8L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj5kZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9wZG9pbnF1aXJ5Lmg8L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj5kZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9xdWV1ZS5jPC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvcXVl
dWUuaDwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPmNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMveGVu
dmJkL3RhcmdldC5jPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Y3JlYXRlIG1vZGUgMTAwNjQ0
IHNyYy94ZW52YmQvdGFyZ2V0Lmg8L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNw
OzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPi0tIDwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjIuOC4zPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5BIGJyYW5jaCBzaG93aW5nIHRoZSBwYXRjaGVzIGlz
IGF2YWlsYWJsZSBhdDo8L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5odHRwczovL2dpdGh1Yi5j
b20vT3dlblNtaXRoL3hlbnZiZC90cmVlL2V4cGVyaW1lbnQ8L3A+DQo8L2Rpdj4NCjwvYm9keT4N
CjwvaHRtbD4NCg==

--_000_55f4425abd93461a87562f43e7c9e9f2AMSPEX02CL02citritenet_--


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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

--===============3937999800834247868==--


From win-pv-devel-bounces@lists.xenproject.org Thu May 18 11:32:18 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 May 2017 11:32:18 +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 1dBJfD-0003MK-MH; Thu, 18 May 2017 11:32:15 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=304abdc7e=Paul.Durrant@citrix.com>)
 id 1dBJfD-0003ME-8w
 for win-pv-devel@lists.xenproject.org; Thu, 18 May 2017 11:32:15 +0000
Received: from [85.158.143.35] by server-2.bemta-6.messagelabs.com id
 87/03-03058-E368D195; Thu, 18 May 2017 11:32:14 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrOLMWRWlGSWpSXmKPExsXitHRDpK5dm2y
 kwfKDrBZ/Fic6MHoc/nCFJYAxijUzLym/IoE14/DMl2wFM1QqTmy8xdzAeFW2i5GTQ0LAX2L9
 0ZssIDabgI7E1KeXWEFsEQF1iX2ftzKB2MwCWhINE5eA2cICNhI3G0+A1bAIqEp8enWEHcTmF
 XCVuN9wGGgOB9BMOYnunW4gYSEBFYn1U2exQZQISpyc+YQFYqSExMEXL5gnMHLPQpKahSS1gJ
 FpFaNGcWpRWWqRrqGhXlJRZnpGSW5iZo6uoYGZXm5qcXFiempOYlKxXnJ+7iZGYCAwAMEOxk/
 LAg4xSnIwKYnyHi6QjRTiS8pPqcxILM6ILyrNSS0+xCjDwaEkwXuzBSgnWJSanlqRlpkDDEmY
 tAQHj5II7xWQNG9xQWJucWY6ROoUoy7Hu6Uf3jMJseTl56VKifNuACkSACnKKM2DGwGLj0uMs
 lLCvIxARwnxFKQW5WaWoMq/YhTnYFQS5l0JMoUnM68EbtMroCOYgI5ofiANckRJIkJKqoHxoE
 5z4JamNsO4F9L2YW+9713XCG1aeb+knJN/hsyqSn61HfOMdepcFD82xKV/2/zY0uTkqh+NKlM
 YnrLO4HUq3fmn9lnstO9/dfI+Hvq1d3HNxqft8T3+WzbN71u85hfjH/O+JOUXO/KzXCOazc4Z
 uJ29wvnyasKTzuSavyz5z1nnHmBu5bdRYinOSDTUYi4qTgQAYvS9ZYoCAAA=
X-Env-Sender: prvs=304abdc7e=Paul.Durrant@citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1495107132!69194897!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 59979 invoked from network); 18 May 2017 11:32:13 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
 by server-15.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
 18 May 2017 11:32:13 -0000
X-IronPort-AV: E=Sophos;i="5.38,358,1491264000"; d="scan'208";a="424354696"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Thu, 18 May 2017 12:31:51 +0100
Message-ID: <1495107111-891-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] Add BUILD.md and fix final package location
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/cgi-bin/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/cgi-bin/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>

TWljcm9zb2Z0IGhlbHBmdWxseSByZW1vdmVkIHRoZSBQYWNrYWdlRGlyIHByb3BlcnR5IGZyb20g
cGFja2FnZSBwcm9qZWN0cwppbiBWUzIwMTUgc28sIGFzIGFuIGludGVyaW0gZml4LCBPdXREaXIg
d2FzIHVzZWQuIFRoaXMgdW5mb3J0dW5hdGVseSBtZWFucwp0aGF0IHBhY2thZ2Ugb3V0cHV0IGVu
ZHMgdXAgaW4geGVuY29ucy88YXJjaD4vcGFja2FnZSByYXRoZXIgdGhhbiBqdXN0CnhlbmNvbnMv
PGFyY2g+LgoKVGhpcyBwYXRjaCBmaXhlcyB0aGUgZmluYWwgcGFja2FnZSBsb2NhdGlvbiBieSB1
c2luZyBweXRob24gdG8gZG8gdGhlCmZpbmFsIGNvcHkgKHJlcGxhY2luZyB3aGF0IG9sZGVyIFZT
IHVzZWQgdG8gZG8pIGFuZCBhbHNvIGFkZHMgYSBCVUlMRC5tZCwKd2hpY2ggd2FzIG1pc3Npbmcu
CgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgot
LS0KIEJVSUxELm1kICAgICAgICAgICAgICAgICAgICAgICB8IDQ1ICsrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKwogYnVpbGQucHkgICAgICAgICAgICAgICAgICAgICAg
IHwgMjcgKysrKysrKysrKysrKysrKysrKysrKysrKwogdnMyMDE1L3BhY2thZ2UvcGFja2FnZS52
Y3hwcm9qIHwgIDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygrKSwgMSBkZWxl
dGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IEJVSUxELm1kCgpkaWZmIC0tZ2l0IGEvQlVJTEQu
bWQgYi9CVUlMRC5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZTE0MDJm
Ci0tLSAvZGV2L251bGwKKysrIGIvQlVJTEQubWQKQEAgLTAsMCArMSw0NSBAQAorQnVpbGRpbmcg
dGhlIFhlbkNvbnMgUGFja2FnZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitGaXJz
dCB5b3UnbGwgbmVlZCBhIGRldmljZSBkcml2ZXIgYnVpbGQgZW52aXJvbm1lbnQgZm9yIFdpbmRv
d3MgMTAuCitUaGlzIG1lYW5zOgorCisqICAgVmlzdWFsIFN0dWRpbyAyMDE1IChBbnkgU0tVLCBp
bmNsdWRpbmcgRXhwcmVzcyBvciBDb21tdW5pdHkpCisqICAgV2luZG93cyBEcml2ZXIgS2l0IDEw
CisKK0luc3RhbGwgVmlzdWFsIFN0dWRpbyBmaXJzdCAoeW91IG9ubHkgbmVlZCBpbnN0YWxsIE1G
QyBmb3IgQysrKSBhbmQgdGhlbgordGhlIFdESy4gU2V0IGFuIGVudmlyb25tZW50IHZhcmlhYmxl
IGNhbGxlZCBWUyB0byB0aGUgYmFzZSBvZiB0aGUgVmlzdWFsCitTdHVkaW8gSW5zdGFsbGF0aW9u
IChlLmcuIEM6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMTQuMCkgYW5k
CithIHZhcmlhYmxlIGNhbGxlZCBLSVQgdG8gdGhlIGJhc2Ugb2YgdGhlIFdESworKGUuZy4gQzpc
UHJvZ3JhbSBGaWxlc1xXaW5kb3dzIEtpdHNcMTApLiBBbHNvIHNldCBhbiBlbnZpcm9ubWVudCB2
YXJpYWJsZQorY2FsbGVkIFNZTUJPTFxfU0VSVkVSIHRvIHBvaW50IGF0IGEgbG9jYXRpb24gd2hl
cmUgZHJpdmVyIHN5bWJvbHMgY2FuIGJlCitzdG9yZWQuIFRoaXMgY2FuIGJlIGxvY2FsIGRpcmVj
dG9yeSBlLmcuIEM6XFN5bWJvbHMuCisKK1lvdSB3aWxsIGFsc28gbmVlZCB0byBhY3F1aXJlIHRo
ZSBESUZ4IHJlLWRpc3RyaWJ1dGFibGUgcGFja2FnZSBmcm9tIG9uZQorb2YgdGhlIG9sZGVyIFdE
S3MgKGFzIGl0IGFwcGVhcnMgbm90IHRvIGJlIHByZXNlbnQgaW4gV0RLMTApLCBzbyB0aGF0IHRo
ZQorZHJpdmVyIGJ1aWxkIGNhbiBjb3B5IGRwaW5zdC5leGUgaW50byB0aGUgb3V0cHV0LgorU2V0
IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBEUElOU1RfUkVESVNUIHRvIHRoZSBiYXNlIGRwaW5z
dCBkaXJlY3RvcnkKKy0gdGhlIGRpcmVjdG9yeSB1bmRlciB3aGljaCB0aGUgeDg2IGFuZCB4NjQg
c3ViLWRpcmVjdG9yaWVzIGNvbnRhaW5pbmcKK2RwaW5zdC5leGUgY2FuIGJlIGZvdW5kCisoZS5n
LiBDOlxQcm9ncmFtIEZpbGVzICh4ODYpXFdpbmRvd3MgS2l0c1w4LjFcUmVkaXN0XERJRnhcZHBp
bnN0XEVuZ011aSkKKworTmV4dCB5b3UnbGwgbmVlZCBhIDMueCB2ZXJzaW9uIG9mIHB5dGhvbiAo
d2hpY2ggeW91IGNhbiBnZXQgZnJvbQoraHR0cDovL3d3dy5weXRob24ub3JnKS4gTWFrZSBzdXJl
IHB5dGhvbi5leGUgaXMgc29tZXdoZXJlIG9uIHlvdXIgZGVmYXVsdAorcGF0aC4KKworTm93IGZp
cmUgdXAgYSBDb21tYW5kIFByb21wdCBhbmQgbmF2aWdhdGUgdG8gdGhlIGJhc2Ugb2YgeW91ciBn
aXQgcmVwb3NpdG9yeS4KK0F0IHRoZSBwcm9tcHQgdHlwZToKKworICAgIGJ1aWxkLnB5IGNoZWNr
ZWQKKworVGhpcyB3aWxsIGNyZWF0ZSBhIGRlYnVnIGJ1aWxkIG9mIHRoZSBkcml2ZXIuIFRvIGNy
ZWF0ZSBhIG5vbi1kZWJ1ZyBidWlsZAordHlwZToKKworICAgIGJ1aWxkLnB5IGZyZWUKKworTm90
ZSB0aGF0IFN0YXRpYyBEcml2ZXIgVmVyaWZpZXIgaXMgcnVuIGJ5IGRlZmF1bHQgYXMgcGFydCBv
ZiB0aGUgYnVpbGQKK3Byb2Nlc3MuIFRoaXMgY2FuIGJlIHZlcnkgdGltZSBjb25zdW1pbmcuIElm
IHlvdSBkb24ndCB3YW50IHRvIHJ1biB0aGUKK3ZlcmlmaWVyIHRoZW4geW91IGNhbiBhZGQgdGhl
ICdub3Nkdicga2V5d29yZCB0byB0aGUgZW5kIG9mIHlvdXIgY29tbWFuZAorZS5nLjoKKworICAg
IGJ1aWxkLnB5IGZyZWUgbm9zZHYKZGlmZiAtLWdpdCBhL2J1aWxkLnB5IGIvYnVpbGQucHkKaW5k
ZXggZjcwMzFjYS4uNzEwYjIzNCAxMDA2NDQKLS0tIGEvYnVpbGQucHkKKysrIGIvYnVpbGQucHkK
QEAgLTIwNSw2ICsyMDUsMjggQEAgZGVmIGJ1aWxkX3NsbihuYW1lLCByZWxlYXNlLCBhcmNoLCBk
ZWJ1ZywgdnMpOgogCiAgICAgbXNidWlsZChwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgJ0J1aWxk
JywgbmFtZSArICcuc2xuJywgJycsIHZzKQogCitkZWYgY29weV9wYWNrYWdlKG5hbWUsIHJlbGVh
c2UsIGFyY2gsIGRlYnVnLCB2cyk6CisgICAgY29uZmlndXJhdGlvbiA9IGdldF9jb25maWd1cmF0
aW9uKHJlbGVhc2UsIGRlYnVnKQorCisgICAgaWYgYXJjaCA9PSAneDg2JzoKKyAgICAgICAgcGxh
dGZvcm0gPSAnV2luMzInCisgICAgZWxpZiBhcmNoID09ICd4NjQnOgorICAgICAgICBwbGF0Zm9y
bSA9ICd4NjQnCisKKyAgICBwYXR0ZXJuID0gJy8nLmpvaW4oW3ZzLCAnJy5qb2luKGNvbmZpZ3Vy
YXRpb24uc3BsaXQoJyAnKSksIHBsYXRmb3JtLCAncGFja2FnZScsICcqJ10pCisgICAgcHJpbnQo
J0NvcHlpbmcgcGFja2FnZSBmcm9tICVzJyAlIHBhdHRlcm4pCisKKyAgICBmaWxlcyA9IGdsb2Iu
Z2xvYihwYXR0ZXJuKQorCisgICAgZHN0ID0gb3MucGF0aC5qb2luKG5hbWUsIGFyY2gpCisKKyAg
ICBvcy5tYWtlZGlycyhkc3QsIGV4aXN0X29rPVRydWUpCisKKyAgICBmb3IgZmlsZSBpbiBmaWxl
czoKKyAgICAgICAgbmV3ID0gc2h1dGlsLmNvcHkoZmlsZSwgZHN0KQorICAgICAgICBwcmludChu
ZXcpCisKKyAgICBwcmludCgnJykKIAogZGVmIHJlbW92ZV90aW1lc3RhbXBzKHBhdGgpOgogICAg
IHRyeToKQEAgLTM5OCw4ICs0MjAsMTMgQEAgaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAg
ICAgICAgICAgICAgICAndnMyMDEzJzonV2luZG93cyA3JywKICAgICAgICAgICAgICAgICAndnMy
MDE1JzonV2luZG93cyA4JyB9CiAKKyAgICBzaHV0aWwucm10cmVlKGRyaXZlciwgaWdub3JlX2Vy
cm9ycz1UcnVlKQorCiAgICAgYnVpbGRfc2xuKGRyaXZlciwgcmVsZWFzZVt2c10sICd4ODYnLCBk
ZWJ1Z1tzeXMuYXJndlsxXV0sIHZzKQorICAgIGNvcHlfcGFja2FnZShkcml2ZXIsIHJlbGVhc2Vb
dnNdLCAneDg2JywgZGVidWdbc3lzLmFyZ3ZbMV1dLCB2cykKKwogICAgIGJ1aWxkX3Nsbihkcml2
ZXIsIHJlbGVhc2VbdnNdLCAneDY0JywgZGVidWdbc3lzLmFyZ3ZbMV1dLCB2cykKKyAgICBjb3B5
X3BhY2thZ2UoZHJpdmVyLCByZWxlYXNlW3ZzXSwgJ3g2NCcsIGRlYnVnW3N5cy5hcmd2WzFdXSwg
dnMpCiAKICAgICBzeW1zdG9yZV9hZGQoZHJpdmVyLCByZWxlYXNlW3ZzXSwgJ3g4NicsIGRlYnVn
W3N5cy5hcmd2WzFdXSwgdnMpCiAgICAgc3ltc3RvcmVfYWRkKGRyaXZlciwgcmVsZWFzZVt2c10s
ICd4NjQnLCBkZWJ1Z1tzeXMuYXJndlsxXV0sIHZzKQpkaWZmIC0tZ2l0IGEvdnMyMDE1L3BhY2th
Z2UvcGFja2FnZS52Y3hwcm9qIGIvdnMyMDE1L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qCmluZGV4
IDJlNWMwZWIuLmE4YzA3MjcgMTAwNjQ0Ci0tLSBhL3ZzMjAxNS9wYWNrYWdlL3BhY2thZ2UudmN4
cHJvagorKysgYi92czIwMTUvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oKQEAgLTMwLDcgKzMwLDcg
QEAKICAgICA8VmVyaWZ5RHJpdmVycyAvPgogICAgIDxWZXJpZnlGbGFncz4xMzM1NjM8L1Zlcmlm
eUZsYWdzPgogICAgIDxJbnREaXI+Li5cJChQcm9qZWN0TmFtZSlcJChDb25maWd1cmF0aW9uTmFt
ZSlcJChQbGF0Zm9ybSlcPC9JbnREaXI+Ci0gICAgPE91dERpcj4uLlwuLlx4ZW5jb25zXCQoRERL
UGxhdGZvcm0pXDwvT3V0RGlyPgorICAgIDxPdXREaXI+Li5cJChDb25maWd1cmF0aW9uTmFtZSlc
JChQbGF0Zm9ybSlcPC9PdXREaXI+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEl0ZW1Hcm91cD4K
ICAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlx4ZW5jb25zXHhlbmNvbnMudmN4cHJv
aiI+Ci0tIAoyLjUuMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvY2dpLWJpbi9tYWlsbWFuL2xp
c3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Thu May 18 12:01:36 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 May 2017 12:01: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 1dBK7c-0001Cf-B9; Thu, 18 May 2017 12:01:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=304abdc7e=Paul.Durrant@citrix.com>)
 id 1dBK7a-0001CV-NO
 for win-pv-devel@lists.xenproject.org; Thu, 18 May 2017 12:01:35 +0000
Received: from [85.158.137.68] by server-5.bemta-3.messagelabs.com id
 4F/F9-02199-D1D8D195; Thu, 18 May 2017 12:01:33 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrBLMWRWlGSWpSXmKPExsXitHRDpK5Mr2y
 kwY85YhZ/Fic6MHoc/nCFJYAxijUzLym/IoE14/fsx0wFi1rYKxYvWsbawLh7MVsXIweHhIC/
 xJ5Dfl2MnBxsAjoSU59eYgWxRQTUJfZ93soEYjMLaEk0TFwCZgsLmEtsb57HDGKzCKhK9B/7C
 xbnFXCTuP55NtRIOYnunW4gYSEBFYn1U2exQZQISpyc+YQFYqSExMEXL5gnMHLPQpKahSS1gJ
 FpFaNGcWpRWWqRrpGZXlJRZnpGSW5iZo6uoYGxXm5qcXFiempOYlKxXnJ+7iZGYCjUMzAw7mB
 s2Ot3iFGSg0lJlPdwgWykEF9SfkplRmJxRnxRaU5q8SFGGQ4OJQneC91AOcGi1PTUirTMHGBQ
 wqQlOHiURHjvg6R5iwsSc4sz0yFSpxh1Od4t/fCeSYglLz8vVUocYoYASFFGaR7cCFiEXGKUl
 RLmZWRgYBDiKUgtys0sQZV/xSjOwagkzPsZZApPZl4J3KZXQEcwAR3R/EAa5IiSRISUVANjKn
 PnN//1ljcPH/in62MQFizJNqnWiWPTU/UO98hTxtd5xc8sui+VYht86nvJLtfU3aV7XA9Vmp0
 4nLdo1zul9zwKbKnf7qaW6HoGnLhie+rk2/Pm1id5nb5by+b6udXI/3u0z+TJhvZVH089yP53
 c8f09sU64TY2Ic9/ucQc+2xb/vB136MuJZbijERDLeai4kQAl/vQiIsCAAA=
X-Env-Sender: prvs=304abdc7e=Paul.Durrant@citrix.com
X-Msg-Ref: server-13.tower-31.messagelabs.com!1495108888!100497590!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 61545 invoked from network); 18 May 2017 12:01:30 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
 by server-13.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
 18 May 2017 12:01:30 -0000
X-IronPort-AV: E=Sophos;i="5.38,358,1491264000"; d="scan'208";a="424358110"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Thu, 18 May 2017 13:01:05 +0100
Message-ID: <1495108865-1090-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] Remove VS2012 and VS2013 build scripts
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/cgi-bin/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/cgi-bin/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>

VGhpcyBwYXRjaCByZW1vdmVzIHRoZSBzY3JpcHRzIGZvciBidWlsZGluZyB1bmRlciBWUzIwMTMg
YW5kIFZTMjAxMyBhbmQKYWxzbyBmaXhlcyB0aGUgcGFja2FnZSBkZXN0aW5hdGlvbiB3aGVuIGJ1
aWxkaW5nIHVzaW5nIFZTMjAxNS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5k
dXJyYW50QGNpdHJpeC5jb20+Ci0tLQogQlVJTEQubWQgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8ICAzNiArKy0tCiBidWlsZC5weSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgIDI3ICsrKwogdnMyMDEyL2NvbmZpZ3MucHJvcHMgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1MyAtLS0tLS0KIHZzMjAxMi9wYWNrYWdlL3Bh
Y2thZ2UudmN4cHJvaiAgICAgICAgICAgICAgICAgICAgfCAgNjMgLS0tLS0tLQogdnMyMDEyL3Bh
Y2thZ2UvcGFja2FnZS52Y3hwcm9qLnVzZXIgICAgICAgICAgICAgICB8ICAgOCAtCiB2czIwMTIv
dGFyZ2V0cy5wcm9wcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUxIC0tLS0tCiB2
czIwMTIveGVuL3hlbi52Y3hwcm9qICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAyIC0t
LS0tLS0tLS0KIHZzMjAxMi94ZW4veGVuLnZjeHByb2oudXNlciAgICAgICAgICAgICAgICAgICAg
ICAgfCAgIDggLQogdnMyMDEyL3hlbmJ1cy5zbG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8IDIwNCAtLS0tLS0tLS0tLS0tLS0tLS0tLQogdnMyMDEyL3hlbmJ1cy94ZW5idXMudmN4
cHJvaiAgICAgICAgICAgICAgICAgICAgICB8IDEwMCAtLS0tLS0tLS0tCiB2czIwMTIveGVuYnVz
L3hlbmJ1cy52Y3hwcm9qLnVzZXIgICAgICAgICAgICAgICAgIHwgICA4IC0KIHZzMjAxMi94ZW5i
dXNfY29pbnN0L3hlbmJ1c19jb2luc3QudmN4cHJvaiAgICAgICAgfCAgNjYgLS0tLS0tLQogdnMy
MDEyL3hlbmJ1c19jb2luc3QveGVuYnVzX2NvaW5zdC52Y3hwcm9qLnVzZXIgICB8ICAgOCAtCiB2
czIwMTIveGVuYnVzX21vbml0b3IveGVuYnVzX21vbml0b3IudmN4cHJvaiAgICAgIHwgIDgyIC0t
LS0tLS0tCiB2czIwMTIveGVuYnVzX21vbml0b3IveGVuYnVzX21vbml0b3IudmN4cHJvai51c2Vy
IHwgICA4IC0KIHZzMjAxMi94ZW5maWx0L3hlbmZpbHQudmN4cHJvaiAgICAgICAgICAgICAgICAg
ICAgfCAgODAgLS0tLS0tLS0KIHZzMjAxMi94ZW5maWx0L3hlbmZpbHQudmN4cHJvai51c2VyICAg
ICAgICAgICAgICAgfCAgIDggLQogdnMyMDEzL2NvbmZpZ3MucHJvcHMgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICA1MyAtLS0tLS0KIHZzMjAxMy9wYWNrYWdlL3BhY2thZ2UudmN4cHJv
aiAgICAgICAgICAgICAgICAgICAgfCAgNjQgLS0tLS0tLQogdnMyMDEzL3BhY2thZ2UvcGFja2Fn
ZS52Y3hwcm9qLnVzZXIgICAgICAgICAgICAgICB8ICAgOCAtCiB2czIwMTMvdGFyZ2V0cy5wcm9w
cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUxIC0tLS0tCiB2czIwMTMveGVuL3hl
bi52Y3hwcm9qICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTA1IC0tLS0tLS0tLS0tCiB2
czIwMTMveGVuL3hlbi52Y3hwcm9qLnVzZXIgICAgICAgICAgICAgICAgICAgICAgIHwgICA4IC0K
IHZzMjAxMy94ZW5idXMuc2xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMTgg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogdnMyMDEzL3hlbmJ1cy94ZW5idXMudmN4cHJvaiAgICAg
ICAgICAgICAgICAgICAgICB8IDEwMyAtLS0tLS0tLS0tCiB2czIwMTMveGVuYnVzL3hlbmJ1cy52
Y3hwcm9qLnVzZXIgICAgICAgICAgICAgICAgIHwgICA4IC0KIHZzMjAxMy94ZW5idXNfY29pbnN0
L3hlbmJ1c19jb2luc3QudmN4cHJvaiAgICAgICAgfCAgNjYgLS0tLS0tLQogdnMyMDEzL3hlbmJ1
c19jb2luc3QveGVuYnVzX2NvaW5zdC52Y3hwcm9qLnVzZXIgICB8ICAgOCAtCiB2czIwMTMveGVu
YnVzX21vbml0b3IveGVuYnVzX21vbml0b3IudmN4cHJvaiAgICAgIHwgIDgyIC0tLS0tLS0tCiB2
czIwMTMveGVuYnVzX21vbml0b3IveGVuYnVzX21vbml0b3IudmN4cHJvai51c2VyIHwgICA4IC0K
IHZzMjAxMy94ZW5maWx0L3hlbmZpbHQudmN4cHJvaiAgICAgICAgICAgICAgICAgICAgfCAgODMg
LS0tLS0tLS0KIHZzMjAxMy94ZW5maWx0L3hlbmZpbHQudmN4cHJvai51c2VyICAgICAgICAgICAg
ICAgfCAgIDggLQogdnMyMDE1L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qICAgICAgICAgICAgICAg
ICAgICB8ICAgMiArLQogMzMgZmlsZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgMTc0OCBk
ZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTIvY29uZmlncy5wcm9wcwogZGVs
ZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMi9wYWNrYWdlL3BhY2thZ2UudmN4cHJvagogZGVsZXRlIG1v
ZGUgMTAwNjQ0IHZzMjAxMi9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2VyCiBkZWxldGUgbW9k
ZSAxMDA2NDQgdnMyMDEyL3RhcmdldHMucHJvcHMKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTIv
eGVuL3hlbi52Y3hwcm9qCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEyL3hlbi94ZW4udmN4cHJv
ai51c2VyCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEyL3hlbmJ1cy5zbG4KIGRlbGV0ZSBtb2Rl
IDEwMDY0NCB2czIwMTIveGVuYnVzL3hlbmJ1cy52Y3hwcm9qCiBkZWxldGUgbW9kZSAxMDA2NDQg
dnMyMDEyL3hlbmJ1cy94ZW5idXMudmN4cHJvai51c2VyCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMy
MDEyL3hlbmJ1c19jb2luc3QveGVuYnVzX2NvaW5zdC52Y3hwcm9qCiBkZWxldGUgbW9kZSAxMDA2
NDQgdnMyMDEyL3hlbmJ1c19jb2luc3QveGVuYnVzX2NvaW5zdC52Y3hwcm9qLnVzZXIKIGRlbGV0
ZSBtb2RlIDEwMDY0NCB2czIwMTIveGVuYnVzX21vbml0b3IveGVuYnVzX21vbml0b3IudmN4cHJv
agogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMi94ZW5idXNfbW9uaXRvci94ZW5idXNfbW9uaXRv
ci52Y3hwcm9qLnVzZXIKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTIveGVuZmlsdC94ZW5maWx0
LnZjeHByb2oKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTIveGVuZmlsdC94ZW5maWx0LnZjeHBy
b2oudXNlcgogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMy9jb25maWdzLnByb3BzCiBkZWxldGUg
bW9kZSAxMDA2NDQgdnMyMDEzL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qCiBkZWxldGUgbW9kZSAx
MDA2NDQgdnMyMDEzL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qLnVzZXIKIGRlbGV0ZSBtb2RlIDEw
MDY0NCB2czIwMTMvdGFyZ2V0cy5wcm9wcwogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMy94ZW4v
eGVuLnZjeHByb2oKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTMveGVuL3hlbi52Y3hwcm9qLnVz
ZXIKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTMveGVuYnVzLnNsbgogZGVsZXRlIG1vZGUgMTAw
NjQ0IHZzMjAxMy94ZW5idXMveGVuYnVzLnZjeHByb2oKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIw
MTMveGVuYnVzL3hlbmJ1cy52Y3hwcm9qLnVzZXIKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTMv
eGVuYnVzX2NvaW5zdC94ZW5idXNfY29pbnN0LnZjeHByb2oKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2
czIwMTMveGVuYnVzX2NvaW5zdC94ZW5idXNfY29pbnN0LnZjeHByb2oudXNlcgogZGVsZXRlIG1v
ZGUgMTAwNjQ0IHZzMjAxMy94ZW5idXNfbW9uaXRvci94ZW5idXNfbW9uaXRvci52Y3hwcm9qCiBk
ZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEzL3hlbmJ1c19tb25pdG9yL3hlbmJ1c19tb25pdG9yLnZj
eHByb2oudXNlcgogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMy94ZW5maWx0L3hlbmZpbHQudmN4
cHJvagogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMy94ZW5maWx0L3hlbmZpbHQudmN4cHJvai51
c2VyCgpkaWZmIC0tZ2l0IGEvQlVJTEQubWQgYi9CVUlMRC5tZAppbmRleCA4N2UzOGRjLi5lYzA5
MzkwIDEwMDY0NAotLS0gYS9CVUlMRC5tZAorKysgYi9CVUlMRC5tZApAQCAtMSw0MSArMSwyNyBA
QAogQnVpbGRpbmcgdGhlIFhlbkJ1cyBQYWNrYWdlCiA9PT09PT09PT09PT09PT09PT09PT09PT09
PT0KIAotRmlyc3QgeW91J2xsIG5lZWQgYSBkZXZpY2UgZHJpdmVyIGJ1aWxkIGVudmlyb25tZW50
IGZvciBXaW5kb3dzIDgsIFdpbmRvd3MKLTguMSwgb3IgV2luZG93cyAxMC4KLUZvciBXaW5kb3dz
IDggdGhpcyBtZWFuczoKLQotKiAgIFZpc3VhbCBTdHVkaW8gMjAxMiAoUHJvZmVzc2lvbmFsIG9y
IFVsdGltYXRlKQotKiAgIFdpbmRvd3MgRHJpdmVyIEtpdCA4Ci0KLUZvciBXaW5kb3dzIDguMSB0
aGlzIG1lYW5zOgotCi0qICAgVmlzdWFsIFN0dWRpbyAyMDEzIChBbnkgU0tVLCBpbmNsdWRpbmcg
RXhwcmVzcykKLSogICBXaW5kb3dzIERyaXZlciBLaXQgOC4xCi0KLUZvciBXaW5kb3dzIDEwIHRo
aXMgbWVhbnM6CitGaXJzdCB5b3UnbGwgbmVlZCBhIGRldmljZSBkcml2ZXIgYnVpbGQgZW52aXJv
bm1lbnQgZm9yIFdpbmRvd3MgMTAuCitUaGlzIG1lYW5zOgogCiAqICAgVmlzdWFsIFN0dWRpbyAy
MDE1IChBbnkgU0tVLCBpbmNsdWRpbmcgRXhwcmVzcyBvciBDb21tdW5pdHkpCiAqICAgV2luZG93
cyBEcml2ZXIgS2l0IDEwCiAKLShTZWUgaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy93
aW5kb3dzL2hhcmR3YXJlL2hoODUyMzY1LmFzcHgpLiBZb3UKLW1heSBmaW5kIGl0IHVzZWZ1bCB0
byBpbnN0YWxsIFZpcnR1YWxDbG9uZURyaXZlIGZyb20gaHR0cDovL3d3dy5zbHlzb2Z0LmNvbQot
YXMgVmlzdWFsIFN0dWRpbyBpcyBnZW5lcmFsbHkgc3VwcGxpZWQgaW4gSVNPIGZvcm0uCi0KIElu
c3RhbGwgVmlzdWFsIFN0dWRpbyBmaXJzdCAoeW91IG9ubHkgbmVlZCBpbnN0YWxsIE1GQyBmb3Ig
QysrKSBhbmQgdGhlbgogdGhlIFdESy4gU2V0IGFuIGVudmlyb25tZW50IHZhcmlhYmxlIGNhbGxl
ZCBWUyB0byB0aGUgYmFzZSBvZiB0aGUgVmlzdWFsCi1TdHVkaW8gSW5zdGFsbGF0aW9uIChlLmcu
IEM6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMTIuMCkgYW5kCitTdHVk
aW8gSW5zdGFsbGF0aW9uIChlLmcuIEM6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0IFZpc3VhbCBT
dHVkaW8gMTQuMCkgYW5kCiBhIHZhcmlhYmxlIGNhbGxlZCBLSVQgdG8gdGhlIGJhc2Ugb2YgdGhl
IFdESwotKGUuZy4gQzpcUHJvZ3JhbSBGaWxlc1xXaW5kb3dzIEtpdHNcOC4xKS4gQWxzbyBzZXQg
YW4gZW52aXJvbm1lbnQgdmFyaWFibGUKKyhlLmcuIEM6XFByb2dyYW0gRmlsZXNcV2luZG93cyBL
aXRzXDEwKS4gQWxzbyBzZXQgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUKIGNhbGxlZCBTWU1CT0xc
X1NFUlZFUiB0byBwb2ludCBhdCBhIGxvY2F0aW9uIHdoZXJlIGRyaXZlciBzeW1ib2xzIGNhbiBi
ZQogc3RvcmVkLiBUaGlzIGNhbiBiZSBsb2NhbCBkaXJlY3RvcnkgZS5nLiBDOlxTeW1ib2xzLgog
Ci1OT1RFOiBJZiB5b3UgYXJlIHVzaW5nIFdESyAxMCB0aGVuIHlvdSB3aWxsIG5lZWQgdG8gYWNx
dWlyZSB0aGUgRElGeAotICAgICAgcmUtZGlzdHJpYnV0YWJsZSBwYWNrYWdlIGZyb20gb25lIG9m
IHRoZSBvdGhlciBXREtzLCBzbyB0aGF0IHRoZQotICAgICAgZHJpdmVyIGJ1aWxkIGNhbiBjb3B5
IGRwaW5zdC5leGUgaW50byB0aGUgb3V0cHV0LgotICAgICAgU2V0IHRoZSBlbnZpcm9ubWVudCB2
YXJpYWJsZSBEUElOU1RfUkVESVNUIHRvIHRoZSBiYXNlIGRwaW5zdAotICAgICAgZGlyZWN0b3J5
IChpLmUuIHRoZSBkaXJlY3RvcnkgdW5kZXIgd2hpY2ggdGhlIHg4NiBhbmQgeDY0IHN1Yi0KLSAg
ICAgIGRpcmVjdG9yaWVzIGNvbnRhaW5pbmcgZHBpbnN0LmV4ZSBjYW4gYmUgZm91bmQpLgorWW91
IHdpbGwgYWxzbyBuZWVkIHRvIGFjcXVpcmUgdGhlIERJRnggcmUtZGlzdHJpYnV0YWJsZSBwYWNr
YWdlIGZyb20gb25lCitvZiB0aGUgb2xkZXIgV0RLcyAoYXMgaXQgYXBwZWFycyBub3QgdG8gYmUg
cHJlc2VudCBpbiBXREsxMCksIHNvIHRoYXQgdGhlCitkcml2ZXIgYnVpbGQgY2FuIGNvcHkgZHBp
bnN0LmV4ZSBpbnRvIHRoZSBvdXRwdXQuCitTZXQgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIERQ
SU5TVF9SRURJU1QgdG8gdGhlIGJhc2UgZHBpbnN0IGRpcmVjdG9yeQorLSB0aGUgZGlyZWN0b3J5
IHVuZGVyIHdoaWNoIHRoZSB4ODYgYW5kIHg2NCBzdWItZGlyZWN0b3JpZXMgY29udGFpbmluZwor
ZHBpbnN0LmV4ZSBjYW4gYmUgZm91bmQKKyhlLmcuIEM6XFByb2dyYW0gRmlsZXMgKHg4NilcV2lu
ZG93cyBLaXRzXDguMVxSZWRpc3RcRElGeFxkcGluc3RcRW5nTXVpKQogCiBOZXh0IHlvdSdsbCBu
ZWVkIGEgMy54IHZlcnNpb24gb2YgcHl0aG9uICh3aGljaCB5b3UgY2FuIGdldCBmcm9tCiBodHRw
Oi8vd3d3LnB5dGhvbi5vcmcpLiBNYWtlIHN1cmUgcHl0aG9uLmV4ZSBpcyBzb21ld2hlcmUgb24g
eW91ciBkZWZhdWx0CmRpZmYgLS1naXQgYS9idWlsZC5weSBiL2J1aWxkLnB5CmluZGV4IDA3OGVl
NmMuLjE5MTA2MmMgMTAwNzU1Ci0tLSBhL2J1aWxkLnB5CisrKyBiL2J1aWxkLnB5CkBAIC0yMDQs
NiArMjA0LDI4IEBAIGRlZiBidWlsZF9zbG4obmFtZSwgcmVsZWFzZSwgYXJjaCwgZGVidWcsIHZz
KToKIAogICAgIG1zYnVpbGQocGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sICdCdWlsZCcsIG5hbWUg
KyAnLnNsbicsICcnLCB2cykKIAorZGVmIGNvcHlfcGFja2FnZShuYW1lLCByZWxlYXNlLCBhcmNo
LCBkZWJ1ZywgdnMpOgorICAgIGNvbmZpZ3VyYXRpb24gPSBnZXRfY29uZmlndXJhdGlvbihyZWxl
YXNlLCBkZWJ1ZykKKworICAgIGlmIGFyY2ggPT0gJ3g4Nic6CisgICAgICAgIHBsYXRmb3JtID0g
J1dpbjMyJworICAgIGVsaWYgYXJjaCA9PSAneDY0JzoKKyAgICAgICAgcGxhdGZvcm0gPSAneDY0
JworCisgICAgcGF0dGVybiA9ICcvJy5qb2luKFt2cywgJycuam9pbihjb25maWd1cmF0aW9uLnNw
bGl0KCcgJykpLCBwbGF0Zm9ybSwgJ3BhY2thZ2UnLCAnKiddKQorICAgIHByaW50KCdDb3B5aW5n
IHBhY2thZ2UgZnJvbSAlcycgJSBwYXR0ZXJuKQorCisgICAgZmlsZXMgPSBnbG9iLmdsb2IocGF0
dGVybikKKworICAgIGRzdCA9IG9zLnBhdGguam9pbihuYW1lLCBhcmNoKQorCisgICAgb3MubWFr
ZWRpcnMoZHN0LCBleGlzdF9vaz1UcnVlKQorCisgICAgZm9yIGZpbGUgaW4gZmlsZXM6CisgICAg
ICAgIG5ldyA9IHNodXRpbC5jb3B5KGZpbGUsIGRzdCkKKyAgICAgICAgcHJpbnQobmV3KQorCisg
ICAgcHJpbnQoJycpCiAKIGRlZiByZW1vdmVfdGltZXN0YW1wcyhwYXRoKToKICAgICB0cnk6CkBA
IC00MDAsOCArNDIyLDEzIEBAIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgICAgICAg
ICAgICAgJ3ZzMjAxMyc6J1dpbmRvd3MgNycsCiAgICAgICAgICAgICAgICAgJ3ZzMjAxNSc6J1dp
bmRvd3MgOCcgfQogCisgICAgc2h1dGlsLnJtdHJlZShkcml2ZXIsIGlnbm9yZV9lcnJvcnM9VHJ1
ZSkKKwogICAgIGJ1aWxkX3Nsbihkcml2ZXIsIHJlbGVhc2VbdnNdLCAneDg2JywgZGVidWdbc3lz
LmFyZ3ZbMV1dLCB2cykKKyAgICBjb3B5X3BhY2thZ2UoZHJpdmVyLCByZWxlYXNlW3ZzXSwgJ3g4
NicsIGRlYnVnW3N5cy5hcmd2WzFdXSwgdnMpCisKICAgICBidWlsZF9zbG4oZHJpdmVyLCByZWxl
YXNlW3ZzXSwgJ3g2NCcsIGRlYnVnW3N5cy5hcmd2WzFdXSwgdnMpCisgICAgY29weV9wYWNrYWdl
KGRyaXZlciwgcmVsZWFzZVt2c10sICd4NjQnLCBkZWJ1Z1tzeXMuYXJndlsxXV0sIHZzKQogCiAg
ICAgc3ltc3RvcmVfYWRkKGRyaXZlciwgcmVsZWFzZVt2c10sICd4ODYnLCBkZWJ1Z1tzeXMuYXJn
dlsxXV0sIHZzKQogICAgIHN5bXN0b3JlX2FkZChkcml2ZXIsIHJlbGVhc2VbdnNdLCAneDY0Jywg
ZGVidWdbc3lzLmFyZ3ZbMV1dLCB2cykKZGlmZiAtLWdpdCBhL3ZzMjAxMi9jb25maWdzLnByb3Bz
IGIvdnMyMDEyL2NvbmZpZ3MucHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQz
OTg3ZmIuLjAwMDAwMDAKLS0tIGEvdnMyMDEyL2NvbmZpZ3MucHJvcHMKKysrIC9kZXYvbnVsbApA
QCAtMSw1MyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/Pgot
PFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9
Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+IAot
CTxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+IAotCQk8UHJvamVjdENv
bmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA4IERlYnVnfFdpbjMyIj4gCi0JCQk8Q29uZmln
dXJhdGlvbj5XaW5kb3dzIDggRGVidWc8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPldp
bjMyPC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENv
bmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA3IERlYnVnfFdpbjMyIj4gCi0JCQk8Q29uZmln
dXJhdGlvbj5XaW5kb3dzIDcgRGVidWc8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPldp
bjMyPC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENv
bmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMiI+IAotCQkJPENv
bmZpZ3VyYXRpb24+V2luZG93cyBWaXN0YSBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxh
dGZvcm0+V2luMzI8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQ
cm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDggUmVsZWFzZXxXaW4zMiI+IAot
CQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA4IFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+IAotCQkJ
PFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAot
CQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA3IFJlbGVhc2V8V2luMzIi
PiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgNyBSZWxlYXNlPC9Db25maWd1cmF0aW9uPiAK
LQkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9u
PiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgVmlzdGEgUmVsZWFz
ZXxXaW4zMiI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyBWaXN0YSBSZWxlYXNlPC9Db25m
aWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RD
b25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3Mg
OCBEZWJ1Z3x4NjQiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgOCBEZWJ1ZzwvQ29uZmln
dXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZp
Z3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA3IERl
YnVnfHg2NCI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA3IERlYnVnPC9Db25maWd1cmF0
aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJh
dGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIFZpc3RhIERl
YnVnfHg2NCI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyBWaXN0YSBEZWJ1ZzwvQ29uZmln
dXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZp
Z3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA4IFJl
bGVhc2V8eDY0Ij4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDggUmVsZWFzZTwvQ29uZmln
dXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZp
Z3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA3IFJl
bGVhc2V8eDY0Ij4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDcgUmVsZWFzZTwvQ29uZmln
dXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZp
Z3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyBWaXN0
YSBSZWxlYXNlfHg2NCI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyBWaXN0YSBSZWxlYXNl
PC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPiAKLQkJPC9Qcm9q
ZWN0Q29uZmlndXJhdGlvbj4gCi0JPC9JdGVtR3JvdXA+IAotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0
IGEvdnMyMDEyL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qIGIvdnMyMDEyL3BhY2thZ2UvcGFja2Fn
ZS52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNjAwYTkzLi4wMDAwMDAw
Ci0tLSBhL3ZzMjAxMi9wYWNrYWdlL3BhY2thZ2UudmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0x
LDYzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJv
amVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0
cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPElt
cG9ydCBQcm9qZWN0PSIuLlxjb25maWdzLnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBMYWJl
bD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxEcml2ZXJUeXBlPlBhY2thZ2U8L0RyaXZlclR5cGU+
Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2VybmVsTW9kZURyaXZlcjguMDwvUGxhdGZv
cm1Ub29sc2V0PgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5VdGlsaXR5PC9Db25maWd1cmF0aW9u
VHlwZT4KLSAgICA8RGlzYWJsZUZhc3RVcFRvRGF0ZUNoZWNrPnRydWU8L0Rpc2FibGVGYXN0VXBU
b0RhdGVDaGVjaz4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0i
R2xvYmFscyI+Ci0gICAgPENvbmZpZ3VyYXRpb24+V2luZG93cyBWaXN0YSBEZWJ1ZzwvQ29uZmln
dXJhdGlvbj4KLSAgICA8UGxhdGZvcm0gQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICcnIj5X
aW4zMjwvUGxhdGZvcm0+Ci0gICAgPERlYnVnZ2VyRmxhdm9yPkRiZ2VuZ0tlcm5lbERlYnVnZ2Vy
PC9EZWJ1Z2dlckZsYXZvcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9
IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJv
cGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPFByb2plY3RHdWlkPns5MkU1QTQ2Qi05
MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9PC9Qcm9qZWN0R3VpZD4KLSAgPC9Qcm9wZXJ0eUdy
b3VwPgotICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+Ci0gIDxJbXBvcnQg
UHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgotICA8UHJv
cGVydHlHcm91cD4KLSAgICA8RW5hYmxlSW5mMmNhdD50cnVlPC9FbmFibGVJbmYyY2F0PgotICAg
IDxJbmYyQ2F0V2luZG93c1ZlcnNpb25MaXN0IENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2
NCciPlZpc3RhX3g2NDs3X3g2NDtTZXJ2ZXIyMDA4X3g2NDtTZXJ2ZXIyMDA4UjJfeDY0O1NlcnZl
cjhfeDY0PC9JbmYyQ2F0V2luZG93c1ZlcnNpb25MaXN0PgotICAgIDxJbmYyQ2F0V2luZG93c1Zl
cnNpb25MaXN0IENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+VmlzdGFfeDg2Ozdf
eDg2O1NlcnZlcjIwMDhfeDg2OzhfeDg2PC9JbmYyQ2F0V2luZG93c1ZlcnNpb25MaXN0PgotICAg
IDxEZWJ1Z2dlckZsYXZvcj5EYmdlbmdLZXJuZWxEZWJ1Z2dlcjwvRGVidWdnZXJGbGF2b3I+Ci0g
ICAgPEVuYWJsZURlcGxveW1lbnQ+RmFsc2U8L0VuYWJsZURlcGxveW1lbnQ+Ci0gICAgPEltcG9y
dFRvU3RvcmU+RmFsc2U8L0ltcG9ydFRvU3RvcmU+Ci0gICAgPEluc3RhbGxNb2RlPk5vbmU8L0lu
c3RhbGxNb2RlPgotICAgIDxTY3JpcHREZXZpY2VRdWVyeT4lUGF0aFRvSW5mJTwvU2NyaXB0RGV2
aWNlUXVlcnk+Ci0gICAgPEVuYWJsZVZlcmlmaWVyPkZhbHNlPC9FbmFibGVWZXJpZmllcj4KLSAg
ICA8QWxsRHJpdmVycz5GYWxzZTwvQWxsRHJpdmVycz4KLSAgICA8VmVyaWZ5UHJvamVjdE91dHB1
dD5UcnVlPC9WZXJpZnlQcm9qZWN0T3V0cHV0PgotICAgIDxWZXJpZnlEcml2ZXJzIC8+Ci0gICAg
PFZlcmlmeUZsYWdzPjEzMzU2MzwvVmVyaWZ5RmxhZ3M+Ci0gICAgPEludERpcj4uLlwkKFByb2pl
Y3ROYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L0ludERpcj4KLSAgICA8
T3V0RGlyPi4uXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvT3V0RGlyPgotICAg
IDxQYWNrYWdlRGlyPi4uXC4uXHhlbmJ1c1wkKERES1BsYXRmb3JtKTwvUGFja2FnZURpcj4KLSAg
PC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxQcm9qZWN0UmVmZXJlbmNlIElu
Y2x1ZGU9Ii4uXHhlbmZpbHRceGVuZmlsdC52Y3hwcm9qIj4KLSAgICAgIDxQcm9qZWN0PntkNzQx
MWIyYy0yYzQzLTQzNGQtOWY1Ni1lMTBhM2QyZjViYWR9PC9Qcm9qZWN0PgotICAgIDwvUHJvamVj
dFJlZmVyZW5jZT4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlx4ZW5idXNfY29p
bnN0XHhlbmJ1c19jb2luc3QudmN4cHJvaiI+Ci0gICAgICA8UHJvamVjdD57NGJmNDEzNzgtYzAx
Yi00MDAyLTg1ODEtNTYzYzVmNzAzMzYyfTwvUHJvamVjdD4KLSAgICA8L1Byb2plY3RSZWZlcmVu
Y2U+Ci0gICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5ceGVuYnVzXHhlbmJ1cy52Y3hw
cm9qIj4KLSAgICAgIDxQcm9qZWN0PnsxNGMxNmMyOS03N2M5LTQ3NWItYTYxOC0xYjAxZTY3Y2Y5
ODV9PC9Qcm9qZWN0PgotICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KLSAgICA8UHJvamVjdFJlZmVy
ZW5jZSBJbmNsdWRlPSIuLlx4ZW5ceGVuLnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+ezljNmE1
ZDQ4LWEzMzEtNGIxZi1hMDA0LTdiYjY3YmE1YmUxY308L1Byb2plY3Q+Ci0gICAgPC9Qcm9qZWN0
UmVmZXJlbmNlPgotICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Ii4uXHhlbmJ1c19tb25p
dG9yXHhlbmJ1c19tb25pdG9yLnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+ezJFNjFEMkNDLTg2
NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn08L1Byb2plY3Q+Ci0gICAgPC9Qcm9qZWN0UmVmZXJl
bmNlPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8RmlsZXNUb1BhY2thZ2Ug
SW5jbHVkZT0iJChLSVQpXFJlZGlzdFxESUZ4XGRwaW5zdFxFbmdNdWlceDg2XGRwaW5zdC5leGUi
IENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyIgLz4KLSAgICA8RmlsZXNUb1BhY2th
Z2UgSW5jbHVkZT0iJChLSVQpXFJlZGlzdFxESUZ4XGRwaW5zdFxFbmdNdWlceDY0XGRwaW5zdC5l
eGUiIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciIC8+Ci0gIDwvSXRlbUdyb3VwPgot
ICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRz
IiAvPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgotICA8L0ltcG9y
dEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL3ZzMjAxMi9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2VyIGIvdnMyMDEyL3BhY2thZ2Uv
cGFja2FnZS52Y3hwcm9qLnVzZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4ZWNj
ZTguLjAwMDAwMDAKLS0tIGEvdnMyMDEyL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qLnVzZXIKKysr
IC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9
InV0Zi04Ij8+Ci08UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hl
bWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxQcm9wZXJ0eUdy
b3VwPgotICAgIDxTaWduTW9kZT5UZXN0U2lnbjwvU2lnbk1vZGU+Ci0gICAgPFRlc3RDZXJ0aWZp
Y2F0ZT4uLlwuLlxzcmNceGVuYnVzLnBmeDwvVGVzdENlcnRpZmljYXRlPgotICAgIDxUaW1lU3Rh
bXBTZXJ2ZXI+aHR0cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5k
bGw8L1RpbWVTdGFtcFNlcnZlcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotPC9Qcm9qZWN0PgpkaWZm
IC0tZ2l0IGEvdnMyMDEyL3RhcmdldHMucHJvcHMgYi92czIwMTIvdGFyZ2V0cy5wcm9wcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzhhYmE5Mi4uMDAwMDAwMAotLS0gYS92czIwMTIv
dGFyZ2V0cy5wcm9wcworKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLTw/eG1sIHZlcnNp
b249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVp
bGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNv
bS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmln
dXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5k
b3dzIDggRGVidWd8V2luMzInIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRW
ZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPiAK
LQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9u
IiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBS
ZWxlYXNlfFdpbjMyJyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwvVGFyZ2V0VmVyc2lv
bj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+IAotCTwv
UHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IERlYnVn
fHg2NCciPiAKLQkJPFRhcmdldFZlcnNpb24+V2luZG93czg8L1RhcmdldFZlcnNpb24+IAotCQk8
VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlH
cm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IFJlbGVhc2V8eDY0JyI+
IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1
Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4K
LQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgRGVidWd8V2luMzInIj4gCi0JCTxU
YXJnZXRWZXJzaW9uPldpbmRvd3M3PC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFy
aWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9w
ZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBSZWxlYXNlfFdpbjMyJyI+IAotCQk8VGFyZ2V0
VmVyc2lvbj5XaW5kb3dzNzwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz5m
YWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5
R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IERlYnVnfHg2NCciPiAKLQkJPFRhcmdldFZlcnNpb24+
V2luZG93czc8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNl
RGVidWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFi
ZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nV2luZG93cyA3IFJlbGVhc2V8eDY0JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dz
NzwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdM
aWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4KLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29u
ZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdX
aW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyJyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5WaXN0YTwvVGFy
Z2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmll
cz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJh
dGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dz
IFZpc3RhIFJlbGVhc2V8V2luMzInIj4gCi0JCTxUYXJnZXRWZXJzaW9uPlZpc3RhPC9UYXJnZXRW
ZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4g
Ci0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlv
biIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIFZp
c3RhIERlYnVnfHg2NCciPiAKLQkJPFRhcmdldFZlcnNpb24+VmlzdGE8L1RhcmdldFZlcnNpb24+
IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJv
cGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyBWaXN0YSBSZWxl
YXNlfHg2NCciPiAKLQkJPFRhcmdldFZlcnNpb24+VmlzdGE8L1RhcmdldFZlcnNpb24+IAotCQk8
VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5
R3JvdXA+Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTIveGVuL3hlbi52Y3hwcm9qIGIv
dnMyMDEyL3hlbi94ZW4udmN4cHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzVm
MzRkNi4uMDAwMDAwMAotLS0gYS92czIwMTIveGVuL3hlbi52Y3hwcm9qCisrKyAvZGV2L251bGwK
QEAgLTEsMTAyICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+
Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxu
cz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4K
LSAgPEltcG9ydCBQcm9qZWN0PSIuLlxjb25maWdzLnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91
cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPENvbmZpZ3VyYXRpb24+V2luZG93cyBWaXN0YSBEZWJ1
ZzwvQ29uZmlndXJhdGlvbj4KLSAgICA8UGxhdGZvcm0gQ29uZGl0aW9uPSInJChQbGF0Zm9ybSkn
ID09ICcnIj5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPERlYnVnZ2VyRmxhdm9yPkRiZ2VuZ0tlcm5l
bERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVy
dHlHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxEcml2ZXJUeXBlPldETTwvRHJp
dmVyVHlwZT4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4w
PC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkRyaXZlcjwvQ29uZmln
dXJhdGlvblR5cGU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZD
VGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5
R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9qZWN0R3VpZD57OUM2QTVENDgtQTMzMS00
QjFGLUEwMDQtN0JCNjdCQTVCRTFDfTwvUHJvamVjdEd1aWQ+Ci0gIDwvUHJvcGVydHlHcm91cD4K
LSAgPEltcG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRzLnByb3BzIiAvPgotICA8SW1wb3J0IFByb2pl
Y3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5
R3JvdXA+Ci0gICAgPEluY2x1ZGVQYXRoPi4uXC4uXGluY2x1ZGU7Li5cLi5caW5jbHVkZVx4ZW47
Li5cLi5cc3JjXGNvbW1vbjskKEluY2x1ZGVQYXRoKTwvSW5jbHVkZVBhdGg+Ci0gICAgPFJ1bkNv
ZGVBbmFseXNpcz50cnVlPC9SdW5Db2RlQW5hbHlzaXM+Ci0gICAgPEVuYWJsZUluZjJjYXQ+ZmFs
c2U8L0VuYWJsZUluZjJjYXQ+Ci0gICAgPEludERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZp
Z3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L0ludERpcj4KLSAgICA8T3V0RGlyPi4uXCQoQ29u
ZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvT3V0RGlyPgotICA8L1Byb3BlcnR5R3JvdXA+
Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVfXz0iWEVOIjtQT09MX05YX09QVElOPTE7TlRfUFJP
Q0VTU09SX0dST1VQUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVm
aW5pdGlvbnM+Ci0gICAgICA8V2FybmluZ0xldmVsPkVuYWJsZUFsbFdhcm5pbmdzPC9XYXJuaW5n
TGV2ZWw+Ci0gICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDcxMTs0NTQ4OzQ4MjA7NDY2
ODs0MjU1OzYwMDE7NjA1NDsyODE5NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJs
ZVNwZWNpZmljV2FybmluZ3M+Ci0gICAgICA8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50cnVl
PC9NdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPgotICAgICAgPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwv
RW5hYmxlUFJFZmFzdD4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxJbWFn
ZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz5mYWxzZTwvSW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFu
ZGxlcnM+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKERES19MSUJfUEFUSCkvbGli
Y250cHIubGliOyQoRERLX0xJQl9QQVRIKS9hdXhfa2xpYi5saWI7JChEREtfTElCX1BBVEgpL3By
b2NncnAubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNp
ZXM+Ci0gICAgICA8TW9kdWxlRGVmaW5pdGlvbkZpbGU+Li4vLi4vc3JjL3hlbi94ZW4uZGVmPC9N
b2R1bGVEZWZpbml0aW9uRmlsZT4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9F
bmFibGVDT01EQVRGb2xkaW5nPgotICAgIDwvTGluaz4KLSAgICA8SW5mPgotICAgICAgPFNwZWNp
ZnlBcmNoaXRlY3R1cmU+dHJ1ZTwvU3BlY2lmeUFyY2hpdGVjdHVyZT4KLSAgICAgIDxTcGVjaWZ5
RHJpdmVyVmVyRGlyZWN0aXZlVmVyc2lvbj50cnVlPC9TcGVjaWZ5RHJpdmVyVmVyRGlyZWN0aXZl
VmVyc2lvbj4KLSAgICAgIDxUaW1lU3RhbXA+JChNQUpPUl9WRVJTSU9OKS4kKE1JTk9SX1ZFUlNJ
T04pLiQoTUlDUk9fVkVSU0lPTikuJChCVUlMRF9OVU1CRVIpPC9UaW1lU3RhbXA+Ci0gICAgICA8
RW5hYmxlVmVyYm9zZT50cnVlPC9FbmFibGVWZXJib3NlPgotICAgIDwvSW5mPgotICA8L0l0ZW1E
ZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxh
dGZvcm0pJz09J1dpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JE
ZWZpbml0aW9ucz5fX2kzODZfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vz
c29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPEluZj4KLSAgICAgIDxBcmNo
aXRlY3R1cmU+eDg2PC9BcmNoaXRlY3R1cmU+Ci0gICAgPC9JbmY+Ci0gIDwvSXRlbURlZmluaXRp
b25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSkn
PT0neDY0JyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9u
cz5fX3g4Nl82NF9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZp
bml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8SW5mPgotICAgICAgPEFyY2hpdGVjdHVy
ZT5hbWQ2NDwvQXJjaGl0ZWN0dXJlPgotICAgIDwvSW5mPgotICA8L0l0ZW1EZWZpbml0aW9uR3Jv
dXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoVGFyZ2V0
UGF0aCkiIC8+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoT3V0RGlyKSQoVGFyZ2V0
TmFtZSkucGRiIiAvPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSJAKEluZi0+JyUoQ29w
eU91dHB1dCknKSIgQ29uZGl0aW9uPSInQChJbmYpJyE9JyciIC8+Ci0gIDwvSXRlbUdyb3VwPgot
ICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXGNvbW1vblxy
ZWdpc3RyeS5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlblxkcml2
ZXIuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5cZXZlbnRfY2hh
bm5lbC5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlblxncmFudF90
YWJsZS5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlblxodm0uYyIg
Lz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5ceGVuX3ZlcnNpb24uYyIg
Lz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5caHlwZXJjYWxsLmMiIC8+
Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuXG1lbW9yeS5jIiAvPgotICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlblxzY2hlZC5jIiAvPgotICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlblxsb2cuYyIgLz4KLSAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXC4uXHNyY1x4ZW5cYnVnX2NoZWNrLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlwuLlxzcmNceGVuXG1vZHVsZS5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cLi5cc3JjXHhlblxwcm9jZXNzLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwu
LlxzcmNceGVuXGFjcGkuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4
ZW5cc3lzdGVtLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuXHVu
cGx1Zy5jIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8TUFTTSBJbmNs
dWRlPSIuLlwuLlxzcmNceGVuXGFtZDY0XGh5cGVyY2FsbF90aHVuay5hc20iPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9NQVNNPgotICAgIDxNQVNNIEluY2x1ZGU9Ii4uXC4u
XHNyY1x4ZW5caTM4NlxoeXBlcmNhbGxfdGh1bmsuYXNtIj4KLSAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KLSAgICA8L01BU00+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxS
ZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlblx4ZW4ucmMiIC8+Ci0gIDwvSXRl
bUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxOb25lIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5c
eGVuLmRlZiIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1Rhcmdl
dHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQg
YS92czIwMTIveGVuL3hlbi52Y3hwcm9qLnVzZXIgYi92czIwMTIveGVuL3hlbi52Y3hwcm9qLnVz
ZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4ZWNjZTguLjAwMDAwMDAKLS0tIGEv
dnMyMDEyL3hlbi94ZW4udmN4cHJvai51c2VyCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBA
Ci08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNW
ZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Bl
ci9tc2J1aWxkLzIwMDMiPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8U2lnbk1vZGU+VGVzdFNp
Z248L1NpZ25Nb2RlPgotICAgIDxUZXN0Q2VydGlmaWNhdGU+Li5cLi5cc3JjXHhlbmJ1cy5wZng8
L1Rlc3RDZXJ0aWZpY2F0ZT4KLSAgICA8VGltZVN0YW1wU2VydmVyPmh0dHA6Ly90aW1lc3RhbXAu
dmVyaXNpZ24uY29tL3NjcmlwdHMvdGltc3RhbXAuZGxsPC9UaW1lU3RhbXBTZXJ2ZXI+Ci0gIDwv
UHJvcGVydHlHcm91cD4KLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxMi94ZW5idXMuc2xu
IGIvdnMyMDEyL3hlbmJ1cy5zbG4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViM2Qw
M2EuLjAwMDAwMDAKLS0tIGEvdnMyMDEyL3hlbmJ1cy5zbG4KKysrIC9kZXYvbnVsbApAQCAtMSwy
MDQgKzAsMCBAQAotTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwgRm9ybWF0
IFZlcnNpb24gMTIuMDAKLSMgVmlzdWFsIFN0dWRpbyAyMDEyCi1Qcm9qZWN0KCJ7OEJDOUNFQjgt
OEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInhlbmJ1c19jb2luc3QiLCAieGVuYnVz
X2NvaW5zdFx4ZW5idXNfY29pbnN0LnZjeHByb2oiLCAiezRCRjQxMzc4LUMwMUItNDAwMi04NTgx
LTU2M0M1RjcwMzM2Mn0iCi1FbmRQcm9qZWN0Ci1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQw
LThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInhlbmJ1c19tb25pdG9yIiwgInhlbmJ1c19tb25pdG9y
XHhlbmJ1c19tb25pdG9yLnZjeHByb2oiLCAiezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFG
RDdCQkQzQn0iCi1FbmRQcm9qZWN0Ci1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEt
MDBBMEM5MUJDOTQyfSIpID0gInhlbiIsICJ4ZW5ceGVuLnZjeHByb2oiLCAiezlDNkE1RDQ4LUEz
MzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30iCi1FbmRQcm9qZWN0Ci1Qcm9qZWN0KCJ7OEJDOUNF
QjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInhlbmZpbHQiLCAieGVuZmlsdFx4
ZW5maWx0LnZjeHByb2oiLCAie0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0i
Ci0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdAotCQl7
OUM2QTVENDgtQTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfSA9IHs5QzZBNUQ0OC1BMzMxLTRC
MUYtQTAwNC03QkI2N0JBNUJFMUN9Ci0JRW5kUHJvamVjdFNlY3Rpb24KLUVuZFByb2plY3QKLVBy
b2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAieGVuYnVz
IiwgInhlbmJ1c1x4ZW5idXMudmN4cHJvaiIsICJ7MTRDMTZDMjktNzdDOS00NzVCLUE2MTgtMUIw
MUU2N0NGOTg1fSIKLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQ
cm9qZWN0Ci0JCXs5QzZBNUQ0OC1BMzMxLTRCMUYtQTAwNC03QkI2N0JBNUJFMUN9ID0gezlDNkE1
RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30KLQlFbmRQcm9qZWN0U2VjdGlvbgotRW5k
UHJvamVjdAotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0i
KSA9ICJwYWNrYWdlIiwgInBhY2thZ2VccGFja2FnZS52Y3hwcm9qIiwgIns5MkU1QTQ2Qi05MTND
LTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9IgotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRl
bmNpZXMpID0gcG9zdFByb2plY3QKLQkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFFNjdD
Rjk4NX0gPSB7MTRDMTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fQotCQl7RDc0MTFC
MkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfSA9IHtENzQxMUIyQy0yQzQzLTQzNEQtOUY1
Ni1FMTBBM0QyRjVCQUR9Ci0JCXs5QzZBNUQ0OC1BMzMxLTRCMUYtQTAwNC03QkI2N0JBNUJFMUN9
ID0gezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30KLQkJezRCRjQxMzc4LUMw
MUItNDAwMi04NTgxLTU2M0M1RjcwMzM2Mn0gPSB7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYz
QzVGNzAzMzYyfQotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfSA9IHsy
RTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9Ci0JRW5kUHJvamVjdFNlY3Rpb24K
LUVuZFByb2plY3QKLUdsb2JhbAotCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9u
UGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uCi0JCVdpbmRvd3MgNyBEZWJ1Z3xXaW4zMiA9IFdpbmRv
d3MgNyBEZWJ1Z3xXaW4zMgotCQlXaW5kb3dzIDcgRGVidWd8eDY0ID0gV2luZG93cyA3IERlYnVn
fHg2NAotCQlXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMiA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMy
Ci0JCVdpbmRvd3MgNyBSZWxlYXNlfHg2NCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQlXaW5k
b3dzIDggRGVidWd8V2luMzIgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJV2luZG93cyA4IERl
YnVnfHg2NCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJV2luZG93cyA4IFJlbGVhc2V8V2luMzIg
PSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQlXaW5kb3dzIDggUmVsZWFzZXx4NjQgPSBXaW5k
b3dzIDggUmVsZWFzZXx4NjQKLQkJV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMiA9IFdpbmRvd3Mg
VmlzdGEgRGVidWd8V2luMzIKLQkJV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQgPSBXaW5kb3dzIFZp
c3RhIERlYnVnfHg2NAotCQlXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIgPSBXaW5kb3dzIFZp
c3RhIFJlbGVhc2V8V2luMzIKLQkJV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NCA9IFdpbmRvd3Mg
VmlzdGEgUmVsZWFzZXx4NjQKLQlFbmRHbG9iYWxTZWN0aW9uCi0JR2xvYmFsU2VjdGlvbihQcm9q
ZWN0Q29uZmlndXJhdGlvblBsYXRmb3JtcykgPSBwb3N0U29sdXRpb24KLQkJezRCRjQxMzc4LUMw
MUItNDAwMi04NTgxLTU2M0M1RjcwMzM2Mn0uV2luZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYz
QzVGNzAzMzYyfS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1
Z3xXaW4zMgotCQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVGNzAzMzYyfS5XaW5kb3dz
IDcgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezRCRjQxMzc4
LUMwMUItNDAwMi04NTgxLTU2M0M1RjcwMzM2Mn0uV2luZG93cyA3IERlYnVnfHg2NC5CdWlsZC4w
ID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVG
NzAzMzYyfS5XaW5kb3dzIDcgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVs
ZWFzZXxXaW4zMgotCQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVGNzAzMzYyfS5XaW5k
b3dzIDcgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJ
ezRCRjQxMzc4LUMwMUItNDAwMi04NTgxLTU2M0M1RjcwMzM2Mn0uV2luZG93cyA3IFJlbGVhc2V8
eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7NEJGNDEzNzgtQzAxQi00
MDAyLTg1ODEtNTYzQzVGNzAzMzYyfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdp
bmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVGNzAz
MzYyfS5XaW5kb3dzIDggRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdp
bjMyCi0JCXs0QkY0MTM3OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgOCBE
ZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXs0QkY0MTM3OC1D
MDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0aXZlQ2Zn
ID0gV2luZG93cyA4IERlYnVnfHg2NAotCQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVG
NzAzMzYyfS5XaW5kb3dzIDggRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8eDY0
Ci0JCXs0QkY0MTM3OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgOCBSZWxl
YXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXs0QkY0MTM3
OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1
aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1
ODEtNTYzQzVGNzAzMzYyfS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93
cyA4IFJlbGVhc2V8eDY0Ci0JCXs0QkY0MTM3OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9
LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0J
CXs0QkY0MTM3OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgVmlzdGEgRGVi
dWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7NEJGNDEz
NzgtQzAxQi00MDAyLTg1ODEtNTYzQzVGNzAzMzYyfS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMy
LkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXs0QkY0MTM3OC1DMDFCLTQw
MDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkFjdGl2ZUNmZyA9
IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXs0QkY0MTM3OC1DMDFCLTQwMDItODU4MS01NjND
NUY3MDMzNjJ9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3Rh
IERlYnVnfHg2NAotCQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVGNzAzMzYyfS5XaW5k
b3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNl
fFdpbjMyCi0JCXs0QkY0MTM3OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3Mg
VmlzdGEgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMy
Ci0JCXs0QkY0MTM3OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgVmlzdGEg
UmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7NEJG
NDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVGNzAzMzYyfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8
eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXsyRTYxRDJDQy04NjVF
LTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcg
PSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFG
RDdCQkQzQn0uV2luZG93cyA3IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8
V2luMzIKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA3
IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXsyRTYxRDJDQy04
NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQnVpbGQuMCA9
IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdC
QkQzQn0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVh
c2V8V2luMzIKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93
cyA3IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXsy
RTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgNyBSZWxlYXNlfHg2
NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJezJFNjFEMkNDLTg2NUUtNDQy
Qy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5k
b3dzIDcgUmVsZWFzZXx4NjQKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQz
Qn0uV2luZG93cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4z
MgotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDggRGVi
dWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7MkU2MUQyQ0MtODY1
RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNmZyA9
IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdC
QkQzQn0uV2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2NAot
CQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDggUmVsZWFz
ZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7MkU2MUQyQ0Mt
ODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWls
ZC4wID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04Qzgz
LUI4REFGRDdCQkQzQn0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3Mg
OCBSZWxlYXNlfHg2NAotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5X
aW5kb3dzIDggUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7
MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIFZpc3RhIERlYnVn
fFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezJFNjFEMkND
LTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5C
dWlsZC4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7MkU2MUQyQ0MtODY1RS00NDJD
LThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5BY3RpdmVDZmcgPSBX
aW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZE
N0JCRDNCfS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBE
ZWJ1Z3x4NjQKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93
cyBWaXN0YSBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxX
aW4zMgotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIFZp
c3RhIFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgot
CQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIFZpc3RhIFJl
bGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezJFNjFE
MkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2
NC5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7OUM2QTVENDgtQTMzMS00
QjFGLUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0g
V2luZG93cyA3IERlYnVnfFdpbjMyCi0JCXs5QzZBNUQ0OC1BMzMxLTRCMUYtQTAwNC03QkI2N0JB
NUJFMUN9LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3IERlYnVnfFdp
bjMyCi0JCXs5QzZBNUQ0OC1BMzMxLTRCMUYtQTAwNC03QkI2N0JBNUJFMUN9LldpbmRvd3MgNyBE
ZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7OUM2QTVENDgtQTMz
MS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dzIDcgRGVidWd8eDY0LkJ1aWxkLjAgPSBX
aW5kb3dzIDcgRGVidWd8eDY0Ci0JCXs5QzZBNUQ0OC1BMzMxLTRCMUYtQTAwNC03QkI2N0JBNUJF
MUN9LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNl
fFdpbjMyCi0JCXs5QzZBNUQ0OC1BMzMxLTRCMUYtQTAwNC03QkI2N0JBNUJFMUN9LldpbmRvd3Mg
NyBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7OUM2
QTVENDgtQTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQu
QWN0aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVhc2V8eDY0Ci0JCXs5QzZBNUQ0OC1BMzMxLTRCMUYt
QTAwNC03QkI2N0JBNUJFMUN9LldpbmRvd3MgNyBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93
cyA3IFJlbGVhc2V8eDY0Ci0JCXs5QzZBNUQ0OC1BMzMxLTRCMUYtQTAwNC03QkI2N0JBNUJFMUN9
LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8V2luMzIK
LQkJezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyA4IERlYnVn
fFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezlDNkE1RDQ4LUEzMzEt
NEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyA4IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBX
aW5kb3dzIDggRGVidWd8eDY0Ci0JCXs5QzZBNUQ0OC1BMzMxLTRCMUYtQTAwNC03QkI2N0JBNUJF
MUN9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJ
ezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyA4IFJlbGVhc2V8
V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezlDNkE1RDQ4LUEz
MzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQnVpbGQu
MCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXs5QzZBNUQ0OC1BMzMxLTRCMUYtQTAwNC03
QkI2N0JBNUJFMUN9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDgg
UmVsZWFzZXx4NjQKLQkJezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2lu
ZG93cyA4IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKLQkJezlD
NkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyBWaXN0YSBEZWJ1Z3xX
aW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXs5QzZBNUQ0OC1B
MzMxLTRCMUYtQTAwNC03QkI2N0JBNUJFMUN9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIuQnVp
bGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezlDNkE1RDQ4LUEzMzEtNEIxRi1B
MDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2lu
ZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1
QkUxQ30uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVi
dWd8eDY0Ci0JCXs5QzZBNUQ0OC1BMzMxLTRCMUYtQTAwNC03QkI2N0JBNUJFMUN9LldpbmRvd3Mg
VmlzdGEgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2lu
MzIKLQkJezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyBWaXN0
YSBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJ
ezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyBWaXN0YSBSZWxl
YXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXs5QzZBNUQ0
OC1BMzMxLTRCMUYtQTAwNC03QkI2N0JBNUJFMUN9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQu
QnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJe0Q3NDExQjJDLTJDNDMtNDM0
RC05RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdp
bmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1
QkFEfS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4z
MgotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIDcgRGVi
dWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJe0Q3NDExQjJDLTJDNDMt
NDM0RC05RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyA3IERlYnVnfHg2NC5CdWlsZC4wID0gV2lu
ZG93cyA3IERlYnVnfHg2NAotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFE
fS5XaW5kb3dzIDcgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXxX
aW4zMgotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIDcg
UmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJe0Q3NDEx
QjJDLTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkFj
dGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7RDc0MTFCMkMtMkM0My00MzRELTlG
NTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3Mg
NyBSZWxlYXNlfHg2NAotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5X
aW5kb3dzIDggRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0J
CXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgOCBEZWJ1Z3xX
aW4zMi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXtENzQxMUIyQy0yQzQzLTQz
NEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2lu
ZG93cyA4IERlYnVnfHg2NAotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFE
fS5XaW5kb3dzIDggRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCXtE
NzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgOCBSZWxlYXNlfFdp
bjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXtENzQxMUIyQy0yQzQz
LTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAg
PSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEw
QTNEMkY1QkFEfS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJl
bGVhc2V8eDY0Ci0JCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRv
d3MgOCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0JCXtENzQx
MUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgVmlzdGEgRGVidWd8V2lu
MzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7RDc0MTFCMkMtMkM0
My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyLkJ1aWxk
LjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1
Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRv
d3MgVmlzdGEgRGVidWd8eDY0Ci0JCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVC
QUR9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIERlYnVn
fHg2NAotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIFZp
c3RhIFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMy
Ci0JCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgVmlzdGEg
UmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXtE
NzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgVmlzdGEgUmVsZWFz
ZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7RDc0MTFCMkMt
MkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0LkJ1
aWxkLjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXsxNEMxNkMyOS03N0M5LTQ3NUIt
QTYxOC0xQjAxRTY3Q0Y5ODV9LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5k
b3dzIDcgRGVidWd8V2luMzIKLQkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFFNjdDRjk4
NX0uV2luZG93cyA3IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIK
LQkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFFNjdDRjk4NX0uV2luZG93cyA3IERlYnVn
fHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXsxNEMxNkMyOS03N0M5LTQ3
NUItQTYxOC0xQjAxRTY3Q0Y5ODV9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRv
d3MgNyBEZWJ1Z3x4NjQKLQkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFFNjdDRjk4NX0u
V2luZG93cyA3IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVhc2V8V2lu
MzIKLQkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFFNjdDRjk4NX0uV2luZG93cyA3IFJl
bGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXsxNEMxNkMy
OS03N0M5LTQ3NUItQTYxOC0xQjAxRTY3Q0Y5ODV9LldpbmRvd3MgNyBSZWxlYXNlfHg2NC5BY3Rp
dmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4
LTFCMDFFNjdDRjk4NX0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDcg
UmVsZWFzZXx4NjQKLQkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFFNjdDRjk4NX0uV2lu
ZG93cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7
MTRDMTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fS5XaW5kb3dzIDggRGVidWd8V2lu
MzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7MTRDMTZDMjktNzdDOS00NzVC
LUE2MTgtMUIwMUU2N0NGOTg1fS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRv
d3MgOCBEZWJ1Z3x4NjQKLQkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFFNjdDRjk4NX0u
V2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2NAotCQl7MTRD
MTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4z
Mi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7MTRDMTZDMjktNzdDOS00
NzVCLUE2MTgtMUIwMUU2N0NGOTg1fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0g
V2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFF
NjdDRjk4NX0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxl
YXNlfHg2NAotCQl7MTRDMTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fS5XaW5kb3dz
IDggUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7MTRDMTZD
MjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMy
LkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezE0QzE2QzI5LTc3Qzkt
NDc1Qi1BNjE4LTFCMDFFNjdDRjk4NX0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5CdWlsZC4w
ID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7MTRDMTZDMjktNzdDOS00NzVCLUE2MTgt
MUIwMUU2N0NGOTg1fS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dz
IFZpc3RhIERlYnVnfHg2NAotCQl7MTRDMTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1
fS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4
NjQKLQkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFFNjdDRjk4NX0uV2luZG93cyBWaXN0
YSBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgot
CQl7MTRDMTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fS5XaW5kb3dzIFZpc3RhIFJl
bGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7MTRD
MTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8
eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezE0QzE2QzI5LTc3
QzktNDc1Qi1BNjE4LTFCMDFFNjdDRjk4NX0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5CdWls
ZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2
RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93
cyA3IERlYnVnfFdpbjMyCi0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9
LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3IERlYnVnfFdpbjMyCi0J
CXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgNyBEZWJ1Z3xX
aW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7OTJFNUE0NkItOTEzQy00
NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIDcgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdp
bmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5
Rn0uV2luZG93cyA3IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7
OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIDcgRGVidWd8eDY0
LkRlcGxveS4wID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2
RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIDcgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5k
b3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUy
NzlGfS5XaW5kb3dzIDcgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8
V2luMzIKLQkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyA3
IFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7OTJF
NUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQu
QWN0aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVhc2V8eDY0Ci0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYt
QjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgNyBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93
cyA3IFJlbGVhc2V8eDY0Ci0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9
LldpbmRvd3MgNyBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAot
CQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIDggRGVidWd8
V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXs5MkU1QTQ2Qi05MTND
LTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0g
V2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4
NTI3OUZ9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xX
aW4zMgotCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIDgg
RGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezkyRTVBNDZCLTkx
M0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0g
V2luZG93cyA4IERlYnVnfHg2NAotCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUy
NzlGfS5XaW5kb3dzIDggRGVidWd8eDY0LkRlcGxveS4wID0gV2luZG93cyA4IERlYnVnfHg2NAot
CQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIDggUmVsZWFz
ZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7OTJFNUE0NkIt
OTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWls
ZC4wID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4
LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dz
IDggUmVsZWFzZXxXaW4zMgotCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlG
fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8eDY0
Ci0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgOCBSZWxl
YXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0JCXs5MkU1QTQ2Qi05MTND
LTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9
IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJE
ODUyNzlGfS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlz
dGEgRGVidWd8V2luMzIKLQkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0u
V2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xX
aW4zMgotCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIFZp
c3RhIERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7
OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIFZpc3RhIERlYnVn
fHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQl7OTJFNUE0NkItOTEz
Qy00NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5CdWlsZC4w
ID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdF
MDYyRDg1Mjc5Rn0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIFZp
c3RhIERlYnVnfHg2NAotCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5X
aW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxl
YXNlfFdpbjMyCi0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRv
d3MgVmlzdGEgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdp
bjMyCi0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgVmlz
dGEgUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgot
CQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIFZpc3RhIFJl
bGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezkyRTVB
NDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2
NC5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7OTJFNUE0NkItOTEzQy00
NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0LkRlcGxveS4w
ID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCUVuZEdsb2JhbFNlY3Rpb24KLQlHbG9iYWxT
ZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBwcmVTb2x1dGlvbgotCQlIaWRlU29sdXRpb25O
b2RlID0gRkFMU0UKLQlFbmRHbG9iYWxTZWN0aW9uCi1FbmRHbG9iYWwKZGlmZiAtLWdpdCBhL3Zz
MjAxMi94ZW5idXMveGVuYnVzLnZjeHByb2ogYi92czIwMTIveGVuYnVzL3hlbmJ1cy52Y3hwcm9q
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YmIzYmU5Li4wMDAwMDAwCi0tLSBhL3Zz
MjAxMi94ZW5idXMveGVuYnVzLnZjeHByb2oKKysrIC9kZXYvbnVsbApAQCAtMSwxMDAgKzAsMCBA
QAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1
bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1h
cy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SW1wb3J0IFByb2pl
Y3Q9Ii4uXGNvbmZpZ3MucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxz
Ij4KLSAgICA8Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVnPC9Db25maWd1cmF0aW9u
PgotICAgIDxQbGF0Zm9ybSBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJyciPldpbjMyPC9Q
bGF0Zm9ybT4KLSAgICA8RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8L0RlYnVn
Z2VyRmxhdm9yPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJQ
cm9wZXJ0eVNoZWV0cyI+Ci0gICAgPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJUeXBlPgotICAgIDxQ
bGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXI4LjA8L1BsYXRmb3JtVG9vbHNl
dD4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHJpdmVyPC9Db25maWd1cmF0aW9uVHlwZT4KLSAg
PC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWlj
cm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xv
YmFscyI+Ci0gICAgPFByb2plY3RHdWlkPnsxNEMxNkMyOS03N0M5LTQ3NUItQTYxOC0xQjAxRTY3
Q0Y5ODV9PC9Qcm9qZWN0R3VpZD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2pl
Y3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQ
YXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8SW5j
bHVkZVBhdGg+Li5cLi5caW5jbHVkZTsuLlwuLlxpbmNsdWRlXHhlbjsuLlwuLlxzcmNcY29tbW9u
OyQoSW5jbHVkZVBhdGgpPC9JbmNsdWRlUGF0aD4KLSAgICA8UnVuQ29kZUFuYWx5c2lzPnRydWU8
L1J1bkNvZGVBbmFseXNpcz4KLSAgICA8RW5hYmxlSW5mMmNhdD5mYWxzZTwvRW5hYmxlSW5mMmNh
dD4KLSAgICA8SW50RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQo
UGxhdGZvcm0pXDwvSW50RGlyPgotICAgIDxPdXREaXI+Li5cJChDb25maWd1cmF0aW9uTmFtZSlc
JChQbGF0Zm9ybSlcPC9PdXREaXI+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0
aW9uR3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9u
cz5fX01PRFVMRV9fPSJYRU5CVVMiO1BPT0xfTlhfT1BUSU49MTtOVF9QUk9DRVNTT1JfR1JPVVBT
OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAg
ICAgIDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KLSAgICAg
IDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40NzExOzQ1NDg7NDgyMDs0NjY4OzQyNTU7NjAwMTs2
MDU0OzI4MTk2OyUoRGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJu
aW5ncz4KLSAgICAgIDxNdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011bHRpUHJvY2Vz
c29yQ29tcGlsYXRpb24+Ci0gICAgICA8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFibGVQUkVmYXN0
PgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEltYWdlSGFzU2FmZUV4Y2Vw
dGlvbkhhbmRsZXJzPmZhbHNlPC9JbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz4KLSAgICAg
IDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoUHJvamVjdERpcikuLlwkKENvbmZpZ3VyYXRpb25O
YW1lKVwkKFBsYXRmb3JtKVx4ZW4ubGliOyQoRERLX0xJQl9QQVRIKS9saWJjbnRwci5saWI7JChE
REtfTElCX1BBVEgpL3Byb2NncnAubGliOyQoRERLX0xJQl9QQVRIKS9ydGx2ZXIubGliOyUoQWRk
aXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8RW5h
YmxlQ09NREFURm9sZGluZz5mYWxzZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICA8L0xpbms+
Ci0gICAgPEluZj4KLSAgICAgIDxTcGVjaWZ5QXJjaGl0ZWN0dXJlPnRydWU8L1NwZWNpZnlBcmNo
aXRlY3R1cmU+Ci0gICAgICA8U3BlY2lmeURyaXZlclZlckRpcmVjdGl2ZVZlcnNpb24+dHJ1ZTwv
U3BlY2lmeURyaXZlclZlckRpcmVjdGl2ZVZlcnNpb24+Ci0gICAgICA8VGltZVN0YW1wPiQoTUFK
T1JfVkVSU0lPTikuJChNSU5PUl9WRVJTSU9OKS4kKE1JQ1JPX1ZFUlNJT04pLiQoQlVJTERfTlVN
QkVSKTwvVGltZVN0YW1wPgotICAgICAgPEVuYWJsZVZlcmJvc2U+dHJ1ZTwvRW5hYmxlVmVyYm9z
ZT4KLSAgICA8L0luZj4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRp
b25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgotICAgIDxDbENvbXBp
bGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19pMzg2X187JShQcmVwcm9jZXNz
b3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxl
PgotICAgIDxJbmY+Ci0gICAgICA8QXJjaGl0ZWN0dXJlPng4NjwvQXJjaGl0ZWN0dXJlPgotICAg
IDwvSW5mPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3Vw
IENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgotICAgIDxDbENvbXBpbGU+Ci0gICAg
ICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X194ODZfNjRfXzslKFByZXByb2Nlc3NvckRlZmlu
aXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAg
PEluZj4KLSAgICAgIDxBcmNoaXRlY3R1cmU+YW1kNjQ8L0FyY2hpdGVjdHVyZT4KLSAgICA8L0lu
Zj4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxGaWxlc1Rv
UGFja2FnZSBJbmNsdWRlPSIkKFRhcmdldFBhdGgpIiAvPgotICAgIDxGaWxlc1RvUGFja2FnZSBJ
bmNsdWRlPSIkKE91dERpcikkKFRhcmdldE5hbWUpLnBkYiIgLz4KLSAgICA8RmlsZXNUb1BhY2th
Z2UgSW5jbHVkZT0iQChJbmYtPiclKENvcHlPdXRwdXQpJykiIENvbmRpdGlvbj0iJ0AoSW5mKSch
PScnIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXC4uXHNyY1xjb21tb25ccmVnaXN0cnkuYyIgLz4KLSAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXC4uXHNyY1x4ZW5idXNcYnVzLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlwuLlxzcmNceGVuYnVzXGNvbnNvbGUuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXC4uXHNyY1x4ZW5idXNcZG1hLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwu
LlxzcmNceGVuYnVzXGRlYnVnLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxz
cmNceGVuYnVzXGRyaXZlci5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3Jj
XHhlbmJ1c1xldnRjaG4uYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4
ZW5idXNcZXZ0Y2huXzJsLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNc
eGVuYnVzXGV2dGNobl9maWZvLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxz
cmNceGVuYnVzXGZkby5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhl
bmJ1c1xmaWx0ZXJzLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVu
YnVzXGdudHRhYi5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1
c1xwZG8uYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5idXNcc2hh
cmVkX2luZm8uYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5idXNc
c3RvcmUuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5idXNcc3Vz
cGVuZC5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xzeW5j
LmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYnVzXHRocmVhZC5j
IiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xyYW5nZV9zZXQu
YyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5idXNcYmFsbG9vbi5j
IiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xjYWNoZS5jIiAv
PgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xoYXNoX3RhYmxlLmMi
IC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYnVzXHVucGx1Zy5jIiAv
PgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8UmVzb3VyY2VDb21waWxlIElu
Y2x1ZGU9Ii4uXC4uXHNyY1x4ZW5idXNceGVuYnVzLnJjIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAg
PEl0ZW1Hcm91cD4KLSAgICA8SW5mIEluY2x1ZGU9Ii4uXHhlbmJ1cy5pbmYiIC8+Ci0gIDwvSXRl
bUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNw
cC50YXJnZXRzIiAvPgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDEyL3hlbmJ1cy94ZW5i
dXMudmN4cHJvai51c2VyIGIvdnMyMDEyL3hlbmJ1cy94ZW5idXMudmN4cHJvai51c2VyCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OGVjY2U4Li4wMDAwMDAwCi0tLSBhL3ZzMjAxMi94
ZW5idXMveGVuYnVzLnZjeHByb2oudXNlcgorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAot
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVy
c2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIv
bXNidWlsZC8yMDAzIj4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPFNpZ25Nb2RlPlRlc3RTaWdu
PC9TaWduTW9kZT4KLSAgICA8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW5idXMucGZ4PC9U
ZXN0Q2VydGlmaWNhdGU+Ci0gICAgPFRpbWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZl
cmlzaWduLmNvbS9zY3JpcHRzL3RpbXN0YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgotICA8L1By
b3BlcnR5R3JvdXA+Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTIveGVuYnVzX2NvaW5z
dC94ZW5idXNfY29pbnN0LnZjeHByb2ogYi92czIwMTIveGVuYnVzX2NvaW5zdC94ZW5idXNfY29p
bnN0LnZjeHByb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1OGNlZDYuLjAwMDAw
MDAKLS0tIGEvdnMyMDEyL3hlbmJ1c19jb2luc3QveGVuYnVzX2NvaW5zdC52Y3hwcm9qCisrKyAv
ZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i
dXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0
LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxk
LzIwMDMiPgotICA8SW1wb3J0IFByb2plY3Q9Ii4uXGNvbmZpZ3MucHJvcHMiIC8+Ci0gIDxQcm9w
ZXJ0eUdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPERyaXZlclR5cGU+V0RNPC9E
cml2ZXJUeXBlPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJp
dmVyczguMDwvUGxhdGZvcm1Ub29sc2V0PgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWlj
TGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3Bl
cnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxDb25maWd1cmF0aW9uPldpbmRvd3MgVmlz
dGEgRGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0gICAgPFBsYXRmb3JtIENvbmRpdGlvbj0iJyQoUGxh
dGZvcm0pJyA9PSAnJyI+V2luMzI8L1BsYXRmb3JtPgotICAgIDxEZWJ1Z2dlckZsYXZvcj5EYmdl
bmdLZXJuZWxEZWJ1Z2dlcjwvRGVidWdnZXJGbGF2b3I+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAg
PEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5w
cm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9qZWN0
R3VpZD57NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVGNzAzMzYyfTwvUHJvamVjdEd1aWQ+
Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRzLnByb3Bz
IiAvPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5w
cm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPEluY2x1ZGVQYXRoPiQoSW5jbHVkZVBh
dGgpPC9JbmNsdWRlUGF0aD4KLSAgICA8UnVuQ29kZUFuYWx5c2lzPnRydWU8L1J1bkNvZGVBbmFs
eXNpcz4KLSAgICA8RW5hYmxlSW5mMmNhdD5mYWxzZTwvRW5hYmxlSW5mMmNhdD4KLSAgPC9Qcm9w
ZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cD4KLSAgICA8Q2xDb21waWxlPgotICAg
ICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChTb2x1dGlvbkRpcikuLlxpbmNsdWRl
OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0
b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVfXz0iWEVOQlVT
X0NPSU5TVCI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRp
b25zPgotICAgICAgPFdhcm5pbmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVs
PgotICAgICAgPERpc2FibGVTcGVjaWZpY1dhcm5pbmdzPjQxMjc7NDcxMTs0NTQ4OzQ4MjA7NDY2
ODs0MjU1OzYwMDE7NjA1NDsyODE5NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJs
ZVNwZWNpZmljV2FybmluZ3M+Ci0gICAgICA8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50cnVl
PC9NdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPgotICAgICAgPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwv
RW5hYmxlUFJFZmFzdD4KLSAgICAgIDxSdW50aW1lTGlicmFyeSBDb25kaXRpb249IickKFVzZURl
YnVnTGlicmFyaWVzKSc9PSd0cnVlJyI+TXVsdGlUaHJlYWRlZERlYnVnPC9SdW50aW1lTGlicmFy
eT4KLSAgICAgIDxSdW50aW1lTGlicmFyeSBDb25kaXRpb249IickKFVzZURlYnVnTGlicmFyaWVz
KSc9PSdmYWxzZSciPk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgotICAgIDwvQ2xDb21w
aWxlPgotICAgIDxMaW5rPgotICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxlPi4uLy4uL3NyYy9j
b2luc3QveGVuYnVzX2NvaW5zdC5kZWY8L01vZHVsZURlZmluaXRpb25GaWxlPgotICAgICAgPEFk
ZGl0aW9uYWxEZXBlbmRlbmNpZXM+c2V0dXBhcGkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2ll
cyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICAgIDxSZXNvdXJjZUNv
bXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFNvbHV0aW9uRGly
KS4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5p
dGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3Jt
KSc9PSdXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5p
dGlvbnM+X19pMzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRl
ZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0g
IDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgot
ICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X194ODZfNjRf
XzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0g
ICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4K
LSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChUYXJnZXRQYXRoKSIgLz4KLSAgICA8Rmls
ZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5wZGIiIC8+Ci0gICAg
PEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IkAoSW5mLT4nJShDb3B5T3V0cHV0KScpIiBDb25kaXRp
b249IidAKEluZiknIT0nJyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNcY29pbnN0XGNvaW5zdC5jIiAvPgotICA8L0l0
ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Tm9uZSBJbmNsdWRlPSIuLlwuLlxzcmNcY29p
bnN0XHhlbmJ1c19jb2luc3QuZGVmIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEltcG9ydCBQcm9q
ZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KLTwvUHJvamVj
dD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS92czIwMTIveGVuYnVz
X2NvaW5zdC94ZW5idXNfY29pbnN0LnZjeHByb2oudXNlciBiL3ZzMjAxMi94ZW5idXNfY29pbnN0
L3hlbmJ1c19jb2luc3QudmN4cHJvai51c2VyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA4OGVjY2U4Li4wMDAwMDAwCi0tLSBhL3ZzMjAxMi94ZW5idXNfY29pbnN0L3hlbmJ1c19jb2lu
c3QudmN4cHJvai51c2VyCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAi
IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIw
MDMiPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2Rl
PgotICAgIDxUZXN0Q2VydGlmaWNhdGU+Li5cLi5cc3JjXHhlbmJ1cy5wZng8L1Rlc3RDZXJ0aWZp
Y2F0ZT4KLSAgICA8VGltZVN0YW1wU2VydmVyPmh0dHA6Ly90aW1lc3RhbXAudmVyaXNpZ24uY29t
L3NjcmlwdHMvdGltc3RhbXAuZGxsPC9UaW1lU3RhbXBTZXJ2ZXI+Ci0gIDwvUHJvcGVydHlHcm91
cD4KLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxMi94ZW5idXNfbW9uaXRvci94ZW5idXNf
bW9uaXRvci52Y3hwcm9qIGIvdnMyMDEyL3hlbmJ1c19tb25pdG9yL3hlbmJ1c19tb25pdG9yLnZj
eHByb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2YjIxY2UuLjAwMDAwMDAKLS0t
IGEvdnMyMDEyL3hlbmJ1c19tb25pdG9yL3hlbmJ1c19tb25pdG9yLnZjeHByb2oKKysrIC9kZXYv
bnVsbApAQCAtMSw4MiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYt
OCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIg
eG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAw
MyI+Ci0gIDxJbXBvcnQgUHJvamVjdD0iLi5cY29uZmlncy5wcm9wcyIgLz4KLSAgPFByb3BlcnR5
R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0
ZTwvQ2hhcmFjdGVyU2V0PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9u
Rm9yRHJpdmVyczguMDwvUGxhdGZvcm1Ub29sc2V0PgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5B
cHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFBy
b3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxDb25maWd1cmF0aW9uPldpbmRvd3Mg
VmlzdGEgRGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0gICAgPFBsYXRmb3JtIENvbmRpdGlvbj0iJyQo
UGxhdGZvcm0pJyA9PSAnJyI+V2luMzI8L1BsYXRmb3JtPgotICAgIDxEZWJ1Z2dlckZsYXZvcj5E
YmdlbmdLZXJuZWxEZWJ1Z2dlcjwvRGVidWdnZXJGbGF2b3I+Ci0gIDwvUHJvcGVydHlHcm91cD4K
LSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVs
dC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9q
ZWN0R3VpZD57MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfTwvUHJvamVjdEd1
aWQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRzLnBy
b3BzIiAvPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNw
cC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPEluY2x1ZGVQYXRoPiQoSW5jbHVk
ZVBhdGgpPC9JbmNsdWRlUGF0aD4KLSAgICA8UnVuQ29kZUFuYWx5c2lzPnRydWU8L1J1bkNvZGVB
bmFseXNpcz4KLSAgICA8RW5hYmxlSW5mMmNhdD5mYWxzZTwvRW5hYmxlSW5mMmNhdD4KLSAgPC9Q
cm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8Q3VzdG9tQnVpbGRBZnRlclRh
cmdldHM+TGluazwvQ3VzdG9tQnVpbGRBZnRlclRhcmdldHM+Ci0gIDwvUHJvcGVydHlHcm91cD4K
LSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlv
bmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoU29sdXRpb25EaXIpLi5caW5jbHVkZTslKEFkZGl0aW9u
YWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAg
ICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19XSU5ET1dTO19DUlRfU0VDVVJFX05P
X1dBUk5JTkdTO19fTU9EVUxFX189IlhFTkJVU19NT05JVE9SIjslKFByZXByb2Nlc3NvckRlZmlu
aXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8V2FybmluZ0xldmVsPkVu
YWJsZUFsbFdhcm5pbmdzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8RGlzYWJsZVNwZWNpZmljV2Fy
bmluZ3M+NDEyNzs0NzExOzQ1NDg7NDgyMDs0NjY4OzQyNTU7NjAwMTs2MDU0OzI4MTk2OyUoRGlz
YWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4KLSAgICAgIDxN
dWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+
Ci0gICAgICA8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFibGVQUkVmYXN0PgotICAgICAgPFJ1bnRp
bWVMaWJyYXJ5IENvbmRpdGlvbj0iJyQoVXNlRGVidWdMaWJyYXJpZXMpJz09J3RydWUnIj5NdWx0
aVRocmVhZGVkRGVidWc8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5IENv
bmRpdGlvbj0iJyQoVXNlRGVidWdMaWJyYXJpZXMpJz09J2ZhbHNlJyI+TXVsdGlUaHJlYWRlZDwv
UnVudGltZUxpYnJhcnk+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRk
aXRpb25hbERlcGVuZGVuY2llcz53dHNhcGkzMi5saWI7Y2ZnbWdyMzIubGliOyUoQWRkaXRpb25h
bERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICAg
IDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4k
KFNvbHV0aW9uRGlyKS4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwv
QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAg
PC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249
IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM+X19pMzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1By
ZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxDdXN0b21CdWls
ZFN0ZXA+Ci0gICAgICA8T3V0cHV0cz4kKFRhcmdldERpcikkKFRhcmdldE5hbWUpLmRsbDwvT3V0
cHV0cz4KLSAgICAgIDxJbnB1dHM+JChJbnREaXIpJChUYXJnZXROYW1lKS5yZXM8L0lucHV0cz4K
LSAgICAgIDxDb21tYW5kPmxpbmsgLW1hY2hpbmU6eDg2IC1kbGwgLW5vZW50cnkgLW91dDolKE91
dHB1dHMpICUoSW5wdXRzKTwvQ29tbWFuZD4KLSAgICA8L0N1c3RvbUJ1aWxkU3RlcD4KLSAgPC9J
dGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249Iick
KFBsYXRmb3JtKSc9PSd4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3Nv
ckRlZmluaXRpb25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXBy
b2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxDdXN0b21CdWlsZFN0
ZXA+Ci0gICAgICA8T3V0cHV0cz4kKFRhcmdldERpcikkKFRhcmdldE5hbWUpLmRsbDwvT3V0cHV0
cz4KLSAgICAgIDxJbnB1dHM+JChJbnREaXIpJChUYXJnZXROYW1lKS5yZXM8L0lucHV0cz4KLSAg
ICAgIDxDb21tYW5kPmxpbmsgLW1hY2hpbmU6eDY0IC1kbGwgLW5vZW50cnkgLW91dDolKE91dHB1
dHMpICUoSW5wdXRzKTwvQ29tbWFuZD4KLSAgICA8L0N1c3RvbUJ1aWxkU3RlcD4KLSAgPC9JdGVt
RGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNs
dWRlPSIkKFRhcmdldFBhdGgpIiAvPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKE91
dERpcikkKFRhcmdldE5hbWUpLnBkYiIgLz4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0i
JChPdXREaXIpJChUYXJnZXROYW1lKS5kbGwiIC8+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1
ZGU9IkAoSW5mLT4nJShDb3B5T3V0cHV0KScpIiBDb25kaXRpb249IidAKEluZiknIT0nJyIgLz4K
LSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPE1lc3NhZ2VDb21waWxlIEluY2x1
ZGU9Ii4uXC4uXHNyY1xtb25pdG9yXG1lc3NhZ2VzLm1jIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAg
PEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1xtb25pdG9yXG1v
bml0b3IuYyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPFJlc291cmNl
Q29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNcbW9uaXRvclx4ZW5idXNfbW9uaXRvci5yYyIgLz4K
LSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNy
b3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvdnMyMDEyL3hlbmJ1c19tb25pdG9yL3hlbmJ1c19tb25pdG9yLnZj
eHByb2oudXNlciBiL3ZzMjAxMi94ZW5idXNfbW9uaXRvci94ZW5idXNfbW9uaXRvci52Y3hwcm9q
LnVzZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4ZWNjZTguLjAwMDAwMDAKLS0t
IGEvdnMyMDEyL3hlbmJ1c19tb25pdG9yL3hlbmJ1c19tb25pdG9yLnZjeHByb2oudXNlcgorKysg
L2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i
dXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVt
YXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPFByb3BlcnR5R3Jv
dXA+Ci0gICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9kZT4KLSAgICA8VGVzdENlcnRpZmlj
YXRlPi4uXC4uXHNyY1x4ZW5idXMucGZ4PC9UZXN0Q2VydGlmaWNhdGU+Ci0gICAgPFRpbWVTdGFt
cFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRzL3RpbXN0YW1wLmRs
bDwvVGltZVN0YW1wU2VydmVyPgotICA8L1Byb3BlcnR5R3JvdXA+Ci08L1Byb2plY3Q+CmRpZmYg
LS1naXQgYS92czIwMTIveGVuZmlsdC94ZW5maWx0LnZjeHByb2ogYi92czIwMTIveGVuZmlsdC94
ZW5maWx0LnZjeHByb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRkNTc0N2QuLjAw
MDAwMDAKLS0tIGEvdnMyMDEyL3hlbmZpbHQveGVuZmlsdC52Y3hwcm9qCisrKyAvZGV2L251bGwK
QEAgLTEsODAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4K
LTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5z
PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgot
ICA8SW1wb3J0IFByb2plY3Q9Ii4uXGNvbmZpZ3MucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3Vw
IExhYmVsPSJHbG9iYWxzIj4KLSAgICA8Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVn
PC9Db25maWd1cmF0aW9uPgotICAgIDxQbGF0Zm9ybSBDb25kaXRpb249IickKFBsYXRmb3JtKScg
PT0gJyciPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVs
RGVidWdnZXI8L0RlYnVnZ2VyRmxhdm9yPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0
eUdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPERyaXZlclR5cGU+V0RNPC9Ecml2
ZXJUeXBlPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXI4LjA8
L1BsYXRmb3JtVG9vbHNldD4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHJpdmVyPC9Db25maWd1
cmF0aW9uVHlwZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNU
YXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlH
cm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPFByb2plY3RHdWlkPntENzQxMUIyQy0yQzQzLTQz
NEQtOUY1Ni1FMTBBM0QyRjVCQUR9PC9Qcm9qZWN0R3VpZD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgot
ICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+Ci0gIDxJbXBvcnQgUHJvamVj
dD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgotICA8UHJvcGVydHlH
cm91cD4KLSAgICA8SW5jbHVkZVBhdGg+Li5cLi5caW5jbHVkZTsuLlwuLlxpbmNsdWRlXHhlbjsu
LlwuLlxzcmNcY29tbW9uOyQoSW5jbHVkZVBhdGgpPC9JbmNsdWRlUGF0aD4KLSAgICA8UnVuQ29k
ZUFuYWx5c2lzPnRydWU8L1J1bkNvZGVBbmFseXNpcz4KLSAgICA8RW5hYmxlSW5mMmNhdD5mYWxz
ZTwvRW5hYmxlSW5mMmNhdD4KLSAgICA8SW50RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmln
dXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvSW50RGlyPgotICAgIDxPdXREaXI+Li5cJChDb25m
aWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9PdXREaXI+Ci0gIDwvUHJvcGVydHlHcm91cD4K
LSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucz5fX01PRFVMRV9fPSJYRU5GSUxUIjtQT09MX05YX09QVElOPTE7TlRf
UFJPQ0VTU09SX0dST1VQUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29y
RGVmaW5pdGlvbnM+Ci0gICAgICA8V2FybmluZ0xldmVsPkVuYWJsZUFsbFdhcm5pbmdzPC9XYXJu
aW5nTGV2ZWw+Ci0gICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDcxMTs0NTQ4OzQ4MjA7
NDY2ODs0MjU1OzYwMDE7NjA1NDsyODE5NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlz
YWJsZVNwZWNpZmljV2FybmluZ3M+Ci0gICAgICA8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50
cnVlPC9NdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPgotICAgICAgPEVuYWJsZVBSRWZhc3Q+dHJ1
ZTwvRW5hYmxlUFJFZmFzdD4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxJ
bWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz5mYWxzZTwvSW1hZ2VIYXNTYWZlRXhjZXB0aW9u
SGFuZGxlcnM+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKFByb2plY3REaXIpLi5c
JChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlceGVuLmxpYjskKERES19MSUJfUEFUSCkv
bGliY250cHIubGliOyQoRERLX0xJQl9QQVRIKS9wcm9jZ3JwLmxpYjslKEFkZGl0aW9uYWxEZXBl
bmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEVuYWJsZUNPTURBVEZv
bGRpbmc+ZmFsc2U8L0VuYWJsZUNPTURBVEZvbGRpbmc+Ci0gICAgPC9MaW5rPgotICAgIDxJbmY+
Ci0gICAgICA8U3BlY2lmeUFyY2hpdGVjdHVyZT50cnVlPC9TcGVjaWZ5QXJjaGl0ZWN0dXJlPgot
ICAgICAgPFNwZWNpZnlEcml2ZXJWZXJEaXJlY3RpdmVWZXJzaW9uPnRydWU8L1NwZWNpZnlEcml2
ZXJWZXJEaXJlY3RpdmVWZXJzaW9uPgotICAgICAgPFRpbWVTdGFtcD4kKE1BSk9SX1ZFUlNJT04p
LiQoTUlOT1JfVkVSU0lPTikuJChNSUNST19WRVJTSU9OKS4kKEJVSUxEX05VTUJFUik8L1RpbWVT
dGFtcD4KLSAgICAgIDxFbmFibGVWZXJib3NlPnRydWU8L0VuYWJsZVZlcmJvc2U+Ci0gICAgPC9J
bmY+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29u
ZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAg
PFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9faTM4Nl9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlv
bnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8SW5m
PgotICAgICAgPEFyY2hpdGVjdHVyZT54ODY8L0FyY2hpdGVjdHVyZT4KLSAgICA8L0luZj4KLSAg
PC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249
IickKFBsYXRmb3JtKSc9PSd4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nl
c3NvckRlZmluaXRpb25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1By
ZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxJbmY+Ci0gICAg
ICA8QXJjaGl0ZWN0dXJlPmFtZDY0PC9BcmNoaXRlY3R1cmU+Ci0gICAgPC9JbmY+Ci0gIDwvSXRl
bURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5j
bHVkZT0iJChUYXJnZXRQYXRoKSIgLz4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChP
dXREaXIpJChUYXJnZXROYW1lKS5wZGIiIC8+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9
IkAoSW5mLT4nJShDb3B5T3V0cHV0KScpIiBDb25kaXRpb249IidAKEluZiknIT0nJyIgLz4KLSAg
PC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8u
Li9zcmMvY29tbW9uL3JlZ2lzdHJ5LmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8u
Li9zcmMveGVuZmlsdC9kcml2ZXIuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4u
L3NyYy94ZW5maWx0L2VtdWxhdGVkLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8u
Li9zcmMveGVuZmlsdC9mZG8uYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3Ny
Yy94ZW5maWx0L3Bkby5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hl
bmZpbHQvdGhyZWFkLmMiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxS
ZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmZpbHRceGVuZmlsdC5yYyIgLz4K
LSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNy
b3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvdnMyMDEyL3hlbmZpbHQveGVuZmlsdC52Y3hwcm9qLnVzZXIgYi92
czIwMTIveGVuZmlsdC94ZW5maWx0LnZjeHByb2oudXNlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggODhlY2NlOC4uMDAwMDAwMAotLS0gYS92czIwMTIveGVuZmlsdC94ZW5maWx0LnZj
eHByb2oudXNlcgorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxu
cz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4K
LSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9kZT4KLSAg
ICA8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW5idXMucGZ4PC9UZXN0Q2VydGlmaWNhdGU+
Ci0gICAgPFRpbWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3Jp
cHRzL3RpbXN0YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgotICA8L1Byb3BlcnR5R3JvdXA+Ci08
L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTMvY29uZmlncy5wcm9wcyBiL3ZzMjAxMy9jb25m
aWdzLnByb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Mzk4N2ZiLi4wMDAwMDAw
Ci0tLSBhL3ZzMjAxMy9jb25maWdzLnByb3BzCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBA
QAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1
bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1h
cy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPiAKLQk8SXRlbUdyb3VwIExh
YmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIElu
Y2x1ZGU9IldpbmRvd3MgOCBEZWJ1Z3xXaW4zMiI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93
cyA4IERlYnVnPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+
IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIElu
Y2x1ZGU9IldpbmRvd3MgNyBEZWJ1Z3xXaW4zMiI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93
cyA3IERlYnVnPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+
IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIElu
Y2x1ZGU9IldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIiPiAKLQkJCTxDb25maWd1cmF0aW9uPldp
bmRvd3MgVmlzdGEgRGVidWc8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPldpbjMyPC9Q
bGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3Vy
YXRpb24gSW5jbHVkZT0iV2luZG93cyA4IFJlbGVhc2V8V2luMzIiPiAKLQkJCTxDb25maWd1cmF0
aW9uPldpbmRvd3MgOCBSZWxlYXNlPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT5XaW4z
MjwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25m
aWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyIj4gCi0JCQk8Q29uZmln
dXJhdGlvbj5XaW5kb3dzIDcgUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+
V2luMzI8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0
Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIiPiAKLQkJ
CTxDb25maWd1cmF0aW9uPldpbmRvd3MgVmlzdGEgUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4gCi0J
CQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4g
Ci0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDggRGVidWd8eDY0Ij4g
Ci0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDggRGVidWc8L0NvbmZpZ3VyYXRpb24+IAotCQkJ
PFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJ
PFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgNyBEZWJ1Z3x4NjQiPiAKLQkJ
CTxDb25maWd1cmF0aW9uPldpbmRvd3MgNyBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxh
dGZvcm0+eDY0PC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJv
amVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQiPiAKLQkJ
CTxDb25maWd1cmF0aW9uPldpbmRvd3MgVmlzdGEgRGVidWc8L0NvbmZpZ3VyYXRpb24+IAotCQkJ
PFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJ
PFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgOCBSZWxlYXNlfHg2NCI+IAot
CQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA4IFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+IAotCQkJ
PFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJ
PFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgNyBSZWxlYXNlfHg2NCI+IAot
CQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA3IFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+IAotCQkJ
PFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJ
PFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQi
PiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgVmlzdGEgUmVsZWFzZTwvQ29uZmlndXJhdGlv
bj4gCi0JCQk8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRp
b24+IAotCTwvSXRlbUdyb3VwPiAKLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxMy9wYWNr
YWdlL3BhY2thZ2UudmN4cHJvaiBiL3ZzMjAxMy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvagpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzNhNmNjZS4uMDAwMDAwMAotLS0gYS92czIwMTMv
cGFja2FnZS9wYWNrYWdlLnZjeHByb2oKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi08
P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRh
cmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjEyLjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5t
aWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SW1wb3J0IFByb2plY3Q9
Ii4uXGNvbmZpZ3MucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJQcm9wZXJ0eVNo
ZWV0cyI+Ci0gICAgPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJUeXBlPgotICAgIDxQbGF0Zm9ybVRv
b2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0Pgot
ICAgIDxDb25maWd1cmF0aW9uVHlwZT5VdGlsaXR5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8
RHJpdmVyVHlwZT5QYWNrYWdlPC9Ecml2ZXJUeXBlPgotICAgIDxEaXNhYmxlRmFzdFVwVG9EYXRl
Q2hlY2s+dHJ1ZTwvRGlzYWJsZUZhc3RVcFRvRGF0ZUNoZWNrPgotICA8L1Byb3BlcnR5R3JvdXA+
Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLSAgICA8Q29uZmlndXJhdGlvbj5X
aW5kb3dzIFZpc3RhIERlYnVnPC9Db25maWd1cmF0aW9uPgotICAgIDxQbGF0Zm9ybSBDb25kaXRp
b249IickKFBsYXRmb3JtKScgPT0gJyciPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8RGVidWdnZXJG
bGF2b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8L0RlYnVnZ2VyRmxhdm9yPgotICA8L1Byb3BlcnR5
R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3Bw
LkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLSAg
ICA8UHJvamVjdEd1aWQ+ezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn08L1By
b2plY3RHdWlkPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iLi5cdGFy
Z2V0cy5wcm9wcyIgLz4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jv
c29mdC5DcHAucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxFbmFibGVJbmYyY2F0
PnRydWU8L0VuYWJsZUluZjJjYXQ+Ci0gICAgPEluZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3QgQ29u
ZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyI+VmlzdGFfeDY0OzdfeDY0O1NlcnZlcjIwMDhf
eDY0O1NlcnZlcjIwMDhSMl94NjQ7U2VydmVyOF94NjQ8L0luZjJDYXRXaW5kb3dzVmVyc2lvbkxp
c3Q+Ci0gICAgPEluZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3QgQ29uZGl0aW9uPSInJChQbGF0Zm9y
bSknPT0nV2luMzInIj5WaXN0YV94ODY7N194ODY7U2VydmVyMjAwOF94ODY7OF94ODY8L0luZjJD
YXRXaW5kb3dzVmVyc2lvbkxpc3Q+Ci0gICAgPERlYnVnZ2VyRmxhdm9yPkRiZ2VuZ0tlcm5lbERl
YnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4KLSAgICA8RW5hYmxlRGVwbG95bWVudD5GYWxzZTwvRW5h
YmxlRGVwbG95bWVudD4KLSAgICA8SW1wb3J0VG9TdG9yZT5GYWxzZTwvSW1wb3J0VG9TdG9yZT4K
LSAgICA8SW5zdGFsbE1vZGU+Tm9uZTwvSW5zdGFsbE1vZGU+Ci0gICAgPFNjcmlwdERldmljZVF1
ZXJ5PiVQYXRoVG9JbmYlPC9TY3JpcHREZXZpY2VRdWVyeT4KLSAgICA8RW5hYmxlVmVyaWZpZXI+
RmFsc2U8L0VuYWJsZVZlcmlmaWVyPgotICAgIDxBbGxEcml2ZXJzPkZhbHNlPC9BbGxEcml2ZXJz
PgotICAgIDxWZXJpZnlQcm9qZWN0T3V0cHV0PlRydWU8L1ZlcmlmeVByb2plY3RPdXRwdXQ+Ci0g
ICAgPFZlcmlmeURyaXZlcnMgLz4KLSAgICA8VmVyaWZ5RmxhZ3M+MTMzNTYzPC9WZXJpZnlGbGFn
cz4KLSAgICA8SW50RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQo
UGxhdGZvcm0pXDwvSW50RGlyPgotICAgIDxPdXREaXI+Li5cJChDb25maWd1cmF0aW9uTmFtZSlc
JChQbGF0Zm9ybSlcPC9PdXREaXI+Ci0gICAgPFBhY2thZ2VEaXI+Li5cLi5ceGVuYnVzXCQoRERL
UGxhdGZvcm0pPC9QYWNrYWdlRGlyPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtR3JvdXA+
Ci0gICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5ceGVuZmlsdFx4ZW5maWx0LnZjeHBy
b2oiPgotICAgICAgPFByb2plY3Q+e2Q3NDExYjJjLTJjNDMtNDM0ZC05ZjU2LWUxMGEzZDJmNWJh
ZH08L1Byb2plY3Q+Ci0gICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgotICAgIDxQcm9qZWN0UmVmZXJl
bmNlIEluY2x1ZGU9Ii4uXHhlbmJ1c19jb2luc3RceGVuYnVzX2NvaW5zdC52Y3hwcm9qIj4KLSAg
ICAgIDxQcm9qZWN0Pns0YmY0MTM3OC1jMDFiLTQwMDItODU4MS01NjNjNWY3MDMzNjJ9PC9Qcm9q
ZWN0PgotICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNs
dWRlPSIuLlx4ZW5idXNceGVuYnVzLnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+ezE0YzE2YzI5
LTc3YzktNDc1Yi1hNjE4LTFiMDFlNjdjZjk4NX08L1Byb2plY3Q+Ci0gICAgPC9Qcm9qZWN0UmVm
ZXJlbmNlPgotICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Ii4uXHhlblx4ZW4udmN4cHJv
aiI+Ci0gICAgICA8UHJvamVjdD57OWM2YTVkNDgtYTMzMS00YjFmLWEwMDQtN2JiNjdiYTViZTFj
fTwvUHJvamVjdD4KLSAgICA8L1Byb2plY3RSZWZlcmVuY2U+Ci0gICAgPFByb2plY3RSZWZlcmVu
Y2UgSW5jbHVkZT0iLi5ceGVuYnVzX21vbml0b3JceGVuYnVzX21vbml0b3IudmN4cHJvaiI+Ci0g
ICAgICA8UHJvamVjdD57MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfTwvUHJv
amVjdD4KLSAgICA8L1Byb2plY3RSZWZlcmVuY2U+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdy
b3VwPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKEtJVClcUmVkaXN0XERJRnhcZHBp
bnN0XEVuZ011aVx4ODZcZHBpbnN0LmV4ZSIgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2lu
MzInIiAvPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKEtJVClcUmVkaXN0XERJRnhc
ZHBpbnN0XEVuZ011aVx4NjRcZHBpbnN0LmV4ZSIgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0n
eDY0JyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQ
YXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0
ZW5zaW9uVGFyZ2V0cyI+Ci0gIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdnMyMDEzL3BhY2thZ2UvcGFja2FnZS52Y3hw
cm9qLnVzZXIgYi92czIwMTMvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNlcgpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggODhlY2NlOC4uMDAwMDAwMAotLS0gYS92czIwMTMvcGFja2Fn
ZS9wYWNrYWdlLnZjeHByb2oudXNlcgorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lv
bj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNi
dWlsZC8yMDAzIj4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9T
aWduTW9kZT4KLSAgICA8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW5idXMucGZ4PC9UZXN0
Q2VydGlmaWNhdGU+Ci0gICAgPFRpbWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlz
aWduLmNvbS9zY3JpcHRzL3RpbXN0YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgotICA8L1Byb3Bl
cnR5R3JvdXA+Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTMvdGFyZ2V0cy5wcm9wcyBi
L3ZzMjAxMy90YXJnZXRzLnByb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOGFi
YTkyLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMy90YXJnZXRzLnByb3BzCisrKyAvZGV2L251bGwKQEAg
LTEsNTEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQ
cm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotCTxQ
cm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBEZWJ1Z3xXaW4zMiciPiAKLQkJPFRhcmdl
dFZlcnNpb24+V2luZG93czg8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+
dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5
R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IFJlbGVhc2V8V2luMzInIj4gCi0JCTxUYXJnZXRWZXJz
aW9uPldpbmRvd3M4PC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNl
PC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91
cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdXaW5kb3dzIDggRGVidWd8eDY0JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5k
b3dzODwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1
Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0i
Q29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdXaW5kb3dzIDggUmVsZWFzZXx4NjQnIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4PC9U
YXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJh
cmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPgotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1
cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRv
d3MgNyBEZWJ1Z3xXaW4zMiciPiAKLQkJPFRhcmdldFZlcnNpb24+V2luZG93czc8L1RhcmdldFZl
cnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+IAot
CTwvUHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24i
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IFJl
bGVhc2V8V2luMzInIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M3PC9UYXJnZXRWZXJzaW9u
PiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Q
cm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgRGVidWd8
eDY0JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzNzwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxV
c2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdy
b3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgUmVsZWFzZXx4NjQnIj4g
Ci0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M3PC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVn
TGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPgot
CTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgRGVidWd8V2luMzInIj4gCi0J
CTxUYXJnZXRWZXJzaW9uPlZpc3RhPC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFy
aWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9w
ZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMiciPiAKLQkJPFRh
cmdldFZlcnNpb24+VmlzdGE8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+
ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0
eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgRGVidWd8eDY0JyI+IAotCQk8VGFyZ2V0VmVy
c2lvbj5WaXN0YTwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9V
c2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBM
YWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5W
aXN0YTwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVi
dWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4KLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBh
L3ZzMjAxMy94ZW4veGVuLnZjeHByb2ogYi92czIwMTMveGVuL3hlbi52Y3hwcm9qCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZDVhNDcxLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMy94ZW4v
eGVuLnZjeHByb2oKKysrIC9kZXYvbnVsbApAQCAtMSwxMDUgKzAsMCBAQAotPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWls
ZCIgVG9vbHNWZXJzaW9uPSIxMi4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNv
bS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEltcG9ydCBQcm9qZWN0PSIuLlxjb25maWdz
LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPENvbmZp
Z3VyYXRpb24+V2luZG93cyBWaXN0YSBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4KLSAgICA8UGxhdGZv
cm0gQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICcnIj5XaW4zMjwvUGxhdGZvcm0+Ci0gICAg
PERlYnVnZ2VyRmxhdm9yPkRiZ2VuZ0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4KLSAg
PC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMi
PgotICAgIDxEcml2ZXJUeXBlPldETTwvRHJpdmVyVHlwZT4KLSAgICA8UGxhdGZvcm1Ub29sc2V0
PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gICAgPENvbmZp
Z3VyYXRpb25UeXBlPkRyaXZlcjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gIDwvUHJvcGVydHlHcm91
cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVm
YXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQ
cm9qZWN0R3VpZD57OUM2QTVENDgtQTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfTwvUHJvamVj
dEd1aWQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRz
LnByb3BzIiAvPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0
LkNwcC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPFJ1bkNvZGVBbmFseXNpcz50
cnVlPC9SdW5Db2RlQW5hbHlzaXM+Ci0gICAgPEVuYWJsZUluZjJjYXQ+ZmFsc2U8L0VuYWJsZUlu
ZjJjYXQ+Ci0gICAgPEludERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1l
KVwkKFBsYXRmb3JtKVw8L0ludERpcj4KLSAgICA8T3V0RGlyPi4uXCQoQ29uZmlndXJhdGlvbk5h
bWUpXCQoUGxhdGZvcm0pXDwvT3V0RGlyPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVm
aW5pdGlvbkdyb3VwPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVE
aXJlY3Rvcmllcz4kKFdpbmRvd3NTZGtEaXIpXGluY2x1ZGVca207Li5cLi5caW5jbHVkZTsuLlwu
LlxpbmNsdWRlXHhlbjsuLlwuLlxzcmNcY29tbW9uOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rv
cmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29y
RGVmaW5pdGlvbnM+X19NT0RVTEVfXz0iWEVOIjtQT09MX05YX09QVElOPTE7TlRfUFJPQ0VTU09S
X0dST1VQUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlv
bnM+Ci0gICAgICA8V2FybmluZ0xldmVsPkVuYWJsZUFsbFdhcm5pbmdzPC9XYXJuaW5nTGV2ZWw+
Ci0gICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDcxMTs0NTQ4OzQ4MjA7NDY2ODs0MjU1
OzYwMDE7NjA1NDsyODE5NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNp
ZmljV2FybmluZ3M+Ci0gICAgICA8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50cnVlPC9NdWx0
aVByb2Nlc3NvckNvbXBpbGF0aW9uPgotICAgICAgPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwvRW5hYmxl
UFJFZmFzdD4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAg
PEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJ
bmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwv
UmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEltYWdlSGFzU2FmZUV4Y2VwdGlv
bkhhbmRsZXJzPmZhbHNlPC9JbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz4KLSAgICAgIDxB
ZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoRERLX0xJQl9QQVRIKS9saWJjbnRwci5saWI7JChEREtf
TElCX1BBVEgpL2F1eF9rbGliLmxpYjskKERES19MSUJfUEFUSCkvcHJvY2dycC5saWI7JShBZGRp
dGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxNb2R1
bGVEZWZpbml0aW9uRmlsZT4uLi8uLi9zcmMveGVuL3hlbi5kZWY8L01vZHVsZURlZmluaXRpb25G
aWxlPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNPTURBVEZvbGRp
bmc+Ci0gICAgPC9MaW5rPgotICAgIDxJbmY+Ci0gICAgICA8U3BlY2lmeUFyY2hpdGVjdHVyZT50
cnVlPC9TcGVjaWZ5QXJjaGl0ZWN0dXJlPgotICAgICAgPFNwZWNpZnlEcml2ZXJWZXJEaXJlY3Rp
dmVWZXJzaW9uPnRydWU8L1NwZWNpZnlEcml2ZXJWZXJEaXJlY3RpdmVWZXJzaW9uPgotICAgICAg
PFRpbWVTdGFtcD4kKE1BSk9SX1ZFUlNJT04pLiQoTUlOT1JfVkVSU0lPTikuJChNSUNST19WRVJT
SU9OKS4kKEJVSUxEX05VTUJFUik8L1RpbWVTdGFtcD4KLSAgICAgIDxFbmFibGVWZXJib3NlPnRy
dWU8L0VuYWJsZVZlcmJvc2U+Ci0gICAgPC9JbmY+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4K
LSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzIn
Ij4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9faTM4
Nl9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpO19YODZfPC9QcmVwcm9jZXNzb3JEZWZpbml0
aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8SW5mPgotICAgICAgPEFyY2hpdGVjdHVyZT54
ODY8L0FyY2hpdGVjdHVyZT4KLSAgICA8L0luZj4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgot
ICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIj4K
LSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9feDg2XzY0
X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk7X0FNRDY0XzwvUHJlcHJvY2Vzc29yRGVmaW5p
dGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPEluZj4KLSAgICAgIDxBcmNoaXRlY3R1cmU+
YW1kNjQ8L0FyY2hpdGVjdHVyZT4KLSAgICA8L0luZj4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3Vw
PgotICA8SXRlbUdyb3VwPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKFRhcmdldFBh
dGgpIiAvPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKE91dERpcikkKFRhcmdldE5h
bWUpLnBkYiIgLz4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iQChJbmYtPiclKENvcHlP
dXRwdXQpJykiIENvbmRpdGlvbj0iJ0AoSW5mKSchPScnIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAg
PEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1xjb21tb25ccmVn
aXN0cnkuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5cZHJpdmVy
LmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuXGV2ZW50X2NoYW5u
ZWwuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5cZ3JhbnRfdGFi
bGUuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5caHZtLmMiIC8+
Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuXHhlbl92ZXJzaW9uLmMiIC8+
Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuXGh5cGVyY2FsbC5jIiAvPgot
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlblxtZW1vcnkuYyIgLz4KLSAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5cc2NoZWQuYyIgLz4KLSAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5cbG9nLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlwuLlxzcmNceGVuXGJ1Z19jaGVjay5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cLi5cc3JjXHhlblxtb2R1bGUuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XC4uXHNyY1x4ZW5ccHJvY2Vzcy5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5c
c3JjXHhlblxhY3BpLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVu
XHN5c3RlbS5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlblx1bnBs
dWcuYyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPE1BU00gSW5jbHVk
ZT0iLi5cLi5cc3JjXHhlblxhbWQ2NFxoeXBlcmNhbGxfdGh1bmsuYXNtIj4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgIDwvTUFTTT4KLSAgICA8TUFTTSBJbmNsdWRlPSIuLlwuLlxz
cmNceGVuXGkzODZcaHlwZXJjYWxsX3RodW5rLmFzbSI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+Ci0gICAgPC9NQVNNPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8UmVz
b3VyY2VDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5ceGVuLnJjIiAvPgotICA8L0l0ZW1H
cm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Tm9uZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuXHhl
bi5kZWYiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRz
UGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEv
dnMyMDEzL3hlbi94ZW4udmN4cHJvai51c2VyIGIvdnMyMDEzL3hlbi94ZW4udmN4cHJvai51c2Vy
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OGVjY2U4Li4wMDAwMDAwCi0tLSBhL3Zz
MjAxMy94ZW4veGVuLnZjeHByb2oudXNlcgorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAot
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVy
c2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIv
bXNidWlsZC8yMDAzIj4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPFNpZ25Nb2RlPlRlc3RTaWdu
PC9TaWduTW9kZT4KLSAgICA8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW5idXMucGZ4PC9U
ZXN0Q2VydGlmaWNhdGU+Ci0gICAgPFRpbWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZl
cmlzaWduLmNvbS9zY3JpcHRzL3RpbXN0YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgotICA8L1By
b3BlcnR5R3JvdXA+Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTMveGVuYnVzLnNsbiBi
L3ZzMjAxMy94ZW5idXMuc2xuCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMTA0MmM2
Li4wMDAwMDAwCi0tLSBhL3ZzMjAxMy94ZW5idXMuc2xuCisrKyAvZGV2L251bGwKQEAgLTEsMjE4
ICswLDAgQEAKLU1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIFNvbHV0aW9uIEZpbGUsIEZvcm1hdCBW
ZXJzaW9uIDEyLjAwCi0jIFZpc3VhbCBTdHVkaW8gRXhwcmVzcyAyMDEzIGZvciBXaW5kb3dzIERl
c2t0b3AKLVZpc3VhbFN0dWRpb1ZlcnNpb24gPSAxMi4wLjMwNzIzLjAKLU1pbmltdW1WaXN1YWxT
dHVkaW9WZXJzaW9uID0gMTAuMC40MDIxOS4xCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQw
LThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInhlbmJ1c19jb2luc3QiLCAieGVuYnVzX2NvaW5zdFx4
ZW5idXNfY29pbnN0LnZjeHByb2oiLCAiezRCRjQxMzc4LUMwMUItNDAwMi04NTgxLTU2M0M1Rjcw
MzM2Mn0iCi1FbmRQcm9qZWN0Ci1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBB
MEM5MUJDOTQyfSIpID0gInhlbmJ1c19tb25pdG9yIiwgInhlbmJ1c19tb25pdG9yXHhlbmJ1c19t
b25pdG9yLnZjeHByb2oiLCAiezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0i
Ci1FbmRQcm9qZWN0Ci1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJD
OTQyfSIpID0gInhlbiIsICJ4ZW5ceGVuLnZjeHByb2oiLCAiezlDNkE1RDQ4LUEzMzEtNEIxRi1B
MDA0LTdCQjY3QkE1QkUxQ30iCi1FbmRQcm9qZWN0Ci1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0x
MUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInhlbmZpbHQiLCAieGVuZmlsdFx4ZW5maWx0LnZj
eHByb2oiLCAie0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0iCi0JUHJvamVj
dFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdAotCQl7OUM2QTVENDgt
QTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfSA9IHs5QzZBNUQ0OC1BMzMxLTRCMUYtQTAwNC03
QkI2N0JBNUJFMUN9Ci0JRW5kUHJvamVjdFNlY3Rpb24KLUVuZFByb2plY3QKLVByb2plY3QoIns4
QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAieGVuYnVzIiwgInhlbmJ1
c1x4ZW5idXMudmN4cHJvaiIsICJ7MTRDMTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1
fSIKLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0Ci0J
CXs5QzZBNUQ0OC1BMzMxLTRCMUYtQTAwNC03QkI2N0JBNUJFMUN9ID0gezlDNkE1RDQ4LUEzMzEt
NEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30KLQlFbmRQcm9qZWN0U2VjdGlvbgotRW5kUHJvamVjdAot
UHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJwYWNr
YWdlIiwgInBhY2thZ2VccGFja2FnZS52Y3hwcm9qIiwgIns5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZG
OC03RTA2MkQ4NTI3OUZ9IgotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0g
cG9zdFByb2plY3QKLQkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFFNjdDRjk4NX0gPSB7
MTRDMTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fQotCQl7NEJGNDEzNzgtQzAxQi00
MDAyLTg1ODEtNTYzQzVGNzAzMzYyfSA9IHs0QkY0MTM3OC1DMDFCLTQwMDItODU4MS01NjNDNUY3
MDMzNjJ9Ci0JCXs5QzZBNUQ0OC1BMzMxLTRCMUYtQTAwNC03QkI2N0JBNUJFMUN9ID0gezlDNkE1
RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30KLQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05
RjU2LUUxMEEzRDJGNUJBRH0gPSB7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFE
fQotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfSA9IHsyRTYxRDJDQy04
NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9Ci0JRW5kUHJvamVjdFNlY3Rpb24KLUVuZFByb2pl
Y3QKLUdsb2JhbAotCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1z
KSA9IHByZVNvbHV0aW9uCi0JCVdpbmRvd3MgNyBEZWJ1Z3xXaW4zMiA9IFdpbmRvd3MgNyBEZWJ1
Z3xXaW4zMgotCQlXaW5kb3dzIDcgRGVidWd8eDY0ID0gV2luZG93cyA3IERlYnVnfHg2NAotCQlX
aW5kb3dzIDcgUmVsZWFzZXxXaW4zMiA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCVdpbmRv
d3MgNyBSZWxlYXNlfHg2NCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQlXaW5kb3dzIDggRGVi
dWd8V2luMzIgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJV2luZG93cyA4IERlYnVnfHg2NCA9
IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJV2luZG93cyA4IFJlbGVhc2V8V2luMzIgPSBXaW5kb3dz
IDggUmVsZWFzZXxXaW4zMgotCQlXaW5kb3dzIDggUmVsZWFzZXx4NjQgPSBXaW5kb3dzIDggUmVs
ZWFzZXx4NjQKLQkJV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMiA9IFdpbmRvd3MgVmlzdGEgRGVi
dWd8V2luMzIKLQkJV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQgPSBXaW5kb3dzIFZpc3RhIERlYnVn
fHg2NAotCQlXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIgPSBXaW5kb3dzIFZpc3RhIFJlbGVh
c2V8V2luMzIKLQkJV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NCA9IFdpbmRvd3MgVmlzdGEgUmVs
ZWFzZXx4NjQKLQlFbmRHbG9iYWxTZWN0aW9uCi0JR2xvYmFsU2VjdGlvbihQcm9qZWN0Q29uZmln
dXJhdGlvblBsYXRmb3JtcykgPSBwb3N0U29sdXRpb24KLQkJezRCRjQxMzc4LUMwMUItNDAwMi04
NTgxLTU2M0M1RjcwMzM2Mn0uV2luZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRv
d3MgNyBEZWJ1Z3xXaW4zMgotCQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVGNzAzMzYy
fS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgot
CQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVGNzAzMzYyfS5XaW5kb3dzIDcgRGVidWd8
eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezRCRjQxMzc4LUMwMUItNDAw
Mi04NTgxLTU2M0M1RjcwMzM2Mn0uV2luZG93cyA3IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93
cyA3IERlYnVnfHg2NAotCQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVGNzAzMzYyfS5X
aW5kb3dzIDcgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4z
MgotCQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVGNzAzMzYyfS5XaW5kb3dzIDcgUmVs
ZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezRCRjQxMzc4
LUMwMUItNDAwMi04NTgxLTU2M0M1RjcwMzM2Mn0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkFjdGl2
ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEt
NTYzQzVGNzAzMzYyfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBS
ZWxlYXNlfHg2NAotCQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVGNzAzMzYyfS5XaW5k
b3dzIDggRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXs0
QkY0MTM3OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgOCBEZWJ1Z3xXaW4z
Mi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXs0QkY0MTM3OC1DMDFCLTQwMDIt
ODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93
cyA4IERlYnVnfHg2NAotCQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVGNzAzMzYyfS5X
aW5kb3dzIDggRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCXs0QkY0
MTM3OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMy
LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXs0QkY0MTM3OC1DMDFCLTQw
MDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBX
aW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVG
NzAzMzYyfS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVh
c2V8eDY0Ci0JCXs0QkY0MTM3OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3Mg
OCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0JCXs0QkY0MTM3
OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIu
QWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7NEJGNDEzNzgtQzAxQi00
MDAyLTg1ODEtNTYzQzVGNzAzMzYyfS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyLkJ1aWxkLjAg
PSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXs0QkY0MTM3OC1DMDFCLTQwMDItODU4MS01
NjNDNUY3MDMzNjJ9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3Mg
VmlzdGEgRGVidWd8eDY0Ci0JCXs0QkY0MTM3OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9
LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfHg2
NAotCQl7NEJGNDEzNzgtQzAxQi00MDAyLTg1ODEtNTYzQzVGNzAzMzYyfS5XaW5kb3dzIFZpc3Rh
IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0J
CXs0QkY0MTM3OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgVmlzdGEgUmVs
ZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXs0QkY0
MTM3OC1DMDFCLTQwMDItODU4MS01NjNDNUY3MDMzNjJ9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4
NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7NEJGNDEzNzgtQzAx
Qi00MDAyLTg1ODEtNTYzQzVGNzAzMzYyfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0LkJ1aWxk
LjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4
My1COERBRkQ3QkJEM0J9LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dz
IDcgRGVidWd8V2luMzIKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0u
V2luZG93cyA3IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJ
ezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA3IERlYnVnfFdp
bjMyLkRlcGxveS4wID0gV2luZG93cyA3IERlYnVnfFdpbjMyCi0JCXsyRTYxRDJDQy04NjVFLTQ0
MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2lu
ZG93cyA3IERlYnVnfHg2NAotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNC
fS5XaW5kb3dzIDcgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXsy
RTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgNyBEZWJ1Z3x4NjQu
RGVwbG95LjAgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4
My1COERBRkQ3QkJEM0J9LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRv
d3MgNyBSZWxlYXNlfFdpbjMyCi0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJE
M0J9LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgUmVsZWFzZXxX
aW4zMgotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDcg
UmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXsyRTYx
RDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgNyBSZWxlYXNlfHg2NC5B
Y3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04
QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dz
IDcgUmVsZWFzZXx4NjQKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0u
V2luZG93cyA3IFJlbGVhc2V8eDY0LkRlcGxveS4wID0gV2luZG93cyA3IFJlbGVhc2V8eDY0Ci0J
CXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgOCBEZWJ1Z3xX
aW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezJFNjFEMkNDLTg2NUUt
NDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA4IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBX
aW5kb3dzIDggRGVidWd8V2luMzIKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdC
QkQzQn0uV2luZG93cyA4IERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA4IERlYnVnfFdp
bjMyCi0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgOCBE
ZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfHg2NAotCQl7MkU2MUQyQ0MtODY1
RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDggRGVidWd8eDY0LkJ1aWxkLjAgPSBX
aW5kb3dzIDggRGVidWd8eDY0Ci0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJE
M0J9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0J
CXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgOCBSZWxlYXNl
fFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXsyRTYxRDJDQy04
NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1aWxk
LjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMt
QjhEQUZEN0JCRDNCfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3Mg
OCBSZWxlYXNlfFdpbjMyCi0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9
LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQK
LQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA4IFJlbGVh
c2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKLQkJezJFNjFEMkNDLTg2NUUt
NDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkRlcGxveS4wID0g
V2luZG93cyA4IFJlbGVhc2V8eDY0Ci0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3
QkJEM0J9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0
YSBEZWJ1Z3xXaW4zMgotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5X
aW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdp
bjMyCi0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgVmlz
dGEgRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXsy
RTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgVmlzdGEgRGVidWd8
eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXsyRTYxRDJDQy04NjVF
LTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkJ1aWxkLjAg
PSBXaW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhE
QUZEN0JCRDNCfS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgVmlz
dGEgRGVidWd8eDY0Ci0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9Lldp
bmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVh
c2V8V2luMzIKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93
cyBWaXN0YSBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2lu
MzIKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyBWaXN0
YSBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0J
CXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgVmlzdGEgUmVs
ZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7MkU2MUQy
Q0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0
LkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXsyRTYxRDJDQy04NjVFLTQ0
MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuRGVwbG95LjAg
PSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXs5QzZBNUQ0OC1BMzMxLTRCMUYtQTAwNC03
QkI2N0JBNUJFMUN9LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcg
RGVidWd8V2luMzIKLQkJezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2lu
ZG93cyA3IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJezlD
NkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyA3IERlYnVnfHg2NC5B
Y3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXs5QzZBNUQ0OC1BMzMxLTRCMUYtQTAw
NC03QkI2N0JBNUJFMUN9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBE
ZWJ1Z3x4NjQKLQkJezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93
cyA3IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJ
ezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyA3IFJlbGVhc2V8
V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXs5QzZBNUQ0OC1BMzMx
LTRCMUYtQTAwNC03QkI2N0JBNUJFMUN9LldpbmRvd3MgNyBSZWxlYXNlfHg2NC5BY3RpdmVDZmcg
PSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3
QkE1QkUxQ30uV2luZG93cyA3IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDcgUmVsZWFz
ZXx4NjQKLQkJezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyA4
IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7OUM2QTVE
NDgtQTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dzIDggRGVidWd8V2luMzIuQnVp
bGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7OUM2QTVENDgtQTMzMS00QjFGLUEwMDQt
N0JCNjdCQTVCRTFDfS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBE
ZWJ1Z3x4NjQKLQkJezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93
cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2NAotCQl7OUM2QTVENDgt
QTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5BY3Rp
dmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7OUM2QTVENDgtQTMzMS00QjFGLUEw
MDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93
cyA4IFJlbGVhc2V8V2luMzIKLQkJezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUx
Q30uV2luZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2
NAotCQl7OUM2QTVENDgtQTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dzIDggUmVs
ZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7OUM2QTVENDgtQTMz
MS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyLkFjdGl2
ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezlDNkE1RDQ4LUEzMzEtNEIxRi1B
MDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2lu
ZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7OUM2QTVENDgtQTMzMS00QjFGLUEwMDQtN0JCNjdC
QTVCRTFDfS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3Rh
IERlYnVnfHg2NAotCQl7OUM2QTVENDgtQTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5k
b3dzIFZpc3RhIERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJ
ezlDNkE1RDQ4LUEzMzEtNEIxRi1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyBWaXN0YSBSZWxl
YXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7OUM2
QTVENDgtQTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8
V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7OUM2QTVENDgt
QTMzMS00QjFGLUEwMDQtN0JCNjdCQTVCRTFDfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0LkFj
dGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezlDNkE1RDQ4LUEzMzEtNEIx
Ri1BMDA0LTdCQjY3QkE1QkUxQ30uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5CdWlsZC4wID0g
V2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEw
QTNEMkY1QkFEfS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3IERl
YnVnfFdpbjMyCi0JCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRv
d3MgNyBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3IERlYnVnfFdpbjMyCi0JCXtENzQx
MUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQWN0
aXZlQ2ZnID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYt
RTEwQTNEMkY1QkFEfS5XaW5kb3dzIDcgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDcgRGVi
dWd8eDY0Ci0JCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3Mg
NyBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXtE
NzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgNyBSZWxlYXNlfFdp
bjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7RDc0MTFCMkMtMkM0My00
MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0g
V2luZG93cyA3IFJlbGVhc2V8eDY0Ci0JCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0Qy
RjVCQUR9LldpbmRvd3MgNyBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8
eDY0Ci0JCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgOCBE
ZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJe0Q3NDExQjJD
LTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyA4IERlYnVnfFdpbjMyLkJ1aWxk
LjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUx
MEEzRDJGNUJBRH0uV2luZG93cyA4IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVi
dWd8eDY0Ci0JCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3Mg
OCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJe0Q3NDExQjJDLTJD
NDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQWN0aXZl
Q2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2
LUUxMEEzRDJGNUJBRH0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3Mg
OCBSZWxlYXNlfFdpbjMyCi0JCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9
LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQK
LQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyA4IFJlbGVh
c2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKLQkJe0Q3NDExQjJDLTJDNDMt
NDM0RC05RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5BY3RpdmVD
ZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1
Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRv
d3MgVmlzdGEgRGVidWd8V2luMzIKLQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUxMEEzRDJG
NUJBRH0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBE
ZWJ1Z3x4NjQKLQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93
cyBWaXN0YSBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXtE
NzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgVmlzdGEgUmVsZWFz
ZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJe0Q3NDEx
QjJDLTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyBWaXN0YSBSZWxlYXNlfFdp
bjMyLkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJe0Q3NDExQjJDLTJD
NDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5BY3Rp
dmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXtENzQxMUIyQy0yQzQzLTQzNEQt
OUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdp
bmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFCMDFF
NjdDRjk4NX0uV2luZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1
Z3xXaW4zMgotCQl7MTRDMTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fS5XaW5kb3dz
IDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7MTRDMTZD
MjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fS5XaW5kb3dzIDcgRGVidWd8eDY0LkFjdGl2
ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezE0QzE2QzI5LTc3QzktNDc1Qi1BNjE4LTFC
MDFFNjdDRjk4NX0uV2luZG93cyA3IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA3IERlYnVn
fHg2NAotCQl7MTRDMTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fS5XaW5kb3dzIDcg
UmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7MTRD
MTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fS5XaW5kb3dzIDcgUmVsZWFzZXxXaW4z
Mi5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezE0QzE2QzI5LTc3QzktNDc1
Qi1BNjE4LTFCMDFFNjdDRjk4NX0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdp
bmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7MTRDMTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NG
OTg1fS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2
NAotCQl7MTRDMTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fS5XaW5kb3dzIDggRGVi
dWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXsxNEMxNkMyOS03
N0M5LTQ3NUItQTYxOC0xQjAxRTY3Q0Y5ODV9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWlsZC4w
ID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXsxNEMxNkMyOS03N0M5LTQ3NUItQTYxOC0xQjAx
RTY3Q0Y5ODV9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVn
fHg2NAotCQl7MTRDMTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fS5XaW5kb3dzIDgg
RGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCXsxNEMxNkMyOS03N0M5
LTQ3NUItQTYxOC0xQjAxRTY3Q0Y5ODV9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXsxNEMxNkMyOS03N0M5LTQ3NUItQTYxOC0x
QjAxRTY3Q0Y5ODV9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDgg
UmVsZWFzZXxXaW4zMgotCQl7MTRDMTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fS5X
aW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0J
CXsxNEMxNkMyOS03N0M5LTQ3NUItQTYxOC0xQjAxRTY3Q0Y5ODV9LldpbmRvd3MgOCBSZWxlYXNl
fHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0JCXsxNEMxNkMyOS03N0M5LTQ3
NUItQTYxOC0xQjAxRTY3Q0Y5ODV9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIuQWN0aXZlQ2Zn
ID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7MTRDMTZDMjktNzdDOS00NzVCLUE2MTgt
MUIwMUU2N0NGOTg1fS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dz
IFZpc3RhIERlYnVnfFdpbjMyCi0JCXsxNEMxNkMyOS03N0M5LTQ3NUItQTYxOC0xQjAxRTY3Q0Y5
ODV9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVi
dWd8eDY0Ci0JCXsxNEMxNkMyOS03N0M5LTQ3NUItQTYxOC0xQjAxRTY3Q0Y5ODV9LldpbmRvd3Mg
VmlzdGEgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQl7MTRD
MTZDMjktNzdDOS00NzVCLUE2MTgtMUIwMUU2N0NGOTg1fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8
V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXsxNEMxNkMy
OS03N0M5LTQ3NUItQTYxOC0xQjAxRTY3Q0Y5ODV9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4z
Mi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXsxNEMxNkMyOS03N0M5
LTQ3NUItQTYxOC0xQjAxRTY3Q0Y5ODV9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuQWN0aXZl
Q2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7MTRDMTZDMjktNzdDOS00NzVCLUE2
MTgtMUIwMUU2N0NGOTg1fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5k
b3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4
NTI3OUZ9LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8
V2luMzIKLQkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyA3
IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJezkyRTVBNDZC
LTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyA3IERlYnVnfFdpbjMyLkRlcGxv
eS4wID0gV2luZG93cyA3IERlYnVnfFdpbjMyCi0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03
RTA2MkQ4NTI3OUZ9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA3IERl
YnVnfHg2NAotCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dz
IDcgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXs5MkU1QTQ2Qi05
MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuRGVwbG95LjAg
PSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4
NTI3OUZ9LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxl
YXNlfFdpbjMyCi0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRv
d3MgNyBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7
OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIDcgUmVsZWFzZXxX
aW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXs5MkU1QTQ2Qi05MTND
LTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgNyBSZWxlYXNlfHg2NC5BY3RpdmVDZmcg
PSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYy
RDg1Mjc5Rn0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDcgUmVsZWFz
ZXx4NjQKLQkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyA3
IFJlbGVhc2V8eDY0LkRlcGxveS4wID0gV2luZG93cyA3IFJlbGVhc2V8eDY0Ci0JCXs5MkU1QTQ2
Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5BY3Rp
dmVDZmcgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4
LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyA4IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDgg
RGVidWd8V2luMzIKLQkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2lu
ZG93cyA4IERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXs5
MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgOCBEZWJ1Z3x4NjQu
QWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfHg2NAotCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2
RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIDggRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDgg
RGVidWd8eDY0Ci0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRv
d3MgOCBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCXs5MkU1QTQ2
Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkFj
dGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYt
QjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5k
b3dzIDggUmVsZWFzZXxXaW4zMgotCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUy
NzlGfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgOCBSZWxlYXNl
fFdpbjMyCi0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3Mg
OCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKLQkJezkyRTVB
NDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkJ1
aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKLQkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4
LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkRlcGxveS4wID0gV2luZG93cyA4
IFJlbGVhc2V8eDY0Ci0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9Lldp
bmRvd3MgVmlzdGEgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xX
aW4zMgotCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIFZp
c3RhIERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXs5
MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgVmlzdGEgRGVidWd8
V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXs5MkU1QTQ2Qi05
MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkFjdGl2
ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZG
OC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dz
IFZpc3RhIERlYnVnfHg2NAotCQl7OTJFNUE0NkItOTEzQy00NUM2LUI2RjgtN0UwNjJEODUyNzlG
fS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8
eDY0Ci0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgVmlz
dGEgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIK
LQkJezkyRTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyBWaXN0YSBS
ZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJezky
RTVBNDZCLTkxM0MtNDVDNi1CNkY4LTdFMDYyRDg1Mjc5Rn0uV2luZG93cyBWaXN0YSBSZWxlYXNl
fFdpbjMyLkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXs5MkU1QTQ2
Qi05MTNDLTQ1QzYtQjZGOC03RTA2MkQ4NTI3OUZ9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQu
QWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7OTJFNUE0NkItOTEzQy00
NUM2LUI2RjgtN0UwNjJEODUyNzlGfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0LkJ1aWxkLjAg
PSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXs5MkU1QTQ2Qi05MTNDLTQ1QzYtQjZGOC03
RTA2MkQ4NTI3OUZ9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dz
IFZpc3RhIFJlbGVhc2V8eDY0Ci0JRW5kR2xvYmFsU2VjdGlvbgotCUdsb2JhbFNlY3Rpb24oU29s
dXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uCi0JCUhpZGVTb2x1dGlvbk5vZGUgPSBGQUxT
RQotCUVuZEdsb2JhbFNlY3Rpb24KLUVuZEdsb2JhbApkaWZmIC0tZ2l0IGEvdnMyMDEzL3hlbmJ1
cy94ZW5idXMudmN4cHJvaiBiL3ZzMjAxMy94ZW5idXMveGVuYnVzLnZjeHByb2oKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4NTZkZGMuLjAwMDAwMDAKLS0tIGEvdnMyMDEzL3hlbmJ1
cy94ZW5idXMudmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi08P3htbCB2
ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9
IkJ1aWxkIiBUb29sc1ZlcnNpb249IjEyLjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3Nv
ZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SW1wb3J0IFByb2plY3Q9Ii4uXGNv
bmZpZ3MucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLSAgICA8
Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVnPC9Db25maWd1cmF0aW9uPgotICAgIDxQ
bGF0Zm9ybSBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJyciPldpbjMyPC9QbGF0Zm9ybT4K
LSAgICA8RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8L0RlYnVnZ2VyRmxhdm9y
PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJQcm9wZXJ0eVNo
ZWV0cyI+Ci0gICAgPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJUeXBlPgotICAgIDxQbGF0Zm9ybVRv
b2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXI4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgICA8
Q29uZmlndXJhdGlvblR5cGU+RHJpdmVyPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgPC9Qcm9wZXJ0
eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNw
cC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0g
ICAgPFByb2plY3RHdWlkPnsxNEMxNkMyOS03N0M5LTQ3NUItQTYxOC0xQjAxRTY3Q0Y5ODV9PC9Q
cm9qZWN0R3VpZD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRh
cmdldHMucHJvcHMiIC8+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNy
b3NvZnQuQ3BwLnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8UnVuQ29kZUFuYWx5
c2lzPnRydWU8L1J1bkNvZGVBbmFseXNpcz4KLSAgICA8RW5hYmxlSW5mMmNhdD5mYWxzZTwvRW5h
YmxlSW5mMmNhdD4KLSAgICA8SW50RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJhdGlv
bk5hbWUpXCQoUGxhdGZvcm0pXDwvSW50RGlyPgotICAgIDxPdXREaXI+Li5cJChDb25maWd1cmF0
aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9PdXREaXI+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0
ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JE
ZWZpbml0aW9ucz5fX01PRFVMRV9fPSJYRU5CVVMiO1BPT0xfTlhfT1BUSU49MTtOVF9QUk9DRVNT
T1JfR1JPVVBTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0
aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoV2luZG93c1Nka0Rp
cilcaW5jbHVkZVxrbTsuLlwuLlxpbmNsdWRlOy4uXC4uXGluY2x1ZGVceGVuOy4uXC4uXHNyY1xj
b21tb247PC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFdhcm5pbmdMZXZl
bD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgotICAgICAgPERpc2FibGVTcGVjaWZp
Y1dhcm5pbmdzPjQ3MTE7NDU0ODs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7JShEaXNh
YmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgotICAgICAgPE11
bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj4K
LSAgICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+Ci0gICAgPC9DbENvbXBp
bGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPi4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRk
aXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8
TGluaz4KLSAgICAgIDxJbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz5mYWxzZTwvSW1hZ2VI
YXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4k
KFByb2plY3REaXIpLi5cJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlceGVuLmxpYjsk
KERES19MSUJfUEFUSCkvbGliY250cHIubGliOyQoRERLX0xJQl9QQVRIKS9wcm9jZ3JwLmxpYjsk
KERES19MSUJfUEFUSCkvcnRsdmVyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRp
dGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0Vu
YWJsZUNPTURBVEZvbGRpbmc+Ci0gICAgPC9MaW5rPgotICAgIDxJbmY+Ci0gICAgICA8U3BlY2lm
eUFyY2hpdGVjdHVyZT50cnVlPC9TcGVjaWZ5QXJjaGl0ZWN0dXJlPgotICAgICAgPFNwZWNpZnlE
cml2ZXJWZXJEaXJlY3RpdmVWZXJzaW9uPnRydWU8L1NwZWNpZnlEcml2ZXJWZXJEaXJlY3RpdmVW
ZXJzaW9uPgotICAgICAgPFRpbWVTdGFtcD4kKE1BSk9SX1ZFUlNJT04pLiQoTUlOT1JfVkVSU0lP
TikuJChNSUNST19WRVJTSU9OKS4kKEJVSUxEX05VTUJFUik8L1RpbWVTdGFtcD4KLSAgICAgIDxF
bmFibGVWZXJib3NlPnRydWU8L0VuYWJsZVZlcmJvc2U+Ci0gICAgPC9JbmY+Ci0gIDwvSXRlbURl
ZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0
Zm9ybSknPT0nV2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRl
ZmluaXRpb25zPl9faTM4Nl9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpO19YODZfPC9QcmVw
cm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8SW5mPgotICAgICAg
PEFyY2hpdGVjdHVyZT54ODY8L0FyY2hpdGVjdHVyZT4KLSAgICA8L0luZj4KLSAgPC9JdGVtRGVm
aW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRm
b3JtKSc9PSd4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmlu
aXRpb25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk7X0FNRDY0XzwvUHJl
cHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPEluZj4KLSAgICAg
IDxBcmNoaXRlY3R1cmU+YW1kNjQ8L0FyY2hpdGVjdHVyZT4KLSAgICA8L0luZj4KLSAgPC9JdGVt
RGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNs
dWRlPSIkKFRhcmdldFBhdGgpIiAvPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKE91
dERpcikkKFRhcmdldE5hbWUpLnBkYiIgLz4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0i
QChJbmYtPiclKENvcHlPdXRwdXQpJykiIENvbmRpdGlvbj0iJ0AoSW5mKSchPScnIiAvPgotICA8
L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4u
XHNyY1xjb21tb25ccmVnaXN0cnkuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4u
XHNyY1x4ZW5idXNcYnVzLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNc
eGVuYnVzXGNvbnNvbGUuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4
ZW5idXNcZG1hLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYnVz
XGRlYnVnLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYnVzXGRy
aXZlci5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xldnRj
aG4uYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5idXNcZXZ0Y2hu
XzJsLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYnVzXGV2dGNo
bl9maWZvLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYnVzXGZk
by5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xmaWx0ZXJz
LmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYnVzXGdudHRhYi5j
IiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xwZG8uYyIgLz4K
LSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5idXNcc2hhcmVkX2luZm8uYyIg
Lz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5idXNcc3RvcmUuYyIgLz4K
LSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5idXNcc3VzcGVuZC5jIiAvPgot
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xzeW5jLmMiIC8+Ci0gICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYnVzXHRocmVhZC5jIiAvPgotICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xyYW5nZV9zZXQuYyIgLz4KLSAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5idXNcYmFsbG9vbi5jIiAvPgotICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xjYWNoZS5jIiAvPgotICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmJ1c1xoYXNoX3RhYmxlLmMiIC8+Ci0gICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYnVzXHVucGx1Zy5jIiAvPgotICA8L0l0ZW1H
cm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9Ii4uXC4u
XHNyY1x4ZW5idXNceGVuYnVzLnJjIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4K
LSAgICA8SW5mIEluY2x1ZGU9Ii4uXHhlbmJ1cy5pbmYiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8
SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAv
PgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDEzL3hlbmJ1cy94ZW5idXMudmN4cHJvai51
c2VyIGIvdnMyMDEzL3hlbmJ1cy94ZW5idXMudmN4cHJvai51c2VyCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4OGVjY2U4Li4wMDAwMDAwCi0tLSBhL3ZzMjAxMy94ZW5idXMveGVuYnVz
LnZjeHByb2oudXNlcgorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4
bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAz
Ij4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9kZT4K
LSAgICA8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW5idXMucGZ4PC9UZXN0Q2VydGlmaWNh
dGU+Ci0gICAgPFRpbWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9z
Y3JpcHRzL3RpbXN0YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgotICA8L1Byb3BlcnR5R3JvdXA+
Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTMveGVuYnVzX2NvaW5zdC94ZW5idXNfY29p
bnN0LnZjeHByb2ogYi92czIwMTMveGVuYnVzX2NvaW5zdC94ZW5idXNfY29pbnN0LnZjeHByb2oK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1MzUzMDIuLjAwMDAwMDAKLS0tIGEvdnMy
MDEzL3hlbmJ1c19jb2luc3QveGVuYnVzX2NvaW5zdC52Y3hwcm9qCisrKyAvZGV2L251bGwKQEAg
LTEsNjYgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQ
cm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIxMi4wIiB4bWxucz0i
aHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAg
PEltcG9ydCBQcm9qZWN0PSIuLlxjb25maWdzLnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBM
YWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxEcml2ZXJUeXBlPldETTwvRHJpdmVyVHlwZT4K
LSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8L1Bs
YXRmb3JtVG9vbHNldD4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0Nv
bmZpZ3VyYXRpb25UeXBlPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExh
YmVsPSJHbG9iYWxzIj4KLSAgICA8Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVnPC9D
b25maWd1cmF0aW9uPgotICAgIDxQbGF0Zm9ybSBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0g
JyciPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVi
dWdnZXI8L0RlYnVnZ2VyRmxhdm9yPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJv
amVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0g
IDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLSAgICA8UHJvamVjdEd1aWQ+ezRCRjQx
Mzc4LUMwMUItNDAwMi04NTgxLTU2M0M1RjcwMzM2Mn08L1Byb2plY3RHdWlkPgotICA8L1Byb3Bl
cnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iLi5cdGFyZ2V0cy5wcm9wcyIgLz4KLSAgPElt
cG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+Ci0g
IDxQcm9wZXJ0eUdyb3VwPgotICAgIDxJbmNsdWRlUGF0aD4kKEluY2x1ZGVQYXRoKTwvSW5jbHVk
ZVBhdGg+Ci0gICAgPFJ1bkNvZGVBbmFseXNpcz50cnVlPC9SdW5Db2RlQW5hbHlzaXM+Ci0gICAg
PEVuYWJsZUluZjJjYXQ+ZmFsc2U8L0VuYWJsZUluZjJjYXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4K
LSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlv
bmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoU29sdXRpb25EaXIpLi5caW5jbHVkZTslKEFkZGl0aW9u
YWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAg
ICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9fTU9EVUxFX189IlhFTkJVU19DT0lOU1QiOyUo
UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAg
IDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxE
aXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40MTI3OzQ3MTE7NDU0ODs0ODIwOzQ2Njg7NDI1NTs2MDAx
OzYwNTQ7MjgxOTY7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dh
cm5pbmdzPgotICAgICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9j
ZXNzb3JDb21waWxhdGlvbj4KLSAgICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZh
c3Q+Ci0gICAgICA8UnVudGltZUxpYnJhcnkgQ29uZGl0aW9uPSInJChVc2VEZWJ1Z0xpYnJhcmll
cyknPT0ndHJ1ZSciPk11bHRpVGhyZWFkZWREZWJ1ZzwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8
UnVudGltZUxpYnJhcnkgQ29uZGl0aW9uPSInJChVc2VEZWJ1Z0xpYnJhcmllcyknPT0nZmFsc2Un
Ij5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8
TGluaz4KLSAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZT4uLi8uLi9zcmMvY29pbnN0L3hlbmJ1
c19jb2luc3QuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KLSAgICAgIDxBZGRpdGlvbmFsRGVw
ZW5kZW5jaWVzPnNldHVwYXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlv
bmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAg
ICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChTb2x1dGlvbkRpcikuLlxpbmNsdWRl
OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0
b3JpZXM+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4K
LSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzIn
Ij4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9faTM4
Nl9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4K
LSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmlu
aXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIj4KLSAgICA8Q2xDb21w
aWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9feDg2XzY0X187JShQcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21w
aWxlPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPEZpbGVz
VG9QYWNrYWdlIEluY2x1ZGU9IiQoVGFyZ2V0UGF0aCkiIC8+Ci0gICAgPEZpbGVzVG9QYWNrYWdl
IEluY2x1ZGU9IiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkucGRiIiAvPgotICAgIDxGaWxlc1RvUGFj
a2FnZSBJbmNsdWRlPSJAKEluZi0+JyUoQ29weU91dHB1dCknKSIgQ29uZGl0aW9uPSInQChJbmYp
JyE9JyciIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cLi5cc3JjXGNvaW5zdFxjb2luc3QuYyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0g
IDxJdGVtR3JvdXA+Ci0gICAgPE5vbmUgSW5jbHVkZT0iLi5cLi5cc3JjXGNvaW5zdFx4ZW5idXNf
Y29pbnN0LmRlZiIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1Rh
cmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci08L1Byb2plY3Q+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdnMyMDEzL3hlbmJ1c19jb2luc3QveGVu
YnVzX2NvaW5zdC52Y3hwcm9qLnVzZXIgYi92czIwMTMveGVuYnVzX2NvaW5zdC94ZW5idXNfY29p
bnN0LnZjeHByb2oudXNlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODhlY2NlOC4u
MDAwMDAwMAotLS0gYS92czIwMTMveGVuYnVzX2NvaW5zdC94ZW5idXNfY29pbnN0LnZjeHByb2ou
dXNlcgorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBl
bmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0
cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPFBy
b3BlcnR5R3JvdXA+Ci0gICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9kZT4KLSAgICA8VGVz
dENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW5idXMucGZ4PC9UZXN0Q2VydGlmaWNhdGU+Ci0gICAg
PFRpbWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRzL3Rp
bXN0YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgotICA8L1Byb3BlcnR5R3JvdXA+Ci08L1Byb2pl
Y3Q+CmRpZmYgLS1naXQgYS92czIwMTMveGVuYnVzX21vbml0b3IveGVuYnVzX21vbml0b3IudmN4
cHJvaiBiL3ZzMjAxMy94ZW5idXNfbW9uaXRvci94ZW5idXNfbW9uaXRvci52Y3hwcm9qCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZGIwYzUwLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMy94
ZW5idXNfbW9uaXRvci94ZW5idXNfbW9uaXRvci52Y3hwcm9qCisrKyAvZGV2L251bGwKQEAgLTEs
ODIgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9q
ZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIxMi4wIiB4bWxucz0iaHR0
cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPElt
cG9ydCBQcm9qZWN0PSIuLlxjb25maWdzLnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBMYWJl
bD0iR2xvYmFscyI+Ci0gICAgPENvbmZpZ3VyYXRpb24+V2luZG93cyBWaXN0YSBEZWJ1ZzwvQ29u
ZmlndXJhdGlvbj4KLSAgICA8UGxhdGZvcm0gQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICcn
Ij5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPERlYnVnZ2VyRmxhdm9yPkRiZ2VuZ0tlcm5lbERlYnVn
Z2VyPC9EZWJ1Z2dlckZsYXZvcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91
cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9D
aGFyYWN0ZXJTZXQ+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRpb25Gb3JE
cml2ZXJzOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxp
Y2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0
IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAv
PgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPFByb2plY3RHdWlkPnsy
RTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9PC9Qcm9qZWN0R3VpZD4KLSAgPC9Q
cm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+Ci0g
IDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAv
PgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8SW5jbHVkZVBhdGg+JChJbmNsdWRlUGF0aCk8L0lu
Y2x1ZGVQYXRoPgotICAgIDxSdW5Db2RlQW5hbHlzaXM+dHJ1ZTwvUnVuQ29kZUFuYWx5c2lzPgot
ICAgIDxFbmFibGVJbmYyY2F0PmZhbHNlPC9FbmFibGVJbmYyY2F0PgotICA8L1Byb3BlcnR5R3Jv
dXA+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxDdXN0b21CdWlsZEFmdGVyVGFyZ2V0cz5MaW5r
PC9DdXN0b21CdWlsZEFmdGVyVGFyZ2V0cz4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURl
ZmluaXRpb25Hcm91cD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRl
RGlyZWN0b3JpZXM+JChTb2x1dGlvbkRpcikuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVE
aXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X1dJTkRPV1M7X0NSVF9TRUNVUkVfTk9fV0FSTklOR1M7
X19NT0RVTEVfXz0iWEVOQlVTX01PTklUT1IiOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9Q
cmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2Fy
bmluZ3M8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40MTI3
OzQ3MTE7NDU0ODs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7JShEaXNhYmxlU3BlY2lm
aWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgotICAgICAgPE11bHRpUHJvY2Vz
c29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj4KLSAgICAgIDxF
bmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+Ci0gICAgICA8UnVudGltZUxpYnJhcnkg
Q29uZGl0aW9uPSInJChVc2VEZWJ1Z0xpYnJhcmllcyknPT0ndHJ1ZSciPk11bHRpVGhyZWFkZWRE
ZWJ1ZzwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8UnVudGltZUxpYnJhcnkgQ29uZGl0aW9uPSIn
JChVc2VEZWJ1Z0xpYnJhcmllcyknPT0nZmFsc2UnIj5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGli
cmFyeT4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVw
ZW5kZW5jaWVzPnd0c2FwaTMyLmxpYjtjZmdtZ3IzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5j
aWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gICAgPFJlc291cmNl
Q29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoU29sdXRpb25E
aXIpLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFs
SW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICA8L0l0ZW1EZWZp
bml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZv
cm0pJz09J1dpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZp
bml0aW9ucz5fX2kzODZfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29y
RGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPEN1c3RvbUJ1aWxkU3RlcD4KLSAg
ICAgIDxPdXRwdXRzPiQoVGFyZ2V0RGlyKSQoVGFyZ2V0TmFtZSkuZGxsPC9PdXRwdXRzPgotICAg
ICAgPElucHV0cz4kKEludERpcikkKFRhcmdldE5hbWUpLnJlczwvSW5wdXRzPgotICAgICAgPENv
bW1hbmQ+bGluayAtbWFjaGluZTp4ODYgLWRsbCAtbm9lbnRyeSAtb3V0OiUoT3V0cHV0cykgJShJ
bnB1dHMpPC9Db21tYW5kPgotICAgIDwvQ3VzdG9tQnVpbGRTdGVwPgotICA8L0l0ZW1EZWZpbml0
aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0p
Jz09J3g2NCciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlv
bnM+X194ODZfNjRfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVm
aW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPEN1c3RvbUJ1aWxkU3RlcD4KLSAgICAg
IDxPdXRwdXRzPiQoVGFyZ2V0RGlyKSQoVGFyZ2V0TmFtZSkuZGxsPC9PdXRwdXRzPgotICAgICAg
PElucHV0cz4kKEludERpcikkKFRhcmdldE5hbWUpLnJlczwvSW5wdXRzPgotICAgICAgPENvbW1h
bmQ+bGluayAtbWFjaGluZTp4NjQgLWRsbCAtbm9lbnRyeSAtb3V0OiUoT3V0cHV0cykgJShJbnB1
dHMpPC9Db21tYW5kPgotICAgIDwvQ3VzdG9tQnVpbGRTdGVwPgotICA8L0l0ZW1EZWZpbml0aW9u
R3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoVGFy
Z2V0UGF0aCkiIC8+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoT3V0RGlyKSQoVGFy
Z2V0TmFtZSkucGRiIiAvPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKE91dERpcikk
KFRhcmdldE5hbWUpLmRsbCIgLz4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iQChJbmYt
PiclKENvcHlPdXRwdXQpJykiIENvbmRpdGlvbj0iJ0AoSW5mKSchPScnIiAvPgotICA8L0l0ZW1H
cm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8TWVzc2FnZUNvbXBpbGUgSW5jbHVkZT0iLi5cLi5c
c3JjXG1vbml0b3JcbWVzc2FnZXMubWMiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3Vw
PgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXG1vbml0b3JcbW9uaXRvci5jIiAv
PgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8UmVzb3VyY2VDb21waWxlIElu
Y2x1ZGU9Ii4uXC4uXHNyY1xtb25pdG9yXHhlbmJ1c19tb25pdG9yLnJjIiAvPgotICA8L0l0ZW1H
cm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAu
dGFyZ2V0cyIgLz4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS92czIwMTMveGVuYnVzX21vbml0b3IveGVuYnVzX21vbml0b3IudmN4cHJvai51c2Vy
IGIvdnMyMDEzL3hlbmJ1c19tb25pdG9yL3hlbmJ1c19tb25pdG9yLnZjeHByb2oudXNlcgpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODhlY2NlOC4uMDAwMDAwMAotLS0gYS92czIwMTMv
eGVuYnVzX21vbml0b3IveGVuYnVzX21vbml0b3IudmN4cHJvai51c2VyCisrKyAvZGV2L251bGwK
QEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/Pgot
PFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3Nv
ZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8
U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgotICAgIDxUZXN0Q2VydGlmaWNhdGU+Li5cLi5c
c3JjXHhlbmJ1cy5wZng8L1Rlc3RDZXJ0aWZpY2F0ZT4KLSAgICA8VGltZVN0YW1wU2VydmVyPmh0
dHA6Ly90aW1lc3RhbXAudmVyaXNpZ24uY29tL3NjcmlwdHMvdGltc3RhbXAuZGxsPC9UaW1lU3Rh
bXBTZXJ2ZXI+Ci0gIDwvUHJvcGVydHlHcm91cD4KLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3Zz
MjAxMy94ZW5maWx0L3hlbmZpbHQudmN4cHJvaiBiL3ZzMjAxMy94ZW5maWx0L3hlbmZpbHQudmN4
cHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGY3NDliMS4uMDAwMDAwMAotLS0g
YS92czIwMTMveGVuZmlsdC94ZW5maWx0LnZjeHByb2oKKysrIC9kZXYvbnVsbApAQCAtMSw4MyAr
MCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3Qg
RGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjEyLjAiIHhtbG5zPSJodHRwOi8v
c2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SW1wb3J0
IFByb2plY3Q9Ii4uXGNvbmZpZ3MucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJH
bG9iYWxzIj4KLSAgICA8Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVnPC9Db25maWd1
cmF0aW9uPgotICAgIDxQbGF0Zm9ybSBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJyciPldp
bjMyPC9QbGF0Zm9ybT4KLSAgICA8RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8
L0RlYnVnZ2VyRmxhdm9yPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExh
YmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJUeXBlPgot
ICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXI4LjE8L1BsYXRmb3Jt
VG9vbHNldD4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHJpdmVyPC9Db25maWd1cmF0aW9uVHlw
ZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0
aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBMYWJl
bD0iR2xvYmFscyI+Ci0gICAgPFByb2plY3RHdWlkPntENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1F
MTBBM0QyRjVCQUR9PC9Qcm9qZWN0R3VpZD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0
IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1Rh
cmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cD4KLSAg
ICA8UnVuQ29kZUFuYWx5c2lzPnRydWU8L1J1bkNvZGVBbmFseXNpcz4KLSAgICA8RW5hYmxlSW5m
MmNhdD5mYWxzZTwvRW5hYmxlSW5mMmNhdD4KLSAgICA8SW50RGlyPi4uXCQoUHJvamVjdE5hbWUp
XCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvSW50RGlyPgotICAgIDxPdXREaXI+
Li5cJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9PdXREaXI+Ci0gIDwvUHJvcGVy
dHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAg
IDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX01PRFVMRV9fPSJYRU5GSUxUIjtQT09MX05YX09Q
VElOPTE7TlRfUFJPQ0VTU09SX0dST1VQUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJl
cHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmll
cz4kKFdpbmRvd3NTZGtEaXIpXGluY2x1ZGVca207Li5cLi5caW5jbHVkZTsuLlwuLlxpbmNsdWRl
XHhlbjsuLlwuLlxzcmNcY29tbW9uOzwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAg
ICAgIDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KLSAgICAg
IDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40NzExOzQ1NDg7NDgyMDs0NjY4OzQyNTU7NjAwMTs2
MDU0OzI4MTk2OyUoRGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJu
aW5ncz4KLSAgICAgIDxNdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011bHRpUHJvY2Vz
c29yQ29tcGlsYXRpb24+Ci0gICAgICA8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFibGVQUkVmYXN0
PgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8QWRkaXRp
b25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVE
aXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9SZXNvdXJj
ZUNvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8SW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxl
cnM+ZmFsc2U8L0ltYWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJzPgotICAgICAgPEFkZGl0aW9u
YWxEZXBlbmRlbmNpZXM+JChQcm9qZWN0RGlyKS4uXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxh
dGZvcm0pXHhlbi5saWI7JChEREtfTElCX1BBVEgpL2xpYmNudHByLmxpYjskKERES19MSUJfUEFU
SCkvcHJvY2dycC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVu
ZGVuY2llcz4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRG
b2xkaW5nPgotICAgIDwvTGluaz4KLSAgICA8SW5mPgotICAgICAgPFNwZWNpZnlBcmNoaXRlY3R1
cmU+dHJ1ZTwvU3BlY2lmeUFyY2hpdGVjdHVyZT4KLSAgICAgIDxTcGVjaWZ5RHJpdmVyVmVyRGly
ZWN0aXZlVmVyc2lvbj50cnVlPC9TcGVjaWZ5RHJpdmVyVmVyRGlyZWN0aXZlVmVyc2lvbj4KLSAg
ICAgIDxUaW1lU3RhbXA+JChNQUpPUl9WRVJTSU9OKS4kKE1JTk9SX1ZFUlNJT04pLiQoTUlDUk9f
VkVSU0lPTikuJChCVUlMRF9OVU1CRVIpPC9UaW1lU3RhbXA+Ci0gICAgICA8RW5hYmxlVmVyYm9z
ZT50cnVlPC9FbmFibGVWZXJib3NlPgotICAgIDwvSW5mPgotICA8L0l0ZW1EZWZpbml0aW9uR3Jv
dXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dp
bjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5f
X2kzODZfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTtfWDg2XzwvUHJlcHJvY2Vzc29yRGVm
aW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPEluZj4KLSAgICAgIDxBcmNoaXRlY3R1
cmU+eDg2PC9BcmNoaXRlY3R1cmU+Ci0gICAgPC9JbmY+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91
cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0
JyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX3g4
Nl82NF9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpO19BTUQ2NF88L1ByZXByb2Nlc3NvckRl
ZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxJbmY+Ci0gICAgICA8QXJjaGl0ZWN0
dXJlPmFtZDY0PC9BcmNoaXRlY3R1cmU+Ci0gICAgPC9JbmY+Ci0gIDwvSXRlbURlZmluaXRpb25H
cm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChUYXJn
ZXRQYXRoKSIgLz4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJn
ZXROYW1lKS5wZGIiIC8+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IkAoSW5mLT4nJShD
b3B5T3V0cHV0KScpIiBDb25kaXRpb249IidAKEluZiknIT0nJyIgLz4KLSAgPC9JdGVtR3JvdXA+
Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMvY29tbW9u
L3JlZ2lzdHJ5LmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVuZmls
dC9kcml2ZXIuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5maWx0
L2VtdWxhdGVkLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVuZmls
dC9mZG8uYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5maWx0L3Bk
by5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbmZpbHQvdGhyZWFk
LmMiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxSZXNvdXJjZUNvbXBp
bGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmZpbHRceGVuZmlsdC5yYyIgLz4KLSAgPC9JdGVtR3Jv
dXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRh
cmdldHMiIC8+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvdnMyMDEzL3hlbmZpbHQveGVuZmlsdC52Y3hwcm9qLnVzZXIgYi92czIwMTMveGVuZmls
dC94ZW5maWx0LnZjeHByb2oudXNlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODhl
Y2NlOC4uMDAwMDAwMAotLS0gYS92czIwMTMveGVuZmlsdC94ZW5maWx0LnZjeHByb2oudXNlcgor
KysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGlu
Zz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3Nj
aGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPFByb3BlcnR5
R3JvdXA+Ci0gICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9kZT4KLSAgICA8VGVzdENlcnRp
ZmljYXRlPi4uXC4uXHNyY1x4ZW5idXMucGZ4PC9UZXN0Q2VydGlmaWNhdGU+Ci0gICAgPFRpbWVT
dGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRzL3RpbXN0YW1w
LmRsbDwvVGltZVN0YW1wU2VydmVyPgotICA8L1Byb3BlcnR5R3JvdXA+Ci08L1Byb2plY3Q+CmRp
ZmYgLS1naXQgYS92czIwMTUvcGFja2FnZS9wYWNrYWdlLnZjeHByb2ogYi92czIwMTUvcGFja2Fn
ZS9wYWNrYWdlLnZjeHByb2oKaW5kZXggYmI3M2RlMi4uYWQ2Yjg0ZiAxMDA2NDQKLS0tIGEvdnMy
MDE1L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qCisrKyBiL3ZzMjAxNS9wYWNrYWdlL3BhY2thZ2Uu
dmN4cHJvagpAQCAtMzAsNyArMzAsNyBAQAogICAgIDxWZXJpZnlEcml2ZXJzIC8+CiAgICAgPFZl
cmlmeUZsYWdzPjEzMzU2MzwvVmVyaWZ5RmxhZ3M+CiAgICAgPEludERpcj4uLlwkKFByb2plY3RO
YW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L0ludERpcj4KLSAgICA8T3V0
RGlyPi4uXC4uXHhlbmJ1c1wkKERES1BsYXRmb3JtKVw8L091dERpcj4KKyAgICA8T3V0RGlyPi4u
XCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvT3V0RGlyPgogICA8L1Byb3BlcnR5
R3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5c
eGVuZmlsdFx4ZW5maWx0LnZjeHByb2oiPgotLSAKMi41LjMKCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndp
bi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu
b3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Thu May 18 13:54:39 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 May 2017 13:54: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 1dBLsy-0000fi-VX; Thu, 18 May 2017 13:54:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=304abdc7e=Paul.Durrant@citrix.com>)
 id 1dBLsx-0000fc-5v
 for win-pv-devel@lists.xenproject.org; Thu, 18 May 2017 13:54:35 +0000
Received: from [85.158.139.211] by server-6.bemta-5.messagelabs.com id
 19/DF-02180-997AD195; Thu, 18 May 2017 13:54:33 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrLLMWRWlGSWpSXmKPExsXitHSDve6M5bK
 RBr83sFr8WZzowOhx+MMVlgDGKNbMvKT8igTWjJYJs5gLpk5hqWibtJWlgXHmLeYuRk4OCQF/
 iQv7LjKC2GwCOhJTn15iBbFFBNQl9n3eygRiMwtoSTRMXAJmCwuYS2xvngfWyyKgKvH61Xuwe
 l4BV4nlu7rYuhg5gGbKSXTvdAMJCwmoSKyfOosNokRQ4uTMJywQIyUkDr54wTyBkXsWktQsJK
 kFjEyrGDWKU4vKUot0DS30kooy0zNKchMzc3QNDUz1clOLixPTU3MSk4r1kvNzNzECg4EBCHY
 wNm33PMQoycGkJMp7uEA2UogvKT+lMiOxOCO+qDQntfgQowwHh5IEr/IyoJxgUWp6akVaZg4w
 LGHSEhw8SiK8cSBp3uKCxNzizHSI1ClGRSlx3lSQhABIIqM0D64NFguXGGWlhHkZgQ4R4ilIL
 crNLEGVf8UozsGoJMxrBTKFJzOvBG76K6DFTECLmx9IgywuSURISTUwSqlef1laqrOt1236zP
 bH4QzeS+OMfRVa5b02t0/gvV+yR5PZ9UvRq2P1ZvFpJtUFBtHiE4pv/2gv6t0/R3PftZTJ9uf
 tSrgvKvwTe8I9Z/65N06lGzbtk9lya4Hu3vjv24qyNu69N+N9aZzRD4YbW0Tc73pIV7ftTc5/
 +ze+IUXZ6/BE+YXmSizFGYmGWsxFxYkA33pjDYACAAA=
X-Env-Sender: prvs=304abdc7e=Paul.Durrant@citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1495115668!98964059!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 63110 invoked from network); 18 May 2017 13:54:31 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
 by server-4.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
 18 May 2017 13:54:31 -0000
X-IronPort-AV: E=Sophos;i="5.38,359,1491264000"; d="scan'208";a="433016736"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Thu, 18 May 2017 14:53:25 +0100
Message-ID: <1495115605-110-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] Remove VS2012 and VS2013 build scripts
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/cgi-bin/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/cgi-bin/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>

VGhpcyBwYXRjaCByZW1vdmVzIHRoZSBzY3JpcHRzIGZvciBidWlsZGluZyB1bmRlciBWUzIwMTMg
YW5kIFZTMjAxMyBhbmQKYWxzbyBmaXhlcyB0aGUgcGFja2FnZSBkZXN0aW5hdGlvbiB3aGVuIGJ1
aWxkaW5nIHVzaW5nIFZTMjAxNS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5k
dXJyYW50QGNpdHJpeC5jb20+Ci0tLQogQlVJTEQubWQgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgMzYgKystLS0tLQogYnVpbGQucHkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgMjcgKysrKysKIHZzMjAxMi9jb25maWdzLnByb3BzICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUzIC0tLS0tLS0tLQogdnMyMDEyL3BhY2thZ2Uv
cGFja2FnZS52Y3hwcm9qICAgICAgICAgICAgICAgICAgfCAgNTMgLS0tLS0tLS0tCiB2czIwMTIv
cGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNlciAgICAgICAgICAgICB8ICAgOCAtLQogdnMyMDEy
L3RhcmdldHMucHJvcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNTEgLS0tLS0tLS0t
CiB2czIwMTIveGVudmlmLnNsbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzOCAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHZzMjAxMi94ZW52aWYveGVudmlmLnZjeHByb2ogICAg
ICAgICAgICAgICAgICAgIHwgIDk2IC0tLS0tLS0tLS0tLS0tLS0tCiB2czIwMTIveGVudmlmL3hl
bnZpZi52Y3hwcm9qLnVzZXIgICAgICAgICAgICAgICB8ICAgOCAtLQogdnMyMDEyL3hlbnZpZl9j
b2luc3QveGVudmlmX2NvaW5zdC52Y3hwcm9qICAgICAgfCAgNjUgLS0tLS0tLS0tLS0KIHZzMjAx
Mi94ZW52aWZfY29pbnN0L3hlbnZpZl9jb2luc3QudmN4cHJvai51c2VyIHwgICA4IC0tCiB2czIw
MTMvY29uZmlncy5wcm9wcyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1MyAtLS0tLS0t
LS0KIHZzMjAxMy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvaiAgICAgICAgICAgICAgICAgIHwgIDU0
IC0tLS0tLS0tLS0KIHZzMjAxMy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2VyICAgICAgICAg
ICAgIHwgICA4IC0tCiB2czIwMTMvdGFyZ2V0cy5wcm9wcyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICA1MSAtLS0tLS0tLS0KIHZzMjAxMy94ZW52aWYuc2xuICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgMTM4IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogdnMyMDEzL3hlbnZp
Zi94ZW52aWYudmN4cHJvaiAgICAgICAgICAgICAgICAgICAgfCAgOTkgLS0tLS0tLS0tLS0tLS0t
LS0KIHZzMjAxMy94ZW52aWYveGVudmlmLnZjeHByb2oudXNlciAgICAgICAgICAgICAgIHwgICA4
IC0tCiB2czIwMTMveGVudmlmX2NvaW5zdC94ZW52aWZfY29pbnN0LnZjeHByb2ogICAgICB8ICA2
NSAtLS0tLS0tLS0tLQogdnMyMDEzL3hlbnZpZl9jb2luc3QveGVudmlmX2NvaW5zdC52Y3hwcm9q
LnVzZXIgfCAgIDggLS0KIHZzMjAxNS9wYWNrYWdlL3BhY2thZ2UudmN4cHJvaiAgICAgICAgICAg
ICAgICAgIHwgICAyICstCiAyMSBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCA5OTAg
ZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEyL2NvbmZpZ3MucHJvcHMKIGRl
bGV0ZSBtb2RlIDEwMDY0NCB2czIwMTIvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oKIGRlbGV0ZSBt
b2RlIDEwMDY0NCB2czIwMTIvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNlcgogZGVsZXRlIG1v
ZGUgMTAwNjQ0IHZzMjAxMi90YXJnZXRzLnByb3BzCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEy
L3hlbnZpZi5zbG4KIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTIveGVudmlmL3hlbnZpZi52Y3hw
cm9qCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEyL3hlbnZpZi94ZW52aWYudmN4cHJvai51c2Vy
CiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEyL3hlbnZpZl9jb2luc3QveGVudmlmX2NvaW5zdC52
Y3hwcm9qCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEyL3hlbnZpZl9jb2luc3QveGVudmlmX2Nv
aW5zdC52Y3hwcm9qLnVzZXIKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTMvY29uZmlncy5wcm9w
cwogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvagogZGVs
ZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2VyCiBkZWxl
dGUgbW9kZSAxMDA2NDQgdnMyMDEzL3RhcmdldHMucHJvcHMKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2
czIwMTMveGVudmlmLnNsbgogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMy94ZW52aWYveGVudmlm
LnZjeHByb2oKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTMveGVudmlmL3hlbnZpZi52Y3hwcm9q
LnVzZXIKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTMveGVudmlmX2NvaW5zdC94ZW52aWZfY29p
bnN0LnZjeHByb2oKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTMveGVudmlmX2NvaW5zdC94ZW52
aWZfY29pbnN0LnZjeHByb2oudXNlcgoKZGlmZiAtLWdpdCBhL0JVSUxELm1kIGIvQlVJTEQubWQK
aW5kZXggODg5OTgxOC4uN2E1NmJhNyAxMDA2NDQKLS0tIGEvQlVJTEQubWQKKysrIGIvQlVJTEQu
bWQKQEAgLTEsNDEgKzEsMjcgQEAKIEJ1aWxkaW5nIHRoZSBYZW5WaWYgUGFja2FnZQogPT09PT09
PT09PT09PT09PT09PT09PT09PT09CiAKLUZpcnN0IHlvdSdsbCBuZWVkIGEgZGV2aWNlIGRyaXZl
ciBidWlsZCBlbnZpcm9ubWVudCBmb3IgV2luZG93cyA4LCBXaW5kb3dzCi04LjEsIG9yIFdpbmRv
d3MgMTAuCi1Gb3IgV2luZG93cyA4IHRoaXMgbWVhbnM6Ci0KLSogICBWaXN1YWwgU3R1ZGlvIDIw
MTIgKFByb2Zlc3Npb25hbCBvciBVbHRpbWF0ZSkKLSogICBXaW5kb3dzIERyaXZlciBLaXQgOAot
Ci1Gb3IgV2luZG93cyA4LjEgdGhpcyBtZWFuczoKLQotKiAgIFZpc3VhbCBTdHVkaW8gMjAxMyAo
QW55IFNLVSwgaW5jbHVkaW5nIEV4cHJlc3MpCi0qICAgV2luZG93cyBEcml2ZXIgS2l0IDguMQot
Ci1Gb3IgV2luZG93cyAxMCB0aGlzIG1lYW5zOgorRmlyc3QgeW91J2xsIG5lZWQgYSBkZXZpY2Ug
ZHJpdmVyIGJ1aWxkIGVudmlyb25tZW50IGZvciBXaW5kb3dzIDEwLgorVGhpcyBtZWFuczoKIAog
KiAgIFZpc3VhbCBTdHVkaW8gMjAxNSAoQW55IFNLVSwgaW5jbHVkaW5nIEV4cHJlc3Mgb3IgQ29t
bXVuaXR5KQogKiAgIFdpbmRvd3MgRHJpdmVyIEtpdCAxMAogCi0oU2VlIGh0dHA6Ly9tc2RuLm1p
Y3Jvc29mdC5jb20vZW4tdXMvd2luZG93cy9oYXJkd2FyZS9oaDg1MjM2NS5hc3B4KS4gWW91Ci1t
YXkgZmluZCBpdCB1c2VmdWwgdG8gaW5zdGFsbCBWaXJ0dWFsQ2xvbmVEcml2ZSBmcm9tIGh0dHA6
Ly93d3cuc2x5c29mdC5jb20KLWFzIFZpc3VhbCBTdHVkaW8gaXMgZ2VuZXJhbGx5IHN1cHBsaWVk
IGluIElTTyBmb3JtLgotCiBJbnN0YWxsIFZpc3VhbCBTdHVkaW8gZmlyc3QgKHlvdSBvbmx5IG5l
ZWQgaW5zdGFsbCBNRkMgZm9yIEMrKykgYW5kIHRoZW4KIHRoZSBXREsuIFNldCBhbiBlbnZpcm9u
bWVudCB2YXJpYWJsZSBjYWxsZWQgVlMgdG8gdGhlIGJhc2Ugb2YgdGhlIFZpc3VhbAotU3R1ZGlv
IEluc3RhbGxhdGlvbiAoZS5nLiBDOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdCBWaXN1YWwgU3R1
ZGlvIDEyLjApIGFuZAorU3R1ZGlvIEluc3RhbGxhdGlvbiAoZS5nLiBDOlxQcm9ncmFtIEZpbGVz
XE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIDE0LjApIGFuZAogYSB2YXJpYWJsZSBjYWxsZWQgS0lU
IHRvIHRoZSBiYXNlIG9mIHRoZSBXREsKLShlLmcuIEM6XFByb2dyYW0gRmlsZXNcV2luZG93cyBL
aXRzXDguMSkuIEFsc28gc2V0IGFuIGVudmlyb25tZW50IHZhcmlhYmxlCisoZS5nLiBDOlxQcm9n
cmFtIEZpbGVzXFdpbmRvd3MgS2l0c1wxMCkuIEFsc28gc2V0IGFuIGVudmlyb25tZW50IHZhcmlh
YmxlCiBjYWxsZWQgU1lNQk9MXF9TRVJWRVIgdG8gcG9pbnQgYXQgYSBsb2NhdGlvbiB3aGVyZSBk
cml2ZXIgc3ltYm9scyBjYW4gYmUKIHN0b3JlZC4gVGhpcyBjYW4gYmUgbG9jYWwgZGlyZWN0b3J5
IGUuZy4gQzpcU3ltYm9scy4KIAotTk9URTogSWYgeW91IGFyZSB1c2luZyBXREsgMTAgdGhlbiB5
b3Ugd2lsbCBuZWVkIHRvIGFjcXVpcmUgdGhlIERJRngKLSAgICAgIHJlLWRpc3RyaWJ1dGFibGUg
cGFja2FnZSBmcm9tIG9uZSBvZiB0aGUgb3RoZXIgV0RLcywgc28gdGhhdCB0aGUKLSAgICAgIGRy
aXZlciBidWlsZCBjYW4gY29weSBkcGluc3QuZXhlIGludG8gdGhlIG91dHB1dC4KLSAgICAgIFNl
dCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgRFBJTlNUX1JFRElTVCB0byB0aGUgYmFzZSBkcGlu
c3QKLSAgICAgIGRpcmVjdG9yeSAoaS5lLiB0aGUgZGlyZWN0b3J5IHVuZGVyIHdoaWNoIHRoZSB4
ODYgYW5kIHg2NCBzdWItCi0gICAgICBkaXJlY3RvcmllcyBjb250YWluaW5nIGRwaW5zdC5leGUg
Y2FuIGJlIGZvdW5kKS4KK1lvdSB3aWxsIGFsc28gbmVlZCB0byBhY3F1aXJlIHRoZSBESUZ4IHJl
LWRpc3RyaWJ1dGFibGUgcGFja2FnZSBmcm9tIG9uZQorb2YgdGhlIG9sZGVyIFdES3MgKGFzIGl0
IGFwcGVhcnMgbm90IHRvIGJlIHByZXNlbnQgaW4gV0RLMTApLCBzbyB0aGF0IHRoZQorZHJpdmVy
IGJ1aWxkIGNhbiBjb3B5IGRwaW5zdC5leGUgaW50byB0aGUgb3V0cHV0LgorU2V0IHRoZSBlbnZp
cm9ubWVudCB2YXJpYWJsZSBEUElOU1RfUkVESVNUIHRvIHRoZSBiYXNlIGRwaW5zdCBkaXJlY3Rv
cnkKKy0gdGhlIGRpcmVjdG9yeSB1bmRlciB3aGljaCB0aGUgeDg2IGFuZCB4NjQgc3ViLWRpcmVj
dG9yaWVzIGNvbnRhaW5pbmcKK2RwaW5zdC5leGUgY2FuIGJlIGZvdW5kCisoZS5nLiBDOlxQcm9n
cmFtIEZpbGVzICh4ODYpXFdpbmRvd3MgS2l0c1w4LjFcUmVkaXN0XERJRnhcZHBpbnN0XEVuZ011
aSkKIAogTmV4dCB5b3UnbGwgbmVlZCBhIDMueCB2ZXJzaW9uIG9mIHB5dGhvbiAod2hpY2ggeW91
IGNhbiBnZXQgZnJvbQogaHR0cDovL3d3dy5weXRob24ub3JnKS4gTWFrZSBzdXJlIHB5dGhvbi5l
eGUgaXMgc29tZXdoZXJlIG9uIHlvdXIgZGVmYXVsdApkaWZmIC0tZ2l0IGEvYnVpbGQucHkgYi9i
dWlsZC5weQppbmRleCA0MDcxYzFlLi40N2NiYmM4IDEwMDc1NQotLS0gYS9idWlsZC5weQorKysg
Yi9idWlsZC5weQpAQCAtMjA1LDYgKzIwNSwyOCBAQCBkZWYgYnVpbGRfc2xuKG5hbWUsIHJlbGVh
c2UsIGFyY2gsIGRlYnVnLCB2cyk6CiAKICAgICBtc2J1aWxkKHBsYXRmb3JtLCBjb25maWd1cmF0
aW9uLCAnQnVpbGQnLCBuYW1lICsgJy5zbG4nLCAnJywgdnMpCiAKK2RlZiBjb3B5X3BhY2thZ2Uo
bmFtZSwgcmVsZWFzZSwgYXJjaCwgZGVidWcsIHZzKToKKyAgICBjb25maWd1cmF0aW9uID0gZ2V0
X2NvbmZpZ3VyYXRpb24ocmVsZWFzZSwgZGVidWcpCisKKyAgICBpZiBhcmNoID09ICd4ODYnOgor
ICAgICAgICBwbGF0Zm9ybSA9ICdXaW4zMicKKyAgICBlbGlmIGFyY2ggPT0gJ3g2NCc6CisgICAg
ICAgIHBsYXRmb3JtID0gJ3g2NCcKKworICAgIHBhdHRlcm4gPSAnLycuam9pbihbdnMsICcnLmpv
aW4oY29uZmlndXJhdGlvbi5zcGxpdCgnICcpKSwgcGxhdGZvcm0sICdwYWNrYWdlJywgJyonXSkK
KyAgICBwcmludCgnQ29weWluZyBwYWNrYWdlIGZyb20gJXMnICUgcGF0dGVybikKKworICAgIGZp
bGVzID0gZ2xvYi5nbG9iKHBhdHRlcm4pCisKKyAgICBkc3QgPSBvcy5wYXRoLmpvaW4obmFtZSwg
YXJjaCkKKworICAgIG9zLm1ha2VkaXJzKGRzdCwgZXhpc3Rfb2s9VHJ1ZSkKKworICAgIGZvciBm
aWxlIGluIGZpbGVzOgorICAgICAgICBuZXcgPSBzaHV0aWwuY29weShmaWxlLCBkc3QpCisgICAg
ICAgIHByaW50KG5ldykKKworICAgIHByaW50KCcnKQogCiBkZWYgcmVtb3ZlX3RpbWVzdGFtcHMo
cGF0aCk6CiAgICAgdHJ5OgpAQCAtMzk4LDggKzQyMCwxMyBAQCBpZiBfX25hbWVfXyA9PSAnX19t
YWluX18nOgogICAgICAgICAgICAgICAgICd2czIwMTMnOidXaW5kb3dzIDcnLAogICAgICAgICAg
ICAgICAgICd2czIwMTUnOidXaW5kb3dzIDgnIH0KIAorICAgIHNodXRpbC5ybXRyZWUoZHJpdmVy
LCBpZ25vcmVfZXJyb3JzPVRydWUpCisKICAgICBidWlsZF9zbG4oZHJpdmVyLCByZWxlYXNlW3Zz
XSwgJ3g4NicsIGRlYnVnW3N5cy5hcmd2WzFdXSwgdnMpCisgICAgY29weV9wYWNrYWdlKGRyaXZl
ciwgcmVsZWFzZVt2c10sICd4ODYnLCBkZWJ1Z1tzeXMuYXJndlsxXV0sIHZzKQorCiAgICAgYnVp
bGRfc2xuKGRyaXZlciwgcmVsZWFzZVt2c10sICd4NjQnLCBkZWJ1Z1tzeXMuYXJndlsxXV0sIHZz
KQorICAgIGNvcHlfcGFja2FnZShkcml2ZXIsIHJlbGVhc2VbdnNdLCAneDY0JywgZGVidWdbc3lz
LmFyZ3ZbMV1dLCB2cykKIAogICAgIHN5bXN0b3JlX2FkZChkcml2ZXIsIHJlbGVhc2VbdnNdLCAn
eDg2JywgZGVidWdbc3lzLmFyZ3ZbMV1dLCB2cykKICAgICBzeW1zdG9yZV9hZGQoZHJpdmVyLCBy
ZWxlYXNlW3ZzXSwgJ3g2NCcsIGRlYnVnW3N5cy5hcmd2WzFdXSwgdnMpCmRpZmYgLS1naXQgYS92
czIwMTIvY29uZmlncy5wcm9wcyBiL3ZzMjAxMi9jb25maWdzLnByb3BzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyNTY3YmNmLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMi9jb25maWdzLnBy
b3BzCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBl
bmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNW
ZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Bl
ci9tc2J1aWxkLzIwMDMiPiAKLQk8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlv
bnMiPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgOCBEZWJ1Z3xX
aW4zMiI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA4IERlYnVnPC9Db25maWd1cmF0aW9u
PiAKLQkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0
aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgNyBEZWJ1Z3xX
aW4zMiI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA3IERlYnVnPC9Db25maWd1cmF0aW9u
PiAKLQkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0
aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgVmlzdGEgRGVi
dWd8V2luMzIiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgVmlzdGEgRGVidWc8L0NvbmZp
Z3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENv
bmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA4
IFJlbGVhc2V8V2luMzIiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgOCBSZWxlYXNlPC9D
b25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+IAotCQk8L1Byb2pl
Y3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRv
d3MgNyBSZWxlYXNlfFdpbjMyIj4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDcgUmVsZWFz
ZTwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPiAKLQkJPC9Q
cm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJX
aW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3Mg
VmlzdGEgUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRm
b3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlv
biBJbmNsdWRlPSJXaW5kb3dzIDggRGVidWd8eDY0Ij4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5k
b3dzOCBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4g
Ci0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5j
bHVkZT0iV2luZG93cyA3IERlYnVnfHg2NCI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA3
IERlYnVnPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPiAKLQkJ
PC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRl
PSJXaW5kb3dzIFZpc3RhIERlYnVnfHg2NCI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyBW
aXN0YSBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4g
Ci0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5j
bHVkZT0iV2luZG93cyA4IFJlbGVhc2V8eDY0Ij4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dz
IDggUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4g
Ci0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5j
bHVkZT0iV2luZG93cyA3IFJlbGVhc2V8eDY0Ij4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dz
IDcgUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4g
Ci0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5j
bHVkZT0iV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NCI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2lu
ZG93cyBWaXN0YSBSZWxlYXNlPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1Bs
YXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JPC9JdGVtR3JvdXA+IAotPC9Q
cm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3ZzMjAxMi9w
YWNrYWdlL3BhY2thZ2UudmN4cHJvaiBiL3ZzMjAxMi9wYWNrYWdlL3BhY2thZ2UudmN4cHJvagpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTc1ZDczNC4uMDAwMDAwMAotLS0gYS92czIw
MTIvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBA
Ci08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVs
dFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFz
Lm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJbXBvcnQgUHJvamVj
dD0iLi5cY29uZmlncy5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlByb3BlcnR5
U2hlZXRzIj4KLSAgICA8RHJpdmVyVHlwZT5QYWNrYWdlPC9Ecml2ZXJUeXBlPgotICAgIDxQbGF0
Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXI4LjA8L1BsYXRmb3JtVG9vbHNldD4K
LSAgICA8Q29uZmlndXJhdGlvblR5cGU+VXRpbGl0eTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAg
PERpc2FibGVGYXN0VXBUb0RhdGVDaGVjaz50cnVlPC9EaXNhYmxlRmFzdFVwVG9EYXRlQ2hlY2s+
Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgot
ICAgIDxDb25maWd1cmF0aW9uPldpbmRvd3MgVmlzdGEgRGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0g
ICAgPFBsYXRmb3JtIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAnJyI+V2luMzI8L1BsYXRm
b3JtPgotICAgIDxEZWJ1Z2dlckZsYXZvcj5EYmdlbmdLZXJuZWxEZWJ1Z2dlcjwvRGVidWdnZXJG
bGF2b3I+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0
c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAg
TGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9qZWN0R3VpZD57NzM3NjhDQzktREIyNi00Mjk3LTlF
QzgtMTA0MkY4MTVFQjE1fTwvUHJvamVjdEd1aWQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPElt
cG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRzLnByb3BzIiAvPgotICA8SW1wb3J0IFByb2plY3Q9IiQo
VkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXA+
Ci0gICAgPEVuYWJsZUluZjJjYXQ+dHJ1ZTwvRW5hYmxlSW5mMmNhdD4KLSAgICA8SW5mMkNhdFdp
bmRvd3NWZXJzaW9uTGlzdCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIj5WaXN0YV94
NjQ7N194NjQ7U2VydmVyMjAwOF94NjQ7U2VydmVyMjAwOFIyX3g2NDtTZXJ2ZXI4X3g2NDwvSW5m
MkNhdFdpbmRvd3NWZXJzaW9uTGlzdD4KLSAgICA8SW5mMkNhdFdpbmRvd3NWZXJzaW9uTGlzdCBD
b25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPlZpc3RhX3g4Njs3X3g4NjtTZXJ2ZXIy
MDA4X3g4Njs4X3g4NjwvSW5mMkNhdFdpbmRvd3NWZXJzaW9uTGlzdD4KLSAgICA8RGVidWdnZXJG
bGF2b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8L0RlYnVnZ2VyRmxhdm9yPgotICAgIDxFbmFibGVE
ZXBsb3ltZW50PkZhbHNlPC9FbmFibGVEZXBsb3ltZW50PgotICAgIDxJbXBvcnRUb1N0b3JlPkZh
bHNlPC9JbXBvcnRUb1N0b3JlPgotICAgIDxJbnN0YWxsTW9kZT5Ob25lPC9JbnN0YWxsTW9kZT4K
LSAgICA8U2NyaXB0RGV2aWNlUXVlcnk+JVBhdGhUb0luZiU8L1NjcmlwdERldmljZVF1ZXJ5Pgot
ICAgIDxFbmFibGVWZXJpZmllcj5GYWxzZTwvRW5hYmxlVmVyaWZpZXI+Ci0gICAgPEFsbERyaXZl
cnM+RmFsc2U8L0FsbERyaXZlcnM+Ci0gICAgPFZlcmlmeVByb2plY3RPdXRwdXQ+VHJ1ZTwvVmVy
aWZ5UHJvamVjdE91dHB1dD4KLSAgICA8VmVyaWZ5RmxhZ3M+MTMzNTYzPC9WZXJpZnlGbGFncz4K
LSAgICA8SW50RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxh
dGZvcm0pXDwvSW50RGlyPgotICAgIDxPdXREaXI+Li5cJChDb25maWd1cmF0aW9uTmFtZSlcJChQ
bGF0Zm9ybSlcPC9PdXREaXI+Ci0gICAgPFBhY2thZ2VEaXI+Li5cLi5ceGVudmlmXCQoRERLUGxh
dGZvcm0pPC9QYWNrYWdlRGlyPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0g
ICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5ceGVudmlmXHhlbnZpZi52Y3hwcm9qIj4K
LSAgICAgIDxQcm9qZWN0PntDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9PC9Q
cm9qZWN0PgotICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJ
bmNsdWRlPSIuLlx4ZW52aWZfY29pbnN0XHhlbnZpZl9jb2luc3QudmN4cHJvaiI+Ci0gICAgICA8
UHJvamVjdD57MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fTwvUHJvamVjdD4K
LSAgICA8L1Byb2plY3RSZWZlcmVuY2U+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgot
ICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKEtJVClcUmVkaXN0XERJRnhcZHBpbnN0XEVu
Z011aVx4ODZcZHBpbnN0LmV4ZSIgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIiAv
PgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKEtJVClcUmVkaXN0XERJRnhcZHBpbnN0
XEVuZ011aVx4NjRcZHBpbnN0LmV4ZSIgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyIg
Lz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxN
aWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9u
VGFyZ2V0cyI+Ci0gIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdnMyMDEyL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qLnVz
ZXIgYi92czIwMTIvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNlcgpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNTc2ZTI1Ny4uMDAwMDAwMAotLS0gYS92czIwMTIvcGFja2FnZS9wYWNr
YWdlLnZjeHByb2oudXNlcgorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVy
c2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4w
IiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8y
MDAzIj4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9k
ZT4KLSAgICA8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW52aWYucGZ4PC9UZXN0Q2VydGlm
aWNhdGU+Ci0gICAgPFRpbWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNv
bS9zY3JpcHRzL3RpbXN0YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgotICA8L1Byb3BlcnR5R3Jv
dXA+Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTIvdGFyZ2V0cy5wcm9wcyBiL3ZzMjAx
Mi90YXJnZXRzLnByb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOGFiYTkyLi4w
MDAwMDAwCi0tLSBhL3ZzMjAxMi90YXJnZXRzLnByb3BzCisrKyAvZGV2L251bGwKQEAgLTEsNTEg
KzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0
IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8v
c2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotCTxQcm9wZXJ0
eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBEZWJ1Z3xXaW4zMiciPiAKLQkJPFRhcmdldFZlcnNp
b24+V2luZG93czg8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwv
VXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAg
TGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nV2luZG93cyA4IFJlbGVhc2V8V2luMzInIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldp
bmRvd3M4PC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VE
ZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJl
bD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdXaW5kb3dzIDggRGVidWd8eDY0JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwv
VGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJh
cmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmln
dXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5k
b3dzIDggUmVsZWFzZXx4NjQnIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRW
ZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4g
Ci0JPC9Qcm9wZXJ0eUdyb3VwPgotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9u
IiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBE
ZWJ1Z3xXaW4zMiciPiAKLQkJPFRhcmdldFZlcnNpb24+V2luZG93czc8L1RhcmdldFZlcnNpb24+
IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJv
cGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IFJlbGVhc2V8
V2luMzInIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M3PC9UYXJnZXRWZXJzaW9uPiAKLQkJ
PFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0
eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgRGVidWd8eDY0JyI+
IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzNzwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1
Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAK
LQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgUmVsZWFzZXx4NjQnIj4gCi0JCTxU
YXJnZXRWZXJzaW9uPldpbmRvd3M3PC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFy
aWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPgotCTxQcm9w
ZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgRGVidWd8V2luMzInIj4gCi0JCTxUYXJn
ZXRWZXJzaW9uPlZpc3RhPC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPnRy
dWU8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdy
b3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMiciPiAKLQkJPFRhcmdldFZl
cnNpb24+VmlzdGE8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8
L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3Vw
IExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgRGVidWd8eDY0JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5W
aXN0YTwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1
Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0i
Q29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5WaXN0YTwv
VGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJy
YXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4KLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAx
Mi94ZW52aWYuc2xuIGIvdnMyMDEyL3hlbnZpZi5zbG4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDA4ZjhiYjkuLjAwMDAwMDAKLS0tIGEvdnMyMDEyL3hlbnZpZi5zbG4KKysrIC9kZXYv
bnVsbApAQCAtMSwxMzggKzAsMCBAQAotTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24g
RmlsZSwgRm9ybWF0IFZlcnNpb24gMTIuMDAKLSMgVmlzdWFsIFN0dWRpbyAyMDEyCi1Qcm9qZWN0
KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInhlbnZpZiIsICJ4
ZW52aWZceGVudmlmLnZjeHByb2oiLCAie0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDND
MUQxOH0iCi1FbmRQcm9qZWN0Ci1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBB
MEM5MUJDOTQyfSIpID0gInhlbnZpZl9jb2luc3QiLCAieGVudmlmX2NvaW5zdFx4ZW52aWZfY29p
bnN0LnZjeHByb2oiLCAiezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0iCi0J
UHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdAotCQl7QzNG
OTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fSA9IHtDM0Y5NkQ0Qy1FNDQxLTQ3Rjct
QTQ0Qy1EMkQwNTQzQzFEMTh9Ci0JRW5kUHJvamVjdFNlY3Rpb24KLUVuZFByb2plY3QKLVByb2pl
Y3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicGFja2FnZSIs
ICJwYWNrYWdlXHBhY2thZ2UudmN4cHJvaiIsICJ7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0
MkY4MTVFQjE1fSIKLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQ
cm9qZWN0Ci0JCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9ID0ge0MzRjk2
RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0KLQkJezJCRkFDN0U2LTM0MjAtNDdBNS1B
MDkyLUJEQzVDOUQ3OEE0NH0gPSB7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0
fQotCUVuZFByb2plY3RTZWN0aW9uCi1FbmRQcm9qZWN0Ci1HbG9iYWwKLQlHbG9iYWxTZWN0aW9u
KFNvbHV0aW9uQ29uZmlndXJhdGlvblBsYXRmb3JtcykgPSBwcmVTb2x1dGlvbgotCQlXaW5kb3dz
IDcgRGVidWd8V2luMzIgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJV2luZG93cyA3IERlYnVn
fHg2NCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJV2luZG93cyA3IFJlbGVhc2V8V2luMzIgPSBX
aW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQlXaW5kb3dzIDcgUmVsZWFzZXx4NjQgPSBXaW5kb3dz
IDcgUmVsZWFzZXx4NjQKLQkJV2luZG93cyA4IERlYnVnfFdpbjMyID0gV2luZG93cyA4IERlYnVn
fFdpbjMyCi0JCVdpbmRvd3MgOCBEZWJ1Z3x4NjQgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCVdp
bmRvd3MgOCBSZWxlYXNlfFdpbjMyID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJV2luZG93
cyA4IFJlbGVhc2V8eDY0ID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0JCVdpbmRvd3MgVmlzdGEg
RGVidWd8V2luMzIgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCVdpbmRvd3MgVmlzdGEg
RGVidWd8eDY0ID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJV2luZG93cyBWaXN0YSBSZWxl
YXNlfFdpbjMyID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCVdpbmRvd3MgVmlzdGEg
UmVsZWFzZXx4NjQgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JRW5kR2xvYmFsU2VjdGlv
bgotCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcG9zdFNv
bHV0aW9uCi0JCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3Mg
NyBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJezJCRkFD
N0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyA3IERlYnVnfFdpbjMyLkJ1
aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDky
LUJEQzVDOUQ3OEE0NH0uV2luZG93cyA3IERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA3
IERlYnVnfFdpbjMyCi0JCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9Lldp
bmRvd3MgNyBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7MkJG
QUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDcgRGVidWd8eDY0LkJ1
aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1C
REM1QzlENzhBNDR9LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3Mg
NyBSZWxlYXNlfFdpbjMyCi0JCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9
LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4z
MgotCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDcgUmVs
ZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXsyQkZBQzdF
Ni0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgNyBSZWxlYXNlfHg2NC5BY3Rp
dmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDky
LUJEQzVDOUQ3OEE0NH0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDcg
UmVsZWFzZXx4NjQKLQkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2lu
ZG93cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7
MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDggRGVidWd8V2lu
MzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7MkJGQUM3RTYtMzQyMC00N0E1
LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDggRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5k
b3dzIDggRGVidWd8V2luMzIKLQkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0
NH0uV2luZG93cyA4IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0J
CXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgOCBEZWJ1Z3x4
NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezJCRkFDN0U2LTM0MjAtNDdBNS1B
MDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2lu
ZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3
OEE0NH0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNl
fFdpbjMyCi0JCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3Mg
OCBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezJC
RkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyA4IFJlbGVhc2V8eDY0
LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7MkJGQUM3RTYtMzQyMC00N0E1
LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRv
d3MgOCBSZWxlYXNlfHg2NAotCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0
fS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVi
dWd8V2luMzIKLQkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93
cyBWaXN0YSBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgot
CQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIFZpc3RhIERl
YnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7MkJGQUM3
RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5B
Y3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQl7MkJGQUM3RTYtMzQyMC00N0E1
LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5CdWlsZC4wID0gV2lu
ZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3
OEE0NH0uV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlz
dGEgUmVsZWFzZXxXaW4zMgotCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0
fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVs
ZWFzZXxXaW4zMgotCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5k
b3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8
V2luMzIKLQkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyBW
aXN0YSBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0J
CXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgVmlzdGEgUmVs
ZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezczNzY4Q0M5
LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2
ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgt
MTA0MkY4MTVFQjE1fS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBE
ZWJ1Z3xXaW4zMgotCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5k
b3dzIDcgRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJezcz
NzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA3IERlYnVnfHg2NC5B
Y3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVD
OC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBE
ZWJ1Z3x4NjQKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93
cyA3IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezczNzY4Q0M5
LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQWN0
aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05
RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRv
d3MgNyBSZWxlYXNlfFdpbjMyCi0JCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVC
MTV9LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA3IFJlbGVhc2V8
V2luMzIKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA3
IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7NzM3NjhD
QzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVp
bGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgt
MTA0MkY4MTVFQjE1fS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDcg
UmVsZWFzZXx4NjQKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2lu
ZG93cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7
NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDggRGVidWd8V2lu
MzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7NzM3NjhDQzktREIyNi00Mjk3
LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDggRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5k
b3dzIDggRGVidWd8V2luMzIKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIx
NX0uV2luZG93cyA4IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0J
CXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgOCBEZWJ1Z3x4
NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05
RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA4IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3Mg
OCBEZWJ1Z3x4NjQKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2lu
ZG93cyA4IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIK
LQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA4IFJlbGVh
c2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXs3Mzc2OENDOS1E
QjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkRlcGxv
eS4wID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4
LTEwNDJGODE1RUIxNX0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3Mg
OCBSZWxlYXNlfHg2NAotCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5X
aW5kb3dzIDggUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7
NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDggUmVsZWFzZXx4
NjQuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKLQkJezczNzY4Q0M5LURCMjYtNDI5
Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcg
PSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0x
MDQyRjgxNUVCMTV9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3Mg
VmlzdGEgRGVidWd8V2luMzIKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIx
NX0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgRGVi
dWd8V2luMzIKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93
cyBWaXN0YSBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJ
ezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyBWaXN0YSBEZWJ1
Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXs3Mzc2OENDOS1EQjI2
LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkRlcGxveS4w
ID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEw
NDJGODE1RUIxNX0uV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRv
d3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4
MTVFQjE1fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlz
dGEgUmVsZWFzZXxXaW4zMgotCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1
fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIFJl
bGVhc2V8V2luMzIKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2lu
ZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8
eDY0Ci0JCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgVmlz
dGEgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezcz
NzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyBWaXN0YSBSZWxlYXNl
fHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJe0MzRjk2RDRDLUU0
NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJE
MDU0M0MxRDE4fS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1
Z3xXaW4zMgotCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dz
IDcgRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJe0MzRjk2
RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA3IERlYnVnfHg2NC5BY3Rp
dmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1E
MkQwNTQzQzFEMTh9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1
Z3x4NjQKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA3
IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJe0MzRjk2RDRDLUU0
NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQWN0aXZl
Q2ZnID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRD
LUQyRDA1NDNDMUQxOH0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3Mg
NyBSZWxlYXNlfFdpbjMyCi0JCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9
LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA3IFJlbGVhc2V8V2lu
MzIKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA3IFJl
bGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7QzNGOTZENEMt
RTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQu
MCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJE
MDU0M0MxRDE4fS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDcgUmVs
ZWFzZXx4NjQKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93
cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7QzNG
OTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDggRGVidWd8V2luMzIu
QnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0
NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDggRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dz
IDggRGVidWd8V2luMzIKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0u
V2luZG93cyA4IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCXtD
M0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgOCBEZWJ1Z3x4NjQu
QnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRD
LUQyRDA1NDNDMUQxOH0uV2luZG93cyA4IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBE
ZWJ1Z3x4NjQKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93
cyA4IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJ
e0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA4IFJlbGVhc2V8
V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXtDM0Y5NkQ0Qy1FNDQx
LTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkRlcGxveS4w
ID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQy
RDA1NDNDMUQxOH0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBS
ZWxlYXNlfHg2NAotCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5k
b3dzIDggUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7QzNG
OTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQu
RGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1B
NDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBX
aW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQw
NTQzQzFEMTh9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlz
dGEgRGVidWd8V2luMzIKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0u
V2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8
V2luMzIKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyBW
aXN0YSBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJe0Mz
Rjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4
NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXtDM0Y5NkQ0Qy1FNDQxLTQ3
RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkRlcGxveS4wID0g
V2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1
NDNDMUQxOH0uV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3Mg
VmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0Mx
RDE4fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEg
UmVsZWFzZXxXaW4zMgotCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5X
aW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVh
c2V8V2luMzIKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93
cyBWaXN0YSBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0
Ci0JCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgVmlzdGEg
UmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJe0MzRjk2
RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2
NC5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQlFbmRHbG9iYWxTZWN0aW9u
Ci0JR2xvYmFsU2VjdGlvbihTb2x1dGlvblByb3BlcnRpZXMpID0gcHJlU29sdXRpb24KLQkJSGlk
ZVNvbHV0aW9uTm9kZSA9IEZBTFNFCi0JRW5kR2xvYmFsU2VjdGlvbgotRW5kR2xvYmFsCmRpZmYg
LS1naXQgYS92czIwMTIveGVudmlmL3hlbnZpZi52Y3hwcm9qIGIvdnMyMDEyL3hlbnZpZi94ZW52
aWYudmN4cHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjI3MWJkNy4uMDAwMDAw
MAotLS0gYS92czIwMTIveGVudmlmL3hlbnZpZi52Y3hwcm9qCisrKyAvZGV2L251bGwKQEAgLTEs
OTYgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9q
ZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SW1w
b3J0IFByb2plY3Q9Ii4uXGNvbmZpZ3MucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVs
PSJHbG9iYWxzIj4KLSAgICA8Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVnPC9Db25m
aWd1cmF0aW9uPgotICAgIDxQbGF0Zm9ybSBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJyci
PldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVidWdn
ZXI8L0RlYnVnZ2VyRmxhdm9yPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3Vw
IExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJUeXBl
PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXI4LjA8L1BsYXRm
b3JtVG9vbHNldD4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHJpdmVyPC9Db25maWd1cmF0aW9u
VHlwZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRz
UGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBM
YWJlbD0iR2xvYmFscyI+Ci0gICAgPFByb2plY3RHdWlkPntDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0
Qy1EMkQwNTQzQzFEMTh9PC9Qcm9qZWN0R3VpZD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1w
b3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChW
Q1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cD4K
LSAgICA8SW5jbHVkZVBhdGg+Li5cLi5caW5jbHVkZTsuLlwuLlxpbmNsdWRlXHhlbjskKEluY2x1
ZGVQYXRoKTwvSW5jbHVkZVBhdGg+Ci0gICAgPFJ1bkNvZGVBbmFseXNpcz50cnVlPC9SdW5Db2Rl
QW5hbHlzaXM+Ci0gICAgPEVuYWJsZUluZjJjYXQ+ZmFsc2U8L0VuYWJsZUluZjJjYXQ+Ci0gICAg
PEludERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3Jt
KVw8L0ludERpcj4KLSAgICA8T3V0RGlyPi4uXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZv
cm0pXDwvT3V0RGlyPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3Vw
PgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RV
TEVfXz0iWEVOVklGIjtQT09MX05YX09QVElOPTE7TlRfUFJPQ0VTU09SX0dST1VQUzslKFByZXBy
b2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8V2Fy
bmluZ0xldmVsPkVuYWJsZUFsbFdhcm5pbmdzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8RGlzYWJs
ZVNwZWNpZmljV2FybmluZ3M+NDcxMTs0NTQ4OzQ4MjA7NDY2ODs0MjU1OzYwMDE7NjA1NDsyODE5
NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+Ci0g
ICAgICA8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50cnVlPC9NdWx0aVByb2Nlc3NvckNvbXBp
bGF0aW9uPgotICAgICAgPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwvRW5hYmxlUFJFZmFzdD4KLSAgICA8
L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxJbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5k
bGVycz5mYWxzZTwvSW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+Ci0gICAgICA8QWRkaXRp
b25hbERlcGVuZGVuY2llcz4kKERES19MSUJfUEFUSCkvUnRsdmVyLmxpYjskKERES19MSUJfUEFU
SCkvbGliY250cHIubGliOyQoRERLX0xJQl9QQVRIKS9hdXhfa2xpYi5saWI7JChEREtfTElCX1BB
VEgpL2tzZWNkZC5saWI7JChEREtfTElCX1BBVEgpL3Byb2NncnAubGliOyUoQWRkaXRpb25hbERl
cGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8RW5hYmxlQ09NREFU
Rm9sZGluZz5mYWxzZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICA8L0xpbms+Ci0gICAgPElu
Zj4KLSAgICAgIDxTcGVjaWZ5QXJjaGl0ZWN0dXJlPnRydWU8L1NwZWNpZnlBcmNoaXRlY3R1cmU+
Ci0gICAgICA8U3BlY2lmeURyaXZlclZlckRpcmVjdGl2ZVZlcnNpb24+dHJ1ZTwvU3BlY2lmeURy
aXZlclZlckRpcmVjdGl2ZVZlcnNpb24+Ci0gICAgICA8VGltZVN0YW1wPiQoTUFKT1JfVkVSU0lP
TikuJChNSU5PUl9WRVJTSU9OKS4kKE1JQ1JPX1ZFUlNJT04pLiQoQlVJTERfTlVNQkVSKTwvVGlt
ZVN0YW1wPgotICAgICAgPEVuYWJsZVZlcmJvc2U+dHJ1ZTwvRW5hYmxlVmVyYm9zZT4KLSAgICA8
L0luZj4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBD
b25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAg
ICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19pMzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0
aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxJ
bmY+Ci0gICAgICA8QXJjaGl0ZWN0dXJlPng4NjwvQXJjaGl0ZWN0dXJlPgotICAgIDwvSW5mPgot
ICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlv
bj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM+X194ODZfNjRfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwv
UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPEluZj4KLSAg
ICAgIDxBcmNoaXRlY3R1cmU+YW1kNjQ8L0FyY2hpdGVjdHVyZT4KLSAgICA8L0luZj4KLSAgPC9J
dGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxGaWxlc1RvUGFja2FnZSBJ
bmNsdWRlPSIkKFRhcmdldFBhdGgpIiAvPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIk
KE91dERpcikkKFRhcmdldE5hbWUpLnBkYiIgLz4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVk
ZT0iQChJbmYtPiclKENvcHlPdXRwdXQpJykiIENvbmRpdGlvbj0iJ0AoSW5mKSchPScnIiAvPgot
ICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
Ly4uL3NyYy94ZW52aWYvYnVzLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9z
cmMveGVudmlmL2NoZWNrc3VtLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9z
cmMveGVudmlmL2RyaXZlci5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3Jj
L3hlbnZpZi9mZG8uYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52
aWYvZnJvbnRlbmQuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52
aWYvbGluay5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZpZi9t
YWMuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52aWYvcGFyc2Uu
YyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52aWYvcGRvLmMiIC8+
Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL3JlY2VpdmVyLmMiIC8+
Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL3JlZ2lzdHJ5LmMiIC8+
Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL3NldHRpbmdzLmMiIC8+
Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL3RocmVhZC5jIiAvPgot
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZpZi90cmFuc21pdHRlci5jIiAv
PgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZpZi9jb250cm9sbGVyLmMi
IC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL3ZpZi5jIiAvPgot
ICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1
ZGU9Ii4uXC4uXHNyY1x4ZW52aWZceGVudmlmLnJjIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0
ZW1Hcm91cD4KLSAgICA8SW5mIEluY2x1ZGU9Ii4uXHhlbnZpZi5pbmYiIC8+Ci0gIDwvSXRlbUdy
b3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxOb25lIEluY2x1ZGU9Ii4uXHBhY2thZ2VccGFja2Fn
ZS52Y3hwcm9qIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFy
Z2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KLTwvUHJvamVjdD4KZGlmZiAtLWdp
dCBhL3ZzMjAxMi94ZW52aWYveGVudmlmLnZjeHByb2oudXNlciBiL3ZzMjAxMi94ZW52aWYveGVu
dmlmLnZjeHByb2oudXNlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTc2ZTI1Ny4u
MDAwMDAwMAotLS0gYS92czIwMTIveGVudmlmL3hlbnZpZi52Y3hwcm9qLnVzZXIKKysrIC9kZXYv
bnVsbApAQCAtMSw4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04
Ij8+Ci08UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1p
Y3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxQcm9wZXJ0eUdyb3VwPgot
ICAgIDxTaWduTW9kZT5UZXN0U2lnbjwvU2lnbk1vZGU+Ci0gICAgPFRlc3RDZXJ0aWZpY2F0ZT4u
LlwuLlxzcmNceGVudmlmLnBmeDwvVGVzdENlcnRpZmljYXRlPgotICAgIDxUaW1lU3RhbXBTZXJ2
ZXI+aHR0cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1Rp
bWVTdGFtcFNlcnZlcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0
IGEvdnMyMDEyL3hlbnZpZl9jb2luc3QveGVudmlmX2NvaW5zdC52Y3hwcm9qIGIvdnMyMDEyL3hl
bnZpZl9jb2luc3QveGVudmlmX2NvaW5zdC52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBkYTI0ZWQwLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMi94ZW52aWZfY29pbnN0L3hlbnZp
Zl9jb2luc3QudmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLTw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0i
QnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0
LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEltcG9ydCBQcm9qZWN0PSIuLlxjb25m
aWdzLnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgot
ICAgIDxEcml2ZXJUeXBlPldETTwvRHJpdmVyVHlwZT4KLSAgICA8UGxhdGZvcm1Ub29sc2V0Pldp
bmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjA8L1BsYXRmb3JtVG9vbHNldD4KLSAgICA8Q29u
ZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICA8L1By
b3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLSAgICA8Q29u
ZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVnPC9Db25maWd1cmF0aW9uPgotICAgIDxQbGF0
Zm9ybSBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJyciPldpbjMyPC9QbGF0Zm9ybT4KLSAg
ICA8RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8L0RlYnVnZ2VyRmxhdm9yPgot
ICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxN
aWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJH
bG9iYWxzIj4KLSAgICA8UHJvamVjdEd1aWQ+ezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVD
OUQ3OEE0NH08L1Byb2plY3RHdWlkPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJv
amVjdD0iLi5cdGFyZ2V0cy5wcm9wcyIgLz4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0
c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxE
ZWJ1Z2dlckZsYXZvcj5EYmdlbmdLZXJuZWxEZWJ1Z2dlcjwvRGVidWdnZXJGbGF2b3I+Ci0gICAg
PEluY2x1ZGVQYXRoPi4uXC4uXGluY2x1ZGU7JChJbmNsdWRlUGF0aCk8L0luY2x1ZGVQYXRoPgot
ICAgIDxSdW5Db2RlQW5hbHlzaXM+dHJ1ZTwvUnVuQ29kZUFuYWx5c2lzPgotICAgIDxFbmFibGVJ
bmYyY2F0PmZhbHNlPC9FbmFibGVJbmYyY2F0PgotICAgIDxJbnREaXI+Li5cJChQcm9qZWN0TmFt
ZSlcJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9JbnREaXI+Ci0gICAgPE91dERp
cj4uLlwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L091dERpcj4KLSAgPC9Qcm9w
ZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cD4KLSAgICA8Q2xDb21waWxlPgotICAg
ICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9fTU9EVUxFX189IlhFTlZJRl9DT0lOU1QiOyUo
UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAg
IDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxE
aXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40MTI3OzQ1NDg7NDcxMTs0ODIwOzQ2Njg7NDI1NTs2MDAx
OzYwNTQ7MjgxOTY7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dh
cm5pbmdzPgotICAgICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9j
ZXNzb3JDb21waWxhdGlvbj4KLSAgICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZh
c3Q+Ci0gICAgICA8UnVudGltZUxpYnJhcnkgQ29uZGl0aW9uPSInJChVc2VEZWJ1Z0xpYnJhcmll
cyknPT0ndHJ1ZSciPk11bHRpVGhyZWFkZWREZWJ1ZzwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8
UnVudGltZUxpYnJhcnkgQ29uZGl0aW9uPSInJChVc2VEZWJ1Z0xpYnJhcmllcyknPT0nZmFsc2Un
Ij5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8
TGluaz4KLSAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZT4uLi8uLi9zcmMvY29pbnN0L3hlbnZp
Zl9jb2luc3QuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KLSAgICAgIDxBZGRpdGlvbmFsRGVw
ZW5kZW5jaWVzPnNldHVwYXBpLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlv
bmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgot
ICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMici
PgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19pMzg2
X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgot
ICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5p
dGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgotICAgIDxDbENvbXBp
bGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X194ODZfNjRfXzslKFByZXByb2Nl
c3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBp
bGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8RmlsZXNU
b1BhY2thZ2UgSW5jbHVkZT0iJChUYXJnZXRQYXRoKSIgLz4KLSAgICA8RmlsZXNUb1BhY2thZ2Ug
SW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5wZGIiIC8+Ci0gICAgPEZpbGVzVG9QYWNr
YWdlIEluY2x1ZGU9IkAoSW5mLT4nJShDb3B5T3V0cHV0KScpIiBDb25kaXRpb249IidAKEluZikn
IT0nJyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlwuLlxzcmNcY29pbnN0XGNvaW5zdC5jIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAg
PEl0ZW1Hcm91cD4KLSAgICA8Tm9uZSBJbmNsdWRlPSIuLlwuLlxzcmNcY29pbnN0XHhlbnZpZl9j
b2luc3QuZGVmIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFy
Z2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KLTwvUHJvamVjdD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS92czIwMTIveGVudmlmX2NvaW5zdC94ZW52
aWZfY29pbnN0LnZjeHByb2oudXNlciBiL3ZzMjAxMi94ZW52aWZfY29pbnN0L3hlbnZpZl9jb2lu
c3QudmN4cHJvai51c2VyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NzZlMjU3Li4w
MDAwMDAwCi0tLSBhL3ZzMjAxMi94ZW52aWZfY29pbnN0L3hlbnZpZl9jb2luc3QudmN4cHJvai51
c2VyCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8UHJv
cGVydHlHcm91cD4KLSAgICA8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgotICAgIDxUZXN0
Q2VydGlmaWNhdGU+Li5cLi5cc3JjXHhlbnZpZi5wZng8L1Rlc3RDZXJ0aWZpY2F0ZT4KLSAgICA8
VGltZVN0YW1wU2VydmVyPmh0dHA6Ly90aW1lc3RhbXAudmVyaXNpZ24uY29tL3NjcmlwdHMvdGlt
c3RhbXAuZGxsPC9UaW1lU3RhbXBTZXJ2ZXI+Ci0gIDwvUHJvcGVydHlHcm91cD4KLTwvUHJvamVj
dD4KZGlmZiAtLWdpdCBhL3ZzMjAxMy9jb25maWdzLnByb3BzIGIvdnMyMDEzL2NvbmZpZ3MucHJv
cHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQzOTg3ZmIuLjAwMDAwMDAKLS0tIGEv
dnMyMDEzL2NvbmZpZ3MucHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi08P3ht
bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdl
dHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jv
c29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+IAotCTxJdGVtR3JvdXAgTGFiZWw9IlBy
b2plY3RDb25maWd1cmF0aW9ucyI+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0i
V2luZG93cyA4IERlYnVnfFdpbjMyIj4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDggRGVi
dWc8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4gCi0JCTwv
UHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0i
V2luZG93cyA3IERlYnVnfFdpbjMyIj4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDcgRGVi
dWc8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4gCi0JCTwv
UHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0i
V2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMiI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyBW
aXN0YSBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3Jt
PiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJ
bmNsdWRlPSJXaW5kb3dzIDggUmVsZWFzZXxXaW4zMiI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2lu
ZG93cyA4IFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0
Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRp
b24gSW5jbHVkZT0iV2luZG93cyA3IFJlbGVhc2V8V2luMzIiPiAKLQkJCTxDb25maWd1cmF0aW9u
PldpbmRvd3MgNyBSZWxlYXNlPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT5XaW4zMjwv
UGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1
cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMiI+IAotCQkJPENvbmZp
Z3VyYXRpb24+V2luZG93cyBWaXN0YSBSZWxlYXNlPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0
Zm9ybT5XaW4zMjwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFBy
b2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgOCBEZWJ1Z3x4NjQiPiAKLQkJCTxD
b25maWd1cmF0aW9uPldpbmRvd3MgOCBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZv
cm0+eDY0PC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVj
dENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA3IERlYnVnfHg2NCI+IAotCQkJPENvbmZp
Z3VyYXRpb24+V2luZG93cyA3IERlYnVnPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54
NjQ8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29u
ZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIFZpc3RhIERlYnVnfHg2NCI+IAotCQkJPENvbmZp
Z3VyYXRpb24+V2luZG93cyBWaXN0YSBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZv
cm0+eDY0PC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVj
dENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA4IFJlbGVhc2V8eDY0Ij4gCi0JCQk8Q29u
ZmlndXJhdGlvbj5XaW5kb3dzIDggUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZv
cm0+eDY0PC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVj
dENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA3IFJlbGVhc2V8eDY0Ij4gCi0JCQk8Q29u
ZmlndXJhdGlvbj5XaW5kb3dzIDcgUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZv
cm0+eDY0PC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVj
dENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NCI+IAotCQkJ
PENvbmZpZ3VyYXRpb24+V2luZG93cyBWaXN0YSBSZWxlYXNlPC9Db25maWd1cmF0aW9uPiAKLQkJ
CTxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0J
PC9JdGVtR3JvdXA+IAotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDEzL3BhY2thZ2UvcGFj
a2FnZS52Y3hwcm9qIGIvdnMyMDEzL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0NDM2OWUzLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMy9wYWNrYWdl
L3BhY2thZ2UudmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0i
QnVpbGQiIFRvb2xzVmVyc2lvbj0iMTIuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29m
dC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJbXBvcnQgUHJvamVjdD0iLi5cY29u
Zmlncy5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4K
LSAgICA8RHJpdmVyVHlwZT5XRE08L0RyaXZlclR5cGU+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5X
aW5kb3dzQXBwbGljYXRpb25Gb3JEcml2ZXJzOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gICAgPENv
bmZpZ3VyYXRpb25UeXBlPlV0aWxpdHk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxEcml2ZXJU
eXBlPlBhY2thZ2U8L0RyaXZlclR5cGU+Ci0gICAgPERpc2FibGVGYXN0VXBUb0RhdGVDaGVjaz50
cnVlPC9EaXNhYmxlRmFzdFVwVG9EYXRlQ2hlY2s+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFBy
b3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxDb25maWd1cmF0aW9uPldpbmRvd3Mg
VmlzdGEgRGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0gICAgPFBsYXRmb3JtIENvbmRpdGlvbj0iJyQo
UGxhdGZvcm0pJyA9PSAnJyI+V2luMzI8L1BsYXRmb3JtPgotICAgIDxEZWJ1Z2dlckZsYXZvcj5E
YmdlbmdLZXJuZWxEZWJ1Z2dlcjwvRGVidWdnZXJGbGF2b3I+Ci0gIDwvUHJvcGVydHlHcm91cD4K
LSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVs
dC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9q
ZWN0R3VpZD57NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fTwvUHJvamVjdEd1
aWQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRzLnBy
b3BzIiAvPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNw
cC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPEVuYWJsZUluZjJjYXQ+dHJ1ZTwv
RW5hYmxlSW5mMmNhdD4KLSAgICA8SW5mMkNhdFdpbmRvd3NWZXJzaW9uTGlzdCBDb25kaXRpb249
IickKFBsYXRmb3JtKSc9PSd4NjQnIj5WaXN0YV94NjQ7N194NjQ7U2VydmVyMjAwOF94NjQ7U2Vy
dmVyMjAwOFIyX3g2NDtTZXJ2ZXI4X3g2NDwvSW5mMkNhdFdpbmRvd3NWZXJzaW9uTGlzdD4KLSAg
ICA8SW5mMkNhdFdpbmRvd3NWZXJzaW9uTGlzdCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdX
aW4zMiciPlZpc3RhX3g4Njs3X3g4NjtTZXJ2ZXIyMDA4X3g4Njs4X3g4NjwvSW5mMkNhdFdpbmRv
d3NWZXJzaW9uTGlzdD4KLSAgICA8RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8
L0RlYnVnZ2VyRmxhdm9yPgotICAgIDxFbmFibGVEZXBsb3ltZW50PkZhbHNlPC9FbmFibGVEZXBs
b3ltZW50PgotICAgIDxJbXBvcnRUb1N0b3JlPkZhbHNlPC9JbXBvcnRUb1N0b3JlPgotICAgIDxJ
bnN0YWxsTW9kZT5Ob25lPC9JbnN0YWxsTW9kZT4KLSAgICA8U2NyaXB0RGV2aWNlUXVlcnk+JVBh
dGhUb0luZiU8L1NjcmlwdERldmljZVF1ZXJ5PgotICAgIDxFbmFibGVWZXJpZmllcj5GYWxzZTwv
RW5hYmxlVmVyaWZpZXI+Ci0gICAgPEFsbERyaXZlcnM+RmFsc2U8L0FsbERyaXZlcnM+Ci0gICAg
PFZlcmlmeVByb2plY3RPdXRwdXQ+VHJ1ZTwvVmVyaWZ5UHJvamVjdE91dHB1dD4KLSAgICA8VmVy
aWZ5RmxhZ3M+MTMzNTYzPC9WZXJpZnlGbGFncz4KLSAgICA8SW50RGlyPi4uXCQoUHJvamVjdE5h
bWUpXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvSW50RGlyPgotICAgIDxPdXRE
aXI+Li5cJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9PdXREaXI+Ci0gICAgPFBh
Y2thZ2VEaXI+Li5cLi5ceGVudmlmXCQoRERLUGxhdGZvcm0pPC9QYWNrYWdlRGlyPgotICA8L1By
b3BlcnR5R3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVk
ZT0iLi5ceGVudmlmXHhlbnZpZi52Y3hwcm9qIj4KLSAgICAgIDxQcm9qZWN0PntDM0Y5NkQ0Qy1F
NDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9PC9Qcm9qZWN0PgotICAgIDwvUHJvamVjdFJlZmVy
ZW5jZT4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlx4ZW52aWZfY29pbnN0XHhl
bnZpZl9jb2luc3QudmN4cHJvaiI+Ci0gICAgICA8UHJvamVjdD57MkJGQUM3RTYtMzQyMC00N0E1
LUEwOTItQkRDNUM5RDc4QTQ0fTwvUHJvamVjdD4KLSAgICA8L1Byb2plY3RSZWZlcmVuY2U+Ci0g
IDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRl
PSIkKEtJVClcUmVkaXN0XERJRnhcZHBpbnN0XEVuZ011aVx4ODZcZHBpbnN0LmV4ZSIgQ29uZGl0
aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIiAvPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNs
dWRlPSIkKEtJVClcUmVkaXN0XERJRnhcZHBpbnN0XEVuZ011aVx4NjRcZHBpbnN0LmV4ZSIgQ29u
ZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBv
cnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci0g
IDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+Ci0gIDwvSW1wb3J0R3JvdXA+
Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdnMy
MDEzL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qLnVzZXIgYi92czIwMTMvcGFja2FnZS9wYWNrYWdl
LnZjeHByb2oudXNlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTc2ZTI1Ny4uMDAw
MDAwMAotLS0gYS92czIwMTMvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNlcgorKysgL2Rldi9u
dWxsCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgi
Pz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPFByb3BlcnR5R3JvdXA+Ci0g
ICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9kZT4KLSAgICA8VGVzdENlcnRpZmljYXRlPi4u
XC4uXHNyY1x4ZW52aWYucGZ4PC9UZXN0Q2VydGlmaWNhdGU+Ci0gICAgPFRpbWVTdGFtcFNlcnZl
cj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRzL3RpbXN0YW1wLmRsbDwvVGlt
ZVN0YW1wU2VydmVyPgotICA8L1Byb3BlcnR5R3JvdXA+Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQg
YS92czIwMTMvdGFyZ2V0cy5wcm9wcyBiL3ZzMjAxMy90YXJnZXRzLnByb3BzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjOGFiYTkyLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMy90YXJnZXRz
LnByb3BzCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9v
bHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVs
b3Blci9tc2J1aWxkLzIwMDMiPgotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9u
IiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBE
ZWJ1Z3xXaW4zMiciPiAKLQkJPFRhcmdldFZlcnNpb24+V2luZG93czg8L1RhcmdldFZlcnNpb24+
IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJv
cGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IFJlbGVhc2V8
V2luMzInIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRWZXJzaW9uPiAKLQkJ
PFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0
eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggRGVidWd8eDY0JyI+
IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1
Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAK
LQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggUmVsZWFzZXx4NjQnIj4gCi0JCTxU
YXJnZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFy
aWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPgotCTxQcm9w
ZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBEZWJ1Z3xXaW4zMiciPiAKLQkJPFRhcmdldFZl
cnNpb24+V2luZG93czc8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1
ZTwvVXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3Jv
dXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nV2luZG93cyA3IFJlbGVhc2V8V2luMzInIj4gCi0JCTxUYXJnZXRWZXJzaW9u
PldpbmRvd3M3PC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9V
c2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBM
YWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdXaW5kb3dzIDcgRGVidWd8eDY0JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dz
NzwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xp
YnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29u
ZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdX
aW5kb3dzIDcgUmVsZWFzZXx4NjQnIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M3PC9UYXJn
ZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmll
cz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPgotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0
aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3Mg
VmlzdGEgRGVidWd8V2luMzInIj4gCi0JCTxUYXJnZXRWZXJzaW9uPlZpc3RhPC9UYXJnZXRWZXJz
aW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8
L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEg
UmVsZWFzZXxXaW4zMiciPiAKLQkJPFRhcmdldFZlcnNpb24+VmlzdGE8L1RhcmdldFZlcnNpb24+
IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1By
b3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgRGVi
dWd8eDY0JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5WaXN0YTwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxV
c2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdy
b3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0
JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5WaXN0YTwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1
Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4K
LTwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxMy94ZW52aWYuc2xuIGIvdnMyMDEzL3hlbnZp
Zi5zbG4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4ZjhiYjkuLjAwMDAwMDAKLS0t
IGEvdnMyMDEzL3hlbnZpZi5zbG4KKysrIC9kZXYvbnVsbApAQCAtMSwxMzggKzAsMCBAQAotTWlj
cm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwgRm9ybWF0IFZlcnNpb24gMTIuMDAK
LSMgVmlzdWFsIFN0dWRpbyAyMDEyCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEt
MDBBMEM5MUJDOTQyfSIpID0gInhlbnZpZiIsICJ4ZW52aWZceGVudmlmLnZjeHByb2oiLCAie0Mz
Rjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0iCi1FbmRQcm9qZWN0Ci1Qcm9qZWN0
KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInhlbnZpZl9jb2lu
c3QiLCAieGVudmlmX2NvaW5zdFx4ZW52aWZfY29pbnN0LnZjeHByb2oiLCAiezJCRkFDN0U2LTM0
MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0iCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVu
ZGVuY2llcykgPSBwb3N0UHJvamVjdAotCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0
M0MxRDE4fSA9IHtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9Ci0JRW5kUHJv
amVjdFNlY3Rpb24KLUVuZFByb2plY3QKLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQx
MS0wMEEwQzkxQkM5NDJ9IikgPSAicGFja2FnZSIsICJwYWNrYWdlXHBhY2thZ2UudmN4cHJvaiIs
ICJ7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fSIKLQlQcm9qZWN0U2VjdGlv
bihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0Ci0JCXtDM0Y5NkQ0Qy1FNDQxLTQ3
RjctQTQ0Qy1EMkQwNTQzQzFEMTh9ID0ge0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDND
MUQxOH0KLQkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0gPSB7MkJGQUM3
RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fQotCUVuZFByb2plY3RTZWN0aW9uCi1FbmRQ
cm9qZWN0Ci1HbG9iYWwKLQlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uQ29uZmlndXJhdGlvblBsYXRm
b3JtcykgPSBwcmVTb2x1dGlvbgotCQlXaW5kb3dzIDcgRGVidWd8V2luMzIgPSBXaW5kb3dzIDcg
RGVidWd8V2luMzIKLQkJV2luZG93cyA3IERlYnVnfHg2NCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQK
LQkJV2luZG93cyA3IFJlbGVhc2V8V2luMzIgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQlX
aW5kb3dzIDcgUmVsZWFzZXx4NjQgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJV2luZG93cyA4
IERlYnVnfFdpbjMyID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCVdpbmRvd3MgOCBEZWJ1Z3x4
NjQgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCVdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyID0gV2lu
ZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJV2luZG93cyA4IFJlbGVhc2V8eDY0ID0gV2luZG93cyA4
IFJlbGVhc2V8eDY0Ci0JCVdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIgPSBXaW5kb3dzIFZpc3Rh
IERlYnVnfFdpbjMyCi0JCVdpbmRvd3MgVmlzdGEgRGVidWd8eDY0ID0gV2luZG93cyBWaXN0YSBE
ZWJ1Z3x4NjQKLQkJV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyID0gV2luZG93cyBWaXN0YSBS
ZWxlYXNlfFdpbjMyCi0JCVdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQgPSBXaW5kb3dzIFZpc3Rh
IFJlbGVhc2V8eDY0Ci0JRW5kR2xvYmFsU2VjdGlvbgotCUdsb2JhbFNlY3Rpb24oUHJvamVjdENv
bmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcG9zdFNvbHV0aW9uCi0JCXsyQkZBQzdFNi0zNDIwLTQ3
QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBX
aW5kb3dzIDcgRGVidWd8V2luMzIKLQkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3
OEE0NH0uV2luZG93cyA3IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8V2lu
MzIKLQkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyA3IERl
YnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA3IERlYnVnfFdpbjMyCi0JCXsyQkZBQzdFNi0z
NDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQWN0aXZlQ2Zn
ID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5
RDc4QTQ0fS5XaW5kb3dzIDcgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8eDY0
Ci0JCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgNyBSZWxl
YXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXsyQkZBQzdF
Ni0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkJ1
aWxkLjAgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEw
OTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIDcgUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRv
d3MgNyBSZWxlYXNlfFdpbjMyCi0JCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhB
NDR9LldpbmRvd3MgNyBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXx4
NjQKLQkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyA3IFJl
bGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJezJCRkFDN0U2LTM0
MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRD
NUM5RDc4QTQ0fS5XaW5kb3dzIDggRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1
Z3xXaW4zMgotCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dz
IDggRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezJCRkFD
N0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyA4IERlYnVnfHg2NC5BY3Rp
dmVDZmcgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1C
REM1QzlENzhBNDR9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1
Z3x4NjQKLQkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyA4
IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezJC
RkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyA4IFJlbGVhc2V8V2lu
MzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXsyQkZBQzdFNi0zNDIwLTQ3
QTUtQTA5Mi1CREM1QzlENzhBNDR9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0g
V2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezJCRkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVD
OUQ3OEE0NH0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxl
YXNlfHg2NAotCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dz
IDggUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7MkJGQUM3
RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMy
LkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezJCRkFDN0U2LTM0MjAt
NDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5CdWlsZC4w
ID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTIt
QkRDNUM5RDc4QTQ0fS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93
cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4
QTQ0fS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIERl
YnVnfHg2NAotCQl7MkJGQUM3RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dz
IFZpc3RhIERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezJC
RkFDN0U2LTM0MjAtNDdBNS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyBWaXN0YSBSZWxlYXNl
fFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7MkJGQUM3
RTYtMzQyMC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2lu
MzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7MkJGQUM3RTYtMzQy
MC00N0E1LUEwOTItQkRDNUM5RDc4QTQ0fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuRGVw
bG95LjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJezJCRkFDN0U2LTM0MjAtNDdB
NS1BMDkyLUJEQzVDOUQ3OEE0NH0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5BY3RpdmVDZmcg
PSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1C
REM1QzlENzhBNDR9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3Mg
VmlzdGEgUmVsZWFzZXx4NjQKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIx
NX0uV2luZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4z
MgotCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDcgRGVi
dWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7NzM3NjhDQzktREIy
Ni00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDcgRGVidWd8V2luMzIuRGVwbG95LjAg
PSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJG
ODE1RUIxNX0uV2luZG93cyA3IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8
eDY0Ci0JCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgNyBE
ZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezczNzY4Q0M5LURCMjYt
NDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA3IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdp
bmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIx
NX0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVhc2V8
V2luMzIKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA3
IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXs3Mzc2
OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMy
LkRlcGxveS4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezczNzY4Q0M5LURCMjYtNDI5
Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdp
bmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVF
QjE1fS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2
NAotCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDcgUmVs
ZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJezczNzY4Q0M5LURC
MjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0
MkY4MTVFQjE1fS5XaW5kb3dzIDggRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1
Z3xXaW4zMgotCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dz
IDggRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezczNzY4
Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA4IERlYnVnfHg2NC5BY3Rp
dmVDZmcgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0x
MDQyRjgxNUVCMTV9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1
Z3x4NjQKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA4
IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezczNzY4Q0M5LURC
MjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQWN0aXZl
Q2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4
LTEwNDJGODE1RUIxNX0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3Mg
OCBSZWxlYXNlfFdpbjMyCi0JCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9
LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA4IFJlbGVhc2V8V2lu
MzIKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyA4IFJl
bGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7NzM3NjhDQzkt
REIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQnVpbGQu
MCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0
MkY4MTVFQjE1fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVs
ZWFzZXx4NjQKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93
cyBWaXN0YSBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMy
Ci0JCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgVmlzdGEg
RGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezczNzY4
Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4z
Mi5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezczNzY4Q0M5LURCMjYt
NDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQWN0aXZlQ2Zn
ID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEw
NDJGODE1RUIxNX0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlz
dGEgRGVidWd8eDY0Ci0JCXs3Mzc2OENDOS1EQjI2LTQyOTctOUVDOC0xMDQyRjgxNUVCMTV9Lldp
bmRvd3MgVmlzdGEgRGVidWd8eDY0LkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQK
LQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyBWaXN0YSBS
ZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7
NzM3NjhDQzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIFZpc3RhIFJlbGVh
c2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7NzM3NjhD
QzktREIyNi00Mjk3LTlFQzgtMTA0MkY4MTVFQjE1fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2lu
MzIuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJezczNzY4Q0M5LURC
MjYtNDI5Ny05RUM4LTEwNDJGODE1RUIxNX0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5BY3Rp
dmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXs3Mzc2OENDOS1EQjI2LTQyOTct
OUVDOC0xMDQyRjgxNUVCMTV9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdp
bmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezczNzY4Q0M5LURCMjYtNDI5Ny05RUM4LTEwNDJG
ODE1RUIxNX0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgVmlz
dGEgUmVsZWFzZXx4NjQKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0u
V2luZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgot
CQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDcgRGVidWd8
V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7QzNGOTZENEMtRTQ0MS00
N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDcgRGVidWd8V2luMzIuRGVwbG95LjAgPSBX
aW5kb3dzIDcgRGVidWd8V2luMzIKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDND
MUQxOH0uV2luZG93cyA3IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8eDY0
Ci0JCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgNyBEZWJ1
Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJe0MzRjk2RDRDLUU0NDEtNDdG
Ny1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA3IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRv
d3MgNyBEZWJ1Z3x4NjQKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0u
V2luZG93cyA3IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVhc2V8V2lu
MzIKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA3IFJl
bGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXtDM0Y5NkQ0
Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkRl
cGxveS4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1B
NDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRv
d3MgNyBSZWxlYXNlfHg2NAotCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4
fS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAot
CQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDcgUmVsZWFz
ZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJe0MzRjk2RDRDLUU0NDEt
NDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9
IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0
M0MxRDE4fS5XaW5kb3dzIDggRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xX
aW4zMgotCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDgg
RGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJe0MzRjk2RDRD
LUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA4IERlYnVnfHg2NC5BY3RpdmVD
ZmcgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQw
NTQzQzFEMTh9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4
NjQKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA4IERl
YnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJe0MzRjk2RDRDLUU0NDEt
NDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2Zn
ID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQy
RDA1NDNDMUQxOH0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBS
ZWxlYXNlfFdpbjMyCi0JCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9Lldp
bmRvd3MgOCBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIK
LQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyA4IFJlbGVh
c2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7QzNGOTZENEMtRTQ0
MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQnVpbGQuMCA9
IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0
M0MxRDE4fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFz
ZXx4NjQKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyBW
aXN0YSBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0J
CXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgVmlzdGEgRGVi
dWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJe0MzRjk2RDRD
LUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5E
ZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJe0MzRjk2RDRDLUU0NDEtNDdG
Ny1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0g
V2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1
NDNDMUQxOH0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEg
RGVidWd8eDY0Ci0JCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0Qy1EMkQwNTQzQzFEMTh9LldpbmRv
d3MgVmlzdGEgRGVidWd8eDY0LkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJ
e0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyBWaXN0YSBSZWxl
YXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7QzNG
OTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8
V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7QzNGOTZENEMt
RTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIu
RGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJe0MzRjk2RDRDLUU0NDEt
NDdGNy1BNDRDLUQyRDA1NDNDMUQxOH0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5BY3RpdmVD
ZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXtDM0Y5NkQ0Qy1FNDQxLTQ3RjctQTQ0
Qy1EMkQwNTQzQzFEMTh9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRv
d3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJe0MzRjk2RDRDLUU0NDEtNDdGNy1BNDRDLUQyRDA1NDND
MUQxOH0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEg
UmVsZWFzZXx4NjQKLQlFbmRHbG9iYWxTZWN0aW9uCi0JR2xvYmFsU2VjdGlvbihTb2x1dGlvblBy
b3BlcnRpZXMpID0gcHJlU29sdXRpb24KLQkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFCi0JRW5k
R2xvYmFsU2VjdGlvbgotRW5kR2xvYmFsCmRpZmYgLS1naXQgYS92czIwMTMveGVudmlmL3hlbnZp
Zi52Y3hwcm9qIGIvdnMyMDEzL3hlbnZpZi94ZW52aWYudmN4cHJvagpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZWQ3MmRlMi4uMDAwMDAwMAotLS0gYS92czIwMTMveGVudmlmL3hlbnZp
Zi52Y3hwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIg
VG9vbHNWZXJzaW9uPSIxMi4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9k
ZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEltcG9ydCBQcm9qZWN0PSIuLlxjb25maWdzLnBy
b3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPENvbmZpZ3Vy
YXRpb24+V2luZG93cyBWaXN0YSBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4KLSAgICA8UGxhdGZvcm0g
Q29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICcnIj5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPERl
YnVnZ2VyRmxhdm9yPkRiZ2VuZ0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4KLSAgPC9Q
cm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgot
ICAgIDxEcml2ZXJUeXBlPldETTwvRHJpdmVyVHlwZT4KLSAgICA8UGxhdGZvcm1Ub29sc2V0Pldp
bmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gICAgPENvbmZpZ3Vy
YXRpb25UeXBlPkRyaXZlcjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gIDwvUHJvcGVydHlHcm91cD4K
LSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVs
dC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9q
ZWN0R3VpZD57QzNGOTZENEMtRTQ0MS00N0Y3LUE0NEMtRDJEMDU0M0MxRDE4fTwvUHJvamVjdEd1
aWQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRzLnBy
b3BzIiAvPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNw
cC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPFJ1bkNvZGVBbmFseXNpcz50cnVl
PC9SdW5Db2RlQW5hbHlzaXM+Ci0gICAgPEVuYWJsZUluZjJjYXQ+ZmFsc2U8L0VuYWJsZUluZjJj
YXQ+Ci0gICAgPEludERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKVwk
KFBsYXRmb3JtKVw8L0ludERpcj4KLSAgICA8T3V0RGlyPi4uXCQoQ29uZmlndXJhdGlvbk5hbWUp
XCQoUGxhdGZvcm0pXDwvT3V0RGlyPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5p
dGlvbkdyb3VwPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJl
Y3Rvcmllcz4kKFdpbmRvd3NTZGtEaXIpXGluY2x1ZGVca207Li5cLi5caW5jbHVkZTsuLlwuLlxp
bmNsdWRlXHhlbjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5j
bHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9fTU9EVUxF
X189IlhFTlZJRiI7UE9PTF9OWF9PUFRJTj0xO05UX1BST0NFU1NPUl9HUk9VUFM7JShQcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFdhcm5p
bmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgotICAgICAgPERpc2FibGVT
cGVjaWZpY1dhcm5pbmdzPjQ3MTE7NDU0ODs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7
JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgotICAg
ICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxh
dGlvbj4KLSAgICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+Ci0gICAgPC9D
bENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVk
ZURpcmVjdG9yaWVzPi4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVz
KTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4K
LSAgICA8TGluaz4KLSAgICAgIDxJbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz5mYWxzZTwv
SW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVu
Y2llcz4kKERES19MSUJfUEFUSCkvUnRsdmVyLmxpYjskKERES19MSUJfUEFUSCkvbGliY250cHIu
bGliOyQoRERLX0xJQl9QQVRIKS9hdXhfa2xpYi5saWI7JChEREtfTElCX1BBVEgpL2tzZWNkZC5s
aWI7JChEREtfTElCX1BBVEgpL3Byb2NncnAubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8
L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8RW5hYmxlQ09NREFURm9sZGluZz5mYWxz
ZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICA8L0xpbms+Ci0gICAgPEluZj4KLSAgICAgIDxT
cGVjaWZ5QXJjaGl0ZWN0dXJlPnRydWU8L1NwZWNpZnlBcmNoaXRlY3R1cmU+Ci0gICAgICA8U3Bl
Y2lmeURyaXZlclZlckRpcmVjdGl2ZVZlcnNpb24+dHJ1ZTwvU3BlY2lmeURyaXZlclZlckRpcmVj
dGl2ZVZlcnNpb24+Ci0gICAgICA8VGltZVN0YW1wPiQoTUFKT1JfVkVSU0lPTikuJChNSU5PUl9W
RVJTSU9OKS4kKE1JQ1JPX1ZFUlNJT04pLiQoQlVJTERfTlVNQkVSKTwvVGltZVN0YW1wPgotICAg
ICAgPEVuYWJsZVZlcmJvc2U+dHJ1ZTwvRW5hYmxlVmVyYm9zZT4KLSAgICA8L0luZj4KLSAgPC9J
dGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249Iick
KFBsYXRmb3JtKSc9PSdXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vz
c29yRGVmaW5pdGlvbnM+X19pMzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXBy
b2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxJbmY+Ci0gICAgICA8
QXJjaGl0ZWN0dXJlPng4NjwvQXJjaGl0ZWN0dXJlPgotICAgIDwvSW5mPgotICA8L0l0ZW1EZWZp
bml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZv
cm0pJz09J3g2NCciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5p
dGlvbnM+X194ODZfNjRfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29y
RGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPEluZj4KLSAgICAgIDxBcmNoaXRl
Y3R1cmU+YW1kNjQ8L0FyY2hpdGVjdHVyZT4KLSAgICA8L0luZj4KLSAgPC9JdGVtRGVmaW5pdGlv
bkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKFRh
cmdldFBhdGgpIiAvPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKE91dERpcikkKFRh
cmdldE5hbWUpLnBkYiIgLz4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iQChJbmYtPicl
KENvcHlPdXRwdXQpJykiIENvbmRpdGlvbj0iJ0AoSW5mKSchPScnIiAvPgotICA8L0l0ZW1Hcm91
cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52
aWYvYnVzLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL2No
ZWNrc3VtLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL2Ry
aXZlci5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZpZi9mZG8u
YyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52aWYvZnJvbnRlbmQu
YyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52aWYvbGluay5jIiAv
PgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZpZi9tYWMuYyIgLz4KLSAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52aWYvcGFyc2UuYyIgLz4KLSAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52aWYvcGRvLmMiIC8+Ci0gICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL3JlY2VpdmVyLmMiIC8+Ci0gICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL3JlZ2lzdHJ5LmMiIC8+Ci0gICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL3NldHRpbmdzLmMiIC8+Ci0gICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL3RocmVhZC5jIiAvPgotICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZpZi90cmFuc21pdHRlci5jIiAvPgotICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZpZi9jb250cm9sbGVyLmMiIC8+Ci0gICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmlmL3ZpZi5jIiAvPgotICA8L0l0ZW1Hcm91
cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNy
Y1x4ZW52aWZceGVudmlmLnJjIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAg
ICA8SW5mIEluY2x1ZGU9Ii4uXHhlbnZpZi5pbmYiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRl
bUdyb3VwPgotICAgIDxOb25lIEluY2x1ZGU9Ii4uXHBhY2thZ2VccGFja2FnZS52Y3hwcm9qIiAv
PgotICA8L0l0ZW1Hcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1p
Y3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxMy94
ZW52aWYveGVudmlmLnZjeHByb2oudXNlciBiL3ZzMjAxMy94ZW52aWYveGVudmlmLnZjeHByb2ou
dXNlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTc2ZTI1Ny4uMDAwMDAwMAotLS0g
YS92czIwMTMveGVudmlmL3hlbnZpZi52Y3hwcm9qLnVzZXIKKysrIC9kZXYvbnVsbApAQCAtMSw4
ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVj
dCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20v
ZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxTaWduTW9k
ZT5UZXN0U2lnbjwvU2lnbk1vZGU+Ci0gICAgPFRlc3RDZXJ0aWZpY2F0ZT4uLlwuLlxzcmNceGVu
dmlmLnBmeDwvVGVzdENlcnRpZmljYXRlPgotICAgIDxUaW1lU3RhbXBTZXJ2ZXI+aHR0cDovL3Rp
bWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1RpbWVTdGFtcFNlcnZl
cj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDEzL3hl
bnZpZl9jb2luc3QveGVudmlmX2NvaW5zdC52Y3hwcm9qIGIvdnMyMDEzL3hlbnZpZl9jb2luc3Qv
eGVudmlmX2NvaW5zdC52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NGQ4
MGMxLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMy94ZW52aWZfY29pbnN0L3hlbnZpZl9jb2luc3QudmN4
cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xz
VmVyc2lvbj0iMTIuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxv
cGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJbXBvcnQgUHJvamVjdD0iLi5cY29uZmlncy5wcm9wcyIg
Lz4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8RHJpdmVy
VHlwZT5XRE08L0RyaXZlclR5cGU+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGlj
YXRpb25Gb3JEcml2ZXJzOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gICAgPENvbmZpZ3VyYXRpb25U
eXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgPC9Qcm9wZXJ0eUdyb3Vw
PgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPENvbmZpZ3VyYXRpb24+
V2luZG93cyBWaXN0YSBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4KLSAgICA8UGxhdGZvcm0gQ29uZGl0
aW9uPSInJChQbGF0Zm9ybSknID09ICcnIj5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPERlYnVnZ2Vy
Rmxhdm9yPkRiZ2VuZ0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4KLSAgPC9Qcm9wZXJ0
eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNw
cC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0g
ICAgPFByb2plY3RHdWlkPnsyQkZBQzdFNi0zNDIwLTQ3QTUtQTA5Mi1CREM1QzlENzhBNDR9PC9Q
cm9qZWN0R3VpZD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRh
cmdldHMucHJvcHMiIC8+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNy
b3NvZnQuQ3BwLnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8RGVidWdnZXJGbGF2
b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8L0RlYnVnZ2VyRmxhdm9yPgotICAgIDxJbmNsdWRlUGF0
aD4uLlwuLlxpbmNsdWRlOyQoSW5jbHVkZVBhdGgpPC9JbmNsdWRlUGF0aD4KLSAgICA8UnVuQ29k
ZUFuYWx5c2lzPnRydWU8L1J1bkNvZGVBbmFseXNpcz4KLSAgICA8RW5hYmxlSW5mMmNhdD5mYWxz
ZTwvRW5hYmxlSW5mMmNhdD4KLSAgICA8SW50RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmln
dXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvSW50RGlyPgotICAgIDxPdXREaXI+Li5cJChDb25m
aWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9PdXREaXI+Ci0gIDwvUHJvcGVydHlHcm91cD4K
LSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucz5fX01PRFVMRV9fPSJYRU5WSUZfQ09JTlNUIjslKFByZXByb2Nlc3Nv
ckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8V2FybmluZ0xl
dmVsPkVuYWJsZUFsbFdhcm5pbmdzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8RGlzYWJsZVNwZWNp
ZmljV2FybmluZ3M+NDEyNzs0NTQ4OzQ3MTE7NDgyMDs0NjY4OzQyNTU7NjAwMTs2MDU0OzI4MTk2
OyUoRGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4KLSAg
ICAgIDxNdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011bHRpUHJvY2Vzc29yQ29tcGls
YXRpb24+Ci0gICAgICA8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFibGVQUkVmYXN0PgotICAgICAg
PFJ1bnRpbWVMaWJyYXJ5IENvbmRpdGlvbj0iJyQoVXNlRGVidWdMaWJyYXJpZXMpJz09J3RydWUn
Ij5NdWx0aVRocmVhZGVkRGVidWc8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPFJ1bnRpbWVMaWJy
YXJ5IENvbmRpdGlvbj0iJyQoVXNlRGVidWdMaWJyYXJpZXMpJz09J2ZhbHNlJyI+TXVsdGlUaHJl
YWRlZDwvUnVudGltZUxpYnJhcnk+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAg
ICA8TW9kdWxlRGVmaW5pdGlvbkZpbGU+Li4vLi4vc3JjL2NvaW5zdC94ZW52aWZfY29pbnN0LmRl
ZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5z
ZXR1cGFwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVu
Y2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZp
bml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIj4KLSAgICA8Q2xD
b21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9faTM4Nl9fOyUoUHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29t
cGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBD
b25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAg
PFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZpbml0
aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0
ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIElu
Y2x1ZGU9IiQoVGFyZ2V0UGF0aCkiIC8+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQo
T3V0RGlyKSQoVGFyZ2V0TmFtZSkucGRiIiAvPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRl
PSJAKEluZi0+JyUoQ29weU91dHB1dCknKSIgQ29uZGl0aW9uPSInQChJbmYpJyE9JyciIC8+Ci0g
IDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
Li5cc3JjXGNvaW5zdFxjb2luc3QuYyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+
Ci0gICAgPE5vbmUgSW5jbHVkZT0iLi5cLi5cc3JjXGNvaW5zdFx4ZW52aWZfY29pbnN0LmRlZiIg
Lz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxN
aWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvdnMyMDEzL3hlbnZpZl9jb2luc3QveGVudmlmX2NvaW5zdC52
Y3hwcm9qLnVzZXIgYi92czIwMTMveGVudmlmX2NvaW5zdC94ZW52aWZfY29pbnN0LnZjeHByb2ou
dXNlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTc2ZTI1Ny4uMDAwMDAwMAotLS0g
YS92czIwMTMveGVudmlmX2NvaW5zdC94ZW52aWZfY29pbnN0LnZjeHByb2oudXNlcgorKysgL2Rl
di9udWxsCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRm
LTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMu
bWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPFByb3BlcnR5R3JvdXA+
Ci0gICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9kZT4KLSAgICA8VGVzdENlcnRpZmljYXRl
Pi4uXC4uXHNyY1x4ZW52aWYucGZ4PC9UZXN0Q2VydGlmaWNhdGU+Ci0gICAgPFRpbWVTdGFtcFNl
cnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRzL3RpbXN0YW1wLmRsbDwv
VGltZVN0YW1wU2VydmVyPgotICA8L1Byb3BlcnR5R3JvdXA+Ci08L1Byb2plY3Q+CmRpZmYgLS1n
aXQgYS92czIwMTUvcGFja2FnZS9wYWNrYWdlLnZjeHByb2ogYi92czIwMTUvcGFja2FnZS9wYWNr
YWdlLnZjeHByb2oKaW5kZXggYWJmZTA2Yi4uZWQyOGJlYSAxMDA2NDQKLS0tIGEvdnMyMDE1L3Bh
Y2thZ2UvcGFja2FnZS52Y3hwcm9qCisrKyBiL3ZzMjAxNS9wYWNrYWdlL3BhY2thZ2UudmN4cHJv
agpAQCAtMjksNyArMjksNyBAQAogICAgIDxWZXJpZnlQcm9qZWN0T3V0cHV0PlRydWU8L1Zlcmlm
eVByb2plY3RPdXRwdXQ+CiAgICAgPFZlcmlmeUZsYWdzPjEzMzU2MzwvVmVyaWZ5RmxhZ3M+CiAg
ICAgPEludERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRm
b3JtKVw8L0ludERpcj4KLSAgICA8T3V0RGlyPi4uXC4uXHhlbnZpZlwkKERES1BsYXRmb3JtKVw8
L091dERpcj4KKyAgICA8T3V0RGlyPi4uXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0p
XDwvT3V0RGlyPgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPFByb2pl
Y3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5ceGVudmlmXHhlbnZpZi52Y3hwcm9qIj4KLS0gCjIuNS4z
CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2
LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0
cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2
LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Thu May 18 14:06:05 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 May 2017 14:06:05 +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 1dBM44-0001oe-V1; Thu, 18 May 2017 14:06:04 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=304abdc7e=Paul.Durrant@citrix.com>)
 id 1dBM43-0001oP-JN
 for win-pv-devel@lists.xenproject.org; Thu, 18 May 2017 14:06:04 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
 B4/A1-23755-A4AAD195; Thu, 18 May 2017 14:06:02 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrLLMWRWlGSWpSXmKPExsXitHRDpK7nKtl
 Ig+Z32hZ/Fic6MHoc/nCFJYAxijUzLym/IoE1Y/7zJ8wFJ7ayVGw4Np+xgfH0b+YuRk4OCQF/
 iQOLGllAbDYBHYmpTy+xgtgiAuoS+z5vZQKxmQW0JBomLgGzhQXMJbY3zwPrZRFQldi75DI7i
 M0r4Cqx50YrUC8H0Ew5ie6dbiBhIQEVifVTZ7FBlAhKnJz5hAVipITEwRcvmCcwcs9CkpqFJL
 WAkWkVo0ZxalFZapGukZFeUlFmekZJbmJmjq6hgbFebmpxcWJ6ak5iUrFecn7uJkZgMNQzMDD
 uYJx6wu8QoyQHk5Io7+EC2UghvqT8lMqMxOKM+KLSnNTiQ4wyHBxKErzJK4FygkWp6akVaZk5
 wLCESUtw8CiJ8BqApHmLCxJzizPTIVKnGBWlxHklQRICIImM0jy4NlgsXGKUlRLmZWRgYBDiK
 Ugtys0sQZV/xSjOwagkzOsKMoUnM68EbvoroMVMQIubH0iDLC5JREhJNTDKav5fbTRXb+2bWd
 cENm/Y2FRz/rpGzzrXfknJuSszjKTOvlq/J215tylXqOdC61X7mS4o8zzvDZJwnBvxve3q5QK
 B+XGB0k/XB7/PCHLuiV8qczX0vLh9jc2hOsfF72wb4mrrn2vsvdn3dRHH1fozYg/OeT/0n9Cd
 331lssR1daaZGQsP5f1WYinOSDTUYi4qTgQAVyx8TYACAAA=
X-Env-Sender: prvs=304abdc7e=Paul.Durrant@citrix.com
X-Msg-Ref: server-15.tower-31.messagelabs.com!1495116359!97117874!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 43880 invoked from network); 18 May 2017 14:06:00 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
 by server-15.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
 18 May 2017 14:06:00 -0000
X-IronPort-AV: E=Sophos;i="5.38,359,1491264000"; d="scan'208";a="424385950"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Thu, 18 May 2017 15:04:07 +0100
Message-ID: <1495116247-303-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] Remove VS2012 and VS2013 build scripts
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/cgi-bin/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/cgi-bin/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>

VGhpcyBwYXRjaCByZW1vdmVzIHRoZSBzY3JpcHRzIGZvciBidWlsZGluZyB1bmRlciBWUzIwMTMg
YW5kIFZTMjAxMyBhbmQKYWxzbyBmaXhlcyB0aGUgcGFja2FnZSBkZXN0aW5hdGlvbiB3aGVuIGJ1
aWxkaW5nIHVzaW5nIFZTMjAxNS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5k
dXJyYW50QGNpdHJpeC5jb20+Ci0tLQogQlVJTEQubWQgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgMzYgKystLS0tCiBidWlsZC5weSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAyNyArKysrKwogdnMyMDEyL2NvbmZpZ3MucHJvcHMgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgNTMgLS0tLS0tLS0tCiB2czIwMTIvcGFja2FnZS9w
YWNrYWdlLnZjeHByb2ogICAgICAgICAgICAgICAgICB8ICA1OSAtLS0tLS0tLS0tCiB2czIwMTIv
cGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNlciAgICAgICAgICAgICB8ICAgOCAtLQogdnMyMDEy
L3RhcmdldHMucHJvcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNTEgLS0tLS0tLS0t
CiB2czIwMTIveGVubmV0LnNsbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE0NCAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHZzMjAxMi94ZW5uZXQveGVubmV0LnZjeHByb2ogICAg
ICAgICAgICAgICAgICAgIHwgIDkwIC0tLS0tLS0tLS0tLS0tLQogdnMyMDEyL3hlbm5ldC94ZW5u
ZXQudmN4cHJvai51c2VyICAgICAgICAgICAgICAgfCAgIDggLS0KIHZzMjAxMi94ZW5uZXRfY29p
bnN0L3hlbm5ldF9jb2luc3QudmN4cHJvaiAgICAgIHwgIDcyIC0tLS0tLS0tLS0tLQogdnMyMDEy
L3hlbm5ldF9jb2luc3QveGVubmV0X2NvaW5zdC52Y3hwcm9qLnVzZXIgfCAgIDggLS0KIHZzMjAx
My9jb25maWdzLnByb3BzICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUzIC0tLS0tLS0t
LQogdnMyMDEzL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qICAgICAgICAgICAgICAgICAgfCAgOTEg
LS0tLS0tLS0tLS0tLS0tCiB2czIwMTMvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNlciAgICAg
ICAgICAgICB8ICAgOCAtLQogdnMyMDEzL3RhcmdldHMucHJvcHMgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgNTEgLS0tLS0tLS0tCiB2czIwMTMveGVubmV0LnNsbiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8IDEzOSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogdnMyMDEzL3hl
bm5ldC94ZW5uZXQudmN4cHJvaiAgICAgICAgICAgICAgICAgICAgfCAgODggLS0tLS0tLS0tLS0t
LS0tCiB2czIwMTMveGVubmV0L3hlbm5ldC52Y3hwcm9qLnVzZXIgICAgICAgICAgICAgICB8ICAg
OCAtLQogdnMyMDEzL3hlbm5ldF9jb2luc3QveGVubmV0X2NvaW5zdC52Y3hwcm9qICAgICAgfCAx
MDMgLS0tLS0tLS0tLS0tLS0tLS0KIHZzMjAxMy94ZW5uZXRfY29pbnN0L3hlbm5ldF9jb2luc3Qu
dmN4cHJvai51c2VyIHwgICA4IC0tCiB2czIwMTUvcGFja2FnZS9wYWNrYWdlLnZjeHByb2ogICAg
ICAgICAgICAgICAgICB8ICAgMiArLQogMjEgZmlsZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygr
KSwgMTA2OCBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTIvY29uZmlncy5w
cm9wcwogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMi9wYWNrYWdlL3BhY2thZ2UudmN4cHJvagog
ZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMi9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2VyCiBk
ZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEyL3RhcmdldHMucHJvcHMKIGRlbGV0ZSBtb2RlIDEwMDY0
NCB2czIwMTIveGVubmV0LnNsbgogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMi94ZW5uZXQveGVu
bmV0LnZjeHByb2oKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTIveGVubmV0L3hlbm5ldC52Y3hw
cm9qLnVzZXIKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTIveGVubmV0X2NvaW5zdC94ZW5uZXRf
Y29pbnN0LnZjeHByb2oKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTIveGVubmV0X2NvaW5zdC94
ZW5uZXRfY29pbnN0LnZjeHByb2oudXNlcgogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMy9jb25m
aWdzLnByb3BzCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEzL3BhY2thZ2UvcGFja2FnZS52Y3hw
cm9qCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEzL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qLnVz
ZXIKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTMvdGFyZ2V0cy5wcm9wcwogZGVsZXRlIG1vZGUg
MTAwNjQ0IHZzMjAxMy94ZW5uZXQuc2xuCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEzL3hlbm5l
dC94ZW5uZXQudmN4cHJvagogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMy94ZW5uZXQveGVubmV0
LnZjeHByb2oudXNlcgogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMy94ZW5uZXRfY29pbnN0L3hl
bm5ldF9jb2luc3QudmN4cHJvagogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMy94ZW5uZXRfY29p
bnN0L3hlbm5ldF9jb2luc3QudmN4cHJvai51c2VyCgpkaWZmIC0tZ2l0IGEvQlVJTEQubWQgYi9C
VUlMRC5tZAppbmRleCA2MTUyNjFhLi45ZTY0OWRjIDEwMDY0NAotLS0gYS9CVUlMRC5tZAorKysg
Yi9CVUlMRC5tZApAQCAtMSw0MSArMSwyNyBAQAogQnVpbGRpbmcgdGhlIFhlbk5ldCBQYWNrYWdl
CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotRmlyc3QgeW91J2xsIG5lZWQgYSBkZXZp
Y2UgZHJpdmVyIGJ1aWxkIGVudmlyb25tZW50IGZvciBXaW5kb3dzIDgsIFdpbmRvd3MKLTguMSwg
b3IgV2luZG93cyAxMC4KLUZvciBXaW5kb3dzIDggdGhpcyBtZWFuczoKLQotKiAgIFZpc3VhbCBT
dHVkaW8gMjAxMiAoUHJvZmVzc2lvbmFsIG9yIFVsdGltYXRlKQotKiAgIFdpbmRvd3MgRHJpdmVy
IEtpdCA4Ci0KLUZvciBXaW5kb3dzIDguMSB0aGlzIG1lYW5zOgotCi0qICAgVmlzdWFsIFN0dWRp
byAyMDEzIChBbnkgU0tVLCBpbmNsdWRpbmcgRXhwcmVzcykKLSogICBXaW5kb3dzIERyaXZlciBL
aXQgOC4xCi0KLUZvciBXaW5kb3dzIDEwIHRoaXMgbWVhbnM6CitGaXJzdCB5b3UnbGwgbmVlZCBh
IGRldmljZSBkcml2ZXIgYnVpbGQgZW52aXJvbm1lbnQgZm9yIFdpbmRvd3MgMTAuCitUaGlzIG1l
YW5zOgogCiAqICAgVmlzdWFsIFN0dWRpbyAyMDE1IChBbnkgU0tVLCBpbmNsdWRpbmcgRXhwcmVz
cyBvciBDb21tdW5pdHkpCiAqICAgV2luZG93cyBEcml2ZXIgS2l0IDEwCiAKLShTZWUgaHR0cDov
L21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy93aW5kb3dzL2hhcmR3YXJlL2hoODUyMzY1LmFzcHgp
LiBZb3UKLW1heSBmaW5kIGl0IHVzZWZ1bCB0byBpbnN0YWxsIFZpcnR1YWxDbG9uZURyaXZlIGZy
b20gaHR0cDovL3d3dy5zbHlzb2Z0LmNvbQotYXMgVmlzdWFsIFN0dWRpbyBpcyBnZW5lcmFsbHkg
c3VwcGxpZWQgaW4gSVNPIGZvcm0uCi0KIEluc3RhbGwgVmlzdWFsIFN0dWRpbyBmaXJzdCAoeW91
IG9ubHkgbmVlZCBpbnN0YWxsIE1GQyBmb3IgQysrKSBhbmQgdGhlbgogdGhlIFdESy4gU2V0IGFu
IGVudmlyb25tZW50IHZhcmlhYmxlIGNhbGxlZCBWUyB0byB0aGUgYmFzZSBvZiB0aGUgVmlzdWFs
Ci1TdHVkaW8gSW5zdGFsbGF0aW9uIChlLmcuIEM6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0IFZp
c3VhbCBTdHVkaW8gMTIuMCkgYW5kCitTdHVkaW8gSW5zdGFsbGF0aW9uIChlLmcuIEM6XFByb2dy
YW0gRmlsZXNcTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMTQuMCkgYW5kCiBhIHZhcmlhYmxlIGNh
bGxlZCBLSVQgdG8gdGhlIGJhc2Ugb2YgdGhlIFdESwotKGUuZy4gQzpcUHJvZ3JhbSBGaWxlc1xX
aW5kb3dzIEtpdHNcOC4xKS4gQWxzbyBzZXQgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUKKyhlLmcu
IEM6XFByb2dyYW0gRmlsZXNcV2luZG93cyBLaXRzXDEwKS4gQWxzbyBzZXQgYW4gZW52aXJvbm1l
bnQgdmFyaWFibGUKIGNhbGxlZCBTWU1CT0xcX1NFUlZFUiB0byBwb2ludCBhdCBhIGxvY2F0aW9u
IHdoZXJlIGRyaXZlciBzeW1ib2xzIGNhbiBiZQogc3RvcmVkLiBUaGlzIGNhbiBiZSBsb2NhbCBk
aXJlY3RvcnkgZS5nLiBDOlxTeW1ib2xzLgogCi1OT1RFOiBJZiB5b3UgYXJlIHVzaW5nIFdESyAx
MCB0aGVuIHlvdSB3aWxsIG5lZWQgdG8gYWNxdWlyZSB0aGUgRElGeAotICAgICAgcmUtZGlzdHJp
YnV0YWJsZSBwYWNrYWdlIGZyb20gb25lIG9mIHRoZSBvdGhlciBXREtzLCBzbyB0aGF0IHRoZQot
ICAgICAgZHJpdmVyIGJ1aWxkIGNhbiBjb3B5IGRwaW5zdC5leGUgaW50byB0aGUgb3V0cHV0Lgot
ICAgICAgU2V0IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBEUElOU1RfUkVESVNUIHRvIHRoZSBi
YXNlIGRwaW5zdAotICAgICAgZGlyZWN0b3J5IChpLmUuIHRoZSBkaXJlY3RvcnkgdW5kZXIgd2hp
Y2ggdGhlIHg4NiBhbmQgeDY0IHN1Yi0KLSAgICAgIGRpcmVjdG9yaWVzIGNvbnRhaW5pbmcgZHBp
bnN0LmV4ZSBjYW4gYmUgZm91bmQpLgorWW91IHdpbGwgYWxzbyBuZWVkIHRvIGFjcXVpcmUgdGhl
IERJRnggcmUtZGlzdHJpYnV0YWJsZSBwYWNrYWdlIGZyb20gb25lCitvZiB0aGUgb2xkZXIgV0RL
cyAoYXMgaXQgYXBwZWFycyBub3QgdG8gYmUgcHJlc2VudCBpbiBXREsxMCksIHNvIHRoYXQgdGhl
Citkcml2ZXIgYnVpbGQgY2FuIGNvcHkgZHBpbnN0LmV4ZSBpbnRvIHRoZSBvdXRwdXQuCitTZXQg
dGhlIGVudmlyb25tZW50IHZhcmlhYmxlIERQSU5TVF9SRURJU1QgdG8gdGhlIGJhc2UgZHBpbnN0
IGRpcmVjdG9yeQorLSB0aGUgZGlyZWN0b3J5IHVuZGVyIHdoaWNoIHRoZSB4ODYgYW5kIHg2NCBz
dWItZGlyZWN0b3JpZXMgY29udGFpbmluZworZHBpbnN0LmV4ZSBjYW4gYmUgZm91bmQKKyhlLmcu
IEM6XFByb2dyYW0gRmlsZXMgKHg4NilcV2luZG93cyBLaXRzXDguMVxSZWRpc3RcRElGeFxkcGlu
c3RcRW5nTXVpKQogCiBOZXh0IHlvdSdsbCBuZWVkIGEgMy54IHZlcnNpb24gb2YgcHl0aG9uICh3
aGljaCB5b3UgY2FuIGdldCBmcm9tCiBodHRwOi8vd3d3LnB5dGhvbi5vcmcpLiBNYWtlIHN1cmUg
cHl0aG9uLmV4ZSBpcyBzb21ld2hlcmUgb24geW91ciBkZWZhdWx0CmRpZmYgLS1naXQgYS9idWls
ZC5weSBiL2J1aWxkLnB5CmluZGV4IGI0NWI1YmUuLmJkOGQwY2QgMTAwNzU1Ci0tLSBhL2J1aWxk
LnB5CisrKyBiL2J1aWxkLnB5CkBAIC0yMDUsNiArMjA1LDI4IEBAIGRlZiBidWlsZF9zbG4obmFt
ZSwgcmVsZWFzZSwgYXJjaCwgZGVidWcsIHZzKToKIAogICAgIG1zYnVpbGQocGxhdGZvcm0sIGNv
bmZpZ3VyYXRpb24sICdCdWlsZCcsIG5hbWUgKyAnLnNsbicsICcnLCB2cykKIAorZGVmIGNvcHlf
cGFja2FnZShuYW1lLCByZWxlYXNlLCBhcmNoLCBkZWJ1ZywgdnMpOgorICAgIGNvbmZpZ3VyYXRp
b24gPSBnZXRfY29uZmlndXJhdGlvbihyZWxlYXNlLCBkZWJ1ZykKKworICAgIGlmIGFyY2ggPT0g
J3g4Nic6CisgICAgICAgIHBsYXRmb3JtID0gJ1dpbjMyJworICAgIGVsaWYgYXJjaCA9PSAneDY0
JzoKKyAgICAgICAgcGxhdGZvcm0gPSAneDY0JworCisgICAgcGF0dGVybiA9ICcvJy5qb2luKFt2
cywgJycuam9pbihjb25maWd1cmF0aW9uLnNwbGl0KCcgJykpLCBwbGF0Zm9ybSwgJ3BhY2thZ2Un
LCAnKiddKQorICAgIHByaW50KCdDb3B5aW5nIHBhY2thZ2UgZnJvbSAlcycgJSBwYXR0ZXJuKQor
CisgICAgZmlsZXMgPSBnbG9iLmdsb2IocGF0dGVybikKKworICAgIGRzdCA9IG9zLnBhdGguam9p
bihuYW1lLCBhcmNoKQorCisgICAgb3MubWFrZWRpcnMoZHN0LCBleGlzdF9vaz1UcnVlKQorCisg
ICAgZm9yIGZpbGUgaW4gZmlsZXM6CisgICAgICAgIG5ldyA9IHNodXRpbC5jb3B5KGZpbGUsIGRz
dCkKKyAgICAgICAgcHJpbnQobmV3KQorCisgICAgcHJpbnQoJycpCiAKIGRlZiByZW1vdmVfdGlt
ZXN0YW1wcyhwYXRoKToKICAgICB0cnk6CkBAIC00MDEsOCArNDIzLDEzIEBAIGlmIF9fbmFtZV9f
ID09ICdfX21haW5fXyc6CiAgICAgICAgICAgICAgICAgJ3ZzMjAxMyc6J1dpbmRvd3MgNycsCiAg
ICAgICAgICAgICAgICAgJ3ZzMjAxNSc6J1dpbmRvd3MgOCcgfQogCisgICAgc2h1dGlsLnJtdHJl
ZShkcml2ZXIsIGlnbm9yZV9lcnJvcnM9VHJ1ZSkKKwogICAgIGJ1aWxkX3Nsbihkcml2ZXIsIHJl
bGVhc2VbdnNdLCAneDg2JywgZGVidWdbc3lzLmFyZ3ZbMV1dLCB2cykKKyAgICBjb3B5X3BhY2th
Z2UoZHJpdmVyLCByZWxlYXNlW3ZzXSwgJ3g4NicsIGRlYnVnW3N5cy5hcmd2WzFdXSwgdnMpCisK
ICAgICBidWlsZF9zbG4oZHJpdmVyLCByZWxlYXNlW3ZzXSwgJ3g2NCcsIGRlYnVnW3N5cy5hcmd2
WzFdXSwgdnMpCisgICAgY29weV9wYWNrYWdlKGRyaXZlciwgcmVsZWFzZVt2c10sICd4NjQnLCBk
ZWJ1Z1tzeXMuYXJndlsxXV0sIHZzKQogCiAgICAgc3ltc3RvcmVfYWRkKGRyaXZlciwgcmVsZWFz
ZVt2c10sICd4ODYnLCBkZWJ1Z1tzeXMuYXJndlsxXV0sIHZzKQogICAgIHN5bXN0b3JlX2FkZChk
cml2ZXIsIHJlbGVhc2VbdnNdLCAneDY0JywgZGVidWdbc3lzLmFyZ3ZbMV1dLCB2cykKZGlmZiAt
LWdpdCBhL3ZzMjAxMi9jb25maWdzLnByb3BzIGIvdnMyMDEyL2NvbmZpZ3MucHJvcHMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1NjdiY2YuLjAwMDAwMDAKLS0tIGEvdnMyMDEyL2Nv
bmZpZ3MucHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi08P3htbCB2ZXJzaW9u
PSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxk
IiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20v
ZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+IAotCTxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25m
aWd1cmF0aW9ucyI+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA4
IERlYnVnfFdpbjMyIj4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDggRGVidWc8L0NvbmZp
Z3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENv
bmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA3
IERlYnVnfFdpbjMyIj4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDcgRGVidWc8L0NvbmZp
Z3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENv
bmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyBW
aXN0YSBEZWJ1Z3xXaW4zMiI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyBWaXN0YSBEZWJ1
ZzwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPiAKLQkJPC9Q
cm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJX
aW5kb3dzIDggUmVsZWFzZXxXaW4zMiI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA4IFJl
bGVhc2U8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4gCi0J
CTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVk
ZT0iV2luZG93cyA3IFJlbGVhc2V8V2luMzIiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3Mg
NyBSZWxlYXNlPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+
IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIElu
Y2x1ZGU9IldpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMiI+IAotCQkJPENvbmZpZ3VyYXRpb24+
V2luZG93cyBWaXN0YSBSZWxlYXNlPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT5XaW4z
MjwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25m
aWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgOCBEZWJ1Z3x4NjQiPiAKLQkJCTxDb25maWd1cmF0
aW9uPldpbmRvd3M4IERlYnVnPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1Bs
YXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJh
dGlvbiBJbmNsdWRlPSJXaW5kb3dzIDcgRGVidWd8eDY0Ij4gCi0JCQk8Q29uZmlndXJhdGlvbj5X
aW5kb3dzIDcgRGVidWc8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZv
cm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9u
IEluY2x1ZGU9IldpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ij4gCi0JCQk8Q29uZmlndXJhdGlvbj5X
aW5kb3dzIFZpc3RhIERlYnVnPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1Bs
YXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJh
dGlvbiBJbmNsdWRlPSJXaW5kb3dzIDggUmVsZWFzZXx4NjQiPiAKLQkJCTxDb25maWd1cmF0aW9u
PldpbmRvd3MgOCBSZWxlYXNlPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1Bs
YXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJh
dGlvbiBJbmNsdWRlPSJXaW5kb3dzIDcgUmVsZWFzZXx4NjQiPiAKLQkJCTxDb25maWd1cmF0aW9u
PldpbmRvd3MgNyBSZWxlYXNlPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1Bs
YXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJh
dGlvbiBJbmNsdWRlPSJXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ij4gCi0JCQk8Q29uZmlndXJh
dGlvbj5XaW5kb3dzIFZpc3RhIFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3Jt
Png2NDwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQk8L0l0ZW1Hcm91
cD4gCi08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
dnMyMDEyL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qIGIvdnMyMDEyL3BhY2thZ2UvcGFja2FnZS52
Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMTQ2OGM2Li4wMDAwMDAwCi0t
LSBhL3ZzMjAxMi9wYWNrYWdlL3BhY2thZ2UudmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDU5
ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVj
dCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDov
L3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLQk8SW1wb3J0
IFByb2plY3Q9Ii4uXGNvbmZpZ3MucHJvcHMiIC8+Ci0KLQk8UHJvcGVydHlHcm91cCBMYWJlbD0i
UHJvcGVydHlTaGVldHMiPgotCQk8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJp
dmVyOC4wPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0JCTxDb25maWd1cmF0aW9uVHlwZT5VdGlsaXR5PC9D
b25maWd1cmF0aW9uVHlwZT4KLQkJPERyaXZlclR5cGU+UGFja2FnZTwvRHJpdmVyVHlwZT4KLQkJ
PERpc2FibGVGYXN0VXBUb0RhdGVDaGVjaz50cnVlPC9EaXNhYmxlRmFzdFVwVG9EYXRlQ2hlY2s+
Ci0JPC9Qcm9wZXJ0eUdyb3VwPgotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLQkJ
PENvbmZpZ3VyYXRpb24+V2luZG93cyBWaXN0YSBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4KLQkJPFBs
YXRmb3JtIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAnJyI+V2luMzI8L1BsYXRmb3JtPiAK
LQkJPERlYnVnZ2VyRmxhdm9yPkRiZ2VuZ0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4g
Ci0JPC9Qcm9wZXJ0eUdyb3VwPgotCQotCTxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRo
KVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0JCi0JPFByb3BlcnR5R3JvdXAgTGFi
ZWw9Ikdsb2JhbHMiPgotCQk8UHJvamVjdEd1aWQ+ezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1
MTAyNjI0MkMwNX08L1Byb2plY3RHdWlkPgotCTwvUHJvcGVydHlHcm91cD4KLQkKLQk8SW1wb3J0
IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+Ci0JPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFy
Z2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+IAotCi0JPFByb3BlcnR5R3JvdXA+Ci0J
CTxFbmFibGVJbmYyY2F0PnRydWU8L0VuYWJsZUluZjJjYXQ+Ci0JCTxJbmYyQ2F0V2luZG93c1Zl
cnNpb25MaXN0IENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPlZpc3RhX3g2NDs3X3g2
NDtTZXJ2ZXIyMDA4X3g2NDtTZXJ2ZXIyMDA4UjJfeDY0O1NlcnZlcjhfeDY0PC9JbmYyQ2F0V2lu
ZG93c1ZlcnNpb25MaXN0PgotCQk8SW5mMkNhdFdpbmRvd3NWZXJzaW9uTGlzdCBDb25kaXRpb249
IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPlZpc3RhX3g4Njs3X3g4NjtTZXJ2ZXIyMDA4X3g4Njs4
X3g4NjwvSW5mMkNhdFdpbmRvd3NWZXJzaW9uTGlzdD4KLQkJPERlYnVnZ2VyRmxhdm9yPkRiZ2Vu
Z0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4KLQkJPEVuYWJsZURlcGxveW1lbnQ+RmFs
c2U8L0VuYWJsZURlcGxveW1lbnQ+Ci0JCTxJbXBvcnRUb1N0b3JlPkZhbHNlPC9JbXBvcnRUb1N0
b3JlPgotCQk8SW5zdGFsbE1vZGU+Tm9uZTwvSW5zdGFsbE1vZGU+Ci0JCTxTY3JpcHREZXZpY2VR
dWVyeT4lUGF0aFRvSW5mJTwvU2NyaXB0RGV2aWNlUXVlcnk+Ci0JCTxFbmFibGVWZXJpZmllcj5G
YWxzZTwvRW5hYmxlVmVyaWZpZXI+Ci0JCTxBbGxEcml2ZXJzPkZhbHNlPC9BbGxEcml2ZXJzPgot
CQk8VmVyaWZ5UHJvamVjdE91dHB1dD5UcnVlPC9WZXJpZnlQcm9qZWN0T3V0cHV0PgotCQk8VmVy
aWZ5RmxhZ3M+MTMzNTYzPC9WZXJpZnlGbGFncz4KLQkJPEludERpcj4uLlwkKFByb2plY3ROYW1l
KVwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L0ludERpcj4KLQkJPE91dERpcj4u
LlwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L091dERpcj4KLQkJPFBhY2thZ2VE
aXI+Li5cLi5ceGVubmV0XCQoRERLUGxhdGZvcm0pPC9QYWNrYWdlRGlyPgotCTwvUHJvcGVydHlH
cm91cD4KLQotCTxJdGVtR3JvdXA+Ci0JCTxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Ii4uXHhl
bm5ldFx4ZW5uZXQudmN4cHJvaiI+Ci0JCQk8UHJvamVjdD57OTdEOTk0MkItNUVBMy00ODhDLUI1
MTItQzk2RTVEMDc3RjhFfTwvUHJvamVjdD4KLQkJPC9Qcm9qZWN0UmVmZXJlbmNlPgotCQk8UHJv
amVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlx4ZW5uZXRfY29pbnN0XHhlbm5ldF9jb2luc3QudmN4
cHJvaiI+Ci0JCQk8UHJvamVjdD57M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBC
fTwvUHJvamVjdD4KLQkJPC9Qcm9qZWN0UmVmZXJlbmNlPgotCTwvSXRlbUdyb3VwPgotCTxJdGVt
R3JvdXA+Ci0JCTxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKEtJVClcUmVkaXN0XERJRnhcZHBp
bnN0XEVuZ011aVx4ODZcZHBpbnN0LmV4ZSIgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2lu
MzInIiAvPgotCQk8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChLSVQpXFJlZGlzdFxESUZ4XGRw
aW5zdFxFbmdNdWlceDY0XGRwaW5zdC5leGUiIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2
NCciIC8+Ci0JPC9JdGVtR3JvdXA+Ci0JPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgp
XE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KLQk8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lv
blRhcmdldHMiPgotCTwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdnMyMDEyL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qLnVz
ZXIgYi92czIwMTIvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNlcgpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYTU0MzNlOS4uMDAwMDAwMAotLS0gYS92czIwMTIvcGFja2FnZS9wYWNr
YWdlLnZjeHByb2oudXNlcgorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVy
c2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4w
IiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8y
MDAzIj4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9k
ZT4KLSAgICA8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW5uZXQucGZ4PC9UZXN0Q2VydGlm
aWNhdGU+Ci0gICAgPFRpbWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNv
bS9zY3JpcHRzL3RpbXN0YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgotICA8L1Byb3BlcnR5R3Jv
dXA+Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTIvdGFyZ2V0cy5wcm9wcyBiL3ZzMjAx
Mi90YXJnZXRzLnByb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOGFiYTkyLi4w
MDAwMDAwCi0tLSBhL3ZzMjAxMi90YXJnZXRzLnByb3BzCisrKyAvZGV2L251bGwKQEAgLTEsNTEg
KzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0
IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8v
c2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotCTxQcm9wZXJ0
eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBEZWJ1Z3xXaW4zMiciPiAKLQkJPFRhcmdldFZlcnNp
b24+V2luZG93czg8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwv
VXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAg
TGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nV2luZG93cyA4IFJlbGVhc2V8V2luMzInIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldp
bmRvd3M4PC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VE
ZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJl
bD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdXaW5kb3dzIDggRGVidWd8eDY0JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwv
VGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJh
cmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmln
dXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5k
b3dzIDggUmVsZWFzZXx4NjQnIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRW
ZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4g
Ci0JPC9Qcm9wZXJ0eUdyb3VwPgotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9u
IiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBE
ZWJ1Z3xXaW4zMiciPiAKLQkJPFRhcmdldFZlcnNpb24+V2luZG93czc8L1RhcmdldFZlcnNpb24+
IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJv
cGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IFJlbGVhc2V8
V2luMzInIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M3PC9UYXJnZXRWZXJzaW9uPiAKLQkJ
PFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0
eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgRGVidWd8eDY0JyI+
IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzNzwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1
Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAK
LQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgUmVsZWFzZXx4NjQnIj4gCi0JCTxU
YXJnZXRWZXJzaW9uPldpbmRvd3M3PC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFy
aWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPgotCTxQcm9w
ZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgRGVidWd8V2luMzInIj4gCi0JCTxUYXJn
ZXRWZXJzaW9uPlZpc3RhPC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPnRy
dWU8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdy
b3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMiciPiAKLQkJPFRhcmdldFZl
cnNpb24+VmlzdGE8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8
L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3Vw
IExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgRGVidWd8eDY0JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5W
aXN0YTwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1
Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0i
Q29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5WaXN0YTwv
VGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJy
YXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4KLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAx
Mi94ZW5uZXQuc2xuIGIvdnMyMDEyL3hlbm5ldC5zbG4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDcxMTczNzAuLjAwMDAwMDAKLS0tIGEvdnMyMDEyL3hlbm5ldC5zbG4KKysrIC9kZXYv
bnVsbApAQCAtMSwxNDQgKzAsMCBAQAotTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24g
RmlsZSwgRm9ybWF0IFZlcnNpb24gMTIuMDAKLSMgVmlzdWFsIFN0dWRpbyAxMQotUHJvamVjdCgi
ezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4ZW5uZXQiLCAieGVu
bmV0XHhlbm5ldC52Y3hwcm9qIiwgIns5N0Q5OTQyQi01RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdG
OEV9IgotRW5kUHJvamVjdAotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBD
OTFCQzk0Mn0iKSA9ICJ4ZW5uZXRfY29pbnN0IiwgInhlbm5ldF9jb2luc3RceGVubmV0X2NvaW5z
dC52Y3hwcm9qIiwgInszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9IgotCVBy
b2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QKLSAgICAgICAg
ezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0gPSB7OTdEOTk0MkItNUVBMy00
ODhDLUI1MTItQzk2RTVEMDc3RjhFfQotCUVuZFByb2plY3RTZWN0aW9uCi1FbmRQcm9qZWN0Ci1Q
cm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInBhY2th
Z2UiLCAicGFja2FnZVxwYWNrYWdlLnZjeHByb2oiLCAiezQ0NUZEMThGLTk3RTMtNEU1RC04MjVG
LTE1MTAyNjI0MkMwNX0iCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBw
b3N0UHJvamVjdAotCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfSA9IHsz
RUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9Ci0gICAgICAgIHs5N0Q5OTQyQi01
RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9ID0gezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5
NkU1RDA3N0Y4RX0KLQlFbmRQcm9qZWN0U2VjdGlvbgotRW5kUHJvamVjdAotR2xvYmFsCi0JR2xv
YmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29sdXRpb24K
LQkJV2luZG93cyA3IERlYnVnfFdpbjMyID0gV2luZG93cyA3IERlYnVnfFdpbjMyCi0JCVdpbmRv
d3MgNyBEZWJ1Z3x4NjQgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCVdpbmRvd3MgNyBSZWxlYXNl
fFdpbjMyID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJV2luZG93cyA3IFJlbGVhc2V8eDY0
ID0gV2luZG93cyA3IFJlbGVhc2V8eDY0Ci0JCVdpbmRvd3MgOCBEZWJ1Z3xXaW4zMiA9IFdpbmRv
d3MgOCBEZWJ1Z3xXaW4zMgotCQlXaW5kb3dzIDggRGVidWd8eDY0ID0gV2luZG93cyA4IERlYnVn
fHg2NAotCQlXaW5kb3dzIDggUmVsZWFzZXxXaW4zMiA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMy
Ci0JCVdpbmRvd3MgOCBSZWxlYXNlfHg2NCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQlXaW5k
b3dzIFZpc3RhIERlYnVnfFdpbjMyID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQlXaW5k
b3dzIFZpc3RhIERlYnVnfHg2NCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCVdpbmRvd3Mg
VmlzdGEgUmVsZWFzZXxXaW4zMiA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQlXaW5k
b3dzIFZpc3RhIFJlbGVhc2V8eDY0ID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCUVuZEds
b2JhbFNlY3Rpb24KLQlHbG9iYWxTZWN0aW9uKFByb2plY3RDb25maWd1cmF0aW9uUGxhdGZvcm1z
KSA9IHBvc3RTb2x1dGlvbgotCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBC
fS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3IERlYnVnfFdpbjMy
Ci0JCXszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9LldpbmRvd3MgNyBEZWJ1
Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3IERlYnVnfFdpbjMyCi0JCXszRUREODM3QS1DMUJF
LTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9
IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEz
NTM2NzBCfS5XaW5kb3dzIDcgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3x4
NjQKLQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyA3IERl
YnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7M0VERDgzN0EtQzFCRS00
N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDcgRGVidWd8eDY0LkRlcGxveS4wID0gV2lu
ZG93cyA3IERlYnVnfHg2NAotCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBC
fS5XaW5kb3dzIDcgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXxX
aW4zMgotCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDcg
UmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezNFREQ4
MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIu
RGVwbG95LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7M0VERDgzN0EtQzFCRS00N0Q0
LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2lu
ZG93cyA3IFJlbGVhc2V8eDY0Ci0JCXszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3
MEJ9LldpbmRvd3MgNyBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8eDY0
Ci0JCXszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9LldpbmRvd3MgNyBSZWxl
YXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7M0VERDgzN0EtQzFC
RS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDggRGVidWd8V2luMzIuQWN0aXZlQ2Zn
ID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2
MTM1MzY3MEJ9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVn
fFdpbjMyCi0JCXszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9LldpbmRvd3Mg
OCBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7M0VERDgz
N0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2
ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2
QjYxMzUzNjcwQn0uV2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVn
fHg2NAotCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDgg
RGVidWd8eDY0LkRlcGxveS4wID0gV2luZG93cyA4IERlYnVnfHg2NAotCQl7M0VERDgzN0EtQzFC
RS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5BY3RpdmVD
ZmcgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMt
MTZCNjEzNTM2NzBCfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4
IFJlbGVhc2V8V2luMzIKLQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0u
V2luZG93cyA4IFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4z
MgotCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDggUmVs
ZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0JCXszRUREODM3QS1D
MUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWlsZC4w
ID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0JCXszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2
MTM1MzY3MEJ9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBSZWxl
YXNlfHg2NAotCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dz
IFZpc3RhIERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIK
LQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyBWaXN0YSBE
ZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7M0VERDgz
N0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMy
LkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7M0VERDgzN0EtQzFCRS00
N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5BY3RpdmVDZmcg
PSBXaW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZC
NjEzNTM2NzBCfS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyBWaXN0
YSBEZWJ1Z3x4NjQKLQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2lu
ZG93cyBWaXN0YSBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfHg2NAot
CQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIFZpc3RhIFJl
bGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXsz
RUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9LldpbmRvd3MgVmlzdGEgUmVsZWFz
ZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXszRUREODM3
QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4z
Mi5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7M0VERDgzN0EtQzFC
RS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0LkFjdGl2
ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezNFREQ4MzdBLUMxQkUtNDdENC05
NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2lu
ZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEz
NTM2NzBCfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0LkRlcGxveS4wID0gV2luZG93cyBWaXN0
YSBSZWxlYXNlfHg2NAotCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5X
aW5kb3dzIDcgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3IERlYnVnfFdpbjMyCi0J
CXs0NDVGRDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYyNDJDMDV9LldpbmRvd3MgNyBEZWJ1Z3xX
aW4zMi5CdWlsZC4wID0gV2luZG93cyA3IERlYnVnfFdpbjMyCi0JCXs0NDVGRDE4Ri05N0UzLTRF
NUQtODI1Ri0xNTEwMjYyNDJDMDV9LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdp
bmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQy
QzA1fS5XaW5kb3dzIDcgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQK
LQkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyA3IERlYnVn
fHg2NC5CdWlsZC4wID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7NDQ1RkQxOEYtOTdFMy00RTVE
LTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDcgRGVidWd8eDY0LkRlcGxveS4wID0gV2luZG93
cyA3IERlYnVnfHg2NAotCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5X
aW5kb3dzIDcgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4z
MgotCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDcgUmVs
ZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezQ0NUZEMThG
LTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuRGVw
bG95LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgy
NUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93
cyA3IFJlbGVhc2V8eDY0Ci0JCXs0NDVGRDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYyNDJDMDV9
LldpbmRvd3MgNyBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8eDY0Ci0J
CXs0NDVGRDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYyNDJDMDV9LldpbmRvd3MgNyBSZWxlYXNl
fHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7NDQ1RkQxOEYtOTdFMy00
RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDggRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0g
V2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXs0NDVGRDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYy
NDJDMDV9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdp
bjMyCi0JCXs0NDVGRDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYyNDJDMDV9LldpbmRvd3MgOCBE
ZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7NDQ1RkQxOEYt
OTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAy
NjI0MkMwNX0uV2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2
NAotCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDggRGVi
dWd8eDY0LkRlcGxveS4wID0gV2luZG93cyA4IERlYnVnfHg2NAotCQl7NDQ1RkQxOEYtOTdFMy00
RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcg
PSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUx
MDI2MjQyQzA1fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IFJl
bGVhc2V8V2luMzIKLQkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2lu
ZG93cyA4IFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgot
CQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDggUmVsZWFz
ZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0JCXs0NDVGRDE4Ri05N0Uz
LTRFNUQtODI1Ri0xNTEwMjYyNDJDMDV9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWlsZC4wID0g
V2luZG93cyA4IFJlbGVhc2V8eDY0Ci0JCXs0NDVGRDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYy
NDJDMDV9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBSZWxlYXNl
fHg2NAotCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIFZp
c3RhIERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJ
ezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyBWaXN0YSBEZWJ1
Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7NDQ1RkQxOEYt
OTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyLkRl
cGxveS4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7NDQ1RkQxOEYtOTdFMy00RTVE
LTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5BY3RpdmVDZmcgPSBX
aW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2
MjQyQzA1fS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBE
ZWJ1Z3x4NjQKLQkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93
cyBWaXN0YSBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQl7
NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIFZpc3RhIFJlbGVh
c2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXs0NDVG
RDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYyNDJDMDV9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXxX
aW4zMi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXs0NDVGRDE4Ri05
N0UzLTRFNUQtODI1Ri0xNTEwMjYyNDJDMDV9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMi5E
ZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7NDQ1RkQxOEYtOTdFMy00
RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0LkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVG
LTE1MTAyNjI0MkMwNX0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93
cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQy
QzA1fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0LkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBS
ZWxlYXNlfHg2NAotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5k
b3dzIDcgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3IERlYnVnfFdpbjMyCi0JCXs5
N0Q5OTQyQi01RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9LldpbmRvd3MgNyBEZWJ1Z3xXaW4z
Mi5CdWlsZC4wID0gV2luZG93cyA3IERlYnVnfFdpbjMyCi0JCXs5N0Q5OTQyQi01RUEzLTQ4OEMt
QjUxMi1DOTZFNUQwNzdGOEV9LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRv
d3MgNyBEZWJ1Z3xXaW4zMgotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhF
fS5XaW5kb3dzIDcgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJ
ezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93cyA3IERlYnVnfHg2
NC5CdWlsZC4wID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1
MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDcgRGVidWd8eDY0LkRlcGxveS4wID0gV2luZG93cyA3
IERlYnVnfHg2NAotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5k
b3dzIDcgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgot
CQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDcgUmVsZWFz
ZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezk3RDk5NDJCLTVF
QTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuRGVwbG95
LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTIt
Qzk2RTVEMDc3RjhFfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA3
IFJlbGVhc2V8eDY0Ci0JCXs5N0Q5OTQyQi01RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9Lldp
bmRvd3MgNyBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8eDY0Ci0JCXs5
N0Q5OTQyQi01RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9LldpbmRvd3MgNyBSZWxlYXNlfHg2
NC5EZXBsb3kuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7OTdEOTk0MkItNUVBMy00ODhD
LUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDggRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2lu
ZG93cyA4IERlYnVnfFdpbjMyCi0JCXs5N0Q5OTQyQi01RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdG
OEV9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdpbjMy
Ci0JCXs5N0Q5OTQyQi01RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9LldpbmRvd3MgOCBEZWJ1
Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7OTdEOTk0MkItNUVB
My00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNmZyA9
IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3
N0Y4RX0uV2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2NAot
CQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDggRGVidWd8
eDY0LkRlcGxveS4wID0gV2luZG93cyA4IERlYnVnfHg2NAotCQl7OTdEOTk0MkItNUVBMy00ODhD
LUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBX
aW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVE
MDc3RjhFfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVh
c2V8V2luMzIKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93
cyA4IFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7
OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDggUmVsZWFzZXx4
NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0JCXs5N0Q5OTQyQi01RUEzLTQ4
OEMtQjUxMi1DOTZFNUQwNzdGOEV9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2lu
ZG93cyA4IFJlbGVhc2V8eDY0Ci0JCXs5N0Q5OTQyQi01RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdG
OEV9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2
NAotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIFZpc3Rh
IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezk3
RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93cyBWaXN0YSBEZWJ1Z3xX
aW4zMi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7OTdEOTk0MkItNUVB
My00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyLkRlcGxv
eS4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1
MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5k
b3dzIFZpc3RhIERlYnVnfHg2NAotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3
RjhFfS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBEZWJ1
Z3x4NjQKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93cyBW
aXN0YSBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQl7OTdE
OTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8
V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXs5N0Q5OTQy
Qi01RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4z
Mi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXs5N0Q5OTQyQi01RUEz
LTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMi5EZXBs
b3kuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7OTdEOTk0MkItNUVBMy00ODhD
LUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9
IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5
NkU1RDA3N0Y4RX0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyBW
aXN0YSBSZWxlYXNlfHg2NAotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhF
fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0LkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBSZWxl
YXNlfHg2NAotCUVuZEdsb2JhbFNlY3Rpb24KLQlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVy
dGllcykgPSBwcmVTb2x1dGlvbgotCQlIaWRlU29sdXRpb25Ob2RlID0gRkFMU0UKLQlFbmRHbG9i
YWxTZWN0aW9uCi1FbmRHbG9iYWwKZGlmZiAtLWdpdCBhL3ZzMjAxMi94ZW5uZXQveGVubmV0LnZj
eHByb2ogYi92czIwMTIveGVubmV0L3hlbm5ldC52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBmMzgzZTg1Li4wMDAwMDAwCi0tLSBhL3ZzMjAxMi94ZW5uZXQveGVubmV0LnZj
eHByb2oKKysrIC9kZXYvbnVsbApAQCAtMSw5MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAi
IGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29s
c1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxv
cGVyL21zYnVpbGQvMjAwMyI+Ci0JPEltcG9ydCBQcm9qZWN0PSIuLlxjb25maWdzLnByb3BzIiAv
PgotCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLQkJPFBsYXRmb3Jt
VG9vbHNldD5XaW5kb3dzS2VybmVsTW9kZURyaXZlcjguMDwvUGxhdGZvcm1Ub29sc2V0PiAKLQkJ
PENvbmZpZ3VyYXRpb25UeXBlPkRyaXZlcjwvQ29uZmlndXJhdGlvblR5cGU+Ci0JCTxEcml2ZXJU
eXBlPldETTwvRHJpdmVyVHlwZT4KLQk8L1Byb3BlcnR5R3JvdXA+Ci0JPFByb3BlcnR5R3JvdXAg
TGFiZWw9Ikdsb2JhbHMiPgotCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVnPC9D
b25maWd1cmF0aW9uPgotCQk8UGxhdGZvcm0gQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICcn
Ij5XaW4zMjwvUGxhdGZvcm0+IAotCQk8RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVidWdn
ZXI8L0RlYnVnZ2VyRmxhdm9yPiAKLQk8L1Byb3BlcnR5R3JvdXA+Ci0JCi0JPEltcG9ydCBQcm9q
ZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLQkK
LQk8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0JCTxQcm9qZWN0R3VpZD57OTdEOTk0
MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfTwvUHJvamVjdEd1aWQ+Ci0JPC9Qcm9wZXJ0
eUdyb3VwPgotCQotCTxJbXBvcnQgUHJvamVjdD0iLi5cdGFyZ2V0cy5wcm9wcyIgLz4KLQk8SW1w
b3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4gCi0K
LQk8UHJvcGVydHlHcm91cD4KLQkgICAgICAgIDxJbmNsdWRlUGF0aD4uLlwuLlxpbmNsdWRlOy4u
XC4uXGluY2x1ZGVceGVuOyQoSW5jbHVkZVBhdGgpPC9JbmNsdWRlUGF0aD4KLQkJPFJ1bkNvZGVB
bmFseXNpcz50cnVlPC9SdW5Db2RlQW5hbHlzaXM+Ci0JCTxFbmFibGVJbmYyY2F0PmZhbHNlPC9F
bmFibGVJbmYyY2F0PgotCQk8SW50RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJhdGlv
bk5hbWUpXCQoUGxhdGZvcm0pXDwvSW50RGlyPgotCQk8T3V0RGlyPi4uXCQoQ29uZmlndXJhdGlv
bk5hbWUpXCQoUGxhdGZvcm0pXDwvT3V0RGlyPgotCTwvUHJvcGVydHlHcm91cD4KLQkKLSAgICA8
SXRlbURlZmluaXRpb25Hcm91cD4KLQkJPENsQ29tcGlsZT4KLQkJCTxQcmVwcm9jZXNzb3JEZWZp
bml0aW9ucz5fX01PRFVMRV9fPSJYRU5ORVQiO05ESVNfTUlOSVBPUlRfRFJJVkVSO05ESVNfV0RN
PTE7TkRJUzYxX01JTklQT1JUPTE7UE9PTF9OWF9PUFRJTj0xO05UX1BST0NFU1NPUl9HUk9VUFM7
JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotCQkJ
PFdhcm5pbmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgotCQkJPERpc2Fi
bGVTcGVjaWZpY1dhcm5pbmdzPjQ3MTE7NDU0ODs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7Mjgx
OTY7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgot
CQkJPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxh
dGlvbj4KLQkJCTxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+Ci0JCTwvQ2xDb21w
aWxlPgotCQk8TGluaz4KLQkJCTxJbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz5mYWxzZTwv
SW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+Ci0JCQk8QWRkaXRpb25hbERlcGVuZGVuY2ll
cz4kKERES19MSUJfUEFUSClcbmRpcy5saWI7JChEREtfTElCX1BBVEgpL2xpYmNudHByLmxpYjsk
KERES19MSUJfUEFUSCkvYXV4X2tsaWIubGliOyQoRERLX0xJQl9QQVRIKS9wcm9jZ3JwLmxpYjsl
KEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotCQkJPEVu
YWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNPTURBVEZvbGRpbmc+Ci0JCTwvTGluaz4K
LQkJPEluZj4KLQkJCTxTcGVjaWZ5QXJjaGl0ZWN0dXJlPnRydWU8L1NwZWNpZnlBcmNoaXRlY3R1
cmU+Ci0JCQk8U3BlY2lmeURyaXZlclZlckRpcmVjdGl2ZVZlcnNpb24+dHJ1ZTwvU3BlY2lmeURy
aXZlclZlckRpcmVjdGl2ZVZlcnNpb24+Ci0JCQk8VGltZVN0YW1wPiQoTUFKT1JfVkVSU0lPTiku
JChNSU5PUl9WRVJTSU9OKS4kKE1JQ1JPX1ZFUlNJT04pLiQoQlVJTERfTlVNQkVSKTwvVGltZVN0
YW1wPgotCQkJPEVuYWJsZVZlcmJvc2U+dHJ1ZTwvRW5hYmxlVmVyYm9zZT4KLQkJPC9JbmY+Ci0J
PC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotCTxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0i
JyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+Ci0JCTxDbENvbXBpbGU+Ci0JCQk8UHJlcHJvY2Vzc29y
RGVmaW5pdGlvbnM+X19pMzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nl
c3NvckRlZmluaXRpb25zPgotCQk8L0NsQ29tcGlsZT4KLQkJPEluZj4KLQkJCTxBcmNoaXRlY3R1
cmU+eDg2PC9BcmNoaXRlY3R1cmU+Ci0JCTwvSW5mPgotCTwvSXRlbURlZmluaXRpb25Hcm91cD4K
LQk8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIj4K
LQkJPENsQ29tcGlsZT4KLQkJCTxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX3g4Nl82NF9fOyUo
UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLQkJPC9D
bENvbXBpbGU+Ci0JCTxJbmY+Ci0JCQk8QXJjaGl0ZWN0dXJlPmFtZDY0PC9BcmNoaXRlY3R1cmU+
Ci0JCTwvSW5mPgotCTwvSXRlbURlZmluaXRpb25Hcm91cD4KLQotCTxJdGVtR3JvdXA+Ci0JCTxG
aWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKFRhcmdldFBhdGgpIiAvPgotCQk8RmlsZXNUb1BhY2th
Z2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5wZGIiIC8+Ci0JCTxGaWxlc1RvUGFj
a2FnZSBJbmNsdWRlPSJAKEluZi0+JyUoQ29weU91dHB1dCknKSIgQ29uZGl0aW9uPSInQChJbmYp
JyE9JyciIC8+Ci0JPC9JdGVtR3JvdXA+Ci0JPEl0ZW1Hcm91cD4KLQkJPENsQ29tcGlsZSBJbmNs
dWRlPSIuLi8uLi9zcmMveGVubmV0L2FkYXB0ZXIuYyIgLz4KLQkJPENsQ29tcGlsZSBJbmNsdWRl
PSIuLi8uLi9zcmMveGVubmV0L2RyaXZlci5jIiAvPgotCQk8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
Ly4uL3NyYy94ZW5uZXQvbWluaXBvcnQuYyIgLz4KLQkJPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8u
Li9zcmMveGVubmV0L3JlY2VpdmVyLmMiIC8+Ci0JCTxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4v
c3JjL3hlbm5ldC9zdHJpbmcuYyIgLz4KLQkJPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMv
eGVubmV0L3RyYW5zbWl0dGVyLmMiIC8+Ci0JPC9JdGVtR3JvdXA+Ci0JPEl0ZW1Hcm91cD4KLQkJ
PFJlc291cmNlQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVubmV0XHhlbm5ldC5yYyIgLz4K
LQk8L0l0ZW1Hcm91cD4KLQk8SXRlbUdyb3VwPgotCQk8SW5mIEluY2x1ZGU9Ii4uXHhlbm5ldC5p
bmYiIC8+Ci0JPC9JdGVtR3JvdXA+Ci0JPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgp
XE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAx
Mi94ZW5uZXQveGVubmV0LnZjeHByb2oudXNlciBiL3ZzMjAxMi94ZW5uZXQveGVubmV0LnZjeHBy
b2oudXNlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTU0MzNlOS4uMDAwMDAwMAot
LS0gYS92czIwMTIveGVubmV0L3hlbm5ldC52Y3hwcm9qLnVzZXIKKysrIC9kZXYvbnVsbApAQCAt
MSw4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJv
amVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j
b20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxTaWdu
TW9kZT5UZXN0U2lnbjwvU2lnbk1vZGU+Ci0gICAgPFRlc3RDZXJ0aWZpY2F0ZT4uLlwuLlxzcmNc
eGVubmV0LnBmeDwvVGVzdENlcnRpZmljYXRlPgotICAgIDxUaW1lU3RhbXBTZXJ2ZXI+aHR0cDov
L3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1RpbWVTdGFtcFNl
cnZlcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDEy
L3hlbm5ldF9jb2luc3QveGVubmV0X2NvaW5zdC52Y3hwcm9qIGIvdnMyMDEyL3hlbm5ldF9jb2lu
c3QveGVubmV0X2NvaW5zdC52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4
YWRiNTZkLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMi94ZW5uZXRfY29pbnN0L3hlbm5ldF9jb2luc3Qu
dmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDcyICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEu
MCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRv
b2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZl
bG9wZXIvbXNidWlsZC8yMDAzIj4KLQk8SW1wb3J0IFByb2plY3Q9Ii4uXGNvbmZpZ3MucHJvcHMi
IC8+Ci0KLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotCQk8UGxhdGZv
cm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjA8L1BsYXRmb3JtVG9vbHNl
dD4KLQkJPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlw
ZT4KLQkJPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJUeXBlPgotCTwvUHJvcGVydHlHcm91cD4KLQk8
UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0JCTxDb25maWd1cmF0aW9uPldpbmRvd3Mg
VmlzdGEgRGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0JCTxQbGF0Zm9ybSBDb25kaXRpb249IickKFBs
YXRmb3JtKScgPT0gJyciPldpbjMyPC9QbGF0Zm9ybT4gCi0JCTxEZWJ1Z2dlckZsYXZvcj5EYmdl
bmdLZXJuZWxEZWJ1Z2dlcjwvRGVidWdnZXJGbGF2b3I+IAotCTwvUHJvcGVydHlHcm91cD4KLQkK
LQk8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0
LnByb3BzIiAvPgotCQotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLQkJPFByb2pl
Y3RHdWlkPnszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9PC9Qcm9qZWN0R3Vp
ZD4KLQk8L1Byb3BlcnR5R3JvdXA+Ci0JCi0JPEltcG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRzLnBy
b3BzIiAvPgotCTxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3Bw
LnByb3BzIiAvPiAKLQotCTxQcm9wZXJ0eUdyb3VwPgotCQk8RGVidWdnZXJGbGF2b3I+RGJnZW5n
S2VybmVsRGVidWdnZXI8L0RlYnVnZ2VyRmxhdm9yPgotCQk8SW5jbHVkZVBhdGg+Li5cLi5caW5j
bHVkZTskKEluY2x1ZGVQYXRoKTwvSW5jbHVkZVBhdGg+Ci0JCTxSdW5Db2RlQW5hbHlzaXM+dHJ1
ZTwvUnVuQ29kZUFuYWx5c2lzPgotCQk8RW5hYmxlSW5mMmNhdD5mYWxzZTwvRW5hYmxlSW5mMmNh
dD4KLQkJPEludERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBs
YXRmb3JtKVw8L0ludERpcj4KLQkJPE91dERpcj4uLlwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBs
YXRmb3JtKVw8L091dERpcj4KLQk8L1Byb3BlcnR5R3JvdXA+Ci0JCi0JPEl0ZW1EZWZpbml0aW9u
R3JvdXA+Ci0JCTxDbENvbXBpbGU+Ci0JCQk8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RV
TEVfXz0iWEVOTkVUX0NPSU5TVCI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nl
c3NvckRlZmluaXRpb25zPgotCQkJPFdhcm5pbmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2Fy
bmluZ0xldmVsPgotCQkJPERpc2FibGVTcGVjaWZpY1dhcm5pbmdzPjQ1NDg7NDgyMDs0NjY4OzQy
NTU7NjAwMTs2MDU0OzI4MTk2OyUoRGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3Bl
Y2lmaWNXYXJuaW5ncz4KLQkJCTxNdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011bHRp
UHJvY2Vzc29yQ29tcGlsYXRpb24+Ci0JCQk8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFibGVQUkVm
YXN0PgotCQkJPFJ1bnRpbWVMaWJyYXJ5IENvbmRpdGlvbj0iJyQoVXNlRGVidWdMaWJyYXJpZXMp
Jz09J3RydWUnIj5NdWx0aVRocmVhZGVkRGVidWc8L1J1bnRpbWVMaWJyYXJ5PgotCQkJPFJ1bnRp
bWVMaWJyYXJ5IENvbmRpdGlvbj0iJyQoVXNlRGVidWdMaWJyYXJpZXMpJz09J2ZhbHNlJyI+TXVs
dGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+Ci0JCTwvQ2xDb21waWxlPgotCQk8TGluaz4KLQkJ
CTxNb2R1bGVEZWZpbml0aW9uRmlsZT4uLi8uLi9zcmMvY29pbnN0L3hlbm5ldF9jb2luc3QuZGVm
PC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KLQkJCTxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnNldHVw
YXBpLmxpYjtpcGhscGFwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25h
bERlcGVuZGVuY2llcz4KLQkJPC9MaW5rPgotCTwvSXRlbURlZmluaXRpb25Hcm91cD4KLQk8SXRl
bURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgotCQk8
Q2xDb21waWxlPgotCQkJPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9faTM4Nl9fOyUoUHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLQkJPC9DbENvbXBp
bGU+Ci0JPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotCTxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRp
dGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgotCQk8Q2xDb21waWxlPgotCQkJPFByZXByb2Nl
c3NvckRlZmluaXRpb25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1By
ZXByb2Nlc3NvckRlZmluaXRpb25zPgotCQk8L0NsQ29tcGlsZT4KLQk8L0l0ZW1EZWZpbml0aW9u
R3JvdXA+Ci0JCi0JPEl0ZW1Hcm91cD4KLQkJPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoVGFy
Z2V0UGF0aCkiIC8+Ci0JCTxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKE91dERpcikkKFRhcmdl
dE5hbWUpLnBkYiIgLz4KLQkJPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IkAoSW5mLT4nJShDb3B5
T3V0cHV0KScpIiBDb25kaXRpb249IidAKEluZiknIT0nJyIgLz4KLQk8L0l0ZW1Hcm91cD4KLQk8
SXRlbUdyb3VwPgotCQk8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1xjb2luc3RcY29pbnN0
LmMiIC8+Ci0JPC9JdGVtR3JvdXA+Ci0JPEl0ZW1Hcm91cD4KLQkJPE5vbmUgSW5jbHVkZT0iLi5c
Li5cc3JjXGNvaW5zdFx4ZW5uZXRfY29pbnN0LmRlZiIgLz4KLQk8L0l0ZW1Hcm91cD4KLQk8SW1w
b3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgot
PC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3ZzMjAx
Mi94ZW5uZXRfY29pbnN0L3hlbm5ldF9jb2luc3QudmN4cHJvai51c2VyIGIvdnMyMDEyL3hlbm5l
dF9jb2luc3QveGVubmV0X2NvaW5zdC52Y3hwcm9qLnVzZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGE1NDMzZTkuLjAwMDAwMDAKLS0tIGEvdnMyMDEyL3hlbm5ldF9jb2luc3QveGVu
bmV0X2NvaW5zdC52Y3hwcm9qLnVzZXIKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLTw/
eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBUb29sc1ZlcnNp
b249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21z
YnVpbGQvMjAwMyI+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxTaWduTW9kZT5UZXN0U2lnbjwv
U2lnbk1vZGU+Ci0gICAgPFRlc3RDZXJ0aWZpY2F0ZT4uLlwuLlxzcmNceGVubmV0LnBmeDwvVGVz
dENlcnRpZmljYXRlPgotICAgIDxUaW1lU3RhbXBTZXJ2ZXI+aHR0cDovL3RpbWVzdGFtcC52ZXJp
c2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1RpbWVTdGFtcFNlcnZlcj4KLSAgPC9Qcm9w
ZXJ0eUdyb3VwPgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDEzL2NvbmZpZ3MucHJvcHMg
Yi92czIwMTMvY29uZmlncy5wcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDM5
ODdmYi4uMDAwMDAwMAotLS0gYS92czIwMTMvY29uZmlncy5wcm9wcworKysgL2Rldi9udWxsCkBA
IC0xLDUzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08
UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0i
aHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4gCi0J
PEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4gCi0JCTxQcm9qZWN0Q29u
ZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDggRGVidWd8V2luMzIiPiAKLQkJCTxDb25maWd1
cmF0aW9uPldpbmRvd3MgOCBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+V2lu
MzI8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29u
ZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDcgRGVidWd8V2luMzIiPiAKLQkJCTxDb25maWd1
cmF0aW9uPldpbmRvd3MgNyBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+V2lu
MzI8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29u
ZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyIj4gCi0JCQk8Q29u
ZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVnPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0
Zm9ybT5XaW4zMjwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFBy
b2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyIj4gCi0J
CQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDggUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4gCi0JCQk8
UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0J
CTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMiI+
IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA3IFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+IAot
CQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+
IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyBWaXN0YSBSZWxlYXNl
fFdpbjMyIj4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIFJlbGVhc2U8L0NvbmZp
Z3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENv
bmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA4
IERlYnVnfHg2NCI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA4IERlYnVnPC9Db25maWd1
cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmln
dXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDcgRGVi
dWd8eDY0Ij4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDcgRGVidWc8L0NvbmZpZ3VyYXRp
b24+IAotCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0
aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgVmlzdGEgRGVi
dWd8eDY0Ij4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVnPC9Db25maWd1
cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmln
dXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDggUmVs
ZWFzZXx4NjQiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgOCBSZWxlYXNlPC9Db25maWd1
cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmln
dXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDcgUmVs
ZWFzZXx4NjQiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgNyBSZWxlYXNlPC9Db25maWd1
cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmln
dXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIFZpc3Rh
IFJlbGVhc2V8eDY0Ij4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIFJlbGVhc2U8
L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+IAotCQk8L1Byb2pl
Y3RDb25maWd1cmF0aW9uPiAKLQk8L0l0ZW1Hcm91cD4gCi08L1Byb2plY3Q+CmRpZmYgLS1naXQg
YS92czIwMTMvcGFja2FnZS9wYWNrYWdlLnZjeHByb2ogYi92czIwMTMvcGFja2FnZS9wYWNrYWdl
LnZjeHByb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1Y2VhMDcuLjAwMDAwMDAK
LS0tIGEvdnMyMDEzL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qCisrKyAvZGV2L251bGwKQEAgLTEs
OTEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9q
ZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIxMi4wIiB4bWxucz0iaHR0
cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPElt
cG9ydCBQcm9qZWN0PSIuLlxjb25maWdzLnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBMYWJl
bD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5VdGlsaXR5PC9Db25m
aWd1cmF0aW9uVHlwZT4KLSAgICA8RHJpdmVyVHlwZT5QYWNrYWdlPC9Ecml2ZXJUeXBlPgotICAg
IDxEaXNhYmxlRmFzdFVwVG9EYXRlQ2hlY2s+dHJ1ZTwvRGlzYWJsZUZhc3RVcFRvRGF0ZUNoZWNr
PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4K
LSAgICA8Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVnPC9Db25maWd1cmF0aW9uPgot
ICAgIDxQbGF0Zm9ybSBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJyciPldpbjMyPC9QbGF0
Zm9ybT4KLSAgICA8RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8L0RlYnVnZ2Vy
Rmxhdm9yPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1Rhcmdl
dHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3Vw
IExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1dpbmRvd3MgOCBSZWxlYXNlfHg2NCciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+
V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1By
b3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBSZWxlYXNl
fFdpbjMyJyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRpb25Gb3JEcml2
ZXJzOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5
R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQnIj4KLSAgICA8UGxhdGZvcm1U
b29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8L1BsYXRmb3JtVG9vbHNldD4K
LSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlv
biIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIFZp
c3RhIERlYnVnfFdpbjMyJyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRp
b25Gb3JEcml2ZXJzOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAg
PFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NCciPgotICAg
IDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZv
cm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJD
b25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1dpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMiciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2lu
ZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3Bl
cnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBSZWxlYXNlfHg2
NCciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczgu
MTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3Vw
IExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1dpbmRvd3MgNyBSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNl
dD5XaW5kb3dzQXBwbGljYXRpb25Gb3JEcml2ZXJzOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwv
UHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93czggRGVidWd8
eDY0JyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD52MTIwPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwv
UHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IERlYnVn
fFdpbjMyJyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRpb25Gb3JEcml2
ZXJzOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5
R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IERlYnVnfHg2NCciPgotICAgIDxQbGF0Zm9ybVRvb2xz
ZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8
L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBEZWJ1
Z3xXaW4zMiciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJp
dmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0
eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBEZWJ1Z3x4NjQnIj4KLSAgICA8UGxhdGZvcm1Ub29s
c2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAg
PC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAg
PFByb2plY3RHdWlkPns0NDVGRDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYyNDJDMDV9PC9Qcm9q
ZWN0R3VpZD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdl
dHMucHJvcHMiIC8+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3Nv
ZnQuQ3BwLnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8RW5hYmxlSW5mMmNhdD50
cnVlPC9FbmFibGVJbmYyY2F0PgotICAgIDxJbmYyQ2F0V2luZG93c1ZlcnNpb25MaXN0IENvbmRp
dGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPlZpc3RhX3g2NDs3X3g2NDtTZXJ2ZXIyMDA4X3g2
NDtTZXJ2ZXIyMDA4UjJfeDY0O1NlcnZlcjhfeDY0PC9JbmYyQ2F0V2luZG93c1ZlcnNpb25MaXN0
PgotICAgIDxJbmYyQ2F0V2luZG93c1ZlcnNpb25MaXN0IENvbmRpdGlvbj0iJyQoUGxhdGZvcm0p
Jz09J1dpbjMyJyI+VmlzdGFfeDg2OzdfeDg2O1NlcnZlcjIwMDhfeDg2OzhfeDg2PC9JbmYyQ2F0
V2luZG93c1ZlcnNpb25MaXN0PgotICAgIDxEZWJ1Z2dlckZsYXZvcj5EYmdlbmdLZXJuZWxEZWJ1
Z2dlcjwvRGVidWdnZXJGbGF2b3I+Ci0gICAgPEVuYWJsZURlcGxveW1lbnQ+RmFsc2U8L0VuYWJs
ZURlcGxveW1lbnQ+Ci0gICAgPEltcG9ydFRvU3RvcmU+RmFsc2U8L0ltcG9ydFRvU3RvcmU+Ci0g
ICAgPEluc3RhbGxNb2RlPk5vbmU8L0luc3RhbGxNb2RlPgotICAgIDxTY3JpcHREZXZpY2VRdWVy
eT4lUGF0aFRvSW5mJTwvU2NyaXB0RGV2aWNlUXVlcnk+Ci0gICAgPEVuYWJsZVZlcmlmaWVyPkZh
bHNlPC9FbmFibGVWZXJpZmllcj4KLSAgICA8QWxsRHJpdmVycz5GYWxzZTwvQWxsRHJpdmVycz4K
LSAgICA8VmVyaWZ5UHJvamVjdE91dHB1dD5UcnVlPC9WZXJpZnlQcm9qZWN0T3V0cHV0PgotICAg
IDxWZXJpZnlGbGFncz4xMzM1NjM8L1ZlcmlmeUZsYWdzPgotICAgIDxJbnREaXI+Li5cJChQcm9q
ZWN0TmFtZSlcJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9JbnREaXI+Ci0gICAg
PE91dERpcj4uLlwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L091dERpcj4KLSAg
ICA8UGFja2FnZURpcj4uLlwuLlx4ZW5uZXRcJChEREtQbGF0Zm9ybSk8L1BhY2thZ2VEaXI+Ci0g
IDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJ
bmNsdWRlPSIuLlx4ZW5uZXRceGVubmV0LnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+ezk3RDk5
NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX08L1Byb2plY3Q+Ci0gICAgPC9Qcm9qZWN0
UmVmZXJlbmNlPgotICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Ii4uXHhlbm5ldF9jb2lu
c3RceGVubmV0X2NvaW5zdC52Y3hwcm9qIj4KLSAgICAgIDxQcm9qZWN0PnszRUREODM3QS1DMUJF
LTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9PC9Qcm9qZWN0PgotICAgIDwvUHJvamVjdFJlZmVyZW5j
ZT4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIElu
Y2x1ZGU9IiQoS0lUKVxSZWRpc3RcRElGeFxkcGluc3RcRW5nTXVpXHg4NlxkcGluc3QuZXhlIiBD
b25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciIC8+Ci0gICAgPEZpbGVzVG9QYWNrYWdl
IEluY2x1ZGU9IiQoS0lUKVxSZWRpc3RcRElGeFxkcGluc3RcRW5nTXVpXHg2NFxkcGluc3QuZXhl
IiBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAg
PEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIg
Lz4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KLSAgPC9JbXBvcnRH
cm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS92czIwMTMvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNlciBiL3ZzMjAxMy9wYWNrYWdlL3Bh
Y2thZ2UudmN4cHJvai51c2VyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTQzM2U5
Li4wMDAwMDAwCi0tLSBhL3ZzMjAxMy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2VyCisrKyAv
ZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1
dGYtOCI/PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1h
cy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8UHJvcGVydHlHcm91
cD4KLSAgICA8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgotICAgIDxUZXN0Q2VydGlmaWNh
dGU+Li5cLi5cc3JjXHhlbm5ldC5wZng8L1Rlc3RDZXJ0aWZpY2F0ZT4KLSAgICA8VGltZVN0YW1w
U2VydmVyPmh0dHA6Ly90aW1lc3RhbXAudmVyaXNpZ24uY29tL3NjcmlwdHMvdGltc3RhbXAuZGxs
PC9UaW1lU3RhbXBTZXJ2ZXI+Ci0gIDwvUHJvcGVydHlHcm91cD4KLTwvUHJvamVjdD4KZGlmZiAt
LWdpdCBhL3ZzMjAxMy90YXJnZXRzLnByb3BzIGIvdnMyMDEzL3RhcmdldHMucHJvcHMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM4YWJhOTIuLjAwMDAwMDAKLS0tIGEvdnMyMDEzL3Rh
cmdldHMucHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi08P3htbCB2ZXJzaW9u
PSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxk
IiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20v
ZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3Vy
YXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93
cyA4IERlYnVnfFdpbjMyJyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwvVGFyZ2V0VmVy
c2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0J
PC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggUmVs
ZWFzZXxXaW4zMiciPiAKLQkJPFRhcmdldFZlcnNpb24+V2luZG93czg8L1RhcmdldFZlcnNpb24+
IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1By
b3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBEZWJ1Z3x4
NjQnIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVz
ZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3Jv
dXA+IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBSZWxlYXNlfHg2NCciPiAK
LQkJPFRhcmdldFZlcnNpb24+V2luZG93czg8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdM
aWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+Ci0J
PFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IERlYnVnfFdpbjMyJyI+IAotCQk8VGFy
Z2V0VmVyc2lvbj5XaW5kb3dzNzwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmll
cz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVy
dHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMiciPiAKLQkJPFRhcmdldFZl
cnNpb24+V2luZG93czc8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFs
c2U8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdy
b3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1dpbmRvd3MgNyBEZWJ1Z3x4NjQnIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldp
bmRvd3M3PC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURl
YnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVs
PSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1dpbmRvd3MgNyBSZWxlYXNlfHg2NCciPiAKLQkJPFRhcmdldFZlcnNpb24+V2luZG93czc8
L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGli
cmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+Ci0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZp
Z3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2lu
ZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMiciPiAKLQkJPFRhcmdldFZlcnNpb24+VmlzdGE8L1Rhcmdl
dFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+
IAotCTwvUHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRp
b24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyBW
aXN0YSBSZWxlYXNlfFdpbjMyJyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5WaXN0YTwvVGFyZ2V0VmVy
c2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+IAot
CTwvUHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24i
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyBWaXN0
YSBEZWJ1Z3x4NjQnIj4gCi0JCTxUYXJnZXRWZXJzaW9uPlZpc3RhPC9UYXJnZXRWZXJzaW9uPiAK
LQkJPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3Bl
cnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgUmVsZWFz
ZXx4NjQnIj4gCi0JCTxUYXJnZXRWZXJzaW9uPlZpc3RhPC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVz
ZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdy
b3VwPgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDEzL3hlbm5ldC5zbG4gYi92czIwMTMv
eGVubmV0LnNsbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGI0Y2M2ZS4uMDAwMDAw
MAotLS0gYS92czIwMTMveGVubmV0LnNsbgorKysgL2Rldi9udWxsCkBAIC0xLDEzOSArMCwwIEBA
Ci1NaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiAx
Mi4wMAotIyBWaXN1YWwgU3R1ZGlvIEV4cHJlc3MgMjAxMyBmb3IgV2luZG93cyBEZXNrdG9wCi1W
aXN1YWxTdHVkaW9WZXJzaW9uID0gMTIuMC4yMTAwNS4xCi1NaW5pbXVtVmlzdWFsU3R1ZGlvVmVy
c2lvbiA9IDEwLjAuNDAyMTkuMQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAw
QTBDOTFCQzk0Mn0iKSA9ICJ4ZW5uZXQiLCAieGVubmV0XHhlbm5ldC52Y3hwcm9qIiwgIns5N0Q5
OTQyQi01RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9IgotRW5kUHJvamVjdAotUHJvamVjdCgi
ezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4ZW5uZXRfY29pbnN0
IiwgInhlbm5ldF9jb2luc3RceGVubmV0X2NvaW5zdC52Y3hwcm9qIiwgInszRUREODM3QS1DMUJF
LTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9IgotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRl
bmNpZXMpID0gcG9zdFByb2plY3QKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3
N0Y4RX0gPSB7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfQotCUVuZFByb2pl
Y3RTZWN0aW9uCi1FbmRQcm9qZWN0Ci1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEt
MDBBMEM5MUJDOTQyfSIpID0gInBhY2thZ2UiLCAicGFja2FnZVxwYWNrYWdlLnZjeHByb2oiLCAi
ezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0iCi0JUHJvamVjdFNlY3Rpb24o
UHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdAotCQl7M0VERDgzN0EtQzFCRS00N0Q0
LTk2MDMtMTZCNjEzNTM2NzBCfSA9IHszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3
MEJ9Ci0JRW5kUHJvamVjdFNlY3Rpb24KLUVuZFByb2plY3QKLUdsb2JhbAotCUdsb2JhbFNlY3Rp
b24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uCi0JCVdpbmRv
d3MgNyBEZWJ1Z3xXaW4zMiA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQlXaW5kb3dzIDcgRGVi
dWd8eDY0ID0gV2luZG93cyA3IERlYnVnfHg2NAotCQlXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMiA9
IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCVdpbmRvd3MgNyBSZWxlYXNlfHg2NCA9IFdpbmRv
d3MgNyBSZWxlYXNlfHg2NAotCQlXaW5kb3dzIDggRGVidWd8V2luMzIgPSBXaW5kb3dzIDggRGVi
dWd8V2luMzIKLQkJV2luZG93cyA4IERlYnVnfHg2NCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJ
V2luZG93cyA4IFJlbGVhc2V8V2luMzIgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQlXaW5k
b3dzIDggUmVsZWFzZXx4NjQgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKLQkJV2luZG93cyBWaXN0
YSBEZWJ1Z3xXaW4zMiA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJV2luZG93cyBWaXN0
YSBEZWJ1Z3x4NjQgPSBXaW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQlXaW5kb3dzIFZpc3RhIFJl
bGVhc2V8V2luMzIgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJV2luZG93cyBWaXN0
YSBSZWxlYXNlfHg2NCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQlFbmRHbG9iYWxTZWN0
aW9uCi0JR2xvYmFsU2VjdGlvbihQcm9qZWN0Q29uZmlndXJhdGlvblBsYXRmb3JtcykgPSBwb3N0
U29sdXRpb24KLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93
cyA3IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7OTdE
OTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDcgRGVidWd8V2luMzIu
QnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1
MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDcgRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dz
IDcgRGVidWd8V2luMzIKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0u
V2luZG93cyA3IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXs5
N0Q5OTQyQi01RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9LldpbmRvd3MgNyBEZWJ1Z3x4NjQu
QnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEy
LUM5NkU1RDA3N0Y4RX0uV2luZG93cyA3IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgNyBE
ZWJ1Z3x4NjQKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93
cyA3IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJ
ezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93cyA3IFJlbGVhc2V8
V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXs5N0Q5OTQyQi01RUEz
LTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkRlcGxveS4w
ID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5
NkU1RDA3N0Y4RX0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBS
ZWxlYXNlfHg2NAotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5k
b3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7OTdE
OTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQu
RGVwbG95LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1C
NTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRv
d3MgOCBEZWJ1Z3xXaW4zMgotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhF
fS5XaW5kb3dzIDggRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgot
CQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDggRGVidWd8
V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezk3RDk5NDJCLTVFQTMt
NDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93cyA4IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBX
aW5kb3dzIDggRGVidWd8V2luMzIKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3
N0Y4RX0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVh
c2V8V2luMzIKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93
cyA4IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXs5
N0Q5OTQyQi01RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9LldpbmRvd3MgOCBSZWxlYXNlfFdp
bjMyLkRlcGxveS4wID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezk3RDk5NDJCLTVFQTMt
NDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9
IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVE
MDc3RjhFfS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNl
fHg2NAotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIDgg
UmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKLQkJezk3RDk5NDJC
LTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5B
Y3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXs5N0Q5OTQyQi01RUEzLTQ4
OEMtQjUxMi1DOTZFNUQwNzdGOEV9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIuQnVpbGQuMCA9
IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5
NkU1RDA3N0Y4RX0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3Mg
VmlzdGEgRGVidWd8V2luMzIKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4
RX0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1
Z3x4NjQKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93cyBW
aXN0YSBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXs5N0Q5
OTQyQi01RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0
LkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezk3RDk5NDJCLTVFQTMtNDg4
Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1
MTItQzk2RTVEMDc3RjhFfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdp
bmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7OTdEOTk0MkItNUVBMy00ODhDLUI1MTItQzk2
RTVEMDc3RjhFfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dz
IFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3
N0Y4RX0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3Rh
IFJlbGVhc2V8eDY0Ci0JCXs5N0Q5OTQyQi01RUEzLTQ4OEMtQjUxMi1DOTZFNUQwNzdGOEV9Lldp
bmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4
NjQKLQkJezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4RX0uV2luZG93cyBWaXN0
YSBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezNF
REQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyA3IERlYnVnfFdpbjMy
LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7M0VERDgzN0EtQzFCRS00N0Q0
LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRv
d3MgNyBEZWJ1Z3xXaW4zMgotCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBC
fS5XaW5kb3dzIDcgRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIK
LQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyA3IERlYnVn
fHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXszRUREODM3QS1DMUJFLTQ3
RDQtOTYwMy0xNkI2MTM1MzY3MEJ9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRv
d3MgNyBEZWJ1Z3x4NjQKLQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0u
V2luZG93cyA3IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezNF
REQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyA3IFJlbGVhc2V8V2lu
MzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezNFREQ4MzdBLUMxQkUt
NDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9
IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2
MTM1MzY3MEJ9LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA3IFJl
bGVhc2V8V2luMzIKLQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2lu
ZG93cyA3IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7
M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDcgUmVsZWFzZXx4
NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7M0VERDgzN0EtQzFCRS00N0Q0
LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5k
b3dzIDcgUmVsZWFzZXx4NjQKLQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcw
Qn0uV2luZG93cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4z
MgotCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDggRGVi
dWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7M0VERDgzN0EtQzFC
RS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDggRGVidWd8V2luMzIuRGVwbG95LjAg
PSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYx
MzUzNjcwQn0uV2luZG93cyA4IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8
V2luMzIKLQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyA4
IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezNF
REQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyA4IFJlbGVhc2V8V2lu
MzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXszRUREODM3QS1DMUJFLTQ3
RDQtOTYwMy0xNkI2MTM1MzY3MEJ9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0g
V2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYx
MzUzNjcwQn0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxl
YXNlfHg2NAotCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dz
IDggUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7M0VERDgz
N0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuRGVw
bG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKLQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAz
LTE2QjYxMzUzNjcwQn0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5k
b3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1
MzY3MEJ9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEg
RGVidWd8V2luMzIKLQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2lu
ZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2lu
MzIKLQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyBWaXN0
YSBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezNFREQ4
MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQu
QnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXszRUREODM3QS1DMUJFLTQ3RDQt
OTYwMy0xNkI2MTM1MzY3MEJ9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkRlcGxveS4wID0gV2lu
ZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUz
NjcwQn0uV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlz
dGEgUmVsZWFzZXxXaW4zMgotCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBC
fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVs
ZWFzZXxXaW4zMgotCQl7M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfS5XaW5k
b3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8
V2luMzIKLQkJezNFREQ4MzdBLUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyBW
aXN0YSBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0J
CXszRUREODM3QS1DMUJFLTQ3RDQtOTYwMy0xNkI2MTM1MzY3MEJ9LldpbmRvd3MgVmlzdGEgUmVs
ZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezNFREQ4MzdB
LUMxQkUtNDdENC05NjAzLTE2QjYxMzUzNjcwQn0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5E
ZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezQ0NUZEMThGLTk3RTMtNEU1
RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdp
bmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQy
QzA1fS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4z
MgotCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDcgRGVi
dWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJezQ0NUZEMThGLTk3
RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyA3IERlYnVnfHg2NC5BY3RpdmVDZmcg
PSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXs0NDVGRDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYy
NDJDMDV9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQK
LQkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyA3IERlYnVn
fHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezQ0NUZEMThGLTk3RTMtNEU1
RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0g
V2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAy
NjI0MkMwNX0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxl
YXNlfFdpbjMyCi0JCXs0NDVGRDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYyNDJDMDV9LldpbmRv
d3MgNyBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJ
ezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyA3IFJlbGVhc2V8
eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7NDQ1RkQxOEYtOTdFMy00
RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdp
bmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQy
QzA1fS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXx4
NjQKLQkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyA4IERl
YnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7NDQ1RkQxOEYt
OTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDggRGVidWd8V2luMzIuQnVpbGQu
MCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUx
MDI2MjQyQzA1fS5XaW5kb3dzIDggRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVi
dWd8V2luMzIKLQkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93
cyA4IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezQ0NUZE
MThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIu
QWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezQ0NUZEMThGLTk3RTMtNEU1
RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdp
bmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXs0NDVGRDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYy
NDJDMDV9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA4IFJlbGVh
c2V8V2luMzIKLQkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93
cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7NDQ1
RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQu
QnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgy
NUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dz
IDggUmVsZWFzZXx4NjQKLQkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0u
V2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVn
fFdpbjMyCi0JCXs0NDVGRDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYyNDJDMDV9LldpbmRvd3Mg
VmlzdGEgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJ
ezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyBWaXN0YSBEZWJ1
Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezQ0NUZEMThG
LTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQWN0
aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezQ0NUZEMThGLTk3RTMtNEU1RC04
MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRv
d3MgVmlzdGEgRGVidWd8eDY0Ci0JCXs0NDVGRDE4Ri05N0UzLTRFNUQtODI1Ri0xNTEwMjYyNDJD
MDV9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBEZWJ1
Z3x4NjQKLQkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyBW
aXN0YSBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4z
MgotCQl7NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIFZpc3Rh
IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7
NDQ1RkQxOEYtOTdFMy00RTVELTgyNUYtMTUxMDI2MjQyQzA1fS5XaW5kb3dzIFZpc3RhIFJlbGVh
c2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJezQ0NUZE
MThGLTk3RTMtNEU1RC04MjVGLTE1MTAyNjI0MkMwNX0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2
NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXs0NDVGRDE4Ri05N0Uz
LTRFNUQtODI1Ri0xNTEwMjYyNDJDMDV9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuQnVpbGQu
MCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezQ0NUZEMThGLTk3RTMtNEU1RC04MjVG
LTE1MTAyNjI0MkMwNX0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRv
d3MgVmlzdGEgUmVsZWFzZXx4NjQKLQlFbmRHbG9iYWxTZWN0aW9uCi0JR2xvYmFsU2VjdGlvbihT
b2x1dGlvblByb3BlcnRpZXMpID0gcHJlU29sdXRpb24KLQkJSGlkZVNvbHV0aW9uTm9kZSA9IEZB
TFNFCi0JRW5kR2xvYmFsU2VjdGlvbgotRW5kR2xvYmFsCmRpZmYgLS1naXQgYS92czIwMTMveGVu
bmV0L3hlbm5ldC52Y3hwcm9qIGIvdnMyMDEzL3hlbm5ldC94ZW5uZXQudmN4cHJvagpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDhlY2FiZS4uMDAwMDAwMAotLS0gYS92czIwMTMveGVu
bmV0L3hlbm5ldC52Y3hwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsODggKzAsMCBAQAotPD94bWwg
dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRz
PSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIxMi4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9z
b2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEltcG9ydCBQcm9qZWN0PSIuLlxj
b25maWdzLnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMi
PgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5Ecml2ZXI8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAg
IDxEcml2ZXJUeXBlPldETTwvRHJpdmVyVHlwZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJv
cGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPENvbmZpZ3VyYXRpb24+V2luZG93cyBW
aXN0YSBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4KLSAgICA8UGxhdGZvcm0gQ29uZGl0aW9uPSInJChQ
bGF0Zm9ybSknID09ICcnIj5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPERlYnVnZ2VyRmxhdm9yPkRi
Z2VuZ0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgot
ICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0
LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAg
PFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2VybmVsTW9kZURyaXZlcjguMTwvUGxhdGZvcm1Ub29s
c2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxz
Ij4KLSAgICA8UHJvamVjdEd1aWQ+ezk3RDk5NDJCLTVFQTMtNDg4Qy1CNTEyLUM5NkU1RDA3N0Y4
RX08L1Byb2plY3RHdWlkPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0i
Li5cdGFyZ2V0cy5wcm9wcyIgLz4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgp
XE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxSdW5Db2Rl
QW5hbHlzaXM+dHJ1ZTwvUnVuQ29kZUFuYWx5c2lzPgotICAgIDxFbmFibGVJbmYyY2F0PmZhbHNl
PC9FbmFibGVJbmYyY2F0PgotICAgIDxJbnREaXI+Li5cJChQcm9qZWN0TmFtZSlcJChDb25maWd1
cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9JbnREaXI+Ci0gICAgPE91dERpcj4uLlwkKENvbmZp
Z3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L091dERpcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgot
ICA8SXRlbURlZmluaXRpb25Hcm91cD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nl
c3NvckRlZmluaXRpb25zPl9fTU9EVUxFX189IlhFTk5FVCI7TkRJU19NSU5JUE9SVF9EUklWRVI7
TkRJU19XRE09MTtORElTNjFfTUlOSVBPUlQ9MTtQT09MX05YX09QVElOPTE7TlRfUFJPQ0VTU09S
X0dST1VQUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlv
bnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFdpbmRvd3NTZGtEaXIp
XGluY2x1ZGVca207Li5cLi5caW5jbHVkZTsuLlwuLlxpbmNsdWRlXHhlbjs8L0FkZGl0aW9uYWxJ
bmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8V2FybmluZ0xldmVsPkVuYWJsZUFsbFdhcm5pbmdz
PC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDcxMTs0NTQ4
OzQ4MjA7NDY2ODs0MjU1OzYwMDE7NjA1NDsyODE5NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdz
KTwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+Ci0gICAgICA8TXVsdGlQcm9jZXNzb3JDb21waWxh
dGlvbj50cnVlPC9NdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPgotICAgICAgPEVuYWJsZVBSRWZh
c3Q+dHJ1ZTwvRW5hYmxlUFJFZmFzdD4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VD
b21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5caW5jbHVk
ZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVj
dG9yaWVzPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEltYWdl
SGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJzPmZhbHNlPC9JbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5k
bGVycz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoRERLX0xJQl9QQVRIKVxuZGlz
LmxpYjskKERES19MSUJfUEFUSCkvbGliY250cHIubGliOyQoRERLX0xJQl9QQVRIKS9hdXhfa2xp
Yi5saWI7JChEREtfTElCX1BBVEgpL3Byb2NncnAubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2ll
cyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8RW5hYmxlQ09NREFURm9sZGluZz5m
YWxzZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICA8L0xpbms+Ci0gICAgPEluZj4KLSAgICAg
IDxTcGVjaWZ5QXJjaGl0ZWN0dXJlPnRydWU8L1NwZWNpZnlBcmNoaXRlY3R1cmU+Ci0gICAgICA8
U3BlY2lmeURyaXZlclZlckRpcmVjdGl2ZVZlcnNpb24+dHJ1ZTwvU3BlY2lmeURyaXZlclZlckRp
cmVjdGl2ZVZlcnNpb24+Ci0gICAgICA8VGltZVN0YW1wPiQoTUFKT1JfVkVSU0lPTikuJChNSU5P
Ul9WRVJTSU9OKS4kKE1JQ1JPX1ZFUlNJT04pLiQoQlVJTERfTlVNQkVSKTwvVGltZVN0YW1wPgot
ICAgICAgPEVuYWJsZVZlcmJvc2U+dHJ1ZTwvRW5hYmxlVmVyYm9zZT4KLSAgICA8L0luZj4KLSAg
PC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249
IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM+X19pMzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1By
ZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxJbmY+Ci0gICAg
ICA8QXJjaGl0ZWN0dXJlPng4NjwvQXJjaGl0ZWN0dXJlPgotICAgIDwvSW5mPgotICA8L0l0ZW1E
ZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxh
dGZvcm0pJz09J3g2NCciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVm
aW5pdGlvbnM+X194ODZfNjRfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vz
c29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPEluZj4KLSAgICAgIDxBcmNo
aXRlY3R1cmU+YW1kNjQ8L0FyY2hpdGVjdHVyZT4KLSAgICA8L0luZj4KLSAgPC9JdGVtRGVmaW5p
dGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIk
KFRhcmdldFBhdGgpIiAvPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKE91dERpcikk
KFRhcmdldE5hbWUpLnBkYiIgLz4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iQChJbmYt
PiclKENvcHlPdXRwdXQpJykiIENvbmRpdGlvbj0iJ0AoSW5mKSchPScnIiAvPgotICA8L0l0ZW1H
cm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94
ZW5uZXQvYWRhcHRlci5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hl
bm5ldC9kcml2ZXIuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5u
ZXQvbWluaXBvcnQuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5u
ZXQvcmVjZWl2ZXIuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5u
ZXQvc3RyaW5nLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVubmV0
L3RyYW5zbWl0dGVyLmMiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxS
ZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbm5ldFx4ZW5uZXQucmMiIC8+Ci0g
IDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxJbmYgSW5jbHVkZT0iLi5ceGVubmV0
LmluZiIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQ
YXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdnMyMDEzL3hlbm5ldC94ZW5uZXQudmN4cHJvai51
c2VyIGIvdnMyMDEzL3hlbm5ldC94ZW5uZXQudmN4cHJvai51c2VyCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBhNTQzM2U5Li4wMDAwMDAwCi0tLSBhL3ZzMjAxMy94ZW5uZXQveGVubmV0
LnZjeHByb2oudXNlcgorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4
bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAz
Ij4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9kZT4K
LSAgICA8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW5uZXQucGZ4PC9UZXN0Q2VydGlmaWNh
dGU+Ci0gICAgPFRpbWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9z
Y3JpcHRzL3RpbXN0YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgotICA8L1Byb3BlcnR5R3JvdXA+
Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTMveGVubmV0X2NvaW5zdC94ZW5uZXRfY29p
bnN0LnZjeHByb2ogYi92czIwMTMveGVubmV0X2NvaW5zdC94ZW5uZXRfY29pbnN0LnZjeHByb2oK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxZjQ0MmYuLjAwMDAwMDAKLS0tIGEvdnMy
MDEzL3hlbm5ldF9jb2luc3QveGVubmV0X2NvaW5zdC52Y3hwcm9qCisrKyAvZGV2L251bGwKQEAg
LTEsMTAzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08
UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTIuMCIgeG1sbnM9
Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0g
IDxJbXBvcnQgUHJvamVjdD0iLi5cY29uZmlncy5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAg
TGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xp
YnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxEcml2ZXJUeXBlPldETTwvRHJpdmVyVHlw
ZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+
Ci0gICAgPENvbmZpZ3VyYXRpb24+V2luZG93cyBWaXN0YSBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4K
LSAgICA8UGxhdGZvcm0gQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICcnIj5XaW4zMjwvUGxh
dGZvcm0+Ci0gICAgPERlYnVnZ2VyRmxhdm9yPkRiZ2VuZ0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dl
ckZsYXZvcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJn
ZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91
cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdXaW5kb3dzIDggUmVsZWFzZXx4NjQnIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0
PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Q
cm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggUmVsZWFz
ZXxXaW4zMiciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJp
dmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0
eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgRGVidWd8eDY0JyI+Ci0gICAgPFBsYXRmb3Jt
VG9vbHNldD5XaW5kb3dzQXBwbGljYXRpb25Gb3JEcml2ZXJzOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+
Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRp
b24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyBW
aXN0YSBEZWJ1Z3xXaW4zMiciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0
aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0g
IDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQnIj4KLSAg
ICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8L1BsYXRm
b3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0i
Q29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzInIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0Pldp
bmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9w
ZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgUmVsZWFzZXx4
NjQnIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4
LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91
cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMiciPgotICAgIDxQbGF0Zm9ybVRvb2xz
ZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8
L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3M4IERlYnVn
fHg2NCciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgotICA8
L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBEZWJ1
Z3xXaW4zMiciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJp
dmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0
eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBEZWJ1Z3x4NjQnIj4KLSAgICA8UGxhdGZvcm1Ub29s
c2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAg
PC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggRGVi
dWd8V2luMzInIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRy
aXZlcnM4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVy
dHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggRGVidWd8eDY0JyI+Ci0gICAgPFBsYXRmb3JtVG9v
bHNldD5XaW5kb3dzQXBwbGljYXRpb25Gb3JEcml2ZXJzOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0g
IDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAg
IDxQcm9qZWN0R3VpZD57M0VERDgzN0EtQzFCRS00N0Q0LTk2MDMtMTZCNjEzNTM2NzBCfTwvUHJv
amVjdEd1aWQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIuLlx0YXJn
ZXRzLnByb3BzIiAvPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9z
b2Z0LkNwcC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPERlYnVnZ2VyRmxhdm9y
PkRiZ2VuZ0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4KLSAgICA8SW5jbHVkZVBhdGg+
Li5cLi5caW5jbHVkZTskKEluY2x1ZGVQYXRoKTwvSW5jbHVkZVBhdGg+Ci0gICAgPFJ1bkNvZGVB
bmFseXNpcz50cnVlPC9SdW5Db2RlQW5hbHlzaXM+Ci0gICAgPEVuYWJsZUluZjJjYXQ+ZmFsc2U8
L0VuYWJsZUluZjJjYXQ+Ci0gICAgPEludERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3Vy
YXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L0ludERpcj4KLSAgICA8T3V0RGlyPi4uXCQoQ29uZmln
dXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvT3V0RGlyPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0g
IDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vz
c29yRGVmaW5pdGlvbnM+X19NT0RVTEVfXz0iWEVOTkVUX0NPSU5TVCI7JShQcmVwcm9jZXNzb3JE
ZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFdhcm5pbmdMZXZl
bD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgotICAgICAgPERpc2FibGVTcGVjaWZp
Y1dhcm5pbmdzPjQ1NDg7NDgyMDs0NjY4OzQyNTU7NjAwMTs2MDU0OzI4MTk2OyUoRGlzYWJsZVNw
ZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4KLSAgICAgIDxNdWx0aVBy
b2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+Ci0gICAg
ICA8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFibGVQUkVmYXN0PgotICAgICAgPFJ1bnRpbWVMaWJy
YXJ5IENvbmRpdGlvbj0iJyQoVXNlRGVidWdMaWJyYXJpZXMpJz09J3RydWUnIj5NdWx0aVRocmVh
ZGVkRGVidWc8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5IENvbmRpdGlv
bj0iJyQoVXNlRGVidWdMaWJyYXJpZXMpJz09J2ZhbHNlJyI+TXVsdGlUaHJlYWRlZDwvUnVudGlt
ZUxpYnJhcnk+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8TW9kdWxlRGVm
aW5pdGlvbkZpbGU+Li4vLi4vc3JjL2NvaW5zdC94ZW5uZXRfY29pbnN0LmRlZjwvTW9kdWxlRGVm
aW5pdGlvbkZpbGU+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5zZXR1cGFwaS5saWI7
aXBobHBhcGkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRl
bmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVm
aW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+Ci0gICAgPENs
Q29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX2kzODZfXzslKFByZXBy
b2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENv
bXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAg
Q29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAg
IDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX3g4Nl82NF9fOyUoUHJlcHJvY2Vzc29yRGVmaW5p
dGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9J
dGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxGaWxlc1RvUGFja2FnZSBJ
bmNsdWRlPSIkKFRhcmdldFBhdGgpIiAvPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIk
KE91dERpcikkKFRhcmdldE5hbWUpLnBkYiIgLz4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVk
ZT0iQChJbmYtPiclKENvcHlPdXRwdXQpJykiIENvbmRpdGlvbj0iJ0AoSW5mKSchPScnIiAvPgot
ICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XC4uXHNyY1xjb2luc3RcY29pbnN0LmMiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3Vw
PgotICAgIDxOb25lIEluY2x1ZGU9Ii4uXC4uXHNyY1xjb2luc3RceGVubmV0X2NvaW5zdC5kZWYi
IC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClc
TWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL3ZzMjAxMy94ZW5uZXRfY29pbnN0L3hlbm5ldF9jb2luc3Qu
dmN4cHJvai51c2VyIGIvdnMyMDEzL3hlbm5ldF9jb2luc3QveGVubmV0X2NvaW5zdC52Y3hwcm9q
LnVzZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1NDMzZTkuLjAwMDAwMDAKLS0t
IGEvdnMyMDEzL3hlbm5ldF9jb2luc3QveGVubmV0X2NvaW5zdC52Y3hwcm9qLnVzZXIKKysrIC9k
ZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0
Zi04Ij8+Ci08UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFz
Lm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxQcm9wZXJ0eUdyb3Vw
PgotICAgIDxTaWduTW9kZT5UZXN0U2lnbjwvU2lnbk1vZGU+Ci0gICAgPFRlc3RDZXJ0aWZpY2F0
ZT4uLlwuLlxzcmNceGVubmV0LnBmeDwvVGVzdENlcnRpZmljYXRlPgotICAgIDxUaW1lU3RhbXBT
ZXJ2ZXI+aHR0cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8
L1RpbWVTdGFtcFNlcnZlcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotPC9Qcm9qZWN0PgpkaWZmIC0t
Z2l0IGEvdnMyMDE1L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qIGIvdnMyMDE1L3BhY2thZ2UvcGFj
a2FnZS52Y3hwcm9qCmluZGV4IDkwNzc2NGYuLmEzODBhYTcgMTAwNjQ0Ci0tLSBhL3ZzMjAxNS9w
YWNrYWdlL3BhY2thZ2UudmN4cHJvagorKysgYi92czIwMTUvcGFja2FnZS9wYWNrYWdlLnZjeHBy
b2oKQEAgLTI5LDcgKzI5LDcgQEAKICAgICA8VmVyaWZ5UHJvamVjdE91dHB1dD5UcnVlPC9WZXJp
ZnlQcm9qZWN0T3V0cHV0PgogICAgIDxWZXJpZnlGbGFncz4xMzM1NjM8L1ZlcmlmeUZsYWdzPgog
ICAgIDxJbnREaXI+Li5cJChQcm9qZWN0TmFtZSlcJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0
Zm9ybSlcPC9JbnREaXI+Ci0gICAgPE91dERpcj4uLlwuLlx4ZW5uZXRcJChEREtQbGF0Zm9ybSk8
L091dERpcj4KKyAgICA8T3V0RGlyPi4uXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0p
XDwvT3V0RGlyPgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPFByb2pl
Y3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5ceGVubmV0XHhlbm5ldC52Y3hwcm9qIj4KLS0gCjIuNS4z
CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2
LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0
cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2
LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Thu May 18 14:21:04 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 May 2017 14:21:04 +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 1dBMIa-0003Ml-2t; Thu, 18 May 2017 14:21:04 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=304abdc7e=Paul.Durrant@citrix.com>)
 id 1dBMIY-0003Ma-Ie
 for win-pv-devel@lists.xenproject.org; Thu, 18 May 2017 14:21:03 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
 1C/8F-02955-DCDAD195; Thu, 18 May 2017 14:21:01 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpmkeJIrShJLcpLzFFi42JxWrohUvfMWtl
 Ig4fdfBZ/Fic6MHoc/nCFJYAxijUzLym/IoE1o/X8QaaC7h1sFcc/nWNvYPz8nLWLkYNDQsBf
 4tM63i5GTg42AR2JqU8vsYLYIgLqEvs+b2UCsZkFtCQaJi4Bs4UFzCW2N89jBrFZBFQlNv5dy
 ghi8wq4SpzY/oIFYqScRPdON4iwoMTJmU9YIMZoSrRu/80OYctLNG+dDTZGSEBFYv3UWWwTGH
 lmIWmZhaRlFpKWBYzMqxjVi1OLylKLdI31kooy0zNKchMzc3QNDYz1clOLixPTU3MSk4r1kvN
 zNzECA4cBCHYwNn9xOsQoycGkJMp7uEA2UogvKT+lMiOxOCO+qDQntfgQowwHh5IE7+o1QDnB
 otT01Iq0zBxgCMOkJTh4lER4WUDSvMUFibnFmekQqVOMilLivE0gCQGQREZpHlwbLG4uMcpKC
 fMyAh0ixFOQWpSbWYIq/4pRnINRSZi3H2QKT2ZeCdz0V0CLmYAWNz+QBllckoiQkmpg1PL06w
 6b5rbdKTru2tac+NenJ4Qu7+LrMhAOOBE78bXaZf9jMyszN+TYLjn5tYrjTcLmMpdUf5HOsn5
 Rzrutr23u3bNlfGxwoHe/gvldQeMkmVNsOQ3+Py/OF13fYVzCETrz/kJjg+d5LDWBLt7T5+Yd
 CflSu0Arl/Gp2vytd/d80tyz/PdJJZbijERDLeai4kQAQaTkG5YCAAA=
X-Env-Sender: prvs=304abdc7e=Paul.Durrant@citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1495117257!70296523!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 55098 invoked from network); 18 May 2017 14:20:58 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
 by server-11.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
 18 May 2017 14:20:58 -0000
X-IronPort-AV: E=Sophos;i="5.38,359,1491264000"; d="scan'208";a="424390929"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Thu, 18 May 2017 15:20:43 +0100
Message-ID: <1495117243-489-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] Remove VS2012 and VS2013 build scripts
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/cgi-bin/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/cgi-bin/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>

VGhpcyBwYXRjaCByZW1vdmVzIHRoZSBzY3JpcHRzIGZvciBidWlsZGluZyB1bmRlciBWUzIwMTMg
YW5kIFZTMjAxMyBhbmQKYWxzbyBmaXhlcyB0aGUgcGFja2FnZSBkZXN0aW5hdGlvbiB3aGVuIGJ1
aWxkaW5nIHVzaW5nIFZTMjAxNS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5k
dXJyYW50QGNpdHJpeC5jb20+Ci0tLQogQlVJTEQubWQgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAzNiArKy0tLS0tCiBidWlsZC5weSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgIDI3ICsrKysrCiB2czIwMTIvY29pbnN0L3hlbnZiZF9jb2luc3QudmN4cHJvaiAg
ICAgIHwgIDczIC0tLS0tLS0tLS0tLS0KIHZzMjAxMi9jb2luc3QveGVudmJkX2NvaW5zdC52Y3hw
cm9qLnVzZXIgfCAgIDggLS0KIHZzMjAxMi9jb25maWdzLnByb3BzICAgICAgICAgICAgICAgICAg
ICAgfCAgNTMgLS0tLS0tLS0tCiB2czIwMTIvcGFja2FnZS9wYWNrYWdlLnZjeHByb2ogICAgICAg
ICAgIHwgIDY1IC0tLS0tLS0tLS0tCiB2czIwMTIvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNl
ciAgICAgIHwgICA4IC0tCiB2czIwMTIvdGFyZ2V0cy5wcm9wcyAgICAgICAgICAgICAgICAgICAg
IHwgIDUxIC0tLS0tLS0tLQogdnMyMDEyL3hlbmNyc2gveGVuY3JzaC52Y3hwcm9qICAgICAgICAg
ICB8ICA5NCAtLS0tLS0tLS0tLS0tLS0tCiB2czIwMTIveGVuY3JzaC94ZW5jcnNoLnZjeHByb2ou
dXNlciAgICAgIHwgICA4IC0tCiB2czIwMTIveGVuZGlzay94ZW5kaXNrLnZjeHByb2ogICAgICAg
ICAgIHwgIDg1IC0tLS0tLS0tLS0tLS0tLQogdnMyMDEyL3hlbmRpc2sveGVuZGlzay52Y3hwcm9q
LnVzZXIgICAgICB8ICAgOCAtLQogdnMyMDEyL3hlbnZiZC5zbG4gICAgICAgICAgICAgICAgICAg
ICAgICB8IDE3OSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB2czIwMTIveGVudmJk
L3hlbnZiZC52Y3hwcm9qICAgICAgICAgICAgIHwgIDk1IC0tLS0tLS0tLS0tLS0tLS0KIHZzMjAx
Mi94ZW52YmQveGVudmJkLnZjeHByb2oudXNlciAgICAgICAgfCAgIDggLS0KIHZzMjAxMy9jb2lu
c3QveGVudmJkX2NvaW5zdC52Y3hwcm9qICAgICAgfCAxMDEgLS0tLS0tLS0tLS0tLS0tLS0KIHZz
MjAxMy9jb2luc3QveGVudmJkX2NvaW5zdC52Y3hwcm9qLnVzZXIgfCAgIDggLS0KIHZzMjAxMy9j
b25maWdzLnByb3BzICAgICAgICAgICAgICAgICAgICAgfCAgNTMgLS0tLS0tLS0tCiB2czIwMTMv
cGFja2FnZS9wYWNrYWdlLnZjeHByb2ogICAgICAgICAgIHwgIDk0IC0tLS0tLS0tLS0tLS0tLS0K
IHZzMjAxMy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2VyICAgICAgfCAgIDggLS0KIHZzMjAx
My90YXJnZXRzLnByb3BzICAgICAgICAgICAgICAgICAgICAgfCAgNTEgLS0tLS0tLS0tCiB2czIw
MTMveGVuY3JzaC94ZW5jcnNoLnZjeHByb2ogICAgICAgICAgIHwgMTIyIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogdnMyMDEzL3hlbmNyc2gveGVuY3JzaC52Y3hwcm9qLnVzZXIgICAgICB8ICAgOCAt
LQogdnMyMDEzL3hlbmRpc2sveGVuZGlzay52Y3hwcm9qICAgICAgICAgICB8IDExMyAtLS0tLS0t
LS0tLS0tLS0tLS0tCiB2czIwMTMveGVuZGlzay94ZW5kaXNrLnZjeHByb2oudXNlciAgICAgIHwg
ICA4IC0tCiB2czIwMTMveGVudmJkLnNsbiAgICAgICAgICAgICAgICAgICAgICAgIHwgMTc5IC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHZzMjAxMy94ZW52YmQveGVudmJkLnZjeHBy
b2ogICAgICAgICAgICAgfCAxMjMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB2czIwMTMveGVudmJk
L3hlbnZiZC52Y3hwcm9qLnVzZXIgICAgICAgIHwgICA4IC0tCiB2czIwMTUvcGFja2FnZS9wYWNr
YWdlLnZjeHByb2ogICAgICAgICAgIHwgICAyICstCiAyOSBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNl
cnRpb25zKCspLCAxNjM3IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMi9j
b2luc3QveGVudmJkX2NvaW5zdC52Y3hwcm9qCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEyL2Nv
aW5zdC94ZW52YmRfY29pbnN0LnZjeHByb2oudXNlcgogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAx
Mi9jb25maWdzLnByb3BzCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEyL3BhY2thZ2UvcGFja2Fn
ZS52Y3hwcm9qCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEyL3BhY2thZ2UvcGFja2FnZS52Y3hw
cm9qLnVzZXIKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTIvdGFyZ2V0cy5wcm9wcwogZGVsZXRl
IG1vZGUgMTAwNjQ0IHZzMjAxMi94ZW5jcnNoL3hlbmNyc2gudmN4cHJvagogZGVsZXRlIG1vZGUg
MTAwNjQ0IHZzMjAxMi94ZW5jcnNoL3hlbmNyc2gudmN4cHJvai51c2VyCiBkZWxldGUgbW9kZSAx
MDA2NDQgdnMyMDEyL3hlbmRpc2sveGVuZGlzay52Y3hwcm9qCiBkZWxldGUgbW9kZSAxMDA2NDQg
dnMyMDEyL3hlbmRpc2sveGVuZGlzay52Y3hwcm9qLnVzZXIKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2
czIwMTIveGVudmJkLnNsbgogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMi94ZW52YmQveGVudmJk
LnZjeHByb2oKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTIveGVudmJkL3hlbnZiZC52Y3hwcm9q
LnVzZXIKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTMvY29pbnN0L3hlbnZiZF9jb2luc3QudmN4
cHJvagogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMy9jb2luc3QveGVudmJkX2NvaW5zdC52Y3hw
cm9qLnVzZXIKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTMvY29uZmlncy5wcm9wcwogZGVsZXRl
IG1vZGUgMTAwNjQ0IHZzMjAxMy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvagogZGVsZXRlIG1vZGUg
MTAwNjQ0IHZzMjAxMy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2VyCiBkZWxldGUgbW9kZSAx
MDA2NDQgdnMyMDEzL3RhcmdldHMucHJvcHMKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTMveGVu
Y3JzaC94ZW5jcnNoLnZjeHByb2oKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTMveGVuY3JzaC94
ZW5jcnNoLnZjeHByb2oudXNlcgogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMy94ZW5kaXNrL3hl
bmRpc2sudmN4cHJvagogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMy94ZW5kaXNrL3hlbmRpc2su
dmN4cHJvai51c2VyCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEzL3hlbnZiZC5zbG4KIGRlbGV0
ZSBtb2RlIDEwMDY0NCB2czIwMTMveGVudmJkL3hlbnZiZC52Y3hwcm9qCiBkZWxldGUgbW9kZSAx
MDA2NDQgdnMyMDEzL3hlbnZiZC94ZW52YmQudmN4cHJvai51c2VyCgpkaWZmIC0tZ2l0IGEvQlVJ
TEQubWQgYi9CVUlMRC5tZAppbmRleCBkNTg4MjhiLi40NDYxNGVmIDEwMDY0NAotLS0gYS9CVUlM
RC5tZAorKysgYi9CVUlMRC5tZApAQCAtMSw0MSArMSwyNyBAQAogQnVpbGRpbmcgdGhlIFhlblZi
ZCBQYWNrYWdlCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotRmlyc3QgeW91J2xsIG5l
ZWQgYSBkZXZpY2UgZHJpdmVyIGJ1aWxkIGVudmlyb25tZW50IGZvciBXaW5kb3dzIDgsIFdpbmRv
d3MKLTguMSwgb3IgV2luZG93cyAxMC4KLUZvciBXaW5kb3dzIDggdGhpcyBtZWFuczoKLQotKiAg
IFZpc3VhbCBTdHVkaW8gMjAxMiAoUHJvZmVzc2lvbmFsIG9yIFVsdGltYXRlKQotKiAgIFdpbmRv
d3MgRHJpdmVyIEtpdCA4Ci0KLUZvciBXaW5kb3dzIDguMSB0aGlzIG1lYW5zOgotCi0qICAgVmlz
dWFsIFN0dWRpbyAyMDEzIChBbnkgU0tVLCBpbmNsdWRpbmcgRXhwcmVzcykKLSogICBXaW5kb3dz
IERyaXZlciBLaXQgOC4xCi0KLUZvciBXaW5kb3dzIDEwIHRoaXMgbWVhbnM6CitGaXJzdCB5b3Un
bGwgbmVlZCBhIGRldmljZSBkcml2ZXIgYnVpbGQgZW52aXJvbm1lbnQgZm9yIFdpbmRvd3MgMTAu
CitUaGlzIG1lYW5zOgogCiAqICAgVmlzdWFsIFN0dWRpbyAyMDE1IChBbnkgU0tVLCBpbmNsdWRp
bmcgRXhwcmVzcyBvciBDb21tdW5pdHkpCiAqICAgV2luZG93cyBEcml2ZXIgS2l0IDEwCiAKLShT
ZWUgaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy93aW5kb3dzL2hhcmR3YXJlL2hoODUy
MzY1LmFzcHgpLiBZb3UKLW1heSBmaW5kIGl0IHVzZWZ1bCB0byBpbnN0YWxsIFZpcnR1YWxDbG9u
ZURyaXZlIGZyb20gaHR0cDovL3d3dy5zbHlzb2Z0LmNvbQotYXMgVmlzdWFsIFN0dWRpbyBpcyBn
ZW5lcmFsbHkgc3VwcGxpZWQgaW4gSVNPIGZvcm0uCi0KIEluc3RhbGwgVmlzdWFsIFN0dWRpbyBm
aXJzdCAoeW91IG9ubHkgbmVlZCBpbnN0YWxsIE1GQyBmb3IgQysrKSBhbmQgdGhlbgogdGhlIFdE
Sy4gU2V0IGFuIGVudmlyb25tZW50IHZhcmlhYmxlIGNhbGxlZCBWUyB0byB0aGUgYmFzZSBvZiB0
aGUgVmlzdWFsCi1TdHVkaW8gSW5zdGFsbGF0aW9uIChlLmcuIEM6XFByb2dyYW0gRmlsZXNcTWlj
cm9zb2Z0IFZpc3VhbCBTdHVkaW8gMTIuMCkgYW5kCitTdHVkaW8gSW5zdGFsbGF0aW9uIChlLmcu
IEM6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMTQuMCkgYW5kCiBhIHZh
cmlhYmxlIGNhbGxlZCBLSVQgdG8gdGhlIGJhc2Ugb2YgdGhlIFdESwotKGUuZy4gQzpcUHJvZ3Jh
bSBGaWxlc1xXaW5kb3dzIEtpdHNcOC4xKS4gQWxzbyBzZXQgYW4gZW52aXJvbm1lbnQgdmFyaWFi
bGUKKyhlLmcuIEM6XFByb2dyYW0gRmlsZXNcV2luZG93cyBLaXRzXDEwKS4gQWxzbyBzZXQgYW4g
ZW52aXJvbm1lbnQgdmFyaWFibGUKIGNhbGxlZCBTWU1CT0xcX1NFUlZFUiB0byBwb2ludCBhdCBh
IGxvY2F0aW9uIHdoZXJlIGRyaXZlciBzeW1ib2xzIGNhbiBiZQogc3RvcmVkLiBUaGlzIGNhbiBi
ZSBsb2NhbCBkaXJlY3RvcnkgZS5nLiBDOlxTeW1ib2xzLgogCi1OT1RFOiBJZiB5b3UgYXJlIHVz
aW5nIFdESyAxMCB0aGVuIHlvdSB3aWxsIG5lZWQgdG8gYWNxdWlyZSB0aGUgRElGeAotICAgICAg
cmUtZGlzdHJpYnV0YWJsZSBwYWNrYWdlIGZyb20gb25lIG9mIHRoZSBvdGhlciBXREtzLCBzbyB0
aGF0IHRoZQotICAgICAgZHJpdmVyIGJ1aWxkIGNhbiBjb3B5IGRwaW5zdC5leGUgaW50byB0aGUg
b3V0cHV0LgotICAgICAgU2V0IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBEUElOU1RfUkVESVNU
IHRvIHRoZSBiYXNlIGRwaW5zdAotICAgICAgZGlyZWN0b3J5IChpLmUuIHRoZSBkaXJlY3Rvcnkg
dW5kZXIgd2hpY2ggdGhlIHg4NiBhbmQgeDY0IHN1Yi0KLSAgICAgIGRpcmVjdG9yaWVzIGNvbnRh
aW5pbmcgZHBpbnN0LmV4ZSBjYW4gYmUgZm91bmQpLgorWW91IHdpbGwgYWxzbyBuZWVkIHRvIGFj
cXVpcmUgdGhlIERJRnggcmUtZGlzdHJpYnV0YWJsZSBwYWNrYWdlIGZyb20gb25lCitvZiB0aGUg
b2xkZXIgV0RLcyAoYXMgaXQgYXBwZWFycyBub3QgdG8gYmUgcHJlc2VudCBpbiBXREsxMCksIHNv
IHRoYXQgdGhlCitkcml2ZXIgYnVpbGQgY2FuIGNvcHkgZHBpbnN0LmV4ZSBpbnRvIHRoZSBvdXRw
dXQuCitTZXQgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIERQSU5TVF9SRURJU1QgdG8gdGhlIGJh
c2UgZHBpbnN0IGRpcmVjdG9yeQorLSB0aGUgZGlyZWN0b3J5IHVuZGVyIHdoaWNoIHRoZSB4ODYg
YW5kIHg2NCBzdWItZGlyZWN0b3JpZXMgY29udGFpbmluZworZHBpbnN0LmV4ZSBjYW4gYmUgZm91
bmQKKyhlLmcuIEM6XFByb2dyYW0gRmlsZXMgKHg4NilcV2luZG93cyBLaXRzXDguMVxSZWRpc3Rc
RElGeFxkcGluc3RcRW5nTXVpKQogCiBOZXh0IHlvdSdsbCBuZWVkIGEgMy54IHZlcnNpb24gb2Yg
cHl0aG9uICh3aGljaCB5b3UgY2FuIGdldCBmcm9tCiBodHRwOi8vd3d3LnB5dGhvbi5vcmcpLiBN
YWtlIHN1cmUgcHl0aG9uLmV4ZSBpcyBzb21ld2hlcmUgb24geW91ciBkZWZhdWx0CmRpZmYgLS1n
aXQgYS9idWlsZC5weSBiL2J1aWxkLnB5CmluZGV4IDk3YmFhYmIuLjBjYmJjNTIgMTAwNzU1Ci0t
LSBhL2J1aWxkLnB5CisrKyBiL2J1aWxkLnB5CkBAIC0yMDUsNiArMjA1LDI4IEBAIGRlZiBidWls
ZF9zbG4obmFtZSwgcmVsZWFzZSwgYXJjaCwgZGVidWcsIHZzKToKIAogICAgIG1zYnVpbGQocGxh
dGZvcm0sIGNvbmZpZ3VyYXRpb24sICdCdWlsZCcsIG5hbWUgKyAnLnNsbicsICcnLCB2cykKIAor
ZGVmIGNvcHlfcGFja2FnZShuYW1lLCByZWxlYXNlLCBhcmNoLCBkZWJ1ZywgdnMpOgorICAgIGNv
bmZpZ3VyYXRpb24gPSBnZXRfY29uZmlndXJhdGlvbihyZWxlYXNlLCBkZWJ1ZykKKworICAgIGlm
IGFyY2ggPT0gJ3g4Nic6CisgICAgICAgIHBsYXRmb3JtID0gJ1dpbjMyJworICAgIGVsaWYgYXJj
aCA9PSAneDY0JzoKKyAgICAgICAgcGxhdGZvcm0gPSAneDY0JworCisgICAgcGF0dGVybiA9ICcv
Jy5qb2luKFt2cywgJycuam9pbihjb25maWd1cmF0aW9uLnNwbGl0KCcgJykpLCBwbGF0Zm9ybSwg
J3BhY2thZ2UnLCAnKiddKQorICAgIHByaW50KCdDb3B5aW5nIHBhY2thZ2UgZnJvbSAlcycgJSBw
YXR0ZXJuKQorCisgICAgZmlsZXMgPSBnbG9iLmdsb2IocGF0dGVybikKKworICAgIGRzdCA9IG9z
LnBhdGguam9pbihuYW1lLCBhcmNoKQorCisgICAgb3MubWFrZWRpcnMoZHN0LCBleGlzdF9vaz1U
cnVlKQorCisgICAgZm9yIGZpbGUgaW4gZmlsZXM6CisgICAgICAgIG5ldyA9IHNodXRpbC5jb3B5
KGZpbGUsIGRzdCkKKyAgICAgICAgcHJpbnQobmV3KQorCisgICAgcHJpbnQoJycpCiAKIGRlZiBy
ZW1vdmVfdGltZXN0YW1wcyhwYXRoKToKICAgICB0cnk6CkBAIC00MDEsOCArNDIzLDEzIEBAIGlm
IF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgICAgICAgICAgICAgJ3ZzMjAxMyc6J1dpbmRv
d3MgNycsCiAgICAgICAgICAgICAgICAgJ3ZzMjAxNSc6J1dpbmRvd3MgOCcgfQogCisgICAgc2h1
dGlsLnJtdHJlZShkcml2ZXIsIGlnbm9yZV9lcnJvcnM9VHJ1ZSkKKwogICAgIGJ1aWxkX3Nsbihk
cml2ZXIsIHJlbGVhc2VbdnNdLCAneDg2JywgZGVidWdbc3lzLmFyZ3ZbMV1dLCB2cykKKyAgICBj
b3B5X3BhY2thZ2UoZHJpdmVyLCByZWxlYXNlW3ZzXSwgJ3g4NicsIGRlYnVnW3N5cy5hcmd2WzFd
XSwgdnMpCisKICAgICBidWlsZF9zbG4oZHJpdmVyLCByZWxlYXNlW3ZzXSwgJ3g2NCcsIGRlYnVn
W3N5cy5hcmd2WzFdXSwgdnMpCisgICAgY29weV9wYWNrYWdlKGRyaXZlciwgcmVsZWFzZVt2c10s
ICd4NjQnLCBkZWJ1Z1tzeXMuYXJndlsxXV0sIHZzKQogCiAgICAgc3ltc3RvcmVfYWRkKGRyaXZl
ciwgcmVsZWFzZVt2c10sICd4ODYnLCBkZWJ1Z1tzeXMuYXJndlsxXV0sIHZzKQogICAgIHN5bXN0
b3JlX2FkZChkcml2ZXIsIHJlbGVhc2VbdnNdLCAneDY0JywgZGVidWdbc3lzLmFyZ3ZbMV1dLCB2
cykKZGlmZiAtLWdpdCBhL3ZzMjAxMi9jb2luc3QveGVudmJkX2NvaW5zdC52Y3hwcm9qIGIvdnMy
MDEyL2NvaW5zdC94ZW52YmRfY29pbnN0LnZjeHByb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGY4M2VkZmMuLjAwMDAwMDAKLS0tIGEvdnMyMDEyL2NvaW5zdC94ZW52YmRfY29pbnN0
LnZjeHByb2oKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBU
b29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2
ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0JPEltcG9ydCBQcm9qZWN0PSIuLlxjb25maWdzLnByb3Bz
IiAvPgotCQotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0JICAgIDxE
cml2ZXJUeXBlPldETTwvRHJpdmVyVHlwZT4gCi0JCTxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0Fw
cGxpY2F0aW9uRm9yRHJpdmVyczguMDwvUGxhdGZvcm1Ub29sc2V0PgotCQk8Q29uZmlndXJhdGlv
blR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotCQk8RHJpdmVyVHlwZT5X
RE08L0RyaXZlclR5cGU+Ci0JPC9Qcm9wZXJ0eUdyb3VwPgotCTxQcm9wZXJ0eUdyb3VwIExhYmVs
PSJHbG9iYWxzIj4KLQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyBWaXN0YSBEZWJ1ZzwvQ29uZmln
dXJhdGlvbj4KLQkJPFBsYXRmb3JtIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAnJyI+V2lu
MzI8L1BsYXRmb3JtPiAKLQkJPERlYnVnZ2VyRmxhdm9yPkRiZ2VuZ0tlcm5lbERlYnVnZ2VyPC9E
ZWJ1Z2dlckZsYXZvcj4gCi0JPC9Qcm9wZXJ0eUdyb3VwPgotCQotCTxJbXBvcnQgUHJvamVjdD0i
JChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0JCi0JPFBy
b3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotCQk8UHJvamVjdEd1aWQ+ezUwQzA4NDM3LUMx
RjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5OX08L1Byb2plY3RHdWlkPgotCTwvUHJvcGVydHlHcm91
cD4KLQkKLQk8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+Ci0JPEltcG9ydCBQ
cm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+IAotCi0JPFBy
b3BlcnR5R3JvdXA+Ci0JCTxEZWJ1Z2dlckZsYXZvcj5EYmdlbmdLZXJuZWxEZWJ1Z2dlcjwvRGVi
dWdnZXJGbGF2b3I+Ci0JCTxJbmNsdWRlUGF0aD4kKFByb2plY3REaXIpLi5cLi5caW5jbHVkZTsk
KEluY2x1ZGVQYXRoKTwvSW5jbHVkZVBhdGg+Ci0JCTxSdW5Db2RlQW5hbHlzaXM+dHJ1ZTwvUnVu
Q29kZUFuYWx5c2lzPgotCQk8RW5hYmxlSW5mMmNhdD5mYWxzZTwvRW5hYmxlSW5mMmNhdD4KLQkJ
PEludERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3Jt
KVw8L0ludERpcj4KLQkJPE91dERpcj4uLlwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3Jt
KVw8L091dERpcj4KLQk8L1Byb3BlcnR5R3JvdXA+Ci0JCi0JPEl0ZW1EZWZpbml0aW9uR3JvdXA+
Ci0JCTxDbENvbXBpbGU+Ci0JCQk8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVfXz0i
WEVOVkJEX0NPSU5TVCI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRl
ZmluaXRpb25zPgotCQkJPFdhcm5pbmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xl
dmVsPgotCQkJPERpc2FibGVTcGVjaWZpY1dhcm5pbmdzPjQxMjc7NDU0ODs0NzExOzQ4MjA7NDY2
ODs0MjU1OzYwMDE7NjA1NDsyODE5NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJs
ZVNwZWNpZmljV2FybmluZ3M+Ci0JCQk8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50cnVlPC9N
dWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPgotCQkJPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwvRW5hYmxl
UFJFZmFzdD4KLQkJCTxSdW50aW1lTGlicmFyeSBDb25kaXRpb249IickKFVzZURlYnVnTGlicmFy
aWVzKSc9PSd0cnVlJyI+TXVsdGlUaHJlYWRlZERlYnVnPC9SdW50aW1lTGlicmFyeT4KLQkJCTxS
dW50aW1lTGlicmFyeSBDb25kaXRpb249IickKFVzZURlYnVnTGlicmFyaWVzKSc9PSdmYWxzZSci
Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgotCQk8L0NsQ29tcGlsZT4KLQkJPExpbms+
Ci0JCQk8TW9kdWxlRGVmaW5pdGlvbkZpbGU+Li4vLi4vc3JjL2NvaW5zdC94ZW52YmRfY29pbnN0
LmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+Ci0JCQk8QWRkaXRpb25hbERlcGVuZGVuY2llcz5z
ZXR1cGFwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVu
Y2llcz4KLQkJPC9MaW5rPgotCTwvSXRlbURlZmluaXRpb25Hcm91cD4KLQk8SXRlbURlZmluaXRp
b25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgotCQk8Q2xDb21waWxl
PgotCQkJPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9faTM4Nl9fOyUoUHJlcHJvY2Vzc29yRGVm
aW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLQkJPC9DbENvbXBpbGU+Ci0JPC9J
dGVtRGVmaW5pdGlvbkdyb3VwPgotCTxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQo
UGxhdGZvcm0pJz09J3g2NCciPgotCQk8Q2xDb21waWxlPgotCQkJPFByZXByb2Nlc3NvckRlZmlu
aXRpb25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3Nv
ckRlZmluaXRpb25zPgotCQk8L0NsQ29tcGlsZT4KLQk8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0J
Ci0JPEl0ZW1Hcm91cD4KLQkJPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoVGFyZ2V0UGF0aCki
IC8+Ci0JCTxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKE91dERpcikkKFRhcmdldE5hbWUpLnBk
YiIgLz4KLQkJPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IkAoSW5mLT4nJShDb3B5T3V0cHV0KScp
IiBDb25kaXRpb249IidAKEluZiknIT0nJyIgLz4KLQk8L0l0ZW1Hcm91cD4KLQk8SXRlbUdyb3Vw
PgotCQk8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1xjb2luc3RcY29pbnN0LmMiIC8+Ci0J
PC9JdGVtR3JvdXA+Ci0JPEl0ZW1Hcm91cD4KLQkJPE5vbmUgSW5jbHVkZT0iLi5cLi5cc3JjXGNv
aW5zdFx4ZW52YmRfY29pbnN0LmRlZiIgLz4KLQk8L0l0ZW1Hcm91cD4KLQk8SW1wb3J0IFByb2pl
Y3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgotPC9Qcm9qZWN0
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3ZzMjAxMi9jb2luc3Qv
eGVudmJkX2NvaW5zdC52Y3hwcm9qLnVzZXIgYi92czIwMTIvY29pbnN0L3hlbnZiZF9jb2luc3Qu
dmN4cHJvai51c2VyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjJiMjEwLi4wMDAw
MDAwCi0tLSBhL3ZzMjAxMi9jb2luc3QveGVudmJkX2NvaW5zdC52Y3hwcm9qLnVzZXIKKysrIC9k
ZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0
Zi04Ij8+Ci08UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFz
Lm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0JPFByb3BlcnR5R3JvdXA+
Ci0JCTxTaWduTW9kZT5UZXN0U2lnbjwvU2lnbk1vZGU+Ci0JCTxUZXN0Q2VydGlmaWNhdGU+Li5c
Li5cc3JjXHhlbnZiZC5wZng8L1Rlc3RDZXJ0aWZpY2F0ZT4KLQkJPFRpbWVTdGFtcFNlcnZlcj5o
dHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRzL3RpbXN0YW1wLmRsbDwvVGltZVN0
YW1wU2VydmVyPgotCTwvUHJvcGVydHlHcm91cD4KLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3Zz
MjAxMi9jb25maWdzLnByb3BzIGIvdnMyMDEyL2NvbmZpZ3MucHJvcHMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDI1NjdiY2YuLjAwMDAwMDAKLS0tIGEvdnMyMDEyL2NvbmZpZ3MucHJv
cHMKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1Zl
cnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVy
L21zYnVpbGQvMjAwMyI+IAotCTxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9u
cyI+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA4IERlYnVnfFdp
bjMyIj4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDggRGVidWc8L0NvbmZpZ3VyYXRpb24+
IAotCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRp
b24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA3IERlYnVnfFdp
bjMyIj4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDcgRGVidWc8L0NvbmZpZ3VyYXRpb24+
IAotCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRp
b24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyBWaXN0YSBEZWJ1
Z3xXaW4zMiI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyBWaXN0YSBEZWJ1ZzwvQ29uZmln
dXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29u
ZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDgg
UmVsZWFzZXxXaW4zMiI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA4IFJlbGVhc2U8L0Nv
bmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVj
dENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93
cyA3IFJlbGVhc2V8V2luMzIiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgNyBSZWxlYXNl
PC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+IAotCQk8L1By
b2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9Ildp
bmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMiI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyBW
aXN0YSBSZWxlYXNlPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZv
cm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9u
IEluY2x1ZGU9IldpbmRvd3MgOCBEZWJ1Z3x4NjQiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRv
d3M4IERlYnVnPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPiAK
LQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNs
dWRlPSJXaW5kb3dzIDcgRGVidWd8eDY0Ij4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDcg
RGVidWc8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+IAotCQk8
L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9
IldpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ij4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZp
c3RhIERlYnVnPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPiAK
LQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNs
dWRlPSJXaW5kb3dzIDggUmVsZWFzZXx4NjQiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3Mg
OCBSZWxlYXNlPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPiAK
LQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNs
dWRlPSJXaW5kb3dzIDcgUmVsZWFzZXx4NjQiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3Mg
NyBSZWxlYXNlPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPiAK
LQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNs
dWRlPSJXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ij4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5k
b3dzIFZpc3RhIFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPng2NDwvUGxh
dGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQk8L0l0ZW1Hcm91cD4gCi08L1By
b2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdnMyMDEyL3Bh
Y2thZ2UvcGFja2FnZS52Y3hwcm9qIGIvdnMyMDEyL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NzgyZjE5Li4wMDAwMDAwCi0tLSBhL3ZzMjAx
Mi9wYWNrYWdlL3BhY2thZ2UudmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAK
LTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0
VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMu
bWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLQk8SW1wb3J0IFByb2plY3Q9
Ii4uXGNvbmZpZ3MucHJvcHMiIC8+Ci0KLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvcGVydHlT
aGVldHMiPgotCQk8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4wPC9Q
bGF0Zm9ybVRvb2xzZXQ+Ci0JCTxDb25maWd1cmF0aW9uVHlwZT5VdGlsaXR5PC9Db25maWd1cmF0
aW9uVHlwZT4KLQkJPERyaXZlclR5cGU+UGFja2FnZTwvRHJpdmVyVHlwZT4KLQkJPERpc2FibGVG
YXN0VXBUb0RhdGVDaGVjaz50cnVlPC9EaXNhYmxlRmFzdFVwVG9EYXRlQ2hlY2s+Ci0JPC9Qcm9w
ZXJ0eUdyb3VwPgotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLQkJPENvbmZpZ3Vy
YXRpb24+V2luZG93cyBWaXN0YSBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4KLQkJPFBsYXRmb3JtIENv
bmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAnJyI+V2luMzI8L1BsYXRmb3JtPiAKLQkJPERlYnVn
Z2VyRmxhdm9yPkRiZ2VuZ0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4gCi0JPC9Qcm9w
ZXJ0eUdyb3VwPgotCQotCTxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3Nv
ZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0JCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2Jh
bHMiPgotCQk8UHJvamVjdEd1aWQ+e0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3
Mn08L1Byb2plY3RHdWlkPgotCTwvUHJvcGVydHlHcm91cD4KLQkKLQk8SW1wb3J0IFByb2plY3Q9
Ii4uXHRhcmdldHMucHJvcHMiIC8+Ci0JPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgp
XE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+IAotCQotCTxQcm9wZXJ0eUdyb3VwPgotCQk8RW5hYmxl
SW5mMmNhdD50cnVlPC9FbmFibGVJbmYyY2F0PgotCQk8SW5mMkNhdFdpbmRvd3NWZXJzaW9uTGlz
dCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIj5WaXN0YV94NjQ7U2VydmVyMjAwOF94
NjQ7N194NjQ7U2VydmVyMjAwOFIyX3g2NDs4X3g2NDtTZXJ2ZXI4X3g2NDwvSW5mMkNhdFdpbmRv
d3NWZXJzaW9uTGlzdD4KLQkJPEluZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3QgQ29uZGl0aW9uPSIn
JChQbGF0Zm9ybSknPT0nV2luMzInIj5WaXN0YV94ODY7U2VydmVyMjAwOF94ODY7N194ODY7OF94
ODY8L0luZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3Q+Ci0JCTxEZWJ1Z2dlckZsYXZvcj5EYmdlbmdL
ZXJuZWxEZWJ1Z2dlcjwvRGVidWdnZXJGbGF2b3I+Ci0JCTxFbmFibGVEZXBsb3ltZW50PkZhbHNl
PC9FbmFibGVEZXBsb3ltZW50PgotCQk8SW1wb3J0VG9TdG9yZT5GYWxzZTwvSW1wb3J0VG9TdG9y
ZT4KLQkJPEluc3RhbGxNb2RlPk5vbmU8L0luc3RhbGxNb2RlPgotCQk8U2NyaXB0RGV2aWNlUXVl
cnk+JVBhdGhUb0luZiU8L1NjcmlwdERldmljZVF1ZXJ5PgotCQk8RW5hYmxlVmVyaWZpZXI+RmFs
c2U8L0VuYWJsZVZlcmlmaWVyPgotCQk8QWxsRHJpdmVycz5GYWxzZTwvQWxsRHJpdmVycz4KLQkJ
PFZlcmlmeVByb2plY3RPdXRwdXQ+VHJ1ZTwvVmVyaWZ5UHJvamVjdE91dHB1dD4KLQkJPFZlcmlm
eUZsYWdzPjEzMzU2MzwvVmVyaWZ5RmxhZ3M+Ci0JCTxJbnREaXI+Li5cJChQcm9qZWN0TmFtZSlc
JChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9JbnREaXI+Ci0JCTxPdXREaXI+Li5c
JChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9PdXREaXI+Ci0JCTxQYWNrYWdlRGly
Pi4uXC4uXHhlbnZiZFwkKERES1BsYXRmb3JtKTwvUGFja2FnZURpcj4KLQk8L1Byb3BlcnR5R3Jv
dXA+Ci0JCi0JPEl0ZW1Hcm91cD4KLQkJPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5cY29p
bnN0XHhlbnZiZF9jb2luc3QudmN4cHJvaiI+Ci0JCQk8UHJvamVjdD57NTBjMDg0MzctYzFmMy00
MzQ5LWJmNmEtN2I1NWEwNmJmOTk5fTwvUHJvamVjdD4KLQkJPC9Qcm9qZWN0UmVmZXJlbmNlPgot
CQk8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlx4ZW5jcnNoXHhlbmNyc2gudmN4cHJvaiI+
Ci0JCQk8UHJvamVjdD57NThmNWJjNDMtYjkyZS00YTJiLTk3NWQtMDA2NmVhYjI5MDkyfTwvUHJv
amVjdD4KLQkJPC9Qcm9qZWN0UmVmZXJlbmNlPgotCQk8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRl
PSIuLlx4ZW52YmRceGVudmJkLnZjeHByb2oiPgotCQkJPFByb2plY3Q+e2VmMjM2MzcxLTMxNDUt
NDFiMS05OWM5LTgyYjMzZTM1M2YxN308L1Byb2plY3Q+Ci0JCTwvUHJvamVjdFJlZmVyZW5jZT4K
LQkJPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5ceGVuZGlza1x4ZW5kaXNrLnZjeHByb2oi
PgotCQkJPFByb2plY3Q+e2Q3NDExYjJjLTJjNDMtNDM0ZC05ZjU2LWUxMGEzZDJmNWJhZH08L1By
b2plY3Q+Ci0JCTwvUHJvamVjdFJlZmVyZW5jZT4KLQk8L0l0ZW1Hcm91cD4KLQk8SXRlbUdyb3Vw
PgotCQk8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChLSVQpXFJlZGlzdFxESUZ4XGRwaW5zdFxF
bmdNdWlceDg2XGRwaW5zdC5leGUiIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyIg
Lz4KLQkJPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoS0lUKVxSZWRpc3RcRElGeFxkcGluc3Rc
RW5nTXVpXHg2NFxkcGluc3QuZXhlIiBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIiAv
PgotCTwvSXRlbUdyb3VwPgotCTxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNy
b3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci0JPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJn
ZXRzIj4KLQk8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL3ZzMjAxMi9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2VyIGIv
dnMyMDEyL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qLnVzZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDBiMmIyMTAuLjAwMDAwMDAKLS0tIGEvdnMyMDEyL3BhY2thZ2UvcGFja2FnZS52
Y3hwcm9qLnVzZXIKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249
IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1s
bnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+
Ci0JPFByb3BlcnR5R3JvdXA+Ci0JCTxTaWduTW9kZT5UZXN0U2lnbjwvU2lnbk1vZGU+Ci0JCTxU
ZXN0Q2VydGlmaWNhdGU+Li5cLi5cc3JjXHhlbnZiZC5wZng8L1Rlc3RDZXJ0aWZpY2F0ZT4KLQkJ
PFRpbWVTdGFtcFNlcnZlcj5odHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRzL3Rp
bXN0YW1wLmRsbDwvVGltZVN0YW1wU2VydmVyPgotCTwvUHJvcGVydHlHcm91cD4KLTwvUHJvamVj
dD4KZGlmZiAtLWdpdCBhL3ZzMjAxMi90YXJnZXRzLnByb3BzIGIvdnMyMDEyL3RhcmdldHMucHJv
cHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM4YWJhOTIuLjAwMDAwMDAKLS0tIGEv
dnMyMDEyL3RhcmdldHMucHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi08P3ht
bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdl
dHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jv
c29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0JPFByb3BlcnR5R3JvdXAgTGFiZWw9
IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nV2luZG93cyA4IERlYnVnfFdpbjMyJyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwv
VGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJh
cmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmln
dXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5k
b3dzIDggUmVsZWFzZXxXaW4zMiciPiAKLQkJPFRhcmdldFZlcnNpb24+V2luZG93czg8L1Rhcmdl
dFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVz
PiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0
aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3Mg
OCBEZWJ1Z3x4NjQnIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRWZXJzaW9u
PiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1By
b3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBSZWxlYXNl
fHg2NCciPiAKLQkJPFRhcmdldFZlcnNpb24+V2luZG93czg8L1RhcmdldFZlcnNpb24+IAotCQk8
VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5
R3JvdXA+Ci0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IERlYnVnfFdpbjMyJyI+
IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzNzwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1
Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAK
LQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMiciPiAKLQkJ
PFRhcmdldFZlcnNpb24+V2luZG93czc8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJy
YXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQ
cm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBEZWJ1Z3x4NjQnIj4gCi0JCTxUYXJnZXRW
ZXJzaW9uPldpbmRvd3M3PC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPnRy
dWU8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdy
b3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1dpbmRvd3MgNyBSZWxlYXNlfHg2NCciPiAKLQkJPFRhcmdldFZlcnNpb24+
V2luZG93czc8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1Vz
ZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+Ci0JPFByb3BlcnR5R3JvdXAgTGFi
ZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMiciPiAKLQkJPFRhcmdldFZlcnNpb24+Vmlz
dGE8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdM
aWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNv
bmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
V2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyJyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5WaXN0YTwv
VGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJy
YXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZp
Z3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2lu
ZG93cyBWaXN0YSBEZWJ1Z3x4NjQnIj4gCi0JCTxUYXJnZXRWZXJzaW9uPlZpc3RhPC9UYXJnZXRW
ZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPiAK
LQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9u
IiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgVmlz
dGEgUmVsZWFzZXx4NjQnIj4gCi0JCTxUYXJnZXRWZXJzaW9uPlZpc3RhPC9UYXJnZXRWZXJzaW9u
PiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Q
cm9wZXJ0eUdyb3VwPgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDEyL3hlbmNyc2gveGVu
Y3JzaC52Y3hwcm9qIGIvdnMyMDEyL3hlbmNyc2gveGVuY3JzaC52Y3hwcm9qCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBmYTI0ZDM3Li4wMDAwMDAwCi0tLSBhL3ZzMjAxMi94ZW5jcnNo
L3hlbmNyc2gudmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDk0ICswLDAgQEAKLTw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0i
QnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0
LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLQk8SW1wb3J0IFByb2plY3Q9Ii4uXGNvbmZp
Z3MucHJvcHMiIC8+Ci0JCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotCQk8Q29u
ZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVnPC9Db25maWd1cmF0aW9uPgotCQk8UGxhdGZv
cm0gQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICcnIj5XaW4zMjwvUGxhdGZvcm0+IAotCQk8
RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8L0RlYnVnZ2VyRmxhdm9yPiAKLQk8
L1Byb3BlcnR5R3JvdXA+Ci0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4K
LQkJPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJUeXBlPgotCQk8UGxhdGZvcm1Ub29sc2V0PldpbmRv
d3NLZXJuZWxNb2RlRHJpdmVyOC4wPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0JCTxDb25maWd1cmF0aW9u
VHlwZT5Ecml2ZXI8L0NvbmZpZ3VyYXRpb25UeXBlPgotCTwvUHJvcGVydHlHcm91cD4KLQkKLQk8
SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnBy
b3BzIiAvPgotCQotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLQkJPFByb2plY3RH
dWlkPns1OEY1QkM0My1COTJFLTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9PC9Qcm9qZWN0R3VpZD4K
LQk8L1Byb3BlcnR5R3JvdXA+Ci0JCi0JPEltcG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRzLnByb3Bz
IiAvPgotCTxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnBy
b3BzIiAvPiAKLQkKLQk8UHJvcGVydHlHcm91cD4KLQkJPEluY2x1ZGVQYXRoPi4uXC4uXGluY2x1
ZGU7Li5cLi5cc3JjXGNvbW1vbjskKEluY2x1ZGVQYXRoKTwvSW5jbHVkZVBhdGg+Ci0JCTxSdW5D
b2RlQW5hbHlzaXM+dHJ1ZTwvUnVuQ29kZUFuYWx5c2lzPgotCQk8RW5hYmxlSW5mMmNhdD5mYWxz
ZTwvRW5hYmxlSW5mMmNhdD4KLQkJPEludERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3Vy
YXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L0ludERpcj4KLQkJPE91dERpcj4uLlwkKENvbmZpZ3Vy
YXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L091dERpcj4KLQk8L1Byb3BlcnR5R3JvdXA+Ci0JCi0g
ICAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0JCTxDbENvbXBpbGU+Ci0JCQk8UHJlcHJvY2Vzc29y
RGVmaW5pdGlvbnM+X19NT0RVTEVfXz0iWEVOQ1JTSCI7UE9PTF9OWF9PUFRJTj0xOyUoUHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLQkJCTxXYXJuaW5n
TGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KLQkJCTxEaXNhYmxlU3BlY2lm
aWNXYXJuaW5ncz40NTQ4OzQ3MTE7NDgyMDs0NjY4OzQyNTU7NjAwMTs2MDU0OzI4MTk2OyUoRGlz
YWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4KLQkJCTxNdWx0
aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+Ci0J
CQk8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFibGVQUkVmYXN0PgotCQk8L0NsQ29tcGlsZT4KLQkJ
PExpbms+Ci0JCQk8SW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+ZmFsc2U8L0ltYWdlSGFz
U2FmZUV4Y2VwdGlvbkhhbmRsZXJzPgotCQkJPE1vZHVsZURlZmluaXRpb25GaWxlPi4uLy4uL3Ny
Yy94ZW5jcnNoL3hlbmNyc2guZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KLQkJCTxBZGRpdGlv
bmFsRGVwZW5kZW5jaWVzPiQoRERLX0xJQl9QQVRIKS9zdG9ycG9ydC5saWI7JChEREtfTElCX1BB
VEgpL2xpYmNudHByLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVw
ZW5kZW5jaWVzPgotCQk8L0xpbms+Ci0JPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotCTxJdGVtRGVm
aW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+Ci0JCTxDbENv
bXBpbGU+Ci0JCQk8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19pMzg2X187JShQcmVwcm9jZXNz
b3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotCQk8L0NsQ29tcGlsZT4K
LQk8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0JPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9u
PSInJChQbGF0Zm9ybSknPT0neDY0JyI+Ci0JCTxDbENvbXBpbGU+Ci0JCQk8UHJlcHJvY2Vzc29y
RGVmaW5pdGlvbnM+X194ODZfNjRfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM+Ci0JCTwvQ2xDb21waWxlPgotCTwvSXRlbURlZmluaXRpb25Hcm91
cD4KLQotCTxJdGVtR3JvdXA+Ci0JCTxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKFRhcmdldFBh
dGgpIiAvPgotCQk8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1l
KS5wZGIiIC8+Ci0JCTxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSJAKEluZi0+JyUoQ29weU91dHB1
dCknKSIgQ29uZGl0aW9uPSInQChJbmYpJyE9JyciIC8+Ci0JPC9JdGVtR3JvdXA+Ci0JPEl0ZW1H
cm91cD4KLQkJPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuY3JzaFxhdXN0ZXJlLmMi
IC8+Ci0JCTxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hcYnVmZmVyLmMiIC8+
Ci0JCTxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hcZHJpdmVyLmMiIC8+Ci0J
CTxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hcZXZ0Y2huLmMiIC8+Ci0JCTxD
bENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hcZmRvLmMiIC8+Ci0JCTxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hcZnJvbnRlbmQuYyIgLz4KLQkJPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuY3JzaFxnbnR0YWIuYyIgLz4KLQkJPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlwuLlxzcmNceGVuY3JzaFxodm0uYyIgLz4KLQkJPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlwuLlxzcmNceGVuY3JzaFxoeXBlcmNhbGxfc3R1Yi5jIiAvPgotCQk8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXC4uXHNyY1x4ZW5jcnNoXGxvZy5jIiAvPgotCQk8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXC4uXHNyY1x4ZW5jcnNoXHBkby5jIiAvPgotCQk8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4u
XHNyY1x4ZW5jcnNoXHBkb2lucXVpcnkuYyIgLz4KLQkJPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwu
LlxzcmNceGVuY3JzaFxxdWV1ZS5jIiAvPgotCQk8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNy
Y1x4ZW5jcnNoXHN0b3JlLmMiIC8+Ci0JPC9JdGVtR3JvdXA+Ci0JPEl0ZW1Hcm91cD4KLQkJPE1B
U00gSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hcYW1kNjRcaHlwZXJjYWxsLmFzbSI+Ci0JCQk8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KLQkJPC9NQVNNPgotCQk8TUFTTSBJbmNsdWRlPSIuLlwuLlxz
cmNceGVuY3JzaFxpMzg2XGh5cGVyY2FsbC5hc20iPgotCQkJPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgot
CQk8L01BU00+Ci0JPC9JdGVtR3JvdXA+Ci0JPEl0ZW1Hcm91cD4KLQkJPFJlc291cmNlQ29tcGls
ZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuY3JzaFx4ZW5jcnNoLnJjIiAvPgotCTwvSXRlbUdyb3Vw
PgotCTxJdGVtR3JvdXA+Ci0JCTxOb25lIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5jcnNoXHhlbmNy
c2guZGVmIiAvPgotCTwvSXRlbUdyb3VwPgotCTxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQ
YXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92
czIwMTIveGVuY3JzaC94ZW5jcnNoLnZjeHByb2oudXNlciBiL3ZzMjAxMi94ZW5jcnNoL3hlbmNy
c2gudmN4cHJvai51c2VyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjJiMjEwLi4w
MDAwMDAwCi0tLSBhL3ZzMjAxMi94ZW5jcnNoL3hlbmNyc2gudmN4cHJvai51c2VyCisrKyAvZGV2
L251bGwKQEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYt
OCI/PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5t
aWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotCTxQcm9wZXJ0eUdyb3VwPgot
CQk8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgotCQk8VGVzdENlcnRpZmljYXRlPi4uXC4u
XHNyY1x4ZW52YmQucGZ4PC9UZXN0Q2VydGlmaWNhdGU+Ci0JCTxUaW1lU3RhbXBTZXJ2ZXI+aHR0
cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1RpbWVTdGFt
cFNlcnZlcj4KLQk8L1Byb3BlcnR5R3JvdXA+Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIw
MTIveGVuZGlzay94ZW5kaXNrLnZjeHByb2ogYi92czIwMTIveGVuZGlzay94ZW5kaXNrLnZjeHBy
b2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwZDc5ODMuLjAwMDAwMDAKLS0tIGEv
dnMyMDEyL3hlbmRpc2sveGVuZGlzay52Y3hwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAs
MCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERl
ZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2No
ZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotCTxJbXBvcnQgUHJv
amVjdD0iLi5cY29uZmlncy5wcm9wcyIgLz4KLQotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9i
YWxzIj4KLQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyBWaXN0YSBEZWJ1ZzwvQ29uZmlndXJhdGlv
bj4KLQkJPFBsYXRmb3JtIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAnJyI+V2luMzI8L1Bs
YXRmb3JtPgotCQk8RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8L0RlYnVnZ2Vy
Rmxhdm9yPgotCTwvUHJvcGVydHlHcm91cD4KLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvZXBy
dHlTaGVldHMiPgotCQk8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4w
PC9QbGF0Zm9ybVRvb2xzZXQ+Ci0JCTxDb25maWd1cmF0aW9uVHlwZT5Ecml2ZXI8L0NvbmZpZ3Vy
YXRpb25UeXBlPgotCQk8RHJpdmVyVHlwZT5XRE08L0RyaXZlclR5cGU+Ci0JPC9Qcm9wZXJ0eUdy
b3VwPgotCi0JPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAu
RGVmYXVsdC5wcm9wcyIgLz4KLQotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLQkJ
PFByb2plY3RHdWlkPntENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9PC9Qcm9q
ZWN0R3VpZD4KLQk8L1Byb3BlcnR5R3JvdXA+Ci0KLQk8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdl
dHMucHJvcHMiIC8+Ci0JPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29m
dC5DcHAucHJvcHMiIC8+Ci0KLQk8UHJvcGVydHlHcm91cD4KLQkJPEluY2x1ZGVQYXRoPiQoUHJv
amVjdERpcikuLlwuLlxpbmNsdWRlOy4uXC4uXHNyY1xjb21tb247JChJbmNsdWRlUGF0aCk8L0lu
Y2x1ZGVQYXRoPgotCQk8UnVuQ29kZUFuYWx5c2lzPnRydWU8L1J1bkNvZGVBbmFseXNpcz4KLQkJ
PEVuYWJsZUluZjJjYXQ+ZmFsc2U8L0VuYWJsZUluZjJjYXQ+Ci0JCTxJbnREaXI+Li5cJChQcm9q
ZWN0TmFtZSlcJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9JbnREaXI+Ci0JCTxP
dXREaXI+Li5cJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9PdXREaXI+Ci0JPC9Q
cm9wZXJ0eUdyb3VwPgotCi0JPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0JCTxDbENvbXBpbGU+Ci0J
CQk8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KLQkJCTxQ
cmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX01PRFVMRV9fPSJYRU5ESVNLIjtQT09MX05YX09QVElO
PTE7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgot
CQkJPFdhcm5pbmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgotCQkJPERp
c2FibGVTcGVjaWZpY1dhcm5pbmdzPjQ1NDg7NDcxMTs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7
MjgxOTY7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdz
PgotCQkJPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21w
aWxhdGlvbj4KLQkJCTxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+Ci0JCTwvQ2xD
b21waWxlPgotCQk8TGluaz4KLQkJCTxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoRERLX0xJQl9Q
QVRIKS9saWJjbnRwci5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERl
cGVuZGVuY2llcz4KLQkJPC9MaW5rPgotCQk8SW5mPgotCQkJPFNwZWNpZnlBcmNoaXRlY3R1cmU+
dHJ1ZTwvU3BlY2lmeUFyY2hpdGVjdHVyZT4KLQkJCTxTcGVjaWZ5RHJpdmVyVmVyRGlyZWN0aXZl
VmVyc2lvbj50cnVlPC9TcGVjaWZ5RHJpdmVyVmVyRGlyZWN0aXZlVmVyc2lvbj4KLQkJCTxUaW1l
U3RhbXA+JChNQUpPUl9WRVJTSU9OKS4kKE1JTk9SX1ZFUlNJT04pLiQoTUlDUk9fVkVSU0lPTiku
JChCVUlMRF9OVU1CRVIpPC9UaW1lU3RhbXA+Ci0JCQk8RW5hYmxlVmVyYm9zZT50cnVlPC9FbmFi
bGVWZXJib3NlPgotCQk8L0luZj4KLQk8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0JPEl0ZW1EZWZp
bml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIj4KLQkJPENsQ29t
cGlsZT4KLQkJCTxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX2kzODZfXzslKFByZXByb2Nlc3Nv
ckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0JCTwvQ2xDb21waWxlPgot
CQk8SW5mPgotCQkJPEFyY2hpdGVjdHVyZT54ODY8L0FyY2hpdGVjdHVyZT4KLQkJPC9JbmY+Ci0J
PC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotCTxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0i
JyQoUGxhdGZvcm0pJz09J3g2NCciPgotCQk8Q2xDb21waWxlPgotCQkJPFByZXByb2Nlc3NvckRl
ZmluaXRpb25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nl
c3NvckRlZmluaXRpb25zPgotCQk8L0NsQ29tcGlsZT4KLQkJPEluZj4KLQkJCTxBcmNoaXRlY3R1
cmU+YW1kNjQ8L0FyY2hpdGVjdHVyZT4KLQkJPC9JbmY+Ci0JPC9JdGVtRGVmaW5pdGlvbkdyb3Vw
PgotCi0JPEl0ZW1Hcm91cD4KLQkJPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoVGFyZ2V0UGF0
aCkiIC8+Ci0JCTxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKE91dERpcikkKFRhcmdldE5hbWUp
LnBkYiIgLz4KLQkJPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IkAoSW5mLT4nJShDb3B5T3V0cHV0
KScpIiBDb25kaXRpb249IidAKEluZiknIT0nJyIgLz4KLQk8L0l0ZW1Hcm91cD4KLQk8SXRlbUdy
b3VwPgotCQk8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5kaXNrL2RyaXZlci5jIiAv
PgotCQk8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5kaXNrL2Zkby5jIiAvPgotCQk8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5kaXNrL3Bkby5jIiAvPgotCQk8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5kaXNrL3JlZ2lzdHJ5LmMiIC8+Ci0JCTxDbENvbXBp
bGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbmRpc2svdGhyZWFkLmMiIC8+Ci0JPC9JdGVtR3JvdXA+
Ci0JPEl0ZW1Hcm91cD4KLQkJPFJlc291cmNlQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVu
ZGlza1x4ZW5kaXNrLnJjIiAvPgotCTwvSXRlbUdyb3VwPgotCTxJbXBvcnQgUHJvamVjdD0iJChW
Q1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci08L1Byb2plY3Q+CmRpZmYg
LS1naXQgYS92czIwMTIveGVuZGlzay94ZW5kaXNrLnZjeHByb2oudXNlciBiL3ZzMjAxMi94ZW5k
aXNrL3hlbmRpc2sudmN4cHJvai51c2VyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
YjJiMjEwLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMi94ZW5kaXNrL3hlbmRpc2sudmN4cHJvai51c2Vy
CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8v
c2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotCTxQcm9wZXJ0
eUdyb3VwPgotCQk8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgotCQk8VGVzdENlcnRpZmlj
YXRlPi4uXC4uXHNyY1x4ZW52YmQucGZ4PC9UZXN0Q2VydGlmaWNhdGU+Ci0JCTxUaW1lU3RhbXBT
ZXJ2ZXI+aHR0cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8
L1RpbWVTdGFtcFNlcnZlcj4KLQk8L1Byb3BlcnR5R3JvdXA+Ci08L1Byb2plY3Q+CmRpZmYgLS1n
aXQgYS92czIwMTIveGVudmJkLnNsbiBiL3ZzMjAxMi94ZW52YmQuc2xuCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAxNTExM2NmLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMi94ZW52YmQuc2xu
CisrKyAvZGV2L251bGwKQEAgLTEsMTc5ICswLDAgQEAKLU1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlv
IFNvbHV0aW9uIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDEyLjAwCi0jIFZpc3VhbCBTdHVkaW8gMTEg
Ci1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInhl
bnZiZCIsICJ4ZW52YmRceGVudmJkLnZjeHByb2oiLCAie0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5
LTgyQjMzRTM1M0YxN30iCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBw
b3N0UHJvamVjdAotCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fSA9IHs1
MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9Ci0JCXs1OEY1QkM0My1COTJFLTRB
MkItOTc1RC0wMDY2RUFCMjkwOTJ9ID0gezU4RjVCQzQzLUI5MkUtNEEyQi05NzVELTAwNjZFQUIy
OTA5Mn0KLQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0gPSB7RDc0MTFC
MkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfQotCUVuZFByb2plY3RTZWN0aW9uCi1FbmRQ
cm9qZWN0Ci1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIp
ID0gInhlbmNyc2giLCAieGVuY3JzaFx4ZW5jcnNoLnZjeHByb2oiLCAiezU4RjVCQzQzLUI5MkUt
NEEyQi05NzVELTAwNjZFQUIyOTA5Mn0iCi1FbmRQcm9qZWN0Ci1Qcm9qZWN0KCJ7OEJDOUNFQjgt
OEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInhlbmRpc2siLCAieGVuZGlza1x4ZW5k
aXNrLnZjeHByb2oiLCAie0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0iCi1F
bmRQcm9qZWN0Ci1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQy
fSIpID0gInhlbnZiZF9jb2luc3QiLCAiY29pbnN0XHhlbnZiZF9jb2luc3QudmN4cHJvaiIsICJ7
NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fSIKLQlQcm9qZWN0U2VjdGlvbihQ
cm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0Ci0JCXs1OEY1QkM0My1COTJFLTRBMkIt
OTc1RC0wMDY2RUFCMjkwOTJ9ID0gezU4RjVCQzQzLUI5MkUtNEEyQi05NzVELTAwNjZFQUIyOTA5
Mn0KLQlFbmRQcm9qZWN0U2VjdGlvbgotRW5kUHJvamVjdAotUHJvamVjdCgiezhCQzlDRUI4LThC
NEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJwYWNrYWdlIiwgInBhY2thZ2VccGFja2Fn
ZS52Y3hwcm9qIiwgIntBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9IgotCVBy
b2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QKLQkJezUwQzA4
NDM3LUMxRjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5OX0gPSB7NTBDMDg0MzctQzFGMy00MzQ5LUJG
NkEtN0I1NUEwNkJGOTk5fQotCQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDky
fSA9IHs1OEY1QkM0My1COTJFLTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9Ci0gICAgICAgIHtFRjIz
NjM3MS0zMTQ1LTQxQjEtOTlDOS04MkIzM0UzNTNGMTd9ID0ge0VGMjM2MzcxLTMxNDUtNDFCMS05
OUM5LTgyQjMzRTM1M0YxN30KLQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJB
RH0gPSB7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfQotCUVuZFByb2plY3RT
ZWN0aW9uCi1FbmRQcm9qZWN0Ci1HbG9iYWwKLQlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uQ29uZmln
dXJhdGlvblBsYXRmb3JtcykgPSBwcmVTb2x1dGlvbgotCQlXaW5kb3dzIDcgRGVidWd8V2luMzIg
PSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJV2luZG93cyA3IERlYnVnfHg2NCA9IFdpbmRvd3Mg
NyBEZWJ1Z3x4NjQKLQkJV2luZG93cyA3IFJlbGVhc2V8V2luMzIgPSBXaW5kb3dzIDcgUmVsZWFz
ZXxXaW4zMgotCQlXaW5kb3dzIDcgUmVsZWFzZXx4NjQgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQK
LQkJV2luZG93cyA4IERlYnVnfFdpbjMyID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCVdpbmRv
d3MgOCBEZWJ1Z3x4NjQgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCVdpbmRvd3MgOCBSZWxlYXNl
fFdpbjMyID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJV2luZG93cyA4IFJlbGVhc2V8eDY0
ID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0JCVdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIgPSBX
aW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCVdpbmRvd3MgVmlzdGEgRGVidWd8eDY0ID0gV2lu
ZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyID0gV2lu
ZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCVdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQgPSBX
aW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JRW5kR2xvYmFsU2VjdGlvbgotCUdsb2JhbFNlY3Rp
b24oUHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcG9zdFNvbHV0aW9uCi0JCXtENzQx
MUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5B
Y3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05
RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyA3IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dz
IDcgRGVidWd8V2luMzIKLQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0u
V2luZG93cyA3IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXtE
NzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgNyBEZWJ1Z3x4NjQu
QnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2
LUUxMEEzRDJGNUJBRH0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93
cyA3IFJlbGVhc2V8V2luMzIKLQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJB
RH0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfFdp
bjMyCi0JCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgNyBS
ZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJe0Q3NDExQjJD
LTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkJ1aWxk
LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUx
MEEzRDJGNUJBRH0uV2luZG93cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBE
ZWJ1Z3xXaW4zMgotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5k
b3dzIDggRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7RDc0
MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIDggRGVidWd8eDY0LkFj
dGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2
LUUxMEEzRDJGNUJBRH0uV2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERl
YnVnfHg2NAotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dz
IDggUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7
RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIDggUmVsZWFzZXxX
aW4zMi5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJe0Q3NDExQjJDLTJDNDMt
NDM0RC05RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9
IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNE
MkY1QkFEfS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNl
fHg2NAotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIFZp
c3RhIERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJ
e0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyBWaXN0YSBEZWJ1
Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7RDc0MTFCMkMt
MkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5BY3Rp
dmVDZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQl7RDc0MTFCMkMtMkM0My00MzRELTlG
NTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93
cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJB
RH0uV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEg
UmVsZWFzZXxXaW4zMgotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5X
aW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFz
ZXxXaW4zMgotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dz
IFZpc3RhIFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQK
LQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyBWaXN0YSBS
ZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7RUYyMzYz
NzEtMzE0NS00MUIxLTk5QzktODJCMzNFMzUzRjE3fS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQWN0
aXZlQ2ZnID0gV2luZG93cyA3IERlYnVnfFdpbjMyCi0JCXtFRjIzNjM3MS0zMTQ1LTQxQjEtOTlD
OS04MkIzM0UzNTNGMTd9LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3
IERlYnVnfFdpbjMyCi0JCXtFRjIzNjM3MS0zMTQ1LTQxQjEtOTlDOS04MkIzM0UzNTNGMTd9Lldp
bmRvd3MgNyBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7RUYy
MzYzNzEtMzE0NS00MUIxLTk5QzktODJCMzNFMzUzRjE3fS5XaW5kb3dzIDcgRGVidWd8eDY0LkJ1
aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXtFRjIzNjM3MS0zMTQ1LTQxQjEtOTlDOS04
MkIzM0UzNTNGMTd9LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3Mg
NyBSZWxlYXNlfFdpbjMyCi0JCXtFRjIzNjM3MS0zMTQ1LTQxQjEtOTlDOS04MkIzM0UzNTNGMTd9
LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4z
MgotCQl7RUYyMzYzNzEtMzE0NS00MUIxLTk5QzktODJCMzNFMzUzRjE3fS5XaW5kb3dzIDcgUmVs
ZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVhc2V8eDY0Ci0JCXtFRjIzNjM3MS0z
MTQ1LTQxQjEtOTlDOS04MkIzM0UzNTNGMTd9LldpbmRvd3MgNyBSZWxlYXNlfHg2NC5CdWlsZC4w
ID0gV2luZG93cyA3IFJlbGVhc2V8eDY0Ci0JCXtFRjIzNjM3MS0zMTQ1LTQxQjEtOTlDOS04MkIz
M0UzNTNGMTd9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVi
dWd8V2luMzIKLQkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93
cyA4IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJe0VGMjM2
MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93cyA4IERlYnVnfHg2NC5BY3Rp
dmVDZmcgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCXtFRjIzNjM3MS0zMTQ1LTQxQjEtOTlDOS04
MkIzM0UzNTNGMTd9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1
Z3x4NjQKLQkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93cyA4
IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJe0VG
MjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93cyA4IFJlbGVhc2V8V2lu
MzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXtFRjIzNjM3MS0zMTQ1LTQx
QjEtOTlDOS04MkIzM0UzNTNGMTd9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBX
aW5kb3dzIDggUmVsZWFzZXx4NjQKLQkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1
M0YxN30uV2luZG93cyA4IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4
NjQKLQkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93cyBWaXN0
YSBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXtF
RjIzNjM3MS0zMTQ1LTQxQjEtOTlDOS04MkIzM0UzNTNGMTd9LldpbmRvd3MgVmlzdGEgRGVidWd8
V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJe0VGMjM2MzcxLTMx
NDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQWN0aXZl
Q2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5
LTgyQjMzRTM1M0YxN30uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3Mg
VmlzdGEgRGVidWd8eDY0Ci0JCXtFRjIzNjM3MS0zMTQ1LTQxQjEtOTlDOS04MkIzM0UzNTNGMTd9
LldpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJl
bGVhc2V8V2luMzIKLQkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2lu
ZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8
V2luMzIKLQkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93cyBW
aXN0YSBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0J
CXtFRjIzNjM3MS0zMTQ1LTQxQjEtOTlDOS04MkIzM0UzNTNGMTd9LldpbmRvd3MgVmlzdGEgUmVs
ZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezUwQzA4NDM3
LUMxRjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5OX0uV2luZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2
ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEt
N0I1NUEwNkJGOTk5fS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBE
ZWJ1Z3xXaW4zMgotCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fS5XaW5k
b3dzIDcgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezUwQzA4
NDM3LUMxRjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5OX0uV2luZG93cyA3IERlYnVnfHg2NC5CdWls
ZC4wID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEtN0I1
NUEwNkJGOTk5fS5XaW5kb3dzIDcgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcg
UmVsZWFzZXxXaW4zMgotCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fS5X
aW5kb3dzIDcgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIK
LQkJezUwQzA4NDM3LUMxRjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5OX0uV2luZG93cyA3IFJlbGVh
c2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7NTBDMDg0MzctQzFG
My00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9
IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEtN0I1NUEw
NkJGOTk5fS5XaW5kb3dzIDggRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVn
fFdpbjMyCi0JCXs1MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9LldpbmRvd3Mg
OCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXs1MEMwODQz
Ny1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0aXZl
Q2ZnID0gV2luZG93cyA4IERlYnVnfHg2NAotCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEtN0I1
NUEwNkJGOTk5fS5XaW5kb3dzIDggRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8
eDY0Ci0JCXs1MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9LldpbmRvd3MgOCBS
ZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXs1MEMw
ODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMy
LkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7NTBDMDg0MzctQzFGMy00MzQ5
LUJGNkEtN0I1NUEwNkJGOTk5fS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2lu
ZG93cyA4IFJlbGVhc2V8eDY0Ci0JCXs1MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5
OTl9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0
Ci0JCXs1MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9LldpbmRvd3MgVmlzdGEg
RGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7NTBD
MDg0MzctQzFGMy00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fS5XaW5kb3dzIFZpc3RhIERlYnVnfFdp
bjMyLkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXs1MEMwODQzNy1DMUYz
LTQzNDktQkY2QS03QjU1QTA2QkY5OTl9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXs1MEMwODQzNy1DMUYzLTQzNDktQkY2QS03
QjU1QTA2QkY5OTl9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIFZp
c3RhIERlYnVnfHg2NAotCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fS5X
aW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxl
YXNlfFdpbjMyCi0JCXs1MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9LldpbmRv
d3MgVmlzdGEgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdp
bjMyCi0JCXs1MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9LldpbmRvd3MgVmlz
dGEgUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7
NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fS5XaW5kb3dzIFZpc3RhIFJlbGVh
c2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXtBQjhEQUVEMy05
RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5BY3RpdmVD
ZmcgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2
NDNGMUZDMTk3Mn0uV2luZG93cyA3IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgRGVi
dWd8V2luMzIKLQkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93
cyA3IERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA3IERlYnVnfFdpbjMyCi0JCXtBQjhE
QUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQWN0
aXZlQ2ZnID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMt
QzY0M0YxRkMxOTcyfS5XaW5kb3dzIDcgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDcgRGVi
dWd8eDY0Ci0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3Mg
NyBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXtBQjhEQUVEMy05
RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkFjdGl2
ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlB
My1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dz
IDcgUmVsZWFzZXxXaW4zMgotCQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcy
fS5XaW5kb3dzIDcgUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfFdp
bjMyCi0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgNyBS
ZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJe0FCOERBRUQz
LTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkJ1aWxk
LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2
NDNGMUZDMTk3Mn0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkRlcGxveS4wID0gV2luZG93cyA3IFJl
bGVhc2V8eDY0Ci0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRv
d3MgOCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJe0FC
OERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyA4IERlYnVnfFdpbjMy
LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJe0FCOERBRUQzLTlENzAtNDkwNy05
OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyA4IERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93
cyA4IERlYnVnfFdpbjMyCi0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9
LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfHg2NAotCQl7
QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIDggRGVidWd8eDY0
LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlB
My1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDgg
RGVidWd8eDY0Ci0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRv
d3MgOCBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0J
CXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgOCBSZWxlYXNl
fFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7QUI4REFFRDMtOUQ3
MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5EZXBsb3ku
MCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1D
NjQzRjFGQzE5NzJ9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDgg
UmVsZWFzZXx4NjQKLQkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2lu
ZG93cyA4IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKLQkJe0FC
OERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyA4IFJlbGVhc2V8eDY0
LkRlcGxveS4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0JCXtBQjhEQUVEMy05RDcwLTQ5MDct
OTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0g
V2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0
M0YxRkMxOTcyfS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIFZp
c3RhIERlYnVnfFdpbjMyCi0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9
LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIERlYnVn
fFdpbjMyCi0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3Mg
VmlzdGEgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXtB
QjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgVmlzdGEgRGVidWd8
eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQl7QUI4REFFRDMtOUQ3MC00
OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5EZXBsb3kuMCA9
IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQz
RjFGQzE5NzJ9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dz
IFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZD
MTk3Mn0uV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3Rh
IFJlbGVhc2V8V2luMzIKLQkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0u
V2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBSZWxl
YXNlfFdpbjMyCi0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRv
d3MgVmlzdGEgUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2
NAotCQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIFZpc3Rh
IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXtBQjhE
QUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4
NjQuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXs1OEY1QkM0My1COTJF
LTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcg
PSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJezU4RjVCQzQzLUI5MkUtNEEyQi05NzVELTAwNjZF
QUIyOTA5Mn0uV2luZG93cyA3IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8
V2luMzIKLQkJezU4RjVCQzQzLUI5MkUtNEEyQi05NzVELTAwNjZFQUIyOTA5Mn0uV2luZG93cyA3
IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXs1OEY1QkM0My1C
OTJFLTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQnVpbGQuMCA9
IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezU4RjVCQzQzLUI5MkUtNEEyQi05NzVELTAwNjZFQUIy
OTA5Mn0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVh
c2V8V2luMzIKLQkJezU4RjVCQzQzLUI5MkUtNEEyQi05NzVELTAwNjZFQUIyOTA5Mn0uV2luZG93
cyA3IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXs1
OEY1QkM0My1COTJFLTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3MgNyBSZWxlYXNlfHg2
NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJezU4RjVCQzQzLUI5MkUtNEEy
Qi05NzVELTAwNjZFQUIyOTA5Mn0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5k
b3dzIDcgUmVsZWFzZXx4NjQKLQkJezU4RjVCQzQzLUI5MkUtNEEyQi05NzVELTAwNjZFQUIyOTA5
Mn0uV2luZG93cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4z
MgotCQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIDggRGVi
dWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7NThGNUJDNDMtQjky
RS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNmZyA9
IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezU4RjVCQzQzLUI5MkUtNEEyQi05NzVELTAwNjZFQUIy
OTA5Mn0uV2luZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2NAot
CQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIDggUmVsZWFz
ZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7NThGNUJDNDMt
QjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWls
ZC4wID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezU4RjVCQzQzLUI5MkUtNEEyQi05NzVE
LTAwNjZFQUIyOTA5Mn0uV2luZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3Mg
OCBSZWxlYXNlfHg2NAotCQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5X
aW5kb3dzIDggUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7
NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIFZpc3RhIERlYnVn
fFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezU4RjVCQzQz
LUI5MkUtNEEyQi05NzVELTAwNjZFQUIyOTA5Mn0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5C
dWlsZC4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7NThGNUJDNDMtQjkyRS00QTJC
LTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5BY3RpdmVDZmcgPSBX
aW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVB
QjI5MDkyfS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBE
ZWJ1Z3x4NjQKLQkJezU4RjVCQzQzLUI5MkUtNEEyQi05NzVELTAwNjZFQUIyOTA5Mn0uV2luZG93
cyBWaXN0YSBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxX
aW4zMgotCQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIFZp
c3RhIFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgot
CQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIFZpc3RhIFJl
bGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezU4RjVC
QzQzLUI5MkUtNEEyQi05NzVELTAwNjZFQUIyOTA5Mn0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2
NC5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCUVuZEdsb2JhbFNlY3Rpb24K
LQlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBwcmVTb2x1dGlvbgotCQlIaWRl
U29sdXRpb25Ob2RlID0gRkFMU0UKLQlFbmRHbG9iYWxTZWN0aW9uCi1FbmRHbG9iYWwKZGlmZiAt
LWdpdCBhL3ZzMjAxMi94ZW52YmQveGVudmJkLnZjeHByb2ogYi92czIwMTIveGVudmJkL3hlbnZi
ZC52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ODM5NWY5Li4wMDAwMDAw
Ci0tLSBhL3ZzMjAxMi94ZW52YmQveGVudmJkLnZjeHByb2oKKysrIC9kZXYvbnVsbApAQCAtMSw5
NSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2pl
Y3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6
Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0JPEltcG9y
dCBQcm9qZWN0PSIuLlxjb25maWdzLnByb3BzIiAvPgotCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9
Ikdsb2JhbHMiPgotCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVnPC9Db25maWd1
cmF0aW9uPgotCQk8UGxhdGZvcm0gQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICcnIj5XaW4z
MjwvUGxhdGZvcm0+IAotCQk8RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8L0Rl
YnVnZ2VyRmxhdm9yPiAKLQk8L1Byb3BlcnR5R3JvdXA+Ci0JPFByb3BlcnR5R3JvdXAgTGFiZWw9
IlByb2VwcnR5U2hlZXRzIj4KLQkJPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2VybmVsTW9kZURy
aXZlcjguMDwvUGxhdGZvcm1Ub29sc2V0PgotCQk8Q29uZmlndXJhdGlvblR5cGU+RHJpdmVyPC9D
b25maWd1cmF0aW9uVHlwZT4KLQkJPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJUeXBlPgotCTwvUHJv
cGVydHlHcm91cD4KLQotCTxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3Nv
ZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0JCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2Jh
bHMiPgotCQk8UHJvamVjdEd1aWQ+e0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0Yx
N308L1Byb2plY3RHdWlkPgotCTwvUHJvcGVydHlHcm91cD4KLQkKLQk8SW1wb3J0IFByb2plY3Q9
Ii4uXHRhcmdldHMucHJvcHMiIC8+Ci0JPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgp
XE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+IAotCQotCTxQcm9wZXJ0eUdyb3VwPgotCQk8SW5jbHVk
ZVBhdGg+JChQcm9qZWN0RGlyKS4uXC4uXGluY2x1ZGU7JChQcm9qZWN0RGlyKS4uXC4uXHNyY1xj
b21tb247JChJbmNsdWRlUGF0aCk8L0luY2x1ZGVQYXRoPgotCQk8UnVuQ29kZUFuYWx5c2lzPnRy
dWU8L1J1bkNvZGVBbmFseXNpcz4KLQkJPEVuYWJsZUluZjJjYXQ+ZmFsc2U8L0VuYWJsZUluZjJj
YXQ+Ci0JCTxJbnREaXI+Li5cJChQcm9qZWN0TmFtZSlcJChDb25maWd1cmF0aW9uTmFtZSlcJChQ
bGF0Zm9ybSlcPC9JbnREaXI+Ci0JCTxPdXREaXI+Li5cJChDb25maWd1cmF0aW9uTmFtZSlcJChQ
bGF0Zm9ybSlcPC9PdXREaXI+Ci0JPC9Qcm9wZXJ0eUdyb3VwPgotCi0JPEl0ZW1EZWZpbml0aW9u
R3JvdXA+Ci0JCTxDbENvbXBpbGU+Ci0JCQk8QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVm
ZmVyU2VjdXJpdHlDaGVjaz4KLQkJCTxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX01PRFVMRV9f
PSJYRU5WQkQiO1BPT0xfTlhfT1BUSU49MTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJl
cHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0JCQk8V2FybmluZ0xldmVsPkVuYWJsZUFsbFdhcm5pbmdz
PC9XYXJuaW5nTGV2ZWw+Ci0JCQk8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDU0ODs0NzExOzQ4
MjA7NDY2ODs0MjU1OzYwMDE7NjA1NDsyODE5NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwv
RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+Ci0JCQk8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50
cnVlPC9NdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPgotCQkJPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwv
RW5hYmxlUFJFZmFzdD4KLQkJPC9DbENvbXBpbGU+Ci0JCTxMaW5rPgotCQkJPEFkZGl0aW9uYWxE
ZXBlbmRlbmNpZXM+JChQcm9qZWN0RGlyKS4uXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZv
cm0pXHhlbmNyc2gubGliOyQoRERLX0xJQl9QQVRIKS9zdG9ycG9ydC5saWI7JChEREtfTElCX1BB
VEgpL2xpYmNudHByLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVw
ZW5kZW5jaWVzPgotCQk8L0xpbms+Ci0JCTxJbmY+Ci0JCQk8U3BlY2lmeUFyY2hpdGVjdHVyZT50
cnVlPC9TcGVjaWZ5QXJjaGl0ZWN0dXJlPgotCQkJPFNwZWNpZnlEcml2ZXJWZXJEaXJlY3RpdmVW
ZXJzaW9uPnRydWU8L1NwZWNpZnlEcml2ZXJWZXJEaXJlY3RpdmVWZXJzaW9uPgotCQkJPFRpbWVT
dGFtcD4kKE1BSk9SX1ZFUlNJT04pLiQoTUlOT1JfVkVSU0lPTikuJChNSUNST19WRVJTSU9OKS4k
KEJVSUxEX05VTUJFUik8L1RpbWVTdGFtcD4KLQkJCTxFbmFibGVWZXJib3NlPnRydWU8L0VuYWJs
ZVZlcmJvc2U+Ci0JCTwvSW5mPgotCTwvSXRlbURlZmluaXRpb25Hcm91cD4KLQk8SXRlbURlZmlu
aXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgotCQk8Q2xDb21w
aWxlPgotCQkJPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9faTM4Nl9fOyUoUHJlcHJvY2Vzc29y
RGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLQkJPC9DbENvbXBpbGU+Ci0J
CTxJbmY+Ci0JCQk8QXJjaGl0ZWN0dXJlPng4NjwvQXJjaGl0ZWN0dXJlPgotCQk8L0luZj4KLQk8
L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0JPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSIn
JChQbGF0Zm9ybSknPT0neDY0JyI+Ci0JCTxDbENvbXBpbGU+Ci0JCQk8UHJlcHJvY2Vzc29yRGVm
aW5pdGlvbnM+X194ODZfNjRfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vz
c29yRGVmaW5pdGlvbnM+Ci0JCTwvQ2xDb21waWxlPgotCQk8SW5mPgotCQkJPEFyY2hpdGVjdHVy
ZT5hbWQ2NDwvQXJjaGl0ZWN0dXJlPgotCQk8L0luZj4KLQk8L0l0ZW1EZWZpbml0aW9uR3JvdXA+
Ci0KLQk8SXRlbUdyb3VwPgotCQk8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChUYXJnZXRQYXRo
KSIgLz4KLQkJPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSku
cGRiIiAvPgotCQk8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iQChJbmYtPiclKENvcHlPdXRwdXQp
JykiIENvbmRpdGlvbj0iJ0AoSW5mKSchPScnIiAvPgotCTwvSXRlbUdyb3VwPgotCTxJdGVtR3Jv
dXA+Ci0JCTxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9idWZmZXIuYyIgLz4K
LQkJPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL2RyaXZlci5jIiAvPgotCQk8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvcmVnaXN0cnkuYyIgLz4KLQkJPENs
Q29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL2Zkby5jIiAvPgotCQk8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvZnJvbnRlbmQuYyIgLz4KLQkJPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL3Bkby5jIiAvPgotCQk8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uLy4uL3NyYy94ZW52YmQvcGRvaW5xdWlyeS5jIiAvPgotCQk8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uLy4uL3NyYy94ZW52YmQvcXVldWUuYyIgLz4KLQkJPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8u
Li9zcmMveGVudmJkL3RocmVhZC5jIiAvPgotCQk8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3Ny
Yy94ZW52YmQvbm90aWZpZXIuYyIgLz4KLQkJPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMv
eGVudmJkL2Jsb2NrcmluZy5jIiAvPgotCQk8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94
ZW52YmQvZ3JhbnRlci5jIiAvPgotCTwvSXRlbUdyb3VwPgotCTxJdGVtR3JvdXA+Ci0JCTxSZXNv
dXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbnZiZFx4ZW52YmQucmMiIC8+Ci0JPC9J
dGVtR3JvdXA+Ci0JPEl0ZW1Hcm91cD4KLQkJPEluZiBJbmNsdWRlPSIuLlx4ZW52YmQuaW5mIiAv
PgotCTwvSXRlbUdyb3VwPgotCTxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNy
b3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTIveGVu
dmJkL3hlbnZiZC52Y3hwcm9qLnVzZXIgYi92czIwMTIveGVudmJkL3hlbnZiZC52Y3hwcm9qLnVz
ZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBiMmIyMTAuLjAwMDAwMDAKLS0tIGEv
dnMyMDEyL3hlbnZiZC94ZW52YmQudmN4cHJvai51c2VyCisrKyAvZGV2L251bGwKQEAgLTEsOCAr
MCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3Qg
VG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2Rl
dmVsb3Blci9tc2J1aWxkLzIwMDMiPgotCTxQcm9wZXJ0eUdyb3VwPgotCQk8U2lnbk1vZGU+VGVz
dFNpZ248L1NpZ25Nb2RlPgotCQk8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW52YmQucGZ4
PC9UZXN0Q2VydGlmaWNhdGU+Ci0JCTxUaW1lU3RhbXBTZXJ2ZXI+aHR0cDovL3RpbWVzdGFtcC52
ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1RpbWVTdGFtcFNlcnZlcj4KLQk8L1By
b3BlcnR5R3JvdXA+Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTMvY29pbnN0L3hlbnZi
ZF9jb2luc3QudmN4cHJvaiBiL3ZzMjAxMy9jb2luc3QveGVudmJkX2NvaW5zdC52Y3hwcm9qCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3Y2JhYmJiLi4wMDAwMDAwCi0tLSBhL3ZzMjAx
My9jb2luc3QveGVudmJkX2NvaW5zdC52Y3hwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMTAxICsw
LDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBE
ZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3Nj
aGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEltcG9ydCBQ
cm9qZWN0PSIuLlxjb25maWdzLnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJv
cGVydHlTaGVldHMiPgotICAgIDxEcml2ZXJUeXBlPldETTwvRHJpdmVyVHlwZT4KLSAgICA8Q29u
ZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxE
cml2ZXJUeXBlPldETTwvRHJpdmVyVHlwZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVy
dHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPENvbmZpZ3VyYXRpb24+V2luZG93cyBWaXN0
YSBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4KLSAgICA8UGxhdGZvcm0gQ29uZGl0aW9uPSInJChQbGF0
Zm9ybSknID09ICcnIj5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPERlYnVnZ2VyRmxhdm9yPkRiZ2Vu
Z0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8
SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnBy
b3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggUmVsZWFzZXxXaW4z
MiciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczgu
MTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3Vw
IExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgRGVidWd8V2luMzInIj4KLSAgICA8UGxhdGZvcm1Ub29s
c2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAg
PC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIFZpc3Rh
IFJlbGVhc2V8V2luMzInIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlv
bkZvckRyaXZlcnM4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8
UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMiciPgotICAgIDxQ
bGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1U
b29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25m
aWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dp
bmRvd3MgNyBEZWJ1Z3xXaW4zMiciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxp
Y2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+
Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBEZWJ1Z3xXaW4zMiciPgotICAg
IDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZv
cm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJD
b25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1dpbmRvd3MgOCBSZWxlYXNlfHg2NCciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0Fw
cGxpY2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3Jv
dXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgRGVidWd8eDY0JyI+
Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRpb25Gb3JEcml2ZXJzOC4xPC9Q
bGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFi
ZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NCciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+
V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1By
b3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBSZWxlYXNl
fHg2NCciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVy
czguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdy
b3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1dpbmRvd3MgNyBEZWJ1Z3x4NjQnIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0
PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Q
cm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggRGVidWd8
eDY0JyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRpb25Gb3JEcml2ZXJz
OC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3Jv
dXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9qZWN0R3VpZD57NTBDMDg0MzctQzFGMy00MzQ5
LUJGNkEtN0I1NUEwNkJGOTk5fTwvUHJvamVjdEd1aWQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAg
PEltcG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRzLnByb3BzIiAvPgotICA8SW1wb3J0IFByb2plY3Q9
IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3Jv
dXA+Ci0gICAgPERlYnVnZ2VyRmxhdm9yPkRiZ2VuZ0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZs
YXZvcj4KLSAgICA8SW5jbHVkZVBhdGg+JChQcm9qZWN0RGlyKS4uXC4uXGluY2x1ZGU7JChJbmNs
dWRlUGF0aCk8L0luY2x1ZGVQYXRoPgotICAgIDxSdW5Db2RlQW5hbHlzaXM+dHJ1ZTwvUnVuQ29k
ZUFuYWx5c2lzPgotICAgIDxFbmFibGVJbmYyY2F0PmZhbHNlPC9FbmFibGVJbmYyY2F0PgotICAg
IDxJbnREaXI+Li5cJChQcm9qZWN0TmFtZSlcJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9y
bSlcPC9JbnREaXI+Ci0gICAgPE91dERpcj4uLlwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRm
b3JtKVw8L091dERpcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91
cD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9fTU9E
VUxFX189IlhFTlZCRF9DT0lOU1QiOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+RW5hYmxlQWxsV2FybmluZ3M8
L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40MTI3OzQ1NDg7
NDcxMTs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7JShEaXNhYmxlU3BlY2lmaWNXYXJu
aW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgotICAgICAgPE11bHRpUHJvY2Vzc29yQ29t
cGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj4KLSAgICAgIDxFbmFibGVQ
UkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+Ci0gICAgICA8UnVudGltZUxpYnJhcnkgQ29uZGl0
aW9uPSInJChVc2VEZWJ1Z0xpYnJhcmllcyknPT0ndHJ1ZSciPk11bHRpVGhyZWFkZWREZWJ1Zzwv
UnVudGltZUxpYnJhcnk+Ci0gICAgICA8UnVudGltZUxpYnJhcnkgQ29uZGl0aW9uPSInJChVc2VE
ZWJ1Z0xpYnJhcmllcyknPT0nZmFsc2UnIj5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4K
LSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmls
ZT4uLi8uLi9zcmMvY29pbnN0L3hlbnZiZF9jb2luc3QuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmls
ZT4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnNldHVwYXBpLmxpYjslKEFkZGl0aW9u
YWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAg
PC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249
IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM+X19pMzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1By
ZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1EZWZpbml0
aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0p
Jz09J3g2NCciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlv
bnM+X194ODZfNjRfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVm
aW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAg
PEl0ZW1Hcm91cD4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChUYXJnZXRQYXRoKSIg
Lz4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5w
ZGIiIC8+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IkAoSW5mLT4nJShDb3B5T3V0cHV0
KScpIiBDb25kaXRpb249IidAKEluZiknIT0nJyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVt
R3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNcY29pbnN0XGNvaW5zdC5j
IiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Tm9uZSBJbmNsdWRlPSIu
LlwuLlxzcmNcY29pbnN0XHhlbnZiZF9jb2luc3QuZGVmIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAg
PEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIg
Lz4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS92
czIwMTMvY29pbnN0L3hlbnZiZF9jb2luc3QudmN4cHJvai51c2VyIGIvdnMyMDEzL2NvaW5zdC94
ZW52YmRfY29pbnN0LnZjeHByb2oudXNlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MGIyYjIxMC4uMDAwMDAwMAotLS0gYS92czIwMTMvY29pbnN0L3hlbnZiZF9jb2luc3QudmN4cHJv
ai51c2VyCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAi
IGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotCTxQ
cm9wZXJ0eUdyb3VwPgotCQk8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgotCQk8VGVzdENl
cnRpZmljYXRlPi4uXC4uXHNyY1x4ZW52YmQucGZ4PC9UZXN0Q2VydGlmaWNhdGU+Ci0JCTxUaW1l
U3RhbXBTZXJ2ZXI+aHR0cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFt
cC5kbGw8L1RpbWVTdGFtcFNlcnZlcj4KLQk8L1Byb3BlcnR5R3JvdXA+Ci08L1Byb2plY3Q+CmRp
ZmYgLS1naXQgYS92czIwMTMvY29uZmlncy5wcm9wcyBiL3ZzMjAxMy9jb25maWdzLnByb3BzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNWY3Njc5Li4wMDAwMDAwCi0tLSBhL3ZzMjAx
My9jb25maWdzLnByb3BzCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotPD94bWwgdmVy
c2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJC
dWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQu
Y29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPiAKLQk8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0
Q29uZmlndXJhdGlvbnMiPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRv
d3MgOCBEZWJ1Z3xXaW4zMiI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA4IERlYnVnPC9D
b25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+IAotCQk8L1Byb2pl
Y3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRv
d3MgNyBEZWJ1Z3xXaW4zMiI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA3IERlYnVnPC9D
b25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+IAotCQk8L1Byb2pl
Y3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRv
d3MgVmlzdGEgRGVidWd8V2luMzIiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgVmlzdGEg
RGVidWc8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4gCi0J
CTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVk
ZT0iV2luZG93cyA4IFJlbGVhc2V8V2luMzIiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3Mg
OCBSZWxlYXNlPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+
IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIElu
Y2x1ZGU9IldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyIj4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5k
b3dzIDcgUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRm
b3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlv
biBJbmNsdWRlPSJXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIiPiAKLQkJCTxDb25maWd1cmF0
aW9uPldpbmRvd3MgVmlzdGEgUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+
V2luMzI8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0
Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDggRGVidWd8eDY0Ij4gCi0JCQk8Q29uZmln
dXJhdGlvbj5XaW5kb3dzIDggRGVidWc8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPng2
NDwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25m
aWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgNyBEZWJ1Z3x4NjQiPiAKLQkJCTxDb25maWd1cmF0
aW9uPldpbmRvd3MgNyBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+eDY0PC9Q
bGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3Vy
YXRpb24gSW5jbHVkZT0iV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQiPiAKLQkJCTxDb25maWd1cmF0
aW9uPldpbmRvd3MgVmlzdGEgRGVidWc8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPng2
NDwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25m
aWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgOCBSZWxlYXNlfHg2NCI+IAotCQkJPENvbmZpZ3Vy
YXRpb24+V2luZG93cyA4IFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPng2
NDwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25m
aWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgNyBSZWxlYXNlfHg2NCI+IAotCQkJPENvbmZpZ3Vy
YXRpb24+V2luZG93cyA3IFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPng2
NDwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25m
aWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQiPiAKLQkJCTxDb25m
aWd1cmF0aW9uPldpbmRvd3MgVmlzdGEgUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxh
dGZvcm0+eDY0PC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCTwvSXRl
bUdyb3VwPiAKLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS92czIwMTMvcGFja2FnZS9wYWNrYWdlLnZjeHByb2ogYi92czIwMTMvcGFja2FnZS9wYWNr
YWdlLnZjeHByb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjYmQ4NTQuLjAwMDAw
MDAKLS0tIGEvdnMyMDEzL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qCisrKyAvZGV2L251bGwKQEAg
LTEsOTQgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4K
LTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5z
PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgot
ICA8SW1wb3J0IFByb2plY3Q9Ii4uXGNvbmZpZ3MucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3Vw
IExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPlV0aWxpdHk8
L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxEcml2ZXJUeXBlPlBhY2thZ2U8L0RyaXZlclR5cGU+
Ci0gICAgPERpc2FibGVGYXN0VXBUb0RhdGVDaGVjaz50cnVlPC9EaXNhYmxlRmFzdFVwVG9EYXRl
Q2hlY2s+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2Jh
bHMiPgotICAgIDxDb25maWd1cmF0aW9uPldpbmRvd3MgVmlzdGEgRGVidWc8L0NvbmZpZ3VyYXRp
b24+Ci0gICAgPFBsYXRmb3JtIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAnJyI+V2luMzI8
L1BsYXRmb3JtPgotICAgIDxEZWJ1Z2dlckZsYXZvcj5EYmdlbmdLZXJuZWxEZWJ1Z2dlcjwvRGVi
dWdnZXJGbGF2b3I+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZD
VGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5
R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IFJlbGVhc2V8V2luMzInIj4KLSAgICA8UGxhdGZvcm1U
b29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8L1BsYXRmb3JtVG9vbHNldD4K
LSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlv
biIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIFZp
c3RhIERlYnVnfFdpbjMyJyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRp
b25Gb3JEcml2ZXJzOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAg
PFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyJyI+Ci0g
ICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRpb25Gb3JEcml2ZXJzOC4xPC9QbGF0
Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9
IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nV2luZG93cyA3IFJlbGVhc2V8V2luMzInIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRv
d3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0
eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgRGVidWd8V2luMzIn
Ij4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8
L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBM
YWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdXaW5kb3dzIDggRGVidWd8V2luMzInIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0Pldp
bmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9w
ZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggUmVsZWFzZXx4
NjQnIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4
LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91
cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdXaW5kb3dzIFZpc3RhIERlYnVnfHg2NCciPgotICAgIDxQbGF0Zm9ybVRvb2xz
ZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8
L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEg
UmVsZWFzZXx4NjQnIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZv
ckRyaXZlcnM4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJv
cGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgUmVsZWFzZXx4NjQnIj4KLSAgICA8UGxhdGZv
cm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8L1BsYXRmb3JtVG9vbHNl
dD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJh
dGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dz
IDcgRGVidWd8eDY0JyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRpb25G
b3JEcml2ZXJzOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFBy
b3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IERlYnVnfHg2NCciPgotICAgIDxQbGF0Zm9y
bVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0
PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4K
LSAgICA8UHJvamVjdEd1aWQ+e0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn08
L1Byb2plY3RHdWlkPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iLi5c
dGFyZ2V0cy5wcm9wcyIgLz4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1p
Y3Jvc29mdC5DcHAucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxFbmFibGVJbmYy
Y2F0PnRydWU8L0VuYWJsZUluZjJjYXQ+Ci0gICAgPEluZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3Qg
Q29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyI+VmlzdGFfeDY0O1NlcnZlcjIwMDhfeDY0
OzdfeDY0O1NlcnZlcjIwMDhSMl94NjQ7OF94NjQ7U2VydmVyOF94NjQ8L0luZjJDYXRXaW5kb3dz
VmVyc2lvbkxpc3Q+Ci0gICAgPEluZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3QgQ29uZGl0aW9uPSIn
JChQbGF0Zm9ybSknPT0nV2luMzInIj5WaXN0YV94ODY7U2VydmVyMjAwOF94ODY7N194ODY7OF94
ODY8L0luZjJDYXRXaW5kb3dzVmVyc2lvbkxpc3Q+Ci0gICAgPERlYnVnZ2VyRmxhdm9yPkRiZ2Vu
Z0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4KLSAgICA8RW5hYmxlRGVwbG95bWVudD5G
YWxzZTwvRW5hYmxlRGVwbG95bWVudD4KLSAgICA8SW1wb3J0VG9TdG9yZT5GYWxzZTwvSW1wb3J0
VG9TdG9yZT4KLSAgICA8SW5zdGFsbE1vZGU+Tm9uZTwvSW5zdGFsbE1vZGU+Ci0gICAgPFNjcmlw
dERldmljZVF1ZXJ5PiVQYXRoVG9JbmYlPC9TY3JpcHREZXZpY2VRdWVyeT4KLSAgICA8RW5hYmxl
VmVyaWZpZXI+RmFsc2U8L0VuYWJsZVZlcmlmaWVyPgotICAgIDxBbGxEcml2ZXJzPkZhbHNlPC9B
bGxEcml2ZXJzPgotICAgIDxWZXJpZnlQcm9qZWN0T3V0cHV0PlRydWU8L1ZlcmlmeVByb2plY3RP
dXRwdXQ+Ci0gICAgPFZlcmlmeUZsYWdzPjEzMzU2MzwvVmVyaWZ5RmxhZ3M+Ci0gICAgPEludERp
cj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L0lu
dERpcj4KLSAgICA8T3V0RGlyPi4uXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwv
T3V0RGlyPgotICAgIDxQYWNrYWdlRGlyPi4uXC4uXHhlbnZiZFwkKERES1BsYXRmb3JtKTwvUGFj
a2FnZURpcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxQcm9qZWN0
UmVmZXJlbmNlIEluY2x1ZGU9Ii4uXGNvaW5zdFx4ZW52YmRfY29pbnN0LnZjeHByb2oiPgotICAg
ICAgPFByb2plY3Q+ezUwYzA4NDM3LWMxZjMtNDM0OS1iZjZhLTdiNTVhMDZiZjk5OX08L1Byb2pl
Y3Q+Ci0gICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgotICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1
ZGU9Ii4uXHhlbmNyc2hceGVuY3JzaC52Y3hwcm9qIj4KLSAgICAgIDxQcm9qZWN0Pns1OGY1YmM0
My1iOTJlLTRhMmItOTc1ZC0wMDY2ZWFiMjkwOTJ9PC9Qcm9qZWN0PgotICAgIDwvUHJvamVjdFJl
ZmVyZW5jZT4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlx4ZW52YmRceGVudmJk
LnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+e2VmMjM2MzcxLTMxNDUtNDFiMS05OWM5LTgyYjMz
ZTM1M2YxN308L1Byb2plY3Q+Ci0gICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgotICAgIDxQcm9qZWN0
UmVmZXJlbmNlIEluY2x1ZGU9Ii4uXHhlbmRpc2tceGVuZGlzay52Y3hwcm9qIj4KLSAgICAgIDxQ
cm9qZWN0PntkNzQxMWIyYy0yYzQzLTQzNGQtOWY1Ni1lMTBhM2QyZjViYWR9PC9Qcm9qZWN0Pgot
ICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0g
ICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoS0lUKVxSZWRpc3RcRElGeFxkcGluc3RcRW5n
TXVpXHg4NlxkcGluc3QuZXhlIiBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciIC8+
Ci0gICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoS0lUKVxSZWRpc3RcRElGeFxkcGluc3Rc
RW5nTXVpXHg2NFxkcGluc3QuZXhlIiBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIiAv
PgotICA8L0l0ZW1Hcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1p
Y3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25U
YXJnZXRzIj4KLSAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS92czIwMTMvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNl
ciBiL3ZzMjAxMy9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2VyCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwYjJiMjEwLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMy9wYWNrYWdlL3BhY2th
Z2UudmN4cHJvai51c2VyCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAi
IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIw
MDMiPgotCTxQcm9wZXJ0eUdyb3VwPgotCQk8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgot
CQk8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW52YmQucGZ4PC9UZXN0Q2VydGlmaWNhdGU+
Ci0JCTxUaW1lU3RhbXBTZXJ2ZXI+aHR0cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0
cy90aW1zdGFtcC5kbGw8L1RpbWVTdGFtcFNlcnZlcj4KLQk8L1Byb3BlcnR5R3JvdXA+Ci08L1By
b2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTMvdGFyZ2V0cy5wcm9wcyBiL3ZzMjAxMy90YXJnZXRz
LnByb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOGFiYTkyLi4wMDAwMDAwCi0t
LSBhL3ZzMjAxMy90YXJnZXRzLnByb3BzCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAot
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRU
YXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5t
aWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotCTxQcm9wZXJ0eUdyb3VwIExh
YmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1dpbmRvd3MgOCBEZWJ1Z3xXaW4zMiciPiAKLQkJPFRhcmdldFZlcnNpb24+V2luZG93
czg8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdM
aWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNv
bmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
V2luZG93cyA4IFJlbGVhc2V8V2luMzInIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4PC9U
YXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJh
cmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmln
dXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5k
b3dzIDggRGVidWd8eDY0JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwvVGFyZ2V0VmVy
c2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0J
PC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggUmVs
ZWFzZXx4NjQnIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRWZXJzaW9uPiAK
LQkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9w
ZXJ0eUdyb3VwPgotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBEZWJ1Z3xXaW4z
MiciPiAKLQkJPFRhcmdldFZlcnNpb24+V2luZG93czc8L1RhcmdldFZlcnNpb24+IAotCQk8VXNl
RGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91
cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IFJlbGVhc2V8V2luMzInIj4g
Ci0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M3PC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVn
TGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAK
LQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgRGVidWd8eDY0JyI+IAotCQk8VGFy
Z2V0VmVyc2lvbj5XaW5kb3dzNzwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmll
cz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVy
dHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgUmVsZWFzZXx4NjQnIj4gCi0JCTxUYXJnZXRWZXJz
aW9uPldpbmRvd3M3PC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNl
PC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPgotCTxQcm9wZXJ0eUdyb3Vw
IExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgRGVidWd8V2luMzInIj4gCi0JCTxUYXJnZXRWZXJzaW9u
PlZpc3RhPC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURl
YnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVs
PSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1dpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMiciPiAKLQkJPFRhcmdldFZlcnNpb24+Vmlz
dGE8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVn
TGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJD
b25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1dpbmRvd3MgVmlzdGEgRGVidWd8eDY0JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5WaXN0YTwvVGFy
Z2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmll
cz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJh
dGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dz
IFZpc3RhIFJlbGVhc2V8eDY0JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5WaXN0YTwvVGFyZ2V0VmVy
c2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+IAot
CTwvUHJvcGVydHlHcm91cD4KLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxMy94ZW5jcnNo
L3hlbmNyc2gudmN4cHJvaiBiL3ZzMjAxMy94ZW5jcnNoL3hlbmNyc2gudmN4cHJvagpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTA4ZThjYS4uMDAwMDAwMAotLS0gYS92czIwMTMveGVu
Y3JzaC94ZW5jcnNoLnZjeHByb2oKKysrIC9kZXYvbnVsbApAQCAtMSwxMjIgKzAsMCBAQAotPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJn
ZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNy
b3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SW1wb3J0IFByb2plY3Q9Ii4u
XGNvbmZpZ3MucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLSAg
ICA8Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVnPC9Db25maWd1cmF0aW9uPgotICAg
IDxQbGF0Zm9ybSBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJyciPldpbjMyPC9QbGF0Zm9y
bT4KLSAgICA8RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8L0RlYnVnZ2VyRmxh
dm9yPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJQcm9wZXJ0
eVNoZWV0cyI+Ci0gICAgPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJUeXBlPgotICAgIDxDb25maWd1
cmF0aW9uVHlwZT5Ecml2ZXI8L0NvbmZpZ3VyYXRpb25UeXBlPgotICA8L1Byb3BlcnR5R3JvdXA+
Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1
bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBSZWxlYXNl
fFdpbjMyJyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2VybmVsTW9kZURyaXZlcjgu
MTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3Vw
IExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgRGVidWd8V2luMzInIj4KLSAgICA8UGxhdGZvcm1Ub29s
c2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJv
cGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyBWaXN0YSBSZWxl
YXNlfFdpbjMyJyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2VybmVsTW9kZURyaXZl
cjguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdy
b3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1dpbmRvd3MgNyBSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPFBsYXRmb3JtVG9v
bHNldD5XaW5kb3dzS2VybmVsTW9kZURyaXZlcjguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1By
b3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBEZWJ1Z3xX
aW4zMiciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXI4LjE8
L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBM
YWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdXaW5kb3dzIDggRGVidWd8V2luMzInIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0Pldp
bmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlH
cm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IFJlbGVhc2V8eDY0JyI+
Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2VybmVsTW9kZURyaXZlcjguMTwvUGxhdGZv
cm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJD
b25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1dpbmRvd3MgVmlzdGEgRGVidWd8eDY0JyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dz
S2VybmVsTW9kZURyaXZlcjguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+
Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQnIj4K
LSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9y
bVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNv
bmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
V2luZG93cyA3IFJlbGVhc2V8eDY0JyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2Vy
bmVsTW9kZURyaXZlcjguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0g
IDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBEZWJ1Z3x4NjQnIj4KLSAgICA8UGxh
dGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+
Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRp
b24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4
IERlYnVnfHg2NCciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2
ZXI4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlH
cm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPFByb2plY3RHdWlkPns1OEY1QkM0My1COTJFLTRB
MkItOTc1RC0wMDY2RUFCMjkwOTJ9PC9Qcm9qZWN0R3VpZD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgot
ICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+Ci0gIDxJbXBvcnQgUHJvamVj
dD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgotICA8UHJvcGVydHlH
cm91cD4KLSAgICA8SW5jbHVkZVBhdGg+Li5cLi5caW5jbHVkZTsuLlwuLlxzcmNcY29tbW9uOyQo
SW5jbHVkZVBhdGgpPC9JbmNsdWRlUGF0aD4KLSAgICA8UnVuQ29kZUFuYWx5c2lzPnRydWU8L1J1
bkNvZGVBbmFseXNpcz4KLSAgICA8RW5hYmxlSW5mMmNhdD5mYWxzZTwvRW5hYmxlSW5mMmNhdD4K
LSAgICA8SW50RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxh
dGZvcm0pXDwvSW50RGlyPgotICAgIDxPdXREaXI+Li5cJChDb25maWd1cmF0aW9uTmFtZSlcJChQ
bGF0Zm9ybSlcPC9PdXREaXI+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9u
R3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5f
X01PRFVMRV9fPSJYRU5DUlNIIjtQT09MX05YX09QVElOPTE7JShQcmVwcm9jZXNzb3JEZWZpbml0
aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFdhcm5pbmdMZXZlbD5FbmFi
bGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgotICAgICAgPERpc2FibGVTcGVjaWZpY1dhcm5p
bmdzPjQ1NDg7NDcxMTs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7JShEaXNhYmxlU3Bl
Y2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgotICAgICAgPE11bHRpUHJv
Y2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj4KLSAgICAg
IDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+Ci0gICAgPC9DbENvbXBpbGU+Ci0g
ICAgPExpbms+Ci0gICAgICA8SW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+ZmFsc2U8L0lt
YWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJzPgotICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxl
Pi4uLy4uL3NyYy94ZW5jcnNoL3hlbmNyc2guZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KLSAg
ICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoRERLX0xJQl9QQVRIKS9zdG9ycG9ydC5saWI7
JChEREtfTElCX1BBVEgpL2xpYmNudHByLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9B
ZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdy
b3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdX
aW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+
X19pMzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRp
b25zPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVt
RGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgotICAgIDxD
bENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X194ODZfNjRfXzslKFBy
ZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9D
bENvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8
RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChUYXJnZXRQYXRoKSIgLz4KLSAgICA8RmlsZXNUb1Bh
Y2thZ2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5wZGIiIC8+Ci0gICAgPEZpbGVz
VG9QYWNrYWdlIEluY2x1ZGU9IkAoSW5mLT4nJShDb3B5T3V0cHV0KScpIiBDb25kaXRpb249IidA
KEluZiknIT0nJyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuY3JzaFxhdXN0ZXJlLmMiIC8+Ci0gICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuY3JzaFxidWZmZXIuYyIgLz4KLSAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5jcnNoXGRyaXZlci5jIiAvPgotICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hcZXZ0Y2huLmMiIC8+Ci0gICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuY3JzaFxmZG8uYyIgLz4KLSAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXC4uXHNyY1x4ZW5jcnNoXGZyb250ZW5kLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlwuLlxzcmNceGVuY3JzaFxnbnR0YWIuYyIgLz4KLSAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXC4uXHNyY1x4ZW5jcnNoXGh2bS5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cLi5cc3JjXHhlbmNyc2hcaHlwZXJjYWxsX3N0dWIuYyIgLz4KLSAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5jcnNoXGxvZy5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hccGRvLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlwuLlxzcmNceGVuY3JzaFxwZG9pbnF1aXJ5LmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlwuLlxzcmNceGVuY3JzaFxxdWV1ZS5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cLi5cc3JjXHhlbmNyc2hcc3RvcmUuYyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVt
R3JvdXA+Ci0gICAgPE1BU00gSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hcYW1kNjRcaHlwZXJj
YWxsLmFzbSI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChQbGF0Zm9y
bSknPT0nV2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L01BU00+Ci0gICAg
PE1BU00gSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hcaTM4NlxoeXBlcmNhbGwuYXNtIj4KLSAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L01BU00+Ci0gIDwvSXRlbUdyb3VwPgotICA8
SXRlbUdyb3VwPgotICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNy
c2hceGVuY3JzaC5yYyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPE5v
bmUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmNyc2hceGVuY3JzaC5kZWYiIC8+Ci0gIDwvSXRlbUdy
b3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50
YXJnZXRzIiAvPgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDEzL3hlbmNyc2gveGVuY3Jz
aC52Y3hwcm9qLnVzZXIgYi92czIwMTMveGVuY3JzaC94ZW5jcnNoLnZjeHByb2oudXNlcgpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGIyYjIxMC4uMDAwMDAwMAotLS0gYS92czIwMTMv
eGVuY3JzaC94ZW5jcnNoLnZjeHByb2oudXNlcgorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBA
QAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xz
VmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9w
ZXIvbXNidWlsZC8yMDAzIj4KLQk8UHJvcGVydHlHcm91cD4KLQkJPFNpZ25Nb2RlPlRlc3RTaWdu
PC9TaWduTW9kZT4KLQkJPFRlc3RDZXJ0aWZpY2F0ZT4uLlwuLlxzcmNceGVudmJkLnBmeDwvVGVz
dENlcnRpZmljYXRlPgotCQk8VGltZVN0YW1wU2VydmVyPmh0dHA6Ly90aW1lc3RhbXAudmVyaXNp
Z24uY29tL3NjcmlwdHMvdGltc3RhbXAuZGxsPC9UaW1lU3RhbXBTZXJ2ZXI+Ci0JPC9Qcm9wZXJ0
eUdyb3VwPgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDEzL3hlbmRpc2sveGVuZGlzay52
Y3hwcm9qIGIvdnMyMDEzL3hlbmRpc2sveGVuZGlzay52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjYjBmM2ExLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMy94ZW5kaXNrL3hlbmRp
c2sudmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDExMyArMCwwIEBACi08P3htbCB2ZXJzaW9u
PSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxk
IiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20v
ZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJbXBvcnQgUHJvamVjdD0iLi5cY29uZmlncy5w
cm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxDb25maWd1
cmF0aW9uPldpbmRvd3MgVmlzdGEgRGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0gICAgPFBsYXRmb3Jt
IENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAnJyI+V2luMzI8L1BsYXRmb3JtPgotICAgIDxE
ZWJ1Z2dlckZsYXZvcj5EYmdlbmdLZXJuZWxEZWJ1Z2dlcjwvRGVidWdnZXJGbGF2b3I+Ci0gIDwv
UHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlByb2VwcnR5U2hlZXRzIj4K
LSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHJpdmVyPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8
RHJpdmVyVHlwZT5XRE08L0RyaXZlclR5cGU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9y
dCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIg
Lz4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IFJlbGVhc2V8V2luMzInIj4K
LSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9y
bVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNv
bmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
V2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMiciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93
c0tlcm5lbE1vZGVEcml2ZXI4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3Vw
PgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIn
Ij4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0
Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9
IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nV2luZG93cyA3IFJlbGVhc2V8V2luMzInIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRv
d3NLZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91
cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IERlYnVnfFdpbjMyJyI+Ci0g
ICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2VybmVsTW9kZURyaXZlcjguMTwvUGxhdGZvcm1U
b29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25m
aWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dp
bmRvd3MgOCBEZWJ1Z3xXaW4zMiciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5l
bE1vZGVEcml2ZXI4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8
UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggUmVsZWFzZXx4NjQnIj4KLSAgICA8UGxh
dGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+
Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRp
b24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyBW
aXN0YSBEZWJ1Z3x4NjQnIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2Rl
RHJpdmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3Bl
cnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NCciPgotICAgIDxQbGF0
Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXI4LjE8L1BsYXRmb3JtVG9vbHNldD4K
LSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlv
biIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcg
UmVsZWFzZXx4NjQnIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJp
dmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5
R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IERlYnVnfHg2NCciPgotICAgIDxQbGF0Zm9ybVRvb2xz
ZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXI4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9w
ZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggRGVidWd8eDY0
JyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2VybmVsTW9kZURyaXZlcjguMTwvUGxh
dGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVs
PSJHbG9iYWxzIj4KLSAgICA8UHJvamVjdEd1aWQ+e0Q3NDExQjJDLTJDNDMtNDM0RC05RjU2LUUx
MEEzRDJGNUJBRH08L1Byb2plY3RHdWlkPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQg
UHJvamVjdD0iLi5cdGFyZ2V0cy5wcm9wcyIgLz4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFy
Z2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAg
IDxJbmNsdWRlUGF0aD4kKFByb2plY3REaXIpLi5cLi5caW5jbHVkZTskKFByb2plY3REaXIpLi5c
Li5cc3JjXGNvbW1vbjskKEluY2x1ZGVQYXRoKTwvSW5jbHVkZVBhdGg+Ci0gICAgPFJ1bkNvZGVB
bmFseXNpcz50cnVlPC9SdW5Db2RlQW5hbHlzaXM+Ci0gICAgPEVuYWJsZUluZjJjYXQ+ZmFsc2U8
L0VuYWJsZUluZjJjYXQ+Ci0gICAgPEludERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3Vy
YXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L0ludERpcj4KLSAgICA8T3V0RGlyPi4uXCQoQ29uZmln
dXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvT3V0RGlyPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0g
IDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QnVmZmVyU2Vj
dXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KLSAgICAgIDxQcmVwcm9jZXNz
b3JEZWZpbml0aW9ucz5fX01PRFVMRV9fPSJYRU5ESVNLIjtQT09MX05YX09QVElOPTE7JShQcmVw
cm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFdh
cm5pbmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgotICAgICAgPERpc2Fi
bGVTcGVjaWZpY1dhcm5pbmdzPjQ1NDg7NDcxMTs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7Mjgx
OTY7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgot
ICAgICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21w
aWxhdGlvbj4KLSAgICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+Ci0gICAg
PC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4k
KERES19MSUJfUEFUSCkvbGliY250cHIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0Fk
ZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICAgIDxJbmY+Ci0gICAgICA8U3Bl
Y2lmeUFyY2hpdGVjdHVyZT50cnVlPC9TcGVjaWZ5QXJjaGl0ZWN0dXJlPgotICAgICAgPFNwZWNp
ZnlEcml2ZXJWZXJEaXJlY3RpdmVWZXJzaW9uPnRydWU8L1NwZWNpZnlEcml2ZXJWZXJEaXJlY3Rp
dmVWZXJzaW9uPgotICAgICAgPFRpbWVTdGFtcD4kKE1BSk9SX1ZFUlNJT04pLiQoTUlOT1JfVkVS
U0lPTikuJChNSUNST19WRVJTSU9OKS4kKEJVSUxEX05VTUJFUik8L1RpbWVTdGFtcD4KLSAgICAg
IDxFbmFibGVWZXJib3NlPnRydWU8L0VuYWJsZVZlcmJvc2U+Ci0gICAgPC9JbmY+Ci0gIDwvSXRl
bURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQ
bGF0Zm9ybSknPT0nV2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3Nv
ckRlZmluaXRpb25zPl9faTM4Nl9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8SW5mPgotICAgICAgPEFy
Y2hpdGVjdHVyZT54ODY8L0FyY2hpdGVjdHVyZT4KLSAgICA8L0luZj4KLSAgPC9JdGVtRGVmaW5p
dGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3Jt
KSc9PSd4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRp
b25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRl
ZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxJbmY+Ci0gICAgICA8QXJjaGl0ZWN0
dXJlPmFtZDY0PC9BcmNoaXRlY3R1cmU+Ci0gICAgPC9JbmY+Ci0gIDwvSXRlbURlZmluaXRpb25H
cm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChUYXJn
ZXRQYXRoKSIgLz4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJn
ZXROYW1lKS5wZGIiIC8+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IkAoSW5mLT4nJShD
b3B5T3V0cHV0KScpIiBDb25kaXRpb249IidAKEluZiknIT0nJyIgLz4KLSAgPC9JdGVtR3JvdXA+
Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVuZGlz
ay9kcml2ZXIuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW5kaXNr
L2Zkby5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbmRpc2svcGRv
LmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVuZGlzay9yZWdpc3Ry
eS5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbmRpc2svdGhyZWFk
LmMiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxSZXNvdXJjZUNvbXBp
bGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmRpc2tceGVuZGlzay5yYyIgLz4KLSAgPC9JdGVtR3Jv
dXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRh
cmdldHMiIC8+Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTMveGVuZGlzay94ZW5kaXNr
LnZjeHByb2oudXNlciBiL3ZzMjAxMy94ZW5kaXNrL3hlbmRpc2sudmN4cHJvai51c2VyCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZjFmM2MwLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMy94
ZW5kaXNrL3hlbmRpc2sudmN4cHJvai51c2VyCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBA
Ci08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNW
ZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Bl
ci9tc2J1aWxkLzIwMDMiPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8U2lnbk1vZGU+VGVzdFNp
Z248L1NpZ25Nb2RlPgotICAgIDxUZXN0Q2VydGlmaWNhdGU+Li5cLi5cc3JjXHhlbnZiZC5wZng8
L1Rlc3RDZXJ0aWZpY2F0ZT4KLSAgICA8VGltZVN0YW1wU2VydmVyPmh0dHA6Ly90aW1lc3RhbXAu
dmVyaXNpZ24uY29tL3NjcmlwdHMvdGltc3RhbXAuZGxsPC9UaW1lU3RhbXBTZXJ2ZXI+Ci0gIDwv
UHJvcGVydHlHcm91cD4KLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxMy94ZW52YmQuc2xu
IGIvdnMyMDEzL3hlbnZiZC5zbG4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc2ODM5
MTcuLjAwMDAwMDAKLS0tIGEvdnMyMDEzL3hlbnZiZC5zbG4KKysrIC9kZXYvbnVsbApAQCAtMSwx
NzkgKzAsMCBAQAotTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwgRm9ybWF0
IFZlcnNpb24gMTIuMDAKLSMgVmlzdWFsIFN0dWRpbyAxMSAKLVByb2plY3QoIns4QkM5Q0VCOC04
QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAieGVudmJkIiwgInhlbnZiZFx4ZW52YmQu
dmN4cHJvaiIsICJ7RUYyMzYzNzEtMzE0NS00MUIxLTk5QzktODJCMzNFMzUzRjE3fSIKLQlQcm9q
ZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0Ci0JCXs1MEMwODQz
Ny1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9ID0gezUwQzA4NDM3LUMxRjMtNDM0OS1CRjZB
LTdCNTVBMDZCRjk5OX0KLQkJezU4RjVCQzQzLUI5MkUtNEEyQi05NzVELTAwNjZFQUIyOTA5Mn0g
PSB7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfQotCQl7RDc0MTFCMkMtMkM0
My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfSA9IHtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBB
M0QyRjVCQUR9Ci0JRW5kUHJvamVjdFNlY3Rpb24KLUVuZFByb2plY3QKLVByb2plY3QoIns4QkM5
Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAieGVuY3JzaCIsICJ4ZW5jcnNo
XHhlbmNyc2gudmN4cHJvaiIsICJ7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDky
fSIKLUVuZFByb2plY3QKLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkx
QkM5NDJ9IikgPSAieGVuZGlzayIsICJ4ZW5kaXNrXHhlbmRpc2sudmN4cHJvaiIsICJ7RDc0MTFC
MkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfSIKLUVuZFByb2plY3QKLVByb2plY3QoIns4
QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAieGVudmJkX2NvaW5zdCIs
ICJjb2luc3RceGVudmJkX2NvaW5zdC52Y3hwcm9qIiwgIns1MEMwODQzNy1DMUYzLTQzNDktQkY2
QS03QjU1QTA2QkY5OTl9IgotICAgIFByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMp
ID0gcG9zdFByb2plY3QKLQkJezU4RjVCQzQzLUI5MkUtNEEyQi05NzVELTAwNjZFQUIyOTA5Mn0g
PSB7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfQotCUVuZFByb2plY3RTZWN0
aW9uCi1FbmRQcm9qZWN0Ci1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5
MUJDOTQyfSIpID0gInBhY2thZ2UiLCAicGFja2FnZVxwYWNrYWdlLnZjeHByb2oiLCAie0FCOERB
RUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0iCi0gICAgUHJvamVjdFNlY3Rpb24oUHJv
amVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdAotCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJG
NkEtN0I1NUEwNkJGOTk5fSA9IHs1MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9
Ci0JCXs1OEY1QkM0My1COTJFLTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9ID0gezU4RjVCQzQzLUI5
MkUtNEEyQi05NzVELTAwNjZFQUIyOTA5Mn0KLSAgICAgICAge0VGMjM2MzcxLTMxNDUtNDFCMS05
OUM5LTgyQjMzRTM1M0YxN30gPSB7RUYyMzYzNzEtMzE0NS00MUIxLTk5QzktODJCMzNFMzUzRjE3
fQotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfSA9IHtENzQxMUIyQy0y
QzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9Ci0JRW5kUHJvamVjdFNlY3Rpb24KLUVuZFByb2pl
Y3QKLUdsb2JhbAotCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1z
KSA9IHByZVNvbHV0aW9uCi0JCVdpbmRvd3MgNyBEZWJ1Z3xXaW4zMiA9IFdpbmRvd3MgNyBEZWJ1
Z3xXaW4zMgotCQlXaW5kb3dzIDcgRGVidWd8eDY0ID0gV2luZG93cyA3IERlYnVnfHg2NAotCQlX
aW5kb3dzIDcgUmVsZWFzZXxXaW4zMiA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCVdpbmRv
d3MgNyBSZWxlYXNlfHg2NCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQlXaW5kb3dzIDggRGVi
dWd8V2luMzIgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJV2luZG93cyA4IERlYnVnfHg2NCA9
IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJV2luZG93cyA4IFJlbGVhc2V8V2luMzIgPSBXaW5kb3dz
IDggUmVsZWFzZXxXaW4zMgotCQlXaW5kb3dzIDggUmVsZWFzZXx4NjQgPSBXaW5kb3dzIDggUmVs
ZWFzZXx4NjQKLQkJV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMiA9IFdpbmRvd3MgVmlzdGEgRGVi
dWd8V2luMzIKLQkJV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQgPSBXaW5kb3dzIFZpc3RhIERlYnVn
fHg2NAotCQlXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIgPSBXaW5kb3dzIFZpc3RhIFJlbGVh
c2V8V2luMzIKLQkJV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NCA9IFdpbmRvd3MgVmlzdGEgUmVs
ZWFzZXx4NjQKLQlFbmRHbG9iYWxTZWN0aW9uCi0JR2xvYmFsU2VjdGlvbihQcm9qZWN0Q29uZmln
dXJhdGlvblBsYXRmb3JtcykgPSBwb3N0U29sdXRpb24KLQkJe0Q3NDExQjJDLTJDNDMtNDM0RC05
RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRv
d3MgNyBEZWJ1Z3xXaW4zMgotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFE
fS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgot
CQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIDcgRGVidWd8
eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJe0Q3NDExQjJDLTJDNDMtNDM0
RC05RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyA3IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93
cyA3IERlYnVnfHg2NAotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5X
aW5kb3dzIDcgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4z
MgotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIDcgUmVs
ZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJe0Q3NDExQjJD
LTJDNDMtNDM0RC05RjU2LUUxMEEzRDJGNUJBRH0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkFjdGl2
ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYt
RTEwQTNEMkY1QkFEfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBS
ZWxlYXNlfHg2NAotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5k
b3dzIDggRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXtE
NzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgOCBEZWJ1Z3xXaW4z
Mi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXtENzQxMUIyQy0yQzQzLTQzNEQt
OUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93
cyA4IERlYnVnfHg2NAotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5X
aW5kb3dzIDggRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCXtENzQx
MUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMy
LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXtENzQxMUIyQy0yQzQzLTQz
NEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBX
aW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNE
MkY1QkFEfS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVh
c2V8eDY0Ci0JCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3Mg
OCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0JCXtENzQxMUIy
Qy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIu
QWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7RDc0MTFCMkMtMkM0My00
MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyLkJ1aWxkLjAg
PSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1F
MTBBM0QyRjVCQUR9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3Mg
VmlzdGEgRGVidWd8eDY0Ci0JCXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9
LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfHg2
NAotCQl7RDc0MTFCMkMtMkM0My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIFZpc3Rh
IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0J
CXtENzQxMUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgVmlzdGEgUmVs
ZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXtENzQx
MUIyQy0yQzQzLTQzNEQtOUY1Ni1FMTBBM0QyRjVCQUR9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4
NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7RDc0MTFCMkMtMkM0
My00MzRELTlGNTYtRTEwQTNEMkY1QkFEfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0LkJ1aWxk
LjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXtFRjIzNjM3MS0zMTQ1LTQxQjEtOTlD
OS04MkIzM0UzNTNGMTd9LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dz
IDcgRGVidWd8V2luMzIKLQkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30u
V2luZG93cyA3IERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJ
e0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93cyA3IERlYnVnfHg2
NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXtFRjIzNjM3MS0zMTQ1LTQxQjEt
OTlDOS04MkIzM0UzNTNGMTd9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3Mg
NyBEZWJ1Z3x4NjQKLQkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2lu
ZG93cyA3IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIK
LQkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93cyA3IFJlbGVh
c2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXtFRjIzNjM3MS0z
MTQ1LTQxQjEtOTlDOS04MkIzM0UzNTNGMTd9LldpbmRvd3MgNyBSZWxlYXNlfHg2NC5BY3RpdmVD
ZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgy
QjMzRTM1M0YxN30uV2luZG93cyA3IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDcgUmVs
ZWFzZXx4NjQKLQkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93
cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7RUYy
MzYzNzEtMzE0NS00MUIxLTk5QzktODJCMzNFMzUzRjE3fS5XaW5kb3dzIDggRGVidWd8V2luMzIu
QnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7RUYyMzYzNzEtMzE0NS00MUIxLTk5
QzktODJCMzNFMzUzRjE3fS5XaW5kb3dzIDggRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3Mg
OCBEZWJ1Z3x4NjQKLQkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2lu
ZG93cyA4IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2NAotCQl7RUYyMzYz
NzEtMzE0NS00MUIxLTk5QzktODJCMzNFMzUzRjE3fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5B
Y3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7RUYyMzYzNzEtMzE0NS00MUIx
LTk5QzktODJCMzNFMzUzRjE3fS5XaW5kb3dzIDggUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2lu
ZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1
M0YxN30uV2luZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNl
fHg2NAotCQl7RUYyMzYzNzEtMzE0NS00MUIxLTk5QzktODJCMzNFMzUzRjE3fS5XaW5kb3dzIDgg
UmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7RUYyMzYzNzEt
MzE0NS00MUIxLTk5QzktODJCMzNFMzUzRjE3fS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyLkFj
dGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJe0VGMjM2MzcxLTMxNDUtNDFC
MS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0g
V2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7RUYyMzYzNzEtMzE0NS00MUIxLTk5QzktODJC
MzNFMzUzRjE3fS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZp
c3RhIERlYnVnfHg2NAotCQl7RUYyMzYzNzEtMzE0NS00MUIxLTk5QzktODJCMzNFMzUzRjE3fS5X
aW5kb3dzIFZpc3RhIERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQK
LQkJe0VGMjM2MzcxLTMxNDUtNDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93cyBWaXN0YSBS
ZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7
RUYyMzYzNzEtMzE0NS00MUIxLTk5QzktODJCMzNFMzUzRjE3fS5XaW5kb3dzIFZpc3RhIFJlbGVh
c2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7RUYyMzYz
NzEtMzE0NS00MUIxLTk5QzktODJCMzNFMzUzRjE3fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0
LkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJe0VGMjM2MzcxLTMxNDUt
NDFCMS05OUM5LTgyQjMzRTM1M0YxN30uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5CdWlsZC4w
ID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJGNkEt
N0I1NUEwNkJGOTk5fS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3
IERlYnVnfFdpbjMyCi0JCXs1MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9Lldp
bmRvd3MgNyBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3IERlYnVnfFdpbjMyCi0JCXs1
MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9LldpbmRvd3MgNyBEZWJ1Z3x4NjQu
QWN0aXZlQ2ZnID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7NTBDMDg0MzctQzFGMy00MzQ5LUJG
NkEtN0I1NUEwNkJGOTk5fS5XaW5kb3dzIDcgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDcg
RGVidWd8eDY0Ci0JCXs1MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9LldpbmRv
d3MgNyBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0J
CXs1MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9LldpbmRvd3MgNyBSZWxlYXNl
fFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7NTBDMDg0MzctQzFG
My00MzQ5LUJGNkEtN0I1NUEwNkJGOTk5fS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQWN0aXZlQ2Zn
ID0gV2luZG93cyA3IFJlbGVhc2V8eDY0Ci0JCXs1MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1
QTA2QkY5OTl9LldpbmRvd3MgNyBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVh
c2V8eDY0Ci0JCXs1MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9LldpbmRvd3Mg
OCBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezUwQzA4
NDM3LUMxRjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5OX0uV2luZG93cyA4IERlYnVnfFdpbjMyLkJ1
aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezUwQzA4NDM3LUMxRjMtNDM0OS1CRjZB
LTdCNTVBMDZCRjk5OX0uV2luZG93cyA4IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDgg
RGVidWd8eDY0Ci0JCXs1MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9LldpbmRv
d3MgOCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezUwQzA4NDM3
LUMxRjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5OX0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQWN0
aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezUwQzA4NDM3LUMxRjMtNDM0OS1C
RjZBLTdCNTVBMDZCRjk5OX0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRv
d3MgOCBSZWxlYXNlfFdpbjMyCi0JCXs1MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5
OTl9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVsZWFzZXx4
NjQKLQkJezUwQzA4NDM3LUMxRjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5OX0uV2luZG93cyA4IFJl
bGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKLQkJezUwQzA4NDM3LUMx
RjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5OX0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5BY3Rp
dmVDZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXs1MEMwODQzNy1DMUYzLTQzNDkt
QkY2QS03QjU1QTA2QkY5OTl9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdp
bmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezUwQzA4NDM3LUMxRjMtNDM0OS1CRjZBLTdCNTVB
MDZCRjk5OX0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0
YSBEZWJ1Z3x4NjQKLQkJezUwQzA4NDM3LUMxRjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5OX0uV2lu
ZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0J
CXs1MEMwODQzNy1DMUYzLTQzNDktQkY2QS03QjU1QTA2QkY5OTl9LldpbmRvd3MgVmlzdGEgUmVs
ZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJezUw
QzA4NDM3LUMxRjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5OX0uV2luZG93cyBWaXN0YSBSZWxlYXNl
fFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJezUwQzA4NDM3
LUMxRjMtNDM0OS1CRjZBLTdCNTVBMDZCRjk5OX0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5B
Y3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXs1MEMwODQzNy1DMUYzLTQz
NDktQkY2QS03QjU1QTA2QkY5OTl9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuQnVpbGQuMCA9
IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2
NDNGMUZDMTk3Mn0uV2luZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBE
ZWJ1Z3xXaW4zMgotCQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5k
b3dzIDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7QUI4
REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIDcgRGVidWd8V2luMzIu
RGVwbG95LjAgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJe0FCOERBRUQzLTlENzAtNDkwNy05
OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyA3IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dz
IDcgRGVidWd8eDY0Ci0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9Lldp
bmRvd3MgNyBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJe0FCOERB
RUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyA3IERlYnVnfHg2NC5EZXBs
b3kuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2
NDNGMUZDMTk3Mn0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3
IFJlbGVhc2V8V2luMzIKLQkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0u
V2luZG93cyA3IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMy
Ci0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgNyBSZWxl
YXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJe0FCOERBRUQz
LTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkFjdGl2
ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMt
QzY0M0YxRkMxOTcyfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBS
ZWxlYXNlfHg2NAotCQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5k
b3dzIDcgUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJe0FC
OERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyA4IERlYnVnfFdpbjMy
LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7QUI4REFFRDMtOUQ3MC00OTA3
LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIDggRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRv
d3MgOCBEZWJ1Z3xXaW4zMgotCQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcy
fS5XaW5kb3dzIDggRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIK
LQkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyA4IERlYnVn
fHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCXtBQjhEQUVEMy05RDcwLTQ5
MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRv
d3MgOCBEZWJ1Z3x4NjQKLQkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0u
V2luZG93cyA4IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJe0FC
OERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyA4IFJlbGVhc2V8V2lu
MzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJe0FCOERBRUQzLTlENzAt
NDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9
IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQz
RjFGQzE5NzJ9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA4IFJl
bGVhc2V8V2luMzIKLQkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2lu
ZG93cyA4IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7
QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIDggUmVsZWFzZXx4
NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7QUI4REFFRDMtOUQ3MC00OTA3
LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5k
b3dzIDggUmVsZWFzZXx4NjQKLQkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3
Mn0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIERl
YnVnfFdpbjMyCi0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRv
d3MgVmlzdGEgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIK
LQkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyBWaXN0YSBE
ZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJe0FCOERB
RUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQu
QWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJe0FCOERBRUQzLTlENzAtNDkw
Ny05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdp
bmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXtBQjhEQUVEMy05RDcwLTQ5MDctOTlBMy1DNjQzRjFG
QzE5NzJ9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBE
ZWJ1Z3x4NjQKLQkJe0FCOERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93
cyBWaXN0YSBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxX
aW4zMgotCQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIFZp
c3RhIFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgot
CQl7QUI4REFFRDMtOUQ3MC00OTA3LTk5QTMtQzY0M0YxRkMxOTcyfS5XaW5kb3dzIFZpc3RhIFJl
bGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJe0FC
OERBRUQzLTlENzAtNDkwNy05OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyBWaXN0YSBSZWxlYXNl
fHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXtBQjhEQUVEMy05
RDcwLTQ5MDctOTlBMy1DNjQzRjFGQzE5NzJ9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuQnVp
bGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJe0FCOERBRUQzLTlENzAtNDkwNy05
OUEzLUM2NDNGMUZDMTk3Mn0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdp
bmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezU4RjVCQzQzLUI5MkUtNEEyQi05NzVELTAwNjZF
QUIyOTA5Mn0uV2luZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1
Z3xXaW4zMgotCQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dz
IDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7NThGNUJD
NDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIDcgRGVidWd8eDY0LkFjdGl2
ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezU4RjVCQzQzLUI5MkUtNEEyQi05NzVELTAw
NjZFQUIyOTA5Mn0uV2luZG93cyA3IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA3IERlYnVn
fHg2NAotCQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIDcg
UmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7NThG
NUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIDcgUmVsZWFzZXxXaW4z
Mi5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezU4RjVCQzQzLUI5MkUtNEEy
Qi05NzVELTAwNjZFQUIyOTA5Mn0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdp
bmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5
MDkyfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2
NAotCQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIDggRGVi
dWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXs1OEY1QkM0My1C
OTJFLTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWlsZC4w
ID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXs1OEY1QkM0My1COTJFLTRBMkItOTc1RC0wMDY2
RUFCMjkwOTJ9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVn
fHg2NAotCQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIDgg
RGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCXs1OEY1QkM0My1COTJF
LTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0JCXs1OEY1QkM0My1COTJFLTRBMkItOTc1RC0w
MDY2RUFCMjkwOTJ9LldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDgg
UmVsZWFzZXxXaW4zMgotCQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5X
aW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0J
CXs1OEY1QkM0My1COTJFLTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3MgOCBSZWxlYXNl
fHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0JCXs1OEY1QkM0My1COTJFLTRB
MkItOTc1RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIuQWN0aXZlQ2Zn
ID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7NThGNUJDNDMtQjkyRS00QTJCLTk3NUQt
MDA2NkVBQjI5MDkyfS5XaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dz
IFZpc3RhIERlYnVnfFdpbjMyCi0JCXs1OEY1QkM0My1COTJFLTRBMkItOTc1RC0wMDY2RUFCMjkw
OTJ9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVi
dWd8eDY0Ci0JCXs1OEY1QkM0My1COTJFLTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3Mg
VmlzdGEgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQl7NThG
NUJDNDMtQjkyRS00QTJCLTk3NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8
V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXs1OEY1QkM0
My1COTJFLTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4z
Mi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXs1OEY1QkM0My1COTJF
LTRBMkItOTc1RC0wMDY2RUFCMjkwOTJ9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuQWN0aXZl
Q2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7NThGNUJDNDMtQjkyRS00QTJCLTk3
NUQtMDA2NkVBQjI5MDkyfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5k
b3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JRW5kR2xvYmFsU2VjdGlvbgotCUdsb2JhbFNlY3Rpb24o
U29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uCi0JCUhpZGVTb2x1dGlvbk5vZGUgPSBG
QUxTRQotCUVuZEdsb2JhbFNlY3Rpb24KLUVuZEdsb2JhbApkaWZmIC0tZ2l0IGEvdnMyMDEzL3hl
bnZiZC94ZW52YmQudmN4cHJvaiBiL3ZzMjAxMy94ZW52YmQveGVudmJkLnZjeHByb2oKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1MzI2MWEuLjAwMDAwMDAKLS0tIGEvdnMyMDEzL3hl
bnZiZC94ZW52YmQudmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDEyMyArMCwwIEBACi08P3ht
bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdl
dHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jv
c29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJbXBvcnQgUHJvamVjdD0iLi5c
Y29uZmlncy5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAg
IDxDb25maWd1cmF0aW9uPldpbmRvd3MgVmlzdGEgRGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0gICAg
PFBsYXRmb3JtIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAnJyI+V2luMzI8L1BsYXRmb3Jt
PgotICAgIDxEZWJ1Z2dlckZsYXZvcj5EYmdlbmdLZXJuZWxEZWJ1Z2dlcjwvRGVidWdnZXJGbGF2
b3I+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlByb2VwcnR5
U2hlZXRzIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHJpdmVyPC9Db25maWd1cmF0aW9uVHlw
ZT4KLSAgICA8RHJpdmVyVHlwZT5XRE08L0RyaXZlclR5cGU+Ci0gIDwvUHJvcGVydHlHcm91cD4K
LSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVs
dC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IFJlbGVhc2V8
V2luMzInIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4x
PC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAg
TGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMiciPgotICAgIDxQbGF0Zm9ybVRvb2xz
ZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXI4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9w
ZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIFZpc3RhIFJlbGVh
c2V8V2luMzInIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVy
OC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3Jv
dXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nV2luZG93cyA3IFJlbGVhc2V8V2luMzInIj4KLSAgICA8UGxhdGZvcm1Ub29s
c2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJv
cGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IERlYnVnfFdp
bjMyJyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2VybmVsTW9kZURyaXZlcjguMTwv
UGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExh
YmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1dpbmRvd3MgOCBEZWJ1Z3xXaW4zMiciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2lu
ZG93c0tlcm5lbE1vZGVEcml2ZXI4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdy
b3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggUmVsZWFzZXx4NjQnIj4K
LSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9y
bVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNv
bmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
V2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQnIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NL
ZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4K
LSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NCciPgot
ICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXI4LjE8L1BsYXRmb3Jt
VG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29u
ZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdX
aW5kb3dzIDcgUmVsZWFzZXx4NjQnIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJu
ZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAg
PFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IERlYnVnfHg2NCciPgotICAgIDxQbGF0
Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXI4LjE8L1BsYXRmb3JtVG9vbHNldD4K
LSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlv
biIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDgg
RGVidWd8eDY0JyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2VybmVsTW9kZURyaXZl
cjguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdy
b3VwIExhYmVsPSJHbG9iYWxzIj4KLSAgICA8UHJvamVjdEd1aWQ+e0VGMjM2MzcxLTMxNDUtNDFC
MS05OUM5LTgyQjMzRTM1M0YxN308L1Byb2plY3RHdWlkPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0g
IDxJbXBvcnQgUHJvamVjdD0iLi5cdGFyZ2V0cy5wcm9wcyIgLz4KLSAgPEltcG9ydCBQcm9qZWN0
PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdy
b3VwPgotICAgIDxJbmNsdWRlUGF0aD4kKFByb2plY3REaXIpLi5cLi5caW5jbHVkZTskKFByb2pl
Y3REaXIpLi5cLi5cc3JjXGNvbW1vbjskKEluY2x1ZGVQYXRoKTwvSW5jbHVkZVBhdGg+Ci0gICAg
PFJ1bkNvZGVBbmFseXNpcz50cnVlPC9SdW5Db2RlQW5hbHlzaXM+Ci0gICAgPEVuYWJsZUluZjJj
YXQ+ZmFsc2U8L0VuYWJsZUluZjJjYXQ+Ci0gICAgPEludERpcj4uLlwkKFByb2plY3ROYW1lKVwk
KENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L0ludERpcj4KLSAgICA8T3V0RGlyPi4u
XCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvT3V0RGlyPgotICA8L1Byb3BlcnR5
R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8
QnVmZmVyU2VjdXJpdHlDaGVjaz5mYWxzZTwvQnVmZmVyU2VjdXJpdHlDaGVjaz4KLSAgICAgIDxQ
cmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX01PRFVMRV9fPSJYRU5WQkQiO1BPT0xfTlhfT1BUSU49
MTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0g
ICAgICA8V2FybmluZ0xldmVsPkVuYWJsZUFsbFdhcm5pbmdzPC9XYXJuaW5nTGV2ZWw+Ci0gICAg
ICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDU0ODs0NzExOzQ4MjA7NDY2ODs0MjU1OzYwMDE7
NjA1NDsyODE5NjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2Fy
bmluZ3M+Ci0gICAgICA8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50cnVlPC9NdWx0aVByb2Nl
c3NvckNvbXBpbGF0aW9uPgotICAgICAgPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwvRW5hYmxlUFJFZmFz
dD4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5k
ZW5jaWVzPiQoUHJvamVjdERpcikuLlwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVx4
ZW5jcnNoLmxpYjskKERES19MSUJfUEFUSCkvc3RvcnBvcnQubGliOyQoRERLX0xJQl9QQVRIKS9s
aWJjbnRwci5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVu
Y2llcz4KLSAgICA8L0xpbms+Ci0gICAgPEluZj4KLSAgICAgIDxTcGVjaWZ5QXJjaGl0ZWN0dXJl
PnRydWU8L1NwZWNpZnlBcmNoaXRlY3R1cmU+Ci0gICAgICA8U3BlY2lmeURyaXZlclZlckRpcmVj
dGl2ZVZlcnNpb24+dHJ1ZTwvU3BlY2lmeURyaXZlclZlckRpcmVjdGl2ZVZlcnNpb24+Ci0gICAg
ICA8VGltZVN0YW1wPiQoTUFKT1JfVkVSU0lPTikuJChNSU5PUl9WRVJTSU9OKS4kKE1JQ1JPX1ZF
UlNJT04pLiQoQlVJTERfTlVNQkVSKTwvVGltZVN0YW1wPgotICAgICAgPEVuYWJsZVZlcmJvc2U+
dHJ1ZTwvRW5hYmxlVmVyYm9zZT4KLSAgICA8L0luZj4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3Vw
PgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4z
MiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19p
Mzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25z
PgotICAgIDwvQ2xDb21waWxlPgotICAgIDxJbmY+Ci0gICAgICA8QXJjaGl0ZWN0dXJlPng4Njwv
QXJjaGl0ZWN0dXJlPgotICAgIDwvSW5mPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJ
dGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgotICAg
IDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X194ODZfNjRfXzsl
KFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAg
PC9DbENvbXBpbGU+Ci0gICAgPEluZj4KLSAgICAgIDxBcmNoaXRlY3R1cmU+YW1kNjQ8L0FyY2hp
dGVjdHVyZT4KLSAgICA8L0luZj4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdy
b3VwPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKFRhcmdldFBhdGgpIiAvPgotICAg
IDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKE91dERpcikkKFRhcmdldE5hbWUpLnBkYiIgLz4K
LSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iQChJbmYtPiclKENvcHlPdXRwdXQpJykiIENv
bmRpdGlvbj0iJ0AoSW5mKSchPScnIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4K
LSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvYnVmZmVyLmMiIC8+Ci0g
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL2RyaXZlci5jIiAvPgotICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9yZWdpc3RyeS5jIiAvPgotICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9mZG8uYyIgLz4KLSAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvZnJvbnRlbmQuYyIgLz4KLSAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvcGRvLmMiIC8+Ci0gICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL3Bkb2lucXVpcnkuYyIgLz4KLSAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvcXVldWUuYyIgLz4KLSAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uLy4uL3NyYy94ZW52YmQvdGhyZWFkLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL25vdGlmaWVyLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLi8uLi9zcmMveGVudmJkL2Jsb2NrcmluZy5jIiAvPgotICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi4vLi4vc3JjL3hlbnZiZC9ncmFudGVyLmMiIC8+Ci0gIDwvSXRlbUdyb3VwPgot
ICA8SXRlbUdyb3VwPgotICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhl
bnZiZFx4ZW52YmQucmMiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxJ
bmYgSW5jbHVkZT0iLi5ceGVudmJkLmluZiIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQg
UHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci08L1By
b2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTMveGVudmJkL3hlbnZiZC52Y3hwcm9qLnVzZXIgYi92
czIwMTMveGVudmJkL3hlbnZiZC52Y3hwcm9qLnVzZXIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGM0Yjg0ZTguLjAwMDAwMDAKLS0tIGEvdnMyMDEzL3hlbnZiZC94ZW52YmQudmN4cHJv
ai51c2VyCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIx
LjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5z
PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgot
ICA8UHJvcGVydHlHcm91cD4KLSAgICA8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgotICAg
IDxUZXN0Q2VydGlmaWNhdGU+Li5cLi5cc3JjXHhlbnZiZC5wZng8L1Rlc3RDZXJ0aWZpY2F0ZT4K
LSAgICA8VGltZVN0YW1wU2VydmVyPmh0dHA6Ly90aW1lc3RhbXAudmVyaXNpZ24uY29tL3Njcmlw
dHMvdGltc3RhbXAuZGxsPC9UaW1lU3RhbXBTZXJ2ZXI+Ci0gIDwvUHJvcGVydHlHcm91cD4KLTwv
UHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxNS9wYWNrYWdlL3BhY2thZ2UudmN4cHJvaiBiL3Zz
MjAxNS9wYWNrYWdlL3BhY2thZ2UudmN4cHJvagppbmRleCAxN2EzZmUwLi5hZjI5MjhjIDEwMDY0
NAotLS0gYS92czIwMTUvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oKKysrIGIvdnMyMDE1L3BhY2th
Z2UvcGFja2FnZS52Y3hwcm9qCkBAIC0yOSw3ICsyOSw3IEBACiAgICAgPFZlcmlmeVByb2plY3RP
dXRwdXQ+VHJ1ZTwvVmVyaWZ5UHJvamVjdE91dHB1dD4KICAgICA8VmVyaWZ5RmxhZ3M+MTMzNTYz
PC9WZXJpZnlGbGFncz4KICAgICA8SW50RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJh
dGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvSW50RGlyPgotICAgIDxPdXREaXI+Li5cLi5ceGVudmJk
XCQoRERLUGxhdGZvcm0pXDwvT3V0RGlyPgorICAgIDxPdXREaXI+Li5cJChDb25maWd1cmF0aW9u
TmFtZSlcJChQbGF0Zm9ybSlcPC9PdXREaXI+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEl0ZW1H
cm91cD4KICAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlx4ZW52YmRfY29pbnN0XHhl
bnZiZF9jb2luc3QudmN4cHJvaiI+Ci0tIAoyLjUuMwoKCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2
LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcv
Y2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Thu May 18 14:22:07 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 May 2017 14:22: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 1dBMJb-0003Pn-8I; Thu, 18 May 2017 14:22:07 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=304abdc7e=Paul.Durrant@citrix.com>)
 id 1dBMJZ-0003Pf-Hf
 for win-pv-devel@lists.xenproject.org; Thu, 18 May 2017 14:22:05 +0000
Received: from [85.158.143.35] by server-7.bemta-6.messagelabs.com id
 A7/33-03620-C0EAD195; Thu, 18 May 2017 14:22:04 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrNLMWRWlGSWpSXmKPExsXitHSDvS73Otl
 Ig6k3uC3+LE50YPQ4/OEKSwBjFGtmXlJ+RQJrxqlPj1kLLuxmq7h2WaSB8edT1i5GDg4JAX+J
 Sx9Fuhg5OdgEdCSmPr3ECmKLCKhL7Pu8lQnEZhbQkmiYuATMFhYwl9jePI8ZxGYRUJWYum0hC
 4jNK+AqsWLtGmaIkXIS3TvdQMJCAioS66fOYoMoEZQ4OfMJC8RICYmDL14wT2DknoUkNQtJag
 Ej0ypGjeLUorLUIl0jQ72kosz0jJLcxMwcXUMDM73c1OLixPTUnMSkYr3k/NxNjMBAYACCHYx
 /lgUcYpTkYFIS5T1cIBspxJeUn1KZkVicEV9UmpNafIhRhoNDSYLXfC1QTrAoNT21Ii0zBxiS
 MGkJDh4lEd7Pa4DSvMUFibnFmekQqVOMilLivE0gCQGQREZpHlwbLA4uMcpKCfMyAh0ixFOQW
 pSbWYIq/4pRnINRSZi3H2QKT2ZeCdz0V0CLmYAWNz+QBllckoiQkmpgbOWb/K7oEK+ZaL+er8
 mpe8wfhXhrNna//CN9s9dFZZnIdKugwJjepxF8jdOXFE0tWn1vSYC/3YQ9fr3//HkZnWIllcv
 b1DgfZNxXuvhOzfJttuzCFxs8bppkPRDdfXzn8oX/JgW/PP5bo+HC9tKzdhcj1ZvF1Upmsqas
 EpD3Z/C3/Tpr15XdSizFGYmGWsxFxYkAIHTVNH4CAAA=
X-Env-Sender: prvs=304abdc7e=Paul.Durrant@citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1495117320!69257568!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20629 invoked from network); 18 May 2017 14:22:02 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
 by server-8.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
 18 May 2017 14:22:02 -0000
X-IronPort-AV: E=Sophos;i="5.38,359,1491264000"; d="scan'208";a="433023931"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Thu, 18 May 2017 15:21:32 +0100
Message-ID: <1495117292-533-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] Remove VS2012 and VS2013 build scripts
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/cgi-bin/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/cgi-bin/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>

VGhpcyBwYXRjaCByZW1vdmVzIHRoZSBzY3JpcHRzIGZvciBidWlsZGluZyB1bmRlciBWUzIwMTMg
YW5kIFZTMjAxMyBhbmQKYWxzbyBmaXhlcyB0aGUgcGFja2FnZSBkZXN0aW5hdGlvbiB3aGVuIGJ1
aWxkaW5nIHVzaW5nIFZTMjAxNS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5k
dXJyYW50QGNpdHJpeC5jb20+Ci0tLQogQlVJTEQubWQgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgMzYgKystLQogYnVpbGQucHkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjcgKysrCiB2czIwMTIvY29uZmlncy5wcm9wcyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1MyAtLS0tLS0KIHZzMjAxMi9tc2J1aWxk
X2R2bC5iYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA4IC0KIHZzMjAxMi9tc2J1
aWxkX3Nkdi5iYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA4IC0KIHZzMjAxMi9w
YWNrYWdlL3BhY2thZ2UudmN4cHJvaiAgICAgICAgICAgICAgICAgICAgIHwgIDYxIC0tLS0tLQog
dnMyMDEyL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qLnVzZXIgICAgICAgICAgICAgICAgfCAgIDgg
LQogdnMyMDEyL3RhcmdldHMucHJvcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
NTEgLS0tLS0KIHZzMjAxMi94ZW5hZ2VudC94ZW5hZ2VudC52Y3hwcm9qICAgICAgICAgICAgICAg
ICAgIHwgIDg4IC0tLS0tLS0tLQogdnMyMDEyL3hlbmFnZW50L3hlbmFnZW50LnZjeHByb2oudXNl
ciAgICAgICAgICAgICAgfCAgIDQgLQogdnMyMDEyL3hlbmlmYWNlLnNsbiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAyMDQgLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHZzMjAxMi94ZW5p
ZmFjZS94ZW5pZmFjZS52Y3hwcm9qICAgICAgICAgICAgICAgICAgIHwgMTIwIC0tLS0tLS0tLS0t
LQogdnMyMDEyL3hlbmlmYWNlL3hlbmlmYWNlLnZjeHByb2oudXNlciAgICAgICAgICAgICAgfCAg
IDggLQogdnMyMDEyL3hlbmlmYWNlX2NvaW5zdC94ZW5pZmFjZV9jb2luc3QudmN4cHJvaiAgICAg
fCAgNzYgLS0tLS0tLS0KIC4uLi94ZW5pZmFjZV9jb2luc3QveGVuaWZhY2VfY29pbnN0LnZjeHBy
b2oudXNlciAgIHwgICA4IC0KIHZzMjAxMy9jb25maWdzLnByb3BzICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgIDUzIC0tLS0tLQogdnMyMDEzL21zYnVpbGRfZHZsLmJhdCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDggLQogdnMyMDEzL21zYnVpbGRfc2R2LmJhdCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDggLQogdnMyMDEzL3BhY2thZ2UvcGFja2FnZS52
Y3hwcm9qICAgICAgICAgICAgICAgICAgICAgfCAgOTEgLS0tLS0tLS0tCiB2czIwMTMvcGFja2Fn
ZS9wYWNrYWdlLnZjeHByb2oudXNlciAgICAgICAgICAgICAgICB8ICAgOCAtCiB2czIwMTMvdGFy
Z2V0cy5wcm9wcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1MSAtLS0tLQogdnMy
MDEzL3hlbmFnZW50L3hlbmFnZW50LnZjeHByb2ogICAgICAgICAgICAgICAgICAgfCAgODggLS0t
LS0tLS0tCiB2czIwMTMveGVuYWdlbnQveGVuYWdlbnQudmN4cHJvai51c2VyICAgICAgICAgICAg
ICB8ICAgNCAtCiB2czIwMTMveGVuaWZhY2Uuc2xuICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8IDIxMiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHZzMjAxMy94ZW5pZmFjZS94ZW5pZmFj
ZS52Y3hwcm9qICAgICAgICAgICAgICAgICAgIHwgMTcyIC0tLS0tLS0tLS0tLS0tLS0tCiB2czIw
MTMveGVuaWZhY2UveGVuaWZhY2UudmN4cHJvai51c2VyICAgICAgICAgICAgICB8ICAgOCAtCiB2
czIwMTMveGVuaWZhY2VfY29pbnN0L3hlbmlmYWNlX2NvaW5zdC52Y3hwcm9qICAgICB8IDEwNCAt
LS0tLS0tLS0tCiAuLi4veGVuaWZhY2VfY29pbnN0L3hlbmlmYWNlX2NvaW5zdC52Y3hwcm9qLnVz
ZXIgICB8ICAgOCAtCiB2czIwMTUvcGFja2FnZS9wYWNrYWdlLnZjeHByb2ogICAgICAgICAgICAg
ICAgICAgICB8ICAgMiArLQogMjkgZmlsZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgMTUz
OCBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTIvY29uZmlncy5wcm9wcwog
ZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMi9tc2J1aWxkX2R2bC5iYXQKIGRlbGV0ZSBtb2RlIDEw
MDY0NCB2czIwMTIvbXNidWlsZF9zZHYuYmF0CiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEyL3Bh
Y2thZ2UvcGFja2FnZS52Y3hwcm9qCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEyL3BhY2thZ2Uv
cGFja2FnZS52Y3hwcm9qLnVzZXIKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTIvdGFyZ2V0cy5w
cm9wcwogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMi94ZW5hZ2VudC94ZW5hZ2VudC52Y3hwcm9q
CiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEyL3hlbmFnZW50L3hlbmFnZW50LnZjeHByb2oudXNl
cgogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMi94ZW5pZmFjZS5zbG4KIGRlbGV0ZSBtb2RlIDEw
MDY0NCB2czIwMTIveGVuaWZhY2UveGVuaWZhY2UudmN4cHJvagogZGVsZXRlIG1vZGUgMTAwNjQ0
IHZzMjAxMi94ZW5pZmFjZS94ZW5pZmFjZS52Y3hwcm9qLnVzZXIKIGRlbGV0ZSBtb2RlIDEwMDY0
NCB2czIwMTIveGVuaWZhY2VfY29pbnN0L3hlbmlmYWNlX2NvaW5zdC52Y3hwcm9qCiBkZWxldGUg
bW9kZSAxMDA2NDQgdnMyMDEyL3hlbmlmYWNlX2NvaW5zdC94ZW5pZmFjZV9jb2luc3QudmN4cHJv
ai51c2VyCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEzL2NvbmZpZ3MucHJvcHMKIGRlbGV0ZSBt
b2RlIDEwMDY0NCB2czIwMTMvbXNidWlsZF9kdmwuYmF0CiBkZWxldGUgbW9kZSAxMDA2NDQgdnMy
MDEzL21zYnVpbGRfc2R2LmJhdAogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMy9wYWNrYWdlL3Bh
Y2thZ2UudmN4cHJvagogZGVsZXRlIG1vZGUgMTAwNjQ0IHZzMjAxMy9wYWNrYWdlL3BhY2thZ2Uu
dmN4cHJvai51c2VyCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEzL3RhcmdldHMucHJvcHMKIGRl
bGV0ZSBtb2RlIDEwMDY0NCB2czIwMTMveGVuYWdlbnQveGVuYWdlbnQudmN4cHJvagogZGVsZXRl
IG1vZGUgMTAwNjQ0IHZzMjAxMy94ZW5hZ2VudC94ZW5hZ2VudC52Y3hwcm9qLnVzZXIKIGRlbGV0
ZSBtb2RlIDEwMDY0NCB2czIwMTMveGVuaWZhY2Uuc2xuCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMy
MDEzL3hlbmlmYWNlL3hlbmlmYWNlLnZjeHByb2oKIGRlbGV0ZSBtb2RlIDEwMDY0NCB2czIwMTMv
eGVuaWZhY2UveGVuaWZhY2UudmN4cHJvai51c2VyCiBkZWxldGUgbW9kZSAxMDA2NDQgdnMyMDEz
L3hlbmlmYWNlX2NvaW5zdC94ZW5pZmFjZV9jb2luc3QudmN4cHJvagogZGVsZXRlIG1vZGUgMTAw
NjQ0IHZzMjAxMy94ZW5pZmFjZV9jb2luc3QveGVuaWZhY2VfY29pbnN0LnZjeHByb2oudXNlcgoK
ZGlmZiAtLWdpdCBhL0JVSUxELm1kIGIvQlVJTEQubWQKaW5kZXggODVhYjM0Yi4uYjIzNDg0YiAx
MDA2NDQKLS0tIGEvQlVJTEQubWQKKysrIGIvQlVJTEQubWQKQEAgLTEsNDEgKzEsMjcgQEAKIEJ1
aWxkaW5nIHRoZSBYZW5JZmFjZSBQYWNrYWdlCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQogCi1GaXJzdCB5b3UnbGwgbmVlZCBhIGRldmljZSBkcml2ZXIgYnVpbGQgZW52aXJvbm1lbnQg
Zm9yIFdpbmRvd3MgOCwgV2luZG93cwotOC4xLCBvciBXaW5kb3dzIDEwLgotRm9yIFdpbmRvd3Mg
OCB0aGlzIG1lYW5zOgotCi0qICAgVmlzdWFsIFN0dWRpbyAyMDEyIChQcm9mZXNzaW9uYWwgb3Ig
VWx0aW1hdGUpCi0qICAgV2luZG93cyBEcml2ZXIgS2l0IDgKLQotRm9yIFdpbmRvd3MgOC4xIHRo
aXMgbWVhbnM6Ci0KLSogICBWaXN1YWwgU3R1ZGlvIDIwMTMgKEFueSBTS1UsIGluY2x1ZGluZyBF
eHByZXNzKQotKiAgIFdpbmRvd3MgRHJpdmVyIEtpdCA4LjEKLQotRm9yIFdpbmRvd3MgMTAgdGhp
cyBtZWFuczoKK0ZpcnN0IHlvdSdsbCBuZWVkIGEgZGV2aWNlIGRyaXZlciBidWlsZCBlbnZpcm9u
bWVudCBmb3IgV2luZG93cyAxMC4KK1RoaXMgbWVhbnM6CiAKICogICBWaXN1YWwgU3R1ZGlvIDIw
MTUgKEFueSBTS1UsIGluY2x1ZGluZyBFeHByZXNzIG9yIENvbW11bml0eSkKICogICBXaW5kb3dz
IERyaXZlciBLaXQgMTAKIAotKFNlZSBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL3dp
bmRvd3MvaGFyZHdhcmUvaGg4NTIzNjUuYXNweCkuIFlvdQotbWF5IGZpbmQgaXQgdXNlZnVsIHRv
IGluc3RhbGwgVmlydHVhbENsb25lRHJpdmUgZnJvbSBodHRwOi8vd3d3LnNseXNvZnQuY29tCi1h
cyBWaXN1YWwgU3R1ZGlvIGlzIGdlbmVyYWxseSBzdXBwbGllZCBpbiBJU08gZm9ybS4KLQogSW5z
dGFsbCBWaXN1YWwgU3R1ZGlvIGZpcnN0ICh5b3Ugb25seSBuZWVkIGluc3RhbGwgTUZDIGZvciBD
KyspIGFuZCB0aGVuCiB0aGUgV0RLLiBTZXQgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgY2FsbGVk
IFZTIHRvIHRoZSBiYXNlIG9mIHRoZSBWaXN1YWwKLVN0dWRpbyBJbnN0YWxsYXRpb24gKGUuZy4g
QzpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAxMi4wKSBhbmQKK1N0dWRp
byBJbnN0YWxsYXRpb24gKGUuZy4gQzpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnQgVmlzdWFsIFN0
dWRpbyAxNC4wKSBhbmQKIGEgdmFyaWFibGUgY2FsbGVkIEtJVCB0byB0aGUgYmFzZSBvZiB0aGUg
V0RLCi0oZS5nLiBDOlxQcm9ncmFtIEZpbGVzXFdpbmRvd3MgS2l0c1w4LjEpLiBBbHNvIHNldCBh
biBlbnZpcm9ubWVudCB2YXJpYWJsZQorKGUuZy4gQzpcUHJvZ3JhbSBGaWxlc1xXaW5kb3dzIEtp
dHNcMTApLiBBbHNvIHNldCBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZQogY2FsbGVkIFNZTUJPTFxf
U0VSVkVSIHRvIHBvaW50IGF0IGEgbG9jYXRpb24gd2hlcmUgZHJpdmVyIHN5bWJvbHMgY2FuIGJl
CiBzdG9yZWQuIFRoaXMgY2FuIGJlIGxvY2FsIGRpcmVjdG9yeSBlLmcuIEM6XFN5bWJvbHMuCiAK
LU5PVEU6IElmIHlvdSBhcmUgdXNpbmcgV0RLIDEwIHRoZW4geW91IHdpbGwgbmVlZCB0byBhY3F1
aXJlIHRoZSBESUZ4Ci0gICAgICByZS1kaXN0cmlidXRhYmxlIHBhY2thZ2UgZnJvbSBvbmUgb2Yg
dGhlIG90aGVyIFdES3MsIHNvIHRoYXQgdGhlCi0gICAgICBkcml2ZXIgYnVpbGQgY2FuIGNvcHkg
ZHBpbnN0LmV4ZSBpbnRvIHRoZSBvdXRwdXQuCi0gICAgICBTZXQgdGhlIGVudmlyb25tZW50IHZh
cmlhYmxlIERQSU5TVF9SRURJU1QgdG8gdGhlIGJhc2UgZHBpbnN0Ci0gICAgICBkaXJlY3Rvcnkg
KGkuZS4gdGhlIGRpcmVjdG9yeSB1bmRlciB3aGljaCB0aGUgeDg2IGFuZCB4NjQgc3ViLQotICAg
ICAgZGlyZWN0b3JpZXMgY29udGFpbmluZyBkcGluc3QuZXhlIGNhbiBiZSBmb3VuZCkuCitZb3Ug
d2lsbCBhbHNvIG5lZWQgdG8gYWNxdWlyZSB0aGUgRElGeCByZS1kaXN0cmlidXRhYmxlIHBhY2th
Z2UgZnJvbSBvbmUKK29mIHRoZSBvbGRlciBXREtzIChhcyBpdCBhcHBlYXJzIG5vdCB0byBiZSBw
cmVzZW50IGluIFdESzEwKSwgc28gdGhhdCB0aGUKK2RyaXZlciBidWlsZCBjYW4gY29weSBkcGlu
c3QuZXhlIGludG8gdGhlIG91dHB1dC4KK1NldCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgRFBJ
TlNUX1JFRElTVCB0byB0aGUgYmFzZSBkcGluc3QgZGlyZWN0b3J5CistIHRoZSBkaXJlY3Rvcnkg
dW5kZXIgd2hpY2ggdGhlIHg4NiBhbmQgeDY0IHN1Yi1kaXJlY3RvcmllcyBjb250YWluaW5nCitk
cGluc3QuZXhlIGNhbiBiZSBmb3VuZAorKGUuZy4gQzpcUHJvZ3JhbSBGaWxlcyAoeDg2KVxXaW5k
b3dzIEtpdHNcOC4xXFJlZGlzdFxESUZ4XGRwaW5zdFxFbmdNdWkpCiAKIE5leHQgeW91J2xsIG5l
ZWQgYSAzLnggdmVyc2lvbiBvZiBweXRob24gKHdoaWNoIHlvdSBjYW4gZ2V0IGZyb20KIGh0dHA6
Ly93d3cucHl0aG9uLm9yZykuIE1ha2Ugc3VyZSBweXRob24uZXhlIGlzIHNvbWV3aGVyZSBvbiB5
b3VyIGRlZmF1bHQKZGlmZiAtLWdpdCBhL2J1aWxkLnB5IGIvYnVpbGQucHkKaW5kZXggNzI1OTcy
YS4uM2I2NGFjNiAxMDA3NTUKLS0tIGEvYnVpbGQucHkKKysrIGIvYnVpbGQucHkKQEAgLTIyNCw2
ICsyMjQsMjggQEAgZGVmIGJ1aWxkX3NsbihuYW1lLCByZWxlYXNlLCBhcmNoLCBkZWJ1ZywgdnMp
OgogCiAgICAgbXNidWlsZChwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgJ0J1aWxkJywgbmFtZSAr
ICcuc2xuJywgJycsIHZzKQogCitkZWYgY29weV9wYWNrYWdlKG5hbWUsIHJlbGVhc2UsIGFyY2gs
IGRlYnVnLCB2cyk6CisgICAgY29uZmlndXJhdGlvbiA9IGdldF9jb25maWd1cmF0aW9uKHJlbGVh
c2UsIGRlYnVnKQorCisgICAgaWYgYXJjaCA9PSAneDg2JzoKKyAgICAgICAgcGxhdGZvcm0gPSAn
V2luMzInCisgICAgZWxpZiBhcmNoID09ICd4NjQnOgorICAgICAgICBwbGF0Zm9ybSA9ICd4NjQn
CisKKyAgICBwYXR0ZXJuID0gJy8nLmpvaW4oW3ZzLCAnJy5qb2luKGNvbmZpZ3VyYXRpb24uc3Bs
aXQoJyAnKSksIHBsYXRmb3JtLCAncGFja2FnZScsICcqJ10pCisgICAgcHJpbnQoJ0NvcHlpbmcg
cGFja2FnZSBmcm9tICVzJyAlIHBhdHRlcm4pCisKKyAgICBmaWxlcyA9IGdsb2IuZ2xvYihwYXR0
ZXJuKQorCisgICAgZHN0ID0gb3MucGF0aC5qb2luKG5hbWUsIGFyY2gpCisKKyAgICBvcy5tYWtl
ZGlycyhkc3QsIGV4aXN0X29rPVRydWUpCisKKyAgICBmb3IgZmlsZSBpbiBmaWxlczoKKyAgICAg
ICAgbmV3ID0gc2h1dGlsLmNvcHkoZmlsZSwgZHN0KQorICAgICAgICBwcmludChuZXcpCisKKyAg
ICBwcmludCgnJykKIAogZGVmIHJlbW92ZV90aW1lc3RhbXBzKHBhdGgpOgogICAgIHRyeToKQEAg
LTQyOCw4ICs0NTAsMTMgQEAgaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICAgICAgICAg
ICAgICAndnMyMDEzJzonV2luZG93cyA3JywKICAgICAgICAgICAgICAgICAndnMyMDE1JzonV2lu
ZG93cyA4JyB9CiAKKyAgICBzaHV0aWwucm10cmVlKGRyaXZlciwgaWdub3JlX2Vycm9ycz1UcnVl
KQorCiAgICAgYnVpbGRfc2xuKGRyaXZlciwgcmVsZWFzZVt2c10sICd4ODYnLCBkZWJ1Z1tzeXMu
YXJndlsxXV0sIHZzKQorICAgIGNvcHlfcGFja2FnZShkcml2ZXIsIHJlbGVhc2VbdnNdLCAneDg2
JywgZGVidWdbc3lzLmFyZ3ZbMV1dLCB2cykKKwogICAgIGJ1aWxkX3Nsbihkcml2ZXIsIHJlbGVh
c2VbdnNdLCAneDY0JywgZGVidWdbc3lzLmFyZ3ZbMV1dLCB2cykKKyAgICBjb3B5X3BhY2thZ2Uo
ZHJpdmVyLCByZWxlYXNlW3ZzXSwgJ3g2NCcsIGRlYnVnW3N5cy5hcmd2WzFdXSwgdnMpCiAKICAg
ICBzeW1zdG9yZV9hZGQoZHJpdmVyLCByZWxlYXNlW3ZzXSwgJ3g4NicsIGRlYnVnW3N5cy5hcmd2
WzFdXSwgdnMpCiAgICAgc3ltc3RvcmVfYWRkKGRyaXZlciwgcmVsZWFzZVt2c10sICd4NjQnLCBk
ZWJ1Z1tzeXMuYXJndlsxXV0sIHZzKQpkaWZmIC0tZ2l0IGEvdnMyMDEyL2NvbmZpZ3MucHJvcHMg
Yi92czIwMTIvY29uZmlncy5wcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjU2
N2JjZi4uMDAwMDAwMAotLS0gYS92czIwMTIvY29uZmlncy5wcm9wcworKysgL2Rldi9udWxsCkBA
IC0xLDUzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08
UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0i
aHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4gCi0J
PEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4gCi0JCTxQcm9qZWN0Q29u
ZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDggRGVidWd8V2luMzIiPiAKLQkJCTxDb25maWd1
cmF0aW9uPldpbmRvd3MgOCBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+V2lu
MzI8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29u
ZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDcgRGVidWd8V2luMzIiPiAKLQkJCTxDb25maWd1
cmF0aW9uPldpbmRvd3MgNyBEZWJ1ZzwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+V2lu
MzI8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29u
ZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyIj4gCi0JCQk8Q29u
ZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVnPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0
Zm9ybT5XaW4zMjwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFBy
b2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgOCBSZWxlYXNlfFdpbjMyIj4gCi0J
CQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDggUmVsZWFzZTwvQ29uZmlndXJhdGlvbj4gCi0JCQk8
UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0J
CTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMiI+
IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA3IFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+IAot
CQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+
IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyBWaXN0YSBSZWxlYXNl
fFdpbjMyIj4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIFJlbGVhc2U8L0NvbmZp
Z3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENv
bmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyA4
IERlYnVnfHg2NCI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93czggRGVidWc8L0NvbmZpZ3Vy
YXRpb24+IAotCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1
cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgNyBEZWJ1
Z3x4NjQiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgNyBEZWJ1ZzwvQ29uZmlndXJhdGlv
bj4gCi0JCQk8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRp
b24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iV2luZG93cyBWaXN0YSBEZWJ1
Z3x4NjQiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgVmlzdGEgRGVidWc8L0NvbmZpZ3Vy
YXRpb24+IAotCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1
cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgOCBSZWxl
YXNlfHg2NCI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA4IFJlbGVhc2U8L0NvbmZpZ3Vy
YXRpb24+IAotCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1
cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgNyBSZWxl
YXNlfHg2NCI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA3IFJlbGVhc2U8L0NvbmZpZ3Vy
YXRpb24+IAotCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1
cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRvd3MgVmlzdGEg
UmVsZWFzZXx4NjQiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgVmlzdGEgUmVsZWFzZTwv
Q29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4gCi0JCTwvUHJvamVj
dENvbmZpZ3VyYXRpb24+IAotCTwvSXRlbUdyb3VwPiAKLTwvUHJvamVjdD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS92czIwMTIvbXNidWlsZF9kdmwuYmF0IGIvdnMy
MDEyL21zYnVpbGRfZHZsLmJhdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGMyNTZi
Mi4uMDAwMDAwMAotLS0gYS92czIwMTIvbXNidWlsZF9kdmwuYmF0CisrKyAvZGV2L251bGwKQEAg
LTEsOCArMCwwIEBACi1jYWxsICIlVlMlXFZDXHZjdmFyc2FsbC5iYXQiIHg4NgotZWNobyBtc2J1
aWxkLmV4ZSAiJVNEVl9QUk9KJSIgL3Q6ZHZsIC9wOkNvbmZpZ3VyYXRpb249IldpbmRvd3MgOCBS
ZWxlYXNlIiAvcDpQbGF0Zm9ybT14NjQKLW1zYnVpbGQuZXhlICIlU0RWX1BST0olIiAvdDpkdmwg
L3A6Q29uZmlndXJhdGlvbj0iV2luZG93cyA4IFJlbGVhc2UiIC9wOlBsYXRmb3JtPXg2NAotaWYg
ZXJyb3JsZXZlbCAxIGdvdG8gZXJyb3IKLWV4aXQgMAotCi06ZXJyb3IKLWV4aXQgMQpkaWZmIC0t
Z2l0IGEvdnMyMDEyL21zYnVpbGRfc2R2LmJhdCBiL3ZzMjAxMi9tc2J1aWxkX3Nkdi5iYXQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIzYjcyMDIuLjAwMDAwMDAKLS0tIGEvdnMyMDEy
L21zYnVpbGRfc2R2LmJhdAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotY2FsbCAiJVZT
JVxWQ1x2Y3ZhcnNhbGwuYmF0IiB4ODYKLWVjaG8gbXNidWlsZC5leGUgIiVTRFZfUFJPSiUiIC90
OnNkdiAvcDpJbnB1dHM9IiVTRFZfQVJHJSIgL3A6Q29uZmlndXJhdGlvbj0iV2luZG93cyA4IFJl
bGVhc2UiIC9wOlBsYXRmb3JtPXg2NAotbXNidWlsZC5leGUgIiVTRFZfUFJPSiUiIC90OnNkdiAv
cDpJbnB1dHM9IiVTRFZfQVJHJSIgL3A6Q29uZmlndXJhdGlvbj0iV2luZG93cyA4IFJlbGVhc2Ui
IC9wOlBsYXRmb3JtPXg2NAotaWYgZXJyb3JsZXZlbCAxIGdvdG8gZXJyb3IKLWV4aXQgMAotCi06
ZXJyb3IKLWV4aXQgMQpkaWZmIC0tZ2l0IGEvdnMyMDEyL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9q
IGIvdnMyMDEyL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA0MTE1NzczLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMi9wYWNrYWdlL3BhY2thZ2UudmN4
cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xz
VmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9w
ZXIvbXNidWlsZC8yMDAzIj4KLQk8SW1wb3J0IFByb2plY3Q9Ii4uXGNvbmZpZ3MucHJvcHMiIC8+
Ci0KLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotCQk8UGxhdGZvcm1U
b29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4wPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0JCTxD
b25maWd1cmF0aW9uVHlwZT5VdGlsaXR5PC9Db25maWd1cmF0aW9uVHlwZT4KLQkJPERyaXZlclR5
cGU+UGFja2FnZTwvRHJpdmVyVHlwZT4KLQkJPERpc2FibGVGYXN0VXBUb0RhdGVDaGVjaz50cnVl
PC9EaXNhYmxlRmFzdFVwVG9EYXRlQ2hlY2s+Ci0JPC9Qcm9wZXJ0eUdyb3VwPgotCTxQcm9wZXJ0
eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyBWaXN0YSBE
ZWJ1ZzwvQ29uZmlndXJhdGlvbj4KLQkJPFBsYXRmb3JtIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0p
JyA9PSAnJyI+V2luMzI8L1BsYXRmb3JtPiAKLQkJPERlYnVnZ2VyRmxhdm9yPkRiZ2VuZ0tlcm5l
bERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZvcj4gCi0JPC9Qcm9wZXJ0eUdyb3VwPgotCQotCTxJbXBv
cnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMi
IC8+Ci0JCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotCQk8UHJvamVjdEd1aWQ+
ezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH08L1Byb2plY3RHdWlkPgotCTwv
UHJvcGVydHlHcm91cD4KLQkKLQk8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+
Ci0JPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMi
IC8+IAotCi0JPFByb3BlcnR5R3JvdXA+Ci0JCTxFbmFibGVJbmYyY2F0PnRydWU8L0VuYWJsZUlu
ZjJjYXQ+Ci0JCTxJbmYyQ2F0V2luZG93c1ZlcnNpb25MaXN0IENvbmRpdGlvbj0iJyQoUGxhdGZv
cm0pJz09J3g2NCciPlZpc3RhX3g2NDs3X3g2NDtTZXJ2ZXIyMDA4X3g2NDtTZXJ2ZXIyMDA4UjJf
eDY0O1NlcnZlcjhfeDY0PC9JbmYyQ2F0V2luZG93c1ZlcnNpb25MaXN0PgotCQk8SW5mMkNhdFdp
bmRvd3NWZXJzaW9uTGlzdCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPlZpc3Rh
X3g4Njs3X3g4NjtTZXJ2ZXIyMDA4X3g4Njs4X3g4NjwvSW5mMkNhdFdpbmRvd3NWZXJzaW9uTGlz
dD4KLQkJPERlYnVnZ2VyRmxhdm9yPkRiZ2VuZ0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZv
cj4KLQkJPEVuYWJsZURlcGxveW1lbnQ+RmFsc2U8L0VuYWJsZURlcGxveW1lbnQ+Ci0JCTxJbXBv
cnRUb1N0b3JlPkZhbHNlPC9JbXBvcnRUb1N0b3JlPgotCQk8SW5zdGFsbE1vZGU+Tm9uZTwvSW5z
dGFsbE1vZGU+Ci0JCTxTY3JpcHREZXZpY2VRdWVyeT4lUGF0aFRvSW5mJTwvU2NyaXB0RGV2aWNl
UXVlcnk+Ci0JCTxFbmFibGVWZXJpZmllcj5GYWxzZTwvRW5hYmxlVmVyaWZpZXI+Ci0JCTxBbGxE
cml2ZXJzPkZhbHNlPC9BbGxEcml2ZXJzPgotCQk8VmVyaWZ5UHJvamVjdE91dHB1dD5UcnVlPC9W
ZXJpZnlQcm9qZWN0T3V0cHV0PgotCQk8VmVyaWZ5RmxhZ3M+MTMzNTYzPC9WZXJpZnlGbGFncz4K
LQkJPEludERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRm
b3JtKVw8L0ludERpcj4KLQkJPE91dERpcj4uLlwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRm
b3JtKVw8L091dERpcj4KLQkJPFBhY2thZ2VEaXI+Li5cLi5ceGVuaWZhY2VcJChEREtQbGF0Zm9y
bSk8L1BhY2thZ2VEaXI+Ci0JPC9Qcm9wZXJ0eUdyb3VwPgotICAgICAgICA8SXRlbUdyb3VwPgot
ICAgICAgICAgICAgICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Ii4uXHhlbmlmYWNlXHhl
bmlmYWNlLnZjeHByb2oiPgotCQkgIDxQcm9qZWN0PnsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0z
MzIwMTc5N0M3RDh9PC9Qcm9qZWN0PgotICAgICAgICAgICAgICAgIDwvUHJvamVjdFJlZmVyZW5j
ZT4KLSAgICAgICAgICAgICAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlx4ZW5pZmFj
ZV9jb2luc3RceGVuaWZhY2VfY29pbnN0LnZjeHByb2oiPgotCQkgIDxQcm9qZWN0Pns4NWM3MzFh
ZC0yZWEyLTQwNDktYTU0Mi1kMmQzOGVkZTkzOGN9PC9Qcm9qZWN0PgotICAgICAgICAgICAgICAg
IDwvUHJvamVjdFJlZmVyZW5jZT4KLQkJPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5ceGVu
YWdlbnRceGVuYWdlbnQudmN4cHJvaiI+Ci0JCSAgPFByb2plY3Q+ezJFNjFEMkNDLTg2NUUtNDQy
Qy04QzgzLUI4REFGRDdCQkQzQn08L1Byb2plY3Q+Ci0JCTwvUHJvamVjdFJlZmVyZW5jZT4KLSAg
ICAgICAgPC9JdGVtR3JvdXA+Ci0JPEl0ZW1Hcm91cD4KLQkJPEZpbGVzVG9QYWNrYWdlIEluY2x1
ZGU9IiQoS0lUKVxSZWRpc3RcRElGeFxkcGluc3RcRW5nTXVpXHg4NlxkcGluc3QuZXhlIiBDb25k
aXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciIC8+Ci0JCTxGaWxlc1RvUGFja2FnZSBJbmNs
dWRlPSIkKEtJVClcUmVkaXN0XERJRnhcZHBpbnN0XEVuZ011aVx4NjRcZHBpbnN0LmV4ZSIgQ29u
ZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyIgLz4KLQk8L0l0ZW1Hcm91cD4KLQk8SW1wb3J0
IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgotCTxJ
bXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+Ci0JPC9JbXBvcnRHcm91cD4KLTwv
UHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS92czIwMTIv
cGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNlciBiL3ZzMjAxMi9wYWNrYWdlL3BhY2thZ2UudmN4
cHJvai51c2VyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YTQzNWZkLi4wMDAwMDAw
Ci0tLSBhL3ZzMjAxMi9wYWNrYWdlL3BhY2thZ2UudmN4cHJvai51c2VyCisrKyAvZGV2L251bGwK
QEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/Pgot
PFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3Nv
ZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8
U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgotICAgIDxUZXN0Q2VydGlmaWNhdGU+Li5cLi5c
c3JjXHhlbmlmYWNlLnBmeDwvVGVzdENlcnRpZmljYXRlPgotICAgIDxUaW1lU3RhbXBTZXJ2ZXI+
aHR0cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1RpbWVT
dGFtcFNlcnZlcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEv
dnMyMDEyL3RhcmdldHMucHJvcHMgYi92czIwMTIvdGFyZ2V0cy5wcm9wcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYzhhYmE5Mi4uMDAwMDAwMAotLS0gYS92czIwMTIvdGFyZ2V0cy5w
cm9wcworKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xz
VmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9w
ZXIvbXNidWlsZC8yMDAzIj4KLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggRGVi
dWd8V2luMzInIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRWZXJzaW9uPiAK
LQkJPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3Bl
cnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBSZWxlYXNlfFdp
bjMyJyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzODwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxV
c2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlH
cm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IERlYnVnfHg2NCciPiAK
LQkJPFRhcmdldFZlcnNpb24+V2luZG93czg8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdM
aWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4gCi0J
PFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IFJlbGVhc2V8eDY0JyI+IAotCQk8VGFy
Z2V0VmVyc2lvbj5XaW5kb3dzODwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmll
cz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4KLQk8UHJvcGVy
dHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgRGVidWd8V2luMzInIj4gCi0JCTxUYXJnZXRWZXJz
aW9uPldpbmRvd3M3PC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPnRydWU8
L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3Vw
IExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J1dpbmRvd3MgNyBSZWxlYXNlfFdpbjMyJyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5X
aW5kb3dzNzwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNl
RGVidWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFi
ZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nV2luZG93cyA3IERlYnVnfHg2NCciPiAKLQkJPFRhcmdldFZlcnNpb24+V2luZG93czc8
L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJy
YXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZp
Z3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2lu
ZG93cyA3IFJlbGVhc2V8eDY0JyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzNzwvVGFyZ2V0
VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+
IAotCTwvUHJvcGVydHlHcm91cD4KLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlv
biIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIFZp
c3RhIERlYnVnfFdpbjMyJyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5WaXN0YTwvVGFyZ2V0VmVyc2lv
bj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Q
cm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIFZpc3RhIFJl
bGVhc2V8V2luMzInIj4gCi0JCTxUYXJnZXRWZXJzaW9uPlZpc3RhPC9UYXJnZXRWZXJzaW9uPiAK
LQkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9w
ZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIFZpc3RhIERlYnVn
fHg2NCciPiAKLQkJPFRhcmdldFZlcnNpb24+VmlzdGE8L1RhcmdldFZlcnNpb24+IAotCQk8VXNl
RGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91
cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NCci
PiAKLQkJPFRhcmdldFZlcnNpb24+VmlzdGE8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdM
aWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+Ci08
L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTIveGVuYWdlbnQveGVuYWdlbnQudmN4cHJvaiBi
L3ZzMjAxMi94ZW5hZ2VudC94ZW5hZ2VudC52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmNzc4ZTkwLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMi94ZW5hZ2VudC94ZW5hZ2VudC52
Y3hwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsODggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9v
bHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVs
b3Blci9tc2J1aWxkLzIwMDMiPgotICA8SW1wb3J0IFByb2plY3Q9Ii4uXGNvbmZpZ3MucHJvcHMi
IC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPENoYXJh
Y3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KLSAgICA8UGxhdGZvcm1Ub29sc2V0Pldp
bmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjA8L1BsYXRmb3JtVG9vbHNldD4KLSAgICA8Q29u
ZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICA8L1Byb3Bl
cnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLSAgICA8Q29uZmln
dXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVnPC9Db25maWd1cmF0aW9uPgotICAgIDxQbGF0Zm9y
bSBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJyciPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8
RGVidWdnZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8L0RlYnVnZ2VyRmxhdm9yPgotICA8
L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNy
b3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9i
YWxzIj4KLSAgICA8UHJvamVjdEd1aWQ+ezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdC
QkQzQn08L1Byb2plY3RHdWlkPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVj
dD0iLi5cdGFyZ2V0cy5wcm9wcyIgLz4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1Bh
dGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxJbmNs
dWRlUGF0aD4kKEluY2x1ZGVQYXRoKTwvSW5jbHVkZVBhdGg+Ci0gICAgPFJ1bkNvZGVBbmFseXNp
cz50cnVlPC9SdW5Db2RlQW5hbHlzaXM+Ci0gICAgPEVuYWJsZUluZjJjYXQ+ZmFsc2U8L0VuYWJs
ZUluZjJjYXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPEN1
c3RvbUJ1aWxkQWZ0ZXJUYXJnZXRzPkxpbms8L0N1c3RvbUJ1aWxkQWZ0ZXJUYXJnZXRzPgotICA8
L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICAgIDxDbENvbXBpbGU+
Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFNvbHV0aW9uRGlyKS4uXGlu
Y2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVE
aXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfV0lORE9X
UztfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUztfX01PRFVMRV9fPSJYRU5BR0VOVCI7JShQcmVwcm9j
ZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFdhcm5p
bmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgotICAgICAgPERpc2FibGVT
cGVjaWZpY1dhcm5pbmdzPjQxMjc7NDM1MDs0NzExOzQ1NDg7NDgyMDs0NjY4OzQyNTU7NjAwMTs2
MDU0OzI4MTk2OyUoRGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJu
aW5ncz4KLSAgICAgIDxNdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uPnRydWU8L011bHRpUHJvY2Vz
c29yQ29tcGlsYXRpb24+Ci0gICAgICA8RW5hYmxlUFJFZmFzdD50cnVlPC9FbmFibGVQUkVmYXN0
PgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5IENvbmRpdGlvbj0iJyQoVXNlRGVidWdMaWJyYXJpZXMp
Jz09J3RydWUnIj5NdWx0aVRocmVhZGVkRGVidWc8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPFJ1
bnRpbWVMaWJyYXJ5IENvbmRpdGlvbj0iJyQoVXNlRGVidWdMaWJyYXJpZXMpJz09J2ZhbHNlJyI+
TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExp
bms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5wb3dycHJvZi5saWI7JShBZGRpdGlv
bmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0g
ICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVz
PiQoU29sdXRpb25EaXIpLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMp
PC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgot
ICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlv
bj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVw
cm9jZXNzb3JEZWZpbml0aW9ucz5fX2kzODZfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwv
UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPEN1c3RvbUJ1
aWxkU3RlcD4KLSAgICAgIDxPdXRwdXRzPiQoVGFyZ2V0RGlyKSQoVGFyZ2V0TmFtZSkuZGxsPC9P
dXRwdXRzPgotICAgICAgPElucHV0cz4kKEludERpcikkKFRhcmdldE5hbWUpLnJlczwvSW5wdXRz
PgotICAgICAgPENvbW1hbmQ+bGluayAtbWFjaGluZTp4ODYgLWRsbCAtbm9lbnRyeSAtb3V0OiUo
T3V0cHV0cykgJShJbnB1dHMpPC9Db21tYW5kPgotICAgIDwvQ3VzdG9tQnVpbGRTdGVwPgotICA8
L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0i
JyQoUGxhdGZvcm0pJz09J3g2NCciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vz
c29yRGVmaW5pdGlvbnM+X194ODZfNjRfXzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJl
cHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPEN1c3RvbUJ1aWxk
U3RlcD4KLSAgICAgIDxPdXRwdXRzPiQoVGFyZ2V0RGlyKSQoVGFyZ2V0TmFtZSkuZGxsPC9PdXRw
dXRzPgotICAgICAgPElucHV0cz4kKEludERpcikkKFRhcmdldE5hbWUpLnJlczwvSW5wdXRzPgot
ICAgICAgPENvbW1hbmQ+bGluayAtbWFjaGluZTp4NjQgLWRsbCAtbm9lbnRyeSAtb3V0OiUoT3V0
cHV0cykgJShJbnB1dHMpPC9Db21tYW5kPgotICAgIDwvQ3VzdG9tQnVpbGRTdGVwPgotICA8L0l0
ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIElu
Y2x1ZGU9IiQoVGFyZ2V0UGF0aCkiIC8+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQo
T3V0RGlyKSQoVGFyZ2V0TmFtZSkucGRiIiAvPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRl
PSIkKE91dERpcikkKFRhcmdldE5hbWUpLmRsbCIgLz4KLSAgICA8RmlsZXNUb1BhY2thZ2UgSW5j
bHVkZT0iQChJbmYtPiclKENvcHlPdXRwdXQpJykiIENvbmRpdGlvbj0iJ0AoSW5mKSchPScnIiAv
PgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8TWVzc2FnZUNvbXBpbGUgSW5j
bHVkZT0iLi5cLi5cc3JjXHhlbmFnZW50XG1lc3NhZ2VzLm1jIiAvPgotICA8L0l0ZW1Hcm91cD4K
LSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5hZ2Vu
dFxzZXJ2aWNlLmNwcCIvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmFn
ZW50XGRldmljZWxpc3QuY3BwIi8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNc
eGVuYWdlbnRceGVuaWZhY2VkZXZpY2UuY3BwIi8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlwuLlxzcmNceGVuYWdlbnRcY29udmRldmljZS5jcHAiLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJ
dGVtR3JvdXA+Ci0gICAgPFJlc291cmNlQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYWdl
bnRceGVuYWdlbnQucmMiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxJ
bWFnZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYWdlbnRceGVuLmljbyIgLz4KLSAgPC9JdGVtR3Jv
dXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRh
cmdldHMiIC8+Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTIveGVuYWdlbnQveGVuYWdl
bnQudmN4cHJvai51c2VyIGIvdnMyMDEyL3hlbmFnZW50L3hlbmFnZW50LnZjeHByb2oudXNlcgpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTBmM2NiZS4uMDAwMDAwMAotLS0gYS92czIw
MTIveGVuYWdlbnQveGVuYWdlbnQudmN4cHJvai51c2VyCisrKyAvZGV2L251bGwKQEAgLTEsNCAr
MCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3Qg
VG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2Rl
dmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8UHJvcGVydHlHcm91cCAvPgotPC9Qcm9qZWN0Pgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3ZzMjAxMi94ZW5pZmFjZS5z
bG4gYi92czIwMTIveGVuaWZhY2Uuc2xuCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
ZTJhZTg3Li4wMDAwMDAwCi0tLSBhL3ZzMjAxMi94ZW5pZmFjZS5zbG4KKysrIC9kZXYvbnVsbApA
QCAtMSwyMDQgKzAsMCBAQAotTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwg
Rm9ybWF0IFZlcnNpb24gMTIuMDAKLSMgVmlzdWFsIFN0dWRpbyAyMDEyCi1Qcm9qZWN0KCJ7OEJD
OUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInhlbmlmYWNlX2NvaW5zdCIs
ICJ4ZW5pZmFjZV9jb2luc3RceGVuaWZhY2VfY29pbnN0LnZjeHByb2oiLCAiezg1QzczMUFELTJF
QTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30iCi1FbmRQcm9qZWN0Ci1Qcm9qZWN0KCJ7OEJDOUNF
QjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInhlbmlmYWNlIiwgInhlbmlmYWNl
XHhlbmlmYWNlLnZjeHByb2oiLCAiezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdE
OH0iCi1FbmRQcm9qZWN0Ci1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5
MUJDOTQyfSIpID0gInhlbmFnZW50IiwgInhlbmFnZW50XHhlbmFnZW50LnZjeHByb2oiLCAiezJF
NjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0iCi1FbmRQcm9qZWN0Ci1Qcm9qZWN0
KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInBhY2thZ2UiLCAi
cGFja2FnZVxwYWNrYWdlLnZjeHByb2oiLCAiezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3
NjE4QTIxRH0iCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJv
amVjdAotCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfSA9IHs4NUM3MzFB
RC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9Ci0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4
My1COERBRkQ3QkJEM0J9ID0gezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0K
LQlFbmRQcm9qZWN0U2VjdGlvbgotRW5kUHJvamVjdAotR2xvYmFsCi0JR2xvYmFsU2VjdGlvbihT
b2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29sdXRpb24KLQkJRGVidWd8V2lu
MzIgPSBEZWJ1Z3xXaW4zMgotCQlEZWJ1Z3x4NjQgPSBEZWJ1Z3x4NjQKLQkJUmVsZWFzZXxXaW4z
MiA9IFJlbGVhc2V8V2luMzIKLQkJUmVsZWFzZXx4NjQgPSBSZWxlYXNlfHg2NAotCQlXaW5kb3dz
IDcgRGVidWd8V2luMzIgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJV2luZG93cyA3IERlYnVn
fHg2NCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJV2luZG93cyA3IFJlbGVhc2V8V2luMzIgPSBX
aW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQlXaW5kb3dzIDcgUmVsZWFzZXx4NjQgPSBXaW5kb3dz
IDcgUmVsZWFzZXx4NjQKLQkJV2luZG93cyBEZXZlbG9wZXIgUHJldmlldyBEZWJ1Z3xXaW4zMiA9
IFdpbmRvd3MgRGV2ZWxvcGVyIFByZXZpZXcgRGVidWd8V2luMzIKLQkJV2luZG93cyBEZXZlbG9w
ZXIgUHJldmlldyBEZWJ1Z3x4NjQgPSBXaW5kb3dzIERldmVsb3BlciBQcmV2aWV3IERlYnVnfHg2
NAotCQlXaW5kb3dzIERldmVsb3BlciBQcmV2aWV3IFJlbGVhc2V8V2luMzIgPSBXaW5kb3dzIERl
dmVsb3BlciBQcmV2aWV3IFJlbGVhc2V8V2luMzIKLQkJV2luZG93cyBEZXZlbG9wZXIgUHJldmll
dyBSZWxlYXNlfHg2NCA9IFdpbmRvd3MgRGV2ZWxvcGVyIFByZXZpZXcgUmVsZWFzZXx4NjQKLQkJ
V2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMiA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJ
V2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQgPSBXaW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQlXaW5k
b3dzIFZpc3RhIFJlbGVhc2V8V2luMzIgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJ
V2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQlF
bmRHbG9iYWxTZWN0aW9uCi0JR2xvYmFsU2VjdGlvbihQcm9qZWN0Q29uZmlndXJhdGlvblBsYXRm
b3JtcykgPSBwb3N0U29sdXRpb24KLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURF
OTM4Q30uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXs4
NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LkRlYnVnfFdpbjMyLkJ1aWxkLjAg
PSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4
RURFOTM4Q30uRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJ
ezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uRGVidWd8eDY0LkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4
RURFOTM4Q30uRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXs4NUM3
MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LkRlYnVnfHg2NC5EZXBsb3kuMCA9IFdp
bmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4
Q30uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7
ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5SZWxlYXNlfFdpbjMyLkJ1aWxk
LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDIt
RDJEMzhFREU5MzhDfS5SZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA3IFJlbGVhc2V8
V2luMzIKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uUmVsZWFzZXx4
NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVhc2V8eDY0Ci0JCXs4NUM3MzFBRC0yRUEyLTQw
NDktQTU0Mi1EMkQzOEVERTkzOEN9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDcgUmVs
ZWFzZXx4NjQKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uUmVsZWFz
ZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJezg1QzczMUFELTJFQTIt
NDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9
IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhF
REU5MzhDfS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3xX
aW4zMgotCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5XaW5kb3dzIDcg
RGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJezg1QzczMUFE
LTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyA3IERlYnVnfHg2NC5BY3RpdmVD
ZmcgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQz
OEVERTkzOEN9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4
NjQKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyA3IERl
YnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezg1QzczMUFELTJFQTIt
NDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2Zn
ID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQy
RDM4RURFOTM4Q30uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBS
ZWxlYXNlfFdpbjMyCi0JCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9Lldp
bmRvd3MgNyBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIK
LQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyA3IFJlbGVh
c2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7ODVDNzMxQUQtMkVB
Mi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9
IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhF
REU5MzhDfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDcgUmVsZWFz
ZXx4NjQKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBE
ZXZlbG9wZXIgUHJldmlldyBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8
V2luMzIKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBE
ZXZlbG9wZXIgUHJldmlldyBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdp
bjMyCi0JCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LldpbmRvd3MgRGV2
ZWxvcGVyIFByZXZpZXcgRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8V2lu
MzIKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBEZXZl
bG9wZXIgUHJldmlldyBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA3IERlYnVnfHg2NAot
CQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5XaW5kb3dzIERldmVsb3Bl
ciBQcmV2aWV3IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7ODVD
NzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5XaW5kb3dzIERldmVsb3BlciBQcmV2
aWV3IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezg1QzczMUFE
LTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBEZXZlbG9wZXIgUHJldmlldyBS
ZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7ODVDNzMx
QUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5XaW5kb3dzIERldmVsb3BlciBQcmV2aWV3
IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7ODVDNzMx
QUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5XaW5kb3dzIERldmVsb3BlciBQcmV2aWV3
IFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezg1Qzcz
MUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBEZXZlbG9wZXIgUHJldmll
dyBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXs4NUM3MzFB
RC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LldpbmRvd3MgRGV2ZWxvcGVyIFByZXZpZXcg
UmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezg1QzczMUFELTJF
QTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBEZXZlbG9wZXIgUHJldmlldyBSZWxl
YXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezg1QzczMUFELTJFQTIt
NDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5BY3RpdmVD
ZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0
Mi1EMkQzOEVERTkzOEN9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRv
d3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURF
OTM4Q30uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEg
RGVidWd8V2luMzIKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2lu
ZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQK
LQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBWaXN0YSBE
ZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXs4NUM3MzFBRC0y
RUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkRlcGxv
eS4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQy
LUQyRDM4RURFOTM4Q30uV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdp
bmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJE
MzhFREU5MzhDfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3Mg
VmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5
MzhDfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3Rh
IFJlbGVhc2V8V2luMzIKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30u
V2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVh
c2V8eDY0Ci0JCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LldpbmRvd3Mg
VmlzdGEgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJ
ezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBWaXN0YSBSZWxl
YXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezIyMTY2Mjkw
LTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2lu
ZG93cyA4IERlYnVnfFdpbjMyCi0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3
RDh9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezIyMTY2
MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uRGVidWd8V2luMzIuRGVwbG95LjAgPSBX
aW5kb3dzIDggRGVidWd8V2luMzIKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3
QzdEOH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3M4IERlYnVnfHg2NAotCQl7MjIxNjYy
OTAtNjVEOC00OUQyLUJCODgtMzMyMDE3OTdDN0Q4fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRv
d3M4IERlYnVnfHg2NAotCQl7MjIxNjYyOTAtNjVEOC00OUQyLUJCODgtMzMyMDE3OTdDN0Q4fS5E
ZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzOCBEZWJ1Z3x4NjQKLQkJezIyMTY2MjkwLTY1RDgt
NDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dz
IDggUmVsZWFzZXxXaW4zMgotCQl7MjIxNjYyOTAtNjVEOC00OUQyLUJCODgtMzMyMDE3OTdDN0Q4
fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7MjIx
NjYyOTAtNjVEOC00OUQyLUJCODgtMzMyMDE3OTdDN0Q4fS5SZWxlYXNlfFdpbjMyLkRlcGxveS4w
ID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMz
MjAxNzk3QzdEOH0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8eDY0
Ci0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LlJlbGVhc2V8eDY0LkJ1
aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4NjQKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4
LTMzMjAxNzk3QzdEOH0uV2luZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3Mg
NyBEZWJ1Z3xXaW4zMgotCQl7MjIxNjYyOTAtNjVEOC00OUQyLUJCODgtMzMyMDE3OTdDN0Q4fS5X
aW5kb3dzIDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7
MjIxNjYyOTAtNjVEOC00OUQyLUJCODgtMzMyMDE3OTdDN0Q4fS5XaW5kb3dzIDcgRGVidWd8V2lu
MzIuRGVwbG95LjAgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJezIyMTY2MjkwLTY1RDgtNDlE
Mi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyA3IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5k
b3dzIDcgRGVidWd8eDY0Ci0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9
LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezIy
MTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyA3IERlYnVnfHg2NC5E
ZXBsb3kuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4
LTMzMjAxNzk3QzdEOH0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93
cyA3IFJlbGVhc2V8V2luMzIKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdE
OH0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfFdp
bjMyCi0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgNyBS
ZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezIyMTY2
MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkFj
dGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7MjIxNjYyOTAtNjVEOC00OUQyLUJC
ODgtMzMyMDE3OTdDN0Q4fS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3Mg
NyBSZWxlYXNlfHg2NAotCQl7MjIxNjYyOTAtNjVEOC00OUQyLUJCODgtMzMyMDE3OTdDN0Q4fS5X
aW5kb3dzIDcgUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJ
ezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyBEZXZlbG9wZXIg
UHJldmlldyBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2lu
MzIKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyBEZXZl
bG9wZXIgUHJldmlldyBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNl
fFdpbjMyCi0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3Mg
RGV2ZWxvcGVyIFByZXZpZXcgRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIFJl
bGVhc2V8V2luMzIKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2lu
ZG93cyBEZXZlbG9wZXIgUHJldmlldyBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0
YSBSZWxlYXNlfHg2NAotCQl7MjIxNjYyOTAtNjVEOC00OUQyLUJCODgtMzMyMDE3OTdDN0Q4fS5X
aW5kb3dzIERldmVsb3BlciBQcmV2aWV3IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyBWaXN0
YSBSZWxlYXNlfHg2NAotCQl7MjIxNjYyOTAtNjVEOC00OUQyLUJCODgtMzMyMDE3OTdDN0Q4fS5X
aW5kb3dzIERldmVsb3BlciBQcmV2aWV3IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgVmlz
dGEgUmVsZWFzZXx4NjQKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0u
V2luZG93cyBEZXZlbG9wZXIgUHJldmlldyBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRv
d3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7MjIxNjYyOTAtNjVEOC00OUQyLUJCODgtMzMyMDE3
OTdDN0Q4fS5XaW5kb3dzIERldmVsb3BlciBQcmV2aWV3IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9
IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7MjIxNjYyOTAtNjVEOC00OUQyLUJCODgt
MzMyMDE3OTdDN0Q4fS5XaW5kb3dzIERldmVsb3BlciBQcmV2aWV3IFJlbGVhc2V8V2luMzIuRGVw
bG95LjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJezIyMTY2MjkwLTY1RDgtNDlE
Mi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyBEZXZlbG9wZXIgUHJldmlldyBSZWxlYXNlfHg2
NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXsyMjE2NjI5MC02NUQ4
LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgRGV2ZWxvcGVyIFByZXZpZXcgUmVsZWFz
ZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezIyMTY2MjkwLTY1
RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyBEZXZlbG9wZXIgUHJldmlldyBSZWxl
YXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezIyMTY2Mjkw
LTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5B
Y3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXsyMjE2NjI5MC02NUQ4LTQ5
RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIuQnVpbGQuMCA9
IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMz
MjAxNzk3QzdEOH0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3Mg
VmlzdGEgRGVidWd8V2luMzIKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdE
OH0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1
Z3x4NjQKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyBW
aXN0YSBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXsyMjE2
NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0
LkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezIyMTY2MjkwLTY1RDgtNDlE
Mi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7MjIxNjYyOTAtNjVEOC00OUQyLUJC
ODgtMzMyMDE3OTdDN0Q4fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdp
bmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7MjIxNjYyOTAtNjVEOC00OUQyLUJCODgtMzMy
MDE3OTdDN0Q4fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dz
IFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3
QzdEOH0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3Rh
IFJlbGVhc2V8eDY0Ci0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9Lldp
bmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4
NjQKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyBWaXN0
YSBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezJF
NjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA3IERlYnVnfFdpbjMy
LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7MkU2MUQyQ0MtODY1RS00NDJD
LThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRv
d3MgNyBEZWJ1Z3xXaW4zMgotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNC
fS5XaW5kb3dzIDcgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJ
ezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA3IERlYnVnfHg2
NC5CdWlsZC4wID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThD
ODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDcgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5k
b3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JC
RDNCfS5XaW5kb3dzIDcgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8
V2luMzIKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA3
IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7MkU2MUQy
Q0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVp
bGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMt
QjhEQUZEN0JCRDNCfS5XaW5kb3dzIDggRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4
IERlYnVnfFdpbjMyCi0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9Lldp
bmRvd3MgOCBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXsy
RTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgOCBEZWJ1Z3x4NjQu
QWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfHg2NAotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThD
ODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDggRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDgg
RGVidWd8eDY0Ci0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRv
d3MgOCBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfFdpbjMyCi0J
CXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgOCBSZWxlYXNl
fFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVsZWFzZXxXaW4zMgotCQl7MkU2MUQyQ0MtODY1
RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQWN0aXZlQ2Zn
ID0gV2luZG93cyA4IFJlbGVhc2V8eDY0Ci0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERB
RkQ3QkJEM0J9LldpbmRvd3MgOCBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVh
c2V8eDY0Ci0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3Mg
VmlzdGEgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgot
CQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIFZpc3RhIERl
YnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXsyRTYxRDJD
Qy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkFj
dGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXsyRTYxRDJDQy04NjVFLTQ0MkMt
OEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5k
b3dzIFZpc3RhIERlYnVnfHg2NAotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JC
RDNCfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0
YSBSZWxlYXNlfFdpbjMyCi0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9
LldpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBSZWxl
YXNlfFdpbjMyCi0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRv
d3MgVmlzdGEgUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2
NAotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIFZpc3Rh
IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXs5QjA3
MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9
IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1
Rjc3NjE4QTIxRH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2lu
MzIKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uRGVidWd8V2luMzIu
RGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXs5QjA3MUEzNS04OTdDLTQ3
N0EtQUVCNy05NUY3NzYxOEEyMUR9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3Rh
IERlYnVnfHg2NAotCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5EZWJ1
Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXs5QjA3MUEzNS04OTdD
LTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93
cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYx
OEEyMUR9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4z
MgotCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5SZWxlYXNlfFdpbjMy
LkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXs5QjA3MUEzNS04OTdD
LTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3Mg
VmlzdGEgUmVsZWFzZXx4NjQKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIx
RH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezlC
MDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyA3IERlYnVnfFdpbjMy
LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7OUIwNzFBMzUtODk3Qy00NzdB
LUFFQjctOTVGNzc2MThBMjFEfS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRv
d3MgNyBEZWJ1Z3xXaW4zMgotCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFE
fS5XaW5kb3dzIDcgRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIK
LQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyA3IERlYnVn
fHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXs5QjA3MUEzNS04OTdDLTQ3
N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRv
d3MgNyBEZWJ1Z3x4NjQKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0u
V2luZG93cyA3IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezlC
MDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyA3IFJlbGVhc2V8V2lu
MzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezlCMDcxQTM1LTg5N0Mt
NDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9
IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3
NzYxOEEyMUR9LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA3IFJl
bGVhc2V8V2luMzIKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2lu
ZG93cyA3IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7
OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5XaW5kb3dzIDcgUmVsZWFzZXx4
NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7OUIwNzFBMzUtODk3Qy00NzdB
LUFFQjctOTVGNzc2MThBMjFEfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5k
b3dzIDcgUmVsZWFzZXx4NjQKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIx
RH0uV2luZG93cyBEZXZlbG9wZXIgUHJldmlldyBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5k
b3dzIDggRGVidWd8V2luMzIKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIx
RH0uV2luZG93cyBEZXZlbG9wZXIgUHJldmlldyBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93
cyA4IERlYnVnfFdpbjMyCi0JCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9
LldpbmRvd3MgRGV2ZWxvcGVyIFByZXZpZXcgRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dz
IDggRGVidWd8V2luMzIKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0u
V2luZG93cyBEZXZlbG9wZXIgUHJldmlldyBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4
IFJlbGVhc2V8eDY0Ci0JCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9Lldp
bmRvd3MgRGV2ZWxvcGVyIFByZXZpZXcgRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggUmVs
ZWFzZXx4NjQKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93
cyBEZXZlbG9wZXIgUHJldmlldyBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFz
ZXx4NjQKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyBE
ZXZlbG9wZXIgUHJldmlldyBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1
Z3xXaW4zMgotCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5XaW5kb3dz
IERldmVsb3BlciBQcmV2aWV3IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1
Z3xXaW4zMgotCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5XaW5kb3dz
IERldmVsb3BlciBQcmV2aWV3IFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVi
dWd8V2luMzIKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93
cyBEZXZlbG9wZXIgUHJldmlldyBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggUmVs
ZWFzZXx4NjQKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93
cyBEZXZlbG9wZXIgUHJldmlldyBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVh
c2V8eDY0Ci0JCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3Mg
RGV2ZWxvcGVyIFByZXZpZXcgUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFz
ZXx4NjQKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyBW
aXN0YSBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0J
CXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgVmlzdGEgRGVi
dWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezlCMDcxQTM1
LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5E
ZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezlCMDcxQTM1LTg5N0MtNDc3
QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0g
V2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3
NjE4QTIxRH0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEg
RGVidWd8eDY0Ci0JCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRv
d3MgVmlzdGEgRGVidWd8eDY0LkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJ
ezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyBWaXN0YSBSZWxl
YXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7OUIw
NzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8
V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7OUIwNzFBMzUt
ODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIu
RGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJezlCMDcxQTM1LTg5N0Mt
NDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5BY3RpdmVD
ZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVC
Ny05NUY3NzYxOEEyMUR9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRv
d3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4
QTIxRH0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEg
UmVsZWFzZXx4NjQKLQlFbmRHbG9iYWxTZWN0aW9uCi0JR2xvYmFsU2VjdGlvbihTb2x1dGlvblBy
b3BlcnRpZXMpID0gcHJlU29sdXRpb24KLQkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFCi0JRW5k
R2xvYmFsU2VjdGlvbgotRW5kR2xvYmFsCmRpZmYgLS1naXQgYS92czIwMTIveGVuaWZhY2UveGVu
aWZhY2UudmN4cHJvaiBiL3ZzMjAxMi94ZW5pZmFjZS94ZW5pZmFjZS52Y3hwcm9qCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjM0NGU0Li4wMDAwMDAwCi0tLSBhL3ZzMjAxMi94ZW5p
ZmFjZS94ZW5pZmFjZS52Y3hwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMTIwICswLDAgQEAKLTw/
eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFy
Z2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLQk8SW1wb3J0IFByb2plY3Q9Ii4u
XGNvbmZpZ3MucHJvcHMiIC8+Ci0KLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVl
dHMiPgotCQk8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4wPC9QbGF0
Zm9ybVRvb2xzZXQ+IAotCQk8Q29uZmlndXJhdGlvblR5cGU+RHJpdmVyPC9Db25maWd1cmF0aW9u
VHlwZT4KLQkJPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJUeXBlPgotCTwvUHJvcGVydHlHcm91cD4K
LQk8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0JCTxDb25maWd1cmF0aW9uPldpbmRv
d3MgVmlzdGEgRGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0JCTxQbGF0Zm9ybSBDb25kaXRpb249Iick
KFBsYXRmb3JtKScgPT0gJyciPldpbjMyPC9QbGF0Zm9ybT4gCi0JCTxEZWJ1Z2dlckZsYXZvcj5E
YmdlbmdLZXJuZWxEZWJ1Z2dlcjwvRGVidWdnZXJGbGF2b3I+IAotCTwvUHJvcGVydHlHcm91cD4K
LQkKLQk8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZh
dWx0LnByb3BzIiAvPgotCQotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLQkJPFBy
b2plY3RHdWlkPnsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9PC9Qcm9qZWN0
R3VpZD4KLQk8L1Byb3BlcnR5R3JvdXA+Ci0JCi0JPEltcG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRz
LnByb3BzIiAvPgotCTxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQu
Q3BwLnByb3BzIiAvPiAKLQotCTxQcm9wZXJ0eUdyb3VwPgotCQk8SW5jbHVkZVBhdGg+Li5cLi5c
aW5jbHVkZTskKEluY2x1ZGVQYXRoKTwvSW5jbHVkZVBhdGg+Ci0JCTxSdW5Db2RlQW5hbHlzaXM+
dHJ1ZTwvUnVuQ29kZUFuYWx5c2lzPgotCQk8RW5hYmxlSW5mMmNhdD5mYWxzZTwvRW5hYmxlSW5m
MmNhdD4KLQkJPEludERpcj4uLlwkKFByb2plY3ROYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKVwk
KFBsYXRmb3JtKVw8L0ludERpcj4KLQkJPE91dERpcj4uLlwkKENvbmZpZ3VyYXRpb25OYW1lKVwk
KFBsYXRmb3JtKVw8L091dERpcj4KLQk8L1Byb3BlcnR5R3JvdXA+Ci0JCi0gICAgPEl0ZW1EZWZp
bml0aW9uR3JvdXA+ICAgICAgIAotCQk8Q2xDb21waWxlPgotCQkJPFByZXByb2Nlc3NvckRlZmlu
aXRpb25zPl9fTU9EVUxFX189IlhFTklGQUNFIjtQT09MX05YX09QVElOPTE7TlRfUFJPQ0VTU09S
X0dST1VQUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlv
bnM+Ci0JCQk8V2FybmluZ0xldmVsPkVuYWJsZUFsbFdhcm5pbmdzPC9XYXJuaW5nTGV2ZWw+Ci0J
CQk8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDcxMTs0NTQ4OzQ4MjA7NDY2ODs0MjU1OzYwMDE7
NjA1NDslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+
Ci0JCQk8TXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj50cnVlPC9NdWx0aVByb2Nlc3NvckNvbXBp
bGF0aW9uPgotCQkJPEVuYWJsZVBSRWZhc3Q+dHJ1ZTwvRW5hYmxlUFJFZmFzdD4KLQkJPC9DbENv
bXBpbGU+Ci0JCTxMaW5rPgotCQkJPEltYWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJzPmZhbHNl
PC9JbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz4KLQkJCTxBZGRpdGlvbmFsRGVwZW5kZW5j
aWVzPiQoRERLX0xJQl9QQVRIKVxudHN0cnNhZmUubGliOyQoRERLX0xJQl9QQVRIKVxwcm9jZ3Jw
LmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgot
CQkJPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNPTURBVEZvbGRpbmc+Ci0JCTwv
TGluaz4KLQkJPEluZj4KLQkJCTxTcGVjaWZ5QXJjaGl0ZWN0dXJlPnRydWU8L1NwZWNpZnlBcmNo
aXRlY3R1cmU+Ci0JCQk8U3BlY2lmeURyaXZlclZlckRpcmVjdGl2ZVZlcnNpb24+dHJ1ZTwvU3Bl
Y2lmeURyaXZlclZlckRpcmVjdGl2ZVZlcnNpb24+Ci0JCQk8VGltZVN0YW1wPiQoTUFKT1JfVkVS
U0lPTikuJChNSU5PUl9WRVJTSU9OKS4kKE1JQ1JPX1ZFUlNJT04pLiQoQlVJTERfTlVNQkVSKTwv
VGltZVN0YW1wPgotCQkJPEVuYWJsZVZlcmJvc2U+dHJ1ZTwvRW5hYmxlVmVyYm9zZT4KLQkJPC9J
bmY+Ci0JPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotCTxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRp
dGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+Ci0JCTxDbENvbXBpbGU+Ci0JCQk8UHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM+X19pMzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1By
ZXByb2Nlc3NvckRlZmluaXRpb25zPgotCQk8L0NsQ29tcGlsZT4KLQkJPEluZj4KLQkJCTxBcmNo
aXRlY3R1cmU+eDg2PC9BcmNoaXRlY3R1cmU+Ci0JCTwvSW5mPgotCTwvSXRlbURlZmluaXRpb25H
cm91cD4KLQk8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4
NjQnIj4KLQkJPENsQ29tcGlsZT4KLQkJCTxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX3g4Nl82
NF9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4K
LQkJPC9DbENvbXBpbGU+Ci0JCTxJbmY+Ci0JCQk8QXJjaGl0ZWN0dXJlPmFtZDY0PC9BcmNoaXRl
Y3R1cmU+Ci0JCTwvSW5mPgotCTwvSXRlbURlZmluaXRpb25Hcm91cD4KLQotCTxJdGVtR3JvdXA+
Ci0JCTxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKFRhcmdldFBhdGgpIiAvPgotCQk8RmlsZXNU
b1BhY2thZ2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5wZGIiIC8+Ci0JCTxGaWxl
c1RvUGFja2FnZSBJbmNsdWRlPSJAKEluZi0+JyUoQ29weU91dHB1dCknKSIgQ29uZGl0aW9uPSIn
QChJbmYpJyE9JyciIC8+Ci0JPC9JdGVtR3JvdXA+Ci0JPEl0ZW1Hcm91cD4KLQkJPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuaWZhY2VcaW9jdGxzLmMiIC8+Ci0JCTxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cLi5cc3JjXHhlbmlmYWNlXHdtaS5jIiAvPgotCQk8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFjZVxkcml2ZXIuYyIgLz4KLQkJPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlwuLlxzcmNceGVuaWZhY2VcZmRvLmMiIC8+Ci0JCTxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
Li5cc3JjXHhlbmlmYWNlXHJlZ2lzdHJ5LmMiIC8+Ci0JCTxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
Li5cc3JjXHhlbmlmYWNlXHRocmVhZC5jIiAvPgotCQk8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4u
XHNyY1x4ZW5pZmFjZVxpb2N0bF9zaGFyZWRpbmZvLmMiIC8+Ci0JCTxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cLi5cc3JjXHhlbmlmYWNlXGlvY3RsX3N1c3BlbmQuYyIgLz4KLQkJPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlwuLlxzcmNceGVuaWZhY2VcaW9jdGxfZXZ0Y2huLmMiIC8+Ci0JCTxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmlmYWNlXGlvY3RsX2dudHRhYi5jIiAvPgotCQk8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFjZVxpb2N0bF9zdG9yZS5jIiAvPgotCQk8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFjZVxpcnBfcXVldWUuYyIgLz4KLQk8
L0l0ZW1Hcm91cD4KLSAgICAgICAgPEl0ZW1Hcm91cD4KLSAgICAgICAgICAgICAgICA8TW9mY29t
cCBJbmNsdWRlPSIuLi8uLi9zcmMveGVuaWZhY2Uvd21pLm1vZiI+Ci0gICAgICAgICAgICAgICAg
ICAgICAgICA8Q3JlYXRlQmluYXJ5TW9mRmlsZT4kKEludERpcikvd21pLmJtZjwvQ3JlYXRlQmlu
YXJ5TW9mRmlsZT4KLSAgICAgICAgICAgICAgICA8L01vZmNvbXA+Ci0gICAgICAgIDwvSXRlbUdy
b3VwPgotICAgICAgICA8SXRlbUdyb3VwPgotICAgICAgICAgICAgICAgIDxXbWltb2ZjayBJbmNs
dWRlPSIkKEludERpcilcd21pLmJtZiI+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8SGVhZGVy
T3V0cHV0RmlsZT4uLlwuLlxzcmNceGVuaWZhY2Vcd21pX2dlbmVyYXRlZC5oPC9IZWFkZXJPdXRw
dXRGaWxlPgotICAgICAgICAgICAgICAgIDwvV21pbW9mY2s+Ci0gICAgICAgIDwvSXRlbUdyb3Vw
PgotCTxJdGVtR3JvdXA+Ci0JCTxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhl
bmlmYWNlXHhlbmlmYWNlLnJjIiAvPgotCTwvSXRlbUdyb3VwPgotCTxJdGVtR3JvdXA+Ci0JCTxJ
bmYgSW5jbHVkZT0iLi5ceGVuaWZhY2UuaW5mIiAvPgotCTwvSXRlbUdyb3VwPgotCTxJdGVtR3Jv
dXA+Ci0JCTxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmlmYWNlXGFzc2VydC5oIiAv
PgotCQk8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFjZVxkcml2ZXIuaCIgLz4K
LQkJPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuaWZhY2VcZmRvLmgiIC8+Ci0JCTxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmlmYWNlXGlvY3Rscy5oIiAvPgotCQk8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFjZVxpcnBfcXVldWUuaCIgLz4KLQkJPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuaWZhY2VcbG9nLmgiIC8+Ci0JCTxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmlmYWNlXG11dGV4LmgiIC8+Ci0JCTxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cLi5cc3JjXHhlbmlmYWNlXG5hbWVzLmgiIC8+Ci0JCTxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cLi5cc3JjXHhlbmlmYWNlXHJlZ2lzdHJ5LmgiIC8+Ci0JCTxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cLi5cc3JjXHhlbmlmYWNlXHRocmVhZC5oIiAvPgotCQk8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFjZVx0eXBlcy5oIiAvPgotCQk8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXC4uXHNyY1x4ZW5pZmFjZVx3bWkuaCIgLz4KLQk8L0l0ZW1Hcm91cD4KLQk8SW1wb3J0IFBy
b2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgotPC9Qcm9q
ZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDEyL3hlbmlmYWNlL3hlbmlmYWNlLnZjeHByb2oudXNlciBi
L3ZzMjAxMi94ZW5pZmFjZS94ZW5pZmFjZS52Y3hwcm9qLnVzZXIKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDZhNDM1ZmQuLjAwMDAwMDAKLS0tIGEvdnMyMDEyL3hlbmlmYWNlL3hlbmlm
YWNlLnZjeHByb2oudXNlcgorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVy
c2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4w
IiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8y
MDAzIj4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9k
ZT4KLSAgICA8VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW5pZmFjZS5wZng8L1Rlc3RDZXJ0
aWZpY2F0ZT4KLSAgICA8VGltZVN0YW1wU2VydmVyPmh0dHA6Ly90aW1lc3RhbXAudmVyaXNpZ24u
Y29tL3NjcmlwdHMvdGltc3RhbXAuZGxsPC9UaW1lU3RhbXBTZXJ2ZXI+Ci0gIDwvUHJvcGVydHlH
cm91cD4KLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxMi94ZW5pZmFjZV9jb2luc3QveGVu
aWZhY2VfY29pbnN0LnZjeHByb2ogYi92czIwMTIveGVuaWZhY2VfY29pbnN0L3hlbmlmYWNlX2Nv
aW5zdC52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZDc1YTA3Li4wMDAw
MDAwCi0tLSBhL3ZzMjAxMi94ZW5pZmFjZV9jb2luc3QveGVuaWZhY2VfY29pbnN0LnZjeHByb2oK
KysrIC9kZXYvbnVsbApAQCAtMSw3NiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k
aW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNp
b249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21z
YnVpbGQvMjAwMyI+Ci0JPEltcG9ydCBQcm9qZWN0PSIuLlxjb25maWdzLnByb3BzIiAvPgotCi0J
PFByb3BlcnR5R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLQkgICAgPERyaXZlclR5cGU+
V0RNPC9Ecml2ZXJUeXBlPgotCQk8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZv
ckRyaXZlcnM4LjA8L1BsYXRmb3JtVG9vbHNldD4KLQkJPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFt
aWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLQkJPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJU
eXBlPgotCTwvUHJvcGVydHlHcm91cD4KLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+
Ci0JCTxDb25maWd1cmF0aW9uPldpbmRvd3MgVmlzdGEgRGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0J
CTxQbGF0Zm9ybSBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJyciPldpbjMyPC9QbGF0Zm9y
bT4KLQkJPERlYnVnZ2VyRmxhdm9yPkRiZ2VuZ0tlcm5lbERlYnVnZ2VyPC9EZWJ1Z2dlckZsYXZv
cj4KLQk8L1Byb3BlcnR5R3JvdXA+Ci0KLQk8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0
aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotCi0JPFByb3BlcnR5R3JvdXAgTGFi
ZWw9Ikdsb2JhbHMiPgotCQk8UHJvamVjdEd1aWQ+ezg1YzczMWFkLTJlYTItNDA0OS1hNTQyLWQy
ZDM4ZWRlOTM4Y308L1Byb2plY3RHdWlkPgotCTwvUHJvcGVydHlHcm91cD4KLQotCTxJbXBvcnQg
UHJvamVjdD0iLi5cdGFyZ2V0cy5wcm9wcyIgLz4KLQk8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJn
ZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KLQotCTxQcm9wZXJ0eUdyb3VwPgotCQk8
SW5jbHVkZVBhdGg+JChJbmNsdWRlUGF0aCk8L0luY2x1ZGVQYXRoPgotCQk8UnVuQ29kZUFuYWx5
c2lzPnRydWU8L1J1bkNvZGVBbmFseXNpcz4KLQkJPEVuYWJsZUluZjJjYXQ+ZmFsc2U8L0VuYWJs
ZUluZjJjYXQ+Ci0JCTxJbnREaXI+Li5cJChQcm9qZWN0TmFtZSlcJChDb25maWd1cmF0aW9uTmFt
ZSlcJChQbGF0Zm9ybSlcPC9JbnREaXI+Ci0JCTxPdXREaXI+Li5cJChDb25maWd1cmF0aW9uTmFt
ZSlcJChQbGF0Zm9ybSlcPC9PdXREaXI+Ci0JPC9Qcm9wZXJ0eUdyb3VwPgotCi0JPEl0ZW1EZWZp
bml0aW9uR3JvdXA+Ci0JCTxDbENvbXBpbGU+Ci0JCQk8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rv
cmllcz4kKFNvbHV0aW9uRGlyKS4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9y
aWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLQkJCTxQcmVwcm9jZXNzb3JEZWZp
bml0aW9ucz5fX01PRFVMRV9fPSJYRU5JRkFDRV9DT0lOU1QiOyUoUHJlcHJvY2Vzc29yRGVmaW5p
dGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLQkJCTxXYXJuaW5nTGV2ZWw+RW5hYmxl
QWxsV2FybmluZ3M8L1dhcm5pbmdMZXZlbD4KLQkJCTxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40
MTI3OzQ3MTE7NDU0ODs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7JShEaXNhYmxlU3Bl
Y2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgotCQkJPE11bHRpUHJvY2Vz
c29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj4KLQkJCTxFbmFi
bGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+Ci0JCQk8UnVudGltZUxpYnJhcnkgQ29uZGl0
aW9uPSInJChVc2VEZWJ1Z0xpYnJhcmllcyknPT0ndHJ1ZSciPk11bHRpVGhyZWFkZWREZWJ1Zzwv
UnVudGltZUxpYnJhcnk+Ci0JCQk8UnVudGltZUxpYnJhcnkgQ29uZGl0aW9uPSInJChVc2VEZWJ1
Z0xpYnJhcmllcyknPT0nZmFsc2UnIj5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KLQkJ
PC9DbENvbXBpbGU+Ci0JCTxMaW5rPgotCQkJPE1vZHVsZURlZmluaXRpb25GaWxlPi4uLy4uL3Ny
Yy9jb2luc3QveGVuaWZhY2VfY29pbnN0LmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+Ci0JCQk8
QWRkaXRpb25hbERlcGVuZGVuY2llcz5zZXR1cGFwaS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5j
aWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLQkJPC9MaW5rPgotCQk8UmVzb3VyY2VDb21w
aWxlPgotCQkJPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChTb2x1dGlvbkRpcikuLlxp
bmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRl
RGlyZWN0b3JpZXM+Ci0JCTwvUmVzb3VyY2VDb21waWxlPgotCTwvSXRlbURlZmluaXRpb25Hcm91
cD4KLQk8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4z
MiciPgotCQk8Q2xDb21waWxlPgotCQkJPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9faTM4Nl9f
OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLQkJ
PC9DbENvbXBpbGU+Ci0JPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotCTxJdGVtRGVmaW5pdGlvbkdy
b3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgotCQk8Q2xDb21waWxlPgotCQkJ
PFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZpbml0
aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotCQk8L0NsQ29tcGlsZT4KLQk8L0l0ZW1E
ZWZpbml0aW9uR3JvdXA+Ci0KLQk8SXRlbUdyb3VwPgotCQk8RmlsZXNUb1BhY2thZ2UgSW5jbHVk
ZT0iJChUYXJnZXRQYXRoKSIgLz4KLQkJPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoT3V0RGly
KSQoVGFyZ2V0TmFtZSkucGRiIiAvPgotCQk8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iQChJbmYt
PiclKENvcHlPdXRwdXQpJykiIENvbmRpdGlvbj0iJ0AoSW5mKSchPScnIiAvPgotCTwvSXRlbUdy
b3VwPgotCTxJdGVtR3JvdXA+Ci0JCTxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXGNvaW5z
dFxjb2luc3QuYyIgLz4KLQk8L0l0ZW1Hcm91cD4KLQk8SXRlbUdyb3VwPgotCQk8Tm9uZSBJbmNs
dWRlPSIuLlwuLlxzcmNcY29pbnN0XHhlbmlmYWNlX2NvaW5zdC5kZWYiIC8+Ci0JPC9JdGVtR3Jv
dXA+Ci0JPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFy
Z2V0cyIgLz4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS92czIwMTIveGVuaWZhY2VfY29pbnN0L3hlbmlmYWNlX2NvaW5zdC52Y3hwcm9qLnVzZXIg
Yi92czIwMTIveGVuaWZhY2VfY29pbnN0L3hlbmlmYWNlX2NvaW5zdC52Y3hwcm9qLnVzZXIKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZhNDM1ZmQuLjAwMDAwMDAKLS0tIGEvdnMyMDEy
L3hlbmlmYWNlX2NvaW5zdC94ZW5pZmFjZV9jb2luc3QudmN4cHJvai51c2VyCisrKyAvZGV2L251
bGwKQEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/
PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNy
b3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8UHJvcGVydHlHcm91cD4KLSAg
ICA8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgotICAgIDxUZXN0Q2VydGlmaWNhdGU+Li5c
Li5cc3JjXHhlbmlmYWNlLnBmeDwvVGVzdENlcnRpZmljYXRlPgotICAgIDxUaW1lU3RhbXBTZXJ2
ZXI+aHR0cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1Rp
bWVTdGFtcFNlcnZlcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0
IGEvdnMyMDEzL2NvbmZpZ3MucHJvcHMgYi92czIwMTMvY29uZmlncy5wcm9wcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDM5ODdmYi4uMDAwMDAwMAotLS0gYS92czIwMTMvY29uZmln
cy5wcm9wcworKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEu
MCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRv
b2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZl
bG9wZXIvbXNidWlsZC8yMDAzIj4gCi0JPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3Vy
YXRpb25zIj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDggRGVi
dWd8V2luMzIiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgOCBEZWJ1ZzwvQ29uZmlndXJh
dGlvbj4gCi0JCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmln
dXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIDcgRGVi
dWd8V2luMzIiPiAKLQkJCTxDb25maWd1cmF0aW9uPldpbmRvd3MgNyBEZWJ1ZzwvQ29uZmlndXJh
dGlvbj4gCi0JCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmln
dXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJXaW5kb3dzIFZpc3Rh
IERlYnVnfFdpbjMyIj4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERlYnVnPC9D
b25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+IAotCQk8L1Byb2pl
Y3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IldpbmRv
d3MgOCBSZWxlYXNlfFdpbjMyIj4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5kb3dzIDggUmVsZWFz
ZTwvQ29uZmlndXJhdGlvbj4gCi0JCQk8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPiAKLQkJPC9Q
cm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJX
aW5kb3dzIDcgUmVsZWFzZXxXaW4zMiI+IAotCQkJPENvbmZpZ3VyYXRpb24+V2luZG93cyA3IFJl
bGVhc2U8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4gCi0J
CTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVk
ZT0iV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyIj4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5k
b3dzIFZpc3RhIFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPldpbjMyPC9Q
bGF0Zm9ybT4gCi0JCTwvUHJvamVjdENvbmZpZ3VyYXRpb24+IAotCQk8UHJvamVjdENvbmZpZ3Vy
YXRpb24gSW5jbHVkZT0iV2luZG93cyA4IERlYnVnfHg2NCI+IAotCQkJPENvbmZpZ3VyYXRpb24+
V2luZG93cyA4IERlYnVnPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRm
b3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlv
biBJbmNsdWRlPSJXaW5kb3dzIDcgRGVidWd8eDY0Ij4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5k
b3dzIDcgRGVidWc8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+
IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQkJPFByb2plY3RDb25maWd1cmF0aW9uIElu
Y2x1ZGU9IldpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ij4gCi0JCQk8Q29uZmlndXJhdGlvbj5XaW5k
b3dzIFZpc3RhIERlYnVnPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRm
b3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlv
biBJbmNsdWRlPSJXaW5kb3dzIDggUmVsZWFzZXx4NjQiPiAKLQkJCTxDb25maWd1cmF0aW9uPldp
bmRvd3MgOCBSZWxlYXNlPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRm
b3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlv
biBJbmNsdWRlPSJXaW5kb3dzIDcgUmVsZWFzZXx4NjQiPiAKLQkJCTxDb25maWd1cmF0aW9uPldp
bmRvd3MgNyBSZWxlYXNlPC9Db25maWd1cmF0aW9uPiAKLQkJCTxQbGF0Zm9ybT54NjQ8L1BsYXRm
b3JtPiAKLQkJPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4gCi0JCTxQcm9qZWN0Q29uZmlndXJhdGlv
biBJbmNsdWRlPSJXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ij4gCi0JCQk8Q29uZmlndXJhdGlv
bj5XaW5kb3dzIFZpc3RhIFJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+IAotCQkJPFBsYXRmb3JtPng2
NDwvUGxhdGZvcm0+IAotCQk8L1Byb2plY3RDb25maWd1cmF0aW9uPiAKLQk8L0l0ZW1Hcm91cD4g
Ci08L1Byb2plY3Q+CmRpZmYgLS1naXQgYS92czIwMTMvbXNidWlsZF9kdmwuYmF0IGIvdnMyMDEz
L21zYnVpbGRfZHZsLmJhdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGMyNTZiMi4u
MDAwMDAwMAotLS0gYS92czIwMTMvbXNidWlsZF9kdmwuYmF0CisrKyAvZGV2L251bGwKQEAgLTEs
OCArMCwwIEBACi1jYWxsICIlVlMlXFZDXHZjdmFyc2FsbC5iYXQiIHg4NgotZWNobyBtc2J1aWxk
LmV4ZSAiJVNEVl9QUk9KJSIgL3Q6ZHZsIC9wOkNvbmZpZ3VyYXRpb249IldpbmRvd3MgOCBSZWxl
YXNlIiAvcDpQbGF0Zm9ybT14NjQKLW1zYnVpbGQuZXhlICIlU0RWX1BST0olIiAvdDpkdmwgL3A6
Q29uZmlndXJhdGlvbj0iV2luZG93cyA4IFJlbGVhc2UiIC9wOlBsYXRmb3JtPXg2NAotaWYgZXJy
b3JsZXZlbCAxIGdvdG8gZXJyb3IKLWV4aXQgMAotCi06ZXJyb3IKLWV4aXQgMQpkaWZmIC0tZ2l0
IGEvdnMyMDEzL21zYnVpbGRfc2R2LmJhdCBiL3ZzMjAxMy9tc2J1aWxkX3Nkdi5iYXQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIzYjcyMDIuLjAwMDAwMDAKLS0tIGEvdnMyMDEzL21z
YnVpbGRfc2R2LmJhdAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotY2FsbCAiJVZTJVxW
Q1x2Y3ZhcnNhbGwuYmF0IiB4ODYKLWVjaG8gbXNidWlsZC5leGUgIiVTRFZfUFJPSiUiIC90OnNk
diAvcDpJbnB1dHM9IiVTRFZfQVJHJSIgL3A6Q29uZmlndXJhdGlvbj0iV2luZG93cyA4IFJlbGVh
c2UiIC9wOlBsYXRmb3JtPXg2NAotbXNidWlsZC5leGUgIiVTRFZfUFJPSiUiIC90OnNkdiAvcDpJ
bnB1dHM9IiVTRFZfQVJHJSIgL3A6Q29uZmlndXJhdGlvbj0iV2luZG93cyA4IFJlbGVhc2UiIC9w
OlBsYXRmb3JtPXg2NAotaWYgZXJyb3JsZXZlbCAxIGdvdG8gZXJyb3IKLWV4aXQgMAotCi06ZXJy
b3IKLWV4aXQgMQpkaWZmIC0tZ2l0IGEvdnMyMDEzL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qIGIv
dnMyMDEzL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAzNDExMjJiLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMy9wYWNrYWdlL3BhY2thZ2UudmN4cHJv
agorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5j
b2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVy
c2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIv
bXNidWlsZC8yMDAzIj4KLSAgPEltcG9ydCBQcm9qZWN0PSIuLlxjb25maWdzLnByb3BzIiAvPgot
ICA8UHJvcGVydHlHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxDb25maWd1cmF0
aW9uVHlwZT5VdGlsaXR5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8RHJpdmVyVHlwZT5QYWNr
YWdlPC9Ecml2ZXJUeXBlPgotICAgIDxEaXNhYmxlRmFzdFVwVG9EYXRlQ2hlY2s+dHJ1ZTwvRGlz
YWJsZUZhc3RVcFRvRGF0ZUNoZWNrPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdy
b3VwIExhYmVsPSJHbG9iYWxzIj4KLSAgICA8Q29uZmlndXJhdGlvbj5XaW5kb3dzIFZpc3RhIERl
YnVnPC9Db25maWd1cmF0aW9uPgotICAgIDxQbGF0Zm9ybSBDb25kaXRpb249IickKFBsYXRmb3Jt
KScgPT0gJyciPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8RGVidWdnZXJGbGF2b3I+RGJnZW5nS2Vy
bmVsRGVidWdnZXI8L0RlYnVnZ2VyRmxhdm9yPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBv
cnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMi
IC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBSZWxlYXNlfFdpbjMyJyI+
Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRpb25Gb3JEcml2ZXJzOC4xPC9Q
bGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFi
ZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMiciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+
V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1By
b3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgUmVs
ZWFzZXxXaW4zMiciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9y
RHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9w
ZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPFBsYXRm
b3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRpb25Gb3JEcml2ZXJzOC4xPC9QbGF0Zm9ybVRvb2xz
ZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3Vy
YXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93
cyA3IERlYnVnfFdpbjMyJyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRp
b25Gb3JEcml2ZXJzOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAg
PFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IERlYnVnfFdpbjMyJyI+Ci0gICAgPFBs
YXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRpb25Gb3JEcml2ZXJzOC4xPC9QbGF0Zm9ybVRv
b2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZp
Z3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2lu
ZG93cyA4IFJlbGVhc2V8eDY0JyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGlj
YXRpb25Gb3JEcml2ZXJzOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4K
LSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQnIj4KLSAg
ICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8L1BsYXRm
b3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0i
Q29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0JyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5k
b3dzQXBwbGljYXRpb25Gb3JEcml2ZXJzOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVy
dHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IFJlbGVhc2V8eDY0
JyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRpb25Gb3JEcml2ZXJzOC4x
PC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAg
TGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nV2luZG93cyA3IERlYnVnfHg2NCciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2lu
ZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3Bl
cnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBEZWJ1Z3x4NjQn
Ij4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8
L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBM
YWJlbD0iR2xvYmFscyI+Ci0gICAgPFByb2plY3RHdWlkPns5QjA3MUEzNS04OTdDLTQ3N0EtQUVC
Ny05NUY3NzYxOEEyMUR9PC9Qcm9qZWN0R3VpZD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1w
b3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChW
Q1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cD4K
LSAgICA8RW5hYmxlSW5mMmNhdD50cnVlPC9FbmFibGVJbmYyY2F0PgotICAgIDxJbmYyQ2F0V2lu
ZG93c1ZlcnNpb25MaXN0IENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPlZpc3RhX3g2
NDs3X3g2NDtTZXJ2ZXIyMDA4X3g2NDtTZXJ2ZXIyMDA4UjJfeDY0O1NlcnZlcjhfeDY0PC9JbmYy
Q2F0V2luZG93c1ZlcnNpb25MaXN0PgotICAgIDxJbmYyQ2F0V2luZG93c1ZlcnNpb25MaXN0IENv
bmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+VmlzdGFfeDg2OzdfeDg2O1NlcnZlcjIw
MDhfeDg2OzhfeDg2PC9JbmYyQ2F0V2luZG93c1ZlcnNpb25MaXN0PgotICAgIDxEZWJ1Z2dlckZs
YXZvcj5EYmdlbmdLZXJuZWxEZWJ1Z2dlcjwvRGVidWdnZXJGbGF2b3I+Ci0gICAgPEVuYWJsZURl
cGxveW1lbnQ+RmFsc2U8L0VuYWJsZURlcGxveW1lbnQ+Ci0gICAgPEltcG9ydFRvU3RvcmU+RmFs
c2U8L0ltcG9ydFRvU3RvcmU+Ci0gICAgPEluc3RhbGxNb2RlPk5vbmU8L0luc3RhbGxNb2RlPgot
ICAgIDxTY3JpcHREZXZpY2VRdWVyeT4lUGF0aFRvSW5mJTwvU2NyaXB0RGV2aWNlUXVlcnk+Ci0g
ICAgPEVuYWJsZVZlcmlmaWVyPkZhbHNlPC9FbmFibGVWZXJpZmllcj4KLSAgICA8QWxsRHJpdmVy
cz5GYWxzZTwvQWxsRHJpdmVycz4KLSAgICA8VmVyaWZ5UHJvamVjdE91dHB1dD5UcnVlPC9WZXJp
ZnlQcm9qZWN0T3V0cHV0PgotICAgIDxWZXJpZnlGbGFncz4xMzM1NjM8L1ZlcmlmeUZsYWdzPgot
ICAgIDxJbnREaXI+Li5cJChQcm9qZWN0TmFtZSlcJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0
Zm9ybSlcPC9JbnREaXI+Ci0gICAgPE91dERpcj4uLlwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBs
YXRmb3JtKVw8L091dERpcj4KLSAgICA8UGFja2FnZURpcj4uLlwuLlx4ZW5pZmFjZVwkKERES1Bs
YXRmb3JtKTwvUGFja2FnZURpcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbUdyb3VwPgot
ICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Ii4uXHhlbmlmYWNlXHhlbmlmYWNlLnZjeHBy
b2oiPgotICAgICAgPFByb2plY3Q+ezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdE
OH08L1Byb2plY3Q+Ci0gICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgotICAgIDxQcm9qZWN0UmVmZXJl
bmNlIEluY2x1ZGU9Ii4uXHhlbmlmYWNlX2NvaW5zdFx4ZW5pZmFjZV9jb2luc3QudmN4cHJvaiI+
Ci0gICAgICA8UHJvamVjdD57ODVjNzMxYWQtMmVhMi00MDQ5LWE1NDItZDJkMzhlZGU5MzhjfTwv
UHJvamVjdD4KLSAgICA8L1Byb2plY3RSZWZlcmVuY2U+Ci0gICAgPFByb2plY3RSZWZlcmVuY2Ug
SW5jbHVkZT0iLi5ceGVuYWdlbnRceGVuYWdlbnQudmN4cHJvaiI+Ci0gICAgICA8UHJvamVjdD57
MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfTwvUHJvamVjdD4KLSAgICA8L1By
b2plY3RSZWZlcmVuY2U+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxGaWxl
c1RvUGFja2FnZSBJbmNsdWRlPSIkKEtJVClcUmVkaXN0XERJRnhcZHBpbnN0XEVuZ011aVx4ODZc
ZHBpbnN0LmV4ZSIgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIiAvPgotICAgIDxG
aWxlc1RvUGFja2FnZSBJbmNsdWRlPSIkKEtJVClcUmVkaXN0XERJRnhcZHBpbnN0XEVuZ011aVx4
NjRcZHBpbnN0LmV4ZSIgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyIgLz4KLSAgPC9J
dGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQu
Q3BwLnRhcmdldHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+
Ci0gIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvdnMyMDEzL3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qLnVzZXIgYi92czIw
MTMvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oudXNlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNmE0MzVmZC4uMDAwMDAwMAotLS0gYS92czIwMTMvcGFja2FnZS9wYWNrYWdlLnZjeHBy
b2oudXNlcgorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0i
aHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAg
PFByb3BlcnR5R3JvdXA+Ci0gICAgPFNpZ25Nb2RlPlRlc3RTaWduPC9TaWduTW9kZT4KLSAgICA8
VGVzdENlcnRpZmljYXRlPi4uXC4uXHNyY1x4ZW5pZmFjZS5wZng8L1Rlc3RDZXJ0aWZpY2F0ZT4K
LSAgICA8VGltZVN0YW1wU2VydmVyPmh0dHA6Ly90aW1lc3RhbXAudmVyaXNpZ24uY29tL3Njcmlw
dHMvdGltc3RhbXAuZGxsPC9UaW1lU3RhbXBTZXJ2ZXI+Ci0gIDwvUHJvcGVydHlHcm91cD4KLTwv
UHJvamVjdD4KZGlmZiAtLWdpdCBhL3ZzMjAxMy90YXJnZXRzLnByb3BzIGIvdnMyMDEzL3Rhcmdl
dHMucHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM4YWJhOTIuLjAwMDAwMDAK
LS0tIGEvdnMyMDEzL3RhcmdldHMucHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBA
Ci08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVs
dFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFz
Lm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0JPFByb3BlcnR5R3JvdXAg
TGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nV2luZG93cyA4IERlYnVnfFdpbjMyJyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5k
b3dzODwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1
Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdyb3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0i
Q29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdXaW5kb3dzIDggUmVsZWFzZXxXaW4zMiciPiAKLQkJPFRhcmdldFZlcnNpb24+V2luZG93czg8
L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGli
cmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25m
aWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dp
bmRvd3MgOCBEZWJ1Z3x4NjQnIj4gCi0JCTxUYXJnZXRWZXJzaW9uPldpbmRvd3M4PC9UYXJnZXRW
ZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPiAK
LQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9u
IiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBS
ZWxlYXNlfHg2NCciPiAKLQkJPFRhcmdldFZlcnNpb24+V2luZG93czg8L1RhcmdldFZlcnNpb24+
IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1By
b3BlcnR5R3JvdXA+Ci0JPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IERlYnVnfFdp
bjMyJyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5XaW5kb3dzNzwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxV
c2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4gCi0JPC9Qcm9wZXJ0eUdy
b3VwPiAKLQk8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMici
PiAKLQkJPFRhcmdldFZlcnNpb24+V2luZG93czc8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVi
dWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+
IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBEZWJ1Z3x4NjQnIj4gCi0JCTxU
YXJnZXRWZXJzaW9uPldpbmRvd3M3PC9UYXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFy
aWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9w
ZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBSZWxlYXNlfHg2NCciPiAKLQkJPFRhcmdldFZl
cnNpb24+V2luZG93czc8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+ZmFs
c2U8L1VzZURlYnVnTGlicmFyaWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+Ci0JPFByb3BlcnR5R3Jv
dXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMiciPiAKLQkJPFRhcmdldFZlcnNp
b24+VmlzdGE8L1RhcmdldFZlcnNpb24+IAotCQk8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNl
RGVidWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFi
ZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyJyI+IAotCQk8VGFyZ2V0VmVyc2lvbj5W
aXN0YTwvVGFyZ2V0VmVyc2lvbj4gCi0JCTxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVi
dWdMaWJyYXJpZXM+IAotCTwvUHJvcGVydHlHcm91cD4gCi0JPFByb3BlcnR5R3JvdXAgTGFiZWw9
IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQnIj4gCi0JCTxUYXJnZXRWZXJzaW9uPlZpc3RhPC9U
YXJnZXRWZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFy
aWVzPiAKLQk8L1Byb3BlcnR5R3JvdXA+IAotCTxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1
cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRv
d3MgVmlzdGEgUmVsZWFzZXx4NjQnIj4gCi0JCTxUYXJnZXRWZXJzaW9uPlZpc3RhPC9UYXJnZXRW
ZXJzaW9uPiAKLQkJPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4g
Ci0JPC9Qcm9wZXJ0eUdyb3VwPgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDEzL3hlbmFn
ZW50L3hlbmFnZW50LnZjeHByb2ogYi92czIwMTMveGVuYWdlbnQveGVuYWdlbnQudmN4cHJvagpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTUxZDhiZS4uMDAwMDAwMAotLS0gYS92czIw
MTMveGVuYWdlbnQveGVuYWdlbnQudmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDg4ICswLDAg
QEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZh
dWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iMTIuMCIgeG1sbnM9Imh0dHA6Ly9zY2hl
bWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJbXBvcnQgUHJv
amVjdD0iLi5cY29uZmlncy5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2Jh
bHMiPgotICAgIDxDb25maWd1cmF0aW9uPldpbmRvd3MgVmlzdGEgRGVidWc8L0NvbmZpZ3VyYXRp
b24+Ci0gICAgPFBsYXRmb3JtIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAnJyI+V2luMzI8
L1BsYXRmb3JtPgotICAgIDxEZWJ1Z2dlckZsYXZvcj5EYmdlbmdLZXJuZWxEZWJ1Z2dlcjwvRGVi
dWdnZXJGbGF2b3I+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9
IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVy
U2V0PgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczgu
MTwvUGxhdGZvcm1Ub29sc2V0PgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwv
Q29uZmlndXJhdGlvblR5cGU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0
PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFBy
b3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9qZWN0R3VpZD57MkU2MUQyQ0Mt
ODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfTwvUHJvamVjdEd1aWQ+Ci0gIDwvUHJvcGVydHlH
cm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIuLlx0YXJnZXRzLnByb3BzIiAvPgotICA8SW1wb3J0
IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KLSAgPFBy
b3BlcnR5R3JvdXA+Ci0gICAgPEluY2x1ZGVQYXRoPiQoSW5jbHVkZVBhdGgpPC9JbmNsdWRlUGF0
aD4KLSAgICA8UnVuQ29kZUFuYWx5c2lzPnRydWU8L1J1bkNvZGVBbmFseXNpcz4KLSAgICA8RW5h
YmxlSW5mMmNhdD5mYWxzZTwvRW5hYmxlSW5mMmNhdD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8
UHJvcGVydHlHcm91cD4KLSAgICA8Q3VzdG9tQnVpbGRBZnRlclRhcmdldHM+TGluazwvQ3VzdG9t
QnVpbGRBZnRlclRhcmdldHM+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9u
R3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9y
aWVzPiQoU29sdXRpb25EaXIpLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3Jp
ZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRl
ZmluaXRpb25zPldJTjMyO19XSU5ET1dTO19DUlRfU0VDVVJFX05PX1dBUk5JTkdTO19fTU9EVUxF
X189IlhFTkFHRU5UIjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVm
aW5pdGlvbnM+Ci0gICAgICA8V2FybmluZ0xldmVsPkVuYWJsZUFsbFdhcm5pbmdzPC9XYXJuaW5n
TGV2ZWw+Ci0gICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDEyNzs0MzUwOzQ3MTE7NDU0
ODs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7MjgxOTY7JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5n
cyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgotICAgICAgPE11bHRpUHJvY2Vzc29yQ29tcGls
YXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj4KLSAgICAgIDxFbmFibGVQUkVm
YXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+Ci0gICAgICA8UnVudGltZUxpYnJhcnkgQ29uZGl0aW9u
PSInJChVc2VEZWJ1Z0xpYnJhcmllcyknPT0ndHJ1ZSciPk11bHRpVGhyZWFkZWREZWJ1ZzwvUnVu
dGltZUxpYnJhcnk+Ci0gICAgICA8UnVudGltZUxpYnJhcnkgQ29uZGl0aW9uPSInJChVc2VEZWJ1
Z0xpYnJhcmllcyknPT0nZmFsc2UnIj5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KLSAg
ICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVz
PnBvd3Jwcm9mLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5k
ZW5jaWVzPgotICAgIDwvTGluaz4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPEFkZGl0
aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChTb2x1dGlvbkRpcikuLlxpbmNsdWRlOyUoQWRkaXRp
b25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0g
ICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1E
ZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIj4KLSAgICA8
Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9faTM4Nl9fOyUoUHJl
cHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0Ns
Q29tcGlsZT4KLSAgICA8Q3VzdG9tQnVpbGRTdGVwPgotICAgICAgPE91dHB1dHM+JChUYXJnZXRE
aXIpJChUYXJnZXROYW1lKS5kbGw8L091dHB1dHM+Ci0gICAgICA8SW5wdXRzPiQoSW50RGlyKSQo
VGFyZ2V0TmFtZSkucmVzPC9JbnB1dHM+Ci0gICAgICA8Q29tbWFuZD5saW5rIC1tYWNoaW5lOng4
NiAtZGxsIC1ub2VudHJ5IC1vdXQ6JShPdXRwdXRzKSAlKElucHV0cyk8L0NvbW1hbmQ+Ci0gICAg
PC9DdXN0b21CdWlsZFN0ZXA+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZp
bml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyI+Ci0gICAgPENsQ29t
cGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX3g4Nl82NF9fOyUoUHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29t
cGlsZT4KLSAgICA8Q3VzdG9tQnVpbGRTdGVwPgotICAgICAgPE91dHB1dHM+JChUYXJnZXREaXIp
JChUYXJnZXROYW1lKS5kbGw8L091dHB1dHM+Ci0gICAgICA8SW5wdXRzPiQoSW50RGlyKSQoVGFy
Z2V0TmFtZSkucmVzPC9JbnB1dHM+Ci0gICAgICA8Q29tbWFuZD5saW5rIC1tYWNoaW5lOng2NCAt
ZGxsIC1ub2VudHJ5IC1vdXQ6JShPdXRwdXRzKSAlKElucHV0cyk8L0NvbW1hbmQ+Ci0gICAgPC9D
dXN0b21CdWlsZFN0ZXA+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4K
LSAgICA8RmlsZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChUYXJnZXRQYXRoKSIgLz4KLSAgICA8Rmls
ZXNUb1BhY2thZ2UgSW5jbHVkZT0iJChPdXREaXIpJChUYXJnZXROYW1lKS5wZGIiIC8+Ci0gICAg
PEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkuZGxsIiAvPgot
ICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSJAKEluZi0+JyUoQ29weU91dHB1dCknKSIgQ29u
ZGl0aW9uPSInQChJbmYpJyE9JyciIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgot
ICAgIDxNZXNzYWdlQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVuYWdlbnRcbWVzc2FnZXMu
bWMiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5cLi5cc3JjXHhlbmFnZW50XHNlcnZpY2UuY3BwIi8+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlwuLlxzcmNceGVuYWdlbnRcZGV2aWNlbGlzdC5jcHAiLz4KLSAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5hZ2VudFx4ZW5pZmFjZWRldmljZS5jcHAiLz4KLSAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5hZ2VudFxjb252ZGV2aWNlLmNwcCIv
PgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8UmVzb3VyY2VDb21waWxlIElu
Y2x1ZGU9Ii4uXC4uXHNyY1x4ZW5hZ2VudFx4ZW5hZ2VudC5yYyIgLz4KLSAgPC9JdGVtR3JvdXA+
Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPEltYWdlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5hZ2VudFx4
ZW4uaWNvIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0
c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBh
L3ZzMjAxMy94ZW5hZ2VudC94ZW5hZ2VudC52Y3hwcm9qLnVzZXIgYi92czIwMTMveGVuYWdlbnQv
eGVuYWdlbnQudmN4cHJvai51c2VyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MGYz
Y2JlLi4wMDAwMDAwCi0tLSBhL3ZzMjAxMy94ZW5hZ2VudC94ZW5hZ2VudC52Y3hwcm9qLnVzZXIK
KysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rp
bmc9InV0Zi04Ij8+Ci08UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9z
Y2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxQcm9wZXJ0
eUdyb3VwIC8+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvdnMyMDEzL3hlbmlmYWNlLnNsbiBiL3ZzMjAxMy94ZW5pZmFjZS5zbG4KZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE2MjE2YWQuLjAwMDAwMDAKLS0tIGEvdnMyMDEzL3hlbmlm
YWNlLnNsbgorKysgL2Rldi9udWxsCkBAIC0xLDIxMiArMCwwIEBACi1NaWNyb3NvZnQgVmlzdWFs
IFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiAxMi4wMAotIyBWaXN1YWwgU3R1
ZGlvIEV4cHJlc3MgMjAxMyBmb3IgV2luZG93cyBEZXNrdG9wCi1WaXN1YWxTdHVkaW9WZXJzaW9u
ID0gMTIuMC4zMDcyMy4wCi1NaW5pbXVtVmlzdWFsU3R1ZGlvVmVyc2lvbiA9IDEwLjAuNDAyMTku
MQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4
ZW5pZmFjZV9jb2luc3QiLCAieGVuaWZhY2VfY29pbnN0XHhlbmlmYWNlX2NvaW5zdC52Y3hwcm9q
IiwgIns4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9IgotRW5kUHJvamVjdAot
UHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4ZW5p
ZmFjZSIsICJ4ZW5pZmFjZVx4ZW5pZmFjZS52Y3hwcm9qIiwgInsyMjE2NjI5MC02NUQ4LTQ5RDIt
QkI4OC0zMzIwMTc5N0M3RDh9IgotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMp
ID0gcG9zdFByb2plY3QKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30g
PSB7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfQotCUVuZFByb2plY3RTZWN0
aW9uCi1FbmRQcm9qZWN0Ci1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5
MUJDOTQyfSIpID0gInhlbmFnZW50IiwgInhlbmFnZW50XHhlbmFnZW50LnZjeHByb2oiLCAiezJF
NjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0iCi1FbmRQcm9qZWN0Ci1Qcm9qZWN0
KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInBhY2thZ2UiLCAi
cGFja2FnZVxwYWNrYWdlLnZjeHByb2oiLCAiezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3
NjE4QTIxRH0iCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJv
amVjdAotCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfSA9IHs4NUM3MzFB
RC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9Ci0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4
My1COERBRkQ3QkJEM0J9ID0gezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0K
LQlFbmRQcm9qZWN0U2VjdGlvbgotRW5kUHJvamVjdAotR2xvYmFsCi0JR2xvYmFsU2VjdGlvbihT
b2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29sdXRpb24KLQkJRGVidWd8V2lu
MzIgPSBEZWJ1Z3xXaW4zMgotCQlEZWJ1Z3x4NjQgPSBEZWJ1Z3x4NjQKLQkJUmVsZWFzZXxXaW4z
MiA9IFJlbGVhc2V8V2luMzIKLQkJUmVsZWFzZXx4NjQgPSBSZWxlYXNlfHg2NAotCQlXaW5kb3dz
IDcgRGVidWd8V2luMzIgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJV2luZG93cyA3IERlYnVn
fHg2NCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJV2luZG93cyA3IFJlbGVhc2V8V2luMzIgPSBX
aW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQlXaW5kb3dzIDcgUmVsZWFzZXx4NjQgPSBXaW5kb3dz
IDcgUmVsZWFzZXx4NjQKLQkJV2luZG93cyBEZXZlbG9wZXIgUHJldmlldyBEZWJ1Z3xXaW4zMiA9
IFdpbmRvd3MgRGV2ZWxvcGVyIFByZXZpZXcgRGVidWd8V2luMzIKLQkJV2luZG93cyBEZXZlbG9w
ZXIgUHJldmlldyBEZWJ1Z3x4NjQgPSBXaW5kb3dzIERldmVsb3BlciBQcmV2aWV3IERlYnVnfHg2
NAotCQlXaW5kb3dzIERldmVsb3BlciBQcmV2aWV3IFJlbGVhc2V8V2luMzIgPSBXaW5kb3dzIERl
dmVsb3BlciBQcmV2aWV3IFJlbGVhc2V8V2luMzIKLQkJV2luZG93cyBEZXZlbG9wZXIgUHJldmll
dyBSZWxlYXNlfHg2NCA9IFdpbmRvd3MgRGV2ZWxvcGVyIFByZXZpZXcgUmVsZWFzZXx4NjQKLQkJ
V2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMiA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJ
V2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQgPSBXaW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQlXaW5k
b3dzIFZpc3RhIFJlbGVhc2V8V2luMzIgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJ
V2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQlF
bmRHbG9iYWxTZWN0aW9uCi0JR2xvYmFsU2VjdGlvbihQcm9qZWN0Q29uZmlndXJhdGlvblBsYXRm
b3JtcykgPSBwb3N0U29sdXRpb24KLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURF
OTM4Q30uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXs4
NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LkRlYnVnfFdpbjMyLkJ1aWxkLjAg
PSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4
RURFOTM4Q30uRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJ
ezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uRGVidWd8eDY0LkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4
RURFOTM4Q30uRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCXs4NUM3
MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LkRlYnVnfHg2NC5EZXBsb3kuMCA9IFdp
bmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4
Q30uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7
ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5SZWxlYXNlfFdpbjMyLkJ1aWxk
LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDIt
RDJEMzhFREU5MzhDfS5SZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA3IFJlbGVhc2V8
V2luMzIKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uUmVsZWFzZXx4
NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVhc2V8eDY0Ci0JCXs4NUM3MzFBRC0yRUEyLTQw
NDktQTU0Mi1EMkQzOEVERTkzOEN9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDcgUmVs
ZWFzZXx4NjQKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uUmVsZWFz
ZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJezg1QzczMUFELTJFQTIt
NDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9
IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhF
REU5MzhDfS5XaW5kb3dzIDcgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3xX
aW4zMgotCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5XaW5kb3dzIDcg
RGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJezg1QzczMUFE
LTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyA3IERlYnVnfHg2NC5BY3RpdmVD
ZmcgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQz
OEVERTkzOEN9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4
NjQKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyA3IERl
YnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezg1QzczMUFELTJFQTIt
NDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2Zn
ID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQy
RDM4RURFOTM4Q30uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBS
ZWxlYXNlfFdpbjMyCi0JCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9Lldp
bmRvd3MgNyBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIK
LQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyA3IFJlbGVh
c2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7ODVDNzMxQUQtMkVB
Mi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9
IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhF
REU5MzhDfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDcgUmVsZWFz
ZXx4NjQKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBE
ZXZlbG9wZXIgUHJldmlldyBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8
V2luMzIKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBE
ZXZlbG9wZXIgUHJldmlldyBEZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfFdp
bjMyCi0JCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LldpbmRvd3MgRGV2
ZWxvcGVyIFByZXZpZXcgRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8V2lu
MzIKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBEZXZl
bG9wZXIgUHJldmlldyBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfHg2NAot
CQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5XaW5kb3dzIERldmVsb3Bl
ciBQcmV2aWV3IERlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IERlYnVnfHg2NAotCQl7ODVD
NzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5XaW5kb3dzIERldmVsb3BlciBQcmV2
aWV3IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezg1QzczMUFE
LTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBEZXZlbG9wZXIgUHJldmlldyBS
ZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7ODVDNzMx
QUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5XaW5kb3dzIERldmVsb3BlciBQcmV2aWV3
IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7ODVDNzMx
QUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5MzhDfS5XaW5kb3dzIERldmVsb3BlciBQcmV2aWV3
IFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezg1Qzcz
MUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBEZXZlbG9wZXIgUHJldmll
dyBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCXs4NUM3MzFB
RC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LldpbmRvd3MgRGV2ZWxvcGVyIFByZXZpZXcg
UmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezg1QzczMUFELTJF
QTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBEZXZlbG9wZXIgUHJldmlldyBSZWxl
YXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezg1QzczMUFELTJFQTIt
NDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5BY3RpdmVD
ZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0
Mi1EMkQzOEVERTkzOEN9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRv
d3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURF
OTM4Q30uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEg
RGVidWd8V2luMzIKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2lu
ZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQK
LQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBWaXN0YSBE
ZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXs4NUM3MzFBRC0y
RUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkRlcGxv
eS4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQy
LUQyRDM4RURFOTM4Q30uV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdp
bmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJE
MzhFREU5MzhDfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3Mg
VmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7ODVDNzMxQUQtMkVBMi00MDQ5LUE1NDItRDJEMzhFREU5
MzhDfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3Rh
IFJlbGVhc2V8V2luMzIKLQkJezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30u
V2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVh
c2V8eDY0Ci0JCXs4NUM3MzFBRC0yRUEyLTQwNDktQTU0Mi1EMkQzOEVERTkzOEN9LldpbmRvd3Mg
VmlzdGEgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJ
ezg1QzczMUFELTJFQTItNDA0OS1BNTQyLUQyRDM4RURFOTM4Q30uV2luZG93cyBWaXN0YSBSZWxl
YXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezIyMTY2Mjkw
LTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2lu
ZG93cyA4IERlYnVnfFdpbjMyCi0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3
RDh9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezIyMTY2
MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uRGVidWd8V2luMzIuRGVwbG95LjAgPSBX
aW5kb3dzIDggRGVidWd8V2luMzIKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3
QzdEOH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezIyMTY2
MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uRGVidWd8eDY0LkJ1aWxkLjAgPSBXaW5k
b3dzIDggRGVidWd8eDY0Ci0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9
LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezIy
MTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4w
ID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMz
MjAxNzk3QzdEOH0uUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgOCBSZWxlYXNlfFdp
bjMyCi0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LlJlbGVhc2V8eDY0
LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7MjIxNjYyOTAtNjVEOC00OUQy
LUJCODgtMzMyMDE3OTdDN0Q4fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA4IFJlbGVh
c2V8eDY0Ci0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3Mg
NyBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJezIyMTY2
MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyA3IERlYnVnfFdpbjMyLkJ1
aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8V2luMzIKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4
LTMzMjAxNzk3QzdEOH0uV2luZG93cyA3IERlYnVnfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA3
IERlYnVnfFdpbjMyCi0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9Lldp
bmRvd3MgNyBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7MjIx
NjYyOTAtNjVEOC00OUQyLUJCODgtMzMyMDE3OTdDN0Q4fS5XaW5kb3dzIDcgRGVidWd8eDY0LkJ1
aWxkLjAgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0z
MzIwMTc5N0M3RDh9LldpbmRvd3MgNyBEZWJ1Z3x4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDcgRGVi
dWd8eDY0Ci0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3Mg
NyBSZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXsy
MjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgNyBSZWxlYXNlfFdp
bjMyLkJ1aWxkLjAgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7MjIxNjYyOTAtNjVEOC00
OUQyLUJCODgtMzMyMDE3OTdDN0Q4fS5XaW5kb3dzIDcgUmVsZWFzZXxXaW4zMi5EZXBsb3kuMCA9
IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIw
MTc5N0M3RDh9LldpbmRvd3MgNyBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVs
ZWFzZXx4NjQKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93
cyA3IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJezIyMTY2
MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkRl
cGxveS4wID0gV2luZG93cyA3IFJlbGVhc2V8eDY0Ci0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4
OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgRGV2ZWxvcGVyIFByZXZpZXcgRGVidWd8V2luMzIuQWN0
aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXsyMjE2NjI5MC02NUQ4LTQ5
RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgRGV2ZWxvcGVyIFByZXZpZXcgRGVidWd8V2lu
MzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7MjIxNjYyOTAtNjVE
OC00OUQyLUJCODgtMzMyMDE3OTdDN0Q4fS5XaW5kb3dzIERldmVsb3BlciBQcmV2aWV3IERlYnVn
fHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXsyMjE2NjI5MC02
NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgRGV2ZWxvcGVyIFByZXZpZXcgRGVi
dWd8eDY0LkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXsyMjE2NjI5MC02
NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgRGV2ZWxvcGVyIFByZXZpZXcgUmVs
ZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJezIy
MTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyBEZXZlbG9wZXIgUHJl
dmlldyBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIK
LQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyBEZXZlbG9w
ZXIgUHJldmlldyBSZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8
eDY0Ci0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgRGV2
ZWxvcGVyIFByZXZpZXcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFz
ZXx4NjQKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyBW
aXN0YSBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0J
CXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgVmlzdGEgRGVi
dWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezIyMTY2Mjkw
LTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5E
ZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezIyMTY2MjkwLTY1RDgtNDlE
Mi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0g
V2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAx
Nzk3QzdEOH0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEg
RGVidWd8eDY0Ci0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4OC0zMzIwMTc5N0M3RDh9LldpbmRv
d3MgVmlzdGEgRGVidWd8eDY0LkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJ
ezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyBWaXN0YSBSZWxl
YXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7MjIx
NjYyOTAtNjVEOC00OUQyLUJCODgtMzMyMDE3OTdDN0Q4fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8
V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7MjIxNjYyOTAt
NjVEOC00OUQyLUJCODgtMzMyMDE3OTdDN0Q4fS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIu
RGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJezIyMTY2MjkwLTY1RDgt
NDlEMi1CQjg4LTMzMjAxNzk3QzdEOH0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5BY3RpdmVD
ZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXsyMjE2NjI5MC02NUQ4LTQ5RDItQkI4
OC0zMzIwMTc5N0M3RDh9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRv
d3MgVmlzdGEgUmVsZWFzZXx4NjQKLQkJezIyMTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3
QzdEOH0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEg
UmVsZWFzZXx4NjQKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2lu
ZG93cyA3IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7
MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDcgRGVidWd8V2lu
MzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3xXaW4zMgotCQl7MkU2MUQyQ0MtODY1RS00NDJD
LThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDcgRGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5k
b3dzIDcgRGVidWd8V2luMzIKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQz
Qn0uV2luZG93cyA3IERlYnVnfHg2NC5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgRGVidWd8eDY0Ci0J
CXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgNyBEZWJ1Z3x4
NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04
QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA3IERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3Mg
NyBEZWJ1Z3x4NjQKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2lu
ZG93cyA3IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIK
LQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA3IFJlbGVh
c2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfFdpbjMyCi0JCXsyRTYxRDJDQy04
NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgNyBSZWxlYXNlfFdpbjMyLkRlcGxv
eS4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04Qzgz
LUI4REFGRDdCQkQzQn0uV2luZG93cyA3IFJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3Mg
NyBSZWxlYXNlfHg2NAotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5X
aW5kb3dzIDcgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7
MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDcgUmVsZWFzZXx4
NjQuRGVwbG95LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXx4NjQKLQkJezJFNjFEMkNDLTg2NUUtNDQy
Qy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA4IERlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFdp
bmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JC
RDNCfS5XaW5kb3dzIDggRGVidWd8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4z
MgotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDggRGVi
dWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezJFNjFEMkNDLTg2
NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA4IERlYnVnfHg2NC5BY3RpdmVDZmcg
PSBXaW5kb3dzIDggRGVidWd8eDY0Ci0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3
QkJEM0J9LldpbmRvd3MgOCBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQK
LQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA4IERlYnVn
fHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgOCBEZWJ1Z3x4NjQKLQkJezJFNjFEMkNDLTg2NUUtNDQy
Qy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0g
V2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFG
RDdCQkQzQn0uV2luZG93cyA4IFJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgOCBSZWxl
YXNlfFdpbjMyCi0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRv
d3MgOCBSZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyA4IFJlbGVhc2V8V2luMzIKLQkJ
ezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyA4IFJlbGVhc2V8
eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7MkU2MUQyQ0MtODY1RS00
NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdp
bmRvd3MgOCBSZWxlYXNlfHg2NAotCQl7MkU2MUQyQ0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JC
RDNCfS5XaW5kb3dzIDggUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBXaW5kb3dzIDggUmVsZWFzZXx4
NjQKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyBWaXN0
YSBEZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXsy
RTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3MgVmlzdGEgRGVidWd8
V2luMzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezJFNjFEMkNDLTg2
NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMi5EZXBs
b3kuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04
QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gV2lu
ZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdC
QkQzQn0uV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgRGVi
dWd8eDY0Ci0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1COERBRkQ3QkJEM0J9LldpbmRvd3Mg
VmlzdGEgRGVidWd8eDY0LkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQKLQkJezJF
NjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyBWaXN0YSBSZWxlYXNl
fFdpbjMyLkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7MkU2MUQy
Q0MtODY1RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2lu
MzIuQnVpbGQuMCA9IFdpbmRvd3MgVmlzdGEgUmVsZWFzZXxXaW4zMgotCQl7MkU2MUQyQ0MtODY1
RS00NDJDLThDODMtQjhEQUZEN0JCRDNCfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIuRGVw
bG95LjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJezJFNjFEMkNDLTg2NUUtNDQy
Qy04QzgzLUI4REFGRDdCQkQzQn0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5BY3RpdmVDZmcg
PSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXsyRTYxRDJDQy04NjVFLTQ0MkMtOEM4My1C
OERBRkQ3QkJEM0J9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFdpbmRvd3Mg
VmlzdGEgUmVsZWFzZXx4NjQKLQkJezJFNjFEMkNDLTg2NUUtNDQyQy04QzgzLUI4REFGRDdCQkQz
Qn0uV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgUmVs
ZWFzZXx4NjQKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uRGVidWd8
V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7OUIwNzFBMzUt
ODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gV2luZG93
cyBWaXN0YSBEZWJ1Z3xXaW4zMgotCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThB
MjFEfS5EZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIKLQkJ
ezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uRGVidWd8eDY0LkFjdGl2ZUNm
ZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05
NUY3NzYxOEEyMUR9LkRlYnVnfHg2NC5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQK
LQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uUmVsZWFzZXxXaW4zMi5B
Y3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIKLQkJezlCMDcxQTM1LTg5N0Mt
NDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyBW
aXN0YSBSZWxlYXNlfFdpbjMyCi0JCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEy
MUR9LlJlbGVhc2V8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIK
LQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uUmVsZWFzZXx4NjQuQWN0
aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7OUIwNzFBMzUtODk3Qy00NzdB
LUFFQjctOTVGNzc2MThBMjFEfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyBWaXN0YSBS
ZWxlYXNlfHg2NAotCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5XaW5k
b3dzIDcgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyA3IERlYnVnfFdpbjMyCi0JCXs5
QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgNyBEZWJ1Z3xXaW4z
Mi5CdWlsZC4wID0gV2luZG93cyA3IERlYnVnfFdpbjMyCi0JCXs5QjA3MUEzNS04OTdDLTQ3N0Et
QUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgNyBEZWJ1Z3xXaW4zMi5EZXBsb3kuMCA9IFdpbmRv
d3MgNyBEZWJ1Z3xXaW4zMgotCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFE
fS5XaW5kb3dzIDcgRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFdpbmRvd3MgNyBEZWJ1Z3x4NjQKLQkJ
ezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyA3IERlYnVnfHg2
NC5CdWlsZC4wID0gV2luZG93cyA3IERlYnVnfHg2NAotCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFF
QjctOTVGNzc2MThBMjFEfS5XaW5kb3dzIDcgRGVidWd8eDY0LkRlcGxveS4wID0gV2luZG93cyA3
IERlYnVnfHg2NAotCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5XaW5k
b3dzIDcgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgot
CQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5XaW5kb3dzIDcgUmVsZWFz
ZXxXaW4zMi5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8V2luMzIKLQkJezlCMDcxQTM1LTg5
N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyA3IFJlbGVhc2V8V2luMzIuRGVwbG95
LjAgPSBXaW5kb3dzIDcgUmVsZWFzZXxXaW4zMgotCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjct
OTVGNzc2MThBMjFEfS5XaW5kb3dzIDcgUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyA3
IFJlbGVhc2V8eDY0Ci0JCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9Lldp
bmRvd3MgNyBSZWxlYXNlfHg2NC5CdWlsZC4wID0gV2luZG93cyA3IFJlbGVhc2V8eDY0Ci0JCXs5
QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgNyBSZWxlYXNlfHg2
NC5EZXBsb3kuMCA9IFdpbmRvd3MgNyBSZWxlYXNlfHg2NAotCQl7OUIwNzFBMzUtODk3Qy00NzdB
LUFFQjctOTVGNzc2MThBMjFEfS5XaW5kb3dzIERldmVsb3BlciBQcmV2aWV3IERlYnVnfFdpbjMy
LkFjdGl2ZUNmZyA9IFdpbmRvd3MgOCBEZWJ1Z3xXaW4zMgotCQl7OUIwNzFBMzUtODk3Qy00NzdB
LUFFQjctOTVGNzc2MThBMjFEfS5XaW5kb3dzIERldmVsb3BlciBQcmV2aWV3IERlYnVnfFdpbjMy
LkJ1aWxkLjAgPSBXaW5kb3dzIDggRGVidWd8V2luMzIKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1B
RUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyBEZXZlbG9wZXIgUHJldmlldyBEZWJ1Z3x4NjQuQWN0
aXZlQ2ZnID0gV2luZG93cyA4IERlYnVnfHg2NAotCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjct
OTVGNzc2MThBMjFEfS5XaW5kb3dzIERldmVsb3BlciBQcmV2aWV3IERlYnVnfHg2NC5CdWlsZC4w
ID0gV2luZG93cyA4IERlYnVnfHg2NAotCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2
MThBMjFEfS5XaW5kb3dzIERldmVsb3BlciBQcmV2aWV3IFJlbGVhc2V8V2luMzIuQWN0aXZlQ2Zn
ID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3
NzYxOEEyMUR9LldpbmRvd3MgRGV2ZWxvcGVyIFByZXZpZXcgUmVsZWFzZXxXaW4zMi5CdWlsZC4w
ID0gV2luZG93cyA4IERlYnVnfFdpbjMyCi0JCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3
NzYxOEEyMUR9LldpbmRvd3MgRGV2ZWxvcGVyIFByZXZpZXcgUmVsZWFzZXx4NjQuQWN0aXZlQ2Zn
ID0gV2luZG93cyA4IERlYnVnfHg2NAotCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2
MThBMjFEfS5XaW5kb3dzIERldmVsb3BlciBQcmV2aWV3IFJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBX
aW5kb3dzIDggRGVidWd8eDY0Ci0JCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEy
MUR9LldpbmRvd3MgVmlzdGEgRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBE
ZWJ1Z3xXaW4zMgotCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5XaW5k
b3dzIFZpc3RhIERlYnVnfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMy
Ci0JCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgVmlzdGEg
RGVidWd8V2luMzIuRGVwbG95LjAgPSBXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyCi0JCXs5QjA3
MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0
LkFjdGl2ZUNmZyA9IFdpbmRvd3MgVmlzdGEgRGVidWd8eDY0Ci0JCXs5QjA3MUEzNS04OTdDLTQ3
N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgVmlzdGEgRGVidWd8eDY0LkJ1aWxkLjAgPSBX
aW5kb3dzIFZpc3RhIERlYnVnfHg2NAotCQl7OUIwNzFBMzUtODk3Qy00NzdBLUFFQjctOTVGNzc2
MThBMjFEfS5XaW5kb3dzIFZpc3RhIERlYnVnfHg2NC5EZXBsb3kuMCA9IFdpbmRvd3MgVmlzdGEg
RGVidWd8eDY0Ci0JCXs5QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRv
d3MgVmlzdGEgUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8
V2luMzIKLQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyBW
aXN0YSBSZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8V2luMzIK
LQkJezlCMDcxQTM1LTg5N0MtNDc3QS1BRUI3LTk1Rjc3NjE4QTIxRH0uV2luZG93cyBWaXN0YSBS
ZWxlYXNlfFdpbjMyLkRlcGxveS4wID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfFdpbjMyCi0JCXs5
QjA3MUEzNS04OTdDLTQ3N0EtQUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgVmlzdGEgUmVsZWFz
ZXx4NjQuQWN0aXZlQ2ZnID0gV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NAotCQl7OUIwNzFBMzUt
ODk3Qy00NzdBLUFFQjctOTVGNzc2MThBMjFEfS5XaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0LkJ1
aWxkLjAgPSBXaW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JCXs5QjA3MUEzNS04OTdDLTQ3N0Et
QUVCNy05NUY3NzYxOEEyMUR9LldpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQuRGVwbG95LjAgPSBX
aW5kb3dzIFZpc3RhIFJlbGVhc2V8eDY0Ci0JRW5kR2xvYmFsU2VjdGlvbgotCUdsb2JhbFNlY3Rp
b24oU29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uCi0JCUhpZGVTb2x1dGlvbk5vZGUg
PSBGQUxTRQotCUVuZEdsb2JhbFNlY3Rpb24KLUVuZEdsb2JhbApkaWZmIC0tZ2l0IGEvdnMyMDEz
L3hlbmlmYWNlL3hlbmlmYWNlLnZjeHByb2ogYi92czIwMTMveGVuaWZhY2UveGVuaWZhY2UudmN4
cHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzYyMzJlNC4uMDAwMDAwMAotLS0g
YS92czIwMTMveGVuaWZhY2UveGVuaWZhY2UudmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDE3
MiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2pl
Y3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6
Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJbXBv
cnQgUHJvamVjdD0iLi5cY29uZmlncy5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9
IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHJpdmVyPC9Db25maWd1
cmF0aW9uVHlwZT4KLSAgICA8RHJpdmVyVHlwZT5XRE08L0RyaXZlclR5cGU+Ci0gIDwvUHJvcGVy
dHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxDb25maWd1
cmF0aW9uPldpbmRvd3MgVmlzdGEgRGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0gICAgPFBsYXRmb3Jt
IENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAnJyI+V2luMzI8L1BsYXRmb3JtPgotICAgIDxE
ZWJ1Z2dlckZsYXZvcj5EYmdlbmdLZXJuZWxEZWJ1Z2dlcjwvRGVidWdnZXJGbGF2b3I+Ci0gIDwv
UHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jv
c29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZp
Z3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2lu
ZG93cyA4IFJlbGVhc2V8V2luMzInIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJu
ZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAg
PFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMiciPgotICAg
IDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXI4LjE8L1BsYXRmb3JtVG9v
bHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmln
dXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5k
b3dzIFZpc3RhIFJlbGVhc2V8V2luMzInIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NL
ZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4K
LSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IFJlbGVhc2V8V2luMzInIj4KLSAg
ICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9ybVRv
b2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZp
Z3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2lu
ZG93cyA3IERlYnVnfFdpbjMyJyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzS2VybmVs
TW9kZURyaXZlcjguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQ
cm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBEZWJ1Z3xXaW4zMiciPgotICAgIDxQbGF0
Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXI4LjE8L1BsYXRmb3JtVG9vbHNldD4K
LSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlv
biIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDgg
UmVsZWFzZXx4NjQnIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJp
dmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5
R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQnIj4KLSAgICA8UGxhdGZvcm1U
b29sc2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwv
UHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyBWaXN0YSBS
ZWxlYXNlfHg2NCciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2
ZXI4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlH
cm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgUmVsZWFzZXx4NjQnIj4KLSAgICA8UGxhdGZvcm1Ub29s
c2V0PldpbmRvd3NLZXJuZWxNb2RlRHJpdmVyOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJv
cGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IERlYnVnfHg2
NCciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0tlcm5lbE1vZGVEcml2ZXI4LjE8L1Bs
YXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJl
bD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdXaW5kb3dzIDggRGVidWd8eDY0JyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dz
S2VybmVsTW9kZURyaXZlcjguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+
Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLSAgICA8UHJvamVjdEd1aWQ+ezIy
MTY2MjkwLTY1RDgtNDlEMi1CQjg4LTMzMjAxNzk3QzdEOH08L1Byb2plY3RHdWlkPgotICA8L1By
b3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iLi5cdGFyZ2V0cy5wcm9wcyIgLz4KLSAg
PEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+
Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxJbmNsdWRlUGF0aD4uLlwuLlxpbmNsdWRlOyQoSW5j
bHVkZVBhdGgpPC9JbmNsdWRlUGF0aD4KLSAgICA8UnVuQ29kZUFuYWx5c2lzPnRydWU8L1J1bkNv
ZGVBbmFseXNpcz4KLSAgICA8RW5hYmxlSW5mMmNhdD5mYWxzZTwvRW5hYmxlSW5mMmNhdD4KLSAg
ICA8SW50RGlyPi4uXCQoUHJvamVjdE5hbWUpXCQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUGxhdGZv
cm0pXDwvSW50RGlyPgotICAgIDxPdXREaXI+Li5cJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0
Zm9ybSlcPC9PdXREaXI+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3Jv
dXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fX01P
RFVMRV9fPSJYRU5JRkFDRSI7UE9PTF9OWF9PUFRJTj0xO05UX1BST0NFU1NPUl9HUk9VUFM7JShQ
cmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAg
PFdhcm5pbmdMZXZlbD5FbmFibGVBbGxXYXJuaW5nczwvV2FybmluZ0xldmVsPgotICAgICAgPERp
c2FibGVTcGVjaWZpY1dhcm5pbmdzPjQ3MTE7NDU0ODs0ODIwOzQ2Njg7NDI1NTs2MDAxOzYwNTQ7
JShEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgotICAg
ICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxh
dGlvbj4KLSAgICAgIDxFbmFibGVQUkVmYXN0PnRydWU8L0VuYWJsZVBSRWZhc3Q+Ci0gICAgPC9D
bENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8SW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxl
cnM+ZmFsc2U8L0ltYWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJzPgotICAgICAgPEFkZGl0aW9u
YWxEZXBlbmRlbmNpZXM+JChEREtfTElCX1BBVEgpXG50c3Ryc2FmZS5saWI7JChEREtfTElCX1BB
VEgpXHByb2NncnAubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBl
bmRlbmNpZXM+Ci0gICAgICA8RW5hYmxlQ09NREFURm9sZGluZz5mYWxzZTwvRW5hYmxlQ09NREFU
Rm9sZGluZz4KLSAgICA8L0xpbms+Ci0gICAgPEluZj4KLSAgICAgIDxTcGVjaWZ5QXJjaGl0ZWN0
dXJlPnRydWU8L1NwZWNpZnlBcmNoaXRlY3R1cmU+Ci0gICAgICA8U3BlY2lmeURyaXZlclZlckRp
cmVjdGl2ZVZlcnNpb24+dHJ1ZTwvU3BlY2lmeURyaXZlclZlckRpcmVjdGl2ZVZlcnNpb24+Ci0g
ICAgICA8VGltZVN0YW1wPiQoTUFKT1JfVkVSU0lPTikuJChNSU5PUl9WRVJTSU9OKS4kKE1JQ1JP
X1ZFUlNJT04pLiQoQlVJTERfTlVNQkVSKTwvVGltZVN0YW1wPgotICAgICAgPEVuYWJsZVZlcmJv
c2U+dHJ1ZTwvRW5hYmxlVmVyYm9zZT4KLSAgICA8L0luZj4KLSAgPC9JdGVtRGVmaW5pdGlvbkdy
b3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdX
aW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+
X19pMzg2X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRp
b25zPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyRmlsZSBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICAg
IDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDggUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgICA8UHJl
Y29tcGlsZWRIZWFkZXJGaWxlIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgICA8UHJlY29tcGlsZWRI
ZWFkZXJPdXRwdXRGaWxlIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nV2luZG93cyBWaXN0YSBEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFk
ZXJGaWxlIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93
cyBWaXN0YSBSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1
dEZpbGUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dz
IFZpc3RhIFJlbGVhc2V8V2luMzInIiAvPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyRmlsZSBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBSZWxl
YXNlfFdpbjMyJyIgLz4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGUgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgUmVsZWFzZXxX
aW4zMiciIC8+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXJGaWxlIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IERlYnVnfFdpbjMyJyIgLz4KLSAg
ICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgRGVidWd8V2luMzInIiAvPgotICAgICAgPFBy
ZWNvbXBpbGVkSGVhZGVyRmlsZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1dpbmRvd3MgOCBEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFk
ZXJPdXRwdXRGaWxlIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
V2luZG93cyA4IERlYnVnfFdpbjMyJyIgLz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8SW5mPgot
ICAgICAgPEFyY2hpdGVjdHVyZT54ODY8L0FyY2hpdGVjdHVyZT4KLSAgICA8L0luZj4KLSAgPC9J
dGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249Iick
KFBsYXRmb3JtKSc9PSd4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3Nv
ckRlZmluaXRpb25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXBy
b2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyRmlsZSBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBSZWxlYXNlfHg2
NCciIC8+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA4IFJlbGVhc2V8eDY0JyIgLz4K
LSAgICAgIDxQcmVjb21waWxlZEhlYWRlckZpbGUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIFZpc3RhIERlYnVnfHg2NCciIC8+Ci0gICAgICA8UHJl
Y29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nV2luZG93cyBWaXN0YSBEZWJ1Z3x4NjQnIiAvPgotICAgICAgPFByZWNvbXBp
bGVkSGVhZGVyRmlsZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1dpbmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQnIiAvPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVy
T3V0cHV0RmlsZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dp
bmRvd3MgVmlzdGEgUmVsZWFzZXx4NjQnIiAvPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyRmls
ZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBS
ZWxlYXNlfHg2NCciIC8+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXJPdXRwdXRGaWxlIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IFJlbGVhc2V8
eDY0JyIgLz4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlckZpbGUgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgRGVidWd8eDY0JyIgLz4KLSAgICAg
IDxQcmVjb21waWxlZEhlYWRlck91dHB1dEZpbGUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIDcgRGVidWd8eDY0JyIgLz4KLSAgICAgIDxQcmVjb21w
aWxlZEhlYWRlckZpbGUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdXaW5kb3dzIDggRGVidWd8eDY0JyIgLz4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlck91dHB1
dEZpbGUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dz
IDggRGVidWd8eDY0JyIgLz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8SW5mPgotICAgICAgPEFy
Y2hpdGVjdHVyZT5hbWQ2NDwvQXJjaGl0ZWN0dXJlPgotICAgIDwvSW5mPgotICA8L0l0ZW1EZWZp
bml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9
IiQoVGFyZ2V0UGF0aCkiIC8+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoT3V0RGly
KSQoVGFyZ2V0TmFtZSkucGRiIiAvPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSJAKElu
Zi0+JyUoQ29weU91dHB1dCknKSIgQ29uZGl0aW9uPSInQChJbmYpJyE9JyciIC8+Ci0gIDwvSXRl
bUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3Jj
XHhlbmlmYWNlXGlvY3Rscy5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3Jj
XHhlbmlmYWNlXHdtaS5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhl
bmlmYWNlXGRyaXZlci5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhl
bmlmYWNlXGZkby5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmlm
YWNlXHJlZ2lzdHJ5LmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVu
aWZhY2VcdGhyZWFkLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVu
aWZhY2VcaW9jdGxfc2hhcmVkaW5mby5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
Li5cc3JjXHhlbmlmYWNlXGlvY3RsX3N1c3BlbmQuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFjZVxpb2N0bF9ldnRjaG4uYyIgLz4KLSAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFjZVxpb2N0bF9nbnR0YWIuYyIgLz4KLSAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5pZmFjZVxpb2N0bF9zdG9yZS5jIiAvPgotICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmlmYWNlXGlycF9xdWV1ZS5jIiAvPgot
ICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8TW9mY29tcCBJbmNsdWRlPSIuLi8u
Li9zcmMveGVuaWZhY2Uvd21pLm1vZiI+Ci0gICAgICA8Q3JlYXRlQmluYXJ5TW9mRmlsZT4kKElu
dERpcikvd21pLmJtZjwvQ3JlYXRlQmluYXJ5TW9mRmlsZT4KLSAgICA8L01vZmNvbXA+Ci0gIDwv
SXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxXbWltb2ZjayBJbmNsdWRlPSIkKEludERp
cilcd21pLmJtZiI+Ci0gICAgICA8SGVhZGVyT3V0cHV0RmlsZT4uLlwuLlxzcmNceGVuaWZhY2Vc
d21pX2dlbmVyYXRlZC5oPC9IZWFkZXJPdXRwdXRGaWxlPgotICAgIDwvV21pbW9mY2s+Ci0gIDwv
SXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0i
Li5cLi5cc3JjXHhlbmlmYWNlXHhlbmlmYWNlLnJjIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0
ZW1Hcm91cD4KLSAgICA8SW5mIEluY2x1ZGU9Ii4uXHhlbmlmYWNlLmluZiIgLz4KLSAgPC9JdGVt
R3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxzcmNc
eGVuaWZhY2VcYXNzZXJ0LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxzcmNc
eGVuaWZhY2VcZHJpdmVyLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxzcmNc
eGVuaWZhY2VcZmRvLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVu
aWZhY2VcaW9jdGxzLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVu
aWZhY2VcaXJwX3F1ZXVlLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxzcmNc
eGVuaWZhY2VcbG9nLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVu
aWZhY2VcbXV0ZXguaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5p
ZmFjZVxuYW1lcy5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cc3JjXHhlbmlm
YWNlXHJlZ2lzdHJ5LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVu
aWZhY2VcdGhyZWFkLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxzcmNceGVu
aWZhY2VcdHlwZXMuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXHNyY1x4ZW5p
ZmFjZVx3bWkuaCIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1Rh
cmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci08L1Byb2plY3Q+CmRpZmYgLS1n
aXQgYS92czIwMTMveGVuaWZhY2UveGVuaWZhY2UudmN4cHJvai51c2VyIGIvdnMyMDEzL3hlbmlm
YWNlL3hlbmlmYWNlLnZjeHByb2oudXNlcgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NmE0MzVmZC4uMDAwMDAwMAotLS0gYS92czIwMTMveGVuaWZhY2UveGVuaWZhY2UudmN4cHJvai51
c2VyCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRw
Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8UHJv
cGVydHlHcm91cD4KLSAgICA8U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgotICAgIDxUZXN0
Q2VydGlmaWNhdGU+Li5cLi5cc3JjXHhlbmlmYWNlLnBmeDwvVGVzdENlcnRpZmljYXRlPgotICAg
IDxUaW1lU3RhbXBTZXJ2ZXI+aHR0cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90
aW1zdGFtcC5kbGw8L1RpbWVTdGFtcFNlcnZlcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotPC9Qcm9q
ZWN0PgpkaWZmIC0tZ2l0IGEvdnMyMDEzL3hlbmlmYWNlX2NvaW5zdC94ZW5pZmFjZV9jb2luc3Qu
dmN4cHJvaiBiL3ZzMjAxMy94ZW5pZmFjZV9jb2luc3QveGVuaWZhY2VfY29pbnN0LnZjeHByb2oK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4MGI5MDguLjAwMDAwMDAKLS0tIGEvdnMy
MDEzL3hlbmlmYWNlX2NvaW5zdC94ZW5pZmFjZV9jb2luc3QudmN4cHJvagorKysgL2Rldi9udWxs
CkBAIC0xLDEwNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/
PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjEyLjAiIHht
bG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMi
PgotICA8SW1wb3J0IFByb2plY3Q9Ii4uXGNvbmZpZ3MucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdy
b3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJU
eXBlPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlv
blR5cGU+Ci0gICAgPERyaXZlclR5cGU+V0RNPC9Ecml2ZXJUeXBlPgotICA8L1Byb3BlcnR5R3Jv
dXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLSAgICA8Q29uZmlndXJhdGlv
bj5XaW5kb3dzIFZpc3RhIERlYnVnPC9Db25maWd1cmF0aW9uPgotICAgIDxQbGF0Zm9ybSBDb25k
aXRpb249IickKFBsYXRmb3JtKScgPT0gJyciPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8RGVidWdn
ZXJGbGF2b3I+RGJnZW5nS2VybmVsRGVidWdnZXI8L0RlYnVnZ2VyRmxhdm9yPgotICA8L1Byb3Bl
cnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQu
Q3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0
aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3Mg
OCBSZWxlYXNlfHg2NCciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9u
Rm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQ
cm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPFBs
YXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRpb25Gb3JEcml2ZXJzOC4xPC9QbGF0Zm9ybVRv
b2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZp
Z3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2lu
ZG93cyBWaXN0YSBEZWJ1Z3x4NjQnIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NBcHBs
aWNhdGlvbkZvckRyaXZlcnM4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3Vw
PgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5kb3dzIFZpc3RhIERlYnVnfFdpbjMyJyI+
Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRpb25Gb3JEcml2ZXJzOC4xPC9Q
bGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFi
ZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nV2luZG93cyBWaXN0YSBSZWxlYXNlfHg2NCciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+
V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1By
b3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgVmlzdGEgUmVs
ZWFzZXxXaW4zMiciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9y
RHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9w
ZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgNyBSZWxlYXNlfHg2NCciPgotICAgIDxQbGF0Zm9y
bVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0
PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0
aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3Mg
NyBSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPFBsYXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRp
b25Gb3JEcml2ZXJzOC4xPC9QbGF0Zm9ybVRvb2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAg
PFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2luZG93cyA3IERlYnVnfFdpbjMyJyI+Ci0gICAgPFBs
YXRmb3JtVG9vbHNldD5XaW5kb3dzQXBwbGljYXRpb25Gb3JEcml2ZXJzOC4xPC9QbGF0Zm9ybVRv
b2xzZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZp
Z3VyYXRpb24iIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nV2lu
ZG93cyA3IERlYnVnfHg2NCciPgotICAgIDxQbGF0Zm9ybVRvb2xzZXQ+V2luZG93c0FwcGxpY2F0
aW9uRm9yRHJpdmVyczguMTwvUGxhdGZvcm1Ub29sc2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0g
IDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1dpbmRvd3MgOCBEZWJ1Z3x4NjQnIj4KLSAgICA8UGxh
dGZvcm1Ub29sc2V0PldpbmRvd3NBcHBsaWNhdGlvbkZvckRyaXZlcnM4LjE8L1BsYXRmb3JtVG9v
bHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmln
dXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdXaW5k
b3dzIDggRGVidWd8V2luMzInIj4KLSAgICA8UGxhdGZvcm1Ub29sc2V0PldpbmRvd3NBcHBsaWNh
dGlvbkZvckRyaXZlcnM4LjE8L1BsYXRmb3JtVG9vbHNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgot
ICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPFByb2plY3RHdWlkPns4NWM3
MzFhZC0yZWEyLTQwNDktYTU0Mi1kMmQzOGVkZTkzOGN9PC9Qcm9qZWN0R3VpZD4KLSAgPC9Qcm9w
ZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9Ii4uXHRhcmdldHMucHJvcHMiIC8+Ci0gIDxJ
bXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgot
ICA8UHJvcGVydHlHcm91cD4KLSAgICA8SW5jbHVkZVBhdGg+JChJbmNsdWRlUGF0aCk8L0luY2x1
ZGVQYXRoPgotICAgIDxSdW5Db2RlQW5hbHlzaXM+dHJ1ZTwvUnVuQ29kZUFuYWx5c2lzPgotICAg
IDxFbmFibGVJbmYyY2F0PmZhbHNlPC9FbmFibGVJbmYyY2F0PgotICAgIDxJbnREaXI+Li5cJChQ
cm9qZWN0TmFtZSlcJChDb25maWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9JbnREaXI+Ci0g
ICAgPE91dERpcj4uLlwkKENvbmZpZ3VyYXRpb25OYW1lKVwkKFBsYXRmb3JtKVw8L091dERpcj4K
LSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cD4KLSAgICA8Q2xDb21w
aWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChTb2x1dGlvbkRpciku
LlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNs
dWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X19NT0RVTEVf
Xz0iWEVOSUZBQ0VfQ09JTlNUIjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vz
c29yRGVmaW5pdGlvbnM+Ci0gICAgICA8V2FybmluZ0xldmVsPkVuYWJsZUFsbFdhcm5pbmdzPC9X
YXJuaW5nTGV2ZWw+Ci0gICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDEyNzs0NzExOzQ1
NDg7NDgyMDs0NjY4OzQyNTU7NjAwMTs2MDU0OzI4MTk2OyUoRGlzYWJsZVNwZWNpZmljV2Fybmlu
Z3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4KLSAgICAgIDxNdWx0aVByb2Nlc3NvckNvbXBp
bGF0aW9uPnRydWU8L011bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+Ci0gICAgICA8RW5hYmxlUFJF
ZmFzdD50cnVlPC9FbmFibGVQUkVmYXN0PgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5IENvbmRpdGlv
bj0iJyQoVXNlRGVidWdMaWJyYXJpZXMpJz09J3RydWUnIj5NdWx0aVRocmVhZGVkRGVidWc8L1J1
bnRpbWVMaWJyYXJ5PgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5IENvbmRpdGlvbj0iJyQoVXNlRGVi
dWdMaWJyYXJpZXMpJz09J2ZhbHNlJyI+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+Ci0g
ICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8TW9kdWxlRGVmaW5pdGlvbkZpbGU+
Li4vLi4vc3JjL2NvaW5zdC94ZW5pZmFjZV9jb2luc3QuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmls
ZT4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnNldHVwYXBpLmxpYjslKEFkZGl0aW9u
YWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAg
ICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+
JChTb2x1dGlvbkRpcikuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8
L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0g
IDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9u
PSInJChQbGF0Zm9ybSknPT0nV2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXBy
b2Nlc3NvckRlZmluaXRpb25zPl9faTM4Nl9fOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9Q
cmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5p
dGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKFBsYXRmb3Jt
KSc9PSd4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRp
b25zPl9feDg2XzY0X187JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRl
ZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0g
IDxJdGVtR3JvdXA+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoVGFyZ2V0UGF0aCki
IC8+Ci0gICAgPEZpbGVzVG9QYWNrYWdlIEluY2x1ZGU9IiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSku
cGRiIiAvPgotICAgIDxGaWxlc1RvUGFja2FnZSBJbmNsdWRlPSJAKEluZi0+JyUoQ29weU91dHB1
dCknKSIgQ29uZGl0aW9uPSInQChJbmYpJyE9JyciIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRl
bUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc3JjXGNvaW5zdFxjb2luc3Qu
YyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPE5vbmUgSW5jbHVkZT0i
Li5cLi5cc3JjXGNvaW5zdFx4ZW5pZmFjZV9jb2luc3QuZGVmIiAvPgotICA8L0l0ZW1Hcm91cD4K
LSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0
cyIgLz4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS92czIwMTMveGVuaWZhY2VfY29pbnN0L3hlbmlmYWNlX2NvaW5zdC52Y3hwcm9qLnVzZXIgYi92
czIwMTMveGVuaWZhY2VfY29pbnN0L3hlbmlmYWNlX2NvaW5zdC52Y3hwcm9qLnVzZXIKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZhNDM1ZmQuLjAwMDAwMDAKLS0tIGEvdnMyMDEzL3hl
bmlmYWNlX2NvaW5zdC94ZW5pZmFjZV9jb2luc3QudmN4cHJvai51c2VyCisrKyAvZGV2L251bGwK
QEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/Pgot
PFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3Nv
ZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8
U2lnbk1vZGU+VGVzdFNpZ248L1NpZ25Nb2RlPgotICAgIDxUZXN0Q2VydGlmaWNhdGU+Li5cLi5c
c3JjXHhlbmlmYWNlLnBmeDwvVGVzdENlcnRpZmljYXRlPgotICAgIDxUaW1lU3RhbXBTZXJ2ZXI+
aHR0cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1zdGFtcC5kbGw8L1RpbWVT
dGFtcFNlcnZlcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEv
dnMyMDE1L3BhY2thZ2UvcGFja2FnZS52Y3hwcm9qIGIvdnMyMDE1L3BhY2thZ2UvcGFja2FnZS52
Y3hwcm9qCmluZGV4IGU3ZDg4Y2UuLjBiOGM3ZDAgMTAwNjQ0Ci0tLSBhL3ZzMjAxNS9wYWNrYWdl
L3BhY2thZ2UudmN4cHJvagorKysgYi92czIwMTUvcGFja2FnZS9wYWNrYWdlLnZjeHByb2oKQEAg
LTMwLDcgKzMwLDcgQEAKICAgICA8VmVyaWZ5RHJpdmVycyAvPgogICAgIDxWZXJpZnlGbGFncz4x
MzM1NjM8L1ZlcmlmeUZsYWdzPgogICAgIDxJbnREaXI+Li5cJChQcm9qZWN0TmFtZSlcJChDb25m
aWd1cmF0aW9uTmFtZSlcJChQbGF0Zm9ybSlcPC9JbnREaXI+Ci0gICAgPE91dERpcj4uLlwuLlx4
ZW5pZmFjZVwkKERES1BsYXRmb3JtKVw8L091dERpcj4KKyAgICA8T3V0RGlyPi4uXCQoQ29uZmln
dXJhdGlvbk5hbWUpXCQoUGxhdGZvcm0pXDwvT3V0RGlyPgogICA8L1Byb3BlcnR5R3JvdXA+CiAg
IDxJdGVtR3JvdXA+CiAgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5ceGVuaWZhY2Vc
eGVuaWZhY2UudmN4cHJvaiI+Ci0tIAoyLjUuMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5nIGxpc3QKd2luLXB2LWRl
dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvY2dp
LWJpbi9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Thu May 18 17:36:37 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 May 2017 17:36: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 1dBPLn-0007Yi-U1; Thu, 18 May 2017 17:36:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=304abdc7e=Paul.Durrant@citrix.com>)
 id 1dBPLn-0007Yb-7j
 for win-pv-devel@lists.xenproject.org; Thu, 18 May 2017 17:36:35 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
 72/3D-23755-2ABDD195; Thu, 18 May 2017 17:36:34 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrJIsWRWlGSWpSXmKPExsWyU9JRQnfBbdl
 Ig5Z+G4s/ixMdGD0Of7jCEsAYxZqZl5RfkcCa0X5zCkvBkZWsFW8XmDQwnlzA2sXIwSEhECRx
 8Z5XFyMnB5uAjsTSo/OZQGwRgQKJ7+/nMYPYwgLqEv/v3GMGKRcR0JC4MCMNosRI4uyjg6wgN
 ouAqsSz5TvBynkF3CX27mgDiwsB2e+m7WUBsTkFPCRePX4NNp5RQFbiS+NqsHpmAXGJW08g1k
 oICEgs2XOeGcIWlXj5+B8rhG0gsXXpPhaI+lyJ1qP3WCB2CUqcnPmEZQKj4Cwko2YhKZuFpGw
 W0AfMApoS63fpQ5QoSkzpfsgOYWtItM6Zy44svoCRfRWjenFqUVlqka6JXlJRZnpGSW5iZo6u
 oYGxXm5qcXFiempOYlKxXnJ+7iZGYDQwAMEOxsYvTocYJTmYlER5DxfIRgrxJeWnVGYkFmfEF
 5XmpBYfYpTh4FCS4O24BZQTLEpNT61Iy8wBxiVMWoKDR0mEtxwkzVtckJhbnJkOkTrFqMvxbu
 mH90xCLHn5ealS4rz5IEUCIEUZpXlwI2Ap4hKjrJQwLyPQUUI8BalFuZklqPKvGMU5GJWEeet
 ApvBk5pXAbXoFdAQT0BHND6RBjihJREhJNTBmC109flk94cYRq53PFzxuXuel6L3MeEeF90o1
 z+fsnBNLvv5Zz/MqXkugz3nLrKwJPKzlM9NiDvItfP83cMlVrirP1PXPDTcl+wrKNDS0f3uXk
 9W+sOv58/JEpzCj96rlVRXrLmg/qVgocLTvfuOnR033qz9dDm2LjGONmCjZvdldf8/e9p9KLM
 UZiYZazEXFiQBEevWUDAMAAA==
X-Env-Sender: prvs=304abdc7e=Paul.Durrant@citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1495128991!101183438!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=1.1 required=7.0 tests=BODY_RANDOM_LONG,
 HTML_90_100,HTML_MESSAGE,received_headers: No Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1621 invoked from network); 18 May 2017 17:36:32 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
 by server-14.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
 18 May 2017 17:36:32 -0000
X-IronPort-AV: E=Sophos;i="5.38,359,1491264000"; d="scan'208,217";a="46323133"
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: [PATCH] Xenvbd Refactoring
Thread-Index: AQHSzZNSmC0EnhQlf0CuTMrPBsBFfqH6XV4Q
Date: Thu, 18 May 2017 17:36:30 +0000
Message-ID: <13c11861f15e472fa12bbb3dfab15857@AMSPEX02CL03.citrite.net>
References: <55f4425abd93461a87562f43e7c9e9f2@AMSPEX02CL02.citrite.net>
In-Reply-To: <55f4425abd93461a87562f43e7c9e9f2@AMSPEX02CL02.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
Subject: Re: [win-pv-devel] [PATCH] Xenvbd Refactoring
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/cgi-bin/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/cgi-bin/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2828447294858607065=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

--===============2828447294858607065==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_13c11861f15e472fa12bbb3dfab15857AMSPEX02CL03citritenet_"

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

QSBxdWlja+KAmW7igJlkaXJ0eSBjaGVjayB1c2luZyBhIGNoZWNrZWQgYnVpbGQgb24gYSByZWNl
bnQgV2luZG93cyAxMCA2NC1iaXQgaXMgZ2l2aW5nIG1lIG9kZCByZXN1bHRz4oCmDQoNCldpdGgg
YSBxdWV1ZSBkZXB0aCBvZiAxIEnigJltIHNlZWluZyB+NmsgSU9QUyB3aXRob3V0IHRoZSBwYXRj
aGVzIGFuZCB+MThrIHdpdGgsIHdoaWNoIGlzIGNsZWFybHkgZ29vZC4gQnV0LCB3aXRoIGEgcXVl
dWUgZGVwdGggb2YgMzIsIEkgc2VlIH40NmsgSU9QUyB3aXRob3V0IHRoZSBwYXRjaGVzIGJ1dCB+
MjBrIHdpdGguIFRoYXTigJlzIGEgcHJldHR5IHN1YnN0YW50aWFsIGZhbGwtb2ZmIHNvIEkgdGhp
bmsgbW9yZSB3b3JrIGlzIG5lZWRlZCBiZWZvcmUgYWxsIG9mIHRoZXNlIGNhbiBnbyBpbnRvIG1h
c3Rlci4NCg0KQ2hlZXJzLA0KDQogIFBhdWwNCg0KDQpGcm9tOiB3aW4tcHYtZGV2ZWwgW21haWx0
bzp3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gT24gQmVoYWxmIE9m
IE93ZW4gU21pdGgNClNlbnQ6IDE1IE1heSAyMDE3IDE2OjUzDQpUbzogd2luLXB2LWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnDQpTdWJqZWN0OiBbd2luLXB2LWRldmVsXSBbUEFUQ0hdIFhlbnZi
ZCBSZWZhY3RvcmluZw0KDQpJdCBzZWVtcyBJ4oCZdmUgZXhwZXJpZW5jZWQgc29tZSBtYWlsIGRl
bGl2ZXJ5IGZhaWx1cmVzIHRyeWluZyB0byBzZW5kIGEgMjYgcGF0Y2ggc2VyaWVzLg0KUmF0aGVy
IHRoYW4gcmVzZW5kIHRoZSBzZXJpZXMsIEnigJl2ZSBwdXQgYSBicmFuY2ggdXAgdG8gZXhhbWlu
ZS4NCg0KT3JpZ2luYWwgWzAwLzI2XSBTdW1tYXJ5Og0KDQpBbGwgcGF0Y2hlcyBzaG91bGQgYmUg
dGFrZW4gdG9nZXRoZXIuDQpJbiBhbiBhdHRlbXB0IHRvIGltcHJvdmUgbWFpbnRhaW5hYmlsaXR5
IGFuZCBjb2RlIHJlYWRhYmlsaXR5LCByZWZhY3Rvcg0KeGVudmJkLg0KVGhpcyBwYXRjaCBzZXJp
ZXMgYWxzbyBtb3ZlcyB0aGUgU1JCIHF1ZXVlaW5nIHJlc3BvbnNpYmlsaXR5IHRvIHN0b3Jwb3J0
LA0KYnkgcHJlcGFyaW5nIGJsa2lmIHJlcXVlc3RzIGR1cmluZyBCdWlsZElvIGFuZCBhcHBlbmRp
bmcgYmxraWYgcmVxdWVzdHMgdG8NCmEgcGVuZGluZyBxdWV1ZSBmb3IgdGhlIHJpbmcgZHVyaW5n
IFN0YXJ0SW8uIFRoaXMgc2hvdWxkIGFsbG93IGEgcmVkdWN0aW9uDQppbiBwcm9jZXNzaW5nIGR1
cmluZyB0aGUgRFBDIChhcyB0aGUgRFBDIHdpbGwgb25seSBjb21wbGV0ZSBibGtpZiByZXNwb25z
ZXMsDQphbmQgdGhlIGNvcnJlc3BvbmRpbmcgU1JCLCBhbmQgc3VibWl0IGJsa2lmIHJlcXVlc3Rz
KSBhbmQgdGFrZSBhZHZhbnRhZ2Ugb2YNCkJ1aWxkSW8ncyBjb25jdXJyZW50IGNhbGxzLg0KDQpU
ZXN0ZWQgd2l0aCBITEstMTcwMyBvbiBXaW5kb3dzIDEwIHg2NCAoYnVpbGQgMTUwNjMucnMyX3Jl
bGVhc2UuMTcwMzE3LTE4MzQpDQpBbGwgdGVzdHMgKGluY2x1ZGluZyBub24tV0hRTCB0ZXN0cykg
cGFzc2VkDQoNCklvTWV0ZXIgcmVzdWx0cyBjb21wYXJlZCB0byBwcmV2aW91cyB4ZW52YmQgYW5k
IGVtdWxhdGVkIG9uIHNpbmdsZSBzb2NrZXQNClhlb24gWDM0NTAgQCAyLjZHSHogKGd1ZXN0IGhh
cyAyIHZDUFVzKSwgd2l0aCA4R0IgUkFNIChndWVzdCBoYXMgNEdCLCAxR0IgcmFtZnMpDQooMSB3
b3JrZXIsIHF1ZXVlLWRlcHRoIDMyLCA1IG1pbnV0ZXMsIDRLQiAyMCUgcmVhZCwgODAlIHJhbmRv
bSwgMTI4S0ItYWxpZ25lZCkNClRlc3RlZCwgU3RvcmFnZUJhY2tpbmcsIElPUHMNCkVtdWxhdGVk
LCBIREQsIDcyNi43NQ0KRW11bGF0ZWQsIFJBTSwgNjk1LjkzDQpYZW5WYmQgOC4yLCBIREQsIDUy
NS41Mg0KWGVuVmJkIDguMiwgUkFNLCA0MzMwLjUxDQpUaGVzZVBhdGNoZXMsIEhERCwgMjQ3NS4y
Mw0KVGhlc2VQYXRjaGVzLCBSQU0sIDM2MTkuMDYNCk5vdGU6IFRoZXJlIHdhcyBhIGxhcmdlIGFt
bW91bnQgb2YgdmFyaWFuY2UgaW4gYWxsIHRoZSByZXN1bHRzIGR1cmluZyByZXJ1bnMsDQp3aXRo
IGFuIGFwcHJveGltYXRlIDEwLTIwJSB2YXJpYW5jZSBpbiB0aGUgc2FtZSBzZXR1cHMuIFRlc3Rz
IHdpdGggUFYgZHJpdmVycw0KYmFja2VkIGJ5IFJBTSB3ZXJlIG1heGluZyBndWVzdCBDUFUgdXRp
bGl6YXRpb24uDQoNCk93ZW4gU21pdGggKDI2KToNCiAgUmVuYW1lIEZkbyAtPiBBZGFwdGVyIFJl
bW92ZSBBZGFwdGVyIHJlZmVyZW5jZSBjb3VudHMNCiAgUmVuYW1lIFBkbyAtPiBUYXJnZXQNCiAg
VGlkeSB1cCBEcml2ZXIuaC8uYw0KICBSZWZhY3RvciBBZGFwdGVyLmMNCiAgUGFzcyBQWEVOVkJE
X1NSQkVYVCwgbm90IFBTQ1NJX1JFUVVFU1RfQkxPQ0sNCiAgUmVmYWN0b3IgdGFyZ2V0LmMNCiAg
TW92ZSBTY2F0dGVyR2F0aGVyIGxpc3QgaXRlcmF0aW9uIHRvIGFkYXB0ZXIuYw0KICBSZW5hbWUg
U3JiRXh0OjpTcmIgdG8gT3JpZ2luYWxSZXENCiAgTW92ZSBub24tcXVldWUtc3JiIGhhbmRsaW5n
IHRvIEJ1aWxkSW8NCiAgQWRkIG92ZXJyaWRlIHRvIGRpc2FibGUgc3BlY2lmaWMgZmVhdHVyZXMN
CiAgUHJlcGFyZSByZXF1ZXN0cyBpbiBCdWlsZElvDQogIE1vdmUgU3JiRXh0IGNsZWFudXAgaW50
byBpbmxpbmUgZnVuY3Rpb24NCiAgUXVlcnkgZm9yIENhY2hlIEludGVyZmFjZQ0KICBVc2UgQ0FD
SEUgaW50ZXJmYWNlIGluc3RlYWQgb2YgbG9va2FzaWRlIGxpc3RzDQogIEZpeCBJbmRpcmVjdCBy
ZXF1ZXN0cw0KICBNb3ZlIEJsb2NrUmluZ1BvbGwgaW5saW5lDQogIE1vdmUgUHJlcGFyZWQvU3Vi
bWl0dGVkIHRvIEJsb2NrUmluZw0KICBSZWZhY3RvciBJbnF1aXJ5IDB4ODMgaGFuZGxlcg0KICBS
ZW1vdmUgVGFyZ2V0UXVldWVTcmIsIGZvbGQgaW50byBjYWxsZXINCiAgU2V0IFF1ZXVlIERlcHRo
LCBzb21lIG1pbm9yIGZpeGVzDQogIEFkZCBvdmVycmlkZXMgZm9yIE1heFRyYW5zZmVyTGVuZ3Ro
IGFuZCBNYXhQaHlzaWNhbEJyZWFrcw0KICBSZW5hbWUgUHJlcGFyZWQgdG8gUXVldWVkDQogIFRy
YWNrIFF1ZXVlZC9TdWJtaXR0ZWQvQ29tcGxldGVkIGNvdW50cw0KICBSZWFkIG92ZXJyaWRlcyBh
dCBzdGFydCBvZiBkYXkNCiAgRml4IGRpc2NhcmQgZGVidWcgc3RhdGVtZW50cw0KICBBZGQgb3Zl
cnJpZGUgZm9yIHJpbmcgc2l6ZQ0KDQpzcmMveGVudmJkL2FkYXB0ZXIuYyAgICAgICAgIHwgMjE2
MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0Kc3JjL3hlbnZiZC9hZGFwdGVyLmggICAg
ICAgICB8ICAxMjggKysNCnNyYy94ZW52YmQvYmxvY2tyaW5nLmMgICAgICAgfCAxMDQwICsrKysr
KysrKy0tLS0tDQpzcmMveGVudmJkL2Jsb2NrcmluZy5oICAgICAgIHwgICA0NCArLQ0Kc3JjL3hl
bnZiZC9kcml2ZXIuYyAgICAgICAgICB8ICA0ODAgKystLS0tLQ0Kc3JjL3hlbnZiZC9kcml2ZXIu
aCAgICAgICAgICB8ICAgNzMgKy0NCnNyYy94ZW52YmQvZmRvLmMgICAgICAgICAgICAgfCAyMjA2
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3JjL3hlbnZiZC9mZG8uaCAgICAgICAg
ICAgICB8ICAxNzkgLS0tDQpzcmMveGVudmJkL2Zyb250ZW5kLmMgICAgICAgIHwgMTc3MSAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0NCnNyYy94ZW52YmQvZnJvbnRlbmQuaCAgICAgICAgfCAgMTk1
IC0tLQ0Kc3JjL3hlbnZiZC9ncmFudGVyLmMgICAgICAgICB8ICAxOTggKy0tDQpzcmMveGVudmJk
L2dyYW50ZXIuaCAgICAgICAgIHwgICA0OCArLQ0Kc3JjL3hlbnZiZC9ub3RpZmllci5jICAgICAg
ICB8ICAzMzUgLS0tLS0NCnNyYy94ZW52YmQvbm90aWZpZXIuaCAgICAgICAgfCAgMTAxIC0tDQpz
cmMveGVudmJkL3Bkby5jICAgICAgICAgICAgIHwgMjczMiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tDQpzcmMveGVudmJkL3Bkby5oICAgICAgICAgICAgIHwgIDIyOSAtLS0t
DQpzcmMveGVudmJkL3Bkb2lucXVpcnkuYyAgICAgIHwgIDU1NCAtLS0tLS0tLQ0Kc3JjL3hlbnZi
ZC9wZG9pbnF1aXJ5LmggICAgICB8ICAgNjUgLQ0Kc3JjL3hlbnZiZC9xdWV1ZS5jICAgICAgICAg
ICB8ICAxMzkgLS0NCnNyYy94ZW52YmQvcXVldWUuaCAgICAgICAgICAgfCAgIDg2IC0tDQpzcmMv
eGVudmJkL3NyYmV4dC5oICAgICAgICAgIHwgICA4NSArLQ0Kc3JjL3hlbnZiZC90YXJnZXQuYyAg
ICAgICAgICB8IDMxMDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
DQpzcmMveGVudmJkL3RhcmdldC5oICAgICAgICAgIHwgIDE1MiArKysNCnZzMjAxMi94ZW52YmQv
eGVudmJkLnZjeHByb2ogfCAgICA4ICstDQp2czIwMTMveGVudmJkL3hlbnZiZC52Y3hwcm9qIHwg
ICAgOCArLQ0KdnMyMDE1L3hlbnZiZC94ZW52YmQudmN4cHJvaiB8ICAgIDggKy0NCjI2IGZpbGVz
IGNoYW5nZWQsIDY2MDYgaW5zZXJ0aW9ucygrKSwgOTUyMSBkZWxldGlvbnMoLSkNCmNyZWF0ZSBt
b2RlIDEwMDY0NCBzcmMveGVudmJkL2FkYXB0ZXIuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy94
ZW52YmQvYWRhcHRlci5oDQpkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9mZG8uYw0KZGVs
ZXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvZmRvLmgNCmRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMv
eGVudmJkL2Zyb250ZW5kLmMNCmRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL2Zyb250ZW5k
LmgNCmRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL25vdGlmaWVyLmMNCmRlbGV0ZSBtb2Rl
IDEwMDY0NCBzcmMveGVudmJkL25vdGlmaWVyLmgNCmRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMveGVu
dmJkL3Bkby5jDQpkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9wZG8uaA0KZGVsZXRlIG1v
ZGUgMTAwNjQ0IHNyYy94ZW52YmQvcGRvaW5xdWlyeS5jDQpkZWxldGUgbW9kZSAxMDA2NDQgc3Jj
L3hlbnZiZC9wZG9pbnF1aXJ5LmgNCmRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL3F1ZXVl
LmMNCmRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL3F1ZXVlLmgNCmNyZWF0ZSBtb2RlIDEw
MDY0NCBzcmMveGVudmJkL3RhcmdldC5jDQpjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC90
YXJnZXQuaA0KDQotLQ0KMi44LjMNCg0KQSBicmFuY2ggc2hvd2luZyB0aGUgcGF0Y2hlcyBpcyBh
dmFpbGFibGUgYXQ6DQpodHRwczovL2dpdGh1Yi5jb20vT3dlblNtaXRoL3hlbnZiZC90cmVlL2V4
cGVyaW1lbnQNCg==

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

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IlByb2dJZCIg
Y29udGVudD0iV29yZC5Eb2N1bWVudCI+DQo8bWV0YSBuYW1lPSJHZW5lcmF0b3IiIGNvbnRlbnQ9
Ik1pY3Jvc29mdCBXb3JkIDE1Ij4NCjxtZXRhIG5hbWU9Ik9yaWdpbmF0b3IiIGNvbnRlbnQ9Ik1p
Y3Jvc29mdCBXb3JkIDE1Ij4NCjxsaW5rIHJlbD0iRmlsZS1MaXN0IiBocmVmPSJjaWQ6ZmlsZWxp
c3QueG1sQDAxRDJEMDA1LkFBMTM2RjYwIj48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOk9m
ZmljZURvY3VtZW50U2V0dGluZ3M+DQo8bzpBbGxvd1BORy8+DQo8bzpEb05vdFJlbHlPbkNTUy8+
DQo8L286T2ZmaWNlRG9jdW1lbnRTZXR0aW5ncz4NCjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYg
Z3RlIG1zbyA5XT48eG1sPg0KPHc6V29yZERvY3VtZW50Pg0KPHc6U3BlbGxpbmdTdGF0ZT5DbGVh
bjwvdzpTcGVsbGluZ1N0YXRlPg0KPHc6VHJhY2tNb3Zlcy8+DQo8dzpUcmFja0Zvcm1hdHRpbmcv
Pg0KPHc6RW52ZWxvcGVWaXMvPg0KPHc6VmFsaWRhdGVBZ2FpbnN0U2NoZW1hcy8+DQo8dzpTYXZl
SWZYTUxJbnZhbGlkPmZhbHNlPC93OlNhdmVJZlhNTEludmFsaWQ+DQo8dzpJZ25vcmVNaXhlZENv
bnRlbnQ+ZmFsc2U8L3c6SWdub3JlTWl4ZWRDb250ZW50Pg0KPHc6QWx3YXlzU2hvd1BsYWNlaG9s
ZGVyVGV4dD5mYWxzZTwvdzpBbHdheXNTaG93UGxhY2Vob2xkZXJUZXh0Pg0KPHc6RG9Ob3RQcm9t
b3RlUUYvPg0KPHc6TGlkVGhlbWVPdGhlcj5FTi1HQjwvdzpMaWRUaGVtZU90aGVyPg0KPHc6TGlk
VGhlbWVBc2lhbj5YLU5PTkU8L3c6TGlkVGhlbWVBc2lhbj4NCjx3OkxpZFRoZW1lQ29tcGxleFNj
cmlwdD5YLU5PTkU8L3c6TGlkVGhlbWVDb21wbGV4U2NyaXB0Pg0KPHc6Q29tcGF0aWJpbGl0eT4N
Cjx3OkRvTm90RXhwYW5kU2hpZnRSZXR1cm4vPg0KPHc6QnJlYWtXcmFwcGVkVGFibGVzLz4NCjx3
OlNwbGl0UGdCcmVha0FuZFBhcmFNYXJrLz4NCjx3OkVuYWJsZU9wZW5UeXBlS2VybmluZy8+DQo8
L3c6Q29tcGF0aWJpbGl0eT4NCjx3OkJyb3dzZXJMZXZlbD5NaWNyb3NvZnRJbnRlcm5ldEV4cGxv
cmVyNDwvdzpCcm93c2VyTGV2ZWw+DQo8bTptYXRoUHI+DQo8bTptYXRoRm9udCBtOnZhbD0iQ2Ft
YnJpYSBNYXRoIi8+DQo8bTpicmtCaW4gbTp2YWw9ImJlZm9yZSIvPg0KPG06YnJrQmluU3ViIG06
dmFsPSImIzQ1Oy0iLz4NCjxtOnNtYWxsRnJhYyBtOnZhbD0ib2ZmIi8+DQo8bTpkaXNwRGVmLz4N
CjxtOmxNYXJnaW4gbTp2YWw9IjAiLz4NCjxtOnJNYXJnaW4gbTp2YWw9IjAiLz4NCjxtOmRlZkpj
IG06dmFsPSJjZW50ZXJHcm91cCIvPg0KPG06d3JhcEluZGVudCBtOnZhbD0iMTQ0MCIvPg0KPG06
aW50TGltIG06dmFsPSJzdWJTdXAiLz4NCjxtOm5hcnlMaW0gbTp2YWw9InVuZE92ciIvPg0KPC9t
Om1hdGhQcj48L3c6V29yZERvY3VtZW50Pg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUg
bXNvIDldPjx4bWw+DQo8dzpMYXRlbnRTdHlsZXMgRGVmTG9ja2VkU3RhdGU9ImZhbHNlIiBEZWZV
bmhpZGVXaGVuVXNlZD0iZmFsc2UiIERlZlNlbWlIaWRkZW49ImZhbHNlIiBEZWZRRm9ybWF0PSJm
YWxzZSIgRGVmUHJpb3JpdHk9Ijk5IiBMYXRlbnRTdHlsZUNvdW50PSIzNzEiPg0KPHc6THNkRXhj
ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIwIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJO
b3JtYWwiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgUUZv
cm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm
YWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVl
IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2Nr
ZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9
InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgMyIvPg0KPHc6THNkRXhjZXB0aW9u
IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVu
VXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA0Ii8+DQo8dzpMc2RFeGNl
cHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiIFVuaGlk
ZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDUiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIg
VW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgNiIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0
cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA3
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRk
ZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFk
aW5nIDgiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2Vt
aUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9
ImhlYWRpbmcgOSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49
InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJpbmRleCAxIi8+DQo8dzpMc2RFeGNl
cHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRy
dWUiIE5hbWU9ImluZGV4IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1p
SGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iaW5kZXggMyIvPg0KPHc6
THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5V
c2VkPSJ0cnVlIiBOYW1lPSJpbmRleCA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz
ZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9ImluZGV4IDUi
Lz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhp
ZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iaW5kZXggNiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tl
ZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJp
bmRleCA3Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1
ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9ImluZGV4IDgiLz4NCjx3OkxzZEV4Y2VwdGlv
biBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIg
TmFtZT0iaW5kZXggOSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5
PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyAx
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlk
ZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDIiLz4NCjx3OkxzZEV4
Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiIFVu
aGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tl
ZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9
InRydWUiIE5hbWU9InRvYyA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJp
b3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0i
dG9jIDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNl
bWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgNiIvPg0KPHc6
THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1
ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyA3Ii8+DQo8dzpMc2RFeGNlcHRpb24g
TG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVu
VXNlZD0idHJ1ZSIgTmFtZT0idG9jIDgiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl
IiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBO
YW1lPSJ0b2MgOSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49
InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJOb3JtYWwgSW5kZW50Ii8+DQo8dzpM
c2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVz
ZWQ9InRydWUiIE5hbWU9ImZvb3Rub3RlIHRleHQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9
ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iYW5u
b3RhdGlvbiB0ZXh0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRl
bj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9ImhlYWRlciIvPg0KPHc6THNkRXhj
ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0
cnVlIiBOYW1lPSJmb290ZXIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1p
SGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iaW5kZXggaGVhZGluZyIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzNSIgU2VtaUhpZGRl
bj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImNhcHRp
b24iLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBV
bmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idGFibGUgb2YgZmlndXJlcyIvPg0KPHc6THNkRXhj
ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0
cnVlIiBOYW1lPSJlbnZlbG9wZSBhZGRyZXNzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm
YWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9ImVudmVs
b3BlIHJldHVybiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49
InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJmb290bm90ZSByZWZlcmVuY2UiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVX
aGVuVXNlZD0idHJ1ZSIgTmFtZT0iYW5ub3RhdGlvbiByZWZlcmVuY2UiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1
ZSIgTmFtZT0ibGluZSBudW1iZXIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBT
ZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0icGFnZSBudW1iZXIi
Lz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhp
ZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iZW5kbm90ZSByZWZlcmVuY2UiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1
ZSIgTmFtZT0iZW5kbm90ZSB0ZXh0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
U2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRhYmxlIG9mIGF1
dGhvcml0aWVzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0i
dHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9Im1hY3JvIi8+DQo8dzpMc2RFeGNlcHRp
b24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUi
IE5hbWU9InRvYSBoZWFkaW5nIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2Vt
aUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9Ikxpc3QiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNl
ZD0idHJ1ZSIgTmFtZT0iTGlzdCBCdWxsZXQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZh
bHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iTGlzdCBO
dW1iZXIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVl
IiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iTGlzdCAyIi8+DQo8dzpMc2RFeGNlcHRpb24g
TG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5h
bWU9Ikxpc3QgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49
InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJMaXN0IDQiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1
ZSIgTmFtZT0iTGlzdCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhp
ZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9Ikxpc3QgQnVsbGV0IDIiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVX
aGVuVXNlZD0idHJ1ZSIgTmFtZT0iTGlzdCBCdWxsZXQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExv
Y2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1l
PSJMaXN0IEJ1bGxldCA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhp
ZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9Ikxpc3QgQnVsbGV0IDUiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVX
aGVuVXNlZD0idHJ1ZSIgTmFtZT0iTGlzdCBOdW1iZXIgMiIvPg0KPHc6THNkRXhjZXB0aW9uIExv
Y2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1l
PSJMaXN0IE51bWJlciAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhp
ZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9Ikxpc3QgTnVtYmVyIDQiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVX
aGVuVXNlZD0idHJ1ZSIgTmFtZT0iTGlzdCBOdW1iZXIgNSIvPg0KPHc6THNkRXhjZXB0aW9uIExv
Y2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxMCIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iVGl0bGUiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVX
aGVuVXNlZD0idHJ1ZSIgTmFtZT0iQ2xvc2luZyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0i
ZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJTaWdu
YXR1cmUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMSIgU2Vt
aUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IkRlZmF1bHQgUGFyYWdy
YXBoIEZvbnQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0
cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iQm9keSBUZXh0Ii8+DQo8dzpMc2RFeGNl
cHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRy
dWUiIE5hbWU9IkJvZHkgVGV4dCBJbmRlbnQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZh
bHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iTGlzdCBD
b250aW51ZSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRy
dWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJMaXN0IENvbnRpbnVlIDIiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNl
ZD0idHJ1ZSIgTmFtZT0iTGlzdCBDb250aW51ZSAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2Vk
PSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9Ikxp
c3QgQ29udGludWUgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRk
ZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJMaXN0IENvbnRpbnVlIDUiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVX
aGVuVXNlZD0idHJ1ZSIgTmFtZT0iTWVzc2FnZSBIZWFkZXIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBM
b2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMTEiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlN1YnRpdGxl
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5o
aWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlNhbHV0YXRpb24iLz4NCjx3OkxzZEV4Y2VwdGlvbiBM
b2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFt
ZT0iRGF0ZSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRy
dWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJCb2R5IFRleHQgRmlyc3QgSW5kZW50Ii8+
DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRl
V2hlblVzZWQ9InRydWUiIE5hbWU9IkJvZHkgVGV4dCBGaXJzdCBJbmRlbnQgMiIvPg0KPHc6THNk
RXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2Vk
PSJ0cnVlIiBOYW1lPSJOb3RlIEhlYWRpbmciLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZh
bHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iQm9keSBU
ZXh0IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVl
IiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iQm9keSBUZXh0IDMiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1
ZSIgTmFtZT0iQm9keSBUZXh0IEluZGVudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm
YWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IkJvZHkg
VGV4dCBJbmRlbnQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRk
ZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJCbG9jayBUZXh0Ii8+DQo8dzpM
c2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVz
ZWQ9InRydWUiIE5hbWU9Ikh5cGVybGluayIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs
c2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJGb2xsb3dl
ZEh5cGVybGluayIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIy
MiIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iU3Ryb25nIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2Vk
PSJmYWxzZSIgUHJpb3JpdHk9IjIwIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJFbXBoYXNpcyIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdo
ZW5Vc2VkPSJ0cnVlIiBOYW1lPSJEb2N1bWVudCBNYXAiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2Nr
ZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0i
UGxhaW4gVGV4dCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49
InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJFLW1haWwgU2lnbmF0dXJlIi8+DQo8
dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hl
blVzZWQ9InRydWUiIE5hbWU9IkhUTUwgVG9wIG9mIEZvcm0iLz4NCjx3OkxzZEV4Y2VwdGlvbiBM
b2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFt
ZT0iSFRNTCBCb3R0b20gb2YgRm9ybSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2Ui
IFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJOb3JtYWwgKFdl
YikiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBV
bmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iSFRNTCBBY3JvbnltIi8+DQo8dzpMc2RFeGNlcHRp
b24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUi
IE5hbWU9IkhUTUwgQWRkcmVzcyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNl
bWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJIVE1MIENpdGUiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVX
aGVuVXNlZD0idHJ1ZSIgTmFtZT0iSFRNTCBDb2RlIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2Vk
PSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IkhU
TUwgRGVmaW5pdGlvbiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRk
ZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJIVE1MIEtleWJvYXJkIi8+DQo8
dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hl
blVzZWQ9InRydWUiIE5hbWU9IkhUTUwgUHJlZm9ybWF0dGVkIi8+DQo8dzpMc2RFeGNlcHRpb24g
TG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5h
bWU9IkhUTUwgU2FtcGxlIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhp
ZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IkhUTUwgVHlwZXdyaXRlciIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlk
ZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJIVE1MIFZhcmlhYmxlIi8+DQo8dzpMc2RFeGNlcHRpb24g
TG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5h
bWU9Ik5vcm1hbCBUYWJsZSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlI
aWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJhbm5vdGF0aW9uIHN1Ympl
Y3QiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBV
bmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iTm8gTGlzdCIvPg0KPHc6THNkRXhjZXB0aW9uIExv
Y2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1l
PSJPdXRsaW5lIExpc3QgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlI
aWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJPdXRsaW5lIExpc3QgMiIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlk
ZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJPdXRsaW5lIExpc3QgMyIvPg0KPHc6THNkRXhjZXB0aW9u
IExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBO
YW1lPSJUYWJsZSBTaW1wbGUgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNl
bWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBTaW1wbGUg
MiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVu
aGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBTaW1wbGUgMyIvPg0KPHc6THNkRXhjZXB0
aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVl
IiBOYW1lPSJUYWJsZSBDbGFzc2ljIDEiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl
IiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iVGFibGUgQ2xh
c3NpYyAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1
ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIENsYXNzaWMgMyIvPg0KPHc6THNk
RXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2Vk
PSJ0cnVlIiBOYW1lPSJUYWJsZSBDbGFzc2ljIDQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9
ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iVGFi
bGUgQ29sb3JmdWwgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRk
ZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBDb2xvcmZ1bCAyIi8+
DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRl
V2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIENvbG9yZnVsIDMiLz4NCjx3OkxzZEV4Y2VwdGlv
biBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIg
TmFtZT0iVGFibGUgQ29sdW1ucyAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
U2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIENvbHVt
bnMgMiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUi
IFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBDb2x1bW5zIDMiLz4NCjx3OkxzZEV4
Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0i
dHJ1ZSIgTmFtZT0iVGFibGUgQ29sdW1ucyA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm
YWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxl
IENvbHVtbnMgNSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49
InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBHcmlkIDEiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNl
ZD0idHJ1ZSIgTmFtZT0iVGFibGUgR3JpZCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm
YWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxl
IEdyaWQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRy
dWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBHcmlkIDQiLz4NCjx3OkxzZEV4
Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0i
dHJ1ZSIgTmFtZT0iVGFibGUgR3JpZCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz
ZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIEdy
aWQgNiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUi
IFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBHcmlkIDciLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1
ZSIgTmFtZT0iVGFibGUgR3JpZCA4Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
U2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIExpc3Qg
MSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVu
aGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBMaXN0IDIiLz4NCjx3OkxzZEV4Y2VwdGlv
biBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIg
TmFtZT0iVGFibGUgTGlzdCAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2Vt
aUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIExpc3QgNCIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlk
ZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBMaXN0IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBM
b2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFt
ZT0iVGFibGUgTGlzdCA2Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhp
ZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIExpc3QgNyIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdo
ZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBMaXN0IDgiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2Nr
ZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0i
VGFibGUgM0QgZWZmZWN0cyAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2Vt
aUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIDNEIGVmZmVj
dHMgMiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUi
IFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSAzRCBlZmZlY3RzIDMiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNl
ZD0idHJ1ZSIgTmFtZT0iVGFibGUgQ29udGVtcG9yYXJ5Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9j
a2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9
IlRhYmxlIEVsZWdhbnQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlk
ZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iVGFibGUgUHJvZmVzc2lvbmFs
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5o
aWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIFN1YnRsZSAxIi8+DQo8dzpMc2RFeGNlcHRp
b24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUi
IE5hbWU9IlRhYmxlIFN1YnRsZSAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
U2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIFdlYiAx
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5o
aWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIFdlYiAyIi8+DQo8dzpMc2RFeGNlcHRpb24g
TG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5h
bWU9IlRhYmxlIFdlYiAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhp
ZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IkJhbGxvb24gVGV4dCIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFtZT0iVGFibGUg
R3JpZCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUi
IFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBUaGVtZSIvPg0KPHc6THNkRXhjZXB0
aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIE5hbWU9IlBsYWNlaG9sZGVyIFRl
eHQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMSIgUUZvcm1h
dD0idHJ1ZSIgTmFtZT0iTm8gU3BhY2luZyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs
c2UiIFByaW9yaXR5PSI2MCIgTmFtZT0iTGlnaHQgU2hhZGluZyIvPg0KPHc6THNkRXhjZXB0aW9u
IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCIvPg0KPHc6THNk
RXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgTmFtZT0iTWVk
aXVtIFNoYWRpbmcgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5
PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0i
ZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSIvPg0KPHc6THNkRXhjZXB0
aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgTmFtZT0iTWVkaXVtIExpc3QgMiIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVt
IEdyaWQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIg
TmFtZT0iTWVkaXVtIEdyaWQgMiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFBy
aW9yaXR5PSI2OSIgTmFtZT0iTWVkaXVtIEdyaWQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tl
ZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0Ii8+DQo8dzpMc2RFeGNlcHRp
b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIi8+
DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBOYW1lPSJDb2xv
cmZ1bCBMaXN0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9Ijcz
IiBOYW1lPSJDb2xvcmZ1bCBHcmlkIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
UHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCAxIi8+DQo8dzpMc2RFeGNl
cHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0IEFjY2Vu
dCAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1l
PSJMaWdodCBHcmlkIEFjY2VudCAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
UHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCAxIi8+DQo8dzpMc2RF
eGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hhZGlu
ZyAyIEFjY2VudCAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9
IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9j
a2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgTmFtZT0iUmV2aXNpb24iLz4NCjx3OkxzZEV4
Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzQiIFFGb3JtYXQ9InRydWUiIE5hbWU9
Ikxpc3QgUGFyYWdyYXBoIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp
dHk9IjI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJRdW90ZSIvPg0KPHc6THNkRXhjZXB0aW9uIExv
Y2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzMCIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iSW50ZW5zZSBR
dW90ZSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgTmFt
ZT0iTWVkaXVtIExpc3QgMiBBY2NlbnQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs
c2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgMSIvPg0KPHc6THNk
RXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQg
MiBBY2NlbnQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2
OSIgTmFtZT0iTWVkaXVtIEdyaWQgMyBBY2NlbnQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tl
ZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCAxIi8+DQo8dzpM
c2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBT
aGFkaW5nIEFjY2VudCAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp
dHk9IjcyIiBOYW1lPSJDb2xvcmZ1bCBMaXN0IEFjY2VudCAxIi8+DQo8dzpMc2RFeGNlcHRpb24g
TG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCAx
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJM
aWdodCBTaGFkaW5nIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
UHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0IEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRp
b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCAy
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJN
ZWRpdW0gU2hhZGluZyAxIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz
ZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hhZGluZyAyIEFjY2VudCAyIi8+DQo8dzpM
c2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlz
dCAxIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9
IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9j
a2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBOYW1lPSJNZWRpdW0gR3JpZCAxIEFjY2VudCAyIi8+
DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRp
dW0gR3JpZCAyIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJp
b3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRp
b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcwIiBOYW1lPSJEYXJrIExpc3QgQWNjZW50IDIi
Lz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNv
bG9yZnVsIFNoYWRpbmcgQWNjZW50IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl
IiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDIiLz4NCjx3OkxzZEV4
Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzMiIE5hbWU9IkNvbG9yZnVsIEdyaWQg
QWNjZW50IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAi
IE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDMiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9
ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDMiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjIiIE5hbWU9IkxpZ2h0IEdyaWQg
QWNjZW50IDMiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMi
IE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDMiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2Nr
ZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDMi
Lz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjUiIE5hbWU9Ik1l
ZGl1bSBMaXN0IDEgQWNjZW50IDMiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQ
cmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDMiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNj
ZW50IDMiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjgiIE5h
bWU9Ik1lZGl1bSBHcmlkIDIgQWNjZW50IDMiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZh
bHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDMiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBB
Y2NlbnQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MSIg
TmFtZT0iQ29sb3JmdWwgU2hhZGluZyBBY2NlbnQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tl
ZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgMyIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3Jm
dWwgR3JpZCBBY2NlbnQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9y
aXR5PSI2MCIgTmFtZT0iTGlnaHQgU2hhZGluZyBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9u
IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgNCIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGln
aHQgR3JpZCBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9y
aXR5PSI2MyIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0
aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBB
Y2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIg
TmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0i
ZmFsc2UiIFByaW9yaXR5PSI2NiIgTmFtZT0iTWVkaXVtIExpc3QgMiBBY2NlbnQgNCIvPg0KPHc6
THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdy
aWQgMSBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5
PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExv
Y2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OSIgTmFtZT0iTWVkaXVtIEdyaWQgMyBBY2NlbnQgNCIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFy
ayBMaXN0IEFjY2VudCA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp
dHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCA0Ii8+DQo8dzpMc2RFeGNlcHRp
b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBOYW1lPSJDb2xvcmZ1bCBMaXN0IEFjY2Vu
dCA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1l
PSJDb2xvcmZ1bCBHcmlkIEFjY2VudCA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz
ZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCA1Ii8+DQo8dzpMc2RF
eGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0IEFj
Y2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBO
YW1lPSJMaWdodCBHcmlkIEFjY2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz
ZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCA1Ii8+DQo8dzpM
c2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hh
ZGluZyAyIEFjY2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp
dHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24g
TG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCA1
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBOYW1lPSJN
ZWRpdW0gR3JpZCAxIEFjY2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
UHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCA1Ii8+DQo8dzpMc2RFeGNl
cHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFj
Y2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcwIiBO
YW1lPSJEYXJrIExpc3QgQWNjZW50IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl
IiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDUiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExp
c3QgQWNjZW50IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0i
NzMiIE5hbWU9IkNvbG9yZnVsIEdyaWQgQWNjZW50IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2Nr
ZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDYiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0
IExpc3QgQWNjZW50IDYiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0
eT0iNjIiIE5hbWU9IkxpZ2h0IEdyaWQgQWNjZW50IDYiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2Nr
ZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDYi
Lz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1l
ZGl1bSBTaGFkaW5nIDIgQWNjZW50IDYiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl
IiBQcmlvcml0eT0iNjUiIE5hbWU9Ik1lZGl1bSBMaXN0IDEgQWNjZW50IDYiLz4NCjx3OkxzZEV4
Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIg
QWNjZW50IDYiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjci
IE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDYiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9
ImZhbHNlIiBQcmlvcml0eT0iNjgiIE5hbWU9Ik1lZGl1bSBHcmlkIDIgQWNjZW50IDYiLz4NCjx3
OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBH
cmlkIDMgQWNjZW50IDYiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0
eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgNiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tl
ZD0iZmFsc2UiIFByaW9yaXR5PSI3MSIgTmFtZT0iQ29sb3JmdWwgU2hhZGluZyBBY2NlbnQgNiIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29s
b3JmdWwgTGlzdCBBY2NlbnQgNiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFBy
aW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgNiIvPg0KPHc6THNkRXhjZXB0
aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxOSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iU3Vi
dGxlIEVtcGhhc2lzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9
IjIxIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJJbnRlbnNlIEVtcGhhc2lzIi8+DQo8dzpMc2RFeGNl
cHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjMxIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJT
dWJ0bGUgUmVmZXJlbmNlIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp
dHk9IjMyIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJJbnRlbnNlIFJlZmVyZW5jZSIvPg0KPHc6THNk
RXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzMyIgUUZvcm1hdD0idHJ1ZSIgTmFt
ZT0iQm9vayBUaXRsZSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5
PSIzNyIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IkJpYmxp
b2dyYXBoeSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIg
U2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5h
bWU9IlRPQyBIZWFkaW5nIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp
dHk9IjQxIiBOYW1lPSJQbGFpbiBUYWJsZSAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm
YWxzZSIgUHJpb3JpdHk9IjQyIiBOYW1lPSJQbGFpbiBUYWJsZSAyIi8+DQo8dzpMc2RFeGNlcHRp
b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQzIiBOYW1lPSJQbGFpbiBUYWJsZSAzIi8+DQo8
dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ0IiBOYW1lPSJQbGFpbiBU
YWJsZSA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ1IiBO
YW1lPSJQbGFpbiBUYWJsZSA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJp
b3JpdHk9IjQwIiBOYW1lPSJHcmlkIFRhYmxlIExpZ2h0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9j
a2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IiBOYW1lPSJHcmlkIFRhYmxlIDEgTGlnaHQiLz4NCjx3
OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFi
bGUgMiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFt
ZT0iR3JpZCBUYWJsZSAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp
dHk9IjQ5IiBOYW1lPSJHcmlkIFRhYmxlIDQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZh
bHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIi8+DQo8dzpMc2RFeGNl
cHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIiBOYW1lPSJHcmlkIFRhYmxlIDYgQ29s
b3JmdWwiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiIE5h
bWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs
c2UiIFByaW9yaXR5PSI0NiIgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCAxIi8+DQo8
dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRh
YmxlIDIgQWNjZW50IDEiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0
eT0iNDgiIE5hbWU9IkdyaWQgVGFibGUgMyBBY2NlbnQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExv
Y2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCAxIi8+
DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlk
IFRhYmxlIDUgRGFyayBBY2NlbnQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2Ui
IFByaW9yaXR5PSI1MSIgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAxIi8+DQo8
dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUyIiBOYW1lPSJHcmlkIFRh
YmxlIDcgQ29sb3JmdWwgQWNjZW50IDEiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl
IiBQcmlvcml0eT0iNDYiIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgMiIvPg0KPHc6
THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NyIgTmFtZT0iR3JpZCBUYWJs
ZSAyIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9
IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2Nr
ZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgMiIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MCIgTmFtZT0iR3JpZCBU
YWJsZSA1IERhcmsgQWNjZW50IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQ
cmlvcml0eT0iNTEiIE5hbWU9IkdyaWQgVGFibGUgNiBDb2xvcmZ1bCBBY2NlbnQgMiIvPg0KPHc6
THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIgTmFtZT0iR3JpZCBUYWJs
ZSA3IENvbG9yZnVsIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
UHJpb3JpdHk9IjQ2IiBOYW1lPSJHcmlkIFRhYmxlIDEgTGlnaHQgQWNjZW50IDMiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUg
MiBBY2NlbnQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0
OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2Vk
PSJmYWxzZSIgUHJpb3JpdHk9IjQ5IiBOYW1lPSJHcmlkIFRhYmxlIDQgQWNjZW50IDMiLz4NCjx3
OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFi
bGUgNSBEYXJrIEFjY2VudCAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJp
b3JpdHk9IjUxIiBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDMiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiIE5hbWU9IkdyaWQgVGFibGUg
NyBDb2xvcmZ1bCBBY2NlbnQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFBy
aW9yaXR5PSI0NiIgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCA0Ii8+DQo8dzpMc2RF
eGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIg
QWNjZW50IDQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDgi
IE5hbWU9IkdyaWQgVGFibGUgMyBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0i
ZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCA0Ii8+DQo8dzpM
c2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxl
IDUgRGFyayBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9y
aXR5PSI1MSIgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA0Ii8+DQo8dzpMc2RF
eGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUyIiBOYW1lPSJHcmlkIFRhYmxlIDcg
Q29sb3JmdWwgQWNjZW50IDQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlv
cml0eT0iNDYiIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgNSIvPg0KPHc6THNkRXhj
ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NyIgTmFtZT0iR3JpZCBUYWJsZSAyIEFj
Y2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBO
YW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZh
bHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgNSIvPg0KPHc6THNk
RXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MCIgTmFtZT0iR3JpZCBUYWJsZSA1
IERhcmsgQWNjZW50IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0
eT0iNTEiIE5hbWU9IkdyaWQgVGFibGUgNiBDb2xvcmZ1bCBBY2NlbnQgNSIvPg0KPHc6THNkRXhj
ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIgTmFtZT0iR3JpZCBUYWJsZSA3IENv
bG9yZnVsIEFjY2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp
dHk9IjQ2IiBOYW1lPSJHcmlkIFRhYmxlIDEgTGlnaHQgQWNjZW50IDYiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2Nl
bnQgNiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFt
ZT0iR3JpZCBUYWJsZSAzIEFjY2VudCA2Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz
ZSIgUHJpb3JpdHk9IjQ5IiBOYW1lPSJHcmlkIFRhYmxlIDQgQWNjZW50IDYiLz4NCjx3OkxzZEV4
Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBE
YXJrIEFjY2VudCA2Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9
IjUxIiBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDYiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xv
cmZ1bCBBY2NlbnQgNiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5
PSI0NiIgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2Vk
PSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDgiIE5hbWU9Ikxpc3QgVGFibGUgMyIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBU
YWJsZSA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBO
YW1lPSJMaXN0IFRhYmxlIDUgRGFyayIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2Ui
IFByaW9yaXR5PSI1MSIgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIi8+DQo8dzpMc2RFeGNl
cHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUyIiBOYW1lPSJMaXN0IFRhYmxlIDcgQ29s
b3JmdWwiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDYiIE5h
bWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tl
ZD0iZmFsc2UiIFByaW9yaXR5PSI0NyIgTmFtZT0iTGlzdCBUYWJsZSAyIEFjY2VudCAxIi8+DQo8
dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRh
YmxlIDMgQWNjZW50IDEiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0
eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExv
Y2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MCIgTmFtZT0iTGlzdCBUYWJsZSA1IERhcmsgQWNjZW50
IDEiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiIE5hbWU9
Ikxpc3QgVGFibGUgNiBDb2xvcmZ1bCBBY2NlbnQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tl
ZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIgTmFtZT0iTGlzdCBUYWJsZSA3IENvbG9yZnVsIEFjY2Vu
dCAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IiBOYW1l
PSJMaXN0IFRhYmxlIDEgTGlnaHQgQWNjZW50IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9
ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgMiIvPg0KPHc6
THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJs
ZSAzIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9
IjQ5IiBOYW1lPSJMaXN0IFRhYmxlIDQgQWNjZW50IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2Nr
ZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCAy
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIiBOYW1lPSJM
aXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9
ImZhbHNlIiBQcmlvcml0eT0iNTIiIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQg
MiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIgTmFtZT0i
TGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm
YWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDMiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDgiIE5hbWU9Ikxpc3QgVGFibGUg
MyBBY2NlbnQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0
OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2Vk
PSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgMyIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MSIgTmFtZT0iTGlz
dCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm
YWxzZSIgUHJpb3JpdHk9IjUyIiBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDMi
Lz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDYiIE5hbWU9Ikxp
c3QgVGFibGUgMSBMaWdodCBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs
c2UiIFByaW9yaXR5PSI0NyIgTmFtZT0iTGlzdCBUYWJsZSAyIEFjY2VudCA0Ii8+DQo8dzpMc2RF
eGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMg
QWNjZW50IDQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDki
IE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0i
ZmFsc2UiIFByaW9yaXR5PSI1MCIgTmFtZT0iTGlzdCBUYWJsZSA1IERhcmsgQWNjZW50IDQiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiIE5hbWU9Ikxpc3Qg
VGFibGUgNiBDb2xvcmZ1bCBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs
c2UiIFByaW9yaXR5PSI1MiIgTmFtZT0iTGlzdCBUYWJsZSA3IENvbG9yZnVsIEFjY2VudCA0Ii8+
DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IiBOYW1lPSJMaXN0
IFRhYmxlIDEgTGlnaHQgQWNjZW50IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl
IiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgNSIvPg0KPHc6THNkRXhj
ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFj
Y2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ5IiBO
YW1lPSJMaXN0IFRhYmxlIDQgQWNjZW50IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZh
bHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCA1Ii8+DQo8
dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIiBOYW1lPSJMaXN0IFRh
YmxlIDYgQ29sb3JmdWwgQWNjZW50IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl
IiBQcmlvcml0eT0iNTIiIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNSIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIgTmFtZT0iTGlzdCBU
YWJsZSAxIExpZ2h0IEFjY2VudCA2Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
UHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDYiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDgiIE5hbWU9Ikxpc3QgVGFibGUgMyBBY2Nl
bnQgNiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFt
ZT0iTGlzdCBUYWJsZSA0IEFjY2VudCA2Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz
ZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgNiIvPg0KPHc6
THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MSIgTmFtZT0iTGlzdCBUYWJs
ZSA2IENvbG9yZnVsIEFjY2VudCA2Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
UHJpb3JpdHk9IjUyIiBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDYiLz4NCjwv
dzpMYXRlbnRTdHlsZXM+DQo8L3htbD48IVtlbmRpZl0tLT48c3R5bGU+PCEtLQ0KLyogRm9udCBE
ZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsN
CglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0Ow0KCW1zby1mb250LWNoYXJzZXQ6MTsNCglt
c28tZ2VuZXJpYy1mb250LWZhbWlseTpyb21hbjsNCgltc28tZm9udC1waXRjaDp2YXJpYWJsZTsN
Cgltc28tZm9udC1zaWduYXR1cmU6LTUzNjg3MDE0NSAxMTA3MzA1NzI3IDAgMCA0MTUgMDt9DQpA
Zm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAy
IDQgMyAyIDQ7DQoJbXNvLWZvbnQtY2hhcnNldDowOw0KCW1zby1nZW5lcmljLWZvbnQtZmFtaWx5
OnN3aXNzOw0KCW1zby1mb250LXBpdGNoOnZhcmlhYmxlOw0KCW1zby1mb250LXNpZ25hdHVyZTot
NTM2ODU5OTA1IC0xMDczNzMyNDg1IDkgMCA1MTEgMDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAq
Lw0KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttc28tc3R5bGUt
dW5oaWRlOm5vOw0KCW1zby1zdHlsZS1xZm9ybWF0OnllczsNCgltc28tc3R5bGUtcGFyZW50OiIi
Ow0KCW1hcmdpbjowY207DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCW1zby1wYWdpbmF0aW9u
OndpZG93LW9ycGhhbjsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp
IixzYW5zLXNlcmlmOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OkNhbGlicmk7fQ0KYTpsaW5r
LCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6IzA1
NjNDMTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOw0KCXRleHQtdW5kZXJsaW5lOnNpbmds
ZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLW5v
c2hvdzp5ZXM7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOiM5NTRGNzI7DQoJdGV4
dC1kZWNvcmF0aW9uOnVuZGVybGluZTsNCgl0ZXh0LXVuZGVybGluZTpzaW5nbGU7fQ0KcC5tc29u
b3JtYWwwLCBsaS5tc29ub3JtYWwwLCBkaXYubXNvbm9ybWFsMA0KCXttc28tc3R5bGUtbmFtZTpt
c29ub3JtYWw7DQoJbXNvLXN0eWxlLXVuaGlkZTpubzsNCgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzsNCgltYXJnaW4tcmlnaHQ6MGNtOw0KCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOw0KCW1h
cmdpbi1sZWZ0OjBjbTsNCgltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47DQoJZm9udC1zaXpl
OjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjsNCgltc28tZmFy
ZWFzdC1mb250LWZhbWlseTpDYWxpYnJpO30NCnNwYW4uRW1haWxTdHlsZTE4DQoJe21zby1zdHls
ZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCW1zby1zdHlsZS1ub3Nob3c6eWVzOw0KCW1zby1zdHls
ZS11bmhpZGU6bm87DQoJbXNvLWFuc2ktZm9udC1zaXplOjExLjBwdDsNCgltc28tYmlkaS1mb250
LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCW1zby1h
c2NpaS1mb250LWZhbWlseTpDYWxpYnJpOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OkNhbGli
cmk7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkNhbGlicmk7DQoJbXNvLWJpZGktZm9udC1mYW1p
bHk6IlRpbWVzIE5ldyBSb21hbiI7DQoJY29sb3I6IzFGNDk3RDt9DQpzcGFuLlNwZWxsRQ0KCXtt
c28tc3R5bGUtbmFtZToiIjsNCgltc28tc3BsLWU6eWVzO30NCi5Nc29DaHBEZWZhdWx0DQoJe21z
by1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCW1zby1kZWZhdWx0LXByb3BzOnllczsNCglmb250
LXNpemU6MTAuMHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJbXNvLWJpZGktZm9u
dC1zaXplOjEwLjBwdDt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo2MTIuMHB0IDc5Mi4w
cHQ7DQoJbWFyZ2luOjcyLjBwdCA3Mi4wcHQgNzIuMHB0IDcyLjBwdDsNCgltc28taGVhZGVyLW1h
cmdpbjozNi4wcHQ7DQoJbXNvLWZvb3Rlci1tYXJnaW46MzYuMHB0Ow0KCW1zby1wYXBlci1zb3Vy
Y2U6MDt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5
bGU+PCEtLVtpZiBndGUgbXNvIDEwXT48c3R5bGU+LyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnRh
YmxlLk1zb05vcm1hbFRhYmxlDQoJe21zby1zdHlsZS1uYW1lOiJUYWJsZSBOb3JtYWwiOw0KCW1z
by10c3R5bGUtcm93YmFuZC1zaXplOjA7DQoJbXNvLXRzdHlsZS1jb2xiYW5kLXNpemU6MDsNCglt
c28tc3R5bGUtbm9zaG93OnllczsNCgltc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJbXNvLXN0eWxl
LXBhcmVudDoiIjsNCgltc28tcGFkZGluZy1hbHQ6MGNtIDUuNHB0IDBjbSA1LjRwdDsNCgltc28t
cGFyYS1tYXJnaW46MGNtOw0KCW1zby1wYXJhLW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCgltc28t
cGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47DQoJZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWls
eToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9DQo8L3N0eWxlPjwhW2VuZGlmXS0tPjwhLS1baWYg
Z3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0i
MTAyNiIgLz4NCjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86
c2hhcGVsYXlvdXQgdjpleHQ9ImVkaXQiPg0KPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEi
IC8+DQo8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBs
YW5nPSJFTi1HQiIgbGluaz0iIzA1NjNDMSIgdmxpbms9IiM5NTRGNzIiIHN0eWxlPSJ0YWItaW50
ZXJ2YWw6MzYuMHB0Ij4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48Zm9udCBzaXplPSIyIiBjb2xvcj0iIzFmNDk3ZCIgZmFjZT0iQ2FsaWJyaSI+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7bXNvLWFzY2lpLWZvbnQtZmFtaWx5OkNhbGlicmk7
bXNvLWhhbnNpLWZvbnQtZmFtaWx5OkNhbGlicmk7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7
VGltZXMgTmV3IFJvbWFuJnF1b3Q7O2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6
RU4tVVMiPkENCjxzcGFuIGNsYXNzPSJTcGVsbEUiPnF1aWNr4oCZbuKAmWRpcnR5PC9zcGFuPiBj
aGVjayB1c2luZyBhIGNoZWNrZWQgYnVpbGQgb24gYSByZWNlbnQgV2luZG93cyAxMCA2NC1iaXQg
aXMgZ2l2aW5nIG1lIG9kZCByZXN1bHRz4oCmPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGNvbG9yPSIjMWY0OTdkIiBmYWNl
PSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tYXNjaWktZm9udC1m
YW1pbHk6Q2FsaWJyaTttc28taGFuc2ktZm9udC1mYW1pbHk6Q2FsaWJyaTttc28tYmlkaS1mb250
LWZhbWlseTomcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6IzFGNDk3RDttc28tZmFy
ZWFzdC1sYW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9mb250PjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGNvbG9yPSIjMWY0OTdkIiBmYWNl
PSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tYXNjaWktZm9udC1m
YW1pbHk6Q2FsaWJyaTttc28taGFuc2ktZm9udC1mYW1pbHk6Q2FsaWJyaTttc28tYmlkaS1mb250
LWZhbWlseTomcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6IzFGNDk3RDttc28tZmFy
ZWFzdC1sYW5ndWFnZTpFTi1VUyI+V2l0aCBhIHF1ZXVlIGRlcHRoDQogb2YgMSBJ4oCZbSBzZWVp
bmcgfjZrIElPUFMgd2l0aG91dCB0aGUgcGF0Y2hlcyBhbmQgfjE4ayB3aXRoLCB3aGljaCBpcyBj
bGVhcmx5IGdvb2QuIEJ1dCwgd2l0aCBhIHF1ZXVlIGRlcHRoIG9mIDMyLCBJIHNlZSB+NDZrIElP
UFMgd2l0aG91dCB0aGUgcGF0Y2hlcyBidXQgfjIwayB3aXRoLiBUaGF04oCZcyBhIHByZXR0eSBz
dWJzdGFudGlhbCBmYWxsLW9mZiBzbyBJIHRoaW5rIG1vcmUgd29yayBpcyBuZWVkZWQgYmVmb3Jl
IGFsbCBvZiB0aGVzZSBjYW4NCiBnbyBpbnRvIG1hc3Rlci48bzpwPjwvbzpwPjwvc3Bhbj48L2Zv
bnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgY29sb3I9IiMxZjQ5
N2QiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O21zby1hc2Np
aS1mb250LWZhbWlseTpDYWxpYnJpO21zby1oYW5zaS1mb250LWZhbWlseTpDYWxpYnJpO21zby1i
aWRpLWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90Oztjb2xvcjojMUY0OTdE
O21zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L2Zv
bnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgY29sb3I9IiMxZjQ5
N2QiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O21zby1hc2Np
aS1mb250LWZhbWlseTpDYWxpYnJpO21zby1oYW5zaS1mb250LWZhbWlseTpDYWxpYnJpO21zby1i
aWRpLWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90Oztjb2xvcjojMUY0OTdE
O21zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5DaGVlcnMsPG86cD48L286cD48L3NwYW4+PC9m
b250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGNvbG9yPSIjMWY0
OTdkIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tYXNj
aWktZm9udC1mYW1pbHk6Q2FsaWJyaTttc28taGFuc2ktZm9udC1mYW1pbHk6Q2FsaWJyaTttc28t
YmlkaS1mb250LWZhbWlseTomcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6IzFGNDk3
RDttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9m
b250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGNvbG9yPSIjMWY0
OTdkIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tYXNj
aWktZm9udC1mYW1pbHk6Q2FsaWJyaTttc28taGFuc2ktZm9udC1mYW1pbHk6Q2FsaWJyaTttc28t
YmlkaS1mb250LWZhbWlseTomcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6IzFGNDk3
RDttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+PHNwYW4gc3R5bGU9Im1zby1zcGFjZXJ1bjp5
ZXMiPiZuYnNwOw0KPC9zcGFuPlBhdWw8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgY29sb3I9IiMxZjQ5N2QiIGZhY2U9IkNh
bGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O21zby1hc2NpaS1mb250LWZhbWls
eTpDYWxpYnJpO21zby1oYW5zaS1mb250LWZhbWlseTpDYWxpYnJpO21zby1iaWRpLWZvbnQtZmFt
aWx5OiZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90Oztjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0
LWxhbmd1YWdlOkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgY29sb3I9IiMxZjQ5N2QiIGZhY2U9IkNh
bGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O21zby1hc2NpaS1mb250LWZhbWls
eTpDYWxpYnJpO21zby1oYW5zaS1mb250LWZhbWlseTpDYWxpYnJpO21zby1iaWRpLWZvbnQtZmFt
aWx5OiZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90Oztjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0
LWxhbmd1YWdlOkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPGRp
diBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgYmx1ZSAxLjVwdDtwYWRkaW5n
OjBjbSAwY20gMGNtIDQuMHB0Ij4NCjxkaXY+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3Jk
ZXItdG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwY20gMGNtIDBjbSI+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7bXNvLWZhcmVhc3QtZm9udC1m
YW1pbHk6JnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkVOLVVT
O2ZvbnQtd2VpZ2h0OmJvbGQiPkZyb206PC9zcGFuPjwvZm9udD48L2I+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcyBOZXcgUm9tYW4m
cXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RU4tVVMiPg0KIHdpbi1wdi1kZXZlbCBbbWFpbHRvOndp
bi1wdi1kZXZlbC1ib3VuY2VzQGxpc3RzLnhlbnByb2plY3Qub3JnXSA8Yj48c3BhbiBzdHlsZT0i
Zm9udC13ZWlnaHQ6Ym9sZCI+T24gQmVoYWxmIE9mDQo8L3NwYW4+PC9iPk93ZW4gU21pdGg8YnI+
DQo8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+U2VudDo8L3NwYW4+PC9iPiAxNSBN
YXkgMjAxNyAxNjo1Mzxicj4NCjxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Ubzo8
L3NwYW4+PC9iPiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc8YnI+DQo8Yj48c3Bh
biBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+U3ViamVjdDo8L3NwYW4+PC9iPiBbd2luLXB2LWRl
dmVsXSBbUEFUQ0hdIFhlbnZiZCBSZWZhY3RvcmluZzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwv
ZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJD
YWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJzcDs8L286cD48
L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZh
Y2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5JdCBzZWVtcyBJ4oCZ
dmUgZXhwZXJpZW5jZWQgc29tZSBtYWlsIGRlbGl2ZXJ5IGZhaWx1cmVzIHRyeWluZyB0byBzZW5k
IGEgMjYgcGF0Y2ggc2VyaWVzLjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdCI+UmF0aGVyIHRoYW4gcmVzZW5kIHRoZSBzZXJpZXMsIEnigJl2ZSBw
dXQgYSBicmFuY2ggdXAgdG8gZXhhbWluZS48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvZm9udD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+T3JpZ2luYWwgWzAwLzI2XSBTdW1tYXJ5Ojxv
OnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBz
aXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86
cD4mbmJzcDs8L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxm
b250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
Ij5BbGwgcGF0Y2hlcyBzaG91bGQgYmUgdGFrZW4gdG9nZXRoZXIuPG86cD48L286cD48L3NwYW4+
PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNh
bGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5JbiBhbiBhdHRlbXB0IHRvIGlt
cHJvdmUgbWFpbnRhaW5hYmlsaXR5IGFuZCBjb2RlIHJlYWRhYmlsaXR5LCByZWZhY3RvcjxvOnA+
PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXpl
PSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+eGVudmJk
LjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9u
dCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+
VGhpcyBwYXRjaCBzZXJpZXMgYWxzbyBtb3ZlcyB0aGUgU1JCIHF1ZXVlaW5nIHJlc3BvbnNpYmls
aXR5IHRvIHN0b3Jwb3J0LDxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdCI+YnkgcHJlcGFyaW5nIGJsa2lmIHJlcXVlc3RzIGR1cmluZyBCdWlsZElv
IGFuZCBhcHBlbmRpbmcgYmxraWYgcmVxdWVzdHMgdG88bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPmEgcGVuZGluZyBxdWV1ZSBmb3IgdGhlIHJp
bmcgZHVyaW5nIFN0YXJ0SW8uIFRoaXMgc2hvdWxkIGFsbG93IGEgcmVkdWN0aW9uPG86cD48L286
cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIi
IGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5pbiBwcm9jZXNz
aW5nIGR1cmluZyB0aGUgRFBDIChhcyB0aGUgRFBDIHdpbGwgb25seSBjb21wbGV0ZSBibGtpZiBy
ZXNwb25zZXMsPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0Ij5hbmQgdGhlIGNvcnJlc3BvbmRpbmcgU1JCLCBhbmQgc3VibWl0IGJsa2lmIHJlcXVl
c3RzKSBhbmQgdGFrZSBhZHZhbnRhZ2Ugb2Y8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkJ1aWxkSW8ncyBjb25jdXJyZW50IGNhbGxzLjxvOnA+
PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXpl
PSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4m
bmJzcDs8L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250
IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5U
ZXN0ZWQgd2l0aCBITEstMTcwMyBvbiBXaW5kb3dzIDEwIHg2NCAoYnVpbGQgMTUwNjMucnMyX3Jl
bGVhc2UuMTcwMzE3LTE4MzQpPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0Ij5BbGwgdGVzdHMgKGluY2x1ZGluZyBub24tV0hRTCB0ZXN0cykgcGFz
c2VkPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxm
b250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQiPklvTWV0ZXIgcmVzdWx0cyBjb21wYXJlZCB0byBwcmV2aW91cyB4ZW52YmQgYW5kIGVt
dWxhdGVkIG9uIHNpbmdsZSBzb2NrZXQNCjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdCI+WGVvbiBYMzQ1MCBAIDIuNkdIeiAoZ3Vlc3QgaGFzIDIg
dkNQVXMpLCB3aXRoIDhHQiBSQU0gKGd1ZXN0IGhhcyA0R0IsIDFHQiByYW1mcyk8bzpwPjwvbzpw
Pjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIg
ZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPigxIHdvcmtlciwg
cXVldWUtZGVwdGggMzIsIDUgbWludXRlcywgNEtCIDIwJSByZWFkLCA4MCUgcmFuZG9tLCAxMjhL
Qi1hbGlnbmVkKTxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdCI+VGVzdGVkLCBTdG9yYWdlQmFja2luZywgSU9QczxvOnA+PC9vOnA+PC9zcGFuPjwv
Zm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxp
YnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+RW11bGF0ZWQsIEhERCwgNzI2Ljc1
PG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250
IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5F
bXVsYXRlZCwgUkFNLCA2OTUuOTM8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQiPlhlblZiZCA4LjIsIEhERCwgNTI1LjUyPG86cD48L286cD48L3Nw
YW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9
IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5YZW5WYmQgOC4yLCBSQU0s
IDQzMzAuNTE8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQiPlRoZXNlUGF0Y2hlcywgSERELCAyNDc1LjIzPG86cD48L286cD48L3NwYW4+PC9mb250
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmki
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5UaGVzZVBhdGNoZXMsIFJBTSwgMzYxOS4w
NjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9u
dCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+
Tm90ZTogVGhlcmUgd2FzIGEgbGFyZ2UgYW1tb3VudCBvZiB2YXJpYW5jZSBpbiBhbGwgdGhlIHJl
c3VsdHMgZHVyaW5nIHJlcnVucyw8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQiPndpdGggYW4gYXBwcm94aW1hdGUgMTAtMjAlIHZhcmlhbmNlIGlu
IHRoZSBzYW1lIHNldHVwcy4gVGVzdHMgd2l0aCBQViBkcml2ZXJzPG86cD48L286cD48L3NwYW4+
PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNh
bGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5iYWNrZWQgYnkgUkFNIHdlcmUg
bWF4aW5nIGd1ZXN0IENQVSB1dGlsaXphdGlvbi48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvZm9u
dD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJp
Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+T3dlbiBTbWl0aCAoMjYpOjxvOnA+PC9v
OnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIy
IiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7IFJl
bmFtZSBGZG8gLSZndDsgQWRhcHRlciBSZW1vdmUgQWRhcHRlciByZWZlcmVuY2UgY291bnRzPG86
cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNp
emU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJz
cDsgUmVuYW1lIFBkbyAtJmd0OyBUYXJnZXQ8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOyBUaWR5IHVwIERyaXZlci5oLy5jPG86cD48
L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9
IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDsg
UmVmYWN0b3IgQWRhcHRlci5jPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0Ij4mbmJzcDsgUGFzcyBQWEVOVkJEX1NSQkVYVCwgbm90IFBTQ1NJX1JF
UVVFU1RfQkxPQ0s8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQiPiZuYnNwOyBSZWZhY3RvciB0YXJnZXQuYzxvOnA+PC9vOnA+PC9zcGFuPjwvZm9u
dD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJp
Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7IE1vdmUgU2NhdHRlckdhdGhl
ciBsaXN0IGl0ZXJhdGlvbiB0byBhZGFwdGVyLmM8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOyBSZW5hbWUgU3JiRXh0OjpTcmIgdG8g
T3JpZ2luYWxSZXE8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQiPiZuYnNwOyBNb3ZlIG5vbi1xdWV1ZS1zcmIgaGFuZGxpbmcgdG8gQnVpbGRJbzxv
OnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBz
aXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5i
c3A7IEFkZCBvdmVycmlkZSB0byBkaXNhYmxlIHNwZWNpZmljIGZlYXR1cmVzPG86cD48L286cD48
L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZh
Y2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDsgUHJlcGFy
ZSByZXF1ZXN0cyBpbiBCdWlsZElvPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDsgTW92ZSBTcmJFeHQgY2xlYW51cCBpbnRvIGlubGlu
ZSBmdW5jdGlvbjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdCI+Jm5ic3A7IFF1ZXJ5IGZvciBDYWNoZSBJbnRlcmZhY2U8bzpwPjwvbzpwPjwvc3Bh
bj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0i
Q2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOyBVc2UgQ0FDSEUg
aW50ZXJmYWNlIGluc3RlYWQgb2YgbG9va2FzaWRlIGxpc3RzPG86cD48L286cD48L3NwYW4+PC9m
b250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGli
cmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDsgRml4IEluZGlyZWN0IHJl
cXVlc3RzPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
Pjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0Ij4mbmJzcDsgTW92ZSBCbG9ja1JpbmdQb2xsIGlubGluZTxvOnA+PC9vOnA+PC9zcGFuPjwv
Zm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxp
YnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7IE1vdmUgUHJlcGFyZWQv
U3VibWl0dGVkIHRvIEJsb2NrUmluZzxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7IFJlZmFjdG9yIElucXVpcnkgMHg4MyBoYW5kbGVy
PG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250
IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4m
bmJzcDsgUmVtb3ZlIFRhcmdldFF1ZXVlU3JiLCBmb2xkIGludG8gY2FsbGVyPG86cD48L286cD48
L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZh
Y2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDsgU2V0IFF1
ZXVlIERlcHRoLCBzb21lIG1pbm9yIGZpeGVzPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDsgQWRkIG92ZXJyaWRlcyBmb3IgTWF4VHJh
bnNmZXJMZW5ndGggYW5kIE1heFBoeXNpY2FsQnJlYWtzPG86cD48L286cD48L3NwYW4+PC9mb250
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmki
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDsgUmVuYW1lIFByZXBhcmVkIHRv
IFF1ZXVlZDxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdCI+Jm5ic3A7IFRyYWNrIFF1ZXVlZC9TdWJtaXR0ZWQvQ29tcGxldGVkIGNvdW50czxvOnA+
PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXpl
PSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7
IFJlYWQgb3ZlcnJpZGVzIGF0IHN0YXJ0IG9mIGRheTxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7IEZpeCBkaXNjYXJkIGRlYnVnIHN0
YXRlbWVudHM8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQiPiZuYnNwOyBBZGQgb3ZlcnJpZGUgZm9yIHJpbmcgc2l6ZTxvOnA+PC9vOnA+PC9zcGFu
PjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJD
YWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJzcDs8L286cD48
L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZh
Y2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5zcmMveGVudmJkL2Fk
YXB0ZXIuYyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8
IDIxNjMgJiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0Mzsm
IzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0
MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOzxvOnA+PC9vOnA+PC9zcGFuPjwv
Zm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxp
YnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+c3JjL3hlbnZiZC9hZGFwdGVyLmgm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAx
MjggJiM0MzsmIzQzOzxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdCI+c3JjL3hlbnZiZC9ibG9ja3JpbmcuYyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyB8IDEwNDAgJiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0Mzsm
IzQzOyYjNDM7LS0tLS08bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQiPnNyYy94ZW52YmQvYmxvY2tyaW5nLmgmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyA0NCAmIzQzOy08bzpwPjwvbzpwPjwvc3Bhbj48
L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2Fs
aWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPnNyYy94ZW52YmQvZHJpdmVyLmMm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZu
YnNwOyA0ODAgJiM0MzsmIzQzOy0tLS0tPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0Ij5zcmMveGVudmJkL2RyaXZlci5oJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsgNzMg
JiM0MzstPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
Pjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0Ij5zcmMveGVudmJkL2Zkby5jJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwgMjIwNiAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS08bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQiPnNyYy94ZW52YmQvZmRvLmgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAx
NzkgLS0tPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
Pjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0Ij5zcmMveGVudmJkL2Zyb250ZW5kLmMmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgfCAxNzcxIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTxvOnA+PC9vOnA+PC9z
cGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNl
PSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+c3JjL3hlbnZiZC9mcm9u
dGVuZC5oJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsg
MTk1IC0tLTxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdCI+c3JjL3hlbnZiZC9ncmFudGVyLmMmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAxOTggJiM0MzstLTxvOnA+PC9vOnA+PC9zcGFuPjwv
Zm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxp
YnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+c3JjL3hlbnZiZC9ncmFudGVyLmgm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZu
YnNwOyA0OCAmIzQzOy08bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQiPnNyYy94ZW52YmQvbm90aWZpZXIuYyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7IDMzNSAtLS0tLTxvOnA+PC9vOnA+PC9zcGFuPjwv
Zm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxp
YnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+c3JjL3hlbnZiZC9ub3RpZmllci5o
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsgMTAxIC0t
PG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250
IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5z
cmMveGVudmJkL3Bkby5jJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwgMjczMiAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0Ij5zcmMveGVudmJkL3Bkby5oJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsg
MjI5IC0tLS08bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQiPnNyYy94ZW52YmQvcGRvaW5xdWlyeS5jJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7IHwmbmJzcDsgNTU0IC0tLS0tLS0tPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0Ij5zcmMveGVudmJkL3Bkb2lucXVpcnkuaCZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7IDY1IC08bzpwPjwvbzpwPjwvc3Bhbj48
L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2Fs
aWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPnNyYy94ZW52YmQvcXVldWUuYyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyB8Jm5ic3A7IDEzOSAtLTxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdCI+c3JjL3hlbnZiZC9xdWV1ZS5oJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsgODYgLS08
bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQg
c2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPnNy
Yy94ZW52YmQvc3JiZXh0LmgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyA4NSAmIzQzOy08bzpwPjwvbzpwPjwvc3Bhbj48
L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2Fs
aWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPnNyYy94ZW52YmQvdGFyZ2V0LmMm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCAz
MTAwICYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0
MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7
JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYj
NDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOzxvOnA+PC9vOnA+PC9z
cGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNl
PSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+c3JjL3hlbnZiZC90YXJn
ZXQuaCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyB8Jm5ic3A7IDE1MiAmIzQzOyYjNDM7JiM0Mzs8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPnZzMjAxMi94ZW52YmQveGVudmJkLnZjeHByb2og
fCZuYnNwOyZuYnNwOyZuYnNwOyA4ICYjNDM7LTxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+dnMyMDEzL3hlbnZiZC94ZW52YmQudmN4cHJvaiB8
Jm5ic3A7Jm5ic3A7Jm5ic3A7IDggJiM0MzstPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij52czIwMTUveGVudmJkL3hlbnZiZC52Y3hwcm9qIHwm
bmJzcDsmbmJzcDsmbmJzcDsgOCAmIzQzOy08bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPjI2IGZpbGVzIGNoYW5nZWQsIDY2MDYgaW5zZXJ0aW9u
cygmIzQzOyksIDk1MjEgZGVsZXRpb25zKC0pPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5jcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9h
ZGFwdGVyLmM8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQiPmNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL2FkYXB0ZXIuaDxvOnA+PC9vOnA+
PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBm
YWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+ZGVsZXRlIG1vZGUg
MTAwNjQ0IHNyYy94ZW52YmQvZmRvLmM8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQiPmRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL2Zkby5o
PG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250
IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5k
ZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9mcm9udGVuZC5jPG86cD48L286cD48L3NwYW4+
PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNh
bGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5kZWxldGUgbW9kZSAxMDA2NDQg
c3JjL3hlbnZiZC9mcm9udGVuZC5oPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0Ij5kZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9ub3RpZmll
ci5jPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxm
b250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
Ij5kZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9ub3RpZmllci5oPG86cD48L286cD48L3Nw
YW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9
IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5kZWxldGUgbW9kZSAxMDA2
NDQgc3JjL3hlbnZiZC9wZG8uYzxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdCI+ZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvcGRvLmg8bzpw
PjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6
ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPmRlbGV0
ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL3Bkb2lucXVpcnkuYzxvOnA+PC9vOnA+PC9zcGFuPjwv
Zm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxp
YnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+ZGVsZXRlIG1vZGUgMTAwNjQ0IHNy
Yy94ZW52YmQvcGRvaW5xdWlyeS5oPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0Ij5kZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9xdWV1ZS5j
PG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250
IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5k
ZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9xdWV1ZS5oPG86cD48L286cD48L3NwYW4+PC9m
b250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGli
cmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5jcmVhdGUgbW9kZSAxMDA2NDQgc3Jj
L3hlbnZiZC90YXJnZXQuYzxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdCI+Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvdGFyZ2V0Lmg8bzpw
PjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6
ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPjxvOnA+
Jm5ic3A7PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9u
dCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+
LS0NCjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dCI+Mi44LjM8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdCI+QSBicmFuY2ggc2hvd2luZyB0aGUgcGF0Y2hlcyBpcyBhdmFpbGFibGUgYXQ6
PG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250
IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij48
YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vT3dlblNtaXRoL3hlbnZiZC90cmVlL2V4cGVyaW1l
bnQiPmh0dHBzOi8vZ2l0aHViLmNvbS9Pd2VuU21pdGgveGVudmJkL3RyZWUvZXhwZXJpbWVudDwv
YT48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4N
CjwvaHRtbD4NCg==

--_000_13c11861f15e472fa12bbb3dfab15857AMSPEX02CL03citritenet_--


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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

--===============2828447294858607065==--


From win-pv-devel-bounces@lists.xenproject.org Thu May 18 18:13:27 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 May 2017 18:13:27 +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 1dBPvS-0002wP-Hq; Thu, 18 May 2017 18:13:26 +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 1dBPvR-0002vi-NA
 for win-pv-devel@lists.xenproject.org; Thu, 18 May 2017 18:13:25 +0000
Date: Thu, 18 May 2017 18:13:02 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <6331982.1.1495131182655.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_0_9748379.1495131182483"
X-Jenkins-Job: XENIFACE-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENIFACE-master - Build #66 - 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/cgi-bin/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/cgi-bin/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_9748379.1495131182483
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #66.

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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_0_9748379.1495131182483--


From win-pv-devel-bounces@lists.xenproject.org Thu May 18 18:54:06 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 May 2017 18:54: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 1dBQYo-0005jR-0A; Thu, 18 May 2017 18:54: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 1dBQYn-0005jL-0h
 for win-pv-devel@lists.xenproject.org; Thu, 18 May 2017 18:54:05 +0000
Date: Thu, 18 May 2017 18:53:42 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <16961390.3.1495133622641.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_2_26488521.1495133622641"
X-Jenkins-Job: XENNET-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENNET-master - Build #93 - 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/cgi-bin/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/cgi-bin/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_26488521.1495133622641
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #93.

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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_2_26488521.1495133622641--


From win-pv-devel-bounces@lists.xenproject.org Thu May 18 19:42:16 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 May 2017 19:42: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 1dBRJP-0000cx-6L; Thu, 18 May 2017 19:42: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 1dBRJN-0000cr-P8
 for win-pv-devel@lists.xenproject.org; Thu, 18 May 2017 19:42:13 +0000
Date: Thu, 18 May 2017 19:41:51 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <17899778.5.1495136511299.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_4_15190100.1495136511299"
X-Jenkins-Job: XENVBD-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENVBD-master - Build #94 - 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/cgi-bin/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/cgi-bin/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_15190100.1495136511299
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #94.

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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_4_15190100.1495136511299--


From win-pv-devel-bounces@lists.xenproject.org Thu May 18 20:19:09 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 May 2017 20:19: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 1dBRt5-0002vr-L4; Thu, 18 May 2017 20:19: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 1dBRt4-0002vl-2R
 for win-pv-devel@lists.xenproject.org; Thu, 18 May 2017 20:19:06 +0000
Date: Thu, 18 May 2017 20:18:43 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <33378437.7.1495138723487.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_6_2096268.1495138723487"
X-Jenkins-Job: XENCONS-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENCONS-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/cgi-bin/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/cgi-bin/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_2096268.1495138723487
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/XENCONS-master/4/console to view the results.
------=_Part_6_2096268.1495138723487
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_6_2096268.1495138723487--


From win-pv-devel-bounces@lists.xenproject.org Fri May 19 01:59:41 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 May 2017 01:59: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 1dBXCd-00007Q-1k; Fri, 19 May 2017 01:59:39 +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 1dBXCc-00007K-BN
 for win-pv-devel@lists.xenproject.org; Fri, 19 May 2017 01:59:38 +0000
Date: Fri, 19 May 2017 01:59:16 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <32691513.9.1495159156170.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_8_29803040.1495159156138"
X-Jenkins-Job: XENVIF-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENVIF-master - Build #142 - 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/cgi-bin/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/cgi-bin/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_29803040.1495159156138
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #142.

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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_8_29803040.1495159156138--


From win-pv-devel-bounces@lists.xenproject.org Fri May 19 07:25:44 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 May 2017 07:25: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 1dBcIB-00059L-85; Fri, 19 May 2017 07:25:43 +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 1dBcIB-000599-16
 for win-pv-devel@lists.xenproject.org; Fri, 19 May 2017 07:25:43 +0000
Date: Fri, 19 May 2017 07:25:20 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <21590633.11.1495178720477.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_10_11456947.1495178720477"
X-Jenkins-Job: XENBUS-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENBUS-master - Build #141 - 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/cgi-bin/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/cgi-bin/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_11456947.1495178720477
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #141.

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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_10_11456947.1495178720477--


From win-pv-devel-bounces@lists.xenproject.org Thu May 25 02:16:09 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 May 2017 02:16: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 1dDiJs-00015G-Ex; Thu, 25 May 2017 02:16:08 +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 1dDiJr-000152-OZ
 for win-pv-devel@lists.xenproject.org; Thu, 25 May 2017 02:16:07 +0000
Date: Thu, 25 May 2017 02:16:07 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <30002326.13.1495678567112.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_12_16885811.1495678567112"
X-Jenkins-Job: XENNET-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENNET-master - Build #94 - 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/cgi-bin/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/cgi-bin/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_16885811.1495678567112
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #94.

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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_12_16885811.1495678567112--


From win-pv-devel-bounces@lists.xenproject.org Thu May 25 15:09:50 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 May 2017 15:09: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 1dDuOa-0004wJ-7V; Thu, 25 May 2017 15:09:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <lars.kurth.xen@gmail.com>)
 id 1dDuOZ-0004w9-Vp; Thu, 25 May 2017 15:09:48 +0000
Received: from [85.158.137.68] by server-16.bemta-3.messagelabs.com id
 31/5F-29088-9B3F6295; Thu, 25 May 2017 15:09:45 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrCIsWRWlGSWpSXmKPExsXiVRvkorvjs1q
 kwfGPChYrey4yW/S23mWx+LM40WL2xjZmi+9bJjNZvNv3l9mBzePwhyssAYxRrJl5SfkVCawZ
 v/o6WAs28VUsOvuPrYFxLU8XIyeHkECxRM/sK6xdjFwcLAINrBLTu74ygjgSAnNYJXZcWMkKU
 iUhkCSxcckWRgi7UuL1l7tsEN3qEvcW3WYHaRASmMYkcXDhRmaQBJuAtsSmGw/AbGagoj/zLk
 HZ2hLLFr5mBmkQFljAKDHlxF52kASvgI3E7DWfwWwWAVWJBe2XwM4QEVjJJHH/1Ec2iCI9iVe
 3LkOdJCux+/cjpgmMArOQLJmFZMksJC0LGJlXMWoUpxaVpRbpGpnrJRVlpmeU5CZm5ugaGhjr
 5aYWFyemp+YkJhXrJefnbmIEhnU9AwPjDsaWvX6HGCU5mJREecXnqkUK8SXlp1RmJBZnxBeV5
 qQWH2KU4eBQkuBt/QSUEyxKTU+tSMvMAUYYTFqCg0dJhNcUJM1bXJCYW5yZDpE6xWjMsWH1+i
 9MHJMObP/CJMSSl5+XKiXOuwSkVACkNKM0D24QLPIvMcpKCfMyMjAwCPEUpBblZpagyr9iFOd
 gVBLm3QEyhSczrwRu3yugU5iATnG9qwxySkkiQkqqgbEhddfmXK9d8iIK79SdeTWj/98KSXyl
 mlUTwBDof5NH9cD2hOzXFTdXpi57nVjnXpTxYT9fmeSFVL7rz7at3/nt48IH+Q2zT6k3fW49W
 lVs5vwn9O/C5afvuOetflvvv+VJS5v7unILLe87lldnl18KCV1Tb2cXtfPmigJ+3w/h/bPV/d
 q1uZVYijMSDbWYi4oTARBRFZ/3AgAA
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1495724984!94911609!1
X-Originating-IP: [74.125.82.68]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11738 invoked from network); 25 May 2017 15:09:44 -0000
Received: from mail-wm0-f68.google.com (HELO mail-wm0-f68.google.com)
 (74.125.82.68)
 by server-16.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 May 2017 15:09:44 -0000
Received: by mail-wm0-f68.google.com with SMTP id k15so52556280wmh.3;
 Thu, 25 May 2017 08:09:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:content-transfer-encoding:subject:message-id:date:to
 :mime-version; bh=LgyaKwLSXAxYW1rnq/omwNV0/e91SM9/n4mEjgkDZKQ=;
 b=YmuJ58H6/Nj4t3VX1+kalDQ8oBcpDslBOgs5WNW7s9zYLOWt/3bGVUNGl0xFtPPYdE
 +70tKtDMd87WtiHnDQP3taZsLTULB88G3artT0FqTwJEmZqnLvGNySaLNl60kcOhtv16
 qmMjc0maBYMYFnLMMRWtiXlUdnUUntMSsxjCu+8boYr8wg6m+Q/cI2YcqQ2XkYXZ39/C
 LNf95XLUW+sUi/hM+0YJV92xksfOclwLxDDiVCxUhUaf6J72FFJhJafS4EP8b22tm4tP
 HJrFugXdd0KqxHhbMFbXF7I4vi25NDZzQK+RXRPXHUx4cs+YXoDvAbYUUwHx4Y9u0s4r
 epbQ==
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:subject
 :message-id:date:to:mime-version;
 bh=LgyaKwLSXAxYW1rnq/omwNV0/e91SM9/n4mEjgkDZKQ=;
 b=rpb0N1scWyPSGQe0UrD12AOxcs8Cs1+IAOj9Ph/CdojFYZbriB1eZ8pK4T1qWLeEER
 J2m3/WyBPXA832QdNhDkIrGjhrG5HZd36YkRu77aY93OKFqtfQWBnbtm5LgyOie1s4sG
 b7yh7aZpQezIFCnW1cuNkq1boiTn7yTc1hEJDLMfJxBBe70GcTYWsPgJt6xp2TwhszUZ
 LaFicNo49oCeTX8IdhRT7hCxCZirDDUc4LLDzHuEiimRxPe03ugCNZ0jvspRTQDwvj9B
 1luBiqQjgGa3ES7vZUSFqG435wcBkNzFyiKdhMt8TQawZC1GxyBiU0/2YWU7VoidJwzs
 FKAA==
X-Gm-Message-State: AODbwcDJUCwB3oqzaKjS64gkEOY6cZNc/y+e4e2QxDd7mpkLAWNEG1/p
 xN6eb3It0vIEIv6ja7U=
X-Received: by 10.80.151.131 with SMTP id e3mr23641689edb.61.1495724983381;
 Thu, 25 May 2017 08:09:43 -0700 (PDT)
Received: from [10.80.118.233] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194])
 by smtp.gmail.com with ESMTPSA id b3sm2708633ede.9.2017.05.25.08.09.41
 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
 Thu, 25 May 2017 08:09:41 -0700 (PDT)
From: Lars Kurth <lars.kurth.xen@gmail.com>
Message-Id: <D8C3AD58-C59B-41D3-B7C3-A64703132617@gmail.com>
Date: Thu, 25 May 2017 16:09:40 +0100
To: xen-devel <xen-devel@lists.xenproject.org>, xen-users@lists.xenproject.org,
 xen-announce <xen-announce@lists.xenproject.org>,
 embedded-pv-devel <embedded-pv-devel@lists.xenproject.org>,
 win-pv-devel <Win-pv-devel@lists.xenproject.org>,
 mirageos-devel <mirageos-devel@lists.xenproject.org>
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
X-Mailer: Apple Mail (2.2104)
Subject: [win-pv-devel] =?utf-8?q?Schedule_is_live_for_the_Xen_Project?=
 =?utf-8?q?=E2=80=99s_Annual_Conference_-_Discounted_Registration_closes_b?=
 =?utf-8?q?y_end_of_May?=
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/cgi-bin/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/cgi-bin/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>

RGVhciBDb21tdW5pdHkgbWVtYmVycywKIApDb21tdW5pdHksIGVtYmVkZGVkLCBhdXRvbW90aXZl
LCBwZXJmb3JtYW5jZSwgaGFyZHdhcmUsIGFuZCBzZWN1cml0eSBhcmUgYSBmZXcgdG9waWNzIHRo
YXQgd2lsbCBiZSBjb3ZlcmVkIGR1cmluZyB0aGUgdXBjb21pbmcgWGVuIFByb2plY3QgRGV2ZWxv
cGVyIGFuZCBEZXNpZ24gU3VtbWl0IChodHRwOi8vZXZlbnRzLmxpbnV4Zm91bmRhdGlvbi5vcmcv
ZXZlbnRzL3hlbi1kZXZlbG9wZXItYW5kLWRlc2lnbi1zdW1taXQpIGhhcHBlbmluZyBKdWx5IDEx
LTEzIGluIEJ1ZGFwZXN0LCBIdW5nYXJ5LiAKCllvdSBjYW4gZmluZCB0aGUgZnVsbCBzY2hlZHVs
ZSBoZXJlOiBodHRwOi8vZXZlbnRzLmxpbnV4Zm91bmRhdGlvbi5vcmcvZXZlbnRzL3hlbi1kZXZl
bG9wZXItYW5kLWRlc2lnbi1zdW1taXQvcHJvZ3JhbS9zY2hlZHVsZQogClRoZSBjb25mZXJlbmNl
IGlzIGNvbWJpbmVzIHRoZSBmb3JtYXRzIG9mIHRoZSBYZW4gUHJvamVjdCBEZXZlbG9wZXIgU3Vt
bWl0cyB3aXRoIHRoZSBYZW4gUHJvamVjdCBIYWNrYXRob25zLCB3aXRoIHRhbGtzIGluIHRoZSBt
b3JuaW5nIGFuZCBEZXNpZ24gU2Vzc2lvbnMgaW4gdGhlIGFmdGVybm9vbi4KCkhlcmXigJlzIGEg
c2FtcGxpbmcgb2Ygc29tZSBvZiB0aGUgdGFsa3MgYXQgdGhlIFN1bW1pdDoKKiBEZWRpY2F0ZWQg
U2VjdXJlIERvbWFpbiBhcyBhbiBBcHByb2FjaCBmb3IgQ2VydGlmaWNhdGlvbiBvZiBBdXRvbW90
aXZlIFNlY3RvciBTb2x1dGlvbnMgZnJvbSBJdXJpaSBNeWtoYWxza3lpIG9mIEdsb2JhbExvZ2lj
CiogVW5pcHJvZjogVHJhbnNwYXJlbnQgVW5pa2VybmVsIFBlcmZvcm1hbmNlIFByb2ZpbGluZyBh
bmQgRGVidWdnaW5nIGZyb20gRmxvcmlhbiBTY2htaWR0IG9mIE5FQwoqIEh5cGVydmlzb3ItQmFz
ZWQgU2VjdXJpdHk6IEJyaW5naW5nIFZpcnR1YWxpemVkIEV4Y2VwdGlvbnMgSW50byB0aGUgR2Ft
ZSBmcm9tIE1paGFpIERvbnR1IG9mIEJpdGRlZmVuZGVyCiogQnJpbmcgdXAgUENJIFBhc3N0aHJv
dWdoIG9uIEFSTSBmcm9tIEp1bGllbiBHcmFsbCBvZiBBUk0KKiBTaGFyZWQgQ29wcm9jZXNzb3Ig
RnJhbWV3b3JrIG9uIEFSTSAtIE9sZWtzYW5kciBBbmRydXNoY2hlbmtvLCBFUEFNIFN5c3RlbXMK
KiBTZWN1cmUgQ29udGFpbmVycyB3aXRoIFhlbiBhbmQgQ29yZU9TIHJrdCAtIFN0ZWZhbm8gU3Rh
YmVsbGluaSwgQXBvcmV0bwoqIFRvIEdyYW50IG9yIE5vdCB0byBHcmFudD8gLSBKb8OjbyBNYXJ0
aW5zLCBPcmFjbGUKIApDdXJyZW50bHksIHdlIGhhdmUgYW4gZWFybHkgYmlyZCBzcGVjaWFsICgk
MjUwKSwgd2hpY2ggd2lsbCBlbmQgYXQgdGhlIGVuZCBvZiBNYXkgKHNlZSBodHRwOi8vZXZlbnRz
LmxpbnV4Zm91bmRhdGlvbi5vcmcvZXZlbnRzL3hlbi1kZXZlbG9wZXItYW5kLWRlc2lnbi1zdW1t
aXQvYXR0ZW5kL3JlZ2lzdGVyKS4gTm90ZSB0aGF0IHRoZSBvdmVyYWxsIHRpY2tldCBwcmljZSBp
cyBoaWdoZXIgY29tcGFyZWQgdG8gdGhlIHBhc3QsIGFzIHRoZSBldmVudCBpcyAzIGRheXMgbG9u
ZyBhbmQgYmFzZWQgb24geW91ciBmZWVkYmFjayBmcm9tIGxhc3QgeWVhciwgd2UgaW5jbHVkZWQg
bHVuY2guCgpBbHNvIG5vdGUgdGhhdCB5b3UgY2FuIHN0aWxsIHN1Ym1pdCBkZXNpZ24gc2Vzc2lv
bnM6IHNlZSBodHRwOi8vZXZlbnRzLmxpbnV4Zm91bmRhdGlvbi5vcmcvZXZlbnRzL3hlbi1kZXZl
bG9wZXItYW5kLWRlc2lnbi1zdW1taXQvcHJvZ3JhbS9jZnAtZGVzaWduLXNlc3Npb24KIApCZXN0
IFJlZ2FyZHMKTGFycwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0
aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Thu May 25 22:09:00 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 May 2017 22:09: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 1dE0wC-0004VH-Qj; Thu, 25 May 2017 22:08:56 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=311630e7e=Paul.Durrant@citrix.com>)
 id 1dE0wC-0004V5-2T
 for win-pv-devel@lists.xenproject.org; Thu, 25 May 2017 22:08:56 +0000
Received: from [85.158.143.35] by server-3.bemta-6.messagelabs.com id
 D6/6E-03058-7F557295; Thu, 25 May 2017 22:08:55 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrNIsWRWlGSWpSXmKPExsWyU9JRQvdbqHq
 kwZkvyhZ/Fic6MHoc/nCFJYAxijUzLym/IoE14/CctIINUhWzFv1gb2Bskepi5OCQEPCT+LtN
 vouRk4NNQEdi6dH5TCC2iECYRN/TO2wgNrOAt8TVkwcZQWxhgWCJGWc2Q9WESHzcvQrKNpKYd
 /IZK8hIFgFViVXf9EHCvALuEq8O/mIFsYUEKiVmPdwNNoZTwEbi4orVYDajgKzEl8bVzBCrxC
 VuPYE4QUJAQGLJnvPMELaoxMvH/1ghbAOJrUv3sYCsYhbQlFi/Sx+iVVFiSvdDdoi1ghInZz5
 hmcAoPAvJ1FkIHbOQdMxC0rGAkWUVo0ZxalFZapGukaVeUlFmekZJbmJmjq6hgZlebmpxcWJ6
 ak5iUrFecn7uJkZgwDMAwQ7GA4sCDzFKcjApifLqWatHCvEl5adUZiQWZ8QXleakFh9ilOHgU
 JLg3RcClBMsSk1PrUjLzAHGHkxagoNHSYR3Hkiat7ggMbc4Mx0idYpRl2PD6vVfmIRY8vLzUq
 XEeZWAkSwkAFKUUZoHNwKWBi4xykoJ8zICHSXEU5BalJtZgir/ilGcg1FJmLccZBVPZl4J3KZ
 XQEcwAR3helcZ5IiSRISUVANjws7+je8O5/yOjk7bPm03qxXvogqHiCzbzm6H7l2u89klTCzc
 3ZQf/YjrSBPWfXR1ZnRESCLzodj8le+N1l67q33x5YcjcmdTZ3IWzn25ujW9zWq95OYp67SrH
 83dcFalWUqGR8DlY+jD/89O3Fke7ZpTtCmg70CG7cePEcfme7nKLizymWuoxFKckWioxVxUnA
 gA2cbOJP4CAAA=
X-Env-Sender: prvs=311630e7e=Paul.Durrant@citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1495750134!70739551!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.19; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9385 invoked from network); 25 May 2017 22:08:54 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
 by server-12.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
 25 May 2017 22:08:54 -0000
X-IronPort-AV: E=Sophos;i="5.38,393,1491264000"; d="scan'208";a="46754320"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: 'Andrii Anisov' <andrii_anisov@epam.com>, Keith Hamilton
 <keith@mfindustries.net>
Thread-Topic: [Xen-devel] [Embedded-pv-devel] Migrated from Xenserver to
 Gentoo/Xen
Thread-Index: AQHS1TElA03Y+JnqIk2YOvVtrTz2a6IFmutQ
Date: Thu, 25 May 2017 22:08:53 +0000
Message-ID: <a07c288b521a4248b3a48c3d6faa9642@AMSPEX02CL03.citrite.net>
References: <zarafa.5926311c.97ee.05ae96772ec59751@git.mfindustries.net>
 <72fa6ff2-6c5b-5716-e864-a3c4cb1576a5@epam.com>
In-Reply-To: <72fa6ff2-6c5b-5716-e864-a3c4cb1576a5@epam.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] [Xen-devel] [Embedded-pv-devel] Migrated from
	Xenserver to	Gentoo/Xen
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/cgi-bin/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/cgi-bin/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>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBYZW4tZGV2ZWwgW21haWx0bzp4
ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW4ub3JnXSBPbiBCZWhhbGYgT2YNCj4gQW5kcmlpIEFu
aXNvdg0KPiBTZW50OiAyNSBNYXkgMjAxNyAwNDoyOA0KPiBUbzogS2VpdGggSGFtaWx0b24gPGtl
aXRoQG1maW5kdXN0cmllcy5uZXQ+OyB4ZW4tZGV2ZWwgPHhlbi0NCj4gZGV2ZWxAbGlzdHMueGVu
cHJvamVjdC5vcmc+DQo+IENjOiBlbWJlZGRlZC1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
Zw0KPiBTdWJqZWN0OiBSZTogW1hlbi1kZXZlbF0gW0VtYmVkZGVkLXB2LWRldmVsXSBNaWdyYXRl
ZCBmcm9tIFhlbnNlcnZlciB0bw0KPiBHZW50b28vWGVuDQo+IA0KPiBEZWFyIEtlaXRoLA0KPiAN
Cj4gDQo+IE9uIDI1LjA1LjE3IDA0OjE5LCBLZWl0aCBIYW1pbHRvbiB3cm90ZToNCj4gPg0KPiA+
IEhleSBndXlzLiAgSSBqdXN0IG1pZ3JhdGVkIHRoZSBmaXJzdCBvZiAyIHNlcnZlcnMgZnJvbSBY
ZW5TZXJ2ZXIgaW50bw0KPiA+IGEgR2VudG9vL1hlbiBlbnZpcm9ubWVudC4gIEnigJltIHJlYWxs
eSBleGNpdGVkIGFuZCBpdOKAmXMgd29ya2luZyBncmVhdCENCj4gPiBIb3dldmVyIEnigJltIG5v
dCBzdXJlIGlmIEnigJltIGRvaW5nIHRoZSBkcml2ZXJzIGNvcnJlY3RseS4gIE9uIG15IFNlcnZl
cg0KPiA+IDIwMTYgdm0gSSBhbSBoYXZpbmcgYSBoYXJkIHRpbWUgb3ZlcndyaXRpbmcgdGhlIFhl
blNlcnZlciBQViBkcml2ZXJzDQo+ID4gd2l0aCB0aGUgWGVuIG9uZXMgZnJvbSB0aGUgd2Vic2l0
ZSBpdCBqdXN0IHNheXMgdGhhdCB0aGUgZHJpdmVyIGlzIHVwDQo+ID4gdG8gZGF0ZS4gIEnigJlt
IGp1c3Qgd29uZGVyaW5nIGlmIEkgc2hvdWxkIHdvcnJ5IHRoYXQgSSBkb27igJl0IGhhdmUgdGhl
DQo+ID4gUFYgZHJpdmVycyBpbnN0YWxsZWQgZnJvbSB0aGUgWGVuIHNpdGUgYW5kIHRoZSBYZW5T
ZXJ2ZXIgb25lcyBhcmUNCj4gPiBnb2luZyB0byBiZSBvay4gIEnigJltIG5vdCBzdXJlIHdoYXQg
dG8gZG8uIEkgZGlkIGEgc2F2ZSBzdGF0ZSBhbmQgdGhlbg0KPiA+IGRpZCBhIGNsZWFuIGluc3Rh
bGwgb2YgbXkgMjAxNiBzZXJ2ZXIgd2l0aCBubyBjaGFuZ2UuICBJIGhhdmUgZ29uZQ0KPiA+IGlu
dG8gZGV2aWNlIG1hbmFnZXIgYW5kIHJlbW92ZWQgdGhlIFhlblNlcnZlciBCdXMgaW50ZXJmYWNl
IGFuZCBhDQo+ID4gY291cGxlIG90aGVycyBpbiBob3BlcyB0byBiZSBhYmxlIHRvIGluc3RhbGwg
dGhlIG9uZXMgZnJvbSB0aGUNCj4gPiBYZW5Qcm9qZWN0IHNpdGUgYnV0IGl0IGp1c3QgcmVuZGVy
cyB0aGUgc3lzdGVtIHVuYm9vdGFibGUuDQoNClRoYXQncyBub3QgZW50aXJlbHkgc3VycHJpc2lu
Zy4gUmVtb3ZpbmcgV2luZG93cyBkcml2ZXJzIGlzIG5vdCBhbiBlYXN5IHRoaW5nIHRvIGRvIGFu
ZCBub3Qgc29tZXRoaW5nIHRoYXQgTWljcm9zb2Z0IHJlYWxseSBzdXBwb3J0LiBZb3UncmUgc2Fm
ZXN0IGp1c3QgbGVhdmluZyBYZW5TZXJ2ZXIgZHJpdmVycyBpbiBwbGFjZSBhcyB0aGV5IGFyZSBs
YXJnZWx5IHRoZSBzYW1lIGFzIHRoZSBYZW4gUHJvamVjdCBkcml2ZXJzLg0KV2hhdCBoYXMgcHJv
YmFibHkgaGFwcGVuZWQgaXMgdGhhdCwgYnkgcmVtb3ZpbmcgdGhlIGJ1cyBkcml2ZXIgeW91IGhh
dmUgcHJldmVudGVkIHRoZSBQViBzdG9yYWdlIGRyaXZlciBmcm9tIGNvbWluZyBvbiBsaW5lLCBi
dXQgYWxsIHRoZSBpbmZyYXN0cnVjdHVyZSBpcyBzdGlsbCBpbiBwbGFjZSB0byB1bnBsdWcgeW91
ciBlbXVsYXRlZCBzdG9yYWdlIGRldmljZS4gVGh1cyB5b3Ugbm8gbG9uZ2VyIGhhdmUgYSBzeXN0
ZW0gZGlzayBhbmQgeW91IGdldCBhIDB4N2IgQlNPRC4NCg0KPiA+ICBJIGd1ZXNzIG15DQo+ID4g
cXVlc3Rpb24gaXMsIGlzIHRoZXJlIGFueSBzaW1wbGUgd2F5IHRvIHJlbW92ZSB0aGUgWGVuU2Vy
dmVyIFBWDQo+ID4gZHJpdmVycyBvbiBteSAyMDE2IHNlcnZlciBzbyB0aGF0IEkgY2FuIGluc3Rh
bGwgdGhlIHByb3ByaWV0YXJ5IFhlbiBQVg0KPiA+IGRyaXZlcnMgd2l0aG91dCBoYXZpbmcgdG8g
ZG8gYSBjb21wbGV0ZSBmb3JtYXQgb2YgdGhlIHN5c3RlbS4gIEkgaGF2ZQ0KPiA+IGFscmVhZHkg
dW5pbnN0YWxsZWQgYWxsIHRoZSBjaXRyaXggc3R1ZmYgSSBoYWQgaW5zdGFsbGVkLi4NCj4gPg0K
PiA+ID09IEtlaXRoDQo+ID4NCj4gPg0KPiBJIGd1ZXNzIHhlbi1kZXZlbCBpcyBtb3JlIHN1aXRh
YmxlIGxpc3QgdG8gYXNrIHNlcnZlciBzaWRlIHF1ZXN0aW9ucy4NCj4gDQoNCndpbi1wdi1kZXZl
bCBpcyBtb3JlIGFwcHJvcHJpYXRlIDotKQ0KDQogIFBhdWwNCg0KPiAtLQ0KPiANCj4gKkFuZHJp
aSBBbmlzb3YqDQo+IA0KPiANCj4gDQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fDQo+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gWGVuLWRldmVsQGxp
c3RzLnhlbi5vcmcNCj4gaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbA0KX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVsIG1haWxp
bmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54
ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Thu May 25 23:08:37 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 May 2017 23:08: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 1dE1rw-0000BR-Gb; Thu, 25 May 2017 23:08:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <mailinglists@websitemanagers.com.au>)
 id 1dE1rv-0000BL-4K
 for win-pv-devel@lists.xenproject.org; Thu, 25 May 2017 23:08:35 +0000
Received: from [85.158.139.211] by server-3.bemta-5.messagelabs.com id
 95/E6-02022-2F367295; Thu, 25 May 2017 23:08:34 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrJIsWRWlGSWpSXmKPExsVyOimSS/ddsnq
 kwaXLshZ/Fic6MHoc/nCFJYAxijUzLym/IoE1Y9v5mcwFW6Ur/q97xdLAeECsi5GTQ0jAXWL3
 8XbWLkYuILuNSeLtng1sEE4ro8TMmbvYQaqEBZIk9m1bxAJiiwioSlxbfgyqaBujxJZrv1hBE
 mwCVhKbnzwHK+IV8JRonrAfrJkFqOHtpGNgNaIC4RK9B/rZIGoEJU7OfAJWzyngITFx3m0mEJ
 tZwExi3uaHzBC2vETz1tlQtrjEvvm7mScw8s9C0j4LScssJC2zkLQsYGRZxahRnFpUllqka2S
 ol1SUmZ5RkpuYmaNraGCql5taXJyYnpqTmFSsl5yfu4kRGKD1DAyMOxjvTvY7xCjJwaQkyqtn
 rR4pxJeUn1KZkVicEV9UmpNafIhRhoNDSYJXHRjwQoJFqempFWmZOcBYgUlLcPAoifAagKR5i
 wsSc4sz0yFSpxiNOTasXv+FieNO34YvTEIsefl5qVLivAogpQIgpRmleXCDYDF8iVFWSpiXkY
 GBQYinILUoN7MEVf4VozgHo5Iwrz3IFJ7MvBK4fa+ATmECOsX1rjLIKSWJCCmpBsbJ1kUhC6t
 04x7v2TD7ah6bcWPJnjOdTxQ0+XWN5udK9KsdS62VnXz2rXjGHHbTa4wP5AVD7vRolVTfk1HS
 zPyy4dddtZBvZieyQ7z9fbgaoj64uX07c9ZDdl6lycSNj+7dFMl7Ly64KWLpHaUPjH9OmHfea
 Xi54fa3owaG614Hhc5lawqyKlZiKc5INNRiLipOBAAhZU/b3AIAAA==
X-Env-Sender: mailinglists@websitemanagers.com.au
X-Msg-Ref: server-3.tower-206.messagelabs.com!1495753705!96750930!1
X-Originating-IP: [203.98.89.10]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 9.4.12; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10083 invoked from network); 25 May 2017 23:08:28 -0000
Received: from hammer.websitemanagers.com.au (HELO
 hammer.websitemanagers.com.au) (203.98.89.10)
 by server-3.tower-206.messagelabs.com with DHE-RSA-AES256-SHA encrypted SMTP;
 25 May 2017 23:08:28 -0000
Received: (qmail 21443 invoked by uid 1011); 25 May 2017 23:08:22 -0000
Received: from 61.69.80.138 by hammer (envelope-from
 <mailinglists@websitemanagers.com.au>, uid 1008) with qmail-scanner-1.24 
 (clamdscan: 0.98.1/23417. spamassassin: 3.3.1.  
 Clear:RC:1(61.69.80.138):. 
 Processed in 0.019644 secs); 25 May 2017 23:08:22 -0000
Received: from unknown (HELO ?10.97.0.38?)
 (adamg+websitemanagers.com.au@61.69.80.138)
 by 0 with ESMTPA; 25 May 2017 23:08:22 -0000
To: win-pv-devel@lists.xenproject.org
References: <zarafa.5926311c.97ee.05ae96772ec59751@git.mfindustries.net>
 <72fa6ff2-6c5b-5716-e864-a3c4cb1576a5@epam.com>
 <a07c288b521a4248b3a48c3d6faa9642@AMSPEX02CL03.citrite.net>
From: Adam Goryachev <mailinglists@websitemanagers.com.au>
Message-ID: <63693f55-195e-80a4-905f-0d231572b6db@websitemanagers.com.au>
Date: Fri, 26 May 2017 09:08:21 +1000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.1.1
MIME-Version: 1.0
In-Reply-To: <a07c288b521a4248b3a48c3d6faa9642@AMSPEX02CL03.citrite.net>
Content-Language: en-CA
Subject: Re: [win-pv-devel] [Xen-devel] [Embedded-pv-devel] Migrated from
 Xenserver to Gentoo/Xen
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/cgi-bin/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/cgi-bin/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>

T24gMjYvMDUvMTcgMDg6MDgsIFBhdWwgRHVycmFudCB3cm90ZToKPj4gLS0tLS1PcmlnaW5hbCBN
ZXNzYWdlLS0tLS0KPj4gRnJvbTogWGVuLWRldmVsIFttYWlsdG86eGVuLWRldmVsLWJvdW5jZXNA
bGlzdHMueGVuLm9yZ10gT24gQmVoYWxmIE9mCj4+IEFuZHJpaSBBbmlzb3YKPj4gU2VudDogMjUg
TWF5IDIwMTcgMDQ6MjgKPj4gVG86IEtlaXRoIEhhbWlsdG9uIDxrZWl0aEBtZmluZHVzdHJpZXMu
bmV0PjsgeGVuLWRldmVsIDx4ZW4tCj4+IGRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnPgo+PiBD
YzogZW1iZWRkZWQtcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKPj4gU3ViamVjdDogUmU6
IFtYZW4tZGV2ZWxdIFtFbWJlZGRlZC1wdi1kZXZlbF0gTWlncmF0ZWQgZnJvbSBYZW5zZXJ2ZXIg
dG8KPj4gR2VudG9vL1hlbgo+Pgo+PiBEZWFyIEtlaXRoLAo+Pgo+Pgo+PiBPbiAyNS4wNS4xNyAw
NDoxOSwgS2VpdGggSGFtaWx0b24gd3JvdGU6Cj4+PiBIZXkgZ3V5cy4gIEkganVzdCBtaWdyYXRl
ZCB0aGUgZmlyc3Qgb2YgMiBzZXJ2ZXJzIGZyb20gWGVuU2VydmVyIGludG8KPj4+IGEgR2VudG9v
L1hlbiBlbnZpcm9ubWVudC4gIEnigJltIHJlYWxseSBleGNpdGVkIGFuZCBpdOKAmXMgd29ya2lu
ZyBncmVhdCEKPj4+IEhvd2V2ZXIgSeKAmW0gbm90IHN1cmUgaWYgSeKAmW0gZG9pbmcgdGhlIGRy
aXZlcnMgY29ycmVjdGx5LiAgT24gbXkgU2VydmVyCj4+PiAyMDE2IHZtIEkgYW0gaGF2aW5nIGEg
aGFyZCB0aW1lIG92ZXJ3cml0aW5nIHRoZSBYZW5TZXJ2ZXIgUFYgZHJpdmVycwo+Pj4gd2l0aCB0
aGUgWGVuIG9uZXMgZnJvbSB0aGUgd2Vic2l0ZSBpdCBqdXN0IHNheXMgdGhhdCB0aGUgZHJpdmVy
IGlzIHVwCj4+PiB0byBkYXRlLiAgSeKAmW0ganVzdCB3b25kZXJpbmcgaWYgSSBzaG91bGQgd29y
cnkgdGhhdCBJIGRvbuKAmXQgaGF2ZSB0aGUKPj4+IFBWIGRyaXZlcnMgaW5zdGFsbGVkIGZyb20g
dGhlIFhlbiBzaXRlIGFuZCB0aGUgWGVuU2VydmVyIG9uZXMgYXJlCj4+PiBnb2luZyB0byBiZSBv
ay4gIEnigJltIG5vdCBzdXJlIHdoYXQgdG8gZG8uIEkgZGlkIGEgc2F2ZSBzdGF0ZSBhbmQgdGhl
bgo+Pj4gZGlkIGEgY2xlYW4gaW5zdGFsbCBvZiBteSAyMDE2IHNlcnZlciB3aXRoIG5vIGNoYW5n
ZS4gIEkgaGF2ZSBnb25lCj4+PiBpbnRvIGRldmljZSBtYW5hZ2VyIGFuZCByZW1vdmVkIHRoZSBY
ZW5TZXJ2ZXIgQnVzIGludGVyZmFjZSBhbmQgYQo+Pj4gY291cGxlIG90aGVycyBpbiBob3BlcyB0
byBiZSBhYmxlIHRvIGluc3RhbGwgdGhlIG9uZXMgZnJvbSB0aGUKPj4+IFhlblByb2plY3Qgc2l0
ZSBidXQgaXQganVzdCByZW5kZXJzIHRoZSBzeXN0ZW0gdW5ib290YWJsZS4KPiBUaGF0J3Mgbm90
IGVudGlyZWx5IHN1cnByaXNpbmcuIFJlbW92aW5nIFdpbmRvd3MgZHJpdmVycyBpcyBub3QgYW4g
ZWFzeSB0aGluZyB0byBkbyBhbmQgbm90IHNvbWV0aGluZyB0aGF0IE1pY3Jvc29mdCByZWFsbHkg
c3VwcG9ydC4gWW91J3JlIHNhZmVzdCBqdXN0IGxlYXZpbmcgWGVuU2VydmVyIGRyaXZlcnMgaW4g
cGxhY2UgYXMgdGhleSBhcmUgbGFyZ2VseSB0aGUgc2FtZSBhcyB0aGUgWGVuIFByb2plY3QgZHJp
dmVycy4KPiBXaGF0IGhhcyBwcm9iYWJseSBoYXBwZW5lZCBpcyB0aGF0LCBieSByZW1vdmluZyB0
aGUgYnVzIGRyaXZlciB5b3UgaGF2ZSBwcmV2ZW50ZWQgdGhlIFBWIHN0b3JhZ2UgZHJpdmVyIGZy
b20gY29taW5nIG9uIGxpbmUsIGJ1dCBhbGwgdGhlIGluZnJhc3RydWN0dXJlIGlzIHN0aWxsIGlu
IHBsYWNlIHRvIHVucGx1ZyB5b3VyIGVtdWxhdGVkIHN0b3JhZ2UgZGV2aWNlLiBUaHVzIHlvdSBu
byBsb25nZXIgaGF2ZSBhIHN5c3RlbSBkaXNrIGFuZCB5b3UgZ2V0IGEgMHg3YiBCU09ELgo+Cj4+
PiAgIEkgZ3Vlc3MgbXkKPj4+IHF1ZXN0aW9uIGlzLCBpcyB0aGVyZSBhbnkgc2ltcGxlIHdheSB0
byByZW1vdmUgdGhlIFhlblNlcnZlciBQVgo+Pj4gZHJpdmVycyBvbiBteSAyMDE2IHNlcnZlciBz
byB0aGF0IEkgY2FuIGluc3RhbGwgdGhlIHByb3ByaWV0YXJ5IFhlbiBQVgo+Pj4gZHJpdmVycyB3
aXRob3V0IGhhdmluZyB0byBkbyBhIGNvbXBsZXRlIGZvcm1hdCBvZiB0aGUgc3lzdGVtLiAgSSBo
YXZlCj4+PiBhbHJlYWR5IHVuaW5zdGFsbGVkIGFsbCB0aGUgY2l0cml4IHN0dWZmIEkgaGFkIGlu
c3RhbGxlZC4uCj4+Pgo+Pj4gPT0gS2VpdGgKPj4+CkknbSBub3Qgc3VyZSBpZiB0aGlzIHdpbGwg
aGVscCB5b3Ugb3IgYW55Ym9keSBlbHNlLCBidXQgdGhlIHByb2Nlc3MgSSAKZm9sbG93ZWQgdG8g
bW92ZSBmcm9tIHhlbiA0LjEuNiB0byA0LjguMSBvbiB3aW5kb3dzIDIwMTJSMiB3YXM6CjEpIGFk
ZCBnbnR0YWJfbWF4X2ZyYW1lcz0xMjggdG8gbXkgZG9tMCBHUlVCX0NNRExJTkVfWEVOIHNvIHRo
YXQgdGhlIApuZXR3b3JrIGRyaXZlciB3b3VsZCB3b3JrIHdpdGhpbiB0aGUgVk0gKG90aGVyd2lz
ZSB5b3UgbmVlZCB0byAKZGlzYWJsZS9lbmFibGUgaXQgZnJvbSB3aW5kb3dzIGVhY2ggYm9vdHVw
KS4gVGhpcyBpcyBvbiB0aGUgNC44LjEgeGVuLgoyKSBzaHV0ZG93biB0aGUgVk0sIHRha2UgYSBz
bmFwc2hvdCAoYmFja3VwKQozKSBib290dXAgb24gbmV3IHNlcnZlciwgd2FpdCBmb3IgaXQgdG8g
ZmFpbCB0byBib290LCBhbmQgYXV0by1yZWJvb3QKNCkgY2hvb3NlIHN0YXJ0dXAgb3B0aW9ucwo1
KSBzdGFydCBpbiBzYWZlIG1vZGUKNikgdW4taW5zdGFsbCBvbGQgZHJpdmVycyAoZnJvbSBjb250
cm9sIHBhbmVsL3Byb2dyYW1zCjcpIHJ1biB0aGUgd2lucHYgdW5pbnN0YWxsIHNjcmlwdCB0aGF0
IHlvdSB3ZXJlIHN1cHBvc2VkIHRvIHVzZSB0byAKdW5pbnN0YWxsIHYxMCBkcml2ZXJzICh3YXMg
dXNpbmcgdjExKQo4KSBpbnN0YWxsIGVhY2ggb2YgdGhlIG5ldyB4ZW4gcHJvamVjdCB3aW4gcHYg
ZHJpdmVycyAoaWYgYW55IGZhaWwsIApyZXRyeSwgaWYgdGhleSBmYWlsIGFnYWluLCBpZ25vcmUg
YW5kIGNvbnRpbnVlKQo5KSByZWJvb3Qgbm9ybWFsbHkKMTApIHJlaW5zdGFsbCBhbnkgZHJpdmVy
cyB0aGF0IGZhaWxlZCBmcm9tIHN0ZXAgNywgYW5kIHJlYm9vdAoxMSkgRml4IGFueSBuZXR3b3Jr
IGNhcmQgc2V0dGluZ3MgKGllLCBzdGF0aWMgSVAvRE5TL2V0Yykgb24gdGhlIG5ldHdvcmsgCmNh
cmQgaW4gdGhlIFZNCgpOb3cgSSBpbWFnaW5lIG1vc3Qgb2YgdGhlIGFib3ZlIHdvdWxkIGJlIHNp
bWlsYXIgb24gd2luMjAxNiwgYW5kIG1vdmluZyAKZnJvbSBYZW5TZXJ2ZXIgdG8gWGVuLCBiYXNp
Y2FsbHkgYm9vdHVwIGluIHNhZmUgbW9kZSwgdW5pbnN0YWxsIG9sZCAKZHJpdmVycywgaW5zdGFs
bCBuZXcgZHJpdmVycy4KCklmIHlvdSBmaW5kIGEgcHJvY2VzcyB0aGF0IHdvcmtzLCBwbGVhc2Ug
c2hhcmUgaXQsIEknbSBzdXJlIG1hbnkgb3RoZXIgCnBlb3BsZSB3aWxsIGJlIGludGVyZXN0ZWQg
aW4gZnV0dXJlLgoKUmVnYXJkcywKQWRhbQotLSAKQWRhbSBHb3J5YWNoZXYgV2Vic2l0ZSBNYW5h
Z2VycyB3d3cud2Vic2l0ZW1hbmFnZXJzLmNvbS5hdQoKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYt
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9j
Z2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Tue May 30 14:04:23 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 May 2017 14:04: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 1dFhkz-0000f3-3S; Tue, 30 May 2017 14:04:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=316bc7b5a=Paul.Durrant@citrix.com>)
 id 1dFhkx-0000ex-Go
 for win-pv-devel@lists.xenproject.org; Tue, 30 May 2017 14:04:19 +0000
Received: from [85.158.137.68] by server-12.bemta-3.messagelabs.com id
 37/1F-11537-2EB7D295; Tue, 30 May 2017 14:04:18 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrGLMWRWlGSWpSXmKPExsXitHRDpO6jat1
 IgzezuSz+LE50YPQ4/OEKSwBjFGtmXlJ+RQJrxteToQWvQio2bNzP2MD4wrGLkZNDQsBfYnv/
 LxYQm01AR2Lq00usILaIgLrEvs9bmUBsZgEtiYaJS8BsYYEwiReXLjOC2CwCqhIPJ/aC9fIKu
 EjcmTiZvYuRA2imnET3TjeQsJCAisT6qbPYIEoEJU7OfMICMVJC4uCLF8wTGLlnIUnNQpJawM
 i0ilGjOLWoLLVI18hcL6koMz2jJDcxM0fX0MBYLze1uDgxPTUnMalYLzk/dxMjMAzqGRgYdzC
 27PU7xCjJwaQkyutsrRspxJeUn1KZkVicEV9UmpNafIhRhoNDSYJ3SxVQTrAoNT21Ii0zBxiQ
 MGkJDh4lEV51kDRvcUFibnFmOkTqFKMux7wLW74wCbHk5eelSonz9oAUCYAUZZTmwY2ARcclR
 lkpYV5GBgYGIZ6C1KLczBJU+VeM4hyMSsK8S0Cm8GTmlcBtegV0BBPQEbt2aIMcUZKIkJJqYC
 zqaFLN+OalxmXyVmfd7PL+1kNqpVyfCwxOHFt12NvrnbzYDVf9v6b8MlOaDn5IatwQy+I3I2e
 hVwOTm/mm1JBbDK9m3g65GVAvumr+bn7+VnXVHsby+BdFDqmrrqydXVHA5BKpMVuApTz3quGl
 q4+XPWT7K9oRXs2WOG9Lh93PLfksoTP2KbEUZyQaajEXFScCAD2zVYqJAgAA
X-Env-Sender: prvs=316bc7b5a=Paul.Durrant@citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1496153056!64635760!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.19; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 35692 invoked from network); 30 May 2017 14:04:17 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
 by server-6.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
 30 May 2017 14:04:17 -0000
X-IronPort-AV: E=Sophos;i="5.38,418,1491264000"; d="scan'208";a="425880817"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Tue, 30 May 2017 15:04:05 +0100
Message-ID: <1496153046-75-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] Remove interface versions no longer
	exposed through PDO revisions
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/cgi-bin/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/cgi-bin/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>

WEVOQlVTX0VWVENITl9JTlRFUkZBQ0UgdmVyc2lvbnMgcHJpb3IgdG8gNCBhbmQKWEVOQlVTX1NI
QVJFRF9JTkZPX0lOVEVSRkFDRSB2ZXJzaW9uIDEgYXJlIG5vIGxvbmdlciBhdmFpbGFibGUgZm9y
CmV4dGVybmFsIHF1ZXJ5IGFuZCBub3RoaW5nIGludGVybmFsIHRvIHRoZSBYRU5CVVMgcGFja2Fn
ZSB1c2VzIHRoZW0sIHNvCnRoZSBjb2RlIGNhbiBiZSByZW1vdmVkLgoKU2lnbmVkLW9mZi1ieTog
UGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KLS0tCiBpbmNsdWRlL2V2dGNo
bl9pbnRlcmZhY2UuaCAgICAgIHwgNjYgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBp
bmNsdWRlL3NoYXJlZF9pbmZvX2ludGVyZmFjZS5oIHwgMjQgKy0tLS0tLS0tLS0KIHNyYy94ZW5i
dXMvZXZ0Y2huLmMgICAgICAgICAgICAgfCA4OSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogc3JjL3hlbmJ1cy9zaGFyZWRfaW5mby5jICAgICAgICB8IDQ4IC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyMjUg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ldnRjaG5faW50ZXJmYWNlLmggYi9p
bmNsdWRlL2V2dGNobl9pbnRlcmZhY2UuaAppbmRleCA0ZGU0NTkwLi40ZTY5NmM4IDEwMDY0NAot
LS0gYS9pbmNsdWRlL2V2dGNobl9pbnRlcmZhY2UuaAorKysgYi9pbmNsdWRlL2V2dGNobl9pbnRl
cmZhY2UuaApAQCAtMTEyLDEzICsxMTIsNiBAQCB0eXBlZGVmIFBYRU5CVVNfRVZUQ0hOX0NIQU5O
RUwKICAgICAuLi4KICAgICApOwogCi10eXBlZGVmIE5UU1RBVFVTCi0oKlhFTkJVU19FVlRDSE5f
QklORF9WMikoCi0gICAgSU4gIFBJTlRFUkZBQ0UgICAgICAgICAgICAgIEludGVyZmFjZSwKLSAg
ICBJTiAgUFhFTkJVU19FVlRDSE5fQ0hBTk5FTCAgQ2hhbm5lbCwKLSAgICBJTiAgVUxPTkcgICAg
ICAgICAgICAgICAgICAgQ3B1Ci0gICAgKTsKLQogLyohIFx0eXBlZGVmIFhFTkJVU19FVlRDSE5f
QklORAogICAgIFxicmllZiBCaW5kIGFuIGV2ZW50IGNoYW5uZWwgdG8gYSBzcGVjaWZpYyBDUFUK
IApAQCAtMTM1LDEzICsxMjgsNiBAQCB0eXBlZGVmIE5UU1RBVFVTCiAgICAgSU4gIFVDSEFSICAg
ICAgICAgICAgICAgICAgIE51bWJlcgogICAgICk7CiAKLXR5cGVkZWYgQk9PTEVBTgotKCpYRU5C
VVNfRVZUQ0hOX1VOTUFTS19WMSkoCi0gICAgSU4gIFBJTlRFUkZBQ0UgICAgICAgICAgICAgIElu
dGVyZmFjZSwKLSAgICBJTiAgUFhFTkJVU19FVlRDSE5fQ0hBTk5FTCAgQ2hhbm5lbCwKLSAgICBJ
TiAgQk9PTEVBTiAgICAgICAgICAgICAgICAgSW5DYWxsYmFjawotICAgICk7Ci0KIC8qISBcdHlw
ZWRlZiBYRU5CVVNfRVZUQ0hOX1VOTUFTSwogICAgIFxicmllZiBVbm1hc2sgYW4gZXZlbnQgY2hh
bm5lbAogCkBAIC0yMzIsNTYgKzIxOCw2IEBAIHR5cGVkZWYgVk9JRAogREVGSU5FX0dVSUQoR1VJ
RF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRSwgCiAweGJlMjQ0MGFjLCAweDEwOTgsIDB4NDE1MCwg
MHhhZiwgMHg0ZCwgMHg0NSwgMHgyZiwgMHhhZCwgMHhjZSwgMHhmOSwgMHgyMyk7CiAKLS8qISBc
c3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WMQotICAgIFxicmllZiBFVlRDSE4gaW50
ZXJmYWNlIHZlcnNpb24gMQotICAgIFxpbmdyb3VwIGludGVyZmFjZXMKLSovCi1zdHJ1Y3QgX1hF
TkJVU19FVlRDSE5fSU5URVJGQUNFX1YxIHsKLSAgICBJTlRFUkZBQ0UgICAgICAgICAgICAgICBJ
bnRlcmZhY2U7Ci0gICAgWEVOQlVTX0VWVENITl9BQ1FVSVJFICAgRXZ0Y2huQWNxdWlyZTsKLSAg
ICBYRU5CVVNfRVZUQ0hOX1JFTEVBU0UgICBFdnRjaG5SZWxlYXNlOwotICAgIFhFTkJVU19FVlRD
SE5fT1BFTiAgICAgIEV2dGNobk9wZW47Ci0gICAgWEVOQlVTX0VWVENITl9VTk1BU0tfVjEgRXZ0
Y2huVW5tYXNrVmVyc2lvbjE7Ci0gICAgWEVOQlVTX0VWVENITl9TRU5EX1YxICAgRXZ0Y2huU2Vu
ZFZlcnNpb24xOwotICAgIFhFTkJVU19FVlRDSE5fVFJJR0dFUiAgIEV2dGNoblRyaWdnZXI7Ci0g
ICAgWEVOQlVTX0VWVENITl9HRVRfUE9SVCAgRXZ0Y2huR2V0UG9ydDsKLSAgICBYRU5CVVNfRVZU
Q0hOX0NMT1NFICAgICBFdnRjaG5DbG9zZTsKLX07Ci0KLS8qISBcc3RydWN0IF9YRU5CVVNfRVZU
Q0hOX0lOVEVSRkFDRV9WMgotICAgIFxicmllZiBFVlRDSE4gaW50ZXJmYWNlIHZlcnNpb24gMgot
ICAgIFxpbmdyb3VwIGludGVyZmFjZXMKLSovCi1zdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJG
QUNFX1YyIHsKLSAgICBJTlRFUkZBQ0UgICAgICAgICAgICAgICBJbnRlcmZhY2U7Ci0gICAgWEVO
QlVTX0VWVENITl9BQ1FVSVJFICAgRXZ0Y2huQWNxdWlyZTsKLSAgICBYRU5CVVNfRVZUQ0hOX1JF
TEVBU0UgICBFdnRjaG5SZWxlYXNlOwotICAgIFhFTkJVU19FVlRDSE5fT1BFTiAgICAgIEV2dGNo
bk9wZW47Ci0gICAgWEVOQlVTX0VWVENITl9CSU5EX1YyICAgRXZ0Y2huQmluZFZlcnNpb24yOwot
ICAgIFhFTkJVU19FVlRDSE5fVU5NQVNLX1YxIEV2dGNoblVubWFza1ZlcnNpb24xOwotICAgIFhF
TkJVU19FVlRDSE5fU0VORF9WMSAgIEV2dGNoblNlbmRWZXJzaW9uMTsKLSAgICBYRU5CVVNfRVZU
Q0hOX1RSSUdHRVIgICBFdnRjaG5UcmlnZ2VyOwotICAgIFhFTkJVU19FVlRDSE5fR0VUX1BPUlQg
IEV2dGNobkdldFBvcnQ7Ci0gICAgWEVOQlVTX0VWVENITl9DTE9TRSAgICAgRXZ0Y2huQ2xvc2U7
Ci19OwotCi0vKiEgXHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjMKLSAgICBcYnJp
ZWYgRVZUQ0hOIGludGVyZmFjZSB2ZXJzaW9uIDMKLSAgICBcaW5ncm91cCBpbnRlcmZhY2VzCi0q
Lwotc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WMyB7Ci0gICAgSU5URVJGQUNFICAg
ICAgICAgICAgICAgSW50ZXJmYWNlOwotICAgIFhFTkJVU19FVlRDSE5fQUNRVUlSRSAgIEV2dGNo
bkFjcXVpcmU7Ci0gICAgWEVOQlVTX0VWVENITl9SRUxFQVNFICAgRXZ0Y2huUmVsZWFzZTsKLSAg
ICBYRU5CVVNfRVZUQ0hOX09QRU4gICAgICBFdnRjaG5PcGVuOwotICAgIFhFTkJVU19FVlRDSE5f
QklORF9WMiAgIEV2dGNobkJpbmRWZXJzaW9uMjsKLSAgICBYRU5CVVNfRVZUQ0hOX1VOTUFTSyAg
ICBFdnRjaG5Vbm1hc2s7Ci0gICAgWEVOQlVTX0VWVENITl9TRU5EX1YxICAgRXZ0Y2huU2VuZFZl
cnNpb24xOwotICAgIFhFTkJVU19FVlRDSE5fVFJJR0dFUiAgIEV2dGNoblRyaWdnZXI7Ci0gICAg
WEVOQlVTX0VWVENITl9HRVRfUE9SVCAgRXZ0Y2huR2V0UG9ydDsKLSAgICBYRU5CVVNfRVZUQ0hO
X0NMT1NFICAgICBFdnRjaG5DbG9zZTsKLX07Ci0KIC8qISBcc3RydWN0IF9YRU5CVVNfRVZUQ0hO
X0lOVEVSRkFDRV9WNAogICAgIFxicmllZiBFVlRDSE4gaW50ZXJmYWNlIHZlcnNpb24gNAogICAg
IFxpbmdyb3VwIGludGVyZmFjZXMKQEAgLTM0NSw3ICsyODEsNyBAQCB0eXBlZGVmIHN0cnVjdCBf
WEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjYgWEVOQlVTX0VWVENITl9JTlRFUkZBQ0UsICpQWEVO
QlVTX0VWVAogCiAjZW5kaWYgIC8vIF9XSU5ETEwKIAotI2RlZmluZSBYRU5CVVNfRVZUQ0hOX0lO
VEVSRkFDRV9WRVJTSU9OX01JTiAxCisjZGVmaW5lIFhFTkJVU19FVlRDSE5fSU5URVJGQUNFX1ZF
UlNJT05fTUlOIDQKICNkZWZpbmUgWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVkVSU0lPTl9NQVgg
NgogCiAjZW5kaWYgIC8vIF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9ICmRpZmYgLS1naXQgYS9p
bmNsdWRlL3NoYXJlZF9pbmZvX2ludGVyZmFjZS5oIGIvaW5jbHVkZS9zaGFyZWRfaW5mb19pbnRl
cmZhY2UuaAppbmRleCAyODdmZWFiLi5hMDYxM2NlIDEwMDY0NAotLS0gYS9pbmNsdWRlL3NoYXJl
ZF9pbmZvX2ludGVyZmFjZS5oCisrKyBiL2luY2x1ZGUvc2hhcmVkX2luZm9faW50ZXJmYWNlLmgK
QEAgLTg2LDEzICs4Niw2IEBAIHR5cGVkZWYgQk9PTEVBTgogICAgIElOICBQVk9JRCAgICAgICAg
ICAgICAgICAgICAgICAgQXJndW1lbnQKICAgICApOwogCi10eXBlZGVmIEJPT0xFQU4KLSgqWEVO
QlVTX1NIQVJFRF9JTkZPX0VWVENITl9QT0xMX1YxKSgKLSAgICBJTiAgUElOVEVSRkFDRSAgSW50
ZXJmYWNlLAotICAgIElOICBCT09MRUFOICAgICAoKkZ1bmN0aW9uKShQVk9JRCwgVUxPTkcpLAot
ICAgIElOICBQVk9JRCAgICAgICBBcmd1bWVudAotICAgICk7Ci0KIC8qISBcdHlwZWRlZiBYRU5C
VVNfU0hBUkVEX0lORk9fRVZUQ0hOX0FDSwogICAgIFxicmllZiBQcml2YXRlIG1ldGhvZCBmb3Ig
RVZUQ0hOIGluZXJmYWNlCiAqLyAgCkBAIC0xMzUsMjEgKzEyOCw2IEBAIHR5cGVkZWYgTEFSR0Vf
SU5URUdFUgogREVGSU5FX0dVSUQoR1VJRF9YRU5CVVNfU0hBUkVEX0lORk9fSU5URVJGQUNFLCAK
IDB4N2U3M2MzNGYsIDB4MTY0MCwgMHg0NjQ5LCAweGE4LCAweGYzLCAweDI2LCAweDNiLCAweGM5
LCAweDMwLCAweGEwLCAweDQpOwogCi0vKiEgXHN0cnVjdCBfWEVOQlVTX1NIQVJFRF9JTkZPX0lO
VEVSRkFDRV9WMQotICAgIFxicmllZiBTSEFSRURfSU5GTyBpbnRlcmZhY2UgdmVyc2lvbiAxCi0g
ICAgXGluZ3JvdXAgaW50ZXJmYWNlcwotKi8KLXN0cnVjdCBfWEVOQlVTX1NIQVJFRF9JTkZPX0lO
VEVSRkFDRV9WMSB7Ci0gICAgSU5URVJGQUNFICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50
ZXJmYWNlOwotICAgIFhFTkJVU19TSEFSRURfSU5GT19BQ1FVSVJFICAgICAgICAgIFNoYXJlZElu
Zm9BY3F1aXJlOwotICAgIFhFTkJVU19TSEFSRURfSU5GT19SRUxFQVNFICAgICAgICAgIFNoYXJl
ZEluZm9SZWxlYXNlOwotICAgIFhFTkJVU19TSEFSRURfSU5GT19FVlRDSE5fUE9MTF9WMSAgIFNo
YXJlZEluZm9FdnRjaG5Qb2xsVmVyc2lvbjE7Ci0gICAgWEVOQlVTX1NIQVJFRF9JTkZPX0VWVENI
Tl9BQ0sgICAgICAgU2hhcmVkSW5mb0V2dGNobkFjazsKLSAgICBYRU5CVVNfU0hBUkVEX0lORk9f
RVZUQ0hOX01BU0sgICAgICBTaGFyZWRJbmZvRXZ0Y2huTWFzazsKLSAgICBYRU5CVVNfU0hBUkVE
X0lORk9fRVZUQ0hOX1VOTUFTSyAgICBTaGFyZWRJbmZvRXZ0Y2huVW5tYXNrOwotICAgIFhFTkJV
U19TSEFSRURfSU5GT19HRVRfVElNRSAgICAgICAgIFNoYXJlZEluZm9HZXRUaW1lOwotfTsKLQog
LyohIFxzdHJ1Y3QgX1hFTkJVU19TSEFSRURfSU5GT19JTlRFUkZBQ0VfVjIKICAgICBcYnJpZWYg
U0hBUkVEX0lORk8gaW50ZXJmYWNlIHZlcnNpb24gMgogICAgIFxpbmdyb3VwIGludGVyZmFjZXMK
QEAgLTE3Niw3ICsxNTQsNyBAQCB0eXBlZGVmIHN0cnVjdCBfWEVOQlVTX1NIQVJFRF9JTkZPX0lO
VEVSRkFDRV9WMiBYRU5CVVNfU0hBUkVEX0lORk9fSU5URVJGQUNFLCAqUAogCiAjZW5kaWYgIC8v
IF9XSU5ETEwKIAotI2RlZmluZSBYRU5CVVNfU0hBUkVEX0lORk9fSU5URVJGQUNFX1ZFUlNJT05f
TUlOICAgIDEKKyNkZWZpbmUgWEVOQlVTX1NIQVJFRF9JTkZPX0lOVEVSRkFDRV9WRVJTSU9OX01J
TiAgICAyCiAjZGVmaW5lIFhFTkJVU19TSEFSRURfSU5GT19JTlRFUkZBQ0VfVkVSU0lPTl9NQVgg
ICAgMgogCiAjZW5kaWYgIC8vIF9YRU5CVVNfU0hBUkVEX0lORk9fSApkaWZmIC0tZ2l0IGEvc3Jj
L3hlbmJ1cy9ldnRjaG4uYyBiL3NyYy94ZW5idXMvZXZ0Y2huLmMKaW5kZXggZjk2NWY1Yi4uNzU0
NmYxOSAxMDA2NDQKLS0tIGEvc3JjL3hlbmJ1cy9ldnRjaG4uYworKysgYi9zcmMveGVuYnVzL2V2
dGNobi5jCkBAIC0xNjMzLDQ0ICsxNjMzLDYgQEAgZG9uZToKICAgICBLZVJlbGVhc2VTcGluTG9j
aygmQ29udGV4dC0+TG9jaywgSXJxbCk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgX1hFTkJVU19FVlRD
SE5fSU5URVJGQUNFX1YxIEV2dGNobkludGVyZmFjZVZlcnNpb24xID0gewotICAgIHsgc2l6ZW9m
IChzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1YxKSwgMSwgTlVMTCwgTlVMTCwgTlVM
TCB9LAotICAgIEV2dGNobkFjcXVpcmUsCi0gICAgRXZ0Y2huUmVsZWFzZSwKLSAgICBFdnRjaG5P
cGVuLAotICAgIEV2dGNoblVubWFza1ZlcnNpb24xLAotICAgIEV2dGNoblNlbmRWZXJzaW9uMSwK
LSAgICBFdnRjaG5UcmlnZ2VyLAotICAgIEV2dGNobkdldFBvcnQsCi0gICAgRXZ0Y2huQ2xvc2UK
LX07Ci0gICAgICAgICAgICAgICAgICAgICAKLXN0YXRpYyBzdHJ1Y3QgX1hFTkJVU19FVlRDSE5f
SU5URVJGQUNFX1YyIEV2dGNobkludGVyZmFjZVZlcnNpb24yID0gewotICAgIHsgc2l6ZW9mIChz
dHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1YyKSwgMiwgTlVMTCwgTlVMTCwgTlVMTCB9
LAotICAgIEV2dGNobkFjcXVpcmUsCi0gICAgRXZ0Y2huUmVsZWFzZSwKLSAgICBFdnRjaG5PcGVu
LAotICAgIEV2dGNobkJpbmRWZXJzaW9uMiwKLSAgICBFdnRjaG5Vbm1hc2tWZXJzaW9uMSwKLSAg
ICBFdnRjaG5TZW5kVmVyc2lvbjEsCi0gICAgRXZ0Y2huVHJpZ2dlciwKLSAgICBFdnRjaG5HZXRQ
b3J0LAotICAgIEV2dGNobkNsb3NlCi19OwotCi1zdGF0aWMgc3RydWN0IF9YRU5CVVNfRVZUQ0hO
X0lOVEVSRkFDRV9WMyBFdnRjaG5JbnRlcmZhY2VWZXJzaW9uMyA9IHsKLSAgICB7IHNpemVvZiAo
c3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WMyksIDMsIE5VTEwsIE5VTEwsIE5VTEwg
fSwKLSAgICBFdnRjaG5BY3F1aXJlLAotICAgIEV2dGNoblJlbGVhc2UsCi0gICAgRXZ0Y2huT3Bl
biwKLSAgICBFdnRjaG5CaW5kVmVyc2lvbjIsCi0gICAgRXZ0Y2huVW5tYXNrLAotICAgIEV2dGNo
blNlbmRWZXJzaW9uMSwKLSAgICBFdnRjaG5UcmlnZ2VyLAotICAgIEV2dGNobkdldFBvcnQsCi0g
ICAgRXZ0Y2huQ2xvc2UKLX07Ci0KIHN0YXRpYyBzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJG
QUNFX1Y0IEV2dGNobkludGVyZmFjZVZlcnNpb240ID0gewogICAgIHsgc2l6ZW9mIChzdHJ1Y3Qg
X1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y0KSwgNCwgTlVMTCwgTlVMTCwgTlVMTCB9LAogICAg
IEV2dGNobkFjcXVpcmUsCkBAIC0xODIwLDU3ICsxNzgyLDYgQEAgRXZ0Y2huR2V0SW50ZXJmYWNl
KAogICAgIEFTU0VSVChDb250ZXh0ICE9IE5VTEwpOwogCiAgICAgc3dpdGNoIChWZXJzaW9uKSB7
Ci0gICAgY2FzZSAxOiB7Ci0gICAgICAgIHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0Vf
VjEgICpFdnRjaG5JbnRlcmZhY2U7Ci0KLSAgICAgICAgRXZ0Y2huSW50ZXJmYWNlID0gKHN0cnVj
dCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjEgKilJbnRlcmZhY2U7Ci0KLSAgICAgICAgc3Rh
dHVzID0gU1RBVFVTX0JVRkZFUl9PVkVSRkxPVzsKLSAgICAgICAgaWYgKFNpemUgPCBzaXplb2Yg
KHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjEpKQotICAgICAgICAgICAgYnJlYWs7
Ci0KLSAgICAgICAgKkV2dGNobkludGVyZmFjZSA9IEV2dGNobkludGVyZmFjZVZlcnNpb24xOwot
Ci0gICAgICAgIEFTU0VSVDNVKEludGVyZmFjZS0+VmVyc2lvbiwgPT0sIFZlcnNpb24pOwotICAg
ICAgICBJbnRlcmZhY2UtPkNvbnRleHQgPSBDb250ZXh0OwotCi0gICAgICAgIHN0YXR1cyA9IFNU
QVRVU19TVUNDRVNTOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSAyOiB7Ci0gICAg
ICAgIHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjIgICpFdnRjaG5JbnRlcmZhY2U7
Ci0KLSAgICAgICAgRXZ0Y2huSW50ZXJmYWNlID0gKHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRF
UkZBQ0VfVjIgKilJbnRlcmZhY2U7Ci0KLSAgICAgICAgc3RhdHVzID0gU1RBVFVTX0JVRkZFUl9P
VkVSRkxPVzsKLSAgICAgICAgaWYgKFNpemUgPCBzaXplb2YgKHN0cnVjdCBfWEVOQlVTX0VWVENI
Tl9JTlRFUkZBQ0VfVjIpKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgKkV2dGNobklu
dGVyZmFjZSA9IEV2dGNobkludGVyZmFjZVZlcnNpb24yOwotCi0gICAgICAgIEFTU0VSVDNVKElu
dGVyZmFjZS0+VmVyc2lvbiwgPT0sIFZlcnNpb24pOwotICAgICAgICBJbnRlcmZhY2UtPkNvbnRl
eHQgPSBDb250ZXh0OwotCi0gICAgICAgIHN0YXR1cyA9IFNUQVRVU19TVUNDRVNTOwotICAgICAg
ICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSAzOiB7Ci0gICAgICAgIHN0cnVjdCBfWEVOQlVTX0VW
VENITl9JTlRFUkZBQ0VfVjMgICpFdnRjaG5JbnRlcmZhY2U7Ci0KLSAgICAgICAgRXZ0Y2huSW50
ZXJmYWNlID0gKHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjMgKilJbnRlcmZhY2U7
Ci0KLSAgICAgICAgc3RhdHVzID0gU1RBVFVTX0JVRkZFUl9PVkVSRkxPVzsKLSAgICAgICAgaWYg
KFNpemUgPCBzaXplb2YgKHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjMpKQotICAg
ICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgKkV2dGNobkludGVyZmFjZSA9IEV2dGNobkludGVy
ZmFjZVZlcnNpb24zOwotCi0gICAgICAgIEFTU0VSVDNVKEludGVyZmFjZS0+VmVyc2lvbiwgPT0s
IFZlcnNpb24pOwotICAgICAgICBJbnRlcmZhY2UtPkNvbnRleHQgPSBDb250ZXh0OwotCi0gICAg
ICAgIHN0YXR1cyA9IFNUQVRVU19TVUNDRVNTOwotICAgICAgICBicmVhazsKLSAgICB9CiAgICAg
Y2FzZSA0OiB7CiAgICAgICAgIHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjQgICpF
dnRjaG5JbnRlcmZhY2U7CiAKZGlmZiAtLWdpdCBhL3NyYy94ZW5idXMvc2hhcmVkX2luZm8uYyBi
L3NyYy94ZW5idXMvc2hhcmVkX2luZm8uYwppbmRleCBkNmJhYmNmLi44YWVjMzlkIDEwMDY0NAot
LS0gYS9zcmMveGVuYnVzL3NoYXJlZF9pbmZvLmMKKysrIGIvc3JjL3hlbmJ1cy9zaGFyZWRfaW5m
by5jCkBAIC0yNDcsMjYgKzI0Nyw2IEBAIGRvbmU6CiAgICAgcmV0dXJuIERvbmVTb21ldGhpbmc7
CiB9CiAKLXN0YXRpYyBCT09MRUFOCi1TaGFyZWRJbmZvRXZ0Y2huUG9sbFZlcnNpb24xKAotICAg
IElOICBQSU5URVJGQUNFICAgICAgICAgICAgICBJbnRlcmZhY2UsCi0gICAgSU4gIEJPT0xFQU4g
ICAgICAgICAgICAgICAgICgqRnVuY3Rpb24pKFBWT0lELCBVTE9ORyksCi0gICAgSU4gIFBWT0lE
ICAgICAgICAgICAgICAgICAgIEFyZ3VtZW50IE9QVElPTkFMCi0gICAgKQotewotICAgIEJPT0xF
QU4gICAgICAgICAgICAgICAgICAgICBEb25lU29tZXRoaW5nOwotCi0gICAgRG9uZVNvbWV0aGlu
ZyA9IEZBTFNFOwotCi0gICAgd2hpbGUgKFNoYXJlZEluZm9VcGNhbGxQZW5kaW5nKEludGVyZmFj
ZSwgMCkpCi0gICAgICAgIERvbmVTb21ldGhpbmcgfD0gU2hhcmVkSW5mb0V2dGNoblBvbGwoSW50
ZXJmYWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnVuY3Rpb24s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJndW1lbnQp
OwotCi0gICAgcmV0dXJuIERvbmVTb21ldGhpbmc7Ci19Ci0KIHN0YXRpYyBWT0lECiBTaGFyZWRJ
bmZvRXZ0Y2huQWNrKAogICAgIElOICBQSU5URVJGQUNFICAgICAgICAgICAgICBJbnRlcmZhY2Us
CkBAIC02ODUsMTcgKzY2NSw2IEBAIGRvbmU6CiAgICAgS2VSZWxlYXNlU3BpbkxvY2soJkNvbnRl
eHQtPkxvY2ssIElycWwpOwogfQogCi1zdGF0aWMgc3RydWN0IF9YRU5CVVNfU0hBUkVEX0lORk9f
SU5URVJGQUNFX1YxIFNoYXJlZEluZm9JbnRlcmZhY2VWZXJzaW9uMSA9IHsKLSAgICB7IHNpemVv
ZiAoc3RydWN0IF9YRU5CVVNfU0hBUkVEX0lORk9fSU5URVJGQUNFX1YxKSwgMSwgTlVMTCwgTlVM
TCwgTlVMTCB9LAotICAgIFNoYXJlZEluZm9BY3F1aXJlLAotICAgIFNoYXJlZEluZm9SZWxlYXNl
LAotICAgIFNoYXJlZEluZm9FdnRjaG5Qb2xsVmVyc2lvbjEsCi0gICAgU2hhcmVkSW5mb0V2dGNo
bkFjaywKLSAgICBTaGFyZWRJbmZvRXZ0Y2huTWFzaywKLSAgICBTaGFyZWRJbmZvRXZ0Y2huVW5t
YXNrLAotICAgIFNoYXJlZEluZm9HZXRUaW1lCi19OwotCiBzdGF0aWMgc3RydWN0IF9YRU5CVVNf
U0hBUkVEX0lORk9fSU5URVJGQUNFX1YyIFNoYXJlZEluZm9JbnRlcmZhY2VWZXJzaW9uMiA9IHsK
ICAgICB7IHNpemVvZiAoc3RydWN0IF9YRU5CVVNfU0hBUkVEX0lORk9fSU5URVJGQUNFX1YyKSwg
MiwgTlVMTCwgTlVMTCwgTlVMTCB9LAogICAgIFNoYXJlZEluZm9BY3F1aXJlLApAQCAtNzY1LDIz
ICs3MzQsNiBAQCBTaGFyZWRJbmZvR2V0SW50ZXJmYWNlKAogICAgIEFTU0VSVChDb250ZXh0ICE9
IE5VTEwpOwogCiAgICAgc3dpdGNoIChWZXJzaW9uKSB7Ci0gICAgY2FzZSAxOiB7Ci0gICAgICAg
IHN0cnVjdCBfWEVOQlVTX1NIQVJFRF9JTkZPX0lOVEVSRkFDRV9WMSAqU2hhcmVkSW5mb0ludGVy
ZmFjZTsKLQotICAgICAgICBTaGFyZWRJbmZvSW50ZXJmYWNlID0gKHN0cnVjdCBfWEVOQlVTX1NI
QVJFRF9JTkZPX0lOVEVSRkFDRV9WMSAqKUludGVyZmFjZTsKLQotICAgICAgICBzdGF0dXMgPSBT
VEFUVVNfQlVGRkVSX09WRVJGTE9XOwotICAgICAgICBpZiAoU2l6ZSA8IHNpemVvZiAoc3RydWN0
IF9YRU5CVVNfU0hBUkVEX0lORk9fSU5URVJGQUNFX1YxKSkKLSAgICAgICAgICAgIGJyZWFrOwot
Ci0gICAgICAgICpTaGFyZWRJbmZvSW50ZXJmYWNlID0gU2hhcmVkSW5mb0ludGVyZmFjZVZlcnNp
b24xOwotCi0gICAgICAgIEFTU0VSVDNVKEludGVyZmFjZS0+VmVyc2lvbiwgPT0sIFZlcnNpb24p
OwotICAgICAgICBJbnRlcmZhY2UtPkNvbnRleHQgPSBDb250ZXh0OwotCi0gICAgICAgIHN0YXR1
cyA9IFNUQVRVU19TVUNDRVNTOwotICAgICAgICBicmVhazsKLSAgICB9CiAgICAgY2FzZSAyOiB7
CiAgICAgICAgIHN0cnVjdCBfWEVOQlVTX1NIQVJFRF9JTkZPX0lOVEVSRkFDRV9WMiAqU2hhcmVk
SW5mb0ludGVyZmFjZTsKIAotLSAKMi41LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2NnaS1i
aW4vbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Tue May 30 14:05:06 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 May 2017 14:05: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 1dFhli-0000gm-6M; Tue, 30 May 2017 14:05:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=316bc7b5a=Paul.Durrant@citrix.com>)
 id 1dFhlg-0000gg-8h
 for win-pv-devel@lists.xenproject.org; Tue, 30 May 2017 14:05:04 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
 2A/84-01992-F0C7D295; Tue, 30 May 2017 14:05:03 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpmkeJIrShJLcpLzFFi42JxWrrBXpe7Rjf
 S4PotE4s/ixMdGD0Of7jCEsAYxZqZl5RfkcCasXfiJuaCV2EVf662sjUwbrDrYuTkkBDwl7i4
 +woriM0moCMx9eklMFtEQF1i3+etTCA2s4CWRMPEJWC2sICLRO/tqcwgNouAqkTnzWNsIDYvU
 Pz+9VdANgfQTDmJ7p1uIGFOAVeJC02PwEqEgEreXt7LCGGrSKyfOguqVVDi5MwnLBCrJCQOvn
 jBPIGRdxaS1CwkqQWMTKsYNYpTi8pSi3QNTfSSijLTM0pyEzNzdA0NTPVyU4uLE9NTcxKTivW
 S83M3MQIDhwEIdjCePe15iFGSg0lJlNfZWjdSiC8pP6UyI7E4I76oNCe1+BCjDAeHkgTvliqg
 nGBRanpqRVpmDjCEYdISHDxKIrwi1UBp3uKCxNzizHSI1ClGRSlx3h6QPgGQREZpHlwbLG4uM
 cpKCfMyAh0ixFOQWpSbWYIq/4pRnINRSZh3CcgUnsy8Erjpr4AWMwEt3rVDG2RxSSJCSqqBMU
 omMNnpdv4vjvfMC+4+uB6QmC5/u8hH9OWEypwat+MKeq1bBP/qnFBuS5hw6KD+ZnmOuzec/Ge
 Ybz/VnBkkp6u08HlTm73Ih4RwzylRu3j3WC56c70t5WCb+vnqCzwRriyOOQ7ph1/funvRjfn8
 1wo2h7c+CuYcbEqv13mdX66YOr32SkixEktxRqKhFnNRcSIAnedUYpYCAAA=
X-Env-Sender: prvs=316bc7b5a=Paul.Durrant@citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1496153097!86966859!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.19; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28811 invoked from network); 30 May 2017 14:04:59 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
 by server-15.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
 30 May 2017 14:04:59 -0000
X-IronPort-AV: E=Sophos;i="5.38,418,1491264000"; d="scan'208";a="434476001"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Tue, 30 May 2017 15:04:06 +0100
Message-ID: <1496153046-75-2-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1496153046-75-1-git-send-email-paul.durrant@citrix.com>
References: <1496153046-75-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] Update XENBUS_EVTCHN Wait method to
	avoid races
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/cgi-bin/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/cgi-bin/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>

VXNlIG9mIHRoZSBYRU5CVVNfRVZUQ0hOIG1ldGhvZCBpcyBwcm9uZSB0byByYWNlcyBpbiB0aGF0
IGEgY2xpZW50CnVzdWFsbHkgd2FudHMgdG8gY2hlY2sgdGhhdCBzb21ldGhpbmcgdGhhdCBzaG91
bGQgYmUgdHJpZ2dlcmVkIGJ5IGFuCmV2ZW50IGFuZCwgaWYgaXQgaGFzIG5vdCBvY2N1cnJlZCwg
d2FpdCBmb3IgdGhlIG5leHQgZXZlbnQuClRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIGNsaWVudCBt
YXkgbWFrZXMgaXRzIGNoZWNrLCB0aGUgZXZlbnQgdGhlbiBvY2N1cnMsCmFuZCB0aGVuIHRoZSBj
bGllbnQgd2FpdHMuIFRodXMgdGhlIGV2ZW50IGlzIG1pc3NlZCBhbmQgdGhlIGNsaWVudCBvbmx5
Cndha2VzIHVwIHdoZW4gdGhlIHRpbWVvdXQgZXhwaXJlcy4KClRoaXMgcGF0Y2ggY2hhbmdlcyB0
aGUgV2FpdCBtZXRob2QgdG8gdGFrZSBhbiBleHBsaWNpdCBldmVudCBjb3VudCB0byB3YWl0CmZv
ciwgYW5kIGFkZHMgYSBtZXRob2QgdG8gc2FtcGxlIHRoZSBjdXJyZW50IGV2ZW50IGNvdW50LiBB
IGNsaWVudCBjYW4KdGhlbiBhdm9pZCBhIHJhY2UgYXMgZGVzY3JpYmVkIGFib3ZlIGJ5IHNhbXBs
aW5nIHRoZSBldmVudCBjb3VudCBmaXJzdCwKbWFraW5nIGl0cyBjaGVjayBhbmQgdGhlbiB3YWl0
aW5nIGZvciB0aGUgZXZlbnQgY291bnQgdG8gaW5jcmVtZW50IGJ5IG9uZS4KSWYgdGhlIGV2ZW50
IG9jY3VycmVkIGJldHdlZW4gdGhlIGNoZWNrIGFuZCB0aGUgd2FpdCwgdGhlIHdhaXQgd2lsbCBu
b3cKcmV0dXJuIGltbWVkaWF0ZWx5LgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVs
LmR1cnJhbnRAY2l0cml4LmNvbT4KLS0tCiBpbmNsdWRlL2V2dGNobl9pbnRlcmZhY2UuaCB8IDQ5
ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLQogaW5jbHVkZS9yZXZpc2lvbi5oICAgICAgICAg
fCAgMyArLQogc3JjL3hlbmJ1cy9ldnRjaG4uYyAgICAgICAgfCA4MiArKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiBzcmMveGVuYnVzL3N0b3JlLmMgICAgICAg
ICB8IDExICsrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMTI4IGluc2VydGlvbnMoKyksIDE3IGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZXZ0Y2huX2ludGVyZmFjZS5oIGIvaW5j
bHVkZS9ldnRjaG5faW50ZXJmYWNlLmgKaW5kZXggNGU2OTZjOC4uMzEwODUwYiAxMDA2NDQKLS0t
IGEvaW5jbHVkZS9ldnRjaG5faW50ZXJmYWNlLmgKKysrIGIvaW5jbHVkZS9ldnRjaG5faW50ZXJm
YWNlLmgKQEAgLTE3NSwxNyArMTc1LDM5IEBAIHR5cGVkZWYgVk9JRAogICAgIElOICBQWEVOQlVT
X0VWVENITl9DSEFOTkVMICBDaGFubmVsCiAgICAgKTsKIAorLyohIFx0eXBlZGVmIFhFTkJVU19F
VlRDSE5fR0VUX0NPVU5UCisgICAgXGJyaWVmIEdldCB0aGUgbnVtYmVyIG9mIGV2ZW50cyByZWNl
aXZlZCBieSB0aGUgY2hhbm5lbCBzaW5jZSBpdCB3YXMgb3BlbmVkCisKKyAgICBccGFyYW0gSW50
ZXJmYWNlIFRoZSBpbnRlcmZhY2UgaGVhZGVyCisgICAgXHBhcmFtIENoYW5uZWwgVGhlIGNoYW5u
ZWwgaGFuZGxlCisgICAgXHJldHVybiBUaGUgbnVtYmVyIG9mIGV2ZW50cworKi8KK3R5cGVkZWYg
VUxPTkcKKygqWEVOQlVTX0VWVENITl9HRVRfQ09VTlQpKAorICAgIElOICBQSU5URVJGQUNFICAg
ICAgICAgICAgICBJbnRlcmZhY2UsCisgICAgSU4gIFBYRU5CVVNfRVZUQ0hOX0NIQU5ORUwgIENo
YW5uZWwKKyAgICApOworCit0eXBlZGVmIE5UU1RBVFVTCisoKlhFTkJVU19FVlRDSE5fV0FJVF9W
NSkoCisgICAgSU4gIFBJTlRFUkZBQ0UgICAgICAgICAgICAgIEludGVyZmFjZSwKKyAgICBJTiAg
UFhFTkJVU19FVlRDSE5fQ0hBTk5FTCAgQ2hhbm5lbCwKKyAgICBJTiAgUExBUkdFX0lOVEVHRVIg
ICAgICAgICAgVGltZW91dCBPUFRJT05BTAorICAgICk7CisKIC8qISBcdHlwZWRlZiBYRU5CVVNf
RVZUQ0hOX1dBSVQKLSAgICBcYnJpZWYgV2FpdCBmb3IgYW4gZXZlbnQgdG8gdGhlIGxvY2FsIGVu
ZCBvZiB0aGUgY2hhbm5lbAorICAgIFxicmllZiBXYWl0IGZvciBldmVudHMgdG8gdGhlIGxvY2Fs
IGVuZCBvZiB0aGUgY2hhbm5lbAogCiAgICAgXHBhcmFtIEludGVyZmFjZSBUaGUgaW50ZXJmYWNl
IGhlYWRlcgogICAgIFxwYXJhbSBDaGFubmVsIFRoZSBjaGFubmVsIGhhbmRsZQorICAgIFxwYXJh
bSBDb3VudCBUaGUgZXZlbnQgY291bnQgdG8gd2FpdCBmb3IKICAgICBccGFyYW0gVGltZW91dCBB
biBvcHRpb25hbCB0aW1lb3V0IHZhbHVlIChzaW1pbGFyIHRvIEtlV2FpdEZvclNpbmdsZU9iamVj
dCgpLCBidXQgbm9uLXplcm8gdmFsdWVzIGFyZSBhbGxvd2VkIGF0IERJU1BBVENIX0xFVkVMKS4K
ICovCiB0eXBlZGVmIE5UU1RBVFVTCiAoKlhFTkJVU19FVlRDSE5fV0FJVCkoCiAgICAgSU4gIFBJ
TlRFUkZBQ0UgICAgICAgICAgICAgIEludGVyZmFjZSwKICAgICBJTiAgUFhFTkJVU19FVlRDSE5f
Q0hBTk5FTCAgQ2hhbm5lbCwKKyAgICBJTiAgVUxPTkcgICAgICAgICAgICAgICAgICAgQ291bnQs
CiAgICAgSU4gIFBMQVJHRV9JTlRFR0VSICAgICAgICAgIFRpbWVvdXQgT1BUSU9OQUwKICAgICAp
OwogCkBAIC0yNDgsNyArMjcwLDcgQEAgc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9W
NSB7CiAgICAgWEVOQlVTX0VWVENITl9VTk1BU0sgICAgRXZ0Y2huVW5tYXNrOwogICAgIFhFTkJV
U19FVlRDSE5fU0VORF9WMSAgIEV2dGNoblNlbmRWZXJzaW9uMTsKICAgICBYRU5CVVNfRVZUQ0hO
X1RSSUdHRVIgICBFdnRjaG5UcmlnZ2VyOwotICAgIFhFTkJVU19FVlRDSE5fV0FJVCAgICAgIEV2
dGNobldhaXQ7CisgICAgWEVOQlVTX0VWVENITl9XQUlUX1Y1ICAgRXZ0Y2huV2FpdFZlcnNpb241
OwogICAgIFhFTkJVU19FVlRDSE5fR0VUX1BPUlQgIEV2dGNobkdldFBvcnQ7CiAgICAgWEVOQlVT
X0VWVENITl9DTE9TRSAgICAgRXZ0Y2huQ2xvc2U7CiB9OwpAQCAtMjY2LDEyICsyODgsMzEgQEAg
c3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WNiB7CiAgICAgWEVOQlVTX0VWVENITl9V
Tk1BU0sgICAgRXZ0Y2huVW5tYXNrOwogICAgIFhFTkJVU19FVlRDSE5fU0VORCAgICAgIEV2dGNo
blNlbmQ7CiAgICAgWEVOQlVTX0VWVENITl9UUklHR0VSICAgRXZ0Y2huVHJpZ2dlcjsKKyAgICBY
RU5CVVNfRVZUQ0hOX1dBSVRfVjUgICBFdnRjaG5XYWl0VmVyc2lvbjU7CisgICAgWEVOQlVTX0VW
VENITl9HRVRfUE9SVCAgRXZ0Y2huR2V0UG9ydDsKKyAgICBYRU5CVVNfRVZUQ0hOX0NMT1NFICAg
ICBFdnRjaG5DbG9zZTsKK307CisKKy8qISBcc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFD
RV9WNworICAgIFxicmllZiBFVlRDSE4gaW50ZXJmYWNlIHZlcnNpb24gNworICAgIFxpbmdyb3Vw
IGludGVyZmFjZXMKKyovCitzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y3IHsKKyAg
ICBJTlRFUkZBQ0UgICAgICAgICAgICAgICBJbnRlcmZhY2U7CisgICAgWEVOQlVTX0VWVENITl9B
Q1FVSVJFICAgRXZ0Y2huQWNxdWlyZTsKKyAgICBYRU5CVVNfRVZUQ0hOX1JFTEVBU0UgICBFdnRj
aG5SZWxlYXNlOworICAgIFhFTkJVU19FVlRDSE5fT1BFTiAgICAgIEV2dGNobk9wZW47CisgICAg
WEVOQlVTX0VWVENITl9CSU5EICAgICAgRXZ0Y2huQmluZDsKKyAgICBYRU5CVVNfRVZUQ0hOX1VO
TUFTSyAgICBFdnRjaG5Vbm1hc2s7CisgICAgWEVOQlVTX0VWVENITl9TRU5EICAgICAgRXZ0Y2hu
U2VuZDsKKyAgICBYRU5CVVNfRVZUQ0hOX1RSSUdHRVIgICBFdnRjaG5UcmlnZ2VyOworICAgIFhF
TkJVU19FVlRDSE5fR0VUX0NPVU5UIEV2dGNobkdldENvdW50OwogICAgIFhFTkJVU19FVlRDSE5f
V0FJVCAgICAgIEV2dGNobldhaXQ7CiAgICAgWEVOQlVTX0VWVENITl9HRVRfUE9SVCAgRXZ0Y2hu
R2V0UG9ydDsKICAgICBYRU5CVVNfRVZUQ0hOX0NMT1NFICAgICBFdnRjaG5DbG9zZTsKIH07CiAK
LXR5cGVkZWYgc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WNiBYRU5CVVNfRVZUQ0hO
X0lOVEVSRkFDRSwgKlBYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRTsKK3R5cGVkZWYgc3RydWN0IF9Y
RU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WNyBYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRSwgKlBYRU5C
VVNfRVZUQ0hOX0lOVEVSRkFDRTsKIAogLyohIFxkZWYgWEVOQlVTX0VWVENITgogICAgIFxicmll
ZiBNYWNybyBhdCBhc3Npc3QgaW4gbWV0aG9kIGludm9jYXRpb24KQEAgLTI4Miw3ICszMjMsNyBA
QCB0eXBlZGVmIHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjYgWEVOQlVTX0VWVENI
Tl9JTlRFUkZBQ0UsICpQWEVOQlVTX0VWVAogI2VuZGlmICAvLyBfV0lORExMCiAKICNkZWZpbmUg
WEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVkVSU0lPTl9NSU4gNAotI2RlZmluZSBYRU5CVVNfRVZU
Q0hOX0lOVEVSRkFDRV9WRVJTSU9OX01BWCA2CisjZGVmaW5lIFhFTkJVU19FVlRDSE5fSU5URVJG
QUNFX1ZFUlNJT05fTUFYIDcKIAogI2VuZGlmICAvLyBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0Vf
SAogCmRpZmYgLS1naXQgYS9pbmNsdWRlL3JldmlzaW9uLmggYi9pbmNsdWRlL3JldmlzaW9uLmgK
aW5kZXggMmFhN2RjNS4uYmM3M2JlMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9yZXZpc2lvbi5oCisr
KyBiL2luY2x1ZGUvcmV2aXNpb24uaApAQCAtNTEsNiArNTEsNyBAQAogICAgIERFRklORV9SRVZJ
U0lPTigweDA4MDAwMDBBLCAgMSwgIDIsICA1LCAgMSwgIDEsICAxLCAgMSwgIDEsICAxLCAgMCwg
IDEpLCBcCiAgICAgREVGSU5FX1JFVklTSU9OKDB4MDgwMDAwMEIsICAxLCAgMiwgIDUsICAxLCAg
MiwgIDEsICAxLCAgMiwgIDEsICAwLCAgMSksIFwKICAgICBERUZJTkVfUkVWSVNJT04oMHgwOTAw
MDAwMCwgIDEsICAyLCAgNSwgIDEsICAyLCAgMSwgIDEsICAyLCAgMSwgIDAsICAxKSwgXAotICAg
IERFRklORV9SRVZJU0lPTigweDA5MDAwMDAxLCAgMSwgIDIsICA2LCAgMSwgIDIsICAxLCAgMSwg
IDIsICAxLCAgMSwgIDEpCisgICAgREVGSU5FX1JFVklTSU9OKDB4MDkwMDAwMDEsICAxLCAgMiwg
IDYsICAxLCAgMiwgIDEsICAxLCAgMiwgIDEsICAxLCAgMSksIFwKKyAgICBERUZJTkVfUkVWSVNJ
T04oMHgwOTAwMDAwMiwgIDEsICAyLCAgNywgIDEsICAyLCAgMSwgIDEsICAyLCAgMSwgIDEsICAx
KQogCiAjZW5kaWYgIC8vIF9SRVZJU0lPTl9ICmRpZmYgLS1naXQgYS9zcmMveGVuYnVzL2V2dGNo
bi5jIGIvc3JjL3hlbmJ1cy9ldnRjaG4uYwppbmRleCA3NTQ2ZjE5Li5lMzlhN2E3IDEwMDY0NAot
LS0gYS9zcmMveGVuYnVzL2V2dGNobi5jCisrKyBiL3NyYy94ZW5idXMvZXZ0Y2huLmMKQEAgLTgx
LDcgKzgxLDcgQEAgc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0NIQU5ORUwgewogICAgIFBLU0VSVklD
RV9ST1VUSU5FICAgICAgICAgICBDYWxsYmFjazsKICAgICBQVk9JRCAgICAgICAgICAgICAgICAg
ICAgICAgQXJndW1lbnQ7CiAgICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgIEFjdGl2ZTsg
Ly8gTXVzdCBiZSB0ZXN0ZWQgYXQgPj0gRElTUEFUQ0hfTEVWRUwKLSAgICBVTE9ORyAgICAgICAg
ICAgICAgICAgICAgICAgRXZlbnRzOworICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBD
b3VudDsKICAgICBYRU5CVVNfRVZUQ0hOX1RZUEUgICAgICAgICAgVHlwZTsKICAgICBYRU5CVVNf
RVZUQ0hOX1BBUkFNRVRFUlMgICAgUGFyYW1ldGVyczsKICAgICBCT09MRUFOICAgICAgICAgICAg
ICAgICAgICAgTWFzazsKQEAgLTQwMSw3ICs0MDEsNyBAQCBFdnRjaG5SZWFwKAogCiAgICAgVHJh
Y2UoIiV1XG4iLCBMb2NhbFBvcnQpOwogCi0gICAgQ2hhbm5lbC0+RXZlbnRzID0gMDsKKyAgICBD
aGFubmVsLT5Db3VudCA9IDA7CiAKICAgICBBU1NFUlQoQ2hhbm5lbC0+Q2xvc2VkKTsKICAgICBD
aGFubmVsLT5DbG9zZWQgPSBGQUxTRTsKQEAgLTUwNyw3ICs1MDcsNyBAQCBFdnRjaG5Qb2xsKAog
CiAgICAgICAgIEtlTWVtb3J5QmFycmllcigpOwogICAgICAgICBpZiAoIUNoYW5uZWwtPkNsb3Nl
ZCkgewotICAgICAgICAgICAgQ2hhbm5lbC0+RXZlbnRzKys7CisgICAgICAgICAgICBDaGFubmVs
LT5Db3VudCsrOwogCiAgICAgICAgICAgICBSZW1vdmVFbnRyeUxpc3QoJkNoYW5uZWwtPlBlbmRp
bmdMaXN0RW50cnkpOwogICAgICAgICAgICAgSW5pdGlhbGl6ZUxpc3RIZWFkKCZDaGFubmVsLT5Q
ZW5kaW5nTGlzdEVudHJ5KTsKQEAgLTg5OCwxNSArODk4LDI2IEBAIEV2dGNobkdldFBvcnQoCiAg
ICAgcmV0dXJuIENoYW5uZWwtPkxvY2FsUG9ydDsKIH0KIAorc3RhdGljIFVMT05HCitFdnRjaG5H
ZXRDb3VudCgKKyAgICBJTiAgUElOVEVSRkFDRSAgICAgICAgICAgICAgSW50ZXJmYWNlLAorICAg
IElOICBQWEVOQlVTX0VWVENITl9DSEFOTkVMICBDaGFubmVsCisgICAgKQoreworICAgIFVOUkVG
RVJFTkNFRF9QQVJBTUVURVIoSW50ZXJmYWNlKTsKKworICAgIHJldHVybiBDaGFubmVsLT5Db3Vu
dDsKK30KKwogc3RhdGljIE5UU1RBVFVTCiBFdnRjaG5XYWl0KAogICAgIElOICBQSU5URVJGQUNF
ICAgICAgICAgICAgICBJbnRlcmZhY2UsCiAgICAgSU4gIFBYRU5CVVNfRVZUQ0hOX0NIQU5ORUwg
IENoYW5uZWwsCisgICAgSU4gIFVMT05HICAgICAgICAgICAgICAgICAgIENvdW50LAogICAgIElO
ICBQTEFSR0VfSU5URUdFUiAgICAgICAgICBUaW1lb3V0CiAgICAgKQogewogICAgIEtJUlFMICAg
ICAgICAgICAgICAgICAgICAgICBJcnFsOwotICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAg
ICBFdmVudHM7CiAgICAgTEFSR0VfSU5URUdFUiAgICAgICAgICAgICAgIFN0YXJ0OwogICAgIE5U
U1RBVFVTICAgICAgICAgICAgICAgICAgICBzdGF0dXM7CiAKQEAgLTkxNSwxNCArOTI2LDEzIEBA
IEV2dGNobldhaXQoCiAgICAgQVNTRVJUM1UoS2VHZXRDdXJyZW50SXJxbCgpLCA8PSwgRElTUEFU
Q0hfTEVWRUwpOwogICAgIEtlUmFpc2VJcnFsKERJU1BBVENIX0xFVkVMLCAmSXJxbCk7IC8vIFBy
ZXZlbnQgc3VzcGVuZAogCi0gICAgRXZlbnRzID0gQ2hhbm5lbC0+RXZlbnRzOwotICAgIEtlTWVt
b3J5QmFycmllcigpOwotCiAgICAgS2VRdWVyeVN5c3RlbVRpbWUoJlN0YXJ0KTsKIAogICAgIGZv
ciAoOzspIHsKKyAgICAgICAgS2VNZW1vcnlCYXJyaWVyKCk7CisKICAgICAgICAgc3RhdHVzID0g
U1RBVFVTX1NVQ0NFU1M7Ci0gICAgICAgIGlmIChDaGFubmVsLT5FdmVudHMgIT0gRXZlbnRzKQor
ICAgICAgICBpZiAoKExPTkc2NClDaGFubmVsLT5Db3VudCAtIChMT05HNjQpQ291bnQgPD0gMCkK
ICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGlmIChUaW1lb3V0ICE9IE5VTEwpIHsKQEAg
LTk1MCw3ICs5NjAsNiBAQCBFdnRjaG5XYWl0KAogICAgICAgICB9CiAKICAgICAgICAgX21tX3Bh
dXNlKCk7Ci0gICAgICAgIEtlTWVtb3J5QmFycmllcigpOwogICAgIH0KIAogICAgIEtlTG93ZXJJ
cnFsKElycWwpOwpAQCAtOTU4LDYgKzk2NywyMyBAQCBFdnRjaG5XYWl0KAogICAgIHJldHVybiBz
dGF0dXM7CiB9CiAKK3N0YXRpYyBOVFNUQVRVUworRXZ0Y2huV2FpdFZlcnNpb241KAorICAgIElO
ICBQSU5URVJGQUNFICAgICAgICAgICAgICBJbnRlcmZhY2UsCisgICAgSU4gIFBYRU5CVVNfRVZU
Q0hOX0NIQU5ORUwgIENoYW5uZWwsCisgICAgSU4gIFBMQVJHRV9JTlRFR0VSICAgICAgICAgIFRp
bWVvdXQKKyAgICApCit7CisgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIENvdW50Owor
CisgICAgQ291bnQgPSBFdnRjaG5HZXRDb3VudChJbnRlcmZhY2UsIENoYW5uZWwpOworCisgICAg
cmV0dXJuIEV2dGNobldhaXQoSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgIENoYW5u
ZWwsCisgICAgICAgICAgICAgICAgICAgICAgQ291bnQgKyAxLAorICAgICAgICAgICAgICAgICAg
ICAgIFRpbWVvdXQpOworfQorCiBzdGF0aWMKIF9GdW5jdGlvbl9jbGFzc18oS1NFUlZJQ0VfUk9V
VElORSkKIF9fZHJ2X3JlcXVpcmVzSVJRTChISUdIX0xFVkVMKQpAQCAtMTM2OSw4ICsxMzk1LDgg
QEAgRXZ0Y2huRGVidWdDYWxsYmFjaygKIAogICAgICAgICAgICAgWEVOQlVTX0RFQlVHKFByaW50
ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAmQ29udGV4dC0+RGVidWdJbnRlcmZhY2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIkV2ZW50cyA9ICVsdVxuIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICBDaGFubmVsLT5FdmVudHMpOworICAgICAgICAgICAgICAgICAgICAgICAgICJD
b3VudCA9ICVsdVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBDaGFubmVsLT5Db3VudCk7
CiAgICAgICAgIH0KICAgICB9CiB9CkBAIC0xNjU1LDcgKzE2ODEsNyBAQCBzdGF0aWMgc3RydWN0
IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WNSBFdnRjaG5JbnRlcmZhY2VWZXJzaW9uNSA9IHsK
ICAgICBFdnRjaG5Vbm1hc2ssCiAgICAgRXZ0Y2huU2VuZFZlcnNpb24xLAogICAgIEV2dGNoblRy
aWdnZXIsCi0gICAgRXZ0Y2huV2FpdCwKKyAgICBFdnRjaG5XYWl0VmVyc2lvbjUsCiAgICAgRXZ0
Y2huR2V0UG9ydCwKICAgICBFdnRjaG5DbG9zZSwKIH07CkBAIC0xNjY5LDYgKzE2OTUsMjEgQEAg
c3RhdGljIHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjYgRXZ0Y2huSW50ZXJmYWNl
VmVyc2lvbjYgPSB7CiAgICAgRXZ0Y2huVW5tYXNrLAogICAgIEV2dGNoblNlbmQsCiAgICAgRXZ0
Y2huVHJpZ2dlciwKKyAgICBFdnRjaG5XYWl0VmVyc2lvbjUsCisgICAgRXZ0Y2huR2V0UG9ydCwK
KyAgICBFdnRjaG5DbG9zZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5U
RVJGQUNFX1Y3IEV2dGNobkludGVyZmFjZVZlcnNpb243ID0geworICAgIHsgc2l6ZW9mIChzdHJ1
Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y3KSwgNywgTlVMTCwgTlVMTCwgTlVMTCB9LAor
ICAgIEV2dGNobkFjcXVpcmUsCisgICAgRXZ0Y2huUmVsZWFzZSwKKyAgICBFdnRjaG5PcGVuLAor
ICAgIEV2dGNobkJpbmQsCisgICAgRXZ0Y2huVW5tYXNrLAorICAgIEV2dGNoblNlbmQsCisgICAg
RXZ0Y2huVHJpZ2dlciwKKyAgICBFdnRjaG5HZXRDb3VudCwKICAgICBFdnRjaG5XYWl0LAogICAg
IEV2dGNobkdldFBvcnQsCiAgICAgRXZ0Y2huQ2xvc2UsCkBAIC0xODMzLDYgKzE4NzQsMjMgQEAg
RXZ0Y2huR2V0SW50ZXJmYWNlKAogICAgICAgICBzdGF0dXMgPSBTVEFUVVNfU1VDQ0VTUzsKICAg
ICAgICAgYnJlYWs7CiAgICAgfQorICAgIGNhc2UgNzogeworICAgICAgICBzdHJ1Y3QgX1hFTkJV
U19FVlRDSE5fSU5URVJGQUNFX1Y3ICAqRXZ0Y2huSW50ZXJmYWNlOworCisgICAgICAgIEV2dGNo
bkludGVyZmFjZSA9IChzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y3ICopSW50ZXJm
YWNlOworCisgICAgICAgIHN0YXR1cyA9IFNUQVRVU19CVUZGRVJfT1ZFUkZMT1c7CisgICAgICAg
IGlmIChTaXplIDwgc2l6ZW9mIChzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y3KSkK
KyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICpFdnRjaG5JbnRlcmZhY2UgPSBFdnRjaG5J
bnRlcmZhY2VWZXJzaW9uNzsKKworICAgICAgICBBU1NFUlQzVShJbnRlcmZhY2UtPlZlcnNpb24s
ID09LCBWZXJzaW9uKTsKKyAgICAgICAgSW50ZXJmYWNlLT5Db250ZXh0ID0gQ29udGV4dDsKKwor
ICAgICAgICBzdGF0dXMgPSBTVEFUVVNfU1VDQ0VTUzsKKyAgICAgICAgYnJlYWs7CisgICAgfQog
ICAgIGRlZmF1bHQ6CiAgICAgICAgIHN0YXR1cyA9IFNUQVRVU19OT1RfU1VQUE9SVEVEOwogICAg
ICAgICBicmVhazsKZGlmZiAtLWdpdCBhL3NyYy94ZW5idXMvc3RvcmUuYyBiL3NyYy94ZW5idXMv
c3RvcmUuYwppbmRleCA4NmJiY2I4Li4xMDFkYzQwIDEwMDY0NAotLS0gYS9zcmMveGVuYnVzL3N0
b3JlLmMKKysrIGIvc3JjL3hlbmJ1cy9zdG9yZS5jCkBAIC05MDAsNiArOTAwLDcgQEAgU3RvcmVT
dWJtaXRSZXF1ZXN0KAogewogICAgIFBYRU5CVVNfU1RPUkVfUkVTUE9OU0UgICAgICBSZXNwb25z
ZTsKICAgICBLSVJRTCAgICAgICAgICAgICAgICAgICAgICAgSXJxbDsKKyAgICBVTE9ORyAgICAg
ICAgICAgICAgICAgICAgICAgQ291bnQ7CiAgICAgTEFSR0VfSU5URUdFUiAgICAgICAgICAgICAg
IFRpbWVvdXQ7CiAKICAgICBBU1NFUlQzVShSZXF1ZXN0LT5TdGF0ZSwgPT0sIFhFTkJVU19TVE9S
RV9SRVFVRVNUX1BSRVBBUkVEKTsKQEAgLTkxMyw2ICs5MTQsMTEgQEAgU3RvcmVTdWJtaXRSZXF1
ZXN0KAogICAgIEluc2VydFRhaWxMaXN0KCZDb250ZXh0LT5TdWJtaXR0ZWRMaXN0LCAmUmVxdWVz
dC0+TGlzdEVudHJ5KTsKIAogICAgIFJlcXVlc3QtPlN0YXRlID0gWEVOQlVTX1NUT1JFX1JFUVVF
U1RfU1VCTUlUVEVEOworCisgICAgQ291bnQgPSBYRU5CVVNfRVZUQ0hOKEdldENvdW50LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAmQ29udGV4dC0+RXZ0Y2huSW50ZXJmYWNlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBDb250ZXh0LT5DaGFubmVsKTsKKwogICAgIFN0b3JlUG9sbExv
Y2tlZChDb250ZXh0KTsKICAgICBLZU1lbW9yeUJhcnJpZXIoKTsKIApAQCAtOTI0LDEwICs5MzAs
MTUgQEAgU3RvcmVTdWJtaXRSZXF1ZXN0KAogICAgICAgICBzdGF0dXMgPSBYRU5CVVNfRVZUQ0hO
KFdhaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkNvbnRleHQtPkV2dGNobklu
dGVyZmFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250ZXh0LT5DaGFubmVs
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvdW50ICsgMSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAmVGltZW91dCk7CiAgICAgICAgIGlmIChzdGF0dXMgPT0gU1RB
VFVTX1RJTUVPVVQpCiAgICAgICAgICAgICBXYXJuaW5nKCJUSU1FRCBPVVRcbiIpOwogCisgICAg
ICAgIENvdW50ID0gWEVOQlVTX0VWVENITihHZXRDb3VudCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZDb250ZXh0LT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBDb250ZXh0LT5DaGFubmVsKTsKKwogICAgICAgICBTdG9yZVBvbGxMb2NrZWQo
Q29udGV4dCk7CiAgICAgICAgIEtlTWVtb3J5QmFycmllcigpOwogICAgIH0KLS0gCjIuNS4zCgoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

From win-pv-devel-bounces@lists.xenproject.org Tue May 30 15:23:14 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 May 2017 15:23:14 +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 1dFizJ-00089L-Dd; Tue, 30 May 2017 15:23:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=316bc7b5a=Paul.Durrant@citrix.com>)
 id 1dFizH-00089D-Tg
 for win-pv-devel@lists.xenproject.org; Tue, 30 May 2017 15:23:12 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
 51/63-01992-F5E8D295; Tue, 30 May 2017 15:23:11 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpmkeJIrShJLcpLzFFi42JxWrohUjemTzf
 S4MV8LYs/ixMdGD0Of7jCEsAYxZqZl5RfkcCa0b5uDWvB0/CKT1dmszQw/rTrYuTkkBDwl1j2
 cwoLiM0moCMx9eklVhBbREBdYt/nrUwgNrOAlkTDxCVgtrCAu8Ti57vZQWwWAVWJe13rwHp5B
 Vwlfp88xtbFyAE0U06ie6cbSJhTwE1i4rQzYCOFQEo2HoeyVSTWT53FBtEqKHFy5hMWiFUSEg
 dfvGCewMg7C0lqFpLUAkamVYwaxalFZalFukaWeklFmekZJbmJmTm6hgamermpxcWJ6ak5iUn
 Fesn5uZsYgYFTz8DAuIPx8ha/Q4ySHExKorzO1rqRQnxJ+SmVGYnFGfFFpTmpxYcYZTg4lCR4
 nXqBcoJFqempFWmZOcAQhklLcPAoifA+AknzFhck5hZnpkOkTjEqSonzFoEkBEASGaV5cG2wu
 LnEKCslzMvIwMAgxFOQWpSbWYIq/4pRnINRSZg3A2QKT2ZeCdz0V0CLmYAW79qhDbK4JBEhJd
 XAuGNDs+b3s4tYdobrbvZaF/VFbmOk4NuA/mmdS6s3urh3peyvenw1KGSPyQwOacNQaUuPfaf
 Yo31zFIy9Zl45MyOSaY+n7qX0qZF9hz73PcuuWLTqb6z1hf8F0SEv9qbu2VNx0YTL4u3p46pR
 r8olb90MZ5RbxPG4svtBmcfvL/5dzL+ks9otlFiKMxINtZiLihMB8uH745YCAAA=
X-Env-Sender: prvs=316bc7b5a=Paul.Durrant@citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1496157785!99366090!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.19; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9768 invoked from network); 30 May 2017 15:23:08 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
 by server-5.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
 30 May 2017 15:23:08 -0000
X-IronPort-AV: E=Sophos;i="5.38,418,1491264000"; d="scan'208";a="425898677"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Tue, 30 May 2017 16:22:56 +0100
Message-ID: <1496157776-139-2-git-send-email-paul.durrant@citrix.com>
X-Mailer: git-send-email 2.5.3
In-Reply-To: <1496157776-139-1-git-send-email-paul.durrant@citrix.com>
References: <1496157776-139-1-git-send-email-paul.durrant@citrix.com>
MIME-Version: 1.0
Cc: Paul Durrant <paul.durrant@citrix.com>
Subject: [win-pv-devel] [PATCH v2 2/2] Update XENBUS_EVTCHN Wait method to
	avoid races
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/cgi-bin/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/cgi-bin/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>

VXNlIG9mIHRoZSBYRU5CVVNfRVZUQ0hOIG1ldGhvZCBpcyBwcm9uZSB0byByYWNlcyBpbiB0aGF0
IGEgY2xpZW50CnVzdWFsbHkgd2FudHMgdG8gY2hlY2sgdGhhdCBzb21ldGhpbmcgdGhhdCBzaG91
bGQgYmUgdHJpZ2dlcmVkIGJ5IGFuCmV2ZW50IGFuZCwgaWYgaXQgaGFzIG5vdCBvY2N1cnJlZCwg
d2FpdCBmb3IgdGhlIG5leHQgZXZlbnQuClRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIGNsaWVudCBt
YXkgbWFrZXMgaXRzIGNoZWNrLCB0aGUgZXZlbnQgdGhlbiBvY2N1cnMsCmFuZCB0aGVuIHRoZSBj
bGllbnQgd2FpdHMuIFRodXMgdGhlIGV2ZW50IGlzIG1pc3NlZCBhbmQgdGhlIGNsaWVudCBvbmx5
Cndha2VzIHVwIHdoZW4gdGhlIHRpbWVvdXQgZXhwaXJlcy4KClRoaXMgcGF0Y2ggY2hhbmdlcyB0
aGUgV2FpdCBtZXRob2QgdG8gdGFrZSBhbiBleHBsaWNpdCBldmVudCBjb3VudCB0byB3YWl0CmZv
ciwgYW5kIGFkZHMgYSBtZXRob2QgdG8gc2FtcGxlIHRoZSBjdXJyZW50IGV2ZW50IGNvdW50LiBB
IGNsaWVudCBjYW4KdGhlbiBhdm9pZCBhIHJhY2UgYXMgZGVzY3JpYmVkIGFib3ZlIGJ5IHNhbXBs
aW5nIHRoZSBldmVudCBjb3VudCBmaXJzdCwKbWFraW5nIGl0cyBjaGVjayBhbmQgdGhlbiB3YWl0
aW5nIGZvciB0aGUgZXZlbnQgY291bnQgdG8gaW5jcmVtZW50IGJ5IG9uZS4KSWYgdGhlIGV2ZW50
IG9jY3VycmVkIGJldHdlZW4gdGhlIGNoZWNrIGFuZCB0aGUgd2FpdCwgdGhlIHdhaXQgd2lsbCBu
b3cKcmV0dXJuIGltbWVkaWF0ZWx5LgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVs
LmR1cnJhbnRAY2l0cml4LmNvbT4KLS0tCiBpbmNsdWRlL2V2dGNobl9pbnRlcmZhY2UuaCB8IDQ5
ICsrKysrKysrKysrKysrKysrKysrKysrLS0tCiBpbmNsdWRlL3JldmlzaW9uLmggICAgICAgICB8
ICAzICstCiBzcmMveGVuYnVzL2V2dGNobi5jICAgICAgICB8IDg3ICsrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KIHNyYy94ZW5idXMvc3RvcmUuYyAgICAgICAg
IHwgMTEgKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDEzMyBpbnNlcnRpb25zKCspLCAxNyBkZWxl
dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2V2dGNobl9pbnRlcmZhY2UuaCBiL2luY2x1
ZGUvZXZ0Y2huX2ludGVyZmFjZS5oCmluZGV4IDRlNjk2YzguLjMxMDg1MGIgMTAwNjQ0Ci0tLSBh
L2luY2x1ZGUvZXZ0Y2huX2ludGVyZmFjZS5oCisrKyBiL2luY2x1ZGUvZXZ0Y2huX2ludGVyZmFj
ZS5oCkBAIC0xNzUsMTcgKzE3NSwzOSBAQCB0eXBlZGVmIFZPSUQKICAgICBJTiAgUFhFTkJVU19F
VlRDSE5fQ0hBTk5FTCAgQ2hhbm5lbAogICAgICk7CiAKKy8qISBcdHlwZWRlZiBYRU5CVVNfRVZU
Q0hOX0dFVF9DT1VOVAorICAgIFxicmllZiBHZXQgdGhlIG51bWJlciBvZiBldmVudHMgcmVjZWl2
ZWQgYnkgdGhlIGNoYW5uZWwgc2luY2UgaXQgd2FzIG9wZW5lZAorCisgICAgXHBhcmFtIEludGVy
ZmFjZSBUaGUgaW50ZXJmYWNlIGhlYWRlcgorICAgIFxwYXJhbSBDaGFubmVsIFRoZSBjaGFubmVs
IGhhbmRsZQorICAgIFxyZXR1cm4gVGhlIG51bWJlciBvZiBldmVudHMKKyovCit0eXBlZGVmIFVM
T05HCisoKlhFTkJVU19FVlRDSE5fR0VUX0NPVU5UKSgKKyAgICBJTiAgUElOVEVSRkFDRSAgICAg
ICAgICAgICAgSW50ZXJmYWNlLAorICAgIElOICBQWEVOQlVTX0VWVENITl9DSEFOTkVMICBDaGFu
bmVsCisgICAgKTsKKwordHlwZWRlZiBOVFNUQVRVUworKCpYRU5CVVNfRVZUQ0hOX1dBSVRfVjUp
KAorICAgIElOICBQSU5URVJGQUNFICAgICAgICAgICAgICBJbnRlcmZhY2UsCisgICAgSU4gIFBY
RU5CVVNfRVZUQ0hOX0NIQU5ORUwgIENoYW5uZWwsCisgICAgSU4gIFBMQVJHRV9JTlRFR0VSICAg
ICAgICAgIFRpbWVvdXQgT1BUSU9OQUwKKyAgICApOworCiAvKiEgXHR5cGVkZWYgWEVOQlVTX0VW
VENITl9XQUlUCi0gICAgXGJyaWVmIFdhaXQgZm9yIGFuIGV2ZW50IHRvIHRoZSBsb2NhbCBlbmQg
b2YgdGhlIGNoYW5uZWwKKyAgICBcYnJpZWYgV2FpdCBmb3IgZXZlbnRzIHRvIHRoZSBsb2NhbCBl
bmQgb2YgdGhlIGNoYW5uZWwKIAogICAgIFxwYXJhbSBJbnRlcmZhY2UgVGhlIGludGVyZmFjZSBo
ZWFkZXIKICAgICBccGFyYW0gQ2hhbm5lbCBUaGUgY2hhbm5lbCBoYW5kbGUKKyAgICBccGFyYW0g
Q291bnQgVGhlIGV2ZW50IGNvdW50IHRvIHdhaXQgZm9yCiAgICAgXHBhcmFtIFRpbWVvdXQgQW4g
b3B0aW9uYWwgdGltZW91dCB2YWx1ZSAoc2ltaWxhciB0byBLZVdhaXRGb3JTaW5nbGVPYmplY3Qo
KSwgYnV0IG5vbi16ZXJvIHZhbHVlcyBhcmUgYWxsb3dlZCBhdCBESVNQQVRDSF9MRVZFTCkuCiAq
LwogdHlwZWRlZiBOVFNUQVRVUwogKCpYRU5CVVNfRVZUQ0hOX1dBSVQpKAogICAgIElOICBQSU5U
RVJGQUNFICAgICAgICAgICAgICBJbnRlcmZhY2UsCiAgICAgSU4gIFBYRU5CVVNfRVZUQ0hOX0NI
QU5ORUwgIENoYW5uZWwsCisgICAgSU4gIFVMT05HICAgICAgICAgICAgICAgICAgIENvdW50LAog
ICAgIElOICBQTEFSR0VfSU5URUdFUiAgICAgICAgICBUaW1lb3V0IE9QVElPTkFMCiAgICAgKTsK
IApAQCAtMjQ4LDcgKzI3MCw3IEBAIHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjUg
ewogICAgIFhFTkJVU19FVlRDSE5fVU5NQVNLICAgIEV2dGNoblVubWFzazsKICAgICBYRU5CVVNf
RVZUQ0hOX1NFTkRfVjEgICBFdnRjaG5TZW5kVmVyc2lvbjE7CiAgICAgWEVOQlVTX0VWVENITl9U
UklHR0VSICAgRXZ0Y2huVHJpZ2dlcjsKLSAgICBYRU5CVVNfRVZUQ0hOX1dBSVQgICAgICBFdnRj
aG5XYWl0OworICAgIFhFTkJVU19FVlRDSE5fV0FJVF9WNSAgIEV2dGNobldhaXRWZXJzaW9uNTsK
ICAgICBYRU5CVVNfRVZUQ0hOX0dFVF9QT1JUICBFdnRjaG5HZXRQb3J0OwogICAgIFhFTkJVU19F
VlRDSE5fQ0xPU0UgICAgIEV2dGNobkNsb3NlOwogfTsKQEAgLTI2NiwxMiArMjg4LDMxIEBAIHN0
cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjYgewogICAgIFhFTkJVU19FVlRDSE5fVU5N
QVNLICAgIEV2dGNoblVubWFzazsKICAgICBYRU5CVVNfRVZUQ0hOX1NFTkQgICAgICBFdnRjaG5T
ZW5kOwogICAgIFhFTkJVU19FVlRDSE5fVFJJR0dFUiAgIEV2dGNoblRyaWdnZXI7CisgICAgWEVO
QlVTX0VWVENITl9XQUlUX1Y1ICAgRXZ0Y2huV2FpdFZlcnNpb241OworICAgIFhFTkJVU19FVlRD
SE5fR0VUX1BPUlQgIEV2dGNobkdldFBvcnQ7CisgICAgWEVOQlVTX0VWVENITl9DTE9TRSAgICAg
RXZ0Y2huQ2xvc2U7Cit9OworCisvKiEgXHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0Vf
VjcKKyAgICBcYnJpZWYgRVZUQ0hOIGludGVyZmFjZSB2ZXJzaW9uIDcKKyAgICBcaW5ncm91cCBp
bnRlcmZhY2VzCisqLworc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WNyB7CisgICAg
SU5URVJGQUNFICAgICAgICAgICAgICAgSW50ZXJmYWNlOworICAgIFhFTkJVU19FVlRDSE5fQUNR
VUlSRSAgIEV2dGNobkFjcXVpcmU7CisgICAgWEVOQlVTX0VWVENITl9SRUxFQVNFICAgRXZ0Y2hu
UmVsZWFzZTsKKyAgICBYRU5CVVNfRVZUQ0hOX09QRU4gICAgICBFdnRjaG5PcGVuOworICAgIFhF
TkJVU19FVlRDSE5fQklORCAgICAgIEV2dGNobkJpbmQ7CisgICAgWEVOQlVTX0VWVENITl9VTk1B
U0sgICAgRXZ0Y2huVW5tYXNrOworICAgIFhFTkJVU19FVlRDSE5fU0VORCAgICAgIEV2dGNoblNl
bmQ7CisgICAgWEVOQlVTX0VWVENITl9UUklHR0VSICAgRXZ0Y2huVHJpZ2dlcjsKKyAgICBYRU5C
VVNfRVZUQ0hOX0dFVF9DT1VOVCBFdnRjaG5HZXRDb3VudDsKICAgICBYRU5CVVNfRVZUQ0hOX1dB
SVQgICAgICBFdnRjaG5XYWl0OwogICAgIFhFTkJVU19FVlRDSE5fR0VUX1BPUlQgIEV2dGNobkdl
dFBvcnQ7CiAgICAgWEVOQlVTX0VWVENITl9DTE9TRSAgICAgRXZ0Y2huQ2xvc2U7CiB9OwogCi10
eXBlZGVmIHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjYgWEVOQlVTX0VWVENITl9J
TlRFUkZBQ0UsICpQWEVOQlVTX0VWVENITl9JTlRFUkZBQ0U7Cit0eXBlZGVmIHN0cnVjdCBfWEVO
QlVTX0VWVENITl9JTlRFUkZBQ0VfVjcgWEVOQlVTX0VWVENITl9JTlRFUkZBQ0UsICpQWEVOQlVT
X0VWVENITl9JTlRFUkZBQ0U7CiAKIC8qISBcZGVmIFhFTkJVU19FVlRDSE4KICAgICBcYnJpZWYg
TWFjcm8gYXQgYXNzaXN0IGluIG1ldGhvZCBpbnZvY2F0aW9uCkBAIC0yODIsNyArMzIzLDcgQEAg
dHlwZWRlZiBzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y2IFhFTkJVU19FVlRDSE5f
SU5URVJGQUNFLCAqUFhFTkJVU19FVlQKICNlbmRpZiAgLy8gX1dJTkRMTAogCiAjZGVmaW5lIFhF
TkJVU19FVlRDSE5fSU5URVJGQUNFX1ZFUlNJT05fTUlOIDQKLSNkZWZpbmUgWEVOQlVTX0VWVENI
Tl9JTlRFUkZBQ0VfVkVSU0lPTl9NQVggNgorI2RlZmluZSBYRU5CVVNfRVZUQ0hOX0lOVEVSRkFD
RV9WRVJTSU9OX01BWCA3CiAKICNlbmRpZiAgLy8gX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX0gK
IApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9yZXZpc2lvbi5oIGIvaW5jbHVkZS9yZXZpc2lvbi5oCmlu
ZGV4IDJhYTdkYzUuLmJjNzNiZTIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmV2aXNpb24uaAorKysg
Yi9pbmNsdWRlL3JldmlzaW9uLmgKQEAgLTUxLDYgKzUxLDcgQEAKICAgICBERUZJTkVfUkVWSVNJ
T04oMHgwODAwMDAwQSwgIDEsICAyLCAgNSwgIDEsICAxLCAgMSwgIDEsICAxLCAgMSwgIDAsICAx
KSwgXAogICAgIERFRklORV9SRVZJU0lPTigweDA4MDAwMDBCLCAgMSwgIDIsICA1LCAgMSwgIDIs
ICAxLCAgMSwgIDIsICAxLCAgMCwgIDEpLCBcCiAgICAgREVGSU5FX1JFVklTSU9OKDB4MDkwMDAw
MDAsICAxLCAgMiwgIDUsICAxLCAgMiwgIDEsICAxLCAgMiwgIDEsICAwLCAgMSksIFwKLSAgICBE
RUZJTkVfUkVWSVNJT04oMHgwOTAwMDAwMSwgIDEsICAyLCAgNiwgIDEsICAyLCAgMSwgIDEsICAy
LCAgMSwgIDEsICAxKQorICAgIERFRklORV9SRVZJU0lPTigweDA5MDAwMDAxLCAgMSwgIDIsICA2
LCAgMSwgIDIsICAxLCAgMSwgIDIsICAxLCAgMSwgIDEpLCBcCisgICAgREVGSU5FX1JFVklTSU9O
KDB4MDkwMDAwMDIsICAxLCAgMiwgIDcsICAxLCAgMiwgIDEsICAxLCAgMiwgIDEsICAxLCAgMSkK
IAogI2VuZGlmICAvLyBfUkVWSVNJT05fSApkaWZmIC0tZ2l0IGEvc3JjL3hlbmJ1cy9ldnRjaG4u
YyBiL3NyYy94ZW5idXMvZXZ0Y2huLmMKaW5kZXggNzU0NmYxOS4uZjlmOTVjOSAxMDA2NDQKLS0t
IGEvc3JjL3hlbmJ1cy9ldnRjaG4uYworKysgYi9zcmMveGVuYnVzL2V2dGNobi5jCkBAIC04MSw3
ICs4MSw3IEBAIHN0cnVjdCBfWEVOQlVTX0VWVENITl9DSEFOTkVMIHsKICAgICBQS1NFUlZJQ0Vf
Uk9VVElORSAgICAgICAgICAgQ2FsbGJhY2s7CiAgICAgUFZPSUQgICAgICAgICAgICAgICAgICAg
ICAgIEFyZ3VtZW50OwogICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICBBY3RpdmU7IC8v
IE11c3QgYmUgdGVzdGVkIGF0ID49IERJU1BBVENIX0xFVkVMCi0gICAgVUxPTkcgICAgICAgICAg
ICAgICAgICAgICAgIEV2ZW50czsKKyAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAgQ291
bnQ7CiAgICAgWEVOQlVTX0VWVENITl9UWVBFICAgICAgICAgIFR5cGU7CiAgICAgWEVOQlVTX0VW
VENITl9QQVJBTUVURVJTICAgIFBhcmFtZXRlcnM7CiAgICAgQk9PTEVBTiAgICAgICAgICAgICAg
ICAgICAgIE1hc2s7CkBAIC00MDEsNyArNDAxLDcgQEAgRXZ0Y2huUmVhcCgKIAogICAgIFRyYWNl
KCIldVxuIiwgTG9jYWxQb3J0KTsKIAotICAgIENoYW5uZWwtPkV2ZW50cyA9IDA7CisgICAgQ2hh
bm5lbC0+Q291bnQgPSAwOwogCiAgICAgQVNTRVJUKENoYW5uZWwtPkNsb3NlZCk7CiAgICAgQ2hh
bm5lbC0+Q2xvc2VkID0gRkFMU0U7CkBAIC01MDcsNyArNTA3LDcgQEAgRXZ0Y2huUG9sbCgKIAog
ICAgICAgICBLZU1lbW9yeUJhcnJpZXIoKTsKICAgICAgICAgaWYgKCFDaGFubmVsLT5DbG9zZWQp
IHsKLSAgICAgICAgICAgIENoYW5uZWwtPkV2ZW50cysrOworICAgICAgICAgICAgQ2hhbm5lbC0+
Q291bnQrKzsKIAogICAgICAgICAgICAgUmVtb3ZlRW50cnlMaXN0KCZDaGFubmVsLT5QZW5kaW5n
TGlzdEVudHJ5KTsKICAgICAgICAgICAgIEluaXRpYWxpemVMaXN0SGVhZCgmQ2hhbm5lbC0+UGVu
ZGluZ0xpc3RFbnRyeSk7CkBAIC04OTgsMTUgKzg5OCwyNiBAQCBFdnRjaG5HZXRQb3J0KAogICAg
IHJldHVybiBDaGFubmVsLT5Mb2NhbFBvcnQ7CiB9CiAKK3N0YXRpYyBVTE9ORworRXZ0Y2huR2V0
Q291bnQoCisgICAgSU4gIFBJTlRFUkZBQ0UgICAgICAgICAgICAgIEludGVyZmFjZSwKKyAgICBJ
TiAgUFhFTkJVU19FVlRDSE5fQ0hBTk5FTCAgQ2hhbm5lbAorICAgICkKK3sKKyAgICBVTlJFRkVS
RU5DRURfUEFSQU1FVEVSKEludGVyZmFjZSk7CisKKyAgICByZXR1cm4gQ2hhbm5lbC0+Q291bnQ7
Cit9CisKIHN0YXRpYyBOVFNUQVRVUwogRXZ0Y2huV2FpdCgKICAgICBJTiAgUElOVEVSRkFDRSAg
ICAgICAgICAgICAgSW50ZXJmYWNlLAogICAgIElOICBQWEVOQlVTX0VWVENITl9DSEFOTkVMICBD
aGFubmVsLAorICAgIElOICBVTE9ORyAgICAgICAgICAgICAgICAgICBDb3VudCwKICAgICBJTiAg
UExBUkdFX0lOVEVHRVIgICAgICAgICAgVGltZW91dAogICAgICkKIHsKICAgICBLSVJRTCAgICAg
ICAgICAgICAgICAgICAgICAgSXJxbDsKLSAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAgICAg
RXZlbnRzOwogICAgIExBUkdFX0lOVEVHRVIgICAgICAgICAgICAgICBTdGFydDsKICAgICBOVFNU
QVRVUyAgICAgICAgICAgICAgICAgICAgc3RhdHVzOwogCkBAIC05MTUsMTQgKzkyNiwxMyBAQCBF
dnRjaG5XYWl0KAogICAgIEFTU0VSVDNVKEtlR2V0Q3VycmVudElycWwoKSwgPD0sIERJU1BBVENI
X0xFVkVMKTsKICAgICBLZVJhaXNlSXJxbChESVNQQVRDSF9MRVZFTCwgJklycWwpOyAvLyBQcmV2
ZW50IHN1c3BlbmQKIAotICAgIEV2ZW50cyA9IENoYW5uZWwtPkV2ZW50czsKLSAgICBLZU1lbW9y
eUJhcnJpZXIoKTsKLQogICAgIEtlUXVlcnlTeXN0ZW1UaW1lKCZTdGFydCk7CiAKICAgICBmb3Ig
KDs7KSB7CisgICAgICAgIEtlTWVtb3J5QmFycmllcigpOworCiAgICAgICAgIHN0YXR1cyA9IFNU
QVRVU19TVUNDRVNTOwotICAgICAgICBpZiAoQ2hhbm5lbC0+RXZlbnRzICE9IEV2ZW50cykKKyAg
ICAgICAgaWYgKChMT05HNjQpQ291bnQgLSAoTE9ORzY0KUNoYW5uZWwtPkNvdW50IDw9IDApCiAg
ICAgICAgICAgICBicmVhazsKIAogICAgICAgICBpZiAoVGltZW91dCAhPSBOVUxMKSB7CkBAIC05
NTAsMTQgKzk2MCwzNSBAQCBFdnRjaG5XYWl0KAogICAgICAgICB9CiAKICAgICAgICAgX21tX3Bh
dXNlKCk7Ci0gICAgICAgIEtlTWVtb3J5QmFycmllcigpOwogICAgIH0KIAorICAgIGlmIChzdGF0
dXMgPT0gU1RBVFVTX1RJTUVPVVQpCisgICAgICAgIEluZm8oIlRJTUVEIE9VVDogQ291bnQgPSAl
MDh4IENoYW5uZWwtPkNvdW50ID0gJTA4eFxuIiwKKyAgICAgICAgICAgICBDb3VudCwKKyAgICAg
ICAgICAgICBDaGFubmVsLT5Db3VudCk7CisKICAgICBLZUxvd2VySXJxbChJcnFsKTsKIAogICAg
IHJldHVybiBzdGF0dXM7CiB9CiAKK3N0YXRpYyBOVFNUQVRVUworRXZ0Y2huV2FpdFZlcnNpb241
KAorICAgIElOICBQSU5URVJGQUNFICAgICAgICAgICAgICBJbnRlcmZhY2UsCisgICAgSU4gIFBY
RU5CVVNfRVZUQ0hOX0NIQU5ORUwgIENoYW5uZWwsCisgICAgSU4gIFBMQVJHRV9JTlRFR0VSICAg
ICAgICAgIFRpbWVvdXQKKyAgICApCit7CisgICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAg
IENvdW50OworCisgICAgQ291bnQgPSBFdnRjaG5HZXRDb3VudChJbnRlcmZhY2UsIENoYW5uZWwp
OworCisgICAgcmV0dXJuIEV2dGNobldhaXQoSW50ZXJmYWNlLAorICAgICAgICAgICAgICAgICAg
ICAgIENoYW5uZWwsCisgICAgICAgICAgICAgICAgICAgICAgQ291bnQgKyAxLAorICAgICAgICAg
ICAgICAgICAgICAgIFRpbWVvdXQpOworfQorCiBzdGF0aWMKIF9GdW5jdGlvbl9jbGFzc18oS1NF
UlZJQ0VfUk9VVElORSkKIF9fZHJ2X3JlcXVpcmVzSVJRTChISUdIX0xFVkVMKQpAQCAtMTM2OSw4
ICsxNDAwLDggQEAgRXZ0Y2huRGVidWdDYWxsYmFjaygKIAogICAgICAgICAgICAgWEVOQlVTX0RF
QlVHKFByaW50ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAmQ29udGV4dC0+RGVidWdJbnRl
cmZhY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIkV2ZW50cyA9ICVsdVxuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICBDaGFubmVsLT5FdmVudHMpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICJDb3VudCA9ICVsdVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBDaGFubmVs
LT5Db3VudCk7CiAgICAgICAgIH0KICAgICB9CiB9CkBAIC0xNjU1LDcgKzE2ODYsNyBAQCBzdGF0
aWMgc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WNSBFdnRjaG5JbnRlcmZhY2VWZXJz
aW9uNSA9IHsKICAgICBFdnRjaG5Vbm1hc2ssCiAgICAgRXZ0Y2huU2VuZFZlcnNpb24xLAogICAg
IEV2dGNoblRyaWdnZXIsCi0gICAgRXZ0Y2huV2FpdCwKKyAgICBFdnRjaG5XYWl0VmVyc2lvbjUs
CiAgICAgRXZ0Y2huR2V0UG9ydCwKICAgICBFdnRjaG5DbG9zZSwKIH07CkBAIC0xNjY5LDYgKzE3
MDAsMjEgQEAgc3RhdGljIHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjYgRXZ0Y2hu
SW50ZXJmYWNlVmVyc2lvbjYgPSB7CiAgICAgRXZ0Y2huVW5tYXNrLAogICAgIEV2dGNoblNlbmQs
CiAgICAgRXZ0Y2huVHJpZ2dlciwKKyAgICBFdnRjaG5XYWl0VmVyc2lvbjUsCisgICAgRXZ0Y2hu
R2V0UG9ydCwKKyAgICBFdnRjaG5DbG9zZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgX1hFTkJVU19F
VlRDSE5fSU5URVJGQUNFX1Y3IEV2dGNobkludGVyZmFjZVZlcnNpb243ID0geworICAgIHsgc2l6
ZW9mIChzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y3KSwgNywgTlVMTCwgTlVMTCwg
TlVMTCB9LAorICAgIEV2dGNobkFjcXVpcmUsCisgICAgRXZ0Y2huUmVsZWFzZSwKKyAgICBFdnRj
aG5PcGVuLAorICAgIEV2dGNobkJpbmQsCisgICAgRXZ0Y2huVW5tYXNrLAorICAgIEV2dGNoblNl
bmQsCisgICAgRXZ0Y2huVHJpZ2dlciwKKyAgICBFdnRjaG5HZXRDb3VudCwKICAgICBFdnRjaG5X
YWl0LAogICAgIEV2dGNobkdldFBvcnQsCiAgICAgRXZ0Y2huQ2xvc2UsCkBAIC0xODMzLDYgKzE4
NzksMjMgQEAgRXZ0Y2huR2V0SW50ZXJmYWNlKAogICAgICAgICBzdGF0dXMgPSBTVEFUVVNfU1VD
Q0VTUzsKICAgICAgICAgYnJlYWs7CiAgICAgfQorICAgIGNhc2UgNzogeworICAgICAgICBzdHJ1
Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y3ICAqRXZ0Y2huSW50ZXJmYWNlOworCisgICAg
ICAgIEV2dGNobkludGVyZmFjZSA9IChzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y3
ICopSW50ZXJmYWNlOworCisgICAgICAgIHN0YXR1cyA9IFNUQVRVU19CVUZGRVJfT1ZFUkZMT1c7
CisgICAgICAgIGlmIChTaXplIDwgc2l6ZW9mIChzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJG
QUNFX1Y3KSkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICpFdnRjaG5JbnRlcmZhY2Ug
PSBFdnRjaG5JbnRlcmZhY2VWZXJzaW9uNzsKKworICAgICAgICBBU1NFUlQzVShJbnRlcmZhY2Ut
PlZlcnNpb24sID09LCBWZXJzaW9uKTsKKyAgICAgICAgSW50ZXJmYWNlLT5Db250ZXh0ID0gQ29u
dGV4dDsKKworICAgICAgICBzdGF0dXMgPSBTVEFUVVNfU1VDQ0VTUzsKKyAgICAgICAgYnJlYWs7
CisgICAgfQogICAgIGRlZmF1bHQ6CiAgICAgICAgIHN0YXR1cyA9IFNUQVRVU19OT1RfU1VQUE9S
VEVEOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL3NyYy94ZW5idXMvc3RvcmUuYyBiL3Ny
Yy94ZW5idXMvc3RvcmUuYwppbmRleCA4NmJiY2I4Li4xMDFkYzQwIDEwMDY0NAotLS0gYS9zcmMv
eGVuYnVzL3N0b3JlLmMKKysrIGIvc3JjL3hlbmJ1cy9zdG9yZS5jCkBAIC05MDAsNiArOTAwLDcg
QEAgU3RvcmVTdWJtaXRSZXF1ZXN0KAogewogICAgIFBYRU5CVVNfU1RPUkVfUkVTUE9OU0UgICAg
ICBSZXNwb25zZTsKICAgICBLSVJRTCAgICAgICAgICAgICAgICAgICAgICAgSXJxbDsKKyAgICBV
TE9ORyAgICAgICAgICAgICAgICAgICAgICAgQ291bnQ7CiAgICAgTEFSR0VfSU5URUdFUiAgICAg
ICAgICAgICAgIFRpbWVvdXQ7CiAKICAgICBBU1NFUlQzVShSZXF1ZXN0LT5TdGF0ZSwgPT0sIFhF
TkJVU19TVE9SRV9SRVFVRVNUX1BSRVBBUkVEKTsKQEAgLTkxMyw2ICs5MTQsMTEgQEAgU3RvcmVT
dWJtaXRSZXF1ZXN0KAogICAgIEluc2VydFRhaWxMaXN0KCZDb250ZXh0LT5TdWJtaXR0ZWRMaXN0
LCAmUmVxdWVzdC0+TGlzdEVudHJ5KTsKIAogICAgIFJlcXVlc3QtPlN0YXRlID0gWEVOQlVTX1NU
T1JFX1JFUVVFU1RfU1VCTUlUVEVEOworCisgICAgQ291bnQgPSBYRU5CVVNfRVZUQ0hOKEdldENv
dW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAmQ29udGV4dC0+RXZ0Y2huSW50ZXJmYWNl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBDb250ZXh0LT5DaGFubmVsKTsKKwogICAgIFN0
b3JlUG9sbExvY2tlZChDb250ZXh0KTsKICAgICBLZU1lbW9yeUJhcnJpZXIoKTsKIApAQCAtOTI0
LDEwICs5MzAsMTUgQEAgU3RvcmVTdWJtaXRSZXF1ZXN0KAogICAgICAgICBzdGF0dXMgPSBYRU5C
VVNfRVZUQ0hOKFdhaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkNvbnRleHQt
PkV2dGNobkludGVyZmFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250ZXh0
LT5DaGFubmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvdW50ICsgMSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmVGltZW91dCk7CiAgICAgICAgIGlmIChzdGF0
dXMgPT0gU1RBVFVTX1RJTUVPVVQpCiAgICAgICAgICAgICBXYXJuaW5nKCJUSU1FRCBPVVRcbiIp
OwogCisgICAgICAgIENvdW50ID0gWEVOQlVTX0VWVENITihHZXRDb3VudCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZDb250ZXh0LT5FdnRjaG5JbnRlcmZhY2UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBDb250ZXh0LT5DaGFubmVsKTsKKwogICAgICAgICBTdG9yZVBv
bGxMb2NrZWQoQ29udGV4dCk7CiAgICAgICAgIEtlTWVtb3J5QmFycmllcigpOwogICAgIH0KLS0g
CjIuNS4zCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
d2luLXB2LWRldmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8v
d2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Tue May 30 15:23:23 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 May 2017 15:23: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 1dFizT-0008Ax-Fn; Tue, 30 May 2017 15:23:23 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=316bc7b5a=Paul.Durrant@citrix.com>)
 id 1dFizS-0008Ao-Kz
 for win-pv-devel@lists.xenproject.org; Tue, 30 May 2017 15:23:22 +0000
Received: from [85.158.143.35] by server-9.bemta-6.messagelabs.com id
 4D/0B-03557-A6E8D295; Tue, 30 May 2017 15:23:22 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrKLMWRWlGSWpSXmKPExsXitHSDvW5Gn26
 kwcrFxhZ/Fic6MHoc/nCFJYAxijUzLym/IoE14+vJ0IJXIRUbNu5nbGB84djFyMkhIeAvsebx
 blYQm01AR2Lq00tgtoiAusS+z1uZQGxmAS2JholLwGxhgUiJx8/uMYPYLAKqEh8PXQCzeQVcJ
 R62XmDpYuQAmikn0b3TDSQsJKAisX7qLDaIEkGJkzOfsECMlJA4+OIF8wRG7llIUrOQpBYwMq
 1iVC9OLSpLLdI11ksqykzPKMlNzMzRNTQw08tNLS5OTE/NSUwq1kvOz93ECAwCBiDYwdjxz+k
 QoyQHk5Ior7O1bqQQX1J+SmVGYnFGfFFpTmrxIUYZDg4lCV6nXqCcYFFqempFWmYOMBxh0hIc
 PEoivBt6gNK8xQWJucWZ6RCpU4y6HPMubPnCJMSSl5+XKiXOWwQyQwCkKKM0D24ELDYuMcpKC
 fMyAh0lxFOQWpSbWYIq/4pRnINRSZh3IcgUnsy8ErhNr4COYAI6YtcObZAjShIRUlINjNNnWK
 8Lcbfkfn1rfwTnBsfMO5c55f3mWE4W0a5bUGhSds3p7SIhw+Wvb0n0qO7sPsu5+fRhnwuyfBN
 PbuHf0fr6hPOKu6oaErOSAzbfEjD99n3ilDjvP07fLyk0X8u8Om+7gMMBv0BNwyDxmGmlCk5T
 Xgh+5PLiUWfYrBLKllaTUKlRLe0yR4mlOCPRUIu5qDgRAIeYNNKIAgAA
X-Env-Sender: prvs=316bc7b5a=Paul.Durrant@citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1496157798!57488813!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.19; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 51965 invoked from network); 30 May 2017 15:23:20 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
 by server-2.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
 30 May 2017 15:23:20 -0000
X-IronPort-AV: E=Sophos;i="5.38,418,1491264000"; d="scan'208";a="434493250"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Tue, 30 May 2017 16:22:55 +0100
Message-ID: <1496157776-139-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 v2 1/2] Remove interface versions no longer
	exposed through PDO revisions
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/cgi-bin/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/cgi-bin/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>

WEVOQlVTX0VWVENITl9JTlRFUkZBQ0UgdmVyc2lvbnMgcHJpb3IgdG8gNCBhbmQKWEVOQlVTX1NI
QVJFRF9JTkZPX0lOVEVSRkFDRSB2ZXJzaW9uIDEgYXJlIG5vIGxvbmdlciBhdmFpbGFibGUgZm9y
CmV4dGVybmFsIHF1ZXJ5IGFuZCBub3RoaW5nIGludGVybmFsIHRvIHRoZSBYRU5CVVMgcGFja2Fn
ZSB1c2VzIHRoZW0sIHNvCnRoZSBjb2RlIGNhbiBiZSByZW1vdmVkLgoKU2lnbmVkLW9mZi1ieTog
UGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KLS0tCiBpbmNsdWRlL2V2dGNo
bl9pbnRlcmZhY2UuaCAgICAgIHwgNjYgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBp
bmNsdWRlL3NoYXJlZF9pbmZvX2ludGVyZmFjZS5oIHwgMjQgKy0tLS0tLS0tLS0KIHNyYy94ZW5i
dXMvZXZ0Y2huLmMgICAgICAgICAgICAgfCA4OSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogc3JjL3hlbmJ1cy9zaGFyZWRfaW5mby5jICAgICAgICB8IDQ4IC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyMjUg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ldnRjaG5faW50ZXJmYWNlLmggYi9p
bmNsdWRlL2V2dGNobl9pbnRlcmZhY2UuaAppbmRleCA0ZGU0NTkwLi40ZTY5NmM4IDEwMDY0NAot
LS0gYS9pbmNsdWRlL2V2dGNobl9pbnRlcmZhY2UuaAorKysgYi9pbmNsdWRlL2V2dGNobl9pbnRl
cmZhY2UuaApAQCAtMTEyLDEzICsxMTIsNiBAQCB0eXBlZGVmIFBYRU5CVVNfRVZUQ0hOX0NIQU5O
RUwKICAgICAuLi4KICAgICApOwogCi10eXBlZGVmIE5UU1RBVFVTCi0oKlhFTkJVU19FVlRDSE5f
QklORF9WMikoCi0gICAgSU4gIFBJTlRFUkZBQ0UgICAgICAgICAgICAgIEludGVyZmFjZSwKLSAg
ICBJTiAgUFhFTkJVU19FVlRDSE5fQ0hBTk5FTCAgQ2hhbm5lbCwKLSAgICBJTiAgVUxPTkcgICAg
ICAgICAgICAgICAgICAgQ3B1Ci0gICAgKTsKLQogLyohIFx0eXBlZGVmIFhFTkJVU19FVlRDSE5f
QklORAogICAgIFxicmllZiBCaW5kIGFuIGV2ZW50IGNoYW5uZWwgdG8gYSBzcGVjaWZpYyBDUFUK
IApAQCAtMTM1LDEzICsxMjgsNiBAQCB0eXBlZGVmIE5UU1RBVFVTCiAgICAgSU4gIFVDSEFSICAg
ICAgICAgICAgICAgICAgIE51bWJlcgogICAgICk7CiAKLXR5cGVkZWYgQk9PTEVBTgotKCpYRU5C
VVNfRVZUQ0hOX1VOTUFTS19WMSkoCi0gICAgSU4gIFBJTlRFUkZBQ0UgICAgICAgICAgICAgIElu
dGVyZmFjZSwKLSAgICBJTiAgUFhFTkJVU19FVlRDSE5fQ0hBTk5FTCAgQ2hhbm5lbCwKLSAgICBJ
TiAgQk9PTEVBTiAgICAgICAgICAgICAgICAgSW5DYWxsYmFjawotICAgICk7Ci0KIC8qISBcdHlw
ZWRlZiBYRU5CVVNfRVZUQ0hOX1VOTUFTSwogICAgIFxicmllZiBVbm1hc2sgYW4gZXZlbnQgY2hh
bm5lbAogCkBAIC0yMzIsNTYgKzIxOCw2IEBAIHR5cGVkZWYgVk9JRAogREVGSU5FX0dVSUQoR1VJ
RF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRSwgCiAweGJlMjQ0MGFjLCAweDEwOTgsIDB4NDE1MCwg
MHhhZiwgMHg0ZCwgMHg0NSwgMHgyZiwgMHhhZCwgMHhjZSwgMHhmOSwgMHgyMyk7CiAKLS8qISBc
c3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WMQotICAgIFxicmllZiBFVlRDSE4gaW50
ZXJmYWNlIHZlcnNpb24gMQotICAgIFxpbmdyb3VwIGludGVyZmFjZXMKLSovCi1zdHJ1Y3QgX1hF
TkJVU19FVlRDSE5fSU5URVJGQUNFX1YxIHsKLSAgICBJTlRFUkZBQ0UgICAgICAgICAgICAgICBJ
bnRlcmZhY2U7Ci0gICAgWEVOQlVTX0VWVENITl9BQ1FVSVJFICAgRXZ0Y2huQWNxdWlyZTsKLSAg
ICBYRU5CVVNfRVZUQ0hOX1JFTEVBU0UgICBFdnRjaG5SZWxlYXNlOwotICAgIFhFTkJVU19FVlRD
SE5fT1BFTiAgICAgIEV2dGNobk9wZW47Ci0gICAgWEVOQlVTX0VWVENITl9VTk1BU0tfVjEgRXZ0
Y2huVW5tYXNrVmVyc2lvbjE7Ci0gICAgWEVOQlVTX0VWVENITl9TRU5EX1YxICAgRXZ0Y2huU2Vu
ZFZlcnNpb24xOwotICAgIFhFTkJVU19FVlRDSE5fVFJJR0dFUiAgIEV2dGNoblRyaWdnZXI7Ci0g
ICAgWEVOQlVTX0VWVENITl9HRVRfUE9SVCAgRXZ0Y2huR2V0UG9ydDsKLSAgICBYRU5CVVNfRVZU
Q0hOX0NMT1NFICAgICBFdnRjaG5DbG9zZTsKLX07Ci0KLS8qISBcc3RydWN0IF9YRU5CVVNfRVZU
Q0hOX0lOVEVSRkFDRV9WMgotICAgIFxicmllZiBFVlRDSE4gaW50ZXJmYWNlIHZlcnNpb24gMgot
ICAgIFxpbmdyb3VwIGludGVyZmFjZXMKLSovCi1zdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJG
QUNFX1YyIHsKLSAgICBJTlRFUkZBQ0UgICAgICAgICAgICAgICBJbnRlcmZhY2U7Ci0gICAgWEVO
QlVTX0VWVENITl9BQ1FVSVJFICAgRXZ0Y2huQWNxdWlyZTsKLSAgICBYRU5CVVNfRVZUQ0hOX1JF
TEVBU0UgICBFdnRjaG5SZWxlYXNlOwotICAgIFhFTkJVU19FVlRDSE5fT1BFTiAgICAgIEV2dGNo
bk9wZW47Ci0gICAgWEVOQlVTX0VWVENITl9CSU5EX1YyICAgRXZ0Y2huQmluZFZlcnNpb24yOwot
ICAgIFhFTkJVU19FVlRDSE5fVU5NQVNLX1YxIEV2dGNoblVubWFza1ZlcnNpb24xOwotICAgIFhF
TkJVU19FVlRDSE5fU0VORF9WMSAgIEV2dGNoblNlbmRWZXJzaW9uMTsKLSAgICBYRU5CVVNfRVZU
Q0hOX1RSSUdHRVIgICBFdnRjaG5UcmlnZ2VyOwotICAgIFhFTkJVU19FVlRDSE5fR0VUX1BPUlQg
IEV2dGNobkdldFBvcnQ7Ci0gICAgWEVOQlVTX0VWVENITl9DTE9TRSAgICAgRXZ0Y2huQ2xvc2U7
Ci19OwotCi0vKiEgXHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjMKLSAgICBcYnJp
ZWYgRVZUQ0hOIGludGVyZmFjZSB2ZXJzaW9uIDMKLSAgICBcaW5ncm91cCBpbnRlcmZhY2VzCi0q
Lwotc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WMyB7Ci0gICAgSU5URVJGQUNFICAg
ICAgICAgICAgICAgSW50ZXJmYWNlOwotICAgIFhFTkJVU19FVlRDSE5fQUNRVUlSRSAgIEV2dGNo
bkFjcXVpcmU7Ci0gICAgWEVOQlVTX0VWVENITl9SRUxFQVNFICAgRXZ0Y2huUmVsZWFzZTsKLSAg
ICBYRU5CVVNfRVZUQ0hOX09QRU4gICAgICBFdnRjaG5PcGVuOwotICAgIFhFTkJVU19FVlRDSE5f
QklORF9WMiAgIEV2dGNobkJpbmRWZXJzaW9uMjsKLSAgICBYRU5CVVNfRVZUQ0hOX1VOTUFTSyAg
ICBFdnRjaG5Vbm1hc2s7Ci0gICAgWEVOQlVTX0VWVENITl9TRU5EX1YxICAgRXZ0Y2huU2VuZFZl
cnNpb24xOwotICAgIFhFTkJVU19FVlRDSE5fVFJJR0dFUiAgIEV2dGNoblRyaWdnZXI7Ci0gICAg
WEVOQlVTX0VWVENITl9HRVRfUE9SVCAgRXZ0Y2huR2V0UG9ydDsKLSAgICBYRU5CVVNfRVZUQ0hO
X0NMT1NFICAgICBFdnRjaG5DbG9zZTsKLX07Ci0KIC8qISBcc3RydWN0IF9YRU5CVVNfRVZUQ0hO
X0lOVEVSRkFDRV9WNAogICAgIFxicmllZiBFVlRDSE4gaW50ZXJmYWNlIHZlcnNpb24gNAogICAg
IFxpbmdyb3VwIGludGVyZmFjZXMKQEAgLTM0NSw3ICsyODEsNyBAQCB0eXBlZGVmIHN0cnVjdCBf
WEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjYgWEVOQlVTX0VWVENITl9JTlRFUkZBQ0UsICpQWEVO
QlVTX0VWVAogCiAjZW5kaWYgIC8vIF9XSU5ETEwKIAotI2RlZmluZSBYRU5CVVNfRVZUQ0hOX0lO
VEVSRkFDRV9WRVJTSU9OX01JTiAxCisjZGVmaW5lIFhFTkJVU19FVlRDSE5fSU5URVJGQUNFX1ZF
UlNJT05fTUlOIDQKICNkZWZpbmUgWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVkVSU0lPTl9NQVgg
NgogCiAjZW5kaWYgIC8vIF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9ICmRpZmYgLS1naXQgYS9p
bmNsdWRlL3NoYXJlZF9pbmZvX2ludGVyZmFjZS5oIGIvaW5jbHVkZS9zaGFyZWRfaW5mb19pbnRl
cmZhY2UuaAppbmRleCAyODdmZWFiLi5hMDYxM2NlIDEwMDY0NAotLS0gYS9pbmNsdWRlL3NoYXJl
ZF9pbmZvX2ludGVyZmFjZS5oCisrKyBiL2luY2x1ZGUvc2hhcmVkX2luZm9faW50ZXJmYWNlLmgK
QEAgLTg2LDEzICs4Niw2IEBAIHR5cGVkZWYgQk9PTEVBTgogICAgIElOICBQVk9JRCAgICAgICAg
ICAgICAgICAgICAgICAgQXJndW1lbnQKICAgICApOwogCi10eXBlZGVmIEJPT0xFQU4KLSgqWEVO
QlVTX1NIQVJFRF9JTkZPX0VWVENITl9QT0xMX1YxKSgKLSAgICBJTiAgUElOVEVSRkFDRSAgSW50
ZXJmYWNlLAotICAgIElOICBCT09MRUFOICAgICAoKkZ1bmN0aW9uKShQVk9JRCwgVUxPTkcpLAot
ICAgIElOICBQVk9JRCAgICAgICBBcmd1bWVudAotICAgICk7Ci0KIC8qISBcdHlwZWRlZiBYRU5C
VVNfU0hBUkVEX0lORk9fRVZUQ0hOX0FDSwogICAgIFxicmllZiBQcml2YXRlIG1ldGhvZCBmb3Ig
RVZUQ0hOIGluZXJmYWNlCiAqLyAgCkBAIC0xMzUsMjEgKzEyOCw2IEBAIHR5cGVkZWYgTEFSR0Vf
SU5URUdFUgogREVGSU5FX0dVSUQoR1VJRF9YRU5CVVNfU0hBUkVEX0lORk9fSU5URVJGQUNFLCAK
IDB4N2U3M2MzNGYsIDB4MTY0MCwgMHg0NjQ5LCAweGE4LCAweGYzLCAweDI2LCAweDNiLCAweGM5
LCAweDMwLCAweGEwLCAweDQpOwogCi0vKiEgXHN0cnVjdCBfWEVOQlVTX1NIQVJFRF9JTkZPX0lO
VEVSRkFDRV9WMQotICAgIFxicmllZiBTSEFSRURfSU5GTyBpbnRlcmZhY2UgdmVyc2lvbiAxCi0g
ICAgXGluZ3JvdXAgaW50ZXJmYWNlcwotKi8KLXN0cnVjdCBfWEVOQlVTX1NIQVJFRF9JTkZPX0lO
VEVSRkFDRV9WMSB7Ci0gICAgSU5URVJGQUNFICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50
ZXJmYWNlOwotICAgIFhFTkJVU19TSEFSRURfSU5GT19BQ1FVSVJFICAgICAgICAgIFNoYXJlZElu
Zm9BY3F1aXJlOwotICAgIFhFTkJVU19TSEFSRURfSU5GT19SRUxFQVNFICAgICAgICAgIFNoYXJl
ZEluZm9SZWxlYXNlOwotICAgIFhFTkJVU19TSEFSRURfSU5GT19FVlRDSE5fUE9MTF9WMSAgIFNo
YXJlZEluZm9FdnRjaG5Qb2xsVmVyc2lvbjE7Ci0gICAgWEVOQlVTX1NIQVJFRF9JTkZPX0VWVENI
Tl9BQ0sgICAgICAgU2hhcmVkSW5mb0V2dGNobkFjazsKLSAgICBYRU5CVVNfU0hBUkVEX0lORk9f
RVZUQ0hOX01BU0sgICAgICBTaGFyZWRJbmZvRXZ0Y2huTWFzazsKLSAgICBYRU5CVVNfU0hBUkVE
X0lORk9fRVZUQ0hOX1VOTUFTSyAgICBTaGFyZWRJbmZvRXZ0Y2huVW5tYXNrOwotICAgIFhFTkJV
U19TSEFSRURfSU5GT19HRVRfVElNRSAgICAgICAgIFNoYXJlZEluZm9HZXRUaW1lOwotfTsKLQog
LyohIFxzdHJ1Y3QgX1hFTkJVU19TSEFSRURfSU5GT19JTlRFUkZBQ0VfVjIKICAgICBcYnJpZWYg
U0hBUkVEX0lORk8gaW50ZXJmYWNlIHZlcnNpb24gMgogICAgIFxpbmdyb3VwIGludGVyZmFjZXMK
QEAgLTE3Niw3ICsxNTQsNyBAQCB0eXBlZGVmIHN0cnVjdCBfWEVOQlVTX1NIQVJFRF9JTkZPX0lO
VEVSRkFDRV9WMiBYRU5CVVNfU0hBUkVEX0lORk9fSU5URVJGQUNFLCAqUAogCiAjZW5kaWYgIC8v
IF9XSU5ETEwKIAotI2RlZmluZSBYRU5CVVNfU0hBUkVEX0lORk9fSU5URVJGQUNFX1ZFUlNJT05f
TUlOICAgIDEKKyNkZWZpbmUgWEVOQlVTX1NIQVJFRF9JTkZPX0lOVEVSRkFDRV9WRVJTSU9OX01J
TiAgICAyCiAjZGVmaW5lIFhFTkJVU19TSEFSRURfSU5GT19JTlRFUkZBQ0VfVkVSU0lPTl9NQVgg
ICAgMgogCiAjZW5kaWYgIC8vIF9YRU5CVVNfU0hBUkVEX0lORk9fSApkaWZmIC0tZ2l0IGEvc3Jj
L3hlbmJ1cy9ldnRjaG4uYyBiL3NyYy94ZW5idXMvZXZ0Y2huLmMKaW5kZXggZjk2NWY1Yi4uNzU0
NmYxOSAxMDA2NDQKLS0tIGEvc3JjL3hlbmJ1cy9ldnRjaG4uYworKysgYi9zcmMveGVuYnVzL2V2
dGNobi5jCkBAIC0xNjMzLDQ0ICsxNjMzLDYgQEAgZG9uZToKICAgICBLZVJlbGVhc2VTcGluTG9j
aygmQ29udGV4dC0+TG9jaywgSXJxbCk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgX1hFTkJVU19FVlRD
SE5fSU5URVJGQUNFX1YxIEV2dGNobkludGVyZmFjZVZlcnNpb24xID0gewotICAgIHsgc2l6ZW9m
IChzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1YxKSwgMSwgTlVMTCwgTlVMTCwgTlVM
TCB9LAotICAgIEV2dGNobkFjcXVpcmUsCi0gICAgRXZ0Y2huUmVsZWFzZSwKLSAgICBFdnRjaG5P
cGVuLAotICAgIEV2dGNoblVubWFza1ZlcnNpb24xLAotICAgIEV2dGNoblNlbmRWZXJzaW9uMSwK
LSAgICBFdnRjaG5UcmlnZ2VyLAotICAgIEV2dGNobkdldFBvcnQsCi0gICAgRXZ0Y2huQ2xvc2UK
LX07Ci0gICAgICAgICAgICAgICAgICAgICAKLXN0YXRpYyBzdHJ1Y3QgX1hFTkJVU19FVlRDSE5f
SU5URVJGQUNFX1YyIEV2dGNobkludGVyZmFjZVZlcnNpb24yID0gewotICAgIHsgc2l6ZW9mIChz
dHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1YyKSwgMiwgTlVMTCwgTlVMTCwgTlVMTCB9
LAotICAgIEV2dGNobkFjcXVpcmUsCi0gICAgRXZ0Y2huUmVsZWFzZSwKLSAgICBFdnRjaG5PcGVu
LAotICAgIEV2dGNobkJpbmRWZXJzaW9uMiwKLSAgICBFdnRjaG5Vbm1hc2tWZXJzaW9uMSwKLSAg
ICBFdnRjaG5TZW5kVmVyc2lvbjEsCi0gICAgRXZ0Y2huVHJpZ2dlciwKLSAgICBFdnRjaG5HZXRQ
b3J0LAotICAgIEV2dGNobkNsb3NlCi19OwotCi1zdGF0aWMgc3RydWN0IF9YRU5CVVNfRVZUQ0hO
X0lOVEVSRkFDRV9WMyBFdnRjaG5JbnRlcmZhY2VWZXJzaW9uMyA9IHsKLSAgICB7IHNpemVvZiAo
c3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WMyksIDMsIE5VTEwsIE5VTEwsIE5VTEwg
fSwKLSAgICBFdnRjaG5BY3F1aXJlLAotICAgIEV2dGNoblJlbGVhc2UsCi0gICAgRXZ0Y2huT3Bl
biwKLSAgICBFdnRjaG5CaW5kVmVyc2lvbjIsCi0gICAgRXZ0Y2huVW5tYXNrLAotICAgIEV2dGNo
blNlbmRWZXJzaW9uMSwKLSAgICBFdnRjaG5UcmlnZ2VyLAotICAgIEV2dGNobkdldFBvcnQsCi0g
ICAgRXZ0Y2huQ2xvc2UKLX07Ci0KIHN0YXRpYyBzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJG
QUNFX1Y0IEV2dGNobkludGVyZmFjZVZlcnNpb240ID0gewogICAgIHsgc2l6ZW9mIChzdHJ1Y3Qg
X1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y0KSwgNCwgTlVMTCwgTlVMTCwgTlVMTCB9LAogICAg
IEV2dGNobkFjcXVpcmUsCkBAIC0xODIwLDU3ICsxNzgyLDYgQEAgRXZ0Y2huR2V0SW50ZXJmYWNl
KAogICAgIEFTU0VSVChDb250ZXh0ICE9IE5VTEwpOwogCiAgICAgc3dpdGNoIChWZXJzaW9uKSB7
Ci0gICAgY2FzZSAxOiB7Ci0gICAgICAgIHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0Vf
VjEgICpFdnRjaG5JbnRlcmZhY2U7Ci0KLSAgICAgICAgRXZ0Y2huSW50ZXJmYWNlID0gKHN0cnVj
dCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjEgKilJbnRlcmZhY2U7Ci0KLSAgICAgICAgc3Rh
dHVzID0gU1RBVFVTX0JVRkZFUl9PVkVSRkxPVzsKLSAgICAgICAgaWYgKFNpemUgPCBzaXplb2Yg
KHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjEpKQotICAgICAgICAgICAgYnJlYWs7
Ci0KLSAgICAgICAgKkV2dGNobkludGVyZmFjZSA9IEV2dGNobkludGVyZmFjZVZlcnNpb24xOwot
Ci0gICAgICAgIEFTU0VSVDNVKEludGVyZmFjZS0+VmVyc2lvbiwgPT0sIFZlcnNpb24pOwotICAg
ICAgICBJbnRlcmZhY2UtPkNvbnRleHQgPSBDb250ZXh0OwotCi0gICAgICAgIHN0YXR1cyA9IFNU
QVRVU19TVUNDRVNTOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSAyOiB7Ci0gICAg
ICAgIHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjIgICpFdnRjaG5JbnRlcmZhY2U7
Ci0KLSAgICAgICAgRXZ0Y2huSW50ZXJmYWNlID0gKHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRF
UkZBQ0VfVjIgKilJbnRlcmZhY2U7Ci0KLSAgICAgICAgc3RhdHVzID0gU1RBVFVTX0JVRkZFUl9P
VkVSRkxPVzsKLSAgICAgICAgaWYgKFNpemUgPCBzaXplb2YgKHN0cnVjdCBfWEVOQlVTX0VWVENI
Tl9JTlRFUkZBQ0VfVjIpKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgKkV2dGNobklu
dGVyZmFjZSA9IEV2dGNobkludGVyZmFjZVZlcnNpb24yOwotCi0gICAgICAgIEFTU0VSVDNVKElu
dGVyZmFjZS0+VmVyc2lvbiwgPT0sIFZlcnNpb24pOwotICAgICAgICBJbnRlcmZhY2UtPkNvbnRl
eHQgPSBDb250ZXh0OwotCi0gICAgICAgIHN0YXR1cyA9IFNUQVRVU19TVUNDRVNTOwotICAgICAg
ICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSAzOiB7Ci0gICAgICAgIHN0cnVjdCBfWEVOQlVTX0VW
VENITl9JTlRFUkZBQ0VfVjMgICpFdnRjaG5JbnRlcmZhY2U7Ci0KLSAgICAgICAgRXZ0Y2huSW50
ZXJmYWNlID0gKHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjMgKilJbnRlcmZhY2U7
Ci0KLSAgICAgICAgc3RhdHVzID0gU1RBVFVTX0JVRkZFUl9PVkVSRkxPVzsKLSAgICAgICAgaWYg
KFNpemUgPCBzaXplb2YgKHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjMpKQotICAg
ICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgKkV2dGNobkludGVyZmFjZSA9IEV2dGNobkludGVy
ZmFjZVZlcnNpb24zOwotCi0gICAgICAgIEFTU0VSVDNVKEludGVyZmFjZS0+VmVyc2lvbiwgPT0s
IFZlcnNpb24pOwotICAgICAgICBJbnRlcmZhY2UtPkNvbnRleHQgPSBDb250ZXh0OwotCi0gICAg
ICAgIHN0YXR1cyA9IFNUQVRVU19TVUNDRVNTOwotICAgICAgICBicmVhazsKLSAgICB9CiAgICAg
Y2FzZSA0OiB7CiAgICAgICAgIHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjQgICpF
dnRjaG5JbnRlcmZhY2U7CiAKZGlmZiAtLWdpdCBhL3NyYy94ZW5idXMvc2hhcmVkX2luZm8uYyBi
L3NyYy94ZW5idXMvc2hhcmVkX2luZm8uYwppbmRleCBkNmJhYmNmLi44YWVjMzlkIDEwMDY0NAot
LS0gYS9zcmMveGVuYnVzL3NoYXJlZF9pbmZvLmMKKysrIGIvc3JjL3hlbmJ1cy9zaGFyZWRfaW5m
by5jCkBAIC0yNDcsMjYgKzI0Nyw2IEBAIGRvbmU6CiAgICAgcmV0dXJuIERvbmVTb21ldGhpbmc7
CiB9CiAKLXN0YXRpYyBCT09MRUFOCi1TaGFyZWRJbmZvRXZ0Y2huUG9sbFZlcnNpb24xKAotICAg
IElOICBQSU5URVJGQUNFICAgICAgICAgICAgICBJbnRlcmZhY2UsCi0gICAgSU4gIEJPT0xFQU4g
ICAgICAgICAgICAgICAgICgqRnVuY3Rpb24pKFBWT0lELCBVTE9ORyksCi0gICAgSU4gIFBWT0lE
ICAgICAgICAgICAgICAgICAgIEFyZ3VtZW50IE9QVElPTkFMCi0gICAgKQotewotICAgIEJPT0xF
QU4gICAgICAgICAgICAgICAgICAgICBEb25lU29tZXRoaW5nOwotCi0gICAgRG9uZVNvbWV0aGlu
ZyA9IEZBTFNFOwotCi0gICAgd2hpbGUgKFNoYXJlZEluZm9VcGNhbGxQZW5kaW5nKEludGVyZmFj
ZSwgMCkpCi0gICAgICAgIERvbmVTb21ldGhpbmcgfD0gU2hhcmVkSW5mb0V2dGNoblBvbGwoSW50
ZXJmYWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnVuY3Rpb24s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJndW1lbnQp
OwotCi0gICAgcmV0dXJuIERvbmVTb21ldGhpbmc7Ci19Ci0KIHN0YXRpYyBWT0lECiBTaGFyZWRJ
bmZvRXZ0Y2huQWNrKAogICAgIElOICBQSU5URVJGQUNFICAgICAgICAgICAgICBJbnRlcmZhY2Us
CkBAIC02ODUsMTcgKzY2NSw2IEBAIGRvbmU6CiAgICAgS2VSZWxlYXNlU3BpbkxvY2soJkNvbnRl
eHQtPkxvY2ssIElycWwpOwogfQogCi1zdGF0aWMgc3RydWN0IF9YRU5CVVNfU0hBUkVEX0lORk9f
SU5URVJGQUNFX1YxIFNoYXJlZEluZm9JbnRlcmZhY2VWZXJzaW9uMSA9IHsKLSAgICB7IHNpemVv
ZiAoc3RydWN0IF9YRU5CVVNfU0hBUkVEX0lORk9fSU5URVJGQUNFX1YxKSwgMSwgTlVMTCwgTlVM
TCwgTlVMTCB9LAotICAgIFNoYXJlZEluZm9BY3F1aXJlLAotICAgIFNoYXJlZEluZm9SZWxlYXNl
LAotICAgIFNoYXJlZEluZm9FdnRjaG5Qb2xsVmVyc2lvbjEsCi0gICAgU2hhcmVkSW5mb0V2dGNo
bkFjaywKLSAgICBTaGFyZWRJbmZvRXZ0Y2huTWFzaywKLSAgICBTaGFyZWRJbmZvRXZ0Y2huVW5t
YXNrLAotICAgIFNoYXJlZEluZm9HZXRUaW1lCi19OwotCiBzdGF0aWMgc3RydWN0IF9YRU5CVVNf
U0hBUkVEX0lORk9fSU5URVJGQUNFX1YyIFNoYXJlZEluZm9JbnRlcmZhY2VWZXJzaW9uMiA9IHsK
ICAgICB7IHNpemVvZiAoc3RydWN0IF9YRU5CVVNfU0hBUkVEX0lORk9fSU5URVJGQUNFX1YyKSwg
MiwgTlVMTCwgTlVMTCwgTlVMTCB9LAogICAgIFNoYXJlZEluZm9BY3F1aXJlLApAQCAtNzY1LDIz
ICs3MzQsNiBAQCBTaGFyZWRJbmZvR2V0SW50ZXJmYWNlKAogICAgIEFTU0VSVChDb250ZXh0ICE9
IE5VTEwpOwogCiAgICAgc3dpdGNoIChWZXJzaW9uKSB7Ci0gICAgY2FzZSAxOiB7Ci0gICAgICAg
IHN0cnVjdCBfWEVOQlVTX1NIQVJFRF9JTkZPX0lOVEVSRkFDRV9WMSAqU2hhcmVkSW5mb0ludGVy
ZmFjZTsKLQotICAgICAgICBTaGFyZWRJbmZvSW50ZXJmYWNlID0gKHN0cnVjdCBfWEVOQlVTX1NI
QVJFRF9JTkZPX0lOVEVSRkFDRV9WMSAqKUludGVyZmFjZTsKLQotICAgICAgICBzdGF0dXMgPSBT
VEFUVVNfQlVGRkVSX09WRVJGTE9XOwotICAgICAgICBpZiAoU2l6ZSA8IHNpemVvZiAoc3RydWN0
IF9YRU5CVVNfU0hBUkVEX0lORk9fSU5URVJGQUNFX1YxKSkKLSAgICAgICAgICAgIGJyZWFrOwot
Ci0gICAgICAgICpTaGFyZWRJbmZvSW50ZXJmYWNlID0gU2hhcmVkSW5mb0ludGVyZmFjZVZlcnNp
b24xOwotCi0gICAgICAgIEFTU0VSVDNVKEludGVyZmFjZS0+VmVyc2lvbiwgPT0sIFZlcnNpb24p
OwotICAgICAgICBJbnRlcmZhY2UtPkNvbnRleHQgPSBDb250ZXh0OwotCi0gICAgICAgIHN0YXR1
cyA9IFNUQVRVU19TVUNDRVNTOwotICAgICAgICBicmVhazsKLSAgICB9CiAgICAgY2FzZSAyOiB7
CiAgICAgICAgIHN0cnVjdCBfWEVOQlVTX1NIQVJFRF9JTkZPX0lOVEVSRkFDRV9WMiAqU2hhcmVk
SW5mb0ludGVyZmFjZTsKIAotLSAKMi41LjMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwp3aW4tcHYtZGV2ZWwgbWFpbGluZyBsaXN0Cndpbi1wdi1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2NnaS1i
aW4vbWFpbG1hbi9saXN0aW5mby93aW4tcHYtZGV2ZWw=

From win-pv-devel-bounces@lists.xenproject.org Tue May 30 15:24:09 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 May 2017 15:24: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 1dFj0D-0008GB-Q9; Tue, 30 May 2017 15:24:09 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=316bc7b5a=Paul.Durrant@citrix.com>)
 id 1dFj0C-0008Fu-4B
 for win-pv-devel@lists.xenproject.org; Tue, 30 May 2017 15:24:08 +0000
Received: from [193.109.254.147] by server-6.bemta-6.messagelabs.com id
 03/08-03920-79E8D295; Tue, 30 May 2017 15:24:07 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrEIsWRWlGSWpSXmKPExsWyU9JRQndan26
 kwdp1ZhZ/Fic6MHoc/nCFJYAxijUzLym/IoE14/KK9cwFX+Mrjlz6ydLAeMWli5GTQ0LAT6Lh
 yEJ2EJtNQEdi6dH5TCC2iECJxLpln5hBbGEBD4mp3YvZIOKeEvPXTwCyOYBsI4knf4tBwiwCq
 hLbOjaDlfMKuEv8fLSXFcQWEqiTaFq6nAXE5hRwlTh34SlYDaOArMSXxtVgNrOAuMStJxBrJQ
 QEJJbsOc8MYYtKvHz8jxXCNpDYunQfC0S9jsSC3Z/YIGxtiWULX0PtFZQ4OfMJywRGoVlIxs5
 C0jILScssJC0LGFlWMaoXpxaVpRbpGuolFWWmZ5TkJmbm6BoamOnlphYXJ6an5iQmFesl5+du
 YgSGNwMQ7GDc+dzpEKMkB5OSKK+ztW6kEF9SfkplRmJxRnxRaU5q8SFGGQ4OJQlep16gnGBRa
 npqRVpmDjDSYNISHDxKIrwbeoDSvMUFibnFmekQqVOMuhwbVq//wiTEkpeflyolzssAMkMApC
 ijNA9uBCzqLzHKSgnzMgIdJcRTkFqUm1mCKv+KUZyDUUmYNwNkCk9mXgncpldARzABHbFrhzb
 IESWJCCmpBsaIWQwd5Q150b9Kr1vutQiZK3L2l1j/yYScL3OafZ47zFwzWfLFGqtjt03ui/+0
 EvWJ/1u6/uFp31qvxOV/JzcaJyaL9ZyJY1wbPG+aeL92eYv1j7Lo9Vt8NVdOs4u4/I3pyVTG/
 r3X2vfNzVDjXGta/XNr2/f8Gzt+8+jVruyoOd3js3TJDiklluKMREMt5qLiRAAJZe2n9QIAAA
 ==
X-Env-Sender: prvs=316bc7b5a=Paul.Durrant@citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1496157846!99673644!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50,
 received_headers: No Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.19; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26320 invoked from network); 30 May 2017 15:24:06 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
 by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
 30 May 2017 15:24:06 -0000
X-IronPort-AV: E=Sophos;i="5.38,418,1491264000"; d="scan'208";a="46926333"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: Paul Durrant <Paul.Durrant@citrix.com>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Thread-Topic: [PATCH 2/2] Update XENBUS_EVTCHN Wait method to avoid races
Thread-Index: AQHS2U2h6FL9w/Z40UeXwybABAb8X6IM/jqw
Date: Tue, 30 May 2017 15:22:10 +0000
Message-ID: <d0e716daeefd4444b7059b0c8af7e6f0@AMSPEX02CL03.citrite.net>
References: <1496153046-75-1-git-send-email-paul.durrant@citrix.com>
 <1496153046-75-2-git-send-email-paul.durrant@citrix.com>
In-Reply-To: <1496153046-75-2-git-send-email-paul.durrant@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
Subject: Re: [win-pv-devel] [PATCH 2/2] Update XENBUS_EVTCHN Wait method to
	avoid races
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/cgi-bin/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/cgi-bin/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+IEZyb206IFBhdWwgRHVycmFudCBbbWFpbHRv
OnBhdWwuZHVycmFudEBjaXRyaXguY29tXQo+IFNlbnQ6IDMwIE1heSAyMDE3IDE1OjA0Cj4gVG86
IHdpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwo+IENjOiBQYXVsIER1cnJhbnQgPFBh
dWwuRHVycmFudEBjaXRyaXguY29tPgo+IFN1YmplY3Q6IFtQQVRDSCAyLzJdIFVwZGF0ZSBYRU5C
VVNfRVZUQ0hOIFdhaXQgbWV0aG9kIHRvIGF2b2lkIHJhY2VzCj4gCj4gVXNlIG9mIHRoZSBYRU5C
VVNfRVZUQ0hOIG1ldGhvZCBpcyBwcm9uZSB0byByYWNlcyBpbiB0aGF0IGEgY2xpZW50Cj4gdXN1
YWxseSB3YW50cyB0byBjaGVjayB0aGF0IHNvbWV0aGluZyB0aGF0IHNob3VsZCBiZSB0cmlnZ2Vy
ZWQgYnkgYW4KPiBldmVudCBhbmQsIGlmIGl0IGhhcyBub3Qgb2NjdXJyZWQsIHdhaXQgZm9yIHRo
ZSBuZXh0IGV2ZW50Lgo+IFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIGNsaWVudCBtYXkgbWFrZXMg
aXRzIGNoZWNrLCB0aGUgZXZlbnQgdGhlbiBvY2N1cnMsCj4gYW5kIHRoZW4gdGhlIGNsaWVudCB3
YWl0cy4gVGh1cyB0aGUgZXZlbnQgaXMgbWlzc2VkIGFuZCB0aGUgY2xpZW50IG9ubHkKPiB3YWtl
cyB1cCB3aGVuIHRoZSB0aW1lb3V0IGV4cGlyZXMuCj4gCj4gVGhpcyBwYXRjaCBjaGFuZ2VzIHRo
ZSBXYWl0IG1ldGhvZCB0byB0YWtlIGFuIGV4cGxpY2l0IGV2ZW50IGNvdW50IHRvIHdhaXQKPiBm
b3IsIGFuZCBhZGRzIGEgbWV0aG9kIHRvIHNhbXBsZSB0aGUgY3VycmVudCBldmVudCBjb3VudC4g
QSBjbGllbnQgY2FuCj4gdGhlbiBhdm9pZCBhIHJhY2UgYXMgZGVzY3JpYmVkIGFib3ZlIGJ5IHNh
bXBsaW5nIHRoZSBldmVudCBjb3VudCBmaXJzdCwKPiBtYWtpbmcgaXRzIGNoZWNrIGFuZCB0aGVu
IHdhaXRpbmcgZm9yIHRoZSBldmVudCBjb3VudCB0byBpbmNyZW1lbnQgYnkgb25lLgo+IElmIHRo
ZSBldmVudCBvY2N1cnJlZCBiZXR3ZWVuIHRoZSBjaGVjayBhbmQgdGhlIHdhaXQsIHRoZSB3YWl0
IHdpbGwgbm93Cj4gcmV0dXJuIGltbWVkaWF0ZWx5Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IFBhdWwg
RHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+Cj4gLS0tCj4gIGluY2x1ZGUvZXZ0Y2hu
X2ludGVyZmFjZS5oIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrLS0tCj4gIGluY2x1ZGUv
cmV2aXNpb24uaCAgICAgICAgIHwgIDMgKy0KPiAgc3JjL3hlbmJ1cy9ldnRjaG4uYyAgICAgICAg
fCA4Mgo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KPiAg
c3JjL3hlbmJ1cy9zdG9yZS5jICAgICAgICAgfCAxMSArKysrKysrCj4gIDQgZmlsZXMgY2hhbmdl
ZCwgMTI4IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9p
bmNsdWRlL2V2dGNobl9pbnRlcmZhY2UuaCBiL2luY2x1ZGUvZXZ0Y2huX2ludGVyZmFjZS5oCj4g
aW5kZXggNGU2OTZjOC4uMzEwODUwYiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2V2dGNobl9pbnRl
cmZhY2UuaAo+ICsrKyBiL2luY2x1ZGUvZXZ0Y2huX2ludGVyZmFjZS5oCj4gQEAgLTE3NSwxNyAr
MTc1LDM5IEBAIHR5cGVkZWYgVk9JRAo+ICAgICAgSU4gIFBYRU5CVVNfRVZUQ0hOX0NIQU5ORUwg
IENoYW5uZWwKPiAgICAgICk7Cj4gCj4gKy8qISBcdHlwZWRlZiBYRU5CVVNfRVZUQ0hOX0dFVF9D
T1VOVAo+ICsgICAgXGJyaWVmIEdldCB0aGUgbnVtYmVyIG9mIGV2ZW50cyByZWNlaXZlZCBieSB0
aGUgY2hhbm5lbCBzaW5jZSBpdCB3YXMKPiBvcGVuZWQKPiArCj4gKyAgICBccGFyYW0gSW50ZXJm
YWNlIFRoZSBpbnRlcmZhY2UgaGVhZGVyCj4gKyAgICBccGFyYW0gQ2hhbm5lbCBUaGUgY2hhbm5l
bCBoYW5kbGUKPiArICAgIFxyZXR1cm4gVGhlIG51bWJlciBvZiBldmVudHMKPiArKi8KPiArdHlw
ZWRlZiBVTE9ORwo+ICsoKlhFTkJVU19FVlRDSE5fR0VUX0NPVU5UKSgKPiArICAgIElOICBQSU5U
RVJGQUNFICAgICAgICAgICAgICBJbnRlcmZhY2UsCj4gKyAgICBJTiAgUFhFTkJVU19FVlRDSE5f
Q0hBTk5FTCAgQ2hhbm5lbAo+ICsgICAgKTsKPiArCj4gK3R5cGVkZWYgTlRTVEFUVVMKPiArKCpY
RU5CVVNfRVZUQ0hOX1dBSVRfVjUpKAo+ICsgICAgSU4gIFBJTlRFUkZBQ0UgICAgICAgICAgICAg
IEludGVyZmFjZSwKPiArICAgIElOICBQWEVOQlVTX0VWVENITl9DSEFOTkVMICBDaGFubmVsLAo+
ICsgICAgSU4gIFBMQVJHRV9JTlRFR0VSICAgICAgICAgIFRpbWVvdXQgT1BUSU9OQUwKPiArICAg
ICk7Cj4gKwo+ICAvKiEgXHR5cGVkZWYgWEVOQlVTX0VWVENITl9XQUlUCj4gLSAgICBcYnJpZWYg
V2FpdCBmb3IgYW4gZXZlbnQgdG8gdGhlIGxvY2FsIGVuZCBvZiB0aGUgY2hhbm5lbAo+ICsgICAg
XGJyaWVmIFdhaXQgZm9yIGV2ZW50cyB0byB0aGUgbG9jYWwgZW5kIG9mIHRoZSBjaGFubmVsCj4g
Cj4gICAgICBccGFyYW0gSW50ZXJmYWNlIFRoZSBpbnRlcmZhY2UgaGVhZGVyCj4gICAgICBccGFy
YW0gQ2hhbm5lbCBUaGUgY2hhbm5lbCBoYW5kbGUKPiArICAgIFxwYXJhbSBDb3VudCBUaGUgZXZl
bnQgY291bnQgdG8gd2FpdCBmb3IKPiAgICAgIFxwYXJhbSBUaW1lb3V0IEFuIG9wdGlvbmFsIHRp
bWVvdXQgdmFsdWUgKHNpbWlsYXIgdG8KPiBLZVdhaXRGb3JTaW5nbGVPYmplY3QoKSwgYnV0IG5v
bi16ZXJvIHZhbHVlcyBhcmUgYWxsb3dlZCBhdAo+IERJU1BBVENIX0xFVkVMKS4KPiAgKi8KPiAg
dHlwZWRlZiBOVFNUQVRVUwo+ICAoKlhFTkJVU19FVlRDSE5fV0FJVCkoCj4gICAgICBJTiAgUElO
VEVSRkFDRSAgICAgICAgICAgICAgSW50ZXJmYWNlLAo+ICAgICAgSU4gIFBYRU5CVVNfRVZUQ0hO
X0NIQU5ORUwgIENoYW5uZWwsCj4gKyAgICBJTiAgVUxPTkcgICAgICAgICAgICAgICAgICAgQ291
bnQsCj4gICAgICBJTiAgUExBUkdFX0lOVEVHRVIgICAgICAgICAgVGltZW91dCBPUFRJT05BTAo+
ICAgICAgKTsKPiAKPiBAQCAtMjQ4LDcgKzI3MCw3IEBAIHN0cnVjdCBfWEVOQlVTX0VWVENITl9J
TlRFUkZBQ0VfVjUgewo+ICAgICAgWEVOQlVTX0VWVENITl9VTk1BU0sgICAgRXZ0Y2huVW5tYXNr
Owo+ICAgICAgWEVOQlVTX0VWVENITl9TRU5EX1YxICAgRXZ0Y2huU2VuZFZlcnNpb24xOwo+ICAg
ICAgWEVOQlVTX0VWVENITl9UUklHR0VSICAgRXZ0Y2huVHJpZ2dlcjsKPiAtICAgIFhFTkJVU19F
VlRDSE5fV0FJVCAgICAgIEV2dGNobldhaXQ7Cj4gKyAgICBYRU5CVVNfRVZUQ0hOX1dBSVRfVjUg
ICBFdnRjaG5XYWl0VmVyc2lvbjU7Cj4gICAgICBYRU5CVVNfRVZUQ0hOX0dFVF9QT1JUICBFdnRj
aG5HZXRQb3J0Owo+ICAgICAgWEVOQlVTX0VWVENITl9DTE9TRSAgICAgRXZ0Y2huQ2xvc2U7Cj4g
IH07Cj4gQEAgLTI2NiwxMiArMjg4LDMxIEBAIHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZB
Q0VfVjYgewo+ICAgICAgWEVOQlVTX0VWVENITl9VTk1BU0sgICAgRXZ0Y2huVW5tYXNrOwo+ICAg
ICAgWEVOQlVTX0VWVENITl9TRU5EICAgICAgRXZ0Y2huU2VuZDsKPiAgICAgIFhFTkJVU19FVlRD
SE5fVFJJR0dFUiAgIEV2dGNoblRyaWdnZXI7Cj4gKyAgICBYRU5CVVNfRVZUQ0hOX1dBSVRfVjUg
ICBFdnRjaG5XYWl0VmVyc2lvbjU7Cj4gKyAgICBYRU5CVVNfRVZUQ0hOX0dFVF9QT1JUICBFdnRj
aG5HZXRQb3J0Owo+ICsgICAgWEVOQlVTX0VWVENITl9DTE9TRSAgICAgRXZ0Y2huQ2xvc2U7Cj4g
K307Cj4gKwo+ICsvKiEgXHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjcKPiArICAg
IFxicmllZiBFVlRDSE4gaW50ZXJmYWNlIHZlcnNpb24gNwo+ICsgICAgXGluZ3JvdXAgaW50ZXJm
YWNlcwo+ICsqLwo+ICtzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y3IHsKPiArICAg
IElOVEVSRkFDRSAgICAgICAgICAgICAgIEludGVyZmFjZTsKPiArICAgIFhFTkJVU19FVlRDSE5f
QUNRVUlSRSAgIEV2dGNobkFjcXVpcmU7Cj4gKyAgICBYRU5CVVNfRVZUQ0hOX1JFTEVBU0UgICBF
dnRjaG5SZWxlYXNlOwo+ICsgICAgWEVOQlVTX0VWVENITl9PUEVOICAgICAgRXZ0Y2huT3BlbjsK
PiArICAgIFhFTkJVU19FVlRDSE5fQklORCAgICAgIEV2dGNobkJpbmQ7Cj4gKyAgICBYRU5CVVNf
RVZUQ0hOX1VOTUFTSyAgICBFdnRjaG5Vbm1hc2s7Cj4gKyAgICBYRU5CVVNfRVZUQ0hOX1NFTkQg
ICAgICBFdnRjaG5TZW5kOwo+ICsgICAgWEVOQlVTX0VWVENITl9UUklHR0VSICAgRXZ0Y2huVHJp
Z2dlcjsKPiArICAgIFhFTkJVU19FVlRDSE5fR0VUX0NPVU5UIEV2dGNobkdldENvdW50Owo+ICAg
ICAgWEVOQlVTX0VWVENITl9XQUlUICAgICAgRXZ0Y2huV2FpdDsKPiAgICAgIFhFTkJVU19FVlRD
SE5fR0VUX1BPUlQgIEV2dGNobkdldFBvcnQ7Cj4gICAgICBYRU5CVVNfRVZUQ0hOX0NMT1NFICAg
ICBFdnRjaG5DbG9zZTsKPiAgfTsKPiAKPiAtdHlwZWRlZiBzdHJ1Y3QgX1hFTkJVU19FVlRDSE5f
SU5URVJGQUNFX1Y2Cj4gWEVOQlVTX0VWVENITl9JTlRFUkZBQ0UsICpQWEVOQlVTX0VWVENITl9J
TlRFUkZBQ0U7Cj4gK3R5cGVkZWYgc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WNwo+
IFhFTkJVU19FVlRDSE5fSU5URVJGQUNFLCAqUFhFTkJVU19FVlRDSE5fSU5URVJGQUNFOwo+IAo+
ICAvKiEgXGRlZiBYRU5CVVNfRVZUQ0hOCj4gICAgICBcYnJpZWYgTWFjcm8gYXQgYXNzaXN0IGlu
IG1ldGhvZCBpbnZvY2F0aW9uCj4gQEAgLTI4Miw3ICszMjMsNyBAQCB0eXBlZGVmIHN0cnVjdCBf
WEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjYKPiBYRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRSwgKlBY
RU5CVVNfRVZUCj4gICNlbmRpZiAgLy8gX1dJTkRMTAo+IAo+ICAjZGVmaW5lIFhFTkJVU19FVlRD
SE5fSU5URVJGQUNFX1ZFUlNJT05fTUlOIDQKPiAtI2RlZmluZSBYRU5CVVNfRVZUQ0hOX0lOVEVS
RkFDRV9WRVJTSU9OX01BWCA2Cj4gKyNkZWZpbmUgWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVkVS
U0lPTl9NQVggNwo+IAo+ICAjZW5kaWYgIC8vIF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9ICj4g
Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmV2aXNpb24uaCBiL2luY2x1ZGUvcmV2aXNpb24uaAo+
IGluZGV4IDJhYTdkYzUuLmJjNzNiZTIgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9yZXZpc2lvbi5o
Cj4gKysrIGIvaW5jbHVkZS9yZXZpc2lvbi5oCj4gQEAgLTUxLDYgKzUxLDcgQEAKPiAgICAgIERF
RklORV9SRVZJU0lPTigweDA4MDAwMDBBLCAgMSwgIDIsICA1LCAgMSwgIDEsICAxLCAgMSwgIDEs
ICAxLCAgMCwgIDEpLCBcCj4gICAgICBERUZJTkVfUkVWSVNJT04oMHgwODAwMDAwQiwgIDEsICAy
LCAgNSwgIDEsICAyLCAgMSwgIDEsICAyLCAgMSwgIDAsICAxKSwgXAo+ICAgICAgREVGSU5FX1JF
VklTSU9OKDB4MDkwMDAwMDAsICAxLCAgMiwgIDUsICAxLCAgMiwgIDEsICAxLCAgMiwgIDEsICAw
LCAgMSksIFwKPiAtICAgIERFRklORV9SRVZJU0lPTigweDA5MDAwMDAxLCAgMSwgIDIsICA2LCAg
MSwgIDIsICAxLCAgMSwgIDIsICAxLCAgMSwgIDEpCj4gKyAgICBERUZJTkVfUkVWSVNJT04oMHgw
OTAwMDAwMSwgIDEsICAyLCAgNiwgIDEsICAyLCAgMSwgIDEsICAyLCAgMSwgIDEsICAxKSwgXAo+
ICsgICAgREVGSU5FX1JFVklTSU9OKDB4MDkwMDAwMDIsICAxLCAgMiwgIDcsICAxLCAgMiwgIDEs
ICAxLCAgMiwgIDEsICAxLCAgMSkKPiAKPiAgI2VuZGlmICAvLyBfUkVWSVNJT05fSAo+IGRpZmYg
LS1naXQgYS9zcmMveGVuYnVzL2V2dGNobi5jIGIvc3JjL3hlbmJ1cy9ldnRjaG4uYwo+IGluZGV4
IDc1NDZmMTkuLmUzOWE3YTcgMTAwNjQ0Cj4gLS0tIGEvc3JjL3hlbmJ1cy9ldnRjaG4uYwo+ICsr
KyBiL3NyYy94ZW5idXMvZXZ0Y2huLmMKPiBAQCAtODEsNyArODEsNyBAQCBzdHJ1Y3QgX1hFTkJV
U19FVlRDSE5fQ0hBTk5FTCB7Cj4gICAgICBQS1NFUlZJQ0VfUk9VVElORSAgICAgICAgICAgQ2Fs
bGJhY2s7Cj4gICAgICBQVk9JRCAgICAgICAgICAgICAgICAgICAgICAgQXJndW1lbnQ7Cj4gICAg
ICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgQWN0aXZlOyAvLyBNdXN0IGJlIHRlc3RlZCBh
dCA+PSBESVNQQVRDSF9MRVZFTAo+IC0gICAgVUxPTkcgICAgICAgICAgICAgICAgICAgICAgIEV2
ZW50czsKPiArICAgIFVMT05HICAgICAgICAgICAgICAgICAgICAgICBDb3VudDsKPiAgICAgIFhF
TkJVU19FVlRDSE5fVFlQRSAgICAgICAgICBUeXBlOwo+ICAgICAgWEVOQlVTX0VWVENITl9QQVJB
TUVURVJTICAgIFBhcmFtZXRlcnM7Cj4gICAgICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAg
TWFzazsKPiBAQCAtNDAxLDcgKzQwMSw3IEBAIEV2dGNoblJlYXAoCj4gCj4gICAgICBUcmFjZSgi
JXVcbiIsIExvY2FsUG9ydCk7Cj4gCj4gLSAgICBDaGFubmVsLT5FdmVudHMgPSAwOwo+ICsgICAg
Q2hhbm5lbC0+Q291bnQgPSAwOwo+IAo+ICAgICAgQVNTRVJUKENoYW5uZWwtPkNsb3NlZCk7Cj4g
ICAgICBDaGFubmVsLT5DbG9zZWQgPSBGQUxTRTsKPiBAQCAtNTA3LDcgKzUwNyw3IEBAIEV2dGNo
blBvbGwoCj4gCj4gICAgICAgICAgS2VNZW1vcnlCYXJyaWVyKCk7Cj4gICAgICAgICAgaWYgKCFD
aGFubmVsLT5DbG9zZWQpIHsKPiAtICAgICAgICAgICAgQ2hhbm5lbC0+RXZlbnRzKys7Cj4gKyAg
ICAgICAgICAgIENoYW5uZWwtPkNvdW50Kys7Cj4gCj4gICAgICAgICAgICAgIFJlbW92ZUVudHJ5
TGlzdCgmQ2hhbm5lbC0+UGVuZGluZ0xpc3RFbnRyeSk7Cj4gICAgICAgICAgICAgIEluaXRpYWxp
emVMaXN0SGVhZCgmQ2hhbm5lbC0+UGVuZGluZ0xpc3RFbnRyeSk7Cj4gQEAgLTg5OCwxNSArODk4
LDI2IEBAIEV2dGNobkdldFBvcnQoCj4gICAgICByZXR1cm4gQ2hhbm5lbC0+TG9jYWxQb3J0Owo+
ICB9Cj4gCj4gK3N0YXRpYyBVTE9ORwo+ICtFdnRjaG5HZXRDb3VudCgKPiArICAgIElOICBQSU5U
RVJGQUNFICAgICAgICAgICAgICBJbnRlcmZhY2UsCj4gKyAgICBJTiAgUFhFTkJVU19FVlRDSE5f
Q0hBTk5FTCAgQ2hhbm5lbAo+ICsgICAgKQo+ICt7Cj4gKyAgICBVTlJFRkVSRU5DRURfUEFSQU1F
VEVSKEludGVyZmFjZSk7Cj4gKwo+ICsgICAgcmV0dXJuIENoYW5uZWwtPkNvdW50Owo+ICt9Cj4g
Kwo+ICBzdGF0aWMgTlRTVEFUVVMKPiAgRXZ0Y2huV2FpdCgKPiAgICAgIElOICBQSU5URVJGQUNF
ICAgICAgICAgICAgICBJbnRlcmZhY2UsCj4gICAgICBJTiAgUFhFTkJVU19FVlRDSE5fQ0hBTk5F
TCAgQ2hhbm5lbCwKPiArICAgIElOICBVTE9ORyAgICAgICAgICAgICAgICAgICBDb3VudCwKPiAg
ICAgIElOICBQTEFSR0VfSU5URUdFUiAgICAgICAgICBUaW1lb3V0Cj4gICAgICApCj4gIHsKPiAg
ICAgIEtJUlFMICAgICAgICAgICAgICAgICAgICAgICBJcnFsOwo+IC0gICAgVUxPTkcgICAgICAg
ICAgICAgICAgICAgICAgIEV2ZW50czsKPiAgICAgIExBUkdFX0lOVEVHRVIgICAgICAgICAgICAg
ICBTdGFydDsKPiAgICAgIE5UU1RBVFVTICAgICAgICAgICAgICAgICAgICBzdGF0dXM7Cj4gCj4g
QEAgLTkxNSwxNCArOTI2LDEzIEBAIEV2dGNobldhaXQoCj4gICAgICBBU1NFUlQzVShLZUdldEN1
cnJlbnRJcnFsKCksIDw9LCBESVNQQVRDSF9MRVZFTCk7Cj4gICAgICBLZVJhaXNlSXJxbChESVNQ
QVRDSF9MRVZFTCwgJklycWwpOyAvLyBQcmV2ZW50IHN1c3BlbmQKPiAKPiAtICAgIEV2ZW50cyA9
IENoYW5uZWwtPkV2ZW50czsKPiAtICAgIEtlTWVtb3J5QmFycmllcigpOwo+IC0KPiAgICAgIEtl
UXVlcnlTeXN0ZW1UaW1lKCZTdGFydCk7Cj4gCj4gICAgICBmb3IgKDs7KSB7Cj4gKyAgICAgICAg
S2VNZW1vcnlCYXJyaWVyKCk7Cj4gKwo+ICAgICAgICAgIHN0YXR1cyA9IFNUQVRVU19TVUNDRVNT
Owo+IC0gICAgICAgIGlmIChDaGFubmVsLT5FdmVudHMgIT0gRXZlbnRzKQo+ICsgICAgICAgIGlm
ICgoTE9ORzY0KUNoYW5uZWwtPkNvdW50IC0gKExPTkc2NClDb3VudCA8PSAwKQoKT29wcy4uLiB0
aGF0IGxvZ2ljIGlzIGJhY2t3YXJkcy4gSSdsbCBzZW5kIHYyLgoKICBQYXVsCgo+ICAgICAgICAg
ICAgICBicmVhazsKPiAKPiAgICAgICAgICBpZiAoVGltZW91dCAhPSBOVUxMKSB7Cj4gQEAgLTk1
MCw3ICs5NjAsNiBAQCBFdnRjaG5XYWl0KAo+ICAgICAgICAgIH0KPiAKPiAgICAgICAgICBfbW1f
cGF1c2UoKTsKPiAtICAgICAgICBLZU1lbW9yeUJhcnJpZXIoKTsKPiAgICAgIH0KPiAKPiAgICAg
IEtlTG93ZXJJcnFsKElycWwpOwo+IEBAIC05NTgsNiArOTY3LDIzIEBAIEV2dGNobldhaXQoCj4g
ICAgICByZXR1cm4gc3RhdHVzOwo+ICB9Cj4gCj4gK3N0YXRpYyBOVFNUQVRVUwo+ICtFdnRjaG5X
YWl0VmVyc2lvbjUoCj4gKyAgICBJTiAgUElOVEVSRkFDRSAgICAgICAgICAgICAgSW50ZXJmYWNl
LAo+ICsgICAgSU4gIFBYRU5CVVNfRVZUQ0hOX0NIQU5ORUwgIENoYW5uZWwsCj4gKyAgICBJTiAg
UExBUkdFX0lOVEVHRVIgICAgICAgICAgVGltZW91dAo+ICsgICAgKQo+ICt7Cj4gKyAgICBVTE9O
RyAgICAgICAgICAgICAgICAgICAgICAgQ291bnQ7Cj4gKwo+ICsgICAgQ291bnQgPSBFdnRjaG5H
ZXRDb3VudChJbnRlcmZhY2UsIENoYW5uZWwpOwo+ICsKPiArICAgIHJldHVybiBFdnRjaG5XYWl0
KEludGVyZmFjZSwKPiArICAgICAgICAgICAgICAgICAgICAgIENoYW5uZWwsCj4gKyAgICAgICAg
ICAgICAgICAgICAgICBDb3VudCArIDEsCj4gKyAgICAgICAgICAgICAgICAgICAgICBUaW1lb3V0
KTsKPiArfQo+ICsKPiAgc3RhdGljCj4gIF9GdW5jdGlvbl9jbGFzc18oS1NFUlZJQ0VfUk9VVElO
RSkKPiAgX19kcnZfcmVxdWlyZXNJUlFMKEhJR0hfTEVWRUwpCj4gQEAgLTEzNjksOCArMTM5NSw4
IEBAIEV2dGNobkRlYnVnQ2FsbGJhY2soCj4gCj4gICAgICAgICAgICAgIFhFTkJVU19ERUJVRyhQ
cmludGYsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAmQ29udGV4dC0+RGVidWdJbnRlcmZh
Y2UsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAiRXZlbnRzID0gJWx1XG4iLAo+IC0gICAg
ICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbC0+RXZlbnRzKTsKPiArICAgICAgICAgICAgICAg
ICAgICAgICAgICJDb3VudCA9ICVsdVxuIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgIENo
YW5uZWwtPkNvdW50KTsKPiAgICAgICAgICB9Cj4gICAgICB9Cj4gIH0KPiBAQCAtMTY1NSw3ICsx
NjgxLDcgQEAgc3RhdGljIHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjUKPiBFdnRj
aG5JbnRlcmZhY2VWZXJzaW9uNSA9IHsKPiAgICAgIEV2dGNoblVubWFzaywKPiAgICAgIEV2dGNo
blNlbmRWZXJzaW9uMSwKPiAgICAgIEV2dGNoblRyaWdnZXIsCj4gLSAgICBFdnRjaG5XYWl0LAo+
ICsgICAgRXZ0Y2huV2FpdFZlcnNpb241LAo+ICAgICAgRXZ0Y2huR2V0UG9ydCwKPiAgICAgIEV2
dGNobkNsb3NlLAo+ICB9Owo+IEBAIC0xNjY5LDYgKzE2OTUsMjEgQEAgc3RhdGljIHN0cnVjdCBf
WEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjYKPiBFdnRjaG5JbnRlcmZhY2VWZXJzaW9uNiA9IHsK
PiAgICAgIEV2dGNoblVubWFzaywKPiAgICAgIEV2dGNoblNlbmQsCj4gICAgICBFdnRjaG5Ucmln
Z2VyLAo+ICsgICAgRXZ0Y2huV2FpdFZlcnNpb241LAo+ICsgICAgRXZ0Y2huR2V0UG9ydCwKPiAr
ICAgIEV2dGNobkNsb3NlLAo+ICt9Owo+ICsKPiArc3RhdGljIHN0cnVjdCBfWEVOQlVTX0VWVENI
Tl9JTlRFUkZBQ0VfVjcgRXZ0Y2huSW50ZXJmYWNlVmVyc2lvbjcgPSB7Cj4gKyAgICB7IHNpemVv
ZiAoc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WNyksIDcsIE5VTEwsIE5VTEwsIE5V
TEwKPiB9LAo+ICsgICAgRXZ0Y2huQWNxdWlyZSwKPiArICAgIEV2dGNoblJlbGVhc2UsCj4gKyAg
ICBFdnRjaG5PcGVuLAo+ICsgICAgRXZ0Y2huQmluZCwKPiArICAgIEV2dGNoblVubWFzaywKPiAr
ICAgIEV2dGNoblNlbmQsCj4gKyAgICBFdnRjaG5UcmlnZ2VyLAo+ICsgICAgRXZ0Y2huR2V0Q291
bnQsCj4gICAgICBFdnRjaG5XYWl0LAo+ICAgICAgRXZ0Y2huR2V0UG9ydCwKPiAgICAgIEV2dGNo
bkNsb3NlLAo+IEBAIC0xODMzLDYgKzE4NzQsMjMgQEAgRXZ0Y2huR2V0SW50ZXJmYWNlKAo+ICAg
ICAgICAgIHN0YXR1cyA9IFNUQVRVU19TVUNDRVNTOwo+ICAgICAgICAgIGJyZWFrOwo+ICAgICAg
fQo+ICsgICAgY2FzZSA3OiB7Cj4gKyAgICAgICAgc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVS
RkFDRV9WNyAgKkV2dGNobkludGVyZmFjZTsKPiArCj4gKyAgICAgICAgRXZ0Y2huSW50ZXJmYWNl
ID0gKHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjcKPiAqKUludGVyZmFjZTsKPiAr
Cj4gKyAgICAgICAgc3RhdHVzID0gU1RBVFVTX0JVRkZFUl9PVkVSRkxPVzsKPiArICAgICAgICBp
ZiAoU2l6ZSA8IHNpemVvZiAoc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WNykpCj4g
KyAgICAgICAgICAgIGJyZWFrOwo+ICsKPiArICAgICAgICAqRXZ0Y2huSW50ZXJmYWNlID0gRXZ0
Y2huSW50ZXJmYWNlVmVyc2lvbjc7Cj4gKwo+ICsgICAgICAgIEFTU0VSVDNVKEludGVyZmFjZS0+
VmVyc2lvbiwgPT0sIFZlcnNpb24pOwo+ICsgICAgICAgIEludGVyZmFjZS0+Q29udGV4dCA9IENv
bnRleHQ7Cj4gKwo+ICsgICAgICAgIHN0YXR1cyA9IFNUQVRVU19TVUNDRVNTOwo+ICsgICAgICAg
IGJyZWFrOwo+ICsgICAgfQo+ICAgICAgZGVmYXVsdDoKPiAgICAgICAgICBzdGF0dXMgPSBTVEFU
VVNfTk9UX1NVUFBPUlRFRDsKPiAgICAgICAgICBicmVhazsKPiBkaWZmIC0tZ2l0IGEvc3JjL3hl
bmJ1cy9zdG9yZS5jIGIvc3JjL3hlbmJ1cy9zdG9yZS5jCj4gaW5kZXggODZiYmNiOC4uMTAxZGM0
MCAxMDA2NDQKPiAtLS0gYS9zcmMveGVuYnVzL3N0b3JlLmMKPiArKysgYi9zcmMveGVuYnVzL3N0
b3JlLmMKPiBAQCAtOTAwLDYgKzkwMCw3IEBAIFN0b3JlU3VibWl0UmVxdWVzdCgKPiAgewo+ICAg
ICAgUFhFTkJVU19TVE9SRV9SRVNQT05TRSAgICAgIFJlc3BvbnNlOwo+ICAgICAgS0lSUUwgICAg
ICAgICAgICAgICAgICAgICAgIElycWw7Cj4gKyAgICBVTE9ORyAgICAgICAgICAgICAgICAgICAg
ICAgQ291bnQ7Cj4gICAgICBMQVJHRV9JTlRFR0VSICAgICAgICAgICAgICAgVGltZW91dDsKPiAK
PiAgICAgIEFTU0VSVDNVKFJlcXVlc3QtPlN0YXRlLCA9PSwgWEVOQlVTX1NUT1JFX1JFUVVFU1Rf
UFJFUEFSRUQpOwo+IEBAIC05MTMsNiArOTE0LDExIEBAIFN0b3JlU3VibWl0UmVxdWVzdCgKPiAg
ICAgIEluc2VydFRhaWxMaXN0KCZDb250ZXh0LT5TdWJtaXR0ZWRMaXN0LCAmUmVxdWVzdC0+TGlz
dEVudHJ5KTsKPiAKPiAgICAgIFJlcXVlc3QtPlN0YXRlID0gWEVOQlVTX1NUT1JFX1JFUVVFU1Rf
U1VCTUlUVEVEOwo+ICsKPiArICAgIENvdW50ID0gWEVOQlVTX0VWVENITihHZXRDb3VudCwKPiAr
ICAgICAgICAgICAgICAgICAgICAgICAgICAmQ29udGV4dC0+RXZ0Y2huSW50ZXJmYWNlLAo+ICsg
ICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRleHQtPkNoYW5uZWwpOwo+ICsKPiAgICAgIFN0
b3JlUG9sbExvY2tlZChDb250ZXh0KTsKPiAgICAgIEtlTWVtb3J5QmFycmllcigpOwo+IAo+IEBA
IC05MjQsMTAgKzkzMCwxNSBAQCBTdG9yZVN1Ym1pdFJlcXVlc3QoCj4gICAgICAgICAgc3RhdHVz
ID0gWEVOQlVTX0VWVENITihXYWl0LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JkNvbnRleHQtPkV2dGNobkludGVyZmFjZSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIENvbnRleHQtPkNoYW5uZWwsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBD
b3VudCArIDEsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmVGltZW91dCk7Cj4g
ICAgICAgICAgaWYgKHN0YXR1cyA9PSBTVEFUVVNfVElNRU9VVCkKPiAgICAgICAgICAgICAgV2Fy
bmluZygiVElNRUQgT1VUXG4iKTsKPiAKPiArICAgICAgICBDb3VudCA9IFhFTkJVU19FVlRDSE4o
R2V0Q291bnQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZDb250ZXh0LT5FdnRj
aG5JbnRlcmZhY2UsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRleHQtPkNo
YW5uZWwpOwo+ICsKPiAgICAgICAgICBTdG9yZVBvbGxMb2NrZWQoQ29udGV4dCk7Cj4gICAgICAg
ICAgS2VNZW1vcnlCYXJyaWVyKCk7Cj4gICAgICB9Cj4gLS0KPiAyLjUuMwoKCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCndpbi1wdi1kZXZlbCBtYWlsaW5n
IGxpc3QKd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu
cHJvamVjdC5vcmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3dpbi1wdi1kZXZlbA==

From win-pv-devel-bounces@lists.xenproject.org Tue May 30 15:26:50 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 May 2017 15:26: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 1dFj2o-0008Pa-19; Tue, 30 May 2017 15:26:50 +0000
Received: from mail6.bemta6.messagelabs.com ([193.109.254.103])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=316bc7b5a=Paul.Durrant@citrix.com>)
 id 1dFj2m-0008PR-8B
 for win-pv-devel@lists.xenproject.org; Tue, 30 May 2017 15:26:48 +0000
Received: from [193.109.254.147] by server-7.bemta-6.messagelabs.com id
 7E/7A-03620-73F8D295; Tue, 30 May 2017 15:26:47 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrOLMWRWlGSWpSXmKPExsXitHRDpK5Zv26
 kwbtZZhZ/Fic6MHoc/nCFJYAxijUzLym/IoE148DuDcwFDZ4Vzx7tY21g/GrRxcjJISHgL9H5
 /wEjiM0moCMx9eklVhBbREBdYt/nrUwgNrOAlkTDxCVgtrCAjURz928wm0VAVaJ7zhVmEJtXw
 FVi04ZOoDgH0Ew5ie6dbiBhIQEVifVTZ7FBlAhKnJz5hAVipITEwRcvmCcwcs9CkpqFJLWAkW
 kVo0ZxalFZapGuoYleUlFmekZJbmJmjq6hgZlebmpxcWJ6ak5iUrFecn7uJkZgIDAAwQ7G6xs
 DDjFKcjApifI6W+tGCvEl5adUZiQWZ8QXleakFh9ilOHgUJLgvdoLlBMsSk1PrUjLzAGGJExa
 goNHSYRXrg8ozVtckJhbnJkOkTrFqMuxYfX6L0xCLHn5ealS4rxvQWYIgBRllObBjYDFxyVGW
 SlhXkago4R4ClKLcjNLUOVfMYpzMCoJ8yqBrOLJzCuB2/QK6AgmoCN27dAGOaIkESEl1cB4wE
 i+f0Up45ZJAU8uCrNIVdomJpnN+cd5coJdCpPC+nOqe+58zdd7MFnzeOwkaTdvdcMbp0Qac7U
 ORE/OadC6GfYsa7dO1h72LaezdviGPVZ8LF3/LXWawfllrVIC2/eIRaayCvl3tViHnLjA8Iv/
 yO65ek2LS/Tfpf4xUZp2V0E4/OhB01dKLMUZiYZazEXFiQDjkCtEigIAAA==
X-Env-Sender: prvs=316bc7b5a=Paul.Durrant@citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1496158004!92728870!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
 VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAyMDMwMDc=\n,received_headers: No 
 Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.19; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 44234 invoked from network); 30 May 2017 15:26:46 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
 by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
 30 May 2017 15:26:46 -0000
X-IronPort-AV: E=Sophos;i="5.38,418,1491264000"; d="scan'208";a="425899147"
From: Paul Durrant <paul.durrant@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
Date: Tue, 30 May 2017 16:26:26 +0100
Message-ID: <1496157986-204-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 use of updated XENBUS_EVTCHN interface
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/cgi-bin/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/cgi-bin/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>

VGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBpbnRlcmZhY2UgaGFzIG1vZGlmaWVkIHRoZSBzZW1h
bnRpY3Mgb2YgdGhlCldhaXQgbWV0aG9kIHRvIGF2b2lkIHJhY2VzLiBUaGUgcGF0Y2ggdGFrZXMg
YWR2YW50YWdlIG9mIHRoZXNlIG5ldwpzZW1hbnRpY3MuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1
cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgotLS0KIGluY2x1ZGUvZXZ0Y2huX2ludGVy
ZmFjZS5oIHwgMTA2ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogc3JjL3hlbnZpZi5pbmYgICAgICAgICAgICAgfCAgIDYgKy0tCiBzcmMveGVudmlmL2NvbnRy
b2xsZXIuYyAgICB8ICAgNyArKysKIDMgZmlsZXMgY2hhbmdlZCwgNjUgaW5zZXJ0aW9ucygrKSwg
NTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ldnRjaG5faW50ZXJmYWNlLmgg
Yi9pbmNsdWRlL2V2dGNobl9pbnRlcmZhY2UuaAppbmRleCBhOTk1MmQ2Li4zMTA4NTBiIDEwMDY0
NAotLS0gYS9pbmNsdWRlL2V2dGNobl9pbnRlcmZhY2UuaAorKysgYi9pbmNsdWRlL2V2dGNobl9p
bnRlcmZhY2UuaApAQCAtMTEyLDEzICsxMTIsNiBAQCB0eXBlZGVmIFBYRU5CVVNfRVZUQ0hOX0NI
QU5ORUwKICAgICAuLi4KICAgICApOwogCi10eXBlZGVmIE5UU1RBVFVTCi0oKlhFTkJVU19FVlRD
SE5fQklORF9WMikoCi0gICAgSU4gIFBJTlRFUkZBQ0UgICAgICAgICAgICAgIEludGVyZmFjZSwK
LSAgICBJTiAgUFhFTkJVU19FVlRDSE5fQ0hBTk5FTCAgQ2hhbm5lbCwKLSAgICBJTiAgVUxPTkcg
ICAgICAgICAgICAgICAgICAgQ3B1Ci0gICAgKTsKLQogLyohIFx0eXBlZGVmIFhFTkJVU19FVlRD
SE5fQklORAogICAgIFxicmllZiBCaW5kIGFuIGV2ZW50IGNoYW5uZWwgdG8gYSBzcGVjaWZpYyBD
UFUKIApAQCAtMTM1LDEzICsxMjgsNiBAQCB0eXBlZGVmIE5UU1RBVFVTCiAgICAgSU4gIFVDSEFS
ICAgICAgICAgICAgICAgICAgIE51bWJlcgogICAgICk7CiAKLXR5cGVkZWYgQk9PTEVBTgotKCpY
RU5CVVNfRVZUQ0hOX1VOTUFTS19WMSkoCi0gICAgSU4gIFBJTlRFUkZBQ0UgICAgICAgICAgICAg
IEludGVyZmFjZSwKLSAgICBJTiAgUFhFTkJVU19FVlRDSE5fQ0hBTk5FTCAgQ2hhbm5lbCwKLSAg
ICBJTiAgQk9PTEVBTiAgICAgICAgICAgICAgICAgSW5DYWxsYmFjawotICAgICk7Ci0KIC8qISBc
dHlwZWRlZiBYRU5CVVNfRVZUQ0hOX1VOTUFTSwogICAgIFxicmllZiBVbm1hc2sgYW4gZXZlbnQg
Y2hhbm5lbAogCkBAIC0xNTYsOSArMTQyLDE4IEBAIHR5cGVkZWYgVk9JRAogICAgIElOICBCT09M
RUFOICAgICAgICAgICAgICAgICBJbkNhbGxiYWNrCiAgICAgKTsKIAordHlwZWRlZiBWT0lECiso
KlhFTkJVU19FVlRDSE5fU0VORF9WMSkoCisgICAgSU4gIFBJTlRFUkZBQ0UgICAgICAgICAgICAg
IEludGVyZmFjZSwKKyAgICBJTiAgUFhFTkJVU19FVlRDSE5fQ0hBTk5FTCAgQ2hhbm5lbAorICAg
ICk7CisKIC8qISBcdHlwZWRlZiBYRU5CVVNfRVZUQ0hOX1NFTkQKICAgICBcYnJpZWYgU2VuZCBh
biBldmVudCB0byB0aGUgcmVtb3RlIGVuZCBvZiB0aGUgY2hhbm5lbAogCisgICAgSXQgaXMgYXNz
dW1lZCB0aGF0IHRoZSBkb21haW4gY2Fubm90IHN1c3BlbmQgZHVyaW5nIHRoaXMgY2FsbCBzbwor
ICAgIElSUUwgbXVzdCBiZSA+PSBESVNQQVRDSF9MRVZFTC4KKwogICAgIFxwYXJhbSBJbnRlcmZh
Y2UgVGhlIGludGVyZmFjZSBoZWFkZXIKICAgICBccGFyYW0gQ2hhbm5lbCBUaGUgY2hhbm5lbCBo
YW5kbGUKICovICAKQEAgLTE4MCwxNyArMTc1LDM5IEBAIHR5cGVkZWYgVk9JRAogICAgIElOICBQ
WEVOQlVTX0VWVENITl9DSEFOTkVMICBDaGFubmVsCiAgICAgKTsKIAorLyohIFx0eXBlZGVmIFhF
TkJVU19FVlRDSE5fR0VUX0NPVU5UCisgICAgXGJyaWVmIEdldCB0aGUgbnVtYmVyIG9mIGV2ZW50
cyByZWNlaXZlZCBieSB0aGUgY2hhbm5lbCBzaW5jZSBpdCB3YXMgb3BlbmVkCisKKyAgICBccGFy
YW0gSW50ZXJmYWNlIFRoZSBpbnRlcmZhY2UgaGVhZGVyCisgICAgXHBhcmFtIENoYW5uZWwgVGhl
IGNoYW5uZWwgaGFuZGxlCisgICAgXHJldHVybiBUaGUgbnVtYmVyIG9mIGV2ZW50cworKi8KK3R5
cGVkZWYgVUxPTkcKKygqWEVOQlVTX0VWVENITl9HRVRfQ09VTlQpKAorICAgIElOICBQSU5URVJG
QUNFICAgICAgICAgICAgICBJbnRlcmZhY2UsCisgICAgSU4gIFBYRU5CVVNfRVZUQ0hOX0NIQU5O
RUwgIENoYW5uZWwKKyAgICApOworCit0eXBlZGVmIE5UU1RBVFVTCisoKlhFTkJVU19FVlRDSE5f
V0FJVF9WNSkoCisgICAgSU4gIFBJTlRFUkZBQ0UgICAgICAgICAgICAgIEludGVyZmFjZSwKKyAg
ICBJTiAgUFhFTkJVU19FVlRDSE5fQ0hBTk5FTCAgQ2hhbm5lbCwKKyAgICBJTiAgUExBUkdFX0lO
VEVHRVIgICAgICAgICAgVGltZW91dCBPUFRJT05BTAorICAgICk7CisKIC8qISBcdHlwZWRlZiBY
RU5CVVNfRVZUQ0hOX1dBSVQKLSAgICBcYnJpZWYgV2FpdCBmb3IgYW4gZXZlbnQgdG8gdGhlIGxv
Y2FsIGVuZCBvZiB0aGUgY2hhbm5lbAorICAgIFxicmllZiBXYWl0IGZvciBldmVudHMgdG8gdGhl
IGxvY2FsIGVuZCBvZiB0aGUgY2hhbm5lbAogCiAgICAgXHBhcmFtIEludGVyZmFjZSBUaGUgaW50
ZXJmYWNlIGhlYWRlcgogICAgIFxwYXJhbSBDaGFubmVsIFRoZSBjaGFubmVsIGhhbmRsZQorICAg
IFxwYXJhbSBDb3VudCBUaGUgZXZlbnQgY291bnQgdG8gd2FpdCBmb3IKICAgICBccGFyYW0gVGlt
ZW91dCBBbiBvcHRpb25hbCB0aW1lb3V0IHZhbHVlIChzaW1pbGFyIHRvIEtlV2FpdEZvclNpbmds
ZU9iamVjdCgpLCBidXQgbm9uLXplcm8gdmFsdWVzIGFyZSBhbGxvd2VkIGF0IERJU1BBVENIX0xF
VkVMKS4KICovCiB0eXBlZGVmIE5UU1RBVFVTCiAoKlhFTkJVU19FVlRDSE5fV0FJVCkoCiAgICAg
SU4gIFBJTlRFUkZBQ0UgICAgICAgICAgICAgIEludGVyZmFjZSwKICAgICBJTiAgUFhFTkJVU19F
VlRDSE5fQ0hBTk5FTCAgQ2hhbm5lbCwKKyAgICBJTiAgVUxPTkcgICAgICAgICAgICAgICAgICAg
Q291bnQsCiAgICAgSU4gIFBMQVJHRV9JTlRFR0VSICAgICAgICAgIFRpbWVvdXQgT1BUSU9OQUwK
ICAgICApOwogCkBAIC0yMjMsNjEgKzI0MCw0NiBAQCB0eXBlZGVmIFZPSUQKIERFRklORV9HVUlE
KEdVSURfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0UsIAogMHhiZTI0NDBhYywgMHgxMDk4LCAweDQx
NTAsIDB4YWYsIDB4NGQsIDB4NDUsIDB4MmYsIDB4YWQsIDB4Y2UsIDB4ZjksIDB4MjMpOwogCi0v
KiEgXHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjEKLSAgICBcYnJpZWYgRVZUQ0hO
IGludGVyZmFjZSB2ZXJzaW9uIDEKLSAgICBcaW5ncm91cCBpbnRlcmZhY2VzCi0qLwotc3RydWN0
IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WMSB7Ci0gICAgSU5URVJGQUNFICAgICAgICAgICAg
ICAgSW50ZXJmYWNlOwotICAgIFhFTkJVU19FVlRDSE5fQUNRVUlSRSAgIEV2dGNobkFjcXVpcmU7
Ci0gICAgWEVOQlVTX0VWVENITl9SRUxFQVNFICAgRXZ0Y2huUmVsZWFzZTsKLSAgICBYRU5CVVNf
RVZUQ0hOX09QRU4gICAgICBFdnRjaG5PcGVuOwotICAgIFhFTkJVU19FVlRDSE5fVU5NQVNLX1Yx
IEV2dGNoblVubWFza1ZlcnNpb24xOwotICAgIFhFTkJVU19FVlRDSE5fU0VORCAgICAgIEV2dGNo
blNlbmQ7Ci0gICAgWEVOQlVTX0VWVENITl9UUklHR0VSICAgRXZ0Y2huVHJpZ2dlcjsKLSAgICBY
RU5CVVNfRVZUQ0hOX0dFVF9QT1JUICBFdnRjaG5HZXRQb3J0OwotICAgIFhFTkJVU19FVlRDSE5f
Q0xPU0UgICAgIEV2dGNobkNsb3NlOwotfTsKLQotLyohIFxzdHJ1Y3QgX1hFTkJVU19FVlRDSE5f
SU5URVJGQUNFX1YyCi0gICAgXGJyaWVmIEVWVENITiBpbnRlcmZhY2UgdmVyc2lvbiAyCisvKiEg
XHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjQKKyAgICBcYnJpZWYgRVZUQ0hOIGlu
dGVyZmFjZSB2ZXJzaW9uIDQKICAgICBcaW5ncm91cCBpbnRlcmZhY2VzCiAqLwotc3RydWN0IF9Y
RU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WMiB7CitzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJG
QUNFX1Y0IHsKICAgICBJTlRFUkZBQ0UgICAgICAgICAgICAgICBJbnRlcmZhY2U7CiAgICAgWEVO
QlVTX0VWVENITl9BQ1FVSVJFICAgRXZ0Y2huQWNxdWlyZTsKICAgICBYRU5CVVNfRVZUQ0hOX1JF
TEVBU0UgICBFdnRjaG5SZWxlYXNlOwogICAgIFhFTkJVU19FVlRDSE5fT1BFTiAgICAgIEV2dGNo
bk9wZW47Ci0gICAgWEVOQlVTX0VWVENITl9CSU5EX1YyICAgRXZ0Y2huQmluZFZlcnNpb24yOwot
ICAgIFhFTkJVU19FVlRDSE5fVU5NQVNLX1YxIEV2dGNoblVubWFza1ZlcnNpb24xOwotICAgIFhF
TkJVU19FVlRDSE5fU0VORCAgICAgIEV2dGNoblNlbmQ7CisgICAgWEVOQlVTX0VWVENITl9CSU5E
ICAgICAgRXZ0Y2huQmluZDsKKyAgICBYRU5CVVNfRVZUQ0hOX1VOTUFTSyAgICBFdnRjaG5Vbm1h
c2s7CisgICAgWEVOQlVTX0VWVENITl9TRU5EX1YxICAgRXZ0Y2huU2VuZFZlcnNpb24xOwogICAg
IFhFTkJVU19FVlRDSE5fVFJJR0dFUiAgIEV2dGNoblRyaWdnZXI7CiAgICAgWEVOQlVTX0VWVENI
Tl9HRVRfUE9SVCAgRXZ0Y2huR2V0UG9ydDsKICAgICBYRU5CVVNfRVZUQ0hOX0NMT1NFICAgICBF
dnRjaG5DbG9zZTsKIH07CiAKLS8qISBcc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9W
MwotICAgIFxicmllZiBFVlRDSE4gaW50ZXJmYWNlIHZlcnNpb24gMworLyohIFxzdHJ1Y3QgX1hF
TkJVU19FVlRDSE5fSU5URVJGQUNFX1Y1CisgICAgXGJyaWVmIEVWVENITiBpbnRlcmZhY2UgdmVy
c2lvbiA1CiAgICAgXGluZ3JvdXAgaW50ZXJmYWNlcwogKi8KLXN0cnVjdCBfWEVOQlVTX0VWVENI
Tl9JTlRFUkZBQ0VfVjMgeworc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WNSB7CiAg
ICAgSU5URVJGQUNFICAgICAgICAgICAgICAgSW50ZXJmYWNlOwogICAgIFhFTkJVU19FVlRDSE5f
QUNRVUlSRSAgIEV2dGNobkFjcXVpcmU7CiAgICAgWEVOQlVTX0VWVENITl9SRUxFQVNFICAgRXZ0
Y2huUmVsZWFzZTsKICAgICBYRU5CVVNfRVZUQ0hOX09QRU4gICAgICBFdnRjaG5PcGVuOwotICAg
IFhFTkJVU19FVlRDSE5fQklORF9WMiAgIEV2dGNobkJpbmRWZXJzaW9uMjsKKyAgICBYRU5CVVNf
RVZUQ0hOX0JJTkQgICAgICBFdnRjaG5CaW5kOwogICAgIFhFTkJVU19FVlRDSE5fVU5NQVNLICAg
IEV2dGNoblVubWFzazsKLSAgICBYRU5CVVNfRVZUQ0hOX1NFTkQgICAgICBFdnRjaG5TZW5kOwor
ICAgIFhFTkJVU19FVlRDSE5fU0VORF9WMSAgIEV2dGNoblNlbmRWZXJzaW9uMTsKICAgICBYRU5C
VVNfRVZUQ0hOX1RSSUdHRVIgICBFdnRjaG5UcmlnZ2VyOworICAgIFhFTkJVU19FVlRDSE5fV0FJ
VF9WNSAgIEV2dGNobldhaXRWZXJzaW9uNTsKICAgICBYRU5CVVNfRVZUQ0hOX0dFVF9QT1JUICBF
dnRjaG5HZXRQb3J0OwogICAgIFhFTkJVU19FVlRDSE5fQ0xPU0UgICAgIEV2dGNobkNsb3NlOwog
fTsKIAotLyohIFxzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y0Ci0gICAgXGJyaWVm
IEVWVENITiBpbnRlcmZhY2UgdmVyc2lvbiA0CisvKiEgXHN0cnVjdCBfWEVOQlVTX0VWVENITl9J
TlRFUkZBQ0VfVjYKKyAgICBcYnJpZWYgRVZUQ0hOIGludGVyZmFjZSB2ZXJzaW9uIDYKICAgICBc
aW5ncm91cCBpbnRlcmZhY2VzCiAqLwotc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9W
NCB7CitzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y2IHsKICAgICBJTlRFUkZBQ0Ug
ICAgICAgICAgICAgICBJbnRlcmZhY2U7CiAgICAgWEVOQlVTX0VWVENITl9BQ1FVSVJFICAgRXZ0
Y2huQWNxdWlyZTsKICAgICBYRU5CVVNfRVZUQ0hOX1JFTEVBU0UgICBFdnRjaG5SZWxlYXNlOwpA
QCAtMjg2LDE1ICsyODgsMTYgQEAgc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WNCB7
CiAgICAgWEVOQlVTX0VWVENITl9VTk1BU0sgICAgRXZ0Y2huVW5tYXNrOwogICAgIFhFTkJVU19F
VlRDSE5fU0VORCAgICAgIEV2dGNoblNlbmQ7CiAgICAgWEVOQlVTX0VWVENITl9UUklHR0VSICAg
RXZ0Y2huVHJpZ2dlcjsKKyAgICBYRU5CVVNfRVZUQ0hOX1dBSVRfVjUgICBFdnRjaG5XYWl0VmVy
c2lvbjU7CiAgICAgWEVOQlVTX0VWVENITl9HRVRfUE9SVCAgRXZ0Y2huR2V0UG9ydDsKICAgICBY
RU5CVVNfRVZUQ0hOX0NMT1NFICAgICBFdnRjaG5DbG9zZTsKIH07CiAKLS8qISBcc3RydWN0IF9Y
RU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WNQotICAgIFxicmllZiBFVlRDSE4gaW50ZXJmYWNlIHZl
cnNpb24gNQorLyohIFxzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y3CisgICAgXGJy
aWVmIEVWVENITiBpbnRlcmZhY2UgdmVyc2lvbiA3CiAgICAgXGluZ3JvdXAgaW50ZXJmYWNlcwog
Ki8KLXN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjUgeworc3RydWN0IF9YRU5CVVNf
RVZUQ0hOX0lOVEVSRkFDRV9WNyB7CiAgICAgSU5URVJGQUNFICAgICAgICAgICAgICAgSW50ZXJm
YWNlOwogICAgIFhFTkJVU19FVlRDSE5fQUNRVUlSRSAgIEV2dGNobkFjcXVpcmU7CiAgICAgWEVO
QlVTX0VWVENITl9SRUxFQVNFICAgRXZ0Y2huUmVsZWFzZTsKQEAgLTMwMywxMiArMzA2LDEzIEBA
IHN0cnVjdCBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfVjUgewogICAgIFhFTkJVU19FVlRDSE5f
VU5NQVNLICAgIEV2dGNoblVubWFzazsKICAgICBYRU5CVVNfRVZUQ0hOX1NFTkQgICAgICBFdnRj
aG5TZW5kOwogICAgIFhFTkJVU19FVlRDSE5fVFJJR0dFUiAgIEV2dGNoblRyaWdnZXI7CisgICAg
WEVOQlVTX0VWVENITl9HRVRfQ09VTlQgRXZ0Y2huR2V0Q291bnQ7CiAgICAgWEVOQlVTX0VWVENI
Tl9XQUlUICAgICAgRXZ0Y2huV2FpdDsKICAgICBYRU5CVVNfRVZUQ0hOX0dFVF9QT1JUICBFdnRj
aG5HZXRQb3J0OwogICAgIFhFTkJVU19FVlRDSE5fQ0xPU0UgICAgIEV2dGNobkNsb3NlOwogfTsK
IAotdHlwZWRlZiBzdHJ1Y3QgX1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y1IFhFTkJVU19FVlRD
SE5fSU5URVJGQUNFLCAqUFhFTkJVU19FVlRDSE5fSU5URVJGQUNFOwordHlwZWRlZiBzdHJ1Y3Qg
X1hFTkJVU19FVlRDSE5fSU5URVJGQUNFX1Y3IFhFTkJVU19FVlRDSE5fSU5URVJGQUNFLCAqUFhF
TkJVU19FVlRDSE5fSU5URVJGQUNFOwogCiAvKiEgXGRlZiBYRU5CVVNfRVZUQ0hOCiAgICAgXGJy
aWVmIE1hY3JvIGF0IGFzc2lzdCBpbiBtZXRob2QgaW52b2NhdGlvbgpAQCAtMzE4LDggKzMyMiw4
IEBAIHR5cGVkZWYgc3RydWN0IF9YRU5CVVNfRVZUQ0hOX0lOVEVSRkFDRV9WNSBYRU5CVVNfRVZU
Q0hOX0lOVEVSRkFDRSwgKlBYRU5CVVNfRVZUCiAKICNlbmRpZiAgLy8gX1dJTkRMTAogCi0jZGVm
aW5lIFhFTkJVU19FVlRDSE5fSU5URVJGQUNFX1ZFUlNJT05fTUlOIDEKLSNkZWZpbmUgWEVOQlVT
X0VWVENITl9JTlRFUkZBQ0VfVkVSU0lPTl9NQVggNQorI2RlZmluZSBYRU5CVVNfRVZUQ0hOX0lO
VEVSRkFDRV9WRVJTSU9OX01JTiA0CisjZGVmaW5lIFhFTkJVU19FVlRDSE5fSU5URVJGQUNFX1ZF
UlNJT05fTUFYIDcKIAogI2VuZGlmICAvLyBfWEVOQlVTX0VWVENITl9JTlRFUkZBQ0VfSAogCmRp
ZmYgLS1naXQgYS9zcmMveGVudmlmLmluZiBiL3NyYy94ZW52aWYuaW5mCmluZGV4IDRiYTFlZjUu
LmJjNGU1NTUgMTAwNjQ0Ci0tLSBhL3NyYy94ZW52aWYuaW5mCisrKyBiL3NyYy94ZW52aWYuaW5m
CkBAIC01OSw5ICs1OSw5IEBAIHhlbnZpZl9jb2luc3RfQE1BSk9SX1ZFUlNJT05AX0BNSU5PUl9W
RVJTSU9OQF9ATUlDUk9fVkVSU0lPTkBfQEJVSUxEX05VTUJFUkAuZGxsCiA7IERpc3BsYXlOYW1l
CQlTZWN0aW9uCQlEZXZpY2VJRAogOyAtLS0tLS0tLS0tLQkJLS0tLS0tLQkJLS0tLS0tLS0KIAot
JVhlblZpZk5hbWUlCQk9WGVuVmlmX0luc3QsCVhFTkJVU1xWRU5fQFZFTkRPUl9QUkVGSVhAQFZF
TkRPUl9ERVZJQ0VfSURAJkRFVl9WSUYmUkVWXzA5MDAwMDAwCi0lWGVuVmlmTmFtZSUJCT1YZW5W
aWZfSW5zdCwJWEVOQlVTXFZFTl9AVkVORE9SX1BSRUZJWEAwMDAxJkRFVl9WSUYmUkVWXzA5MDAw
MDAwCi0lWGVuVmlmTmFtZSUJCT1YZW5WaWZfSW5zdCwJWEVOQlVTXFZFTl9AVkVORE9SX1BSRUZJ
WEAwMDAyJkRFVl9WSUYmUkVWXzA5MDAwMDAwCislWGVuVmlmTmFtZSUJCT1YZW5WaWZfSW5zdCwJ
WEVOQlVTXFZFTl9AVkVORE9SX1BSRUZJWEBAVkVORE9SX0RFVklDRV9JREAmREVWX1ZJRiZSRVZf
MDkwMDAwMDIKKyVYZW5WaWZOYW1lJQkJPVhlblZpZl9JbnN0LAlYRU5CVVNcVkVOX0BWRU5ET1Jf
UFJFRklYQDAwMDEmREVWX1ZJRiZSRVZfMDkwMDAwMDIKKyVYZW5WaWZOYW1lJQkJPVhlblZpZl9J
bnN0LAlYRU5CVVNcVkVOX0BWRU5ET1JfUFJFRklYQDAwMDImREVWX1ZJRiZSRVZfMDkwMDAwMDIK
IAogW1hlblZpZl9JbnN0XSAKIENvcHlGaWxlcz1YZW5WaWZfQ29weWZpbGVzCmRpZmYgLS1naXQg
YS9zcmMveGVudmlmL2NvbnRyb2xsZXIuYyBiL3NyYy94ZW52aWYvY29udHJvbGxlci5jCmluZGV4
IGE1NDJjMGQuLjYyOWI2YjcgMTAwNjQ0Ci0tLSBhL3NyYy94ZW52aWYvY29udHJvbGxlci5jCisr
KyBiL3NyYy94ZW52aWYvY29udHJvbGxlci5jCkBAIC0yNTksNiArMjU5LDEyIEBAIENvbnRyb2xs
ZXJHZXRSZXNwb25zZSgKICAgICBUaW1lb3V0LlF1YWRQYXJ0ID0gVElNRV9SRUxBVElWRShUSU1F
X01TKFhFTlZJRl9DT05UUk9MTEVSX1BPTExfUEVSSU9EKSk7CiAKICAgICBmb3IgKDs7KSB7Cisg
ICAgICAgIFVMT05HICAgQ291bnQ7CisKKyAgICAgICAgQ291bnQgPSBYRU5CVVNfRVZUQ0hOKEdl
dENvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkNvbnRyb2xsZXItPkV2dGNo
bkludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xsZXItPkNo
YW5uZWwpOworCiAgICAgICAgIENvbnRyb2xsZXJQb2xsKENvbnRyb2xsZXIpOwogICAgICAgICBL
ZU1lbW9yeUJhcnJpZXIoKTsKIApAQCAtMjY4LDYgKzI3NCw3IEBAIENvbnRyb2xsZXJHZXRSZXNw
b25zZSgKICAgICAgICAgc3RhdHVzID0gWEVOQlVTX0VWVENITihXYWl0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZDb250cm9sbGVyLT5FdnRjaG5JbnRlcmZhY2UsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgQ29udHJvbGxlci0+Q2hhbm5lbCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBDb3VudCArIDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJlRpbWVvdXQpOwogICAgICAgICBpZiAoc3RhdHVzID09IFNUQVRVU19USU1FT1VUKQog
ICAgICAgICAgICAgX19Db250cm9sbGVyU2VuZChDb250cm9sbGVyKTsKLS0gCjIuNS4zCgoKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRldmVs
IG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9s
aXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRldmVs

From win-pv-devel-bounces@lists.xenproject.org Tue May 30 16:11:57 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 May 2017 16:11: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 1dFjkR-0005b3-TV; Tue, 30 May 2017 16:11:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=316bc7b5a=Paul.Durrant@citrix.com>)
 id 1dFjkQ-0005ax-FW
 for win-pv-devel@lists.xenproject.org; Tue, 30 May 2017 16:11:55 +0000
Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id
 01/B8-01985-9C99D295; Tue, 30 May 2017 16:11:53 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrFIsWRWlGSWpSXmKPExsWyU9JRQvfETN1
 Ig2mP+S3+LE50YPQ4/OEKSwBjFGtmXlJ+RQJrxsWbF9gL9h5nrehtOM7ewDhxH2sXIyeHhECQ
 xLyH31hAbDYBHYmlR+czgdgiAjMZJRbPKAKxhQXUJf7fucfcxcgBFNeQuDAjDaLESuLin1NsI
 DaLgKpEV9cpZhCbV8Bdon/NUbC4kEALo8Sxy0ogNqeAh8SWrkawVYwCshJfGleD1TMLiEvceg
 KxVkJAQGLJnvPMELaoxMvH/6DONJDYunQfC8gJzAK5EidfZkOsEpQ4OfMJywRGwVlIJs1CqJq
 FpAoirCmxfpc+RLWixJTuh+wQtoZE65y57MjiCxjZVzFqFKcWlaUW6RpZ6iUVZaZnlOQmZubo
 GhoY6+WmFhcnpqfmJCYV6yXn525iBMZDPQMD4w7Gpr1+hxglOZiURHmdrXUjhfiS8lMqMxKLM
 +KLSnNSiw8xynBwKEnwSs0AygkWpaanVqRl5gAjEyYtwcGjJMJrAZLmLS5IzC3OTIdInWLU5d
 iwev0XJiGWvPy8VClx3gaQIgGQoozSPLgRsCRxiVFWSpiXkYGBQYinILUoN7MEVf4VozgHo5I
 w71aQKTyZeSVwm14BHcEEdMSuHdogR5QkIqSkGhh7vp/wTD+y1PtrhWN+geXh7I+qtktW7nl/
 NEb8FG9Dz6NT7RvtI2wYl/2t3/w2Xk1C7aDUtPeKNcz2eVbroqfIPRbVWnvgkRrzZO2eHfpnD
 mzR9/oXGC5z6Idz/nceHo1X2eEr00w1O1pSbBsPz90Zud1iyaL1Fz++lfnPavlv5kMX8f/dzp
 OVWIozEg21mIuKEwFEYbGSDQMAAA==
X-Env-Sender: prvs=316bc7b5a=Paul.Durrant@citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1496160712!103062912!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=1.1 required=7.0 tests=BODY_RANDOM_LONG,
 HTML_90_100,HTML_MESSAGE,received_headers: No Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.19; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21629 invoked from network); 30 May 2017 16:11:52 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
 by server-14.tower-31.messagelabs.com with RC4-SHA encrypted SMTP;
 30 May 2017 16:11:52 -0000
X-IronPort-AV: E=Sophos;i="5.38,418,1491264000"; d="scan'208,217";a="46930422"
From: Paul Durrant <Paul.Durrant@citrix.com>
To: Paul Durrant <Paul.Durrant@citrix.com>, Owen Smith
 <owen.smith@citrix.com>, "win-pv-devel@lists.xenproject.org"
 <win-pv-devel@lists.xenproject.org>
Thread-Topic: [PATCH] Xenvbd Refactoring
Thread-Index: AQHSzZNSmC0EnhQlf0CuTMrPBsBFfqH6XV4QgBLFhcA=
Date: Tue, 30 May 2017 16:11:26 +0000
Message-ID: <ce81bd20cb524f629b06f32810eae7e8@AMSPEX02CL03.citrite.net>
References: <55f4425abd93461a87562f43e7c9e9f2@AMSPEX02CL02.citrite.net>
 <13c11861f15e472fa12bbb3dfab15857@AMSPEX02CL03.citrite.net>
In-Reply-To: <13c11861f15e472fa12bbb3dfab15857@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
Subject: Re: [win-pv-devel] [PATCH] Xenvbd Refactoring
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/cgi-bin/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/cgi-bin/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0164953067577860458=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

--===============0164953067577860458==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_ce81bd20cb524f629b06f32810eae7e8AMSPEX02CL03citritenet_"

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

SeKAmXZlIHRha2VuIHRoZSBmaXJzdCBmb3VyIHBhdGNoZXMgb2YgdGhlIHNlcmllcywgc2luY2Ug
dGhleSBhcmUgbGFyZ2VseSBjb3NtZXRpYyBBRkFJQ1QsIGFuZCBJIHNlZSBubyBhZHZlcnNlIGVm
ZmVjdHMgaW4gdGVzdGluZy4NCg0KICBQYXVsDQoNCkZyb206IHdpbi1wdi1kZXZlbCBbbWFpbHRv
Ondpbi1wdi1kZXZlbC1ib3VuY2VzQGxpc3RzLnhlbnByb2plY3Qub3JnXSBPbiBCZWhhbGYgT2Yg
UGF1bCBEdXJyYW50DQpTZW50OiAxOCBNYXkgMjAxNyAxODozNw0KVG86IE93ZW4gU21pdGggPG93
ZW4uc21pdGhAY2l0cml4LmNvbT47IHdpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0K
U3ViamVjdDogUmU6IFt3aW4tcHYtZGV2ZWxdIFtQQVRDSF0gWGVudmJkIFJlZmFjdG9yaW5nDQoN
CkEgcXVpY2vigJlu4oCZZGlydHkgY2hlY2sgdXNpbmcgYSBjaGVja2VkIGJ1aWxkIG9uIGEgcmVj
ZW50IFdpbmRvd3MgMTAgNjQtYml0IGlzIGdpdmluZyBtZSBvZGQgcmVzdWx0c+KApg0KDQpXaXRo
IGEgcXVldWUgZGVwdGggb2YgMSBJ4oCZbSBzZWVpbmcgfjZrIElPUFMgd2l0aG91dCB0aGUgcGF0
Y2hlcyBhbmQgfjE4ayB3aXRoLCB3aGljaCBpcyBjbGVhcmx5IGdvb2QuIEJ1dCwgd2l0aCBhIHF1
ZXVlIGRlcHRoIG9mIDMyLCBJIHNlZSB+NDZrIElPUFMgd2l0aG91dCB0aGUgcGF0Y2hlcyBidXQg
fjIwayB3aXRoLiBUaGF04oCZcyBhIHByZXR0eSBzdWJzdGFudGlhbCBmYWxsLW9mZiBzbyBJIHRo
aW5rIG1vcmUgd29yayBpcyBuZWVkZWQgYmVmb3JlIGFsbCBvZiB0aGVzZSBjYW4gZ28gaW50byBt
YXN0ZXIuDQoNCkNoZWVycywNCg0KICBQYXVsDQoNCg0KRnJvbTogd2luLXB2LWRldmVsIFttYWls
dG86d2luLXB2LWRldmVsLWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmddIE9uIEJlaGFsZiBP
ZiBPd2VuIFNtaXRoDQpTZW50OiAxNSBNYXkgMjAxNyAxNjo1Mw0KVG86IHdpbi1wdi1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZzxtYWlsdG86d2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qu
b3JnPg0KU3ViamVjdDogW3dpbi1wdi1kZXZlbF0gW1BBVENIXSBYZW52YmQgUmVmYWN0b3JpbmcN
Cg0KSXQgc2VlbXMgSeKAmXZlIGV4cGVyaWVuY2VkIHNvbWUgbWFpbCBkZWxpdmVyeSBmYWlsdXJl
cyB0cnlpbmcgdG8gc2VuZCBhIDI2IHBhdGNoIHNlcmllcy4NClJhdGhlciB0aGFuIHJlc2VuZCB0
aGUgc2VyaWVzLCBJ4oCZdmUgcHV0IGEgYnJhbmNoIHVwIHRvIGV4YW1pbmUuDQoNCk9yaWdpbmFs
IFswMC8yNl0gU3VtbWFyeToNCg0KQWxsIHBhdGNoZXMgc2hvdWxkIGJlIHRha2VuIHRvZ2V0aGVy
Lg0KSW4gYW4gYXR0ZW1wdCB0byBpbXByb3ZlIG1haW50YWluYWJpbGl0eSBhbmQgY29kZSByZWFk
YWJpbGl0eSwgcmVmYWN0b3INCnhlbnZiZC4NClRoaXMgcGF0Y2ggc2VyaWVzIGFsc28gbW92ZXMg
dGhlIFNSQiBxdWV1ZWluZyByZXNwb25zaWJpbGl0eSB0byBzdG9ycG9ydCwNCmJ5IHByZXBhcmlu
ZyBibGtpZiByZXF1ZXN0cyBkdXJpbmcgQnVpbGRJbyBhbmQgYXBwZW5kaW5nIGJsa2lmIHJlcXVl
c3RzIHRvDQphIHBlbmRpbmcgcXVldWUgZm9yIHRoZSByaW5nIGR1cmluZyBTdGFydElvLiBUaGlz
IHNob3VsZCBhbGxvdyBhIHJlZHVjdGlvbg0KaW4gcHJvY2Vzc2luZyBkdXJpbmcgdGhlIERQQyAo
YXMgdGhlIERQQyB3aWxsIG9ubHkgY29tcGxldGUgYmxraWYgcmVzcG9uc2VzLA0KYW5kIHRoZSBj
b3JyZXNwb25kaW5nIFNSQiwgYW5kIHN1Ym1pdCBibGtpZiByZXF1ZXN0cykgYW5kIHRha2UgYWR2
YW50YWdlIG9mDQpCdWlsZElvJ3MgY29uY3VycmVudCBjYWxscy4NCg0KVGVzdGVkIHdpdGggSExL
LTE3MDMgb24gV2luZG93cyAxMCB4NjQgKGJ1aWxkIDE1MDYzLnJzMl9yZWxlYXNlLjE3MDMxNy0x
ODM0KQ0KQWxsIHRlc3RzIChpbmNsdWRpbmcgbm9uLVdIUUwgdGVzdHMpIHBhc3NlZA0KDQpJb01l
dGVyIHJlc3VsdHMgY29tcGFyZWQgdG8gcHJldmlvdXMgeGVudmJkIGFuZCBlbXVsYXRlZCBvbiBz
aW5nbGUgc29ja2V0DQpYZW9uIFgzNDUwIEAgMi42R0h6IChndWVzdCBoYXMgMiB2Q1BVcyksIHdp
dGggOEdCIFJBTSAoZ3Vlc3QgaGFzIDRHQiwgMUdCIHJhbWZzKQ0KKDEgd29ya2VyLCBxdWV1ZS1k
ZXB0aCAzMiwgNSBtaW51dGVzLCA0S0IgMjAlIHJlYWQsIDgwJSByYW5kb20sIDEyOEtCLWFsaWdu
ZWQpDQpUZXN0ZWQsIFN0b3JhZ2VCYWNraW5nLCBJT1BzDQpFbXVsYXRlZCwgSERELCA3MjYuNzUN
CkVtdWxhdGVkLCBSQU0sIDY5NS45Mw0KWGVuVmJkIDguMiwgSERELCA1MjUuNTINClhlblZiZCA4
LjIsIFJBTSwgNDMzMC41MQ0KVGhlc2VQYXRjaGVzLCBIREQsIDI0NzUuMjMNClRoZXNlUGF0Y2hl
cywgUkFNLCAzNjE5LjA2DQpOb3RlOiBUaGVyZSB3YXMgYSBsYXJnZSBhbW1vdW50IG9mIHZhcmlh
bmNlIGluIGFsbCB0aGUgcmVzdWx0cyBkdXJpbmcgcmVydW5zLA0Kd2l0aCBhbiBhcHByb3hpbWF0
ZSAxMC0yMCUgdmFyaWFuY2UgaW4gdGhlIHNhbWUgc2V0dXBzLiBUZXN0cyB3aXRoIFBWIGRyaXZl
cnMNCmJhY2tlZCBieSBSQU0gd2VyZSBtYXhpbmcgZ3Vlc3QgQ1BVIHV0aWxpemF0aW9uLg0KDQpP
d2VuIFNtaXRoICgyNik6DQogIFJlbmFtZSBGZG8gLT4gQWRhcHRlciBSZW1vdmUgQWRhcHRlciBy
ZWZlcmVuY2UgY291bnRzDQogIFJlbmFtZSBQZG8gLT4gVGFyZ2V0DQogIFRpZHkgdXAgRHJpdmVy
LmgvLmMNCiAgUmVmYWN0b3IgQWRhcHRlci5jDQogIFBhc3MgUFhFTlZCRF9TUkJFWFQsIG5vdCBQ
U0NTSV9SRVFVRVNUX0JMT0NLDQogIFJlZmFjdG9yIHRhcmdldC5jDQogIE1vdmUgU2NhdHRlckdh
dGhlciBsaXN0IGl0ZXJhdGlvbiB0byBhZGFwdGVyLmMNCiAgUmVuYW1lIFNyYkV4dDo6U3JiIHRv
IE9yaWdpbmFsUmVxDQogIE1vdmUgbm9uLXF1ZXVlLXNyYiBoYW5kbGluZyB0byBCdWlsZElvDQog
IEFkZCBvdmVycmlkZSB0byBkaXNhYmxlIHNwZWNpZmljIGZlYXR1cmVzDQogIFByZXBhcmUgcmVx
dWVzdHMgaW4gQnVpbGRJbw0KICBNb3ZlIFNyYkV4dCBjbGVhbnVwIGludG8gaW5saW5lIGZ1bmN0
aW9uDQogIFF1ZXJ5IGZvciBDYWNoZSBJbnRlcmZhY2UNCiAgVXNlIENBQ0hFIGludGVyZmFjZSBp
bnN0ZWFkIG9mIGxvb2thc2lkZSBsaXN0cw0KICBGaXggSW5kaXJlY3QgcmVxdWVzdHMNCiAgTW92
ZSBCbG9ja1JpbmdQb2xsIGlubGluZQ0KICBNb3ZlIFByZXBhcmVkL1N1Ym1pdHRlZCB0byBCbG9j
a1JpbmcNCiAgUmVmYWN0b3IgSW5xdWlyeSAweDgzIGhhbmRsZXINCiAgUmVtb3ZlIFRhcmdldFF1
ZXVlU3JiLCBmb2xkIGludG8gY2FsbGVyDQogIFNldCBRdWV1ZSBEZXB0aCwgc29tZSBtaW5vciBm
aXhlcw0KICBBZGQgb3ZlcnJpZGVzIGZvciBNYXhUcmFuc2Zlckxlbmd0aCBhbmQgTWF4UGh5c2lj
YWxCcmVha3MNCiAgUmVuYW1lIFByZXBhcmVkIHRvIFF1ZXVlZA0KICBUcmFjayBRdWV1ZWQvU3Vi
bWl0dGVkL0NvbXBsZXRlZCBjb3VudHMNCiAgUmVhZCBvdmVycmlkZXMgYXQgc3RhcnQgb2YgZGF5
DQogIEZpeCBkaXNjYXJkIGRlYnVnIHN0YXRlbWVudHMNCiAgQWRkIG92ZXJyaWRlIGZvciByaW5n
IHNpemUNCg0Kc3JjL3hlbnZiZC9hZGFwdGVyLmMgICAgICAgICB8IDIxNjMgKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysNCnNyYy94ZW52YmQvYWRhcHRlci5oICAgICAgICAgfCAgMTI4ICsr
DQpzcmMveGVudmJkL2Jsb2NrcmluZy5jICAgICAgIHwgMTA0MCArKysrKysrKystLS0tLQ0Kc3Jj
L3hlbnZiZC9ibG9ja3JpbmcuaCAgICAgICB8ICAgNDQgKy0NCnNyYy94ZW52YmQvZHJpdmVyLmMg
ICAgICAgICAgfCAgNDgwICsrLS0tLS0NCnNyYy94ZW52YmQvZHJpdmVyLmggICAgICAgICAgfCAg
IDczICstDQpzcmMveGVudmJkL2Zkby5jICAgICAgICAgICAgIHwgMjIwNiAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0NCnNyYy94ZW52YmQvZmRvLmggICAgICAgICAgICAgfCAgMTc5IC0t
LQ0Kc3JjL3hlbnZiZC9mcm9udGVuZC5jICAgICAgICB8IDE3NzEgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tDQpzcmMveGVudmJkL2Zyb250ZW5kLmggICAgICAgIHwgIDE5NSAtLS0NCnNyYy94ZW52
YmQvZ3JhbnRlci5jICAgICAgICAgfCAgMTk4ICstLQ0Kc3JjL3hlbnZiZC9ncmFudGVyLmggICAg
ICAgICB8ICAgNDggKy0NCnNyYy94ZW52YmQvbm90aWZpZXIuYyAgICAgICAgfCAgMzM1IC0tLS0t
DQpzcmMveGVudmJkL25vdGlmaWVyLmggICAgICAgIHwgIDEwMSAtLQ0Kc3JjL3hlbnZiZC9wZG8u
YyAgICAgICAgICAgICB8IDI3MzIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQ0Kc3JjL3hlbnZiZC9wZG8uaCAgICAgICAgICAgICB8ICAyMjkgLS0tLQ0Kc3JjL3hlbnZiZC9w
ZG9pbnF1aXJ5LmMgICAgICB8ICA1NTQgLS0tLS0tLS0NCnNyYy94ZW52YmQvcGRvaW5xdWlyeS5o
ICAgICAgfCAgIDY1IC0NCnNyYy94ZW52YmQvcXVldWUuYyAgICAgICAgICAgfCAgMTM5IC0tDQpz
cmMveGVudmJkL3F1ZXVlLmggICAgICAgICAgIHwgICA4NiAtLQ0Kc3JjL3hlbnZiZC9zcmJleHQu
aCAgICAgICAgICB8ICAgODUgKy0NCnNyYy94ZW52YmQvdGFyZ2V0LmMgICAgICAgICAgfCAzMTAw
ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0Kc3JjL3hlbnZiZC90
YXJnZXQuaCAgICAgICAgICB8ICAxNTIgKysrDQp2czIwMTIveGVudmJkL3hlbnZiZC52Y3hwcm9q
IHwgICAgOCArLQ0KdnMyMDEzL3hlbnZiZC94ZW52YmQudmN4cHJvaiB8ICAgIDggKy0NCnZzMjAx
NS94ZW52YmQveGVudmJkLnZjeHByb2ogfCAgICA4ICstDQoyNiBmaWxlcyBjaGFuZ2VkLCA2NjA2
IGluc2VydGlvbnMoKyksIDk1MjEgZGVsZXRpb25zKC0pDQpjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj
L3hlbnZiZC9hZGFwdGVyLmMNCmNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL2FkYXB0ZXIu
aA0KZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvZmRvLmMNCmRlbGV0ZSBtb2RlIDEwMDY0
NCBzcmMveGVudmJkL2Zkby5oDQpkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9mcm9udGVu
ZC5jDQpkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9mcm9udGVuZC5oDQpkZWxldGUgbW9k
ZSAxMDA2NDQgc3JjL3hlbnZiZC9ub3RpZmllci5jDQpkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hl
bnZiZC9ub3RpZmllci5oDQpkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9wZG8uYw0KZGVs
ZXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvcGRvLmgNCmRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMv
eGVudmJkL3Bkb2lucXVpcnkuYw0KZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvcGRvaW5x
dWlyeS5oDQpkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9xdWV1ZS5jDQpkZWxldGUgbW9k
ZSAxMDA2NDQgc3JjL3hlbnZiZC9xdWV1ZS5oDQpjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZi
ZC90YXJnZXQuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvdGFyZ2V0LmgNCg0KLS0N
CjIuOC4zDQoNCkEgYnJhbmNoIHNob3dpbmcgdGhlIHBhdGNoZXMgaXMgYXZhaWxhYmxlIGF0Og0K
aHR0cHM6Ly9naXRodWIuY29tL093ZW5TbWl0aC94ZW52YmQvdHJlZS9leHBlcmltZW50DQo=

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

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IlByb2dJZCIg
Y29udGVudD0iV29yZC5Eb2N1bWVudCI+DQo8bWV0YSBuYW1lPSJHZW5lcmF0b3IiIGNvbnRlbnQ9
Ik1pY3Jvc29mdCBXb3JkIDE1Ij4NCjxtZXRhIG5hbWU9Ik9yaWdpbmF0b3IiIGNvbnRlbnQ9Ik1p
Y3Jvc29mdCBXb3JkIDE1Ij4NCjxsaW5rIHJlbD0iRmlsZS1MaXN0IiBocmVmPSJjaWQ6ZmlsZWxp
c3QueG1sQDAxRDJEOTY3LkM0RjBGM0YwIj48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOk9m
ZmljZURvY3VtZW50U2V0dGluZ3M+DQo8bzpBbGxvd1BORy8+DQo8bzpEb05vdFJlbHlPbkNTUy8+
DQo8L286T2ZmaWNlRG9jdW1lbnRTZXR0aW5ncz4NCjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYg
Z3RlIG1zbyA5XT48eG1sPg0KPHc6V29yZERvY3VtZW50Pg0KPHc6U3BlbGxpbmdTdGF0ZT5DbGVh
bjwvdzpTcGVsbGluZ1N0YXRlPg0KPHc6VHJhY2tNb3Zlcy8+DQo8dzpUcmFja0Zvcm1hdHRpbmcv
Pg0KPHc6RW52ZWxvcGVWaXMvPg0KPHc6VmFsaWRhdGVBZ2FpbnN0U2NoZW1hcy8+DQo8dzpTYXZl
SWZYTUxJbnZhbGlkPmZhbHNlPC93OlNhdmVJZlhNTEludmFsaWQ+DQo8dzpJZ25vcmVNaXhlZENv
bnRlbnQ+ZmFsc2U8L3c6SWdub3JlTWl4ZWRDb250ZW50Pg0KPHc6QWx3YXlzU2hvd1BsYWNlaG9s
ZGVyVGV4dD5mYWxzZTwvdzpBbHdheXNTaG93UGxhY2Vob2xkZXJUZXh0Pg0KPHc6RG9Ob3RQcm9t
b3RlUUYvPg0KPHc6TGlkVGhlbWVPdGhlcj5FTi1HQjwvdzpMaWRUaGVtZU90aGVyPg0KPHc6TGlk
VGhlbWVBc2lhbj5YLU5PTkU8L3c6TGlkVGhlbWVBc2lhbj4NCjx3OkxpZFRoZW1lQ29tcGxleFNj
cmlwdD5YLU5PTkU8L3c6TGlkVGhlbWVDb21wbGV4U2NyaXB0Pg0KPHc6Q29tcGF0aWJpbGl0eT4N
Cjx3OkRvTm90RXhwYW5kU2hpZnRSZXR1cm4vPg0KPHc6QnJlYWtXcmFwcGVkVGFibGVzLz4NCjx3
OlNwbGl0UGdCcmVha0FuZFBhcmFNYXJrLz4NCjx3OkVuYWJsZU9wZW5UeXBlS2VybmluZy8+DQo8
L3c6Q29tcGF0aWJpbGl0eT4NCjx3OkJyb3dzZXJMZXZlbD5NaWNyb3NvZnRJbnRlcm5ldEV4cGxv
cmVyNDwvdzpCcm93c2VyTGV2ZWw+DQo8bTptYXRoUHI+DQo8bTptYXRoRm9udCBtOnZhbD0iQ2Ft
YnJpYSBNYXRoIi8+DQo8bTpicmtCaW4gbTp2YWw9ImJlZm9yZSIvPg0KPG06YnJrQmluU3ViIG06
dmFsPSImIzQ1Oy0iLz4NCjxtOnNtYWxsRnJhYyBtOnZhbD0ib2ZmIi8+DQo8bTpkaXNwRGVmLz4N
CjxtOmxNYXJnaW4gbTp2YWw9IjAiLz4NCjxtOnJNYXJnaW4gbTp2YWw9IjAiLz4NCjxtOmRlZkpj
IG06dmFsPSJjZW50ZXJHcm91cCIvPg0KPG06d3JhcEluZGVudCBtOnZhbD0iMTQ0MCIvPg0KPG06
aW50TGltIG06dmFsPSJzdWJTdXAiLz4NCjxtOm5hcnlMaW0gbTp2YWw9InVuZE92ciIvPg0KPC9t
Om1hdGhQcj48L3c6V29yZERvY3VtZW50Pg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUg
bXNvIDldPjx4bWw+DQo8dzpMYXRlbnRTdHlsZXMgRGVmTG9ja2VkU3RhdGU9ImZhbHNlIiBEZWZV
bmhpZGVXaGVuVXNlZD0iZmFsc2UiIERlZlNlbWlIaWRkZW49ImZhbHNlIiBEZWZRRm9ybWF0PSJm
YWxzZSIgRGVmUHJpb3JpdHk9Ijk5IiBMYXRlbnRTdHlsZUNvdW50PSIzNzEiPg0KPHc6THNkRXhj
ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIwIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJO
b3JtYWwiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgUUZv
cm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm
YWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVl
IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2Nr
ZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9
InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgMyIvPg0KPHc6THNkRXhjZXB0aW9u
IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVu
VXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA0Ii8+DQo8dzpMc2RFeGNl
cHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiIFVuaGlk
ZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDUiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIg
VW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgNiIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0
cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA3
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRk
ZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFk
aW5nIDgiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2Vt
aUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9
ImhlYWRpbmcgOSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49
InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJpbmRleCAxIi8+DQo8dzpMc2RFeGNl
cHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRy
dWUiIE5hbWU9ImluZGV4IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1p
SGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iaW5kZXggMyIvPg0KPHc6
THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5V
c2VkPSJ0cnVlIiBOYW1lPSJpbmRleCA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz
ZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9ImluZGV4IDUi
Lz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhp
ZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iaW5kZXggNiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tl
ZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJp
bmRleCA3Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1
ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9ImluZGV4IDgiLz4NCjx3OkxzZEV4Y2VwdGlv
biBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIg
TmFtZT0iaW5kZXggOSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5
PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyAx
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlk
ZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDIiLz4NCjx3OkxzZEV4
Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiIFVu
aGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tl
ZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9
InRydWUiIE5hbWU9InRvYyA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJp
b3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0i
dG9jIDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNl
bWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgNiIvPg0KPHc6
THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1
ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyA3Ii8+DQo8dzpMc2RFeGNlcHRpb24g
TG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVu
VXNlZD0idHJ1ZSIgTmFtZT0idG9jIDgiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl
IiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBO
YW1lPSJ0b2MgOSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49
InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJOb3JtYWwgSW5kZW50Ii8+DQo8dzpM
c2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVz
ZWQ9InRydWUiIE5hbWU9ImZvb3Rub3RlIHRleHQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9
ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iYW5u
b3RhdGlvbiB0ZXh0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRl
bj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9ImhlYWRlciIvPg0KPHc6THNkRXhj
ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0
cnVlIiBOYW1lPSJmb290ZXIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1p
SGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iaW5kZXggaGVhZGluZyIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzNSIgU2VtaUhpZGRl
bj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImNhcHRp
b24iLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBV
bmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idGFibGUgb2YgZmlndXJlcyIvPg0KPHc6THNkRXhj
ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0
cnVlIiBOYW1lPSJlbnZlbG9wZSBhZGRyZXNzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm
YWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9ImVudmVs
b3BlIHJldHVybiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49
InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJmb290bm90ZSByZWZlcmVuY2UiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVX
aGVuVXNlZD0idHJ1ZSIgTmFtZT0iYW5ub3RhdGlvbiByZWZlcmVuY2UiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1
ZSIgTmFtZT0ibGluZSBudW1iZXIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBT
ZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0icGFnZSBudW1iZXIi
Lz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhp
ZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iZW5kbm90ZSByZWZlcmVuY2UiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1
ZSIgTmFtZT0iZW5kbm90ZSB0ZXh0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
U2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRhYmxlIG9mIGF1
dGhvcml0aWVzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0i
dHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9Im1hY3JvIi8+DQo8dzpMc2RFeGNlcHRp
b24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUi
IE5hbWU9InRvYSBoZWFkaW5nIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2Vt
aUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9Ikxpc3QiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNl
ZD0idHJ1ZSIgTmFtZT0iTGlzdCBCdWxsZXQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZh
bHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iTGlzdCBO
dW1iZXIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVl
IiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iTGlzdCAyIi8+DQo8dzpMc2RFeGNlcHRpb24g
TG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5h
bWU9Ikxpc3QgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49
InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJMaXN0IDQiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1
ZSIgTmFtZT0iTGlzdCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhp
ZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9Ikxpc3QgQnVsbGV0IDIiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVX
aGVuVXNlZD0idHJ1ZSIgTmFtZT0iTGlzdCBCdWxsZXQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExv
Y2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1l
PSJMaXN0IEJ1bGxldCA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhp
ZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9Ikxpc3QgQnVsbGV0IDUiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVX
aGVuVXNlZD0idHJ1ZSIgTmFtZT0iTGlzdCBOdW1iZXIgMiIvPg0KPHc6THNkRXhjZXB0aW9uIExv
Y2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1l
PSJMaXN0IE51bWJlciAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhp
ZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9Ikxpc3QgTnVtYmVyIDQiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVX
aGVuVXNlZD0idHJ1ZSIgTmFtZT0iTGlzdCBOdW1iZXIgNSIvPg0KPHc6THNkRXhjZXB0aW9uIExv
Y2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxMCIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iVGl0bGUiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVX
aGVuVXNlZD0idHJ1ZSIgTmFtZT0iQ2xvc2luZyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0i
ZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJTaWdu
YXR1cmUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMSIgU2Vt
aUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IkRlZmF1bHQgUGFyYWdy
YXBoIEZvbnQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0
cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iQm9keSBUZXh0Ii8+DQo8dzpMc2RFeGNl
cHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRy
dWUiIE5hbWU9IkJvZHkgVGV4dCBJbmRlbnQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZh
bHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iTGlzdCBD
b250aW51ZSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRy
dWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJMaXN0IENvbnRpbnVlIDIiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNl
ZD0idHJ1ZSIgTmFtZT0iTGlzdCBDb250aW51ZSAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2Vk
PSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9Ikxp
c3QgQ29udGludWUgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRk
ZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJMaXN0IENvbnRpbnVlIDUiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVX
aGVuVXNlZD0idHJ1ZSIgTmFtZT0iTWVzc2FnZSBIZWFkZXIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBM
b2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMTEiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlN1YnRpdGxl
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5o
aWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlNhbHV0YXRpb24iLz4NCjx3OkxzZEV4Y2VwdGlvbiBM
b2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFt
ZT0iRGF0ZSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRy
dWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJCb2R5IFRleHQgRmlyc3QgSW5kZW50Ii8+
DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRl
V2hlblVzZWQ9InRydWUiIE5hbWU9IkJvZHkgVGV4dCBGaXJzdCBJbmRlbnQgMiIvPg0KPHc6THNk
RXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2Vk
PSJ0cnVlIiBOYW1lPSJOb3RlIEhlYWRpbmciLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZh
bHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iQm9keSBU
ZXh0IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVl
IiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iQm9keSBUZXh0IDMiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1
ZSIgTmFtZT0iQm9keSBUZXh0IEluZGVudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm
YWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IkJvZHkg
VGV4dCBJbmRlbnQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRk
ZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJCbG9jayBUZXh0Ii8+DQo8dzpM
c2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVz
ZWQ9InRydWUiIE5hbWU9Ikh5cGVybGluayIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs
c2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJGb2xsb3dl
ZEh5cGVybGluayIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIy
MiIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iU3Ryb25nIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2Vk
PSJmYWxzZSIgUHJpb3JpdHk9IjIwIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJFbXBoYXNpcyIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdo
ZW5Vc2VkPSJ0cnVlIiBOYW1lPSJEb2N1bWVudCBNYXAiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2Nr
ZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0i
UGxhaW4gVGV4dCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49
InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJFLW1haWwgU2lnbmF0dXJlIi8+DQo8
dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hl
blVzZWQ9InRydWUiIE5hbWU9IkhUTUwgVG9wIG9mIEZvcm0iLz4NCjx3OkxzZEV4Y2VwdGlvbiBM
b2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFt
ZT0iSFRNTCBCb3R0b20gb2YgRm9ybSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2Ui
IFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJOb3JtYWwgKFdl
YikiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBV
bmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iSFRNTCBBY3JvbnltIi8+DQo8dzpMc2RFeGNlcHRp
b24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUi
IE5hbWU9IkhUTUwgQWRkcmVzcyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNl
bWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJIVE1MIENpdGUiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVX
aGVuVXNlZD0idHJ1ZSIgTmFtZT0iSFRNTCBDb2RlIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2Vk
PSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IkhU
TUwgRGVmaW5pdGlvbiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRk
ZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJIVE1MIEtleWJvYXJkIi8+DQo8
dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hl
blVzZWQ9InRydWUiIE5hbWU9IkhUTUwgUHJlZm9ybWF0dGVkIi8+DQo8dzpMc2RFeGNlcHRpb24g
TG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5h
bWU9IkhUTUwgU2FtcGxlIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhp
ZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IkhUTUwgVHlwZXdyaXRlciIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlk
ZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJIVE1MIFZhcmlhYmxlIi8+DQo8dzpMc2RFeGNlcHRpb24g
TG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5h
bWU9Ik5vcm1hbCBUYWJsZSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlI
aWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJhbm5vdGF0aW9uIHN1Ympl
Y3QiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBV
bmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iTm8gTGlzdCIvPg0KPHc6THNkRXhjZXB0aW9uIExv
Y2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1l
PSJPdXRsaW5lIExpc3QgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlI
aWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJPdXRsaW5lIExpc3QgMiIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlk
ZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJPdXRsaW5lIExpc3QgMyIvPg0KPHc6THNkRXhjZXB0aW9u
IExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBO
YW1lPSJUYWJsZSBTaW1wbGUgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNl
bWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBTaW1wbGUg
MiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVu
aGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBTaW1wbGUgMyIvPg0KPHc6THNkRXhjZXB0
aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVl
IiBOYW1lPSJUYWJsZSBDbGFzc2ljIDEiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl
IiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iVGFibGUgQ2xh
c3NpYyAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1
ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIENsYXNzaWMgMyIvPg0KPHc6THNk
RXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2Vk
PSJ0cnVlIiBOYW1lPSJUYWJsZSBDbGFzc2ljIDQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9
ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iVGFi
bGUgQ29sb3JmdWwgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRk
ZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBDb2xvcmZ1bCAyIi8+
DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRl
V2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIENvbG9yZnVsIDMiLz4NCjx3OkxzZEV4Y2VwdGlv
biBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIg
TmFtZT0iVGFibGUgQ29sdW1ucyAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
U2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIENvbHVt
bnMgMiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUi
IFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBDb2x1bW5zIDMiLz4NCjx3OkxzZEV4
Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0i
dHJ1ZSIgTmFtZT0iVGFibGUgQ29sdW1ucyA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm
YWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxl
IENvbHVtbnMgNSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49
InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBHcmlkIDEiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNl
ZD0idHJ1ZSIgTmFtZT0iVGFibGUgR3JpZCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm
YWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxl
IEdyaWQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRy
dWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBHcmlkIDQiLz4NCjx3OkxzZEV4
Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0i
dHJ1ZSIgTmFtZT0iVGFibGUgR3JpZCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz
ZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIEdy
aWQgNiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUi
IFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBHcmlkIDciLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1
ZSIgTmFtZT0iVGFibGUgR3JpZCA4Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
U2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIExpc3Qg
MSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVu
aGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBMaXN0IDIiLz4NCjx3OkxzZEV4Y2VwdGlv
biBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIg
TmFtZT0iVGFibGUgTGlzdCAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2Vt
aUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIExpc3QgNCIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlk
ZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBMaXN0IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBM
b2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFt
ZT0iVGFibGUgTGlzdCA2Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhp
ZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIExpc3QgNyIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdo
ZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBMaXN0IDgiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2Nr
ZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0i
VGFibGUgM0QgZWZmZWN0cyAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2Vt
aUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIDNEIGVmZmVj
dHMgMiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUi
IFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSAzRCBlZmZlY3RzIDMiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNl
ZD0idHJ1ZSIgTmFtZT0iVGFibGUgQ29udGVtcG9yYXJ5Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9j
a2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9
IlRhYmxlIEVsZWdhbnQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlk
ZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iVGFibGUgUHJvZmVzc2lvbmFs
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5o
aWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIFN1YnRsZSAxIi8+DQo8dzpMc2RFeGNlcHRp
b24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUi
IE5hbWU9IlRhYmxlIFN1YnRsZSAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
U2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIFdlYiAx
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5o
aWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IlRhYmxlIFdlYiAyIi8+DQo8dzpMc2RFeGNlcHRpb24g
TG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5h
bWU9IlRhYmxlIFdlYiAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhp
ZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IkJhbGxvb24gVGV4dCIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFtZT0iVGFibGUg
R3JpZCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUi
IFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJUYWJsZSBUaGVtZSIvPg0KPHc6THNkRXhjZXB0
aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIE5hbWU9IlBsYWNlaG9sZGVyIFRl
eHQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMSIgUUZvcm1h
dD0idHJ1ZSIgTmFtZT0iTm8gU3BhY2luZyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs
c2UiIFByaW9yaXR5PSI2MCIgTmFtZT0iTGlnaHQgU2hhZGluZyIvPg0KPHc6THNkRXhjZXB0aW9u
IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCIvPg0KPHc6THNk
RXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgTmFtZT0iTWVk
aXVtIFNoYWRpbmcgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5
PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0i
ZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSIvPg0KPHc6THNkRXhjZXB0
aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgTmFtZT0iTWVkaXVtIExpc3QgMiIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVt
IEdyaWQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIg
TmFtZT0iTWVkaXVtIEdyaWQgMiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFBy
aW9yaXR5PSI2OSIgTmFtZT0iTWVkaXVtIEdyaWQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tl
ZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0Ii8+DQo8dzpMc2RFeGNlcHRp
b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIi8+
DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBOYW1lPSJDb2xv
cmZ1bCBMaXN0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9Ijcz
IiBOYW1lPSJDb2xvcmZ1bCBHcmlkIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
UHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCAxIi8+DQo8dzpMc2RFeGNl
cHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0IEFjY2Vu
dCAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1l
PSJMaWdodCBHcmlkIEFjY2VudCAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
UHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCAxIi8+DQo8dzpMc2RF
eGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hhZGlu
ZyAyIEFjY2VudCAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9
IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9j
a2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgTmFtZT0iUmV2aXNpb24iLz4NCjx3OkxzZEV4
Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzQiIFFGb3JtYXQ9InRydWUiIE5hbWU9
Ikxpc3QgUGFyYWdyYXBoIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp
dHk9IjI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJRdW90ZSIvPg0KPHc6THNkRXhjZXB0aW9uIExv
Y2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzMCIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iSW50ZW5zZSBR
dW90ZSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgTmFt
ZT0iTWVkaXVtIExpc3QgMiBBY2NlbnQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs
c2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgMSIvPg0KPHc6THNk
RXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQg
MiBBY2NlbnQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2
OSIgTmFtZT0iTWVkaXVtIEdyaWQgMyBBY2NlbnQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tl
ZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCAxIi8+DQo8dzpM
c2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBT
aGFkaW5nIEFjY2VudCAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp
dHk9IjcyIiBOYW1lPSJDb2xvcmZ1bCBMaXN0IEFjY2VudCAxIi8+DQo8dzpMc2RFeGNlcHRpb24g
TG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCAx
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJM
aWdodCBTaGFkaW5nIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
UHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0IEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRp
b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCAy
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJN
ZWRpdW0gU2hhZGluZyAxIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz
ZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hhZGluZyAyIEFjY2VudCAyIi8+DQo8dzpM
c2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlz
dCAxIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9
IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9j
a2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBOYW1lPSJNZWRpdW0gR3JpZCAxIEFjY2VudCAyIi8+
DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRp
dW0gR3JpZCAyIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJp
b3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRp
b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcwIiBOYW1lPSJEYXJrIExpc3QgQWNjZW50IDIi
Lz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNv
bG9yZnVsIFNoYWRpbmcgQWNjZW50IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl
IiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDIiLz4NCjx3OkxzZEV4
Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzMiIE5hbWU9IkNvbG9yZnVsIEdyaWQg
QWNjZW50IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAi
IE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDMiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9
ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDMiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjIiIE5hbWU9IkxpZ2h0IEdyaWQg
QWNjZW50IDMiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMi
IE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDMiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2Nr
ZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDMi
Lz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjUiIE5hbWU9Ik1l
ZGl1bSBMaXN0IDEgQWNjZW50IDMiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQ
cmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDMiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNj
ZW50IDMiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjgiIE5h
bWU9Ik1lZGl1bSBHcmlkIDIgQWNjZW50IDMiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZh
bHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDMiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBB
Y2NlbnQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MSIg
TmFtZT0iQ29sb3JmdWwgU2hhZGluZyBBY2NlbnQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tl
ZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgMyIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3Jm
dWwgR3JpZCBBY2NlbnQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9y
aXR5PSI2MCIgTmFtZT0iTGlnaHQgU2hhZGluZyBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9u
IExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgNCIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGln
aHQgR3JpZCBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9y
aXR5PSI2MyIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0
aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBB
Y2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIg
TmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0i
ZmFsc2UiIFByaW9yaXR5PSI2NiIgTmFtZT0iTWVkaXVtIExpc3QgMiBBY2NlbnQgNCIvPg0KPHc6
THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdy
aWQgMSBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5
PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExv
Y2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OSIgTmFtZT0iTWVkaXVtIEdyaWQgMyBBY2NlbnQgNCIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFy
ayBMaXN0IEFjY2VudCA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp
dHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCA0Ii8+DQo8dzpMc2RFeGNlcHRp
b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBOYW1lPSJDb2xvcmZ1bCBMaXN0IEFjY2Vu
dCA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1l
PSJDb2xvcmZ1bCBHcmlkIEFjY2VudCA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz
ZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCA1Ii8+DQo8dzpMc2RF
eGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0IEFj
Y2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBO
YW1lPSJMaWdodCBHcmlkIEFjY2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz
ZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCA1Ii8+DQo8dzpM
c2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hh
ZGluZyAyIEFjY2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp
dHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24g
TG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCA1
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBOYW1lPSJN
ZWRpdW0gR3JpZCAxIEFjY2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
UHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCA1Ii8+DQo8dzpMc2RFeGNl
cHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFj
Y2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcwIiBO
YW1lPSJEYXJrIExpc3QgQWNjZW50IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl
IiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDUiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExp
c3QgQWNjZW50IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0i
NzMiIE5hbWU9IkNvbG9yZnVsIEdyaWQgQWNjZW50IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2Nr
ZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDYiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0
IExpc3QgQWNjZW50IDYiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0
eT0iNjIiIE5hbWU9IkxpZ2h0IEdyaWQgQWNjZW50IDYiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2Nr
ZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDYi
Lz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1l
ZGl1bSBTaGFkaW5nIDIgQWNjZW50IDYiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl
IiBQcmlvcml0eT0iNjUiIE5hbWU9Ik1lZGl1bSBMaXN0IDEgQWNjZW50IDYiLz4NCjx3OkxzZEV4
Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIg
QWNjZW50IDYiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjci
IE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDYiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9
ImZhbHNlIiBQcmlvcml0eT0iNjgiIE5hbWU9Ik1lZGl1bSBHcmlkIDIgQWNjZW50IDYiLz4NCjx3
OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBH
cmlkIDMgQWNjZW50IDYiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0
eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgNiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tl
ZD0iZmFsc2UiIFByaW9yaXR5PSI3MSIgTmFtZT0iQ29sb3JmdWwgU2hhZGluZyBBY2NlbnQgNiIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29s
b3JmdWwgTGlzdCBBY2NlbnQgNiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFBy
aW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgNiIvPg0KPHc6THNkRXhjZXB0
aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxOSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iU3Vi
dGxlIEVtcGhhc2lzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9
IjIxIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJJbnRlbnNlIEVtcGhhc2lzIi8+DQo8dzpMc2RFeGNl
cHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjMxIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJT
dWJ0bGUgUmVmZXJlbmNlIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp
dHk9IjMyIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJJbnRlbnNlIFJlZmVyZW5jZSIvPg0KPHc6THNk
RXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzMyIgUUZvcm1hdD0idHJ1ZSIgTmFt
ZT0iQm9vayBUaXRsZSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5
PSIzNyIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IkJpYmxp
b2dyYXBoeSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIg
U2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5h
bWU9IlRPQyBIZWFkaW5nIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp
dHk9IjQxIiBOYW1lPSJQbGFpbiBUYWJsZSAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm
YWxzZSIgUHJpb3JpdHk9IjQyIiBOYW1lPSJQbGFpbiBUYWJsZSAyIi8+DQo8dzpMc2RFeGNlcHRp
b24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQzIiBOYW1lPSJQbGFpbiBUYWJsZSAzIi8+DQo8
dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ0IiBOYW1lPSJQbGFpbiBU
YWJsZSA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ1IiBO
YW1lPSJQbGFpbiBUYWJsZSA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJp
b3JpdHk9IjQwIiBOYW1lPSJHcmlkIFRhYmxlIExpZ2h0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9j
a2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IiBOYW1lPSJHcmlkIFRhYmxlIDEgTGlnaHQiLz4NCjx3
OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFi
bGUgMiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFt
ZT0iR3JpZCBUYWJsZSAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp
dHk9IjQ5IiBOYW1lPSJHcmlkIFRhYmxlIDQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZh
bHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIi8+DQo8dzpMc2RFeGNl
cHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIiBOYW1lPSJHcmlkIFRhYmxlIDYgQ29s
b3JmdWwiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiIE5h
bWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs
c2UiIFByaW9yaXR5PSI0NiIgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCAxIi8+DQo8
dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRh
YmxlIDIgQWNjZW50IDEiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0
eT0iNDgiIE5hbWU9IkdyaWQgVGFibGUgMyBBY2NlbnQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExv
Y2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCAxIi8+
DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlk
IFRhYmxlIDUgRGFyayBBY2NlbnQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2Ui
IFByaW9yaXR5PSI1MSIgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAxIi8+DQo8
dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUyIiBOYW1lPSJHcmlkIFRh
YmxlIDcgQ29sb3JmdWwgQWNjZW50IDEiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl
IiBQcmlvcml0eT0iNDYiIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgMiIvPg0KPHc6
THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NyIgTmFtZT0iR3JpZCBUYWJs
ZSAyIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9
IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2Nr
ZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgMiIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MCIgTmFtZT0iR3JpZCBU
YWJsZSA1IERhcmsgQWNjZW50IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQ
cmlvcml0eT0iNTEiIE5hbWU9IkdyaWQgVGFibGUgNiBDb2xvcmZ1bCBBY2NlbnQgMiIvPg0KPHc6
THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIgTmFtZT0iR3JpZCBUYWJs
ZSA3IENvbG9yZnVsIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
UHJpb3JpdHk9IjQ2IiBOYW1lPSJHcmlkIFRhYmxlIDEgTGlnaHQgQWNjZW50IDMiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUg
MiBBY2NlbnQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0
OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2Vk
PSJmYWxzZSIgUHJpb3JpdHk9IjQ5IiBOYW1lPSJHcmlkIFRhYmxlIDQgQWNjZW50IDMiLz4NCjx3
OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFi
bGUgNSBEYXJrIEFjY2VudCAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJp
b3JpdHk9IjUxIiBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDMiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiIE5hbWU9IkdyaWQgVGFibGUg
NyBDb2xvcmZ1bCBBY2NlbnQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFBy
aW9yaXR5PSI0NiIgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCA0Ii8+DQo8dzpMc2RF
eGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIg
QWNjZW50IDQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDgi
IE5hbWU9IkdyaWQgVGFibGUgMyBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0i
ZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCA0Ii8+DQo8dzpM
c2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxl
IDUgRGFyayBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9y
aXR5PSI1MSIgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA0Ii8+DQo8dzpMc2RF
eGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUyIiBOYW1lPSJHcmlkIFRhYmxlIDcg
Q29sb3JmdWwgQWNjZW50IDQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlv
cml0eT0iNDYiIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgNSIvPg0KPHc6THNkRXhj
ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NyIgTmFtZT0iR3JpZCBUYWJsZSAyIEFj
Y2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBO
YW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZh
bHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgNSIvPg0KPHc6THNk
RXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MCIgTmFtZT0iR3JpZCBUYWJsZSA1
IERhcmsgQWNjZW50IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0
eT0iNTEiIE5hbWU9IkdyaWQgVGFibGUgNiBDb2xvcmZ1bCBBY2NlbnQgNSIvPg0KPHc6THNkRXhj
ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIgTmFtZT0iR3JpZCBUYWJsZSA3IENv
bG9yZnVsIEFjY2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3Jp
dHk9IjQ2IiBOYW1lPSJHcmlkIFRhYmxlIDEgTGlnaHQgQWNjZW50IDYiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2Nl
bnQgNiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFt
ZT0iR3JpZCBUYWJsZSAzIEFjY2VudCA2Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz
ZSIgUHJpb3JpdHk9IjQ5IiBOYW1lPSJHcmlkIFRhYmxlIDQgQWNjZW50IDYiLz4NCjx3OkxzZEV4
Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBE
YXJrIEFjY2VudCA2Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9
IjUxIiBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDYiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xv
cmZ1bCBBY2NlbnQgNiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5
PSI0NiIgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2Vk
PSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDgiIE5hbWU9Ikxpc3QgVGFibGUgMyIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBU
YWJsZSA0Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBO
YW1lPSJMaXN0IFRhYmxlIDUgRGFyayIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2Ui
IFByaW9yaXR5PSI1MSIgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIi8+DQo8dzpMc2RFeGNl
cHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUyIiBOYW1lPSJMaXN0IFRhYmxlIDcgQ29s
b3JmdWwiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDYiIE5h
bWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tl
ZD0iZmFsc2UiIFByaW9yaXR5PSI0NyIgTmFtZT0iTGlzdCBUYWJsZSAyIEFjY2VudCAxIi8+DQo8
dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRh
YmxlIDMgQWNjZW50IDEiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0
eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExv
Y2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MCIgTmFtZT0iTGlzdCBUYWJsZSA1IERhcmsgQWNjZW50
IDEiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiIE5hbWU9
Ikxpc3QgVGFibGUgNiBDb2xvcmZ1bCBBY2NlbnQgMSIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tl
ZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIgTmFtZT0iTGlzdCBUYWJsZSA3IENvbG9yZnVsIEFjY2Vu
dCAxIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IiBOYW1l
PSJMaXN0IFRhYmxlIDEgTGlnaHQgQWNjZW50IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9
ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgMiIvPg0KPHc6
THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJs
ZSAzIEFjY2VudCAyIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9
IjQ5IiBOYW1lPSJMaXN0IFRhYmxlIDQgQWNjZW50IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2Nr
ZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCAy
Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIiBOYW1lPSJM
aXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDIiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9
ImZhbHNlIiBQcmlvcml0eT0iNTIiIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQg
MiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIgTmFtZT0i
TGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm
YWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDMiLz4NCjx3Okxz
ZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDgiIE5hbWU9Ikxpc3QgVGFibGUg
MyBBY2NlbnQgMyIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0
OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2Vk
PSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgMyIv
Pg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MSIgTmFtZT0iTGlz
dCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAzIi8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJm
YWxzZSIgUHJpb3JpdHk9IjUyIiBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDMi
Lz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDYiIE5hbWU9Ikxp
c3QgVGFibGUgMSBMaWdodCBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs
c2UiIFByaW9yaXR5PSI0NyIgTmFtZT0iTGlzdCBUYWJsZSAyIEFjY2VudCA0Ii8+DQo8dzpMc2RF
eGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMg
QWNjZW50IDQiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDki
IE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0i
ZmFsc2UiIFByaW9yaXR5PSI1MCIgTmFtZT0iTGlzdCBUYWJsZSA1IERhcmsgQWNjZW50IDQiLz4N
Cjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiIE5hbWU9Ikxpc3Qg
VGFibGUgNiBDb2xvcmZ1bCBBY2NlbnQgNCIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFs
c2UiIFByaW9yaXR5PSI1MiIgTmFtZT0iTGlzdCBUYWJsZSA3IENvbG9yZnVsIEFjY2VudCA0Ii8+
DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IiBOYW1lPSJMaXN0
IFRhYmxlIDEgTGlnaHQgQWNjZW50IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl
IiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgNSIvPg0KPHc6THNkRXhj
ZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFj
Y2VudCA1Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ5IiBO
YW1lPSJMaXN0IFRhYmxlIDQgQWNjZW50IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZh
bHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCA1Ii8+DQo8
dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIiBOYW1lPSJMaXN0IFRh
YmxlIDYgQ29sb3JmdWwgQWNjZW50IDUiLz4NCjx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNl
IiBQcmlvcml0eT0iNTIiIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNSIvPg0K
PHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIgTmFtZT0iTGlzdCBU
YWJsZSAxIExpZ2h0IEFjY2VudCA2Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
UHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDYiLz4NCjx3OkxzZEV4Y2Vw
dGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDgiIE5hbWU9Ikxpc3QgVGFibGUgMyBBY2Nl
bnQgNiIvPg0KPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFt
ZT0iTGlzdCBUYWJsZSA0IEFjY2VudCA2Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxz
ZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgNiIvPg0KPHc6
THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MSIgTmFtZT0iTGlzdCBUYWJs
ZSA2IENvbG9yZnVsIEFjY2VudCA2Ii8+DQo8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIg
UHJpb3JpdHk9IjUyIiBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDYiLz4NCjwv
dzpMYXRlbnRTdHlsZXM+DQo8L3htbD48IVtlbmRpZl0tLT48c3R5bGU+PCEtLQ0KLyogRm9udCBE
ZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsN
CglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0Ow0KCW1zby1mb250LWNoYXJzZXQ6MTsNCglt
c28tZ2VuZXJpYy1mb250LWZhbWlseTpyb21hbjsNCgltc28tZm9udC1waXRjaDp2YXJpYWJsZTsN
Cgltc28tZm9udC1zaWduYXR1cmU6MCAwIDAgMCAwIDA7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZh
bWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0Ow0KCW1zby1mb250
LWNoYXJzZXQ6MDsNCgltc28tZ2VuZXJpYy1mb250LWZhbWlseTpzd2lzczsNCgltc28tZm9udC1w
aXRjaDp2YXJpYWJsZTsNCgltc28tZm9udC1zaWduYXR1cmU6LTUzNjg1OTkwNSAtMTA3MzczMjQ4
NSA5IDAgNTExIDA7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5N
c29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bXNvLXN0eWxlLXVuaGlkZTpubzsNCgltc28tc3R5
bGUtcWZvcm1hdDp5ZXM7DQoJbXNvLXN0eWxlLXBhcmVudDoiIjsNCgltYXJnaW46MGNtOw0KCW1h
cmdpbi1ib3R0b206LjAwMDFwdDsNCgltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47DQoJZm9u
dC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgltc28t
ZmFyZWFzdC1mb250LWZhbWlseTpDYWxpYnJpO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsN
Cgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOiMwNTYzQzE7DQoJdGV4dC1kZWNvcmF0
aW9uOnVuZGVybGluZTsNCgl0ZXh0LXVuZGVybGluZTpzaW5nbGU7fQ0KYTp2aXNpdGVkLCBzcGFu
Lk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1ub3Nob3c6eWVzOw0KCW1zby1zdHls
ZS1wcmlvcml0eTo5OTsNCgljb2xvcjojOTU0RjcyOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxp
bmU7DQoJdGV4dC11bmRlcmxpbmU6c2luZ2xlO30NCnAubXNvbm9ybWFsMCwgbGkubXNvbm9ybWFs
MCwgZGl2Lm1zb25vcm1hbDANCgl7bXNvLXN0eWxlLW5hbWU6bXNvbm9ybWFsOw0KCW1zby1zdHls
ZS11bmhpZGU6bm87DQoJbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87DQoJbWFyZ2luLXJpZ2h0OjBj
bTsNCgltc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsNCgltYXJnaW4tbGVmdDowY207DQoJbXNv
LXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOw0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1p
bHk6IlRpbWVzIE5ldyBSb21hbiIsc2VyaWY7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Q2Fs
aWJyaTt9DQpzcGFuLkVtYWlsU3R5bGUxOA0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsNCglt
c28tc3R5bGUtbm9zaG93OnllczsNCgltc28tc3R5bGUtdW5oaWRlOm5vOw0KCW1zby1hbnNpLWZv
bnQtc2l6ZToxMS4wcHQ7DQoJbXNvLWJpZGktZm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWls
eToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgltc28tYXNjaWktZm9udC1mYW1pbHk6Q2FsaWJyaTsN
Cgltc28tZmFyZWFzdC1mb250LWZhbWlseTpDYWxpYnJpOw0KCW1zby1oYW5zaS1mb250LWZhbWls
eTpDYWxpYnJpOw0KCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOw0KCWNv
bG9yOiMxRjQ5N0Q7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTkNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29u
YWwtcmVwbHk7DQoJbXNvLXN0eWxlLW5vc2hvdzp5ZXM7DQoJbXNvLXN0eWxlLXVuaGlkZTpubzsN
Cgltc28tYW5zaS1mb250LXNpemU6MTEuMHB0Ow0KCW1zby1iaWRpLWZvbnQtc2l6ZToxMS4wcHQ7
DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7DQoJbXNvLWFzY2lpLWZvbnQtZmFt
aWx5OkNhbGlicmk7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Q2FsaWJyaTsNCgltc28taGFu
c2ktZm9udC1mYW1pbHk6Q2FsaWJyaTsNCgltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3
IFJvbWFuIjsNCgljb2xvcjojMUY0OTdEO30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10
eXBlOmV4cG9ydC1vbmx5Ow0KCW1zby1kZWZhdWx0LXByb3BzOnllczsNCglmb250LXNpemU6MTAu
MHB0Ow0KCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7DQoJbXNvLWJpZGktZm9udC1zaXplOjEw
LjBwdDt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo2MTIuMHB0IDc5Mi4wcHQ7DQoJbWFy
Z2luOjcyLjBwdCA3Mi4wcHQgNzIuMHB0IDcyLjBwdDsNCgltc28taGVhZGVyLW1hcmdpbjozNi4w
cHQ7DQoJbXNvLWZvb3Rlci1tYXJnaW46MzYuMHB0Ow0KCW1zby1wYXBlci1zb3VyY2U6MDt9DQpk
aXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+PCEtLVtp
ZiBndGUgbXNvIDEwXT48c3R5bGU+LyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnRhYmxlLk1zb05v
cm1hbFRhYmxlDQoJe21zby1zdHlsZS1uYW1lOiJUYWJsZSBOb3JtYWwiOw0KCW1zby10c3R5bGUt
cm93YmFuZC1zaXplOjA7DQoJbXNvLXRzdHlsZS1jb2xiYW5kLXNpemU6MDsNCgltc28tc3R5bGUt
bm9zaG93OnllczsNCgltc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJbXNvLXN0eWxlLXBhcmVudDoi
IjsNCgltc28tcGFkZGluZy1hbHQ6MGNtIDUuNHB0IDBjbSA1LjRwdDsNCgltc28tcGFyYS1tYXJn
aW46MGNtOw0KCW1zby1wYXJhLW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCgltc28tcGFnaW5hdGlv
bjp3aWRvdy1vcnBoYW47DQoJZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseToiVGltZXMg
TmV3IFJvbWFuIixzZXJpZjt9DQo8L3N0eWxlPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5
XT48eG1sPg0KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIgLz4N
CjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVsYXlv
dXQgdjpleHQ9ImVkaXQiPg0KPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+DQo8L286
c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBsYW5nPSJFTi1H
QiIgbGluaz0iIzA1NjNDMSIgdmxpbms9IiM5NTRGNzIiIHN0eWxlPSJ0YWItaW50ZXJ2YWw6MzYu
MHB0Ij4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
Zm9udCBzaXplPSIyIiBjb2xvcj0iIzFmNDk3ZCIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQ7bXNvLWFzY2lpLWZvbnQtZmFtaWx5OkNhbGlicmk7bXNvLWZhcmVh
c3QtZm9udC1mYW1pbHk6Q2FsaWJyaTttc28taGFuc2ktZm9udC1mYW1pbHk6Q2FsaWJyaTttc28t
YmlkaS1mb250LWZhbWlseTomcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6IzFGNDk3
RDttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+SeKAmXZlDQogdGFrZW4gdGhlIGZpcnN0IGZv
dXIgcGF0Y2hlcyBvZiB0aGUgc2VyaWVzLCBzaW5jZSB0aGV5IGFyZSBsYXJnZWx5IGNvc21ldGlj
IEFGQUlDVCwgYW5kIEkgc2VlIG5vIGFkdmVyc2UgZWZmZWN0cyBpbiB0ZXN0aW5nLjxvOnA+PC9v
OnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIy
IiBjb2xvcj0iIzFmNDk3ZCIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7bXNvLWFzY2lpLWZvbnQtZmFtaWx5OkNhbGlicmk7bXNvLWZhcmVhc3QtZm9udC1mYW1p
bHk6Q2FsaWJyaTttc28taGFuc2ktZm9udC1mYW1pbHk6Q2FsaWJyaTttc28tYmlkaS1mb250LWZh
bWlseTomcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6IzFGNDk3RDttc28tZmFyZWFz
dC1sYW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGNvbG9yPSIjMWY0OTdkIiBmYWNlPSJD
YWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tYXNjaWktZm9udC1mYW1p
bHk6Q2FsaWJyaTttc28tZmFyZWFzdC1mb250LWZhbWlseTpDYWxpYnJpO21zby1oYW5zaS1mb250
LWZhbWlseTpDYWxpYnJpO21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzIE5ldyBSb21h
biZxdW90Oztjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj48c3BhbiBz
dHlsZT0ibXNvLXNwYWNlcnVuOnllcyI+Jm5ic3A7DQo8L3NwYW4+UGF1bDxvOnA+PC9vOnA+PC9z
cGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBjb2xv
cj0iIzFmNDk3ZCIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
bXNvLWFzY2lpLWZvbnQtZmFtaWx5OkNhbGlicmk7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Q2Fs
aWJyaTttc28taGFuc2ktZm9udC1mYW1pbHk6Q2FsaWJyaTttc28tYmlkaS1mb250LWZhbWlseTom
cXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5n
dWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxkaXYgc3R5
bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGluZzowY20g
MGNtIDBjbSA0LjBwdCI+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRv
cDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGNtIDBjbSAwY20iPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PGI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5
OiZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90Ozttc28tYW5zaS1sYW5ndWFnZTpFTi1VUztmb250
LXdlaWdodDpib2xkIj5Gcm9tOjwvc3Bhbj48L2ZvbnQ+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7
O21zby1hbnNpLWxhbmd1YWdlOkVOLVVTIj4NCiB3aW4tcHYtZGV2ZWwgW21haWx0bzp3aW4tcHYt
ZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZ10gPGI+PHNwYW4gc3R5bGU9ImZvbnQt
d2VpZ2h0OmJvbGQiPk9uIEJlaGFsZiBPZg0KPC9zcGFuPjwvYj5QYXVsIER1cnJhbnQ8YnI+DQo8
Yj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+U2VudDo8L3NwYW4+PC9iPiAxOCBNYXkg
MjAxNyAxODozNzxicj4NCjxiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Ubzo8L3Nw
YW4+PC9iPiBPd2VuIFNtaXRoICZsdDtvd2VuLnNtaXRoQGNpdHJpeC5jb20mZ3Q7OyB3aW4tcHYt
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc8YnI+DQo8Yj48c3BhbiBzdHlsZT0iZm9udC13ZWln
aHQ6Ym9sZCI+U3ViamVjdDo8L3NwYW4+PC9iPiBSZTogW3dpbi1wdi1kZXZlbF0gW1BBVENIXSBY
ZW52YmQgUmVmYWN0b3Jpbmc8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvZm9udD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBjb2xvcj0iIzFmNDk3ZCIg
ZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7bXNvLWJpZGktZm9u
dC1mYW1pbHk6JnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7O2NvbG9yOiMxRjQ5N0Q7bXNvLWZh
cmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPkEgcXVpY2vigJlu4oCZZGlydHkgY2hlY2sgdXNpbmcgYSBj
aGVja2VkIGJ1aWxkIG9uIGEgcmVjZW50IFdpbmRvd3MgMTAgNjQtYml0IGlzIGdpdmluZw0KIG1l
IG9kZCByZXN1bHRz4oCmPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGNvbG9yPSIjMWY0OTdkIiBmYWNlPSJDYWxpYnJpIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtU
aW1lcyBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpF
Ti1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxmb250IHNpemU9IjIiIGNvbG9yPSIjMWY0OTdkIiBmYWNlPSJDYWxpYnJpIj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtUaW1l
cyBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1V
UyI+V2l0aCBhIHF1ZXVlIGRlcHRoIG9mIDEgSeKAmW0gc2VlaW5nIH42ayBJT1BTIHdpdGhvdXQg
dGhlIHBhdGNoZXMgYW5kIH4xOGsgd2l0aCwNCiB3aGljaCBpcyBjbGVhcmx5IGdvb2QuIEJ1dCwg
d2l0aCBhIHF1ZXVlIGRlcHRoIG9mIDMyLCBJIHNlZSB+NDZrIElPUFMgd2l0aG91dCB0aGUgcGF0
Y2hlcyBidXQgfjIwayB3aXRoLiBUaGF04oCZcyBhIHByZXR0eSBzdWJzdGFudGlhbCBmYWxsLW9m
ZiBzbyBJIHRoaW5rIG1vcmUgd29yayBpcyBuZWVkZWQgYmVmb3JlIGFsbCBvZiB0aGVzZSBjYW4g
Z28gaW50byBtYXN0ZXIuPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGNvbG9yPSIjMWY0OTdkIiBmYWNlPSJDYWxpYnJpIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtU
aW1lcyBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpF
Ti1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxmb250IHNpemU9IjIiIGNvbG9yPSIjMWY0OTdkIiBmYWNlPSJDYWxpYnJpIj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtUaW1l
cyBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1V
UyI+Q2hlZXJzLDxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48Zm9udCBzaXplPSIyIiBjb2xvcj0iIzFmNDk3ZCIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMg
TmV3IFJvbWFuJnF1b3Q7O2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMi
PjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48Zm9udCBzaXplPSIyIiBjb2xvcj0iIzFmNDk3ZCIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMgTmV3
IFJvbWFuJnF1b3Q7O2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPjxz
cGFuIHN0eWxlPSJtc28tc3BhY2VydW46eWVzIj4mbmJzcDsNCjwvc3Bhbj5QYXVsPG86cD48L286
cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIi
IGNvbG9yPSIjMWY0OTdkIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdDttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDs7Y29s
b3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48
L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGNv
bG9yPSIjMWY0OTdkIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dDttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6
IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3Nw
YW4+PC9mb250PjwvcD4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlk
IGJsdWUgMS41cHQ7cGFkZGluZzowY20gMGNtIDBjbSA0LjBwdCI+DQo8ZGl2Pg0KPGRpdiBzdHls
ZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4w
cHQgMGNtIDBjbSAwY20iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1vdXRsaW5l
LWxldmVsOjEiPjxiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIGxhbmc9IkVO
LVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVv
dDtUaW1lcyBOZXcgUm9tYW4mcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RU4tVVM7Zm9udC13ZWln
aHQ6Ym9sZCI+RnJvbTo8L3NwYW4+PC9mb250PjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9
Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90Ozttc28t
YW5zaS1sYW5ndWFnZTpFTi1VUyI+DQogd2luLXB2LWRldmVsIFs8YSBocmVmPSJtYWlsdG86d2lu
LXB2LWRldmVsLWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmciPm1haWx0bzp3aW4tcHYtZGV2
ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZzwvYT5dDQo8Yj48c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6Ym9sZCI+T24gQmVoYWxmIE9mIDwvc3Bhbj48L2I+T3dlbiBTbWl0aDxicj4NCjxi
PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5TZW50Ojwvc3Bhbj48L2I+IDE1IE1heSAy
MDE3IDE2OjUzPGJyPg0KPGI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlRvOjwvc3Bh
bj48L2I+IDxhIGhyZWY9Im1haWx0bzp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmci
Pg0Kd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnPC9hPjxicj4NCjxiPjxzcGFuIHN0
eWxlPSJmb250LXdlaWdodDpib2xkIj5TdWJqZWN0Ojwvc3Bhbj48L2I+IFt3aW4tcHYtZGV2ZWxd
IFtQQVRDSF0gWGVudmJkIFJlZmFjdG9yaW5nPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+
DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGli
cmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh
bj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0i
Q2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkl0IHNlZW1zIEnigJl2ZSBl
eHBlcmllbmNlZCBzb21lIG1haWwgZGVsaXZlcnkgZmFpbHVyZXMgdHJ5aW5nIHRvIHNlbmQgYSAy
NiBwYXRjaCBzZXJpZXMuPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0Ij5SYXRoZXIgdGhhbiByZXNlbmQgdGhlIHNlcmllcywgSeKAmXZlIHB1dCBh
IGJyYW5jaCB1cCB0byBleGFtaW5lLjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9mb250PjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5PcmlnaW5hbCBbMDAvMjZdIFN1bW1hcnk6PG86cD48
L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9
IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij48bzpwPiZu
YnNwOzwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQg
c2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkFs
bCBwYXRjaGVzIHNob3VsZCBiZSB0YWtlbiB0b2dldGhlci48bzpwPjwvbzpwPjwvc3Bhbj48L2Zv
bnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJy
aSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkluIGFuIGF0dGVtcHQgdG8gaW1wcm92
ZSBtYWludGFpbmFiaWxpdHkgYW5kIGNvZGUgcmVhZGFiaWxpdHksIHJlZmFjdG9yPG86cD48L286
cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIi
IGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij54ZW52YmQuPG86
cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNp
emU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5UaGlz
IHBhdGNoIHNlcmllcyBhbHNvIG1vdmVzIHRoZSBTUkIgcXVldWVpbmcgcmVzcG9uc2liaWxpdHkg
dG8gc3RvcnBvcnQsPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0Ij5ieSBwcmVwYXJpbmcgYmxraWYgcmVxdWVzdHMgZHVyaW5nIEJ1aWxkSW8gYW5k
IGFwcGVuZGluZyBibGtpZiByZXF1ZXN0cyB0bzxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+YSBwZW5kaW5nIHF1ZXVlIGZvciB0aGUgcmluZyBk
dXJpbmcgU3RhcnRJby4gVGhpcyBzaG91bGQgYWxsb3cgYSByZWR1Y3Rpb248bzpwPjwvbzpwPjwv
c3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFj
ZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPmluIHByb2Nlc3Npbmcg
ZHVyaW5nIHRoZSBEUEMgKGFzIHRoZSBEUEMgd2lsbCBvbmx5IGNvbXBsZXRlIGJsa2lmIHJlc3Bv
bnNlcyw8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQiPmFuZCB0aGUgY29ycmVzcG9uZGluZyBTUkIsIGFuZCBzdWJtaXQgYmxraWYgcmVxdWVzdHMp
IGFuZCB0YWtlIGFkdmFudGFnZSBvZjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdCI+QnVpbGRJbydzIGNvbmN1cnJlbnQgY2FsbHMuPG86cD48L286
cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIi
IGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij48bzpwPiZuYnNw
OzwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6
ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPlRlc3Rl
ZCB3aXRoIEhMSy0xNzAzIG9uIFdpbmRvd3MgMTAgeDY0IChidWlsZCAxNTA2My5yczJfcmVsZWFz
ZS4xNzAzMTctMTgzNCk8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQiPkFsbCB0ZXN0cyAoaW5jbHVkaW5nIG5vbi1XSFFMIHRlc3RzKSBwYXNzZWQ8
bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQg
c2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dCI+SW9NZXRlciByZXN1bHRzIGNvbXBhcmVkIHRvIHByZXZpb3VzIHhlbnZiZCBhbmQgZW11bGF0
ZWQgb24gc2luZ2xlIHNvY2tldA0KPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0Ij5YZW9uIFgzNDUwIEAgMi42R0h6IChndWVzdCBoYXMgMiB2Q1BV
cyksIHdpdGggOEdCIFJBTSAoZ3Vlc3QgaGFzIDRHQiwgMUdCIHJhbWZzKTxvOnA+PC9vOnA+PC9z
cGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNl
PSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+KDEgd29ya2VyLCBxdWV1
ZS1kZXB0aCAzMiwgNSBtaW51dGVzLCA0S0IgMjAlIHJlYWQsIDgwJSByYW5kb20sIDEyOEtCLWFs
aWduZWQpPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
Pjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0Ij5UZXN0ZWQsIFN0b3JhZ2VCYWNraW5nLCBJT1BzPG86cD48L286cD48L3NwYW4+PC9mb250
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmki
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5FbXVsYXRlZCwgSERELCA3MjYuNzU8bzpw
PjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6
ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkVtdWxh
dGVkLCBSQU0sIDY5NS45MzxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdCI+WGVuVmJkIDguMiwgSERELCA1MjUuNTI8bzpwPjwvbzpwPjwvc3Bhbj48
L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2Fs
aWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPlhlblZiZCA4LjIsIFJBTSwgNDMz
MC41MTxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dCI+VGhlc2VQYXRjaGVzLCBIREQsIDI0NzUuMjM8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPlRoZXNlUGF0Y2hlcywgUkFNLCAzNjE5LjA2PG86
cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNp
emU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5Ob3Rl
OiBUaGVyZSB3YXMgYSBsYXJnZSBhbW1vdW50IG9mIHZhcmlhbmNlIGluIGFsbCB0aGUgcmVzdWx0
cyBkdXJpbmcgcmVydW5zLDxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdCI+d2l0aCBhbiBhcHByb3hpbWF0ZSAxMC0yMCUgdmFyaWFuY2UgaW4gdGhl
IHNhbWUgc2V0dXBzLiBUZXN0cyB3aXRoIFBWIGRyaXZlcnM8bzpwPjwvbzpwPjwvc3Bhbj48L2Zv
bnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJy
aSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPmJhY2tlZCBieSBSQU0gd2VyZSBtYXhp
bmcgZ3Vlc3QgQ1BVIHV0aWxpemF0aW9uLjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9mb250Pjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5Pd2VuIFNtaXRoICgyNik6PG86cD48L286cD48
L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZh
Y2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDsgUmVuYW1l
IEZkbyAtJmd0OyBBZGFwdGVyIFJlbW92ZSBBZGFwdGVyIHJlZmVyZW5jZSBjb3VudHM8bzpwPjwv
bzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0i
MiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOyBS
ZW5hbWUgUGRvIC0mZ3Q7IFRhcmdldDxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7IFRpZHkgdXAgRHJpdmVyLmgvLmM8bzpwPjwvbzpw
Pjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIg
ZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOyBSZWZh
Y3RvciBBZGFwdGVyLmM8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQiPiZuYnNwOyBQYXNzIFBYRU5WQkRfU1JCRVhULCBub3QgUFNDU0lfUkVRVUVT
VF9CTE9DSzxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdCI+Jm5ic3A7IFJlZmFjdG9yIHRhcmdldC5jPG86cD48L286cD48L3NwYW4+PC9mb250Pjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDsgTW92ZSBTY2F0dGVyR2F0aGVyIGxp
c3QgaXRlcmF0aW9uIHRvIGFkYXB0ZXIuYzxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7IFJlbmFtZSBTcmJFeHQ6OlNyYiB0byBPcmln
aW5hbFJlcTxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdCI+Jm5ic3A7IE1vdmUgbm9uLXF1ZXVlLXNyYiBoYW5kbGluZyB0byBCdWlsZElvPG86cD48
L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9
IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDsg
QWRkIG92ZXJyaWRlIHRvIGRpc2FibGUgc3BlY2lmaWMgZmVhdHVyZXM8bzpwPjwvbzpwPjwvc3Bh
bj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0i
Q2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOyBQcmVwYXJlIHJl
cXVlc3RzIGluIEJ1aWxkSW88bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQiPiZuYnNwOyBNb3ZlIFNyYkV4dCBjbGVhbnVwIGludG8gaW5saW5lIGZ1
bmN0aW9uPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
Pjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0Ij4mbmJzcDsgUXVlcnkgZm9yIENhY2hlIEludGVyZmFjZTxvOnA+PC9vOnA+PC9zcGFuPjwv
Zm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxp
YnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7IFVzZSBDQUNIRSBpbnRl
cmZhY2UgaW5zdGVhZCBvZiBsb29rYXNpZGUgbGlzdHM8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOyBGaXggSW5kaXJlY3QgcmVxdWVz
dHM8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZv
bnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQi
PiZuYnNwOyBNb3ZlIEJsb2NrUmluZ1BvbGwgaW5saW5lPG86cD48L286cD48L3NwYW4+PC9mb250
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmki
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDsgTW92ZSBQcmVwYXJlZC9TdWJt
aXR0ZWQgdG8gQmxvY2tSaW5nPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0Ij4mbmJzcDsgUmVmYWN0b3IgSW5xdWlyeSAweDgzIGhhbmRsZXI8bzpw
PjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6
ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNw
OyBSZW1vdmUgVGFyZ2V0UXVldWVTcmIsIGZvbGQgaW50byBjYWxsZXI8bzpwPjwvbzpwPjwvc3Bh
bj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0i
Q2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOyBTZXQgUXVldWUg
RGVwdGgsIHNvbWUgbWlub3IgZml4ZXM8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOyBBZGQgb3ZlcnJpZGVzIGZvciBNYXhUcmFuc2Zl
ckxlbmd0aCBhbmQgTWF4UGh5c2ljYWxCcmVha3M8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOyBSZW5hbWUgUHJlcGFyZWQgdG8gUXVl
dWVkPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxm
b250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
Ij4mbmJzcDsgVHJhY2sgUXVldWVkL1N1Ym1pdHRlZC9Db21wbGV0ZWQgY291bnRzPG86cD48L286
cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIi
IGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDsgUmVh
ZCBvdmVycmlkZXMgYXQgc3RhcnQgb2YgZGF5PG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDsgRml4IGRpc2NhcmQgZGVidWcgc3RhdGVt
ZW50czxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dCI+Jm5ic3A7IEFkZCBvdmVycmlkZSBmb3IgcmluZyBzaXplPG86cD48L286cD48L3NwYW4+PC9m
b250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGli
cmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh
bj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0i
Q2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPnNyYy94ZW52YmQvYWRhcHRl
ci5jJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwgMjE2
MyAmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7
JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYj
NDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7PG86cD48L286cD48L3NwYW4+PC9mb250
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmki
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5zcmMveGVudmJkL2FkYXB0ZXIuaCZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7IDEyOCAm
IzQzOyYjNDM7PG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0Ij5zcmMveGVudmJkL2Jsb2NrcmluZy5jJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7IHwgMTA0MCAmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7
JiM0MzstLS0tLTxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdCI+c3JjL3hlbnZiZC9ibG9ja3JpbmcuaCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7IDQ0ICYjNDM7LTxvOnA+PC9vOnA+PC9zcGFuPjwvZm9u
dD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJp
Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+c3JjL3hlbnZiZC9kcml2ZXIuYyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7
IDQ4MCAmIzQzOyYjNDM7LS0tLS08bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQiPnNyYy94ZW52YmQvZHJpdmVyLmgmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyA3MyAmIzQz
Oy08bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZv
bnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQi
PnNyYy94ZW52YmQvZmRvLmMmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCAyMjA2IC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLTxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdCI+c3JjL3hlbnZiZC9mZG8uaCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7IDE3OSAt
LS08bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZv
bnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQi
PnNyYy94ZW52YmQvZnJvbnRlbmQuYyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyB8IDE3NzEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPG86cD48L286cD48L3NwYW4+
PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNh
bGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5zcmMveGVudmJkL2Zyb250ZW5k
LmgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAxOTUg
LS0tPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxm
b250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
Ij5zcmMveGVudmJkL2dyYW50ZXIuYyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyB8Jm5ic3A7IDE5OCAmIzQzOy0tPG86cD48L286cD48L3NwYW4+PC9mb250
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmki
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5zcmMveGVudmJkL2dyYW50ZXIuaCZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7
IDQ4ICYjNDM7LTxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdCI+c3JjL3hlbnZiZC9ub3RpZmllci5jJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsgMzM1IC0tLS0tPG86cD48L286cD48L3NwYW4+PC9mb250
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmki
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5zcmMveGVudmJkL25vdGlmaWVyLmgmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAxMDEgLS08bzpw
PjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6
ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPnNyYy94
ZW52YmQvcGRvLmMmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCAyNzMyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS08bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQiPnNyYy94ZW52YmQvcGRvLmgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAyMjkg
LS0tLTxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dCI+c3JjL3hlbnZiZC9wZG9pbnF1aXJ5LmMmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg
fCZuYnNwOyA1NTQgLS0tLS0tLS08bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQiPnNyYy94ZW52YmQvcGRvaW5xdWlyeS5oJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsgNjUgLTxvOnA+PC9vOnA+PC9zcGFuPjwvZm9u
dD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJp
Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+c3JjL3hlbnZiZC9xdWV1ZS5jJm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwm
bmJzcDsgMTM5IC0tPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0Ij5zcmMveGVudmJkL3F1ZXVlLmgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyA4NiAtLTxvOnA+
PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXpl
PSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+c3JjL3hl
bnZiZC9zcmJleHQuaCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7IDg1ICYjNDM7LTxvOnA+PC9vOnA+PC9zcGFuPjwvZm9u
dD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJp
Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+c3JjL3hlbnZiZC90YXJnZXQuYyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8IDMxMDAg
JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYj
NDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQz
OyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0Mzsm
IzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7PG86cD48L286cD48L3NwYW4+
PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNh
bGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5zcmMveGVudmJkL3RhcmdldC5o
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwm
bmJzcDsgMTUyICYjNDM7JiM0MzsmIzQzOzxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdCI+dnMyMDEyL3hlbnZiZC94ZW52YmQudmN4cHJvaiB8Jm5i
c3A7Jm5ic3A7Jm5ic3A7IDggJiM0MzstPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0Ij52czIwMTMveGVudmJkL3hlbnZiZC52Y3hwcm9qIHwmbmJz
cDsmbmJzcDsmbmJzcDsgOCAmIzQzOy08bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQiPnZzMjAxNS94ZW52YmQveGVudmJkLnZjeHByb2ogfCZuYnNw
OyZuYnNwOyZuYnNwOyA4ICYjNDM7LTxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdCI+MjYgZmlsZXMgY2hhbmdlZCwgNjYwNiBpbnNlcnRpb25zKCYj
NDM7KSwgOTUyMSBkZWxldGlvbnMoLSk8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQiPmNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL2FkYXB0
ZXIuYzxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dCI+Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvYWRhcHRlci5oPG86cD48L286cD48L3Nw
YW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9
IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5kZWxldGUgbW9kZSAxMDA2
NDQgc3JjL3hlbnZiZC9mZG8uYzxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdCI+ZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy94ZW52YmQvZmRvLmg8bzpw
PjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6
ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPmRlbGV0
ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL2Zyb250ZW5kLmM8bzpwPjwvbzpwPjwvc3Bhbj48L2Zv
bnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJy
aSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPmRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMv
eGVudmJkL2Zyb250ZW5kLmg8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQiPmRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL25vdGlmaWVyLmM8
bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQg
c2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPmRl
bGV0ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL25vdGlmaWVyLmg8bzpwPjwvbzpwPjwvc3Bhbj48
L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2Fs
aWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPmRlbGV0ZSBtb2RlIDEwMDY0NCBz
cmMveGVudmJkL3Bkby5jPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0Ij5kZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC9wZG8uaDxvOnA+PC9v
OnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIy
IiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+ZGVsZXRlIG1v
ZGUgMTAwNjQ0IHNyYy94ZW52YmQvcGRvaW5xdWlyeS5jPG86cD48L286cD48L3NwYW4+PC9mb250
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmki
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5kZWxldGUgbW9kZSAxMDA2NDQgc3JjL3hl
bnZiZC9wZG9pbnF1aXJ5Lmg8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQiPmRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL3F1ZXVlLmM8bzpw
PjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6
ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPmRlbGV0
ZSBtb2RlIDEwMDY0NCBzcmMveGVudmJkL3F1ZXVlLmg8bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPmNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMveGVu
dmJkL3RhcmdldC5jPG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0Ij5jcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3hlbnZiZC90YXJnZXQuaDxvOnA+PC9v
OnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Zm9udCBzaXplPSIy
IiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJz
cDs8L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250IHNp
emU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4tLQ0K
PG86cD48L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxmb250
IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4y
LjguMzxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
Zm9udCBzaXplPSIyIiBmYWNlPSJDYWxpYnJpIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9mb250PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxmb250IHNpemU9IjIiIGZhY2U9IkNhbGlicmkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0Ij5BIGJyYW5jaCBzaG93aW5nIHRoZSBwYXRjaGVzIGlzIGF2YWlsYWJsZSBhdDo8bzpw
PjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGZvbnQgc2l6
ZT0iMiIgZmFjZT0iQ2FsaWJyaSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPjxhIGhy
ZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9Pd2VuU21pdGgveGVudmJkL3RyZWUvZXhwZXJpbWVudCI+
aHR0cHM6Ly9naXRodWIuY29tL093ZW5TbWl0aC94ZW52YmQvdHJlZS9leHBlcmltZW50PC9hPjxv
OnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jv
ZHk+DQo8L2h0bWw+DQo=

--_000_ce81bd20cb524f629b06f32810eae7e8AMSPEX02CL03citritenet_--


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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

--===============0164953067577860458==--


From win-pv-devel-bounces@lists.xenproject.org Tue May 30 20:08:59 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 30 May 2017 20:08: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 1dFnRp-0004vT-JL; Tue, 30 May 2017 20:08: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 1dFnRo-0004vN-Oi
 for win-pv-devel@lists.xenproject.org; Tue, 30 May 2017 20:08:56 +0000
Date: Tue, 30 May 2017 20:08:54 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <22890470.15.1496174934687.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_14_21541123.1496174934687"
X-Jenkins-Job: XENVBD-master
X-Jenkins-Result: FAILURE
Subject: [win-pv-devel] XENVBD-master - Build #95 - Failure
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/cgi-bin/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/cgi-bin/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_21541123.1496174934687
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/XENVBD-master/95/console to view the results.
------=_Part_14_21541123.1496174934687
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_14_21541123.1496174934687--


From win-pv-devel-bounces@lists.xenproject.org Wed May 31 02:41:04 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 May 2017 02:41:04 +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 1dFtZG-0006T5-RL; Wed, 31 May 2017 02:41:02 +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 1dFtZF-0006Sz-Om
 for win-pv-devel@lists.xenproject.org; Wed, 31 May 2017 02:41:01 +0000
Date: Wed, 31 May 2017 02:41:00 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <31210305.17.1496198460574.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_16_25322905.1496198460574"
X-Jenkins-Job: XENBUS-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENBUS-master - Build #142 - 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/cgi-bin/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/cgi-bin/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_25322905.1496198460574
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #142.

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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_16_25322905.1496198460574--


From win-pv-devel-bounces@lists.xenproject.org Wed May 31 08:16:50 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 May 2017 08:16: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 1dFyoB-0007GA-VS; Wed, 31 May 2017 08:16:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xenproject.org with esmtp (Exim 4.84_2)
 (envelope-from <prvs=317bba8a1=owen.smith@citrix.com>)
 id 1dFyoA-0007G3-Nm
 for win-pv-devel@lists.xenproject.org; Wed, 31 May 2017 08:16:47 +0000
Received: from [85.158.139.211] by server-11.bemta-5.messagelabs.com id
 52/B7-01733-EEB7E295; Wed, 31 May 2017 08:16:46 +0000
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrHIsWRWlGSWpSXmKPExsWyU9JRQvdNtV6
 kwfStFhZ/Fic6MHoc/nCFJYAxijUzLym/IoE143jLF9aC6T8ZK362vGdsYGx5zNjFyMkhIRAk
 MXXFTXYQm01AQ2JG52IWEFtEoERi3bJPzCC2sIC6xP8794BsDqC4hsSFGWkQJU4SD04/AhvDI
 qAqcXBXExOIzSvgLnF+7jagci4OIYEDjBINk/eCzecU8JDYM6ELrIFRQFbiS+NqsPnMAuISTV
 9WskLcIyCxZM95ZghbVOLl439QcQOJrUv3sUDU50qcOfWXGWKZoMTJmU9YJjAKzkIyahaSsll
 IyiDiBhLvz81nhrC1JZYtfA1l60ts/HKWEVl8ASP7KkaN4tSistQiXUMDvaSizPSMktzEzBwg
 z1QvN7W4ODE9NScxqVgvOT93EyMwLhiAYAfjmqnOhxglOZiURHkrbPQihfiS8lMqMxKLM+KLS
 nNSiw8xynBwKEnwrqsCygkWpaanVqRl5gAjFCYtwcGjJMKrBoxSId7igsTc4sx0iNQpRl2ODa
 vXf2ESYsnLz0uVEufdDTJDAKQoozQPbgQsWVxilJUS5mUEOkqIpyC1KDezBFX+FaM4B6OSMK8
 KyCqezLwSuE2vgI5gAjpi1w5tkCNKEhFSUg2Mc57u9+Dvzkm2E5ouI8WWGiQ391DRpbhWmYaZ
 V/Tv+q90Ohy4p2HH5LsvHq0uy1+cyMf1RNCpdhpXx1T2tW+lFK+8X/n13BqhyYq1PZ9Z1D/9d
 LPbVfLy9NRr1x+b20XK3z7I/Gzeo4gIz+l/btz8+aro4/wIpecWZXcX2oe2GM3vXzXrkOyTdi
 WW4oxEQy3mouJEAHUukggRAwAA
X-Env-Sender: prvs=317bba8a1=owen.smith@citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1496218602!100971417!1
X-Originating-IP: [185.25.65.24]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG,
 HTML_MESSAGE,received_headers: No Received headers
X-StarScan-Received: 
X-StarScan-Version: 9.4.19; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 58129 invoked from network); 31 May 2017 08:16:43 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (185.25.65.24)
 by server-8.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
 31 May 2017 08:16:43 -0000
X-IronPort-AV: E=Sophos;i="5.38,422,1491264000"; d="scan'208,217";a="46963094"
From: Owen Smith <owen.smith@citrix.com>
To: Paul Durrant <Paul.Durrant@citrix.com>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Thread-Topic: [PATCH] Xenvbd Refactoring
Thread-Index: AQHSzZNSmC0EnhQlf0CuTMrPBsBFfqH6XV4QgBLFhcCAAQ5kgg==
Date: Wed, 31 May 2017 08:16:33 +0000
Message-ID: <62e123b996f4451abf8e35dac74ab5e3@AMSPEX02CL02.citrite.net>
References: <55f4425abd93461a87562f43e7c9e9f2@AMSPEX02CL02.citrite.net>
 <13c11861f15e472fa12bbb3dfab15857@AMSPEX02CL03.citrite.net>,
 <ce81bd20cb524f629b06f32810eae7e8@AMSPEX02CL03.citrite.net>
In-Reply-To: <ce81bd20cb524f629b06f32810eae7e8@AMSPEX02CL03.citrite.net>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: Re: [win-pv-devel] [PATCH] Xenvbd Refactoring
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/cgi-bin/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/cgi-bin/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5797863783365942236=="
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>

--===============5797863783365942236==
Content-Language: en-GB
Content-Type: multipart/alternative;
	boundary="_000_62e123b996f4451abf8e35dac74ab5e3AMSPEX02CL02citritenet_"

--_000_62e123b996f4451abf8e35dac74ab5e3AMSPEX02CL02citritenet_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

I=92ll rebase to the tip of master and build a v2 series =96 I=92ll pull so=
me of the later patches with useful overrides earlier in the series.

Owen

From: Paul Durrant<mailto:Paul.Durrant@citrix.com>
Sent: 30 May 2017 17:11
To: Paul Durrant<mailto:Paul.Durrant@citrix.com>; Owen Smith<mailto:owen.sm=
ith@citrix.com>; win-pv-devel@lists.xenproject.org<mailto:win-pv-devel@list=
s.xenproject.org>
Subject: RE: [PATCH] Xenvbd Refactoring

I=92ve taken the first four patches of the series, since they are largely c=
osmetic AFAICT, and I see no adverse effects in testing.

  Paul

From: win-pv-devel [mailto:win-pv-devel-bounces@lists.xenproject.org] On Be=
half Of Paul Durrant
Sent: 18 May 2017 18:37
To: Owen Smith <owen.smith@citrix.com>; win-pv-devel@lists.xenproject.org
Subject: Re: [win-pv-devel] [PATCH] Xenvbd Refactoring

A quick=92n=92dirty check using a checked build on a recent Windows 10 64-b=
it is giving me odd results=85

With a queue depth of 1 I=92m seeing ~6k IOPS without the patches and ~18k =
with, which is clearly good. But, with a queue depth of 32, I see ~46k IOPS=
 without the patches but ~20k with. That=92s a pretty substantial fall-off =
so I think more work is needed before all of these can go into master.

Cheers,

  Paul


From: win-pv-devel [mailto:win-pv-devel-bounces@lists.xenproject.org] On Be=
half Of Owen Smith
Sent: 15 May 2017 16:53
To: win-pv-devel@lists.xenproject.org<mailto:win-pv-devel@lists.xenproject.=
org>
Subject: [win-pv-devel] [PATCH] Xenvbd Refactoring

It seems I=92ve experienced some mail delivery failures trying to send a 26=
 patch series.
Rather than resend the series, I=92ve put a branch up to examine.

Original [00/26] Summary:

All patches should be taken together.
In an attempt to improve maintainability and code readability, refactor
xenvbd.
This patch series also moves the SRB queueing responsibility to storport,
by preparing blkif requests during BuildIo and appending blkif requests to
a pending queue for the ring during StartIo. This should allow a reduction
in processing during the DPC (as the DPC will only complete blkif responses=
,
and the corresponding SRB, and submit blkif requests) and take advantage of
BuildIo's concurrent calls.

Tested with HLK-1703 on Windows 10 x64 (build 15063.rs2_release.170317-1834=
)
All tests (including non-WHQL tests) passed

IoMeter results compared to previous xenvbd and emulated on single socket
Xeon X3450 @ 2.6GHz (guest has 2 vCPUs), with 8GB RAM (guest has 4GB, 1GB r=
amfs)
(1 worker, queue-depth 32, 5 minutes, 4KB 20% read, 80% random, 128KB-align=
ed)
Tested, StorageBacking, IOPs
Emulated, HDD, 726.75
Emulated, RAM, 695.93
XenVbd 8.2, HDD, 525.52
XenVbd 8.2, RAM, 4330.51
ThesePatches, HDD, 2475.23
ThesePatches, RAM, 3619.06
Note: There was a large ammount of variance in all the results during rerun=
s,
with an approximate 10-20% variance in the same setups. Tests with PV drive=
rs
backed by RAM were maxing guest CPU utilization.

Owen Smith (26):
  Rename Fdo -> Adapter Remove Adapter reference counts
  Rename Pdo -> Target
  Tidy up Driver.h/.c
  Refactor Adapter.c
  Pass PXENVBD_SRBEXT, not PSCSI_REQUEST_BLOCK
  Refactor target.c
  Move ScatterGather list iteration to adapter.c
  Rename SrbExt::Srb to OriginalReq
  Move non-queue-srb handling to BuildIo
  Add override to disable specific features
  Prepare requests in BuildIo
  Move SrbExt cleanup into inline function
  Query for Cache Interface
  Use CACHE interface instead of lookaside lists
  Fix Indirect requests
  Move BlockRingPoll inline
  Move Prepared/Submitted to BlockRing
  Refactor Inquiry 0x83 handler
  Remove TargetQueueSrb, fold into caller
  Set Queue Depth, some minor fixes
  Add overrides for MaxTransferLength and MaxPhysicalBreaks
  Rename Prepared to Queued
  Track Queued/Submitted/Completed counts
  Read overrides at start of day
  Fix discard debug statements
  Add override for ring size

src/xenvbd/adapter.c         | 2163 +++++++++++++++++++++++++++++
src/xenvbd/adapter.h         |  128 ++
src/xenvbd/blockring.c       | 1040 +++++++++-----
src/xenvbd/blockring.h       |   44 +-
src/xenvbd/driver.c          |  480 ++-----
src/xenvbd/driver.h          |   73 +-
src/xenvbd/fdo.c             | 2206 ------------------------------
src/xenvbd/fdo.h             |  179 ---
src/xenvbd/frontend.c        | 1771 ------------------------
src/xenvbd/frontend.h        |  195 ---
src/xenvbd/granter.c         |  198 +--
src/xenvbd/granter.h         |   48 +-
src/xenvbd/notifier.c        |  335 -----
src/xenvbd/notifier.h        |  101 --
src/xenvbd/pdo.c             | 2732 -------------------------------------
src/xenvbd/pdo.h             |  229 ----
src/xenvbd/pdoinquiry.c      |  554 --------
src/xenvbd/pdoinquiry.h      |   65 -
src/xenvbd/queue.c           |  139 --
src/xenvbd/queue.h           |   86 --
src/xenvbd/srbext.h          |   85 +-
src/xenvbd/target.c          | 3100 +++++++++++++++++++++++++++++++++++++++=
+++
src/xenvbd/target.h          |  152 +++
vs2012/xenvbd/xenvbd.vcxproj |    8 +-
vs2013/xenvbd/xenvbd.vcxproj |    8 +-
vs2015/xenvbd/xenvbd.vcxproj |    8 +-
26 files changed, 6606 insertions(+), 9521 deletions(-)
create mode 100644 src/xenvbd/adapter.c
create mode 100644 src/xenvbd/adapter.h
delete mode 100644 src/xenvbd/fdo.c
delete mode 100644 src/xenvbd/fdo.h
delete mode 100644 src/xenvbd/frontend.c
delete mode 100644 src/xenvbd/frontend.h
delete mode 100644 src/xenvbd/notifier.c
delete mode 100644 src/xenvbd/notifier.h
delete mode 100644 src/xenvbd/pdo.c
delete mode 100644 src/xenvbd/pdo.h
delete mode 100644 src/xenvbd/pdoinquiry.c
delete mode 100644 src/xenvbd/pdoinquiry.h
delete mode 100644 src/xenvbd/queue.c
delete mode 100644 src/xenvbd/queue.h
create mode 100644 src/xenvbd/target.c
create mode 100644 src/xenvbd/target.h

--
2.8.3

A branch showing the patches is available at:
https://github.com/OwenSmith/xenvbd/tree/experiment

--_000_62e123b996f4451abf8e35dac74ab5e3AMSPEX02CL02citritenet_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DWindows-1=
252">
<meta content=3D"text/html; charset=3Dutf-8">
<meta name=3D"ProgId" content=3D"Word.Document">
<meta name=3D"Generator" content=3D"Microsoft Word 15">
<meta name=3D"Originator" content=3D"Microsoft Word 15">
<link rel=3D"File-List" href=3D"cid:filelist.xml@01D2D967.C4F0F3F0"><style>
<!--
@font-face
	{font-family:"Cambria Math"}
@font-face
	{font-family:Calibri}
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif}
a:link, span.MsoHyperlink
	{color:#0563C1;
	text-decoration:underline}
a:visited, span.MsoHyperlinkFollowed
	{color:#954F72;
	text-decoration:underline}
p.msonormal0, li.msonormal0, div.msonormal0
	{margin-right:0cm;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"Times New Roman",serif}
span.EmailStyle18
	{font-family:"Calibri",sans-serif;
	color:#1F497D}
span.EmailStyle19
	{font-family:"Calibri",sans-serif;
	color:#1F497D}
.MsoChpDefault
	{font-size:10.0pt}
@page WordSection1
	{margin:72.0pt 72.0pt 72.0pt 72.0pt}
div.WordSection1
	{}
-->
</style>
</head>
<body lang=3D"EN-GB" link=3D"#0563C1" vlink=3D"#954F72" style=3D"">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style>
<!--
@font-face
	{font-family:"Cambria Math"}
@font-face
	{font-family:Calibri}
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline}
a:visited, span.MsoHyperlinkFollowed
	{color:#954F72;
	text-decoration:underline}
.MsoChpDefault
	{}
@page WordSection1
	{margin:72.0pt 72.0pt 72.0pt 72.0pt}
div.WordSection1
	{}
-->
</style>
<div class=3D"WordSection1">
<p class=3D"MsoNormal">I=92ll rebase to the tip of master and build a v2 se=
ries =96 I=92ll pull some of the later patches with useful overrides earlie=
r in the series.</p>
<p class=3D"MsoNormal">&nbsp;</p>
<p class=3D"MsoNormal">Owen</p>
<p class=3D"MsoNormal">&nbsp;</p>
<div style=3D"border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0c=
m 0cm 0cm">
<p class=3D"MsoNormal" style=3D"border:none; padding:0cm"><b>From: </b><a h=
ref=3D"mailto:Paul.Durrant@citrix.com">Paul Durrant</a><br>
<b>Sent: </b>30 May 2017 17:11<br>
<b>To: </b><a href=3D"mailto:Paul.Durrant@citrix.com">Paul Durrant</a>; <a =
href=3D"mailto:owen.smith@citrix.com">
Owen Smith</a>; <a href=3D"mailto:win-pv-devel@lists.xenproject.org">win-pv=
-devel@lists.xenproject.org</a><br>
<b>Subject: </b>RE: [PATCH] Xenvbd Refactoring</p>
</div>
<p class=3D"MsoNormal">&nbsp;</p>
</div>
<div>
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span style=3D"font-size:11.0pt; color:#1F497D">I=92ve taken the first four=
 patches of the series, since they are largely cosmetic AFAICT, and I see n=
o adverse effects in testing.</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span style=3D"font-size:11.0pt; color:#1F497D">&nbsp;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span style=3D"font-size:11.0pt; color:#1F497D"><span style=3D"">&nbsp;
</span>Paul</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span style=3D"font-size:11.0pt; color:#1F497D">&nbsp;</span></font></p>
<div style=3D"border:none; border-left:solid blue 1.5pt; padding:0cm 0cm 0c=
m 4.0pt">
<div>
<div style=3D"border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0c=
m 0cm 0cm">
<p class=3D"MsoNormal"><b><font size=3D"2" face=3D"Calibri"><span lang=3D"E=
N-US" style=3D"font-size:11.0pt; font-weight:bold">From:</span></font></b><=
span lang=3D"EN-US" style=3D""> win-pv-devel [mailto:win-pv-devel-bounces@l=
ists.xenproject.org]
<b><span style=3D"font-weight:bold">On Behalf Of </span></b>Paul Durrant<br=
>
<b><span style=3D"font-weight:bold">Sent:</span></b> 18 May 2017 18:37<br>
<b><span style=3D"font-weight:bold">To:</span></b> Owen Smith &lt;owen.smit=
h@citrix.com&gt;; win-pv-devel@lists.xenproject.org<br>
<b><span style=3D"font-weight:bold">Subject:</span></b> Re: [win-pv-devel] =
[PATCH] Xenvbd Refactoring</span></p>
</div>
</div>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span style=3D"font-size:11.0pt; color:#1F497D">A quick=92n=92dirty check u=
sing a checked build on a recent Windows 10 64-bit is giving me odd results=
=85</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span style=3D"font-size:11.0pt; color:#1F497D">&nbsp;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span style=3D"font-size:11.0pt; color:#1F497D">With a queue depth of 1 I=
=92m seeing ~6k IOPS without the patches and ~18k with, which is clearly go=
od. But, with a queue depth of 32, I see ~46k
 IOPS without the patches but ~20k with. That=92s a pretty substantial fall=
-off so I think more work is needed before all of these can go into master.=
</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span style=3D"font-size:11.0pt; color:#1F497D">&nbsp;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span style=3D"font-size:11.0pt; color:#1F497D">Cheers,</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span style=3D"font-size:11.0pt; color:#1F497D">&nbsp;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span style=3D"font-size:11.0pt; color:#1F497D"><span style=3D"">&nbsp;
</span>Paul</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span style=3D"font-size:11.0pt; color:#1F497D">&nbsp;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" color=3D"#1f497d" face=3D"Calibri">=
<span style=3D"font-size:11.0pt; color:#1F497D">&nbsp;</span></font></p>
<div style=3D"border:none; border-left:solid blue 1.5pt; padding:0cm 0cm 0c=
m 4.0pt">
<div>
<div style=3D"border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0c=
m 0cm 0cm">
<p class=3D"MsoNormal" style=3D""><b><font size=3D"2" face=3D"Calibri"><spa=
n lang=3D"EN-US" style=3D"font-size:11.0pt; font-weight:bold">From:</span><=
/font></b><span lang=3D"EN-US" style=3D""> win-pv-devel [<a href=3D"mailto:=
win-pv-devel-bounces@lists.xenproject.org">mailto:win-pv-devel-bounces@list=
s.xenproject.org</a>]
<b><span style=3D"font-weight:bold">On Behalf Of </span></b>Owen Smith<br>
<b><span style=3D"font-weight:bold">Sent:</span></b> 15 May 2017 16:53<br>
<b><span style=3D"font-weight:bold">To:</span></b> <a href=3D"mailto:win-pv=
-devel@lists.xenproject.org">
win-pv-devel@lists.xenproject.org</a><br>
<b><span style=3D"font-weight:bold">Subject:</span></b> [win-pv-devel] [PAT=
CH] Xenvbd Refactoring</span></p>
</div>
</div>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">It seems I=92ve experienced some mail delivery failures tryi=
ng to send a 26 patch series.</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">Rather than resend the series, I=92ve put a branch up to exa=
mine.</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">Original [00/26] Summary:</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">All patches should be taken together.</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">In an attempt to improve maintainability and code readabilit=
y, refactor</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">xenvbd.</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">This patch series also moves the SRB queueing responsibility=
 to storport,</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">by preparing blkif requests during BuildIo and appending blk=
if requests to</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">a pending queue for the ring during StartIo. This should all=
ow a reduction</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">in processing during the DPC (as the DPC will only complete =
blkif responses,</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">and the corresponding SRB, and submit blkif requests) and ta=
ke advantage of</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">BuildIo's concurrent calls.</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">Tested with HLK-1703 on Windows 10 x64 (build 15063.rs2_rele=
ase.170317-1834)</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">All tests (including non-WHQL tests) passed</span></font></p=
>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">IoMeter results compared to previous xenvbd and emulated on =
single socket
</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">Xeon X3450 @ 2.6GHz (guest has 2 vCPUs), with 8GB RAM (guest=
 has 4GB, 1GB ramfs)</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">(1 worker, queue-depth 32, 5 minutes, 4KB 20% read, 80% rand=
om, 128KB-aligned)</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">Tested, StorageBacking, IOPs</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">Emulated, HDD, 726.75</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">Emulated, RAM, 695.93</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">XenVbd 8.2, HDD, 525.52</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">XenVbd 8.2, RAM, 4330.51</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">ThesePatches, HDD, 2475.23</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">ThesePatches, RAM, 3619.06</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">Note: There was a large ammount of variance in all the resul=
ts during reruns,</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">with an approximate 10-20% variance in the same setups. Test=
s with PV drivers</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">backed by RAM were maxing guest CPU utilization.</span></fon=
t></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">Owen Smith (26):</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Rename Fdo -&gt; Adapter Remove Adapter reference cou=
nts</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Rename Pdo -&gt; Target</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Tidy up Driver.h/.c</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Refactor Adapter.c</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Pass PXENVBD_SRBEXT, not PSCSI_REQUEST_BLOCK</span></=
font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Refactor target.c</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Move ScatterGather list iteration to adapter.c</span>=
</font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Rename SrbExt::Srb to OriginalReq</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Move non-queue-srb handling to BuildIo</span></font><=
/p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Add override to disable specific features</span></fon=
t></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Prepare requests in BuildIo</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Move SrbExt cleanup into inline function</span></font=
></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Query for Cache Interface</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Use CACHE interface instead of lookaside lists</span>=
</font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Fix Indirect requests</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Move BlockRingPoll inline</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Move Prepared/Submitted to BlockRing</span></font></p=
>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Refactor Inquiry 0x83 handler</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Remove TargetQueueSrb, fold into caller</span></font>=
</p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Set Queue Depth, some minor fixes</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Add overrides for MaxTransferLength and MaxPhysicalBr=
eaks</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Rename Prepared to Queued</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Track Queued/Submitted/Completed counts</span></font>=
</p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Read overrides at start of day</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Fix discard debug statements</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp; Add override for ring size</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/adapter.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp; | 2163 &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43=
;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43=
;&#43;&#43;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/adapter.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp; |&nbsp; 128 &#43;&#43;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/blockring.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |=
 1040 &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;-----</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/blockring.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |=
&nbsp;&nbsp; 44 &#43;-</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/driver.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; |&nbsp; 480 &#43;&#43;-----</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/driver.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; |&nbsp;&nbsp; 73 &#43;-</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/fdo.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; | 2206 ------------------------------</span></=
font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/fdo.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; 179 ---</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/frontend.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp; | 1771 ------------------------</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/frontend.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp; |&nbsp; 195 ---</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/granter.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp; |&nbsp; 198 &#43;--</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/granter.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp; |&nbsp;&nbsp; 48 &#43;-</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/notifier.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp; |&nbsp; 335 -----</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/notifier.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp; |&nbsp; 101 --</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/pdo.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; | 2732 -------------------------------------</=
span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/pdo.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; 229 ----</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/pdoinquiry.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp=
; 554 --------</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/pdoinquiry.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp=
;&nbsp; 65 -</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/queue.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp; |&nbsp; 139 --</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/queue.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp; 86 --</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/srbext.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; |&nbsp;&nbsp; 85 &#43;-</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/target.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; | 3100 &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43=
;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43=
;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43=
;&#43;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">src/xenvbd/target.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; |&nbsp; 152 &#43;&#43;&#43;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">vs2012/xenvbd/xenvbd.vcxproj |&nbsp;&nbsp;&nbsp; 8 &#43;-</s=
pan></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">vs2013/xenvbd/xenvbd.vcxproj |&nbsp;&nbsp;&nbsp; 8 &#43;-</s=
pan></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">vs2015/xenvbd/xenvbd.vcxproj |&nbsp;&nbsp;&nbsp; 8 &#43;-</s=
pan></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">26 files changed, 6606 insertions(&#43;), 9521 deletions(-)<=
/span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">create mode 100644 src/xenvbd/adapter.c</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">create mode 100644 src/xenvbd/adapter.h</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">delete mode 100644 src/xenvbd/fdo.c</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">delete mode 100644 src/xenvbd/fdo.h</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">delete mode 100644 src/xenvbd/frontend.c</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">delete mode 100644 src/xenvbd/frontend.h</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">delete mode 100644 src/xenvbd/notifier.c</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">delete mode 100644 src/xenvbd/notifier.h</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">delete mode 100644 src/xenvbd/pdo.c</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">delete mode 100644 src/xenvbd/pdo.h</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">delete mode 100644 src/xenvbd/pdoinquiry.c</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">delete mode 100644 src/xenvbd/pdoinquiry.h</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">delete mode 100644 src/xenvbd/queue.c</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">delete mode 100644 src/xenvbd/queue.h</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">create mode 100644 src/xenvbd/target.c</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">create mode 100644 src/xenvbd/target.h</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">--
</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">2.8.3</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">&nbsp;</span></font></p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt">A branch showing the patches is available at:</span></font><=
/p>
<p class=3D"MsoNormal"><font size=3D"2" face=3D"Calibri"><span style=3D"fon=
t-size:11.0pt"><a href=3D"https://github.com/OwenSmith/xenvbd/tree/experime=
nt">https://github.com/OwenSmith/xenvbd/tree/experiment</a></span></font></=
p>
</div>
</div>
</div>
</div>
</body>
</html>

--_000_62e123b996f4451abf8e35dac74ab5e3AMSPEX02CL02citritenet_--


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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

--===============5797863783365942236==--


From win-pv-devel-bounces@lists.xenproject.org Wed May 31 10:56:27 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 May 2017 10:56:27 +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 1dG1If-0005S8-Qv; Wed, 31 May 2017 10:56:25 +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 1dG1Ie-0005S0-J0
 for win-pv-devel@lists.xenproject.org; Wed, 31 May 2017 10:56:24 +0000
Date: Wed, 31 May 2017 10:56:23 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <8399753.19.1496228183667.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
In-Reply-To: <22890470.15.1496174934687.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
References: <22890470.15.1496174934687.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_18_32848186.1496228183667"
X-Jenkins-Job: XENVBD-master
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENVBD-master - Build #96 - Fixed
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/cgi-bin/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/cgi-bin/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_32848186.1496228183667
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/XENVBD-master/96/console to view the results.
------=_Part_18_32848186.1496228183667
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_18_32848186.1496228183667--


From win-pv-devel-bounces@lists.xenproject.org Wed May 31 13:38:02 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 May 2017 13:38: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 1dG3p2-0003qh-PP; Wed, 31 May 2017 13:38:00 +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 1dG3p2-0003qX-7d
 for win-pv-devel@lists.xenproject.org; Wed, 31 May 2017 13:38:00 +0000
Date: Wed, 31 May 2017 13:37:59 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <27288112.21.1496237879235.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_20_18593799.1496237879235"
X-Jenkins-Job: XENBUS-8.2
X-Jenkins-Result: ABORTED
Subject: [win-pv-devel] XENBUS-8.2 - Build #5 - Aborted
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/cgi-bin/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/cgi-bin/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_18593799.1496237879235
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/XENBUS-8.2/5/console to view the results.
------=_Part_20_18593799.1496237879235
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_20_18593799.1496237879235--


From win-pv-devel-bounces@lists.xenproject.org Wed May 31 13:47:37 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 May 2017 13:47: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 1dG3yK-0004QZ-GL; Wed, 31 May 2017 13:47:36 +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 1dG3yJ-0004QT-Ck
 for win-pv-devel@lists.xenproject.org; Wed, 31 May 2017 13:47:35 +0000
Date: Wed, 31 May 2017 13:47:34 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <21192112.23.1496238454735.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_22_12942287.1496238454735"
X-Jenkins-Job: XENVIF-8.2
X-Jenkins-Result: ABORTED
Subject: [win-pv-devel] XENVIF-8.2 - Build #7 - Aborted
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/cgi-bin/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/cgi-bin/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_12942287.1496238454735
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/XENVIF-8.2/7/console to view the results.
------=_Part_22_12942287.1496238454735
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_22_12942287.1496238454735--


From win-pv-devel-bounces@lists.xenproject.org Wed May 31 16:04:28 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 May 2017 16:04: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 1dG66l-0006L4-J7; Wed, 31 May 2017 16:04:27 +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 1dG66k-0006Ky-8T
 for win-pv-devel@lists.xenproject.org; Wed, 31 May 2017 16:04:26 +0000
Date: Wed, 31 May 2017 16:04:25 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <33022319.25.1496246665661.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_24_15171035.1496246665661"
X-Jenkins-Job: XENVIF-master
X-Jenkins-Result: ABORTED
Subject: [win-pv-devel] XENVIF-master - Build #143 - Aborted
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/cgi-bin/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/cgi-bin/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_15171035.1496246665661
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #143.

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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_24_15171035.1496246665661--


From win-pv-devel-bounces@lists.xenproject.org Wed May 31 16:04:35 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 May 2017 16:04: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 1dG66t-0006Lg-KM; Wed, 31 May 2017 16:04: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 1dG66s-0006LN-QD
 for win-pv-devel@lists.xenproject.org; Wed, 31 May 2017 16:04:34 +0000
Date: Wed, 31 May 2017 16:04:34 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <30325973.27.1496246674411.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
In-Reply-To: <21192112.23.1496238454735.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
References: <21192112.23.1496238454735.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_26_17756285.1496246674396"
X-Jenkins-Job: XENVIF-8.2
X-Jenkins-Result: ABORTED
Subject: [win-pv-devel] XENVIF-8.2 - Build #8 - Aborted
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/cgi-bin/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/cgi-bin/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_26_17756285.1496246674396
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/XENVIF-8.2/8/console to view the results.
------=_Part_26_17756285.1496246674396
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_26_17756285.1496246674396--


From win-pv-devel-bounces@lists.xenproject.org Wed May 31 16:14:50 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 May 2017 16:14: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 1dG6Go-0006xS-DZ; Wed, 31 May 2017 16:14:50 +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 1dG6Gn-0006wd-Eu
 for win-pv-devel@lists.xenproject.org; Wed, 31 May 2017 16:14:49 +0000
Date: Wed, 31 May 2017 16:14:48 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <30146494.29.1496247288958.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
In-Reply-To: <30325973.27.1496246674411.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
References: <30325973.27.1496246674411.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_28_18826375.1496247288958"
X-Jenkins-Job: XENVIF-8.2
X-Jenkins-Result: FAILURE
Subject: [win-pv-devel] XENVIF-8.2 - Build #9 - Failure
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/cgi-bin/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/cgi-bin/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_28_18826375.1496247288958
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/XENVIF-8.2/9/console to view the results.
------=_Part_28_18826375.1496247288958
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_28_18826375.1496247288958--


From win-pv-devel-bounces@lists.xenproject.org Wed May 31 16:33:39 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 May 2017 16:33: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 1dG6Z1-0008FI-53; Wed, 31 May 2017 16:33:39 +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 1dG6Yz-0008FC-T4
 for win-pv-devel@lists.xenproject.org; Wed, 31 May 2017 16:33:37 +0000
Date: Wed, 31 May 2017 16:33:37 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <5241039.31.1496248417318.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_30_19306726.1496248417303"
X-Jenkins-Job: XENNET-8.2
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENNET-8.2 - 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/cgi-bin/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/cgi-bin/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_30_19306726.1496248417303
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/XENNET-8.2/7/console to view the results.
------=_Part_30_19306726.1496248417303
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_30_19306726.1496248417303--


From win-pv-devel-bounces@lists.xenproject.org Wed May 31 16:47:08 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 May 2017 16:47: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 1dG6m4-0000Zg-CY; Wed, 31 May 2017 16:47:08 +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 1dG6m3-0000ZU-Er
 for win-pv-devel@lists.xenproject.org; Wed, 31 May 2017 16:47:07 +0000
Date: Wed, 31 May 2017 16:47:06 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <1820773.33.1496249226741.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_32_28202042.1496249226741"
X-Jenkins-Job: XENIFACE-8.2
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENIFACE-8.2 - 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/cgi-bin/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/cgi-bin/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_32_28202042.1496249226741
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/XENIFACE-8.2/5/console to view the results.
------=_Part_32_28202042.1496249226741
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_32_28202042.1496249226741--


From win-pv-devel-bounces@lists.xenproject.org Wed May 31 17:16:42 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 May 2017 17: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 1dG7Ee-0002Sl-EP; Wed, 31 May 2017 17:16: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 1dG7Ee-0002Sf-50
 for win-pv-devel@lists.xenproject.org; Wed, 31 May 2017 17:16:40 +0000
Date: Wed, 31 May 2017 17:16:39 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <25096962.35.1496250999616.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_34_3543205.1496250999616"
X-Jenkins-Job: XENVBD-8.2
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENVBD-8.2 - 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/cgi-bin/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/cgi-bin/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_34_3543205.1496250999616
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/XENVBD-8.2/10/console to view the results.
------=_Part_34_3543205.1496250999616
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_34_3543205.1496250999616--


From win-pv-devel-bounces@lists.xenproject.org Wed May 31 19:12:59 2017
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 May 2017 19:12: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 1dG93A-0002b8-Th; Wed, 31 May 2017 19:12:56 +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 1dG939-0002ay-NI
 for win-pv-devel@lists.xenproject.org; Wed, 31 May 2017 19:12:55 +0000
Date: Wed, 31 May 2017 19:12:55 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <17296040.37.1496257975230.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
In-Reply-To: <27288112.21.1496237879235.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
References: <27288112.21.1496237879235.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_36_21448953.1496257975230"
X-Jenkins-Job: XENBUS-8.2
X-Jenkins-Result: SUCCESS
Subject: [win-pv-devel] XENBUS-8.2 - 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/cgi-bin/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/cgi-bin/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_36_21448953.1496257975230
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/XENBUS-8.2/6/console to view the results.
------=_Part_36_21448953.1496257975230
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kd2luLXB2LWRl
dmVsIG1haWxpbmcgbGlzdAp3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vd2luLXB2LWRl
dmVs

------=_Part_36_21448953.1496257975230--


