<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>115990</bug_id>
          
          <creation_ts>2013-05-12 11:04:00 -0700</creation_ts>
          <short_desc>REGRESSION(r149955): Broke lots of tests (Requested by smfr on #webkit).</short_desc>
          <delta_ts>2013-05-12 11:11:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>115977</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>887975</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-12 11:04:00 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/149955 broke the build:
Broke lots of tests (Requested by smfr on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887977</commentid>
    <comment_count>1</comment_count>
      <attachid>201497</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-12 11:04:23 -0700</bug_when>
    <thetext>Created attachment 201497
ROLLOUT of r149955

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887980</commentid>
    <comment_count>2</comment_count>
      <attachid>201497</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-12 11:11:51 -0700</bug_when>
    <thetext>Comment on attachment 201497
ROLLOUT of r149955

Clearing flags on attachment: 201497

Committed r149967: &lt;http://trac.webkit.org/changeset/149967&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887981</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-12 11:11:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201497</attachid>
            <date>2013-05-12 11:04:23 -0700</date>
            <delta_ts>2013-05-12 11:11:51 -0700</delta_ts>
            <desc>ROLLOUT of r149955</desc>
            <filename>bug-115990-20130512110323.patch</filename>
            <type>text/plain</type>
            <size>143083</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5OTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGY1MGVkODJhOWVmY2Q0
ZmMzN2JlMmYxZjI2OWY2MjM5ODljZTQxOC4uZjA1YWQ4MGVhNTU5NDEwZWRiMzhlNjA3YmNmZTFh
MjM1MTgzZGEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwNiBAQAorMjAxMy0wNS0xMiAgQ29t
bWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjE0OTk1NS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9j
aGFuZ2VzZXQvMTQ5OTU1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTU5OTAKKworICAgICAgICBCcm9rZSBsb3RzIG9mIHRlc3RzIChSZXF1ZXN0ZWQg
Ynkgc21mciBvbiAjd2Via2l0KS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAg
ICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL0lubGlu
ZVRleHRCb3guaDoKKyAgICAgICAgKElubGluZVRleHRCb3gpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJBcHBsZXQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQlIuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKFJlbmRlckJsb2NrKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp2aXJ0dWFsQ29udGludWF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp2aXJ0dWFsQ2hpbGRyZW4pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2s6OmlzUmVuZGVyQmxvY2spOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2s6OmlzQmxvY2tGbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpp
c0lubGluZUJsb2NrT3JJbmxpbmVUYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6ZGlydHlMaW5lc0Zyb21DaGFuZ2VkQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OmNvbGxhcHNlZE1hcmdpbkJlZm9yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6Y29sbGFwc2VkTWFyZ2luQWZ0ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
b3guaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Ym9yZGVyQm91bmRpbmdCb3gpOgor
ICAgICAgICAoUmVuZGVyQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bWFyZ2lu
TG9naWNhbExlZnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjptYXJnaW5Mb2dpY2Fs
UmlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OmlzQm94TW9kZWxPYmplY3QpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCdXR0b24uaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyQ29tYmluZVRleHQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQ291bnRlci5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5oOgorICAgICAgICAoUmVuZGVyRW1iZWRkZWRPYmpl
Y3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRW1iZWRkZWRPYmplY3Q6OmlzRW1iZWRkZWRP
YmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRW1iZWRkZWRPYmplY3Q6OnZpcnR1YWxD
aGlsZHJlbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZpZWxkc2V0Lmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dU
aHJlYWQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRnJhbWUuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRnVs
bFNjcmVlbi5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyR3JpZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJIVE1MQ2FudmFzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklGcmFtZS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5oOgorICAgICAgICAoUmVuZGVySW1hZ2UpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OmlzUmVuZGVySW1hZ2UpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJJbmxpbmUuaDoKKyAgICAgICAgKFJlbmRlcklubGluZSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnZpcnR1YWxDb250aW51YXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjp2aXJ0dWFsQ2hpbGRyZW4pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVySW5saW5lOjppc1JlbmRlcklubGluZSk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbmxpbmU6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnJl
cXVpcmVzTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjpvZmZzZXRXaWR0
aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6Om9mZnNldEhlaWdodCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OmJvcmRlckJvdW5kaW5nQm94KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlcklubGluZTo6ZGlydHlMaW5lc0Zyb21DaGFuZ2VkQ2hpbGQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0Lmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxpc3RCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEl0
ZW0uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJNZWRpYS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVkaWE6
OnZpcnR1YWxDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZWRpYTo6Y2FuSGF2
ZUNoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lZGlhOjppc01lZGlhKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck1lZGlhOjppc0ltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlck1lZGlhOjpyZXF1aXJlc0ZvcmNlZFN0eWxlUmVjYWxjUHJvcGFnYXRpb24pOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xFbGVtZW50cy5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJN
ZXRlci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkJsb2NrLmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUGFy
dC5oOgorICAgICAgICAoUmVuZGVyUGFydCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQYXJ0
Ojppc1JlbmRlclBhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUGFydDo6cmVuZGVyTmFt
ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclJlZ2lvbi5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVnaW9uOjpp
c1JlbmRlclJlZ2lvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlZ2lvblNldC5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oOgorICAgICAgICAoUmVuZGVyUmVw
bGFjZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVwbGFjZWQ6OnJlbmRlck5hbWUpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsaWNhLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclJ1YnkuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUnVieUJhc2UuaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUnVieVJ1bi5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJSdWJ5VGV4dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclNsaWRlci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTbmFw
c2hvdHRlZFBsdWdJbi5oOgorICAgICAgICAoUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4pOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5oOgorICAgICAgICAoUmVuZGVyVGFibGUpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGU6OnJlbmRlck5hbWUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGFibGU6OmlzVGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFi
bGU6OmF2b2lkc0Zsb2F0cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2FwdGlv
bi5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFi
bGVSb3cuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclRleHQuaDoKKyAgICAgICAgKFJlbmRlclRleHQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6bWFyZ2luTGVmdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUZXh0OjptYXJnaW5SaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0
OjpzdHlsZVdpbGxDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6bGVuZ3Ro
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OnBhaW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRleHQ6OmxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRD
b250cm9sLmg6CisgICAgICAgIChSZW5kZXJUZXh0Q29udHJvbCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUZXh0Q29udHJvbDo6cmVuZGVyTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUZXh0Q29udHJvbDo6aXNUZXh0Q29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
ZXh0Q29udHJvbDo6YXZvaWRzRmxvYXRzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2xNdWx0aUxpbmUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRy
b2xTaW5nbGVMaW5lLmg6CisgICAgICAgIChSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjppc1RleHRGaWVs
ZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRGcmFnbWVudC5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUZXh0VHJhY2tDdWUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVmlkZW8uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuaDoKKyAgICAgICAgKFJlbmRlcldpZGdldCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJXaWRnZXQ6OmlzV2lkZ2V0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyV29yZEJyZWFrLmg6CisgICAgICAgICogcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3gu
aDoKKyAgICAgICAgKFJvb3RJbmxpbmVCb3gpOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MQmxvY2suaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Js
b2NrLmg6CisgICAgICAgIChSZW5kZXJTVkdCbG9jayk6CisgICAgICAgICogcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdDb250YWluZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0NvbnRh
aW5lcjo6c2V0TmVlZHNCb3VuZGFyaWVzVXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNWR0NvbnRhaW5lcjo6dmlydHVhbENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNWR0NvbnRhaW5lcjo6aXNTVkdDb250YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHQ29udGFpbmVyOjpyZW5kZXJOYW1lKToKKyAgICAgICAgKFJlbmRlclNWR0NvbnRhaW5lcik6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdDb250YWluZXI6Om9iamVjdEJvdW5kaW5nQm94
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0NvbnRhaW5lcjo6c3Ryb2tlQm91bmRpbmdC
b3gpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHQ29udGFpbmVyOjpyZXBhaW50UmVjdElu
TG9jYWxDb29yZGluYXRlcyk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdFbGxp
cHNlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdGb3JlaWduT2JqZWN0Lmg6
CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdHcmFkaWVudFN0b3AuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyOjpyZW5kZXJOYW1lKToKKyAgICAgICAg
KFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdI
aWRkZW5Db250YWluZXI6OmlzU1ZHSGlkZGVuQ29udGFpbmVyKToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR0ltYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdJbmxpbmUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0lubGluZTo6cmVuZGVyTmFt
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdJbmxpbmU6OnJlcXVpcmVzTGF5ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHSW5saW5lOjppc1NWR0lubGluZSk6CisgICAgICAg
IChSZW5kZXJTVkdJbmxpbmUpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5s
aW5lVGV4dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxPYmplY3Qu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR01vZGVsT2JqZWN0OjpyZXF1aXJlc0xheWVy
KToKKyAgICAgICAgKFJlbmRlclNWR01vZGVsT2JqZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1BhdGguaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jl
Y3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5o
OgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaDoK
KyAgICAgICAgKFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOjppc1NWR1Jlc291cmNlQ29udGFpbmVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOjp0b1JlbmRlclNWR1Jl
c291cmNlQ29udGFpbmVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291
cmNlRmlsdGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZp
bHRlclByaW1pdGl2ZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VHcmFkaWVudC5oOgorICAgICAgICAoUmVuZGVyU1ZHUmVzb3VyY2VHcmFkaWVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50OjpyZXNvdXJjZUJvdW5kaW5n
Qm94KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTGluZWFyR3Jh
ZGllbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFya2Vy
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50Lmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290Lmg6CisgICAgICAgICogcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHU2hh
cGU6OnNldE5lZWRzQm91bmRhcmllc1VwZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
VkdTaGFwZTo6c2V0TmVlZHNUcmFuc2Zvcm1VcGRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU1ZHU2hhcGU6OnJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1NoYXBlOjpsb2NhbFRvUGFyZW50VHJhbnNmb3JtKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNWR1NoYXBlOjpsb2NhbFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTVkdTaGFwZTo6aXNTVkdTaGFwZSk6CisgICAgICAgIChSZW5kZXJTVkdTaGFw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdTaGFwZTo6b2JqZWN0Qm91bmRpbmdCb3gp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHU2hhcGU6OnN0cm9rZUJvdW5kaW5nQm94KToK
KyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1RTcGFuLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdUZXh0UGF0aC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVHJhbnNm
b3JtYWJsZUNvbnRhaW5lci5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmll
d3BvcnRDb250YWluZXIuaDoKKwogMjAxMy0wNS0xMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJz
Y2FAYXBwbGUuY29tPgogCiAgICAgICAgIFNpbXBsaWZ5IEF1dG9kcmFpbmVkUG9vbApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgppbmRleCA0MDQ1MWYwYzE3YzJjNTRjZDY2NmFjMDg3MTU3NzFlMzYyMDFkMTg3
Li44MGI2NTE3OTk2ZmNlNGNiNDI4OWE3MTZjOTdlYWQ2MTVhZjdmMjkyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgpAQCAtNzksNyArNzksNiBAQCBfX1pON1dlYkNvcmUxME1vdXNlRXZlbnQ2Y3JlYXRl
RVJLTjNXVEYxMkF0b21pY1N0cmluZ0ViYk5TMV8xMFBhc3NSZWZQdHJJTlNfOURPTQogX19aTjdX
ZWJDb3JlMTBNb3VzZUV2ZW50QzFFUktOM1dURjEyQXRvbWljU3RyaW5nRWJiTlMxXzEwUGFzc1Jl
ZlB0cklOU185RE9NV2luZG93RUVFaWlpaWliYmJidE5TNV9JTlNfMTFFdmVudFRhcmdldEVFRU5T
NV9JTlNfOUNsaXBib2FyZEVFRWIKIF9fWk43V2ViQ29yZTEwUGFzdGVib2FyZDE0d3JpdGVQbGFp
blRleHRFUktOM1dURjZTdHJpbmdFTlMwXzE4U21hcnRSZXBsYWNlT3B0aW9uRQogX19aTjdXZWJD
b3JlMTBQYXN0ZWJvYXJkMTdnZW5lcmFsUGFzdGVib2FyZEV2Ci1fX1pON1dlYkNvcmUxMFJlbmRl
clBhcnQ5c2V0V2lkZ2V0RU4zV1RGMTBQYXNzUmVmUHRySU5TXzZXaWRnZXRFRUUKIF9fWk43V2Vi
Q29yZTEwUmVuZGVyVmlldzEwY29tcG9zaXRvckV2CiBfX1pON1dlYkNvcmUxMFJlbmRlclZpZXc3
aGl0VGVzdEVSS05TXzE0SGl0VGVzdFJlcXVlc3RFUk5TXzEzSGl0VGVzdFJlc3VsdEUKIF9fWk43
V2ViQ29yZTEwU2Nyb2xsVmlldzE3c2V0VXNlRml4ZWRMYXlvdXRFYgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbmxpbmVGbG93Qm94LmgKaW5kZXggMWU5OTZhOWViOGU1ZTkyMTUwZTkzOGY4MjJj
ODYxMmI4ZTYxZjRlMC4uYzBjN2NjNzk1ODg1MTgxODY2NDNmYmYwNjI4M2VjMDI5ZDJkMThhMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCkBAIC04MCw3ICs4MCw3
IEBAIHB1YmxpYzoKICAgICBJbmxpbmVCb3gqIGZpcnN0Q2hpbGQoKSBjb25zdCB7IGNoZWNrQ29u
c2lzdGVuY3koKTsgcmV0dXJuIG1fZmlyc3RDaGlsZDsgfQogICAgIElubGluZUJveCogbGFzdENo
aWxkKCkgY29uc3QgeyBjaGVja0NvbnNpc3RlbmN5KCk7IHJldHVybiBtX2xhc3RDaGlsZDsgfQog
Ci0gICAgdmlydHVhbCBib29sIGlzTGVhZigpIGNvbnN0IE9WRVJSSURFIEZJTkFMIHsgcmV0dXJu
IGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlzTGVhZigpIGNvbnN0IEZJTkFMIHsgcmV0dXJu
IGZhbHNlOyB9CiAgICAgCiAgICAgSW5saW5lQm94KiBmaXJzdExlYWZDaGlsZCgpIGNvbnN0Owog
ICAgIElubGluZUJveCogbGFzdExlYWZDaGlsZCgpIGNvbnN0OwpAQCAtODgsNyArODgsNyBAQCBw
dWJsaWM6CiAgICAgdHlwZWRlZiB2b2lkICgqQ3VzdG9tSW5saW5lQm94UmFuZ2VSZXZlcnNlKSh2
b2lkKiB1c2VyRGF0YSwgVmVjdG9yPElubGluZUJveCo+OjppdGVyYXRvciBmaXJzdCwgVmVjdG9y
PElubGluZUJveCo+OjppdGVyYXRvciBsYXN0KTsKICAgICB2b2lkIGNvbGxlY3RMZWFmQm94ZXNJ
bkxvZ2ljYWxPcmRlcihWZWN0b3I8SW5saW5lQm94Kj4mLCBDdXN0b21JbmxpbmVCb3hSYW5nZVJl
dmVyc2UgY3VzdG9tUmV2ZXJzZUltcGxlbWVudGF0aW9uID0gMCwgdm9pZCogdXNlckRhdGEgPSAw
KSBjb25zdDsKIAotICAgIHZpcnR1YWwgdm9pZCBzZXRDb25zdHJ1Y3RlZCgpIE9WRVJSSURFIEZJ
TkFMCisgICAgdmlydHVhbCB2b2lkIHNldENvbnN0cnVjdGVkKCkgRklOQUwKICAgICB7CiAgICAg
ICAgIElubGluZUJveDo6c2V0Q29uc3RydWN0ZWQoKTsKICAgICAgICAgZm9yIChJbmxpbmVCb3gq
IGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dE9uTGluZSgp
KQpAQCAtOTYsOSArOTYsOSBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgdm9pZCBhZGRUb0xpbmUo
SW5saW5lQm94KiBjaGlsZCk7Ci0gICAgdmlydHVhbCB2b2lkIGRlbGV0ZUxpbmUoUmVuZGVyQXJl
bmEqKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgZXh0cmFjdExpbmUoKSBPVkVS
UklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoTGluZSgpIE9WRVJSSURFIEZJTkFM
OworICAgIHZpcnR1YWwgdm9pZCBkZWxldGVMaW5lKFJlbmRlckFyZW5hKikgRklOQUw7CisgICAg
dmlydHVhbCB2b2lkIGV4dHJhY3RMaW5lKCkgRklOQUw7CisgICAgdmlydHVhbCB2b2lkIGF0dGFj
aExpbmUoKSBGSU5BTDsKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UG9zaXRpb24oZmxvYXQgZHgs
IGZsb2F0IGR5KTsKIAogICAgIHZpcnR1YWwgdm9pZCBleHRyYWN0TGluZUJveEZyb21SZW5kZXJP
YmplY3QoKTsKQEAgLTEwOSw4ICsxMDksOCBAQCBwdWJsaWM6CiAKICAgICBJbnRSZWN0IHJvdW5k
ZWRGcmFtZVJlY3QoKSBjb25zdDsKICAgICAKLSAgICB2b2lkIHBhaW50Qm94RGVjb3JhdGlvbnMo
UGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKTsKLSAgICB2b2lkIHBhaW50TWFzayhQYWlu
dEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOworICAgIHZpcnR1YWwgdm9pZCBwYWludEJveERl
Y29yYXRpb25zKFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50JikgRklOQUw7CisgICAgdmly
dHVhbCB2b2lkIHBhaW50TWFzayhQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpIEZJTkFM
OwogICAgIHZvaWQgcGFpbnRGaWxsTGF5ZXJzKGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IENvbG9y
JiwgY29uc3QgRmlsbExheWVyKiwgY29uc3QgTGF5b3V0UmVjdCYsIENvbXBvc2l0ZU9wZXJhdG9y
ID0gQ29tcG9zaXRlU291cmNlT3Zlcik7CiAgICAgdm9pZCBwYWludEZpbGxMYXllcihjb25zdCBQ
YWludEluZm8mLCBjb25zdCBDb2xvciYsIGNvbnN0IEZpbGxMYXllciosIGNvbnN0IExheW91dFJl
Y3QmLCBDb21wb3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZVNvdXJjZU92ZXIpOwogICAgIHZvaWQg
cGFpbnRCb3hTaGFkb3coY29uc3QgUGFpbnRJbmZvJiwgUmVuZGVyU3R5bGUqLCBTaGFkb3dTdHls
ZSwgY29uc3QgTGF5b3V0UmVjdCYpOwpAQCAtMjk5LDcgKzI5OSw3IEBAIHByaXZhdGU6CiBwcm90
ZWN0ZWQ6CiAgICAgT3duUHRyPFJlbmRlck92ZXJmbG93PiBtX292ZXJmbG93OwogCi0gICAgdmly
dHVhbCBib29sIGlzSW5saW5lRmxvd0JveCgpIGNvbnN0IE9WRVJSSURFIEZJTkFMIHsgcmV0dXJu
IHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNJbmxpbmVGbG93Qm94KCkgY29uc3QgRklOQUwg
eyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgSW5saW5lQm94KiBtX2ZpcnN0Q2hpbGQ7CiAgICAgSW5s
aW5lQm94KiBtX2xhc3RDaGlsZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVUZXh0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJv
eC5oCmluZGV4IDBiOGQ2YjUwOWQ5ZjAxNDg3OWRkZDIwZjU5MmNiNDIzNDE4NWMwNjQuLjNmMWQ2
MzlmY2NhMDVmOTk0YzE4MjZhZDYxOGU2Y2JmOTFjYTE3ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0lubGluZVRleHRCb3guaApAQCAtNTcsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgewog
ICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95KFJlbmRlckFyZW5hKikgT1ZFUlJJREUg
RklOQUw7CisgICAgdmlydHVhbCB2b2lkIGRlc3Ryb3koUmVuZGVyQXJlbmEqKSBGSU5BTDsKIAog
ICAgIElubGluZVRleHRCb3gqIHByZXZUZXh0Qm94KCkgY29uc3QgeyByZXR1cm4gbV9wcmV2VGV4
dEJveDsgfQogICAgIElubGluZVRleHRCb3gqIG5leHRUZXh0Qm94KCkgY29uc3QgeyByZXR1cm4g
bV9uZXh0VGV4dEJveDsgfQpAQCAtODUsOCArODUsOCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMg
aW5saW5lIGJvb2wgY29tcGFyZUJ5U3RhcnQoY29uc3QgSW5saW5lVGV4dEJveCogZmlyc3QsIGNv
bnN0IElubGluZVRleHRCb3gqIHNlY29uZCkgeyByZXR1cm4gZmlyc3QtPnN0YXJ0KCkgPCBzZWNv
bmQtPnN0YXJ0KCk7IH0KIAotICAgIHZpcnR1YWwgaW50IGJhc2VsaW5lUG9zaXRpb24oRm9udEJh
c2VsaW5lKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIExheW91dFVuaXQgbGlu
ZUhlaWdodCgpIGNvbnN0IE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgaW50IGJhc2VsaW5l
UG9zaXRpb24oRm9udEJhc2VsaW5lKSBjb25zdCBGSU5BTDsKKyAgICB2aXJ0dWFsIExheW91dFVu
aXQgbGluZUhlaWdodCgpIGNvbnN0IEZJTkFMOwogCiAgICAgYm9vbCBnZXRFbXBoYXNpc01hcmtQ
b3NpdGlvbihSZW5kZXJTdHlsZSosIFRleHRFbXBoYXNpc1Bvc2l0aW9uJikgY29uc3Q7CiAKQEAg
LTEyNSwxOSArMTI1LDE5IEBAIHB1YmxpYzoKICAgICBSZW5kZXJUZXh0KiB0ZXh0UmVuZGVyZXIo
KSBjb25zdDsKIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlTGluZShSZW5kZXJB
cmVuYSopIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBleHRyYWN0TGluZSgpIE9W
RVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hMaW5lKCkgT1ZFUlJJREUgRklO
QUw7CisgICAgdmlydHVhbCB2b2lkIGRlbGV0ZUxpbmUoUmVuZGVyQXJlbmEqKSBGSU5BTDsKKyAg
ICB2aXJ0dWFsIHZvaWQgZXh0cmFjdExpbmUoKSBGSU5BTDsKKyAgICB2aXJ0dWFsIHZvaWQgYXR0
YWNoTGluZSgpIEZJTkFMOwogCiBwdWJsaWM6Ci0gICAgdmlydHVhbCBSZW5kZXJPYmplY3Q6OlNl
bGVjdGlvblN0YXRlIHNlbGVjdGlvblN0YXRlKCkgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVh
bCBSZW5kZXJPYmplY3Q6OlNlbGVjdGlvblN0YXRlIHNlbGVjdGlvblN0YXRlKCkgRklOQUw7CiAK
IHByaXZhdGU6Ci0gICAgdmlydHVhbCB2b2lkIGNsZWFyVHJ1bmNhdGlvbigpIE9WRVJSSURFIEZJ
TkFMIHsgbV90cnVuY2F0aW9uID0gY05vVHJ1bmNhdGlvbjsgfQorICAgIHZpcnR1YWwgdm9pZCBj
bGVhclRydW5jYXRpb24oKSBGSU5BTCB7IG1fdHJ1bmNhdGlvbiA9IGNOb1RydW5jYXRpb247IH0K
ICAgICB2aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBmbG93SXNMVFIsIGZsb2F0
IHZpc2libGVMZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNX
aWR0aCwgZmxvYXQgJnRydW5jYXRlZFdpZHRoLCBib29sJiBmb3VuZEJveCkgT1ZFUlJJREUgRklO
QUw7CiAKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIGJvb2wgaXNMaW5lQnJlYWsoKSBjb25zdCBPVkVS
UklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNMaW5lQnJlYWsoKSBjb25zdCBGSU5BTDsK
IAogICAgIHZvaWQgc2V0RXhwYW5zaW9uKGludCBuZXdFeHBhbnNpb24pCiAgICAgewpAQCAtMTQ3
LDExICsxNDcsMTEgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIGJv
b2wgaXNJbmxpbmVUZXh0Qm94KCkgY29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gdHJ1ZTsg
fQorICAgIHZpcnR1YWwgYm9vbCBpc0lubGluZVRleHRCb3goKSBjb25zdCBGSU5BTCB7IHJldHVy
biB0cnVlOyB9CiAKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIGludCBjYXJldE1pbk9mZnNldCgpIGNv
bnN0IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgaW50IGNhcmV0TWF4T2Zmc2V0KCkgY29u
c3QgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCBpbnQgY2FyZXRNaW5PZmZzZXQoKSBjb25z
dCBGSU5BTDsKKyAgICB2aXJ0dWFsIGludCBjYXJldE1heE9mZnNldCgpIGNvbnN0IEZJTkFMOwog
CiBwcml2YXRlOgogICAgIGZsb2F0IHRleHRQb3MoKSBjb25zdDsgLy8gcmV0dXJucyB0aGUgeCBw
b3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgbGVmdCBzdGFydCBvZiB0aGUgdGV4dCBsaW5lLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFwcGxldC5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFwcGxldC5oCmluZGV4IGQ5ZTI4OGJlZDA4NGFhMzE2
OTE0NWFiYzBkNmJjMDBkOWIyYzU2YmUuLjg4MWUyMWMwYjIzZTg5NGU2MzBjYTM2OTQ2MzBmOTIx
MzdhM2VkMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcHBs
ZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXBwbGV0LmgKQEAgLTI4
LDcgKzI4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MQXBwbGV0RWxlbWVu
dDsKIAotY2xhc3MgUmVuZGVyQXBwbGV0IEZJTkFMIDogcHVibGljIFJlbmRlckVtYmVkZGVkT2Jq
ZWN0IHsKK2NsYXNzIFJlbmRlckFwcGxldCA6IHB1YmxpYyBSZW5kZXJFbWJlZGRlZE9iamVjdCB7
CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyQXBwbGV0KEhUTUxBcHBsZXRFbGVtZW50Kik7
CiAgICAgdmlydHVhbCB+UmVuZGVyQXBwbGV0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQlIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
Ui5oCmluZGV4IGRjNGQ4MzIzNzBhYzFkZGMwZTBlMjY2Yjc3YWQ1NzMyMjM0OGIyNzUuLjkxNDg2
ZjI5Y2VhZjgwODliNGQ5MWVkZGU2NzM1NTQ3YTA2ZWE3YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCUi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCUi5oCkBAIC0zMSw3ICszMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgUG9zaXRpb247CiAKLWNsYXNzIFJlbmRlckJSIEZJTkFMIDogcHVibGljIFJlbmRlclRleHQg
eworY2xhc3MgUmVuZGVyQlIgOiBwdWJsaWMgUmVuZGVyVGV4dCB7CiBwdWJsaWM6CiAgICAgZXhw
bGljaXQgUmVuZGVyQlIoTm9kZSopOwogICAgIHZpcnR1YWwgflJlbmRlckJSKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDNlOTc2MDBlNmRkYTJkNWQzYjBkMmZm
MzJmNmE4ODI5MmU0Yjg5ZmUuLjkzZjk1MTYxZGZkMzEyYmZkNjI3OGM2YjhjOTE4MTg4MzlmODM5
ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBAIC0xMDQsNyArMTA0
LDcgQEAgcHVibGljOgogICAgIGJvb2wgYmVpbmdEZXN0cm95ZWQoKSBjb25zdCB7IHJldHVybiBt
X2JlaW5nRGVzdHJveWVkOyB9CiAKICAgICAvLyBUaGVzZSB0d28gZnVuY3Rpb25zIGFyZSBvdmVy
cmlkZGVuIGZvciBpbmxpbmUtYmxvY2suCi0gICAgdmlydHVhbCBMYXlvdXRVbml0IGxpbmVIZWln
aHQoYm9vbCBmaXJzdExpbmUsIExpbmVEaXJlY3Rpb25Nb2RlLCBMaW5lUG9zaXRpb25Nb2RlID0g
UG9zaXRpb25PbkNvbnRhaW5pbmdMaW5lKSBjb25zdCBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0
dWFsIExheW91dFVuaXQgbGluZUhlaWdodChib29sIGZpcnN0TGluZSwgTGluZURpcmVjdGlvbk1v
ZGUsIExpbmVQb3NpdGlvbk1vZGUgPSBQb3NpdGlvbk9uQ29udGFpbmluZ0xpbmUpIGNvbnN0Owog
ICAgIHZpcnR1YWwgaW50IGJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lLCBib29sIGZpcnN0
TGluZSwgTGluZURpcmVjdGlvbk1vZGUsIExpbmVQb3NpdGlvbk1vZGUgPSBQb3NpdGlvbk9uQ29u
dGFpbmluZ0xpbmUpIGNvbnN0OwogCiAgICAgUmVuZGVyTGluZUJveExpc3QqIGxpbmVCb3hlcygp
IHsgcmV0dXJuICZtX2xpbmVCb3hlczsgfQpAQCAtMTYwLDcgKzE2MCw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIG1hcmtBbGxEZXNjZW5kYW50c1dpdGhGbG9hdHNGb3JMYXlvdXQoUmVuZGVyQm94KiBm
bG9hdFRvUmVtb3ZlID0gMCwgYm9vbCBpbkxheW91dCA9IHRydWUpOwogICAgIHZvaWQgbWFya1Np
YmxpbmdzV2l0aEZsb2F0c0ZvckxheW91dChSZW5kZXJCb3gqIGZsb2F0VG9SZW1vdmUgPSAwKTsK
ICAgICB2b2lkIG1hcmtQb3NpdGlvbmVkT2JqZWN0c0ZvckxheW91dCgpOwotICAgIHZpcnR1YWwg
dm9pZCBtYXJrRm9yUGFnaW5hdGlvblJlbGF5b3V0SWZOZWVkZWQoKSBPVkVSUklERSBGSU5BTDsK
KyAgICB2aXJ0dWFsIHZvaWQgbWFya0ZvclBhZ2luYXRpb25SZWxheW91dElmTmVlZGVkKCk7CiAg
ICAgCiAgICAgYm9vbCBjb250YWluc0Zsb2F0cygpIGNvbnN0IHsgcmV0dXJuIG1fZmxvYXRpbmdP
YmplY3RzICYmICFtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCkuaXNFbXB0eSgpOyB9CiAgICAgYm9v
bCBjb250YWluc0Zsb2F0KFJlbmRlckJveCopIGNvbnN0OwpAQCAtMjMyLDcgKzIzMiw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIFZpc2libGVQb3NpdGlvbiBwb3NpdGlvbkZvclBvaW50KGNvbnN0
IExheW91dFBvaW50Jik7CiAgICAgCiAgICAgLy8gQmxvY2sgZmxvd3Mgc3ViY2xhc3MgYXZhaWxh
YmxlV2lkdGggdG8gaGFuZGxlIG11bHRpIGNvbHVtbiBsYXlvdXQgKHNocmlua2luZyB0aGUgd2lk
dGggYXZhaWxhYmxlIHRvIGNoaWxkcmVuIHdoZW4gbGF5aW5nIG91dC4pCi0gICAgdmlydHVhbCBM
YXlvdXRVbml0IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwor
ICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBhdmFpbGFibGVMb2dpY2FsV2lkdGgoKSBjb25zdDsKIAog
ICAgIExheW91dFBvaW50IGZsaXBGb3JXcml0aW5nTW9kZUluY2x1ZGluZ0NvbHVtbnMoY29uc3Qg
TGF5b3V0UG9pbnQmKSBjb25zdDsKICAgICB2b2lkIGFkanVzdFN0YXJ0RWRnZUZvcldyaXRpbmdN
b2RlSW5jbHVkaW5nQ29sdW1ucyhMYXlvdXRSZWN0JikgY29uc3Q7CkBAIC0yNTksMTMgKzI1OSwx
MyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVhclRydW5jYXRpb24oKTsKIAogICAgIHZvaWQgYWRq
dXN0UmVjdEZvckNvbHVtbnMoTGF5b3V0UmVjdCYpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBh
ZGp1c3RGb3JDb2x1bW5zKExheW91dFNpemUmLCBjb25zdCBMYXlvdXRQb2ludCYpIGNvbnN0IE9W
RVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RGb3JDb2x1bW5zKExheW91dFNp
emUmLCBjb25zdCBMYXlvdXRQb2ludCYpIGNvbnN0OwogICAgIHZvaWQgYWRqdXN0Rm9yQ29sdW1u
UmVjdChMYXlvdXRTaXplJiBvZmZzZXQsIGNvbnN0IExheW91dFBvaW50JiBsb2NhdGlvbkluQ29u
dGFpbmVyKSBjb25zdDsKIAogICAgIHZvaWQgYWRkQ29udGludWF0aW9uV2l0aE91dGxpbmUoUmVu
ZGVySW5saW5lKik7CiAgICAgYm9vbCBwYWludHNDb250aW51YXRpb25PdXRsaW5lKFJlbmRlcklu
bGluZSopOwogCi0gICAgdmlydHVhbCBSZW5kZXJCb3hNb2RlbE9iamVjdCogdmlydHVhbENvbnRp
bnVhdGlvbigpIGNvbnN0IE9WRVJSSURFIEZJTkFMIHsgcmV0dXJuIGNvbnRpbnVhdGlvbigpOyB9
CisgICAgdmlydHVhbCBSZW5kZXJCb3hNb2RlbE9iamVjdCogdmlydHVhbENvbnRpbnVhdGlvbigp
IGNvbnN0IHsgcmV0dXJuIGNvbnRpbnVhdGlvbigpOyB9CiAgICAgYm9vbCBpc0Fub255bW91c0Js
b2NrQ29udGludWF0aW9uKCkgY29uc3QgeyByZXR1cm4gY29udGludWF0aW9uKCkgJiYgaXNBbm9u
eW1vdXNCbG9jaygpOyB9CiAgICAgUmVuZGVySW5saW5lKiBpbmxpbmVFbGVtZW50Q29udGludWF0
aW9uKCkgY29uc3Q7CiAgICAgUmVuZGVyQmxvY2sqIGJsb2NrRWxlbWVudENvbnRpbnVhdGlvbigp
IGNvbnN0OwpAQCAtNTkwLDM0ICs1OTAsMzQgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbXB1dGVF
eGNsdXNpb25TaGFwZVNpemUoKTsKICAgICB2b2lkIHVwZGF0ZUV4Y2x1c2lvblNoYXBlSW5zaWRl
SW5mb0FmdGVyU3R5bGVDaGFuZ2UoY29uc3QgRXhjbHVzaW9uU2hhcGVWYWx1ZSosIGNvbnN0IEV4
Y2x1c2lvblNoYXBlVmFsdWUqIG9sZEV4Y2x1c2lvblNoYXBlKTsKICNlbmRpZgotICAgIHZpcnR1
YWwgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0KiB2aXJ0dWFsQ2hpbGRyZW4oKSBPVkVSUklERSBGSU5B
TCB7IHJldHVybiBjaGlsZHJlbigpOyB9Ci0gICAgdmlydHVhbCBjb25zdCBSZW5kZXJPYmplY3RD
aGlsZExpc3QqIHZpcnR1YWxDaGlsZHJlbigpIGNvbnN0IE9WRVJSSURFIEZJTkFMIHsgcmV0dXJu
IGNoaWxkcmVuKCk7IH0KKyAgICB2aXJ0dWFsIFJlbmRlck9iamVjdENoaWxkTGlzdCogdmlydHVh
bENoaWxkcmVuKCkgeyByZXR1cm4gY2hpbGRyZW4oKTsgfQorICAgIHZpcnR1YWwgY29uc3QgUmVu
ZGVyT2JqZWN0Q2hpbGRMaXN0KiB2aXJ0dWFsQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBjaGls
ZHJlbigpOyB9CiAKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdDsK
IAotICAgIHZpcnR1YWwgYm9vbCBpc1JlbmRlckJsb2NrKCkgY29uc3QgT1ZFUlJJREUgRklOQUwg
eyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc0Jsb2NrRmxvdygpIGNvbnN0IE9W
RVJSSURFIEZJTkFMIHsgcmV0dXJuICghaXNJbmxpbmUoKSB8fCBpc1JlcGxhY2VkKCkpICYmICFp
c1RhYmxlKCk7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNJbmxpbmVCbG9ja09ySW5saW5lVGFibGUo
KSBjb25zdCBPVkVSUklERSBGSU5BTCB7IHJldHVybiBpc0lubGluZSgpICYmIGlzUmVwbGFjZWQo
KTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1JlbmRlckJsb2NrKCkgY29uc3QgeyByZXR1cm4gdHJ1
ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc0Jsb2NrRmxvdygpIGNvbnN0IHsgcmV0dXJuICghaXNJ
bmxpbmUoKSB8fCBpc1JlcGxhY2VkKCkpICYmICFpc1RhYmxlKCk7IH0KKyAgICB2aXJ0dWFsIGJv
b2wgaXNJbmxpbmVCbG9ja09ySW5saW5lVGFibGUoKSBjb25zdCB7IHJldHVybiBpc0lubGluZSgp
ICYmIGlzUmVwbGFjZWQoKTsgfQogCiAgICAgdm9pZCBtYWtlQ2hpbGRyZW5Ob25JbmxpbmUoUmVu
ZGVyT2JqZWN0KiBpbnNlcnRpb25Qb2ludCA9IDApOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVM
ZWZ0b3ZlckFub255bW91c0Jsb2NrKFJlbmRlckJsb2NrKiBjaGlsZCk7CiAKICAgICBzdGF0aWMg
dm9pZCBjb2xsYXBzZUFub255bW91c0JveENoaWxkKFJlbmRlckJsb2NrKiBwYXJlbnQsIFJlbmRl
ck9iamVjdCogY2hpbGQpOwogCi0gICAgdmlydHVhbCB2b2lkIGRpcnR5TGluZXNGcm9tQ2hhbmdl
ZENoaWxkKFJlbmRlck9iamVjdCogY2hpbGQpIE9WRVJSSURFIEZJTkFMIHsgbV9saW5lQm94ZXMu
ZGlydHlMaW5lc0Zyb21DaGFuZ2VkQ2hpbGQodGhpcywgY2hpbGQpOyB9CisgICAgdmlydHVhbCB2
b2lkIGRpcnR5TGluZXNGcm9tQ2hhbmdlZENoaWxkKFJlbmRlck9iamVjdCogY2hpbGQpIHsgbV9s
aW5lQm94ZXMuZGlydHlMaW5lc0Zyb21DaGFuZ2VkQ2hpbGQodGhpcywgY2hpbGQpOyB9CiAKICAg
ICB2b2lkIGFkZENoaWxkVG9Db250aW51YXRpb24oUmVuZGVyT2JqZWN0KiBuZXdDaGlsZCwgUmVu
ZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCk7CiAgICAgdm9pZCBhZGRDaGlsZElnbm9yaW5nQ29udGlu
dWF0aW9uKFJlbmRlck9iamVjdCogbmV3Q2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQp
OwogICAgIHZvaWQgYWRkQ2hpbGRUb0Fub255bW91c0NvbHVtbkJsb2NrcyhSZW5kZXJPYmplY3Qq
IG5ld0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKTsKIAotICAgIHZvaWQgYWRkQ2hp
bGRJZ25vcmluZ0Fub255bW91c0NvbHVtbkJsb2NrcyhSZW5kZXJPYmplY3QqIG5ld0NoaWxkLCBS
ZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkID0gMCk7CisgICAgdmlydHVhbCB2b2lkIGFkZENoaWxk
SWdub3JpbmdBbm9ueW1vdXNDb2x1bW5CbG9ja3MoUmVuZGVyT2JqZWN0KiBuZXdDaGlsZCwgUmVu
ZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IDApOwogICAgIAotICAgIHZpcnR1YWwgYm9vbCBpc1Nl
bGZDb2xsYXBzaW5nQmxvY2soKSBjb25zdCBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIGJv
b2wgaXNTZWxmQ29sbGFwc2luZ0Jsb2NrKCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIExheW91dFVu
aXQgY29sbGFwc2VkTWFyZ2luQmVmb3JlKCkgY29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4g
bWF4UG9zaXRpdmVNYXJnaW5CZWZvcmUoKSAtIG1heE5lZ2F0aXZlTWFyZ2luQmVmb3JlKCk7IH0K
LSAgICB2aXJ0dWFsIExheW91dFVuaXQgY29sbGFwc2VkTWFyZ2luQWZ0ZXIoKSBjb25zdCBPVkVS
UklERSBGSU5BTCB7IHJldHVybiBtYXhQb3NpdGl2ZU1hcmdpbkFmdGVyKCkgLSBtYXhOZWdhdGl2
ZU1hcmdpbkFmdGVyKCk7IH0KKyAgICB2aXJ0dWFsIExheW91dFVuaXQgY29sbGFwc2VkTWFyZ2lu
QmVmb3JlKCkgY29uc3QgeyByZXR1cm4gbWF4UG9zaXRpdmVNYXJnaW5CZWZvcmUoKSAtIG1heE5l
Z2F0aXZlTWFyZ2luQmVmb3JlKCk7IH0KKyAgICB2aXJ0dWFsIExheW91dFVuaXQgY29sbGFwc2Vk
TWFyZ2luQWZ0ZXIoKSBjb25zdCB7IHJldHVybiBtYXhQb3NpdGl2ZU1hcmdpbkFmdGVyKCkgLSBt
YXhOZWdhdGl2ZU1hcmdpbkFmdGVyKCk7IH0KIAotICAgIHZpcnR1YWwgdm9pZCByZXBhaW50T3Zl
cmhhbmdpbmdGbG9hdHMoYm9vbCBwYWludEFsbERlc2NlbmRhbnRzKSBPVkVSUklERSBGSU5BTDsK
KyAgICB2aXJ0dWFsIHZvaWQgcmVwYWludE92ZXJoYW5naW5nRmxvYXRzKGJvb2wgcGFpbnRBbGxE
ZXNjZW5kYW50cykgT1ZFUlJJREU7CiAKICAgICB2b2lkIGxheW91dEJsb2NrQ2hpbGRyZW4oYm9v
bCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0JiBtYXhGbG9hdExvZ2ljYWxCb3R0b20pOwog
ICAgIHZvaWQgbGF5b3V0SW5saW5lQ2hpbGRyZW4oYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlv
dXRVbml0JiByZXBhaW50TG9naWNhbFRvcCwgTGF5b3V0VW5pdCYgcmVwYWludExvZ2ljYWxCb3R0
b20pOwpAQCAtODk4LDcgKzg5OCw3IEBAIHByaXZhdGU6CiAgICAgTGF5b3V0VW5pdCBsb3dlc3RG
bG9hdExvZ2ljYWxCb3R0b20oRmxvYXRpbmdPYmplY3Q6OlR5cGUgPSBGbG9hdGluZ09iamVjdDo6
RmxvYXRMZWZ0UmlnaHQpIGNvbnN0OyAKICAgICBMYXlvdXRVbml0IG5leHRGbG9hdExvZ2ljYWxC
b3R0b21CZWxvdyhMYXlvdXRVbml0KSBjb25zdDsKICAgICAKLSAgICBib29sIGhpdFRlc3RDb2x1
bW5zKGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEhpdFRlc3RM
b2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxh
dGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uKTsKKyAgICB2aXJ0dWFsIGJvb2wgaGl0VGVzdENvbHVt
bnMoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgSGl0VGVzdExv
Y2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0
ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24pOwogICAgIHZpcnR1YWwgYm9vbCBoaXRUZXN0Q29udGVu
dHMoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgSGl0VGVzdExv
Y2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0
ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24pOwogICAgIGJvb2wgaGl0VGVzdEZsb2F0cyhjb25zdCBI
aXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxv
Y2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCk7
CiAKQEAgLTkxMCwyMCArOTEwLDIwIEBAIHByaXZhdGU6CiAKICAgICAvLyBPYnRhaW5zIHRoZSBu
ZWFyZXN0IGVuY2xvc2luZyBibG9jayAoaW5jbHVkaW5nIHRoaXMgYmxvY2spIHRoYXQgY29udHJp
YnV0ZXMgYSBmaXJzdC1saW5lIHN0eWxlIHRvIG91ciBpbmxpbmUKICAgICAvLyBjaGlsZHJlbi4K
LSAgICB2aXJ0dWFsIFJlbmRlckJsb2NrKiBmaXJzdExpbmVCbG9jaygpIGNvbnN0IE9WRVJSSURF
OworICAgIHZpcnR1YWwgUmVuZGVyQmxvY2sqIGZpcnN0TGluZUJsb2NrKCkgY29uc3Q7CiAKLSAg
ICB2aXJ0dWFsIExheW91dFJlY3QgcmVjdFdpdGhPdXRsaW5lRm9yUmVwYWludChjb25zdCBSZW5k
ZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBMYXlvdXRVbml0IG91dGxpbmVX
aWR0aCkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBSZW5kZXJTdHlsZSogb3V0
bGluZVN0eWxlRm9yUmVwYWludCgpIGNvbnN0IE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwg
TGF5b3V0UmVjdCByZWN0V2l0aE91dGxpbmVGb3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9k
ZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIExheW91dFVuaXQgb3V0bGluZVdpZHRoKSBjb25z
dCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFJlbmRlclN0eWxlKiBvdXRsaW5lU3R5bGVGb3JSZXBh
aW50KCkgY29uc3Q7CiAgICAgCi0gICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGhvdmVyQW5jZXN0
b3IoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRHJhZ1N0
YXRlKGJvb2wgZHJhZ09uKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgY2hpbGRC
ZWNhbWVOb25JbmxpbmUoUmVuZGVyT2JqZWN0KiBjaGlsZCkgT1ZFUlJJREUgRklOQUw7CisgICAg
dmlydHVhbCBSZW5kZXJPYmplY3QqIGhvdmVyQW5jZXN0b3IoKSBjb25zdDsKKyAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlRHJhZ1N0YXRlKGJvb2wgZHJhZ09uKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2hp
bGRCZWNhbWVOb25JbmxpbmUoUmVuZGVyT2JqZWN0KiBjaGlsZCk7CiAKLSAgICB2aXJ0dWFsIExh
eW91dFJlY3Qgc2VsZWN0aW9uUmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9i
amVjdCogcmVwYWludENvbnRhaW5lciwgYm9vbCAvKmNsaXBUb1Zpc2libGVDb250ZW50Ki8pIE9W
RVJSSURFIEZJTkFMCisgICAgdmlydHVhbCBMYXlvdXRSZWN0IHNlbGVjdGlvblJlY3RGb3JSZXBh
aW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIGJvb2wg
LypjbGlwVG9WaXNpYmxlQ29udGVudCovKSBPVkVSUklERQogICAgIHsKICAgICAgICAgcmV0dXJu
IHNlbGVjdGlvbkdhcFJlY3RzRm9yUmVwYWludChyZXBhaW50Q29udGFpbmVyKTsKICAgICB9Ci0g
ICAgdmlydHVhbCBib29sIHNob3VsZFBhaW50U2VsZWN0aW9uR2FwcygpIGNvbnN0IE9WRVJSSURF
IEZJTkFMOworICAgIHZpcnR1YWwgYm9vbCBzaG91bGRQYWludFNlbGVjdGlvbkdhcHMoKSBjb25z
dDsKICAgICBib29sIGlzU2VsZWN0aW9uUm9vdCgpIGNvbnN0OwogICAgIEdhcFJlY3RzIHNlbGVj
dGlvbkdhcHMoUmVuZGVyQmxvY2sqIHJvb3RCbG9jaywgY29uc3QgTGF5b3V0UG9pbnQmIHJvb3RC
bG9ja1BoeXNpY2FsUG9zaXRpb24sIGNvbnN0IExheW91dFNpemUmIG9mZnNldEZyb21Sb290Qmxv
Y2ssCiAgICAgICAgIExheW91dFVuaXQmIGxhc3RMb2dpY2FsVG9wLCBMYXlvdXRVbml0JiBsYXN0
TG9naWNhbExlZnQsIExheW91dFVuaXQmIGxhc3RMb2dpY2FsUmlnaHQsIGNvbnN0IExvZ2ljYWxT
ZWxlY3Rpb25PZmZzZXRDYWNoZXMmLCBjb25zdCBQYWludEluZm8qID0gMCk7CkBAIC05NDYsNyAr
OTQ2LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcGFpbnRDb250aW51YXRpb25PdXRsaW5lcyhQ
YWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwogCi0gICAgdmlydHVhbCBMYXlvdXRSZWN0
IGxvY2FsQ2FyZXRSZWN0KElubGluZUJveCosIGludCBjYXJldE9mZnNldCwgTGF5b3V0VW5pdCog
ZXh0cmFXaWR0aFRvRW5kT2ZMaW5lID0gMCkgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCBM
YXlvdXRSZWN0IGxvY2FsQ2FyZXRSZWN0KElubGluZUJveCosIGludCBjYXJldE9mZnNldCwgTGF5
b3V0VW5pdCogZXh0cmFXaWR0aFRvRW5kT2ZMaW5lID0gMCk7CiAKICAgICB2b2lkIGFkanVzdFBv
aW50VG9Db2x1bW5Db250ZW50cyhMYXlvdXRQb2ludCYpIGNvbnN0OwogICAgIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5oCmluZGV4IDIzOTUzY2Q4MmJlMDU0MzhlZDM4MGJmMDE5NzM1
ZmI5ZTAyZjM3NjAuLmE3MDcxNjQzZTgxNzQxNzJmZDZjZWVmZWNiMmNkOGI0ZGQzMDVjZWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGlj
OgogICAgIC8vIHBvc2l0aW9uOnN0YXRpYyBlbGVtZW50cyB0aGF0IGFyZSBub3QgZmxleC1pdGVt
cyBnZXQgdGhlaXIgei1pbmRleCBjb2VyY2VkIHRvIGF1dG8uCiAgICAgdmlydHVhbCBib29sIHJl
cXVpcmVzTGF5ZXIoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBpc1Jvb3QoKSB8fCBpc1Bvc2l0
aW9uZWQoKSB8fCBjcmVhdGVzR3JvdXAoKSB8fCBoYXNDbGlwUGF0aCgpIHx8IGhhc092ZXJmbG93
Q2xpcCgpIHx8IGhhc1RyYW5zZm9ybSgpIHx8IGhhc0hpZGRlbkJhY2tmYWNlKCkgfHwgaGFzUmVm
bGVjdGlvbigpIHx8IHN0eWxlKCktPnNwZWNpZmllc0NvbHVtbnMoKSB8fCAhc3R5bGUoKS0+aGFz
QXV0b1pJbmRleCgpIHx8IGlzRmxvYXRpbmdXaXRoU2hhcGVPdXRzaWRlKCk7IH0KIAotICAgIHZp
cnR1YWwgYm9vbCBiYWNrZ3JvdW5kSXNLbm93blRvQmVPcGFxdWVJblJlY3QoY29uc3QgTGF5b3V0
UmVjdCYgbG9jYWxSZWN0KSBjb25zdCBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIGJvb2wg
YmFja2dyb3VuZElzS25vd25Ub0JlT3BhcXVlSW5SZWN0KGNvbnN0IExheW91dFJlY3QmIGxvY2Fs
UmVjdCkgY29uc3QgT1ZFUlJJREU7CiAKICAgICAvLyBVc2UgdGhpcyB3aXRoIGNhdXRpb24hIE5v
IHR5cGUgY2hlY2tpbmcgaXMgZG9uZSEKICAgICBSZW5kZXJCb3gqIGZpcnN0Q2hpbGRCb3goKSBj
b25zdDsKQEAgLTE0OSw3ICsxNDksNyBAQCBwdWJsaWM6CiAgICAgTGF5b3V0UmVjdCBib3JkZXJC
b3hSZWN0KCkgY29uc3QgeyByZXR1cm4gTGF5b3V0UmVjdChMYXlvdXRQb2ludCgpLCBzaXplKCkp
OyB9CiAgICAgTGF5b3V0UmVjdCBwYWRkaW5nQm94UmVjdCgpIGNvbnN0IHsgcmV0dXJuIExheW91
dFJlY3QoYm9yZGVyTGVmdCgpLCBib3JkZXJUb3AoKSwgY29udGVudFdpZHRoKCkgKyBwYWRkaW5n
TGVmdCgpICsgcGFkZGluZ1JpZ2h0KCksIGNvbnRlbnRIZWlnaHQoKSArIHBhZGRpbmdUb3AoKSAr
IHBhZGRpbmdCb3R0b20oKSk7IH0KICAgICBJbnRSZWN0IHBpeGVsU25hcHBlZEJvcmRlckJveFJl
Y3QoKSBjb25zdCB7IHJldHVybiBJbnRSZWN0KEludFBvaW50KCksIG1fZnJhbWVSZWN0LnBpeGVs
U25hcHBlZFNpemUoKSk7IH0KLSAgICB2aXJ0dWFsIEludFJlY3QgYm9yZGVyQm91bmRpbmdCb3go
KSBjb25zdCBPVkVSUklERSBGSU5BTCB7IHJldHVybiBwaXhlbFNuYXBwZWRCb3JkZXJCb3hSZWN0
KCk7IH0KKyAgICB2aXJ0dWFsIEludFJlY3QgYm9yZGVyQm91bmRpbmdCb3goKSBjb25zdCB7IHJl
dHVybiBwaXhlbFNuYXBwZWRCb3JkZXJCb3hSZWN0KCk7IH0gCiAKICAgICAvLyBUaGUgY29udGVu
dCBhcmVhIG9mIHRoZSBib3ggKGV4Y2x1ZGVzIHBhZGRpbmcgLSBhbmQgaW50cmluc2ljIHBhZGRp
bmcgZm9yIHRhYmxlIGNlbGxzLCBldGMuLi4gLSBhbmQgYm9yZGVyKS4KICAgICBMYXlvdXRSZWN0
IGNvbnRlbnRCb3hSZWN0KCkgY29uc3QgeyByZXR1cm4gTGF5b3V0UmVjdChib3JkZXJMZWZ0KCkg
KyBwYWRkaW5nTGVmdCgpLCBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSwgY29udGVudFdpZHRo
KCksIGNvbnRlbnRIZWlnaHQoKSk7IH0KQEAgLTE2Myw3ICsxNjMsNyBAQCBwdWJsaWM6CiAgICAg
TGF5b3V0UmVjdCBjb21wdXRlZENTU0NvbnRlbnRCb3hSZWN0KCkgY29uc3QgeyByZXR1cm4gTGF5
b3V0UmVjdChib3JkZXJMZWZ0KCkgKyBjb21wdXRlZENTU1BhZGRpbmdMZWZ0KCksIGJvcmRlclRv
cCgpICsgY29tcHV0ZWRDU1NQYWRkaW5nVG9wKCksIGNsaWVudFdpZHRoKCkgLSBjb21wdXRlZENT
U1BhZGRpbmdMZWZ0KCkgLSBjb21wdXRlZENTU1BhZGRpbmdSaWdodCgpLCBjbGllbnRIZWlnaHQo
KSAtIGNvbXB1dGVkQ1NTUGFkZGluZ1RvcCgpIC0gY29tcHV0ZWRDU1NQYWRkaW5nQm90dG9tKCkp
OyB9CiAKICAgICAvLyBCb3VuZHMgb2YgdGhlIG91dGxpbmUgYm94IGluIGFic29sdXRlIGNvb3Jk
cy4gUmVzcGVjdHMgdHJhbnNmb3JtcwotICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBvdXRsaW5lQm91
bmRzRm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiAvKnJlcGFpbnRDb250
YWluZXIqLywgY29uc3QgUmVuZGVyR2VvbWV0cnlNYXAqKSBjb25zdCBPVkVSUklERSBGSU5BTDsK
KyAgICB2aXJ0dWFsIExheW91dFJlY3Qgb3V0bGluZUJvdW5kc0ZvclJlcGFpbnQoY29uc3QgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdCogLypyZXBhaW50Q29udGFpbmVyKi8sIGNvbnN0IFJlbmRlckdl
b21ldHJ5TWFwKikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGFkZEZvY3VzUmlu
Z1JlY3RzKFZlY3RvcjxJbnRSZWN0PiYsIGNvbnN0IExheW91dFBvaW50JiBhZGRpdGlvbmFsT2Zm
c2V0LCBjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBwYWludENvbnRhaW5lciA9IDApIE9W
RVJSSURFOwogCiAgICAgLy8gVXNlIHRoaXMgd2l0aCBjYXV0aW9uISBObyB0eXBlIGNoZWNraW5n
IGlzIGRvbmUhCkBAIC0yMDUsOCArMjA1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgTGF5b3V0
VW5pdCBvZmZzZXRXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIHdpZHRoKCk7IH0KICAgICB2aXJ0dWFs
IExheW91dFVuaXQgb2Zmc2V0SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gaGVpZ2h0KCk7IH0KIAot
ICAgIHZpcnR1YWwgaW50IHBpeGVsU25hcHBlZE9mZnNldFdpZHRoKCkgY29uc3QgT1ZFUlJJREUg
RklOQUw7Ci0gICAgdmlydHVhbCBpbnQgcGl4ZWxTbmFwcGVkT2Zmc2V0SGVpZ2h0KCkgY29uc3Qg
T1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCBpbnQgcGl4ZWxTbmFwcGVkT2Zmc2V0V2lkdGgo
KSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGludCBwaXhlbFNuYXBwZWRPZmZzZXRIZWln
aHQoKSBjb25zdCBPVkVSUklERTsKIAogICAgIC8vIE1vcmUgSUUgZXh0ZW5zaW9ucy4gIGNsaWVu
dFdpZHRoIGFuZCBjbGllbnRIZWlnaHQgcmVwcmVzZW50IHRoZSBpbnRlcmlvciBvZiBhbiBvYmpl
Y3QKICAgICAvLyBleGNsdWRpbmcgYm9yZGVyIGFuZCBzY3JvbGxiYXIuICBjbGllbnRMZWZ0L1Rv
cCBhcmUganVzdCB0aGUgYm9yZGVyTGVmdFdpZHRoIGFuZCBib3JkZXJUb3BXaWR0aC4KQEAgLTI0
MywxNyArMjQzLDE3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE1hcmdpbkxlZnQoTGF5b3V0VW5p
dCBtYXJnaW4pIHsgbV9tYXJnaW5Cb3guc2V0TGVmdChtYXJnaW4pOyB9CiAgICAgdm9pZCBzZXRN
YXJnaW5SaWdodChMYXlvdXRVbml0IG1hcmdpbikgeyBtX21hcmdpbkJveC5zZXRSaWdodChtYXJn
aW4pOyB9CiAKLSAgICBMYXlvdXRVbml0IG1hcmdpbkxvZ2ljYWxMZWZ0KCkgY29uc3QgeyByZXR1
cm4gbV9tYXJnaW5Cb3gubG9naWNhbExlZnQoc3R5bGUoKS0+d3JpdGluZ01vZGUoKSk7IH0KLSAg
ICBMYXlvdXRVbml0IG1hcmdpbkxvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fbWFyZ2lu
Qm94LmxvZ2ljYWxSaWdodChzdHlsZSgpLT53cml0aW5nTW9kZSgpKTsgfQorICAgIHZpcnR1YWwg
TGF5b3V0VW5pdCBtYXJnaW5Mb2dpY2FsTGVmdCgpIGNvbnN0IHsgcmV0dXJuIG1fbWFyZ2luQm94
LmxvZ2ljYWxMZWZ0KHN0eWxlKCktPndyaXRpbmdNb2RlKCkpOyB9CisgICAgdmlydHVhbCBMYXlv
dXRVbml0IG1hcmdpbkxvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fbWFyZ2luQm94Lmxv
Z2ljYWxSaWdodChzdHlsZSgpLT53cml0aW5nTW9kZSgpKTsgfQogICAgIAotICAgIHZpcnR1YWwg
TGF5b3V0VW5pdCBtYXJnaW5CZWZvcmUoY29uc3QgUmVuZGVyU3R5bGUqIG92ZXJyaWRlU3R5bGUg
PSAwKSBjb25zdCBPVkVSUklERSBGSU5BTCB7IHJldHVybiBtX21hcmdpbkJveC5iZWZvcmUoKG92
ZXJyaWRlU3R5bGUgPyBvdmVycmlkZVN0eWxlIDogc3R5bGUoKSktPndyaXRpbmdNb2RlKCkpOyB9
Ci0gICAgdmlydHVhbCBMYXlvdXRVbml0IG1hcmdpbkFmdGVyKGNvbnN0IFJlbmRlclN0eWxlKiBv
dmVycmlkZVN0eWxlID0gMCkgY29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gbV9tYXJnaW5C
b3guYWZ0ZXIoKG92ZXJyaWRlU3R5bGUgPyBvdmVycmlkZVN0eWxlIDogc3R5bGUoKSktPndyaXRp
bmdNb2RlKCkpOyB9Ci0gICAgdmlydHVhbCBMYXlvdXRVbml0IG1hcmdpblN0YXJ0KGNvbnN0IFJl
bmRlclN0eWxlKiBvdmVycmlkZVN0eWxlID0gMCkgY29uc3QgT1ZFUlJJREUgRklOQUwKKyAgICB2
aXJ0dWFsIExheW91dFVuaXQgbWFyZ2luQmVmb3JlKGNvbnN0IFJlbmRlclN0eWxlKiBvdmVycmlk
ZVN0eWxlID0gMCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gbV9tYXJnaW5Cb3guYmVmb3JlKChv
dmVycmlkZVN0eWxlID8gb3ZlcnJpZGVTdHlsZSA6IHN0eWxlKCkpLT53cml0aW5nTW9kZSgpKTsg
fQorICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBtYXJnaW5BZnRlcihjb25zdCBSZW5kZXJTdHlsZSog
b3ZlcnJpZGVTdHlsZSA9IDApIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fbWFyZ2luQm94LmFm
dGVyKChvdmVycmlkZVN0eWxlID8gb3ZlcnJpZGVTdHlsZSA6IHN0eWxlKCkpLT53cml0aW5nTW9k
ZSgpKTsgfQorICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBtYXJnaW5TdGFydChjb25zdCBSZW5kZXJT
dHlsZSogb3ZlcnJpZGVTdHlsZSA9IDApIGNvbnN0IE9WRVJSSURFCiAgICAgewogICAgICAgICBj
b25zdCBSZW5kZXJTdHlsZSogc3R5bGVUb1VzZSA9IG92ZXJyaWRlU3R5bGUgPyBvdmVycmlkZVN0
eWxlIDogc3R5bGUoKTsKICAgICAgICAgcmV0dXJuIG1fbWFyZ2luQm94LnN0YXJ0KHN0eWxlVG9V
c2UtPndyaXRpbmdNb2RlKCksIHN0eWxlVG9Vc2UtPmRpcmVjdGlvbigpKTsKICAgICB9Ci0gICAg
dmlydHVhbCBMYXlvdXRVbml0IG1hcmdpbkVuZChjb25zdCBSZW5kZXJTdHlsZSogb3ZlcnJpZGVT
dHlsZSA9IDApIGNvbnN0IE9WRVJSSURFIEZJTkFMCisgICAgdmlydHVhbCBMYXlvdXRVbml0IG1h
cmdpbkVuZChjb25zdCBSZW5kZXJTdHlsZSogb3ZlcnJpZGVTdHlsZSA9IDApIGNvbnN0IE9WRVJS
SURFCiAgICAgewogICAgICAgICBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGVUb1VzZSA9IG92ZXJy
aWRlU3R5bGUgPyBvdmVycmlkZVN0eWxlIDogc3R5bGUoKTsKICAgICAgICAgcmV0dXJuIG1fbWFy
Z2luQm94LmVuZChzdHlsZVRvVXNlLT53cml0aW5nTW9kZSgpLCBzdHlsZVRvVXNlLT5kaXJlY3Rp
b24oKSk7CkBAIC01NDIsNyArNTQyLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGhh
c1JlbGF0aXZlRGltZW5zaW9ucygpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxhdGl2
ZUxvZ2ljYWxIZWlnaHQoKSBjb25zdDsKLSAgICBib29sIGhhc1ZpZXdwb3J0UGVyY2VudGFnZUxv
Z2ljYWxIZWlnaHQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzVmlld3BvcnRQZXJjZW50
YWdlTG9naWNhbEhlaWdodCgpIGNvbnN0OwogCiAgICAgYm9vbCBoYXNIb3Jpem9udGFsTGF5b3V0
T3ZlcmZsb3coKSBjb25zdAogICAgIHsKQEAgLTY2NCw3ICs2NjQsNyBAQCBwcml2YXRlOgogICAg
IC8vIFRoZXNlIGluY2x1ZGUgdGFibGVzLCBwb3NpdGlvbmVkIG9iamVjdHMsIGZsb2F0cyBhbmQg
ZmxleGlibGUgYm94ZXMuCiAgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2Fs
V2lkdGhzKCkgeyBzZXRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkoZmFsc2UpOyB9CiAKLSAg
ICB2aXJ0dWFsIExheW91dFJlY3QgZnJhbWVSZWN0Rm9yU3RpY2t5UG9zaXRpb25pbmcoKSBjb25z
dCBPVkVSUklERSBGSU5BTCB7IHJldHVybiBmcmFtZVJlY3QoKTsgfQorICAgIHZpcnR1YWwgTGF5
b3V0UmVjdCBmcmFtZVJlY3RGb3JTdGlja3lQb3NpdGlvbmluZygpIGNvbnN0IE9WRVJSSURFIHsg
cmV0dXJuIGZyYW1lUmVjdCgpOyB9CiAKIHByaXZhdGU6CiAgICAgLy8gVGhlIHdpZHRoL2hlaWdo
dCBvZiB0aGUgY29udGVudHMgKyBib3JkZXJzICsgcGFkZGluZy4gIFRoZSB4L3kgbG9jYXRpb24g
aXMgcmVsYXRpdmUgdG8gb3VyIGNvbnRhaW5lciAod2hpY2ggaXMgbm90IGFsd2F5cyBvdXIgcGFy
ZW50KS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmgKaW5kZXggMThhODRhM2RjYmMxMDBhMjM1MGY2NTlhYjEyODhiNmU0NjlkMmQ1ZC4uZTYwZWIy
YjVhNDRkZjA4MjM3OTU5OWRjZTA2ZjQwYTcwYmEyZWE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgKQEAgLTI5Miw3ICsyOTIsNyBAQCBw
dWJsaWM6CiAKIHByaXZhdGU6CiAgICAgTGF5b3V0VW5pdCBjb21wdXRlZENTU1BhZGRpbmcoTGVu
Z3RoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNCb3hNb2RlbE9iamVjdCgpIGNvbnN0IE9W
RVJSSURFIEZJTkFMIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNCb3hNb2Rl
bE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICAKICAgICB2aXJ0dWFsIExheW91
dFJlY3QgZnJhbWVSZWN0Rm9yU3RpY2t5UG9zaXRpb25pbmcoKSBjb25zdCA9IDA7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCdXR0b24uaAppbmRleCA0ZjIwY2Y1M2JkMDAwOTJmNGI4
OWQzYjUzMWVjZjIxN2Y4NTA5N2Y3Li45YmRjNDg3NTE4MzYxZDM5ZTNhZGU0ZWYxMzIyYjA1Mzg4
YTI0ODk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5oCkBAIC0zMiw3
ICszMiw3IEBAIGNsYXNzIFJlbmRlclRleHRGcmFnbWVudDsKIC8vIFJlbmRlckJ1dHRvbnMgYXJl
IGp1c3QgbGlrZSBub3JtYWwgZmxleGJveGVzIGV4Y2VwdCB0aGF0IHRoZXkgd2lsbCBnZW5lcmF0
ZSBhbiBhbm9ueW1vdXMgYmxvY2sgY2hpbGQuCiAvLyBGb3IgaW5wdXRzLCB0aGV5IHdpbGwgYWxz
byBnZW5lcmF0ZSBhbiBhbm9ueW1vdXMgUmVuZGVyVGV4dCBhbmQga2VlcCBpdHMgc3R5bGUgYW5k
IGNvbnRlbnQgdXAKIC8vIHRvIGRhdGUgYXMgdGhlIGJ1dHRvbiBjaGFuZ2VzLgotY2xhc3MgUmVu
ZGVyQnV0dG9uIEZJTkFMIDogcHVibGljIFJlbmRlckZsZXhpYmxlQm94IHsKK2NsYXNzIFJlbmRl
ckJ1dHRvbiA6IHB1YmxpYyBSZW5kZXJGbGV4aWJsZUJveCB7CiBwdWJsaWM6CiAgICAgZXhwbGlj
aXQgUmVuZGVyQnV0dG9uKEVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJCdXR0b24oKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0LmgKaW5kZXggYWI3
NzU1MDYyYmIzMzVlYWJjZmQzMzVjNTExNGRlZGZkYTNkYTZiYi4uNmVlOWZmMjdmYzMwMjdiYmI2
ZTZjYjE2Yjg4MDNlMzgwNDA5YmY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckNvbWJpbmVUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckNvbWJpbmVUZXh0LmgKQEAgLTI2LDcgKzI2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBSZW5kZXJDb21iaW5lVGV4dCBGSU5BTCA6IHB1YmxpYyBSZW5kZXJUZXh0IHsK
K2NsYXNzIFJlbmRlckNvbWJpbmVUZXh0IDogcHVibGljIFJlbmRlclRleHQgewogcHVibGljOgog
ICAgIFJlbmRlckNvbWJpbmVUZXh0KE5vZGUqLCBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+KTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmgKaW5kZXggOGFlNDBhNDQ2ODgx
MzllYTZlYzYzNjk1YTEzMzY5N2FkYTlkMzZiMS4uZWQyZmRmNWNmMGM2YTllM2NlZmUwMGU0ZWUz
ZjRmZjYzOWQ5NmI5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckNvdW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5o
CkBAIC0yOSw3ICsyOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ291bnRlck5v
ZGU7CiAKLWNsYXNzIFJlbmRlckNvdW50ZXIgRklOQUwgOiBwdWJsaWMgUmVuZGVyVGV4dCB7Citj
bGFzcyBSZW5kZXJDb3VudGVyIDogcHVibGljIFJlbmRlclRleHQgewogcHVibGljOgogICAgIFJl
bmRlckNvdW50ZXIoRG9jdW1lbnQqLCBjb25zdCBDb3VudGVyQ29udGVudCYpOwogICAgIHZpcnR1
YWwgflJlbmRlckNvdW50ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guaAppbmRleCA5MDZiMDE5MmQyYjM2MDM2YTc2
N2NjZDM4ZTNkOTk1NTg3NGYzYjQ2Li41ZjIyM2NkNGJkMzg3ZDBlYzFhZTk5OTZhMTdiNTRkZWQ3
MTg4MWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVj
YXRlZEZsZXhpYmxlQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRl
cHJlY2F0ZWRGbGV4aWJsZUJveC5oCkBAIC0yOSw3ICsyOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgRmxleEJveEl0ZXJhdG9yOwogCi1jbGFzcyBSZW5kZXJEZXByZWNhdGVkRmxl
eGlibGVCb3ggRklOQUwgOiBwdWJsaWMgUmVuZGVyQmxvY2sgeworY2xhc3MgUmVuZGVyRGVwcmVj
YXRlZEZsZXhpYmxlQm94IDogcHVibGljIFJlbmRlckJsb2NrIHsKIHB1YmxpYzoKICAgICBSZW5k
ZXJEZXByZWNhdGVkRmxleGlibGVCb3goRWxlbWVudCopOwogICAgIHZpcnR1YWwgflJlbmRlckRl
cHJlY2F0ZWRGbGV4aWJsZUJveCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckRldGFpbHNNYXJrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJEZXRhaWxzTWFya2VyLmgKaW5kZXggZDYxZjkzNjc4YjY2OWQ4MjZkN2M4MDZjZWFmODg0ZDI5
M2IyOGEwYS4uY2Q5MWIwMTNlYTg5NWE0MDRiMzA1ZWYzYzZiNWU3ZmU5MjQ1Y2VhZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5oCkBAIC0yNiw3
ICsyNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyRGV0YWlsc01h
cmtlciBGSU5BTCA6IHB1YmxpYyBSZW5kZXJCbG9jayB7CitjbGFzcyBSZW5kZXJEZXRhaWxzTWFy
a2VyIDogcHVibGljIFJlbmRlckJsb2NrIHsKIHB1YmxpYzoKICAgICBSZW5kZXJEZXRhaWxzTWFy
a2VyKEVsZW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVtYmVkZGVkT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1i
ZWRkZWRPYmplY3QuaAppbmRleCA1ZmIwOGY5ZjY0YTNhYmI5NWQxZWZhMWZhZWIwMTM1MzhlZjE1
Yzg0Li4zMGIyYmU0OTE3Mjk0ZWY3NjEzZTQ2YWM1NDIxYzQ4MmE3M2U2NTEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuaApAQCAtNTQsMTQg
KzU0LDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIGhhbmRsZVVuYXZhaWxhYmxlUGx1Z2luSW5kaWNh
dG9yRXZlbnQoRXZlbnQqKTsKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKLSAg
ICBib29sIGFsbG93c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKSBjb25zdDsKKyAgICB2aXJ0dWFs
IGJvb2wgYWxsb3dzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpIGNvbnN0OwogI2VuZGlmCiAKIHBy
b3RlY3RlZDoKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnRSZXBsYWNlZChQYWludEluZm8mLCBjb25z
dCBMYXlvdXRQb2ludCYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBwYWludChQ
YWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9p
ZCBwYWludFJlcGxhY2VkKFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7CisgICAgdmly
dHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7CiAKLSAgICB2
aXJ0dWFsIEN1cnNvckRpcmVjdGl2ZSBnZXRDdXJzb3IoY29uc3QgTGF5b3V0UG9pbnQmLCBDdXJz
b3ImKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIEN1cnNvckRpcmVjdGl2ZSBnZXRDdXJz
b3IoY29uc3QgTGF5b3V0UG9pbnQmLCBDdXJzb3ImKSBjb25zdDsKIAogICAgIGNvbnN0IFJlbmRl
ck9iamVjdENoaWxkTGlzdCogY2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiAmbV9jaGlsZHJlbjsg
fQogICAgIFJlbmRlck9iamVjdENoaWxkTGlzdCogY2hpbGRyZW4oKSB7IHJldHVybiAmbV9jaGls
ZHJlbjsgfQpAQCAtNzEsMzAgKzcxLDMwIEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICB2
aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyRW1i
ZWRkZWRPYmplY3QiOyB9Ci0gICAgdmlydHVhbCBib29sIGlzRW1iZWRkZWRPYmplY3QoKSBjb25z
dCBPVkVSUklERSBGSU5BTCB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIGlzRW1i
ZWRkZWRPYmplY3QoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKICAgICB2b2lkIHBhaW50U25h
cHNob3RJbWFnZShQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYsIEltYWdlKik7Ci0gICAg
dmlydHVhbCB2b2lkIHBhaW50Q29udGVudHMoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQm
KSBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDb250ZW50cyhQYWludElu
Zm8mLCBjb25zdCBMYXlvdXRQb2ludCYpIE9WRVJSSURFOwogCiAjaWYgVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQotICAgIHZpcnR1YWwgYm9vbCByZXF1aXJlc0xheWVyKCkgY29uc3QgT1ZF
UlJJREUgRklOQUw7CisgICAgdmlydHVhbCBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdDsKICNl
bmRpZgogCi0gICAgdmlydHVhbCB2b2lkIHZpZXdDbGVhcmVkKCkgT1ZFUlJJREUgRklOQUw7Cisg
ICAgdmlydHVhbCB2b2lkIHZpZXdDbGVhcmVkKCk7CiAKLSAgICB2aXJ0dWFsIGJvb2wgbm9kZUF0
UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgSGl0VGVz
dExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11
bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24pIE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwg
Ym9vbCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBj
b25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBv
aW50JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbikgT1ZFUlJJREU7CiAKLSAgICB2
aXJ0dWFsIGJvb2wgc2Nyb2xsKFNjcm9sbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZs
b2F0IG11bHRpcGxpZXIsIE5vZGUqKiBzdG9wTm9kZSkgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmly
dHVhbCBib29sIGxvZ2ljYWxTY3JvbGwoU2Nyb2xsTG9naWNhbERpcmVjdGlvbiwgU2Nyb2xsR3Jh
bnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIsIE5vZGUqKiBzdG9wTm9kZSkgT1ZFUlJJREUgRklO
QUw7CisgICAgdmlydHVhbCBib29sIHNjcm9sbChTY3JvbGxEaXJlY3Rpb24sIFNjcm9sbEdyYW51
bGFyaXR5LCBmbG9hdCBtdWx0aXBsaWVyLCBOb2RlKiogc3RvcE5vZGUpOworICAgIHZpcnR1YWwg
Ym9vbCBsb2dpY2FsU2Nyb2xsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFy
aXR5LCBmbG9hdCBtdWx0aXBsaWVyLCBOb2RlKiogc3RvcE5vZGUpOwogCiAgICAgdm9pZCBzZXRV
bmF2YWlsYWJsZVBsdWdpbkluZGljYXRvcklzUHJlc3NlZChib29sKTsKICAgICBib29sIGlzSW5V
bmF2YWlsYWJsZVBsdWdpbkluZGljYXRvcihNb3VzZUV2ZW50KikgY29uc3Q7CiAgICAgYm9vbCBp
c0luVW5hdmFpbGFibGVQbHVnaW5JbmRpY2F0b3IoY29uc3QgTGF5b3V0UG9pbnQmKSBjb25zdDsK
ICAgICBib29sIGdldFJlcGxhY2VtZW50VGV4dEdlb21ldHJ5KGNvbnN0IExheW91dFBvaW50JiBh
Y2N1bXVsYXRlZE9mZnNldCwgRmxvYXRSZWN0JiBjb250ZW50UmVjdCwgUGF0aCYsIEZsb2F0UmVj
dCYgcmVwbGFjZW1lbnRUZXh0UmVjdCwgRm9udCYsIFRleHRSdW4mLCBmbG9hdCYgdGV4dFdpZHRo
KSBjb25zdDsKIAotICAgIHZpcnR1YWwgYm9vbCBjYW5IYXZlQ2hpbGRyZW4oKSBjb25zdCBPVkVS
UklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIFJlbmRlck9iamVjdENoaWxkTGlzdCogdmlydHVhbENo
aWxkcmVuKCkgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gY2hpbGRyZW4oKTsgfQotICAgIHZpcnR1
YWwgY29uc3QgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0KiB2aXJ0dWFsQ2hpbGRyZW4oKSBjb25zdCBP
VkVSUklERSBGSU5BTCB7IHJldHVybiBjaGlsZHJlbigpOyB9CisgICAgdmlydHVhbCBib29sIGNh
bkhhdmVDaGlsZHJlbigpIGNvbnN0OworICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0
KiB2aXJ0dWFsQ2hpbGRyZW4oKSB7IHJldHVybiBjaGlsZHJlbigpOyB9CisgICAgdmlydHVhbCBj
b25zdCBSZW5kZXJPYmplY3RDaGlsZExpc3QqIHZpcnR1YWxDaGlsZHJlbigpIGNvbnN0IHsgcmV0
dXJuIGNoaWxkcmVuKCk7IH0KICAgICAKICAgICB2aXJ0dWFsIGJvb2wgY2FuSGF2ZVdpZGdldCgp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZpZWxkc2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RmllbGRzZXQuaAppbmRleCA1NDUxOWE4YTI3OTZhYjlmODU5NDZmNWZiYzRhOWFkNzc4ZTIyZWU3
Li4zNDgxYzg3YWFkMTRiYWRiNzcwYTZiMDJjZDI5YTEwNGRjZjg2ZGE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmllbGRzZXQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmllbGRzZXQuaApAQCAtMjgsNyArMjgsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlbmRlckZpZWxkc2V0IEZJTkFMIDogcHVibGljIFJl
bmRlckJsb2NrIHsKK2NsYXNzIFJlbmRlckZpZWxkc2V0IDogcHVibGljIFJlbmRlckJsb2NrIHsK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJGaWVsZHNldChFbGVtZW50Kik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmgKaW5k
ZXggYjE5YmZlNWNmM2U0Mzk5MWZiNzA1MDdlOTBiYTQ0YTQ1MzFiNWMzOC4uMzRkMTYwNDIyZmM3
YjE1ZWUyMWY2ZDE0YTUxZmM4ZDEwYWFiMTM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmgKQEAgLTMxLDcgKzMxLDcgQEAgY2xh
c3MgSFRNTElucHV0RWxlbWVudDsKIC8vIHN1ZmZpY2llbnQgc3BhY2UgdG8gZHJhdyBhIGZpbGUg
aWNvbiBhbmQgZmlsZW5hbWUuIFRoZSBSZW5kZXJCdXR0b24gaGFzIGEgc2hhZG93IG5vZGUKIC8v
IGFzc29jaWF0ZWQgd2l0aCBpdCB0byByZWNlaXZlIGNsaWNrL2hvdmVyIGV2ZW50cy4KIAotY2xh
c3MgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wgRklOQUwgOiBwdWJsaWMgUmVuZGVyQmxvY2sgewor
Y2xhc3MgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wgOiBwdWJsaWMgUmVuZGVyQmxvY2sgewogcHVi
bGljOgogICAgIFJlbmRlckZpbGVVcGxvYWRDb250cm9sKEhUTUxJbnB1dEVsZW1lbnQqKTsKICAg
ICB2aXJ0dWFsIH5SZW5kZXJGaWxlVXBsb2FkQ29udHJvbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaAppbmRleCA1NDZiNWY5YWU3ZmZkYmVhYzcyZTUw
MGU1MmExMWM3ZWVhZTM1NDFhLi5jYzE0YjE4Njg3YWNjNzRjOTkzNDVlYjdiMTk2NGM2YWJkMmEw
OTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVC
b3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaApA
QCAtNDQsMTYgKzQ0LDE2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVu
ZGVyTmFtZSgpIGNvbnN0IE9WRVJSSURFOwogCi0gICAgdmlydHVhbCBib29sIGlzRmxleGlibGVC
b3goKSBjb25zdCBPVkVSUklERSBGSU5BTCB7IHJldHVybiB0cnVlOyB9Ci0gICAgdmlydHVhbCBi
b29sIGF2b2lkc0Zsb2F0cygpIGNvbnN0IE9WRVJSSURFIEZJTkFMIHsgcmV0dXJuIHRydWU7IH0K
LSAgICB2aXJ0dWFsIGJvb2wgY2FuQ29sbGFwc2VBbm9ueW1vdXNCbG9ja0NoaWxkKCkgY29uc3Qg
T1ZFUlJJREUgRklOQUwgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0
QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0IHBhZ2VMb2dpY2FsSGVpZ2h0
ID0gMCkgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCBib29sIGlzRmxleGlibGVCb3goKSBj
b25zdCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIGF2b2lkc0Zs
b2F0cygpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wg
Y2FuQ29sbGFwc2VBbm9ueW1vdXNCbG9ja0NoaWxkKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4g
ZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxk
cmVuLCBMYXlvdXRVbml0IHBhZ2VMb2dpY2FsSGVpZ2h0ID0gMCkgT1ZFUlJJREU7CiAKICAgICB2
aXJ0dWFsIGludCBiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSwgYm9vbCBmaXJzdExpbmUs
IExpbmVEaXJlY3Rpb25Nb2RlLCBMaW5lUG9zaXRpb25Nb2RlID0gUG9zaXRpb25PbkNvbnRhaW5p
bmdMaW5lKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGludCBmaXJzdExpbmVCb3hCYXNl
bGluZSgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgaW50IGlubGluZUJsb2NrQmFzZWxp
bmUoTGluZURpcmVjdGlvbk1vZGUpIGNvbnN0IE9WRVJSSURFOwogCi0gICAgdmlydHVhbCB2b2lk
IHBhaW50Q2hpbGRyZW4oUGFpbnRJbmZvJiBmb3JTZWxmLCBjb25zdCBMYXlvdXRQb2ludCYsIFBh
aW50SW5mbyYgZm9yQ2hpbGQsIGJvb2wgdXNlUHJpbnRSZWN0KSBPVkVSUklERSBGSU5BTDsKKyAg
ICB2aXJ0dWFsIHZvaWQgcGFpbnRDaGlsZHJlbihQYWludEluZm8mIGZvclNlbGYsIGNvbnN0IExh
eW91dFBvaW50JiwgUGFpbnRJbmZvJiBmb3JDaGlsZCwgYm9vbCB1c2VQcmludFJlY3QpIE9WRVJS
SURFOwogCiAgICAgYm9vbCBpc0hvcml6b250YWxGbG93KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCmluZGV4IDg1M2JiMzRkZDU4MjcwMjQx
NmY3OTliMWMyYTcwNmNjOTBlZjUyYTYuLmY0MzdkZjQ3MmVlYjkxYjIzMWFlZjEzMjY3YjU5YzI5
MmQyNGIwNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93
VGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQu
aApAQCAtNTgsMTMgKzU4LDEzIEBAIHB1YmxpYzoKICAgICBSZW5kZXJGbG93VGhyZWFkKCk7CiAg
ICAgdmlydHVhbCB+UmVuZGVyRmxvd1RocmVhZCgpIHsgfTsKICAgICAKLSAgICB2aXJ0dWFsIGJv
b2wgaXNSZW5kZXJGbG93VGhyZWFkKCkgY29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gdHJ1
ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1JlbmRlckZsb3dUaHJlYWQoKSBjb25zdCB7IHJldHVy
biB0cnVlOyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCkgT1ZFUlJJREUgRklOQUw7Cisg
ICAgdmlydHVhbCB2b2lkIGxheW91dCgpOwogCiAgICAgLy8gQWx3YXlzIGNyZWF0ZSBhIFJlbmRl
ckxheWVyIGZvciB0aGUgUmVuZGVyRmxvd1RocmVhZCBzbyB0aGF0IHdlIAogICAgIC8vIGNhbiBl
YXNpbHkgYXZvaWQgZHJhd2luZyB0aGUgY2hpbGRyZW4gZGlyZWN0bHkuCi0gICAgdmlydHVhbCBi
b29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdCBPVkVSUklERSBGSU5BTCB7IHJldHVybiB0cnVlOyB9
CisgICAgdmlydHVhbCBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CiAgICAgCiAgICAgdm9pZCByZW1vdmVGbG93Q2hpbGRJbmZvKFJlbmRlck9iamVjdCopOwogI2lm
bmRlZiBOREVCVUcKQEAgLTc1LDcgKzc1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBy
ZW1vdmVSZWdpb25Gcm9tVGhyZWFkKFJlbmRlclJlZ2lvbiopOwogICAgIGNvbnN0IFJlbmRlclJl
Z2lvbkxpc3QmIHJlbmRlclJlZ2lvbkxpc3QoKSBjb25zdCB7IHJldHVybiBtX3JlZ2lvbkxpc3Q7
IH0KIAotICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVMb2dpY2FsV2lkdGgoKSBPVkVSUklERSBGSU5B
TDsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlTG9naWNhbFdpZHRoKCkgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCB2b2lkIGNvbXB1dGVMb2dpY2FsSGVpZ2h0KExheW91dFVuaXQgbG9naWNhbEhlaWdo
dCwgTGF5b3V0VW5pdCBsb2dpY2FsVG9wLCBMb2dpY2FsRXh0ZW50Q29tcHV0ZWRWYWx1ZXMmKSBj
b25zdCBPVkVSUklERTsKIAogICAgIHZvaWQgcGFpbnRGbG93VGhyZWFkUG9ydGlvbkluUmVnaW9u
KFBhaW50SW5mbyYsIFJlbmRlclJlZ2lvbiosIExheW91dFJlY3QgZmxvd1RocmVhZFBvcnRpb25S
ZWN0LCBMYXlvdXRSZWN0IGZsb3dUaHJlYWRQb3J0aW9uT3ZlcmZsb3dSZWN0LCBjb25zdCBMYXlv
dXRQb2ludCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWUuaAppbmRl
eCAyMjQ5NmRmM2QwNGYyMzQwZmRjMTFlNzBlZWE0NzY0MWNkOTBmZDg3Li45ZWFkYjkzOTNhODRh
YzM5MTMxYTgwNjQxZGI0OGE0NjExNzI2OGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRnJhbWUuaApAQCAtMzAsNyArMzAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEhUTUxGcmFtZUVsZW1lbnQ7CiAKLWNsYXNzIFJlbmRlckZyYW1lIEZJTkFMIDogcHVibGljIFJl
bmRlckZyYW1lQmFzZSB7CitjbGFzcyBSZW5kZXJGcmFtZSA6IHB1YmxpYyBSZW5kZXJGcmFtZUJh
c2UgewogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlckZyYW1lKEhUTUxGcmFtZUVsZW1lbnQq
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaAppbmRleCA2MTdi
YmI0YmE4NDI1NjBkZWNhYzVjNGUyMTlmZWJmMjY3YWI4ZjQwLi4wY2ZjZTUyOTBhYWNkOTZkNzk3
ZjgyZWRkYTRlMzhiZDE2MDVjYjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRnJhbWVTZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RnJhbWVTZXQuaApAQCAtNTMsNyArNTMsNyBAQCBwcml2YXRlOgogICAgIFZlY3Rvcjxib29sPiBt
X2FsbG93Qm9yZGVyOwogfTsKIAotY2xhc3MgUmVuZGVyRnJhbWVTZXQgRklOQUwgOiBwdWJsaWMg
UmVuZGVyQm94IHsKK2NsYXNzIFJlbmRlckZyYW1lU2V0IDogcHVibGljIFJlbmRlckJveCB7CiBw
dWJsaWM6CiAgICAgUmVuZGVyRnJhbWVTZXQoSFRNTEZyYW1lU2V0RWxlbWVudCopOwogICAgIHZp
cnR1YWwgflJlbmRlckZyYW1lU2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRnVsbFNjcmVlbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRnVsbFNjcmVlbi5jcHAKaW5kZXggODU3NTFlMmI2YjBhYmFjMTY1YTk0Y2I1NjNkYTExZjNh
NjlmNTQ1ZC4uYWYxMTk3MWMxOTQyYjUwMzllZDVkODJlYjE1ZDZmMWViZmVhYTViZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGdWxsU2NyZWVuLmNwcApAQCAtMzYsNyAr
MzYsNyBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotY2xhc3MgUmVuZGVyRnVsbFNj
cmVlblBsYWNlaG9sZGVyIEZJTkFMIDogcHVibGljIFJlbmRlckJsb2NrIHsKK2NsYXNzIFJlbmRl
ckZ1bGxTY3JlZW5QbGFjZWhvbGRlciA6IHB1YmxpYyBSZW5kZXJCbG9jayB7CiBwdWJsaWM6CiAg
ICAgUmVuZGVyRnVsbFNjcmVlblBsYWNlaG9sZGVyKFJlbmRlckZ1bGxTY3JlZW4qIG93bmVyKSAK
ICAgICAgICAgOiBSZW5kZXJCbG9jaygwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGdWxsU2NyZWVuLmgKaW5kZXggOGJmNjFjOTk2MzhlMzg2ZGNlYTBmMzhlOGQ0NjY3MDI3Yzgz
OTZjNi4uOTc2ZWJjZWZjMWVlZWE3NGQzOTMyZGE2YTI4OTVjNTcyZDAwYmYwMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZ1bGxTY3JlZW4uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnVsbFNjcmVlbi5oCkBAIC0zMiw3ICszMiw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyRnVsbFNjcmVlbiBGSU5BTCA6
IHB1YmxpYyBSZW5kZXJGbGV4aWJsZUJveCB7CitjbGFzcyBSZW5kZXJGdWxsU2NyZWVuIDogcHVi
bGljIFJlbmRlckZsZXhpYmxlQm94IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVuZGVyRnVsbFNj
cmVlbiogY3JlYXRlQW5vbnltb3VzKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyR3JpZC5oCmluZGV4IDBkMTRjODBjZjI5YjIxMzFiZDU1MTc0ZTU3ZTMyZDY2NDFmOWU2
MWQuLmViMmIyYWFmMmVlNGVkMmNmNDc2NzNkNzlhM2RkZDBjZWUyMTg1NGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaApAQCAtMzIsNyArMzIsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIEdyaWRUcmFjazsKIAotY2xhc3MgUmVuZGVyR3JpZCBGSU5BTCA6IHB1
YmxpYyBSZW5kZXJCbG9jayB7CitjbGFzcyBSZW5kZXJHcmlkIDogcHVibGljIFJlbmRlckJsb2Nr
IHsKIHB1YmxpYzoKICAgICBSZW5kZXJHcmlkKEVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5SZW5k
ZXJHcmlkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySFRN
TENhbnZhcy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaApp
bmRleCA5YjhlNGQ3NGVjN2QxMGM2ODdmMzRiMzNjZjA1NjFlYTBjYTA3Y2FiLi5mNGUwN2NjNjNh
Y2IwODA0MWIyNGNhNjU2ZTg2YWM0YWQxYmFjOTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySFRNTENhbnZhcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJIVE1MQ2FudmFzLmgKQEAgLTMyLDcgKzMyLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBIVE1MQ2FudmFzRWxlbWVudDsKIAotY2xhc3MgUmVuZGVySFRNTENhbnZh
cyBGSU5BTCA6IHB1YmxpYyBSZW5kZXJSZXBsYWNlZCB7CitjbGFzcyBSZW5kZXJIVE1MQ2FudmFz
IDogcHVibGljIFJlbmRlclJlcGxhY2VkIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJI
VE1MQ2FudmFzKEhUTUxDYW52YXNFbGVtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJRnJhbWUuaAppbmRleCBmYzMwMjFiZGZhMGViODdhMzc1NTQ3YmY4YTc5N2VmYzhlZTA5
ZDNjLi5hYWMwNjU2MGY2MDVjNjA0MWFiMTQzNjA5MjFiNzU2YmZjMzBiZjQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySUZyYW1lLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcklGcmFtZS5oCkBAIC0zMiw3ICszMiw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyVmlldzsKIAotY2xhc3MgUmVuZGVySUZyYW1lIEZJ
TkFMIDogcHVibGljIFJlbmRlckZyYW1lQmFzZSB7CitjbGFzcyBSZW5kZXJJRnJhbWUgOiBwdWJs
aWMgUmVuZGVyRnJhbWVCYXNlIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJJRnJhbWUo
RWxlbWVudCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCmluZGV4IGI3
N2U0MmQ4NGMzNjdkMjI2MWU4YTI3MTE2OGI3MjA2NjQ0YmVlMDcuLmFmZDhlOTA4Y2IzNzcwMzMz
NDBiMGIyY2VjODdiOTgwMGRiNzY0MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZS5oCkBAIC02MiwxNyArNjIsMTcgQEAgcHVibGljOgogICAgIFN0cmluZyBhbHRUZXh0KCkg
Y29uc3QgeyByZXR1cm4gbV9hbHRUZXh0OyB9CiAKIHByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIGJv
b2wgbmVlZHNQcmVmZXJyZWRXaWR0aHNSZWNhbGN1bGF0aW9uKCkgY29uc3QgT1ZFUlJJREUgRklO
QUw7Ci0gICAgdmlydHVhbCBSZW5kZXJCb3gqIGVtYmVkZGVkQ29udGVudEJveCgpIGNvbnN0IE9W
RVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlSW50cmluc2ljUmF0aW9JbmZv
cm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJsZSYgaW50cmluc2ljUmF0aW8s
IGJvb2wmIGlzUGVyY2VudGFnZUludHJpbnNpY1NpemUpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwor
ICAgIHZpcnR1YWwgYm9vbCBuZWVkc1ByZWZlcnJlZFdpZHRoc1JlY2FsY3VsYXRpb24oKSBjb25z
dDsKKyAgICB2aXJ0dWFsIFJlbmRlckJveCogZW1iZWRkZWRDb250ZW50Qm94KCkgY29uc3Q7Cisg
ICAgdmlydHVhbCB2b2lkIGNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKEZsb2F0U2l6
ZSYgaW50cmluc2ljU2l6ZSwgZG91YmxlJiBpbnRyaW5zaWNSYXRpbywgYm9vbCYgaXNQZXJjZW50
YWdlSW50cmluc2ljU2l6ZSkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGZvcmVncm91bmRJc0tu
b3duVG9CZU9wYXF1ZUluUmVjdChjb25zdCBMYXlvdXRSZWN0JiBsb2NhbFJlY3QsIHVuc2lnbmVk
IG1heERlcHRoVG9UZXN0KSBjb25zdCBPVkVSUklERTsKIAotICAgIHZpcnR1YWwgdm9pZCBzdHls
ZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKikgT1ZFUlJJREUg
RklOQUw7CisgICAgdmlydHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwg
Y29uc3QgUmVuZGVyU3R5bGUqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBpbWFnZUNoYW5nZWQoV3Jh
cHBlZEltYWdlUHRyLCBjb25zdCBJbnRSZWN0KiA9IDApOwogCi0gICAgdm9pZCBwYWludEludG9S
ZWN0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IExheW91dFJlY3QmKTsKLSAgICB2aXJ0dWFsIHZv
aWQgcGFpbnQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBPVkVSUklERSBGSU5BTDsK
KyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRJbnRvUmVjdChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBM
YXlvdXRSZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGNvbnN0IExh
eW91dFBvaW50Jik7CiAgICAgdmlydHVhbCB2b2lkIGxheW91dCgpOwogCiAgICAgdmlydHVhbCB2
b2lkIGludHJpbnNpY1NpemVDaGFuZ2VkKCkKQEAgLTg1LDE4ICs4NSwxOCBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5k
ZXJJbWFnZSI7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBpc0ltYWdlKCkgY29uc3QgeyByZXR1cm4g
dHJ1ZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1JlbmRlckltYWdlKCkgY29uc3QgT1ZFUlJJREUg
RklOQUwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1JlbmRlckltYWdlKCkg
Y29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIHBhaW50UmVwbGFjZWQo
UGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKTsKIAotICAgIHZpcnR1YWwgYm9vbCBjb21w
dXRlQmFja2dyb3VuZElzS25vd25Ub0JlT2JzY3VyZWQoKSBPVkVSUklERSBGSU5BTDsKKyAgICB2
aXJ0dWFsIGJvb2wgY29tcHV0ZUJhY2tncm91bmRJc0tub3duVG9CZU9ic2N1cmVkKCkgT1ZFUlJJ
REU7CiAKICAgICB2aXJ0dWFsIExheW91dFVuaXQgbWluaW11bVJlcGxhY2VkSGVpZ2h0KCkgY29u
c3QgT1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVz
b3VyY2UqKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIGJvb2wgbm9kZUF0UG9pbnQoY29u
c3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgSGl0VGVzdExvY2F0aW9u
JiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZz
ZXQsIEhpdFRlc3RBY3Rpb24pIE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgdm9pZCBub3Rp
ZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSopOworICAgIHZpcnR1YWwgYm9vbCBub2RlQXRQb2lu
dChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9j
YXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRl
ZE9mZnNldCwgSGl0VGVzdEFjdGlvbikgT1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIGJvb2wgYm94
U2hhZG93U2hvdWxkQmVBcHBsaWVkVG9CYWNrZ3JvdW5kKEJhY2tncm91bmRCbGVlZEF2b2lkYW5j
ZSwgSW5saW5lRmxvd0JveCopIGNvbnN0IE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgYm9v
bCBib3hTaGFkb3dTaG91bGRCZUFwcGxpZWRUb0JhY2tncm91bmQoQmFja2dyb3VuZEJsZWVkQXZv
aWRhbmNlLCBJbmxpbmVGbG93Qm94KikgY29uc3QgT1ZFUlJJREU7CiAKICAgICBJbnRTaXplIGlt
YWdlU2l6ZUZvckVycm9yKENhY2hlZEltYWdlKikgY29uc3Q7CiAgICAgdm9pZCBpbWFnZURpbWVu
c2lvbnNDaGFuZ2VkKGJvb2wgaW1hZ2VTaXplQ2hhbmdlZCwgY29uc3QgSW50UmVjdCogPSAwKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaAppbmRleCA1NDBlOWE5MjFjMjVk
YjA4ZDVlY2NmYTI1OWU4NDdjNTc0NDU3Y2ViLi42NDA3ZGU0MTIzM2IzNTJkMTE0ZTY2ZDQ5Zjkx
NDBmMDMxYjA1MDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW5saW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCkBA
IC00NCwxOSArNDQsMTkgQEAgcHVibGljOgogCiAgICAgRWxlbWVudCogbm9kZSgpIGNvbnN0IHsg
cmV0dXJuIHRvRWxlbWVudChSZW5kZXJCb3hNb2RlbE9iamVjdDo6bm9kZSgpKTsgfQogCi0gICAg
dmlydHVhbCBMYXlvdXRVbml0IG1hcmdpbkxlZnQoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAg
ICB2aXJ0dWFsIExheW91dFVuaXQgbWFyZ2luUmlnaHQoKSBjb25zdCBPVkVSUklERSBGSU5BTDsK
LSAgICB2aXJ0dWFsIExheW91dFVuaXQgbWFyZ2luVG9wKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7
Ci0gICAgdmlydHVhbCBMYXlvdXRVbml0IG1hcmdpbkJvdHRvbSgpIGNvbnN0IE9WRVJSSURFIEZJ
TkFMOwotICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBtYXJnaW5CZWZvcmUoY29uc3QgUmVuZGVyU3R5
bGUqIG90aGVyU3R5bGUgPSAwKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIExh
eW91dFVuaXQgbWFyZ2luQWZ0ZXIoY29uc3QgUmVuZGVyU3R5bGUqIG90aGVyU3R5bGUgPSAwKSBj
b25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIExheW91dFVuaXQgbWFyZ2luU3RhcnQo
Y29uc3QgUmVuZGVyU3R5bGUqIG90aGVyU3R5bGUgPSAwKSBjb25zdCBPVkVSUklERSBGSU5BTDsK
LSAgICB2aXJ0dWFsIExheW91dFVuaXQgbWFyZ2luRW5kKGNvbnN0IFJlbmRlclN0eWxlKiBvdGhl
clN0eWxlID0gMCkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgYWJz
b2x1dGVSZWN0cyhWZWN0b3I8SW50UmVjdD4mLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0
ZWRPZmZzZXQpIGNvbnN0IE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBt
YXJnaW5MZWZ0KCkgY29uc3Q7CisgICAgdmlydHVhbCBMYXlvdXRVbml0IG1hcmdpblJpZ2h0KCkg
Y29uc3Q7CisgICAgdmlydHVhbCBMYXlvdXRVbml0IG1hcmdpblRvcCgpIGNvbnN0OworICAgIHZp
cnR1YWwgTGF5b3V0VW5pdCBtYXJnaW5Cb3R0b20oKSBjb25zdDsKKyAgICB2aXJ0dWFsIExheW91
dFVuaXQgbWFyZ2luQmVmb3JlKGNvbnN0IFJlbmRlclN0eWxlKiBvdGhlclN0eWxlID0gMCkgY29u
c3Q7CisgICAgdmlydHVhbCBMYXlvdXRVbml0IG1hcmdpbkFmdGVyKGNvbnN0IFJlbmRlclN0eWxl
KiBvdGhlclN0eWxlID0gMCkgY29uc3Q7CisgICAgdmlydHVhbCBMYXlvdXRVbml0IG1hcmdpblN0
YXJ0KGNvbnN0IFJlbmRlclN0eWxlKiBvdGhlclN0eWxlID0gMCkgY29uc3Q7CisgICAgdmlydHVh
bCBMYXlvdXRVbml0IG1hcmdpbkVuZChjb25zdCBSZW5kZXJTdHlsZSogb3RoZXJTdHlsZSA9IDAp
IGNvbnN0OworCisgICAgdmlydHVhbCB2b2lkIGFic29sdXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+
JiwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBjb25zdDsKICAgICB2aXJ0
dWFsIHZvaWQgYWJzb2x1dGVRdWFkcyhWZWN0b3I8RmxvYXRRdWFkPiYsIGJvb2wqIHdhc0ZpeGVk
KSBjb25zdDsKIAotICAgIHZpcnR1YWwgTGF5b3V0U2l6ZSBvZmZzZXRGcm9tQ29udGFpbmVyKFJl
bmRlck9iamVjdCosIGNvbnN0IExheW91dFBvaW50JiwgYm9vbCogb2Zmc2V0RGVwZW5kc09uUG9p
bnQgPSAwKSBjb25zdCBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIExheW91dFNpemUgb2Zm
c2V0RnJvbUNvbnRhaW5lcihSZW5kZXJPYmplY3QqLCBjb25zdCBMYXlvdXRQb2ludCYsIGJvb2wq
IG9mZnNldERlcGVuZHNPblBvaW50ID0gMCkgY29uc3Q7CiAKICAgICBJbnRSZWN0IGxpbmVzQm91
bmRpbmdCb3goKSBjb25zdDsKICAgICBMYXlvdXRSZWN0IGxpbmVzVmlzdWFsT3ZlcmZsb3dCb3Vu
ZGluZ0JveCgpIGNvbnN0OwpAQCAtNzQsMTQgKzc0LDE0IEBAIHB1YmxpYzoKICAgICBJbmxpbmVC
b3gqIGZpcnN0TGluZUJveEluY2x1ZGluZ0N1bGxpbmcoKSBjb25zdCB7IHJldHVybiBhbHdheXND
cmVhdGVMaW5lQm94ZXMoKSA/IGZpcnN0TGluZUJveCgpIDogY3VsbGVkSW5saW5lRmlyc3RMaW5l
Qm94KCk7IH0KICAgICBJbmxpbmVCb3gqIGxhc3RMaW5lQm94SW5jbHVkaW5nQ3VsbGluZygpIGNv
bnN0IHsgcmV0dXJuIGFsd2F5c0NyZWF0ZUxpbmVCb3hlcygpID8gbGFzdExpbmVCb3goKSA6IGN1
bGxlZElubGluZUxhc3RMaW5lQm94KCk7IH0KIAotICAgIHZpcnR1YWwgUmVuZGVyQm94TW9kZWxP
YmplY3QqIHZpcnR1YWxDb250aW51YXRpb24oKSBjb25zdCBPVkVSUklERSBGSU5BTCB7IHJldHVy
biBjb250aW51YXRpb24oKTsgfQorICAgIHZpcnR1YWwgUmVuZGVyQm94TW9kZWxPYmplY3QqIHZp
cnR1YWxDb250aW51YXRpb24oKSBjb25zdCB7IHJldHVybiBjb250aW51YXRpb24oKTsgfQogICAg
IFJlbmRlcklubGluZSogaW5saW5lRWxlbWVudENvbnRpbnVhdGlvbigpIGNvbnN0OwogCi0gICAg
dmlydHVhbCB2b2lkIHVwZGF0ZURyYWdTdGF0ZShib29sIGRyYWdPbikgT1ZFUlJJREUgRklOQUw7
CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZURyYWdTdGF0ZShib29sIGRyYWdPbik7CiAgICAgCiAg
ICAgTGF5b3V0U2l6ZSBvZmZzZXRGb3JJbkZsb3dQb3NpdGlvbmVkSW5saW5lKGNvbnN0IFJlbmRl
ckJveCogY2hpbGQpIGNvbnN0OwogCi0gICAgdmlydHVhbCB2b2lkIGFkZEZvY3VzUmluZ1JlY3Rz
KFZlY3RvcjxJbnRSZWN0PiYsIGNvbnN0IExheW91dFBvaW50JiBhZGRpdGlvbmFsT2Zmc2V0LCBj
b25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBwYWludENvbnRhaW5lciA9IDApIE9WRVJSSURF
IEZJTkFMOworICAgIHZpcnR1YWwgdm9pZCBhZGRGb2N1c1JpbmdSZWN0cyhWZWN0b3I8SW50UmVj
dD4mLCBjb25zdCBMYXlvdXRQb2ludCYgYWRkaXRpb25hbE9mZnNldCwgY29uc3QgUmVuZGVyTGF5
ZXJNb2RlbE9iamVjdCogcGFpbnRDb250YWluZXIgPSAwKSBPVkVSUklERTsKICAgICB2b2lkIHBh
aW50T3V0bGluZShQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwogCiAgICAgdXNpbmcg
UmVuZGVyQm94TW9kZWxPYmplY3Q6OmNvbnRpbnVhdGlvbjsKQEAgLTkxLDcgKzkxLDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0QWx3YXlzQ3JlYXRlTGluZUJveGVzKCkgeyBtX2Fsd2F5c0NyZWF0
ZUxpbmVCb3hlcyA9IHRydWU7IH0KICAgICB2b2lkIHVwZGF0ZUFsd2F5c0NyZWF0ZUxpbmVCb3hl
cyhib29sIGZ1bGxMYXlvdXQpOwogCi0gICAgdmlydHVhbCBMYXlvdXRSZWN0IGxvY2FsQ2FyZXRS
ZWN0KElubGluZUJveCosIGludCwgTGF5b3V0VW5pdCogZXh0cmFXaWR0aFRvRW5kT2ZMaW5lKSBP
VkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIExheW91dFJlY3QgbG9jYWxDYXJldFJlY3QoSW5s
aW5lQm94KiwgaW50LCBMYXlvdXRVbml0KiBleHRyYVdpZHRoVG9FbmRPZkxpbmUpIE9WRVJSSURF
OwogCiAgICAgYm9vbCBoaXRUZXN0Q3VsbGVkSW5saW5lKGNvbnN0IEhpdFRlc3RSZXF1ZXN0Jiwg
SGl0VGVzdFJlc3VsdCYsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5l
ciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KTsKIApAQCAtMTAxLDE0ICsx
MDEsMTQgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHls
ZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkgT1ZFUlJJREU7CiAKIHBy
aXZhdGU6Ci0gICAgdmlydHVhbCBSZW5kZXJPYmplY3RDaGlsZExpc3QqIHZpcnR1YWxDaGlsZHJl
bigpIE9WRVJSSURFIEZJTkFMIHsgcmV0dXJuIGNoaWxkcmVuKCk7IH0KLSAgICB2aXJ0dWFsIGNv
bnN0IFJlbmRlck9iamVjdENoaWxkTGlzdCogdmlydHVhbENoaWxkcmVuKCkgY29uc3QgT1ZFUlJJ
REUgRklOQUwgeyByZXR1cm4gY2hpbGRyZW4oKTsgfQorICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0
Q2hpbGRMaXN0KiB2aXJ0dWFsQ2hpbGRyZW4oKSB7IHJldHVybiBjaGlsZHJlbigpOyB9CisgICAg
dmlydHVhbCBjb25zdCBSZW5kZXJPYmplY3RDaGlsZExpc3QqIHZpcnR1YWxDaGlsZHJlbigpIGNv
bnN0IHsgcmV0dXJuIGNoaWxkcmVuKCk7IH0KICAgICBjb25zdCBSZW5kZXJPYmplY3RDaGlsZExp
c3QqIGNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gJm1fY2hpbGRyZW47IH0KICAgICBSZW5kZXJP
YmplY3RDaGlsZExpc3QqIGNoaWxkcmVuKCkgeyByZXR1cm4gJm1fY2hpbGRyZW47IH0KIAogICAg
IHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0OwogCi0gICAgdmlydHVhbCBi
b29sIGlzUmVuZGVySW5saW5lKCkgY29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gdHJ1ZTsg
fQorICAgIHZpcnR1YWwgYm9vbCBpc1JlbmRlcklubGluZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7
IH0KIAogICAgIExheW91dFJlY3QgY3VsbGVkSW5saW5lVmlzdWFsT3ZlcmZsb3dCb3VuZGluZ0Jv
eCgpIGNvbnN0OwogICAgIElubGluZUJveCogY3VsbGVkSW5saW5lRmlyc3RMaW5lQm94KCkgY29u
c3Q7CkBAIC0xMjAsMzggKzEyMCwzOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZ2VuZXJhdGVDdWxs
ZWRMaW5lQm94UmVjdHMoR2VuZXJhdG9yQ29udGV4dCYgeWllbGQsIGNvbnN0IFJlbmRlcklubGlu
ZSogY29udGFpbmVyKSBjb25zdDsKIAogICAgIHZvaWQgYWRkQ2hpbGRUb0NvbnRpbnVhdGlvbihS
ZW5kZXJPYmplY3QqIG5ld0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKTsKLSAgICB2
aXJ0dWFsIHZvaWQgYWRkQ2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbihSZW5kZXJPYmplY3QqIG5l
d0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkID0gMCkgT1ZFUlJJREUgRklOQUw7Cisg
ICAgdmlydHVhbCB2b2lkIGFkZENoaWxkSWdub3JpbmdDb250aW51YXRpb24oUmVuZGVyT2JqZWN0
KiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IDApOwogCiAgICAgdm9pZCBz
cGxpdElubGluZXMoUmVuZGVyQmxvY2sqIGZyb21CbG9jaywgUmVuZGVyQmxvY2sqIHRvQmxvY2ss
IFJlbmRlckJsb2NrKiBtaWRkbGVCbG9jaywKICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJP
YmplY3QqIGJlZm9yZUNoaWxkLCBSZW5kZXJCb3hNb2RlbE9iamVjdCogb2xkQ29udCk7CiAgICAg
dm9pZCBzcGxpdEZsb3coUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCwgUmVuZGVyQmxvY2sqIG5l
d0Jsb2NrQm94LAogICAgICAgICAgICAgICAgICAgIFJlbmRlck9iamVjdCogbmV3Q2hpbGQsIFJl
bmRlckJveE1vZGVsT2JqZWN0KiBvbGRDb250KTsKIAotICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQo
KSBPVkVSUklERSBGSU5BTCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9IC8vIERvIG5vdGhpbmcg
Zm9yIGxheW91dCgpCisgICAgdmlydHVhbCB2b2lkIGxheW91dCgpIHsgQVNTRVJUX05PVF9SRUFD
SEVEKCk7IH0gLy8gRG8gbm90aGluZyBmb3IgbGF5b3V0KCkKIAotICAgIHZpcnR1YWwgdm9pZCBw
YWludChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpIE9WRVJSSURFIEZJTkFMOworICAg
IHZpcnR1YWwgdm9pZCBwYWludChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwogCi0g
ICAgdmlydHVhbCBib29sIG5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVz
dFJlc3VsdCYsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29u
c3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uKSBPVkVSUklE
RSBGSU5BTDsKKyAgICB2aXJ0dWFsIGJvb2wgbm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVl
c3QmLCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29u
dGFpbmVyLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rp
b24pIE9WRVJSSURFOwogCi0gICAgdmlydHVhbCBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdCBP
VkVSUklERSB7IHJldHVybiBpc0luRmxvd1Bvc2l0aW9uZWQoKSB8fCBjcmVhdGVzR3JvdXAoKSB8
fCBoYXNDbGlwUGF0aCgpOyB9CisgICAgdmlydHVhbCBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25z
dCB7IHJldHVybiBpc0luRmxvd1Bvc2l0aW9uZWQoKSB8fCBjcmVhdGVzR3JvdXAoKSB8fCBoYXND
bGlwUGF0aCgpOyB9CiAKLSAgICB2aXJ0dWFsIExheW91dFVuaXQgb2Zmc2V0TGVmdCgpIGNvbnN0
IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBvZmZzZXRUb3AoKSBjb25z
dCBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIExheW91dFVuaXQgb2Zmc2V0V2lkdGgoKSBj
b25zdCBPVkVSUklERSBGSU5BTCB7IHJldHVybiBsaW5lc0JvdW5kaW5nQm94KCkud2lkdGgoKTsg
fQotICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBvZmZzZXRIZWlnaHQoKSBjb25zdCBPVkVSUklERSBG
SU5BTCB7IHJldHVybiBsaW5lc0JvdW5kaW5nQm94KCkuaGVpZ2h0KCk7IH0KKyAgICB2aXJ0dWFs
IExheW91dFVuaXQgb2Zmc2V0TGVmdCgpIGNvbnN0OworICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBv
ZmZzZXRUb3AoKSBjb25zdDsKKyAgICB2aXJ0dWFsIExheW91dFVuaXQgb2Zmc2V0V2lkdGgoKSBj
b25zdCB7IHJldHVybiBsaW5lc0JvdW5kaW5nQm94KCkud2lkdGgoKTsgfQorICAgIHZpcnR1YWwg
TGF5b3V0VW5pdCBvZmZzZXRIZWlnaHQoKSBjb25zdCB7IHJldHVybiBsaW5lc0JvdW5kaW5nQm94
KCkuaGVpZ2h0KCk7IH0KIAogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBjbGlwcGVkT3ZlcmZsb3dS
ZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFp
bmVyKSBjb25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIExheW91dFJlY3QgcmVjdFdpdGhPdXRs
aW5lRm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFp
bmVyLCBMYXlvdXRVbml0IG91dGxpbmVXaWR0aCkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0gICAg
dmlydHVhbCB2b2lkIGNvbXB1dGVSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBMYXlvdXRSZWN0JiwgYm9vbCBmaXhlZCkgY29uc3Qg
T1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCBMYXlvdXRSZWN0IHJlY3RXaXRoT3V0bGluZUZv
clJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwg
TGF5b3V0VW5pdCBvdXRsaW5lV2lkdGgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9p
ZCBjb21wdXRlUmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVw
YWludENvbnRhaW5lciwgTGF5b3V0UmVjdCYsIGJvb2wgZml4ZWQpIGNvbnN0IE9WRVJSSURFOwog
CiAgICAgdmlydHVhbCB2b2lkIG1hcExvY2FsVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJN
b2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgVHJhbnNmb3JtU3RhdGUmLCBNYXBDb29yZGlu
YXRlc0ZsYWdzID0gQXBwbHlDb250YWluZXJGbGlwLCBib29sKiB3YXNGaXhlZCA9IDApIGNvbnN0
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgY29uc3QgUmVuZGVyT2JqZWN0KiBwdXNoTWFwcGluZ1Rv
Q29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGFuY2VzdG9yVG9TdG9wQXQs
IFJlbmRlckdlb21ldHJ5TWFwJikgY29uc3QgT1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIFZpc2li
bGVQb3NpdGlvbiBwb3NpdGlvbkZvclBvaW50KGNvbnN0IExheW91dFBvaW50JikgT1ZFUlJJREUg
RklOQUw7CisgICAgdmlydHVhbCBWaXNpYmxlUG9zaXRpb24gcG9zaXRpb25Gb3JQb2ludChjb25z
dCBMYXlvdXRQb2ludCYpOwogCi0gICAgdmlydHVhbCBMYXlvdXRSZWN0IGZyYW1lUmVjdEZvclN0
aWNreVBvc2l0aW9uaW5nKCkgY29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gbGluZXNCb3Vu
ZGluZ0JveCgpOyB9CisgICAgdmlydHVhbCBMYXlvdXRSZWN0IGZyYW1lUmVjdEZvclN0aWNreVBv
c2l0aW9uaW5nKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gbGluZXNCb3VuZGluZ0JveCgpOyB9
CiAKLSAgICB2aXJ0dWFsIEludFJlY3QgYm9yZGVyQm91bmRpbmdCb3goKSBjb25zdCBPVkVSUklE
RSBGSU5BTAorICAgIHZpcnR1YWwgSW50UmVjdCBib3JkZXJCb3VuZGluZ0JveCgpIGNvbnN0CiAg
ICAgewogICAgICAgICBJbnRSZWN0IGJvdW5kaW5nQm94ID0gbGluZXNCb3VuZGluZ0JveCgpOwog
ICAgICAgICByZXR1cm4gSW50UmVjdCgwLCAwLCBib3VuZGluZ0JveC53aWR0aCgpLCBib3VuZGlu
Z0JveC5oZWlnaHQoKSk7CkBAIC0xNTksMjIgKzE1OSwyMiBAQCBwcml2YXRlOgogCiAgICAgdmly
dHVhbCBJbmxpbmVGbG93Qm94KiBjcmVhdGVJbmxpbmVGbG93Qm94KCk7IC8vIFN1YmNsYXNzZWQg
YnkgU1ZHIGFuZCBSdWJ5CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlydHlMaW5lc0Zyb21DaGFuZ2Vk
Q2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCkgT1ZFUlJJREUgRklOQUwgeyBtX2xpbmVCb3hlcy5k
aXJ0eUxpbmVzRnJvbUNoYW5nZWRDaGlsZCh0aGlzLCBjaGlsZCk7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgZGlydHlMaW5lc0Zyb21DaGFuZ2VkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCkgeyBtX2xp
bmVCb3hlcy5kaXJ0eUxpbmVzRnJvbUNoYW5nZWRDaGlsZCh0aGlzLCBjaGlsZCk7IH0KIAotICAg
IHZpcnR1YWwgTGF5b3V0VW5pdCBsaW5lSGVpZ2h0KGJvb2wgZmlyc3RMaW5lLCBMaW5lRGlyZWN0
aW9uTW9kZSwgTGluZVBvc2l0aW9uTW9kZSA9IFBvc2l0aW9uT25Db250YWluaW5nTGluZSkgY29u
c3QgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBpbnQgYmFzZWxpbmVQb3NpdGlvbihGb250
QmFzZWxpbmUsIGJvb2wgZmlyc3RMaW5lLCBMaW5lRGlyZWN0aW9uTW9kZSwgTGluZVBvc2l0aW9u
TW9kZSA9IFBvc2l0aW9uT25Db250YWluaW5nTGluZSkgY29uc3QgT1ZFUlJJREUgRklOQUw7Cisg
ICAgdmlydHVhbCBMYXlvdXRVbml0IGxpbmVIZWlnaHQoYm9vbCBmaXJzdExpbmUsIExpbmVEaXJl
Y3Rpb25Nb2RlLCBMaW5lUG9zaXRpb25Nb2RlID0gUG9zaXRpb25PbkNvbnRhaW5pbmdMaW5lKSBj
b25zdDsKKyAgICB2aXJ0dWFsIGludCBiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSwgYm9v
bCBmaXJzdExpbmUsIExpbmVEaXJlY3Rpb25Nb2RlLCBMaW5lUG9zaXRpb25Nb2RlID0gUG9zaXRp
b25PbkNvbnRhaW5pbmdMaW5lKSBjb25zdDsKICAgICAKLSAgICB2aXJ0dWFsIHZvaWQgY2hpbGRC
ZWNhbWVOb25JbmxpbmUoUmVuZGVyT2JqZWN0KiBjaGlsZCkgT1ZFUlJJREUgRklOQUw7CisgICAg
dmlydHVhbCB2b2lkIGNoaWxkQmVjYW1lTm9uSW5saW5lKFJlbmRlck9iamVjdCogY2hpbGQpOwog
Ci0gICAgdmlydHVhbCB2b2lkIHVwZGF0ZUhpdFRlc3RSZXN1bHQoSGl0VGVzdFJlc3VsdCYsIGNv
bnN0IExheW91dFBvaW50JikgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0
ZUhpdFRlc3RSZXN1bHQoSGl0VGVzdFJlc3VsdCYsIGNvbnN0IExheW91dFBvaW50Jik7CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgaW1hZ2VDaGFuZ2VkKFdyYXBwZWRJbWFnZVB0ciwgY29uc3QgSW50UmVj
dCogPSAwKSBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIHZvaWQgaW1hZ2VDaGFuZ2VkKFdy
YXBwZWRJbWFnZVB0ciwgY29uc3QgSW50UmVjdCogPSAwKTsKIAogI2lmIEVOQUJMRShEQVNIQk9B
UkRfU1VQUE9SVCkgfHwgRU5BQkxFKERSQUdHQUJMRV9SRUdJT04pCi0gICAgdmlydHVhbCB2b2lk
IGFkZEFubm90YXRlZFJlZ2lvbnMoVmVjdG9yPEFubm90YXRlZFJlZ2lvblZhbHVlPiYpIE9WRVJS
SURFIEZJTkFMOworICAgIHZpcnR1YWwgdm9pZCBhZGRBbm5vdGF0ZWRSZWdpb25zKFZlY3RvcjxB
bm5vdGF0ZWRSZWdpb25WYWx1ZT4mKTsKICNlbmRpZgogICAgIAotICAgIHZpcnR1YWwgdm9pZCB1
cGRhdGVGcm9tU3R5bGUoKSBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
RnJvbVN0eWxlKCkgT1ZFUlJJREU7CiAgICAgCiAgICAgUmVuZGVySW5saW5lKiBjbG9uZSgpIGNv
bnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJN
b2RlbE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxP
YmplY3QuaAppbmRleCA4YzE5OGIwMzE4M2U3NDIwNDFkMGM0Nzg3NDk2YzUyY2I3MTQzZDkwLi4y
YTc0Mzk2MDE0OWQ3MzE3OWU0MzM5OGRhZDU3OTVjNTRmMWUxYTYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmgKQEAgLTU5LDcgKzU5
LDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKSBPVkVS
UklERTsKIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIGJvb2wgaXNMYXllck1vZGVsT2JqZWN0KCkg
Y29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBp
c0xheWVyTW9kZWxPYmplY3QoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAKICAg
ICBSZW5kZXJMYXllciogbV9sYXllcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aXN0Qm94LmgKaW5kZXggMTJlOTY4ZDkzMDI5MDkyNWQzNWFjODI3MmIyYzVlNjNhZTU1ZDAyNy4u
ZThlMDA1OWY1ZDI3OTg5MzAzMzJjMWJhMTE1N2IwNWZiMTkwY2YyMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCkBAIC0zOCw3ICszOCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgSFRNTFNlbGVjdEVsZW1lbnQ7CiAKLWNsYXNzIFJlbmRlckxpc3RC
b3ggRklOQUwgOiBwdWJsaWMgUmVuZGVyQmxvY2ssIHByaXZhdGUgU2Nyb2xsYWJsZUFyZWEgewor
Y2xhc3MgUmVuZGVyTGlzdEJveCA6IHB1YmxpYyBSZW5kZXJCbG9jaywgcHJpdmF0ZSBTY3JvbGxh
YmxlQXJlYSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyTGlzdEJveChFbGVtZW50Kik7
CiAgICAgdmlydHVhbCB+UmVuZGVyTGlzdEJveCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGlzdEl0ZW0uaAppbmRleCA0M2YwODA1M2U3NDZlZGVjMmEzOTkwYzRmZmFhMzVhNWZk
MWVkNjZhLi5mMzE5Y2ZkNzBlODFhNjUwOWQ5YzM3NTg4OGQ2NTg2NzI0OTRmMjYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uaApAQCAtMzAsNyArMzAsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBIVE1MT0xpc3RFbGVtZW50OwogY2xhc3MgUmVuZGVy
TGlzdE1hcmtlcjsKIAotY2xhc3MgUmVuZGVyTGlzdEl0ZW0gRklOQUwgOiBwdWJsaWMgUmVuZGVy
QmxvY2sgeworY2xhc3MgUmVuZGVyTGlzdEl0ZW0gOiBwdWJsaWMgUmVuZGVyQmxvY2sgewogcHVi
bGljOgogICAgIGV4cGxpY2l0IFJlbmRlckxpc3RJdGVtKEVsZW1lbnQqKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmgKaW5kZXggMTI1NTQ5ODhlZWRlZThj
YjgwZTg4ZDQ2NmFjYzMwZDI0MGEwZDMzMS4uZmZhYzRmYmI3YjFiZjdhMmJkYjYzZjBjNWViMjE4
ZGRkNDhlMTk5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
c3RNYXJrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtl
ci5oCkBAIC0zMyw3ICszMyw3IEBAIFN0cmluZyBsaXN0TWFya2VyVGV4dChFTGlzdFN0eWxlVHlw
ZSwgaW50IHZhbHVlKTsKIAogLy8gVXNlZCB0byByZW5kZXIgdGhlIGxpc3QgaXRlbSdzIG1hcmtl
ci4KIC8vIFRoZSBSZW5kZXJMaXN0TWFya2VyIGFsd2F5cyBoYXMgdG8gYmUgYSBjaGlsZCBvZiBh
IFJlbmRlckxpc3RJdGVtLgotY2xhc3MgUmVuZGVyTGlzdE1hcmtlciBGSU5BTCA6IHB1YmxpYyBS
ZW5kZXJCb3ggeworY2xhc3MgUmVuZGVyTGlzdE1hcmtlciA6IHB1YmxpYyBSZW5kZXJCb3ggewog
cHVibGljOgogICAgIHN0YXRpYyBSZW5kZXJMaXN0TWFya2VyKiBjcmVhdGVBbm9ueW1vdXMoUmVu
ZGVyTGlzdEl0ZW0qKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1lZGlhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuaAppbmRl
eCA0ZTYzZjk0N2ZkZTVmY2I3MzJjZmYyZDdlNmY0YmFkZTJlNWFkMWMzLi40OGI4NTJlZGYxZTRk
YTViMDAyYjI2MTQ3ZTA2OWExYWJiZTgwZGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWVkaWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTWVkaWEuaApAQCAtNTIsMTYgKzUyLDE2IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZv
aWQgbGF5b3V0KCk7CiAKIHByaXZhdGU6Ci0gICAgdmlydHVhbCBSZW5kZXJPYmplY3RDaGlsZExp
c3QqIHZpcnR1YWxDaGlsZHJlbigpIE9WRVJSSURFIEZJTkFMIHsgcmV0dXJuIGNoaWxkcmVuKCk7
IH0KLSAgICB2aXJ0dWFsIGNvbnN0IFJlbmRlck9iamVjdENoaWxkTGlzdCogdmlydHVhbENoaWxk
cmVuKCkgY29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gY2hpbGRyZW4oKTsgfQotICAgIHZp
cnR1YWwgYm9vbCBjYW5IYXZlQ2hpbGRyZW4oKSBjb25zdCBPVkVSUklERSBGSU5BTCB7IHJldHVy
biB0cnVlOyB9CisgICAgdmlydHVhbCBSZW5kZXJPYmplY3RDaGlsZExpc3QqIHZpcnR1YWxDaGls
ZHJlbigpIHsgcmV0dXJuIGNoaWxkcmVuKCk7IH0KKyAgICB2aXJ0dWFsIGNvbnN0IFJlbmRlck9i
amVjdENoaWxkTGlzdCogdmlydHVhbENoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gY2hpbGRyZW4o
KTsgfQorICAgIHZpcnR1YWwgYm9vbCBjYW5IYXZlQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9CiAKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJl
dHVybiAiUmVuZGVyTWVkaWEiOyB9Ci0gICAgdmlydHVhbCBib29sIGlzTWVkaWEoKSBjb25zdCBP
VkVSUklERSBGSU5BTCB7IHJldHVybiB0cnVlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzSW1hZ2Uo
KSBjb25zdCBPVkVSUklERSBGSU5BTCB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9v
bCBpc01lZGlhKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc0lt
YWdlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRSZXBs
YWNlZChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwogCi0gICAgdmlydHVhbCBib29s
IHJlcXVpcmVzRm9yY2VkU3R5bGVSZWNhbGNQcm9wYWdhdGlvbigpIGNvbnN0IE9WRVJSSURFIEZJ
TkFMIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgcmVxdWlyZXNGb3JjZWRTdHls
ZVJlY2FsY1Byb3BhZ2F0aW9uKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgUmVuZGVy
T2JqZWN0Q2hpbGRMaXN0IG1fY2hpbGRyZW47CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbEVsZW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sRWxlbWVudHMuaAppbmRleCBkMTU2YjYyYWE4
OWEzNDVhODJiNDVmOTc5OGMxNDNjYmVhMjU2MTA3Li5hM2RmMzY0ZDIyNjg2ZmY4MTA3NWUwMjEz
MTVlMDg3NGIwMzBjZmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTWVkaWFDb250cm9sRWxlbWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTWVkaWFDb250cm9sRWxlbWVudHMuaApAQCAtMzYsNyArMzYsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlbmRlck1lZGlhVm9sdW1lU2xpZGVyQ29udGFpbmVyIEZJ
TkFMIDogcHVibGljIFJlbmRlckJsb2NrIHsKK2NsYXNzIFJlbmRlck1lZGlhVm9sdW1lU2xpZGVy
Q29udGFpbmVyIDogcHVibGljIFJlbmRlckJsb2NrIHsKIHB1YmxpYzoKICAgICBSZW5kZXJNZWRp
YVZvbHVtZVNsaWRlckNvbnRhaW5lcihFbGVtZW50Kik7CiAKQEAgLTQ2LDcgKzQ2LDcgQEAgcHJp
dmF0ZToKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1jbGFzcyBSZW5kZXJN
ZWRpYUNvbnRyb2xUaW1lbGluZUNvbnRhaW5lciBGSU5BTCA6IHB1YmxpYyBSZW5kZXJGbGV4aWJs
ZUJveCB7CitjbGFzcyBSZW5kZXJNZWRpYUNvbnRyb2xUaW1lbGluZUNvbnRhaW5lciA6IHB1Ymxp
YyBSZW5kZXJGbGV4aWJsZUJveCB7CiBwdWJsaWM6CiAgICAgUmVuZGVyTWVkaWFDb250cm9sVGlt
ZWxpbmVDb250YWluZXIoRWxlbWVudCopOwogCkBAIC01OCw3ICs1OCw3IEBAIHByaXZhdGU6CiAK
ICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAKLWNsYXNzIFJlbmRlclRleHRUcmFja0NvbnRhaW5l
ckVsZW1lbnQgRklOQUwgOiBwdWJsaWMgUmVuZGVyQmxvY2sgeworY2xhc3MgUmVuZGVyVGV4dFRy
YWNrQ29udGFpbmVyRWxlbWVudCA6IHB1YmxpYyBSZW5kZXJCbG9jayB7CiBwdWJsaWM6CiAgICAg
UmVuZGVyVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudChFbGVtZW50Kik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgKaW5kZXggMGMwNDc0ODBjMjgzMDY3YWIyODNk
MGY1YjU3ZWUwODJmNTExOTVhNC4uMzUzYzJhODhlMDQzYWE4MTkyMGU3YzM5NDM4ZTI0NDU3OWFl
MDFiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgKQEAgLTQw
LDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSFRNTFNlbGVjdEVsZW1lbnQ7
CiBjbGFzcyBSZW5kZXJUZXh0OwogCi1jbGFzcyBSZW5kZXJNZW51TGlzdCBGSU5BTCA6IHB1Ymxp
YyBSZW5kZXJGbGV4aWJsZUJveCwgcHJpdmF0ZSBQb3B1cE1lbnVDbGllbnQgeworY2xhc3MgUmVu
ZGVyTWVudUxpc3QgOiBwdWJsaWMgUmVuZGVyRmxleGlibGVCb3gsIHByaXZhdGUgUG9wdXBNZW51
Q2xpZW50IHsKIAogcHVibGljOgogICAgIFJlbmRlck1lbnVMaXN0KEVsZW1lbnQqKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmgKaW5kZXggODczMWY5MjM0MzMxNDNkMWMyNjNk
MmU0NTRjNjVjYzNhNDU5Yzk3ZC4uYmMwOWQzZmQ2NThhNTZkNDE1ZmUxMDQxMTI3YTI4NTQzYzRk
ODc2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmgKQEAgLTMwLDcgKzMw
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MTWV0ZXJFbGVtZW50OwogCi1j
bGFzcyBSZW5kZXJNZXRlciBGSU5BTCA6IHB1YmxpYyBSZW5kZXJCbG9jayB7CitjbGFzcyBSZW5k
ZXJNZXRlciA6IHB1YmxpYyBSZW5kZXJCbG9jayB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVu
ZGVyTWV0ZXIoSFRNTEVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJNZXRlcigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uQmxvY2su
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkJsb2NrLmgKaW5k
ZXggODdjYmUwZDA0NzU2Mzc2MzQ5MWVhYWY0OGE5YmY0OGYxYjU4NWNlNC4uOWRhYjkyNDk3MDcw
OGRmZTk2NjE2YTNlY2JiNzVhZDE0OTAyNjJmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5CbG9jay5oCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkOwogCi1j
bGFzcyBSZW5kZXJNdWx0aUNvbHVtbkJsb2NrIEZJTkFMIDogcHVibGljIFJlbmRlckJsb2NrIHsK
K2NsYXNzIFJlbmRlck11bHRpQ29sdW1uQmxvY2sgOiBwdWJsaWMgUmVuZGVyQmxvY2sgewogcHVi
bGljOgogICAgIFJlbmRlck11bHRpQ29sdW1uQmxvY2soRWxlbWVudCopOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmgK
aW5kZXggYjAyYzA4ZTU4NThlZmM2YTQ2MmNmMWY1NTYwNjM1NTljMzAwNGJmMy4uM2JhNDBiZDIy
MGI1MDA0MmU3ZTZjN2M2ZDk2ZTQzOWU1NzEyOTVkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQuaApAQCAtMzEsNyAr
MzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlbmRlck11bHRpQ29sdW1u
Rmxvd1RocmVhZCBGSU5BTCA6IHB1YmxpYyBSZW5kZXJGbG93VGhyZWFkIHsKK2NsYXNzIFJlbmRl
ck11bHRpQ29sdW1uRmxvd1RocmVhZCA6IHB1YmxpYyBSZW5kZXJGbG93VGhyZWFkIHsKIHB1Ymxp
YzoKICAgICB+UmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmgKaW5kZXggM2MxMDAxMzNhMWRi
ZTQxYTVmMzg0OThhZTk3NTNmZTNhY2VhOTQ4My4uMjA1YjZlNWU2NmVjNzM2Y2ZiOTMzMTYzMjk2
M2U2MjAwZjE1MjI2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck11bHRpQ29sdW1uU2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11
bHRpQ29sdW1uU2V0LmgKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8K
IC8vIENvbHVtbiBzcGFucyByZXN1bHQgaW4gdGhlIGNyZWF0aW9uIG9mIG5ldyBjb2x1bW4gc2V0
cyBhcyB3ZWxsLCBzaW5jZSBhIHNwYW5uaW5nIHJlZ2lvbiBoYXMgdG8gYmUgcGxhY2VkIGluIGJl
dHdlZW4gdGhlIGNvbHVtbiBzZXRzIHRoYXQKIC8vIGNvbWUgYmVmb3JlIGFuZCBhZnRlciB0aGUg
c3Bhbi4KLWNsYXNzIFJlbmRlck11bHRpQ29sdW1uU2V0IEZJTkFMIDogcHVibGljIFJlbmRlclJl
Z2lvblNldCB7CitjbGFzcyBSZW5kZXJNdWx0aUNvbHVtblNldCA6IHB1YmxpYyBSZW5kZXJSZWdp
b25TZXQgewogcHVibGljOgogICAgIHN0YXRpYyBSZW5kZXJNdWx0aUNvbHVtblNldCogY3JlYXRl
QW5vbnltb3VzKFJlbmRlckZsb3dUaHJlYWQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5oCmluZGV4IDFmNGI1ODZjMTUwZTdhMjAyZjhh
ZTk2NDBiMTRhMWIzNmJhODdhZTAuLjJjOGQ4MDExZThhM2ViZjgzMmFiMTVhNjhjMzg1ZDZjZjNm
NzQyNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZs
b3dUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93
VGhyZWFkLmgKQEAgLTQzLDcgKzQzLDcgQEAgdHlwZWRlZiBMaXN0SGFzaFNldDxSZW5kZXJOYW1l
ZEZsb3dUaHJlYWQqPiBSZW5kZXJOYW1lZEZsb3dUaHJlYWRMaXN0OwogdHlwZWRlZiBIYXNoQ291
bnRlZFNldDxSZW5kZXJOYW1lZEZsb3dUaHJlYWQqPiBSZW5kZXJOYW1lZEZsb3dUaHJlYWRDb3Vu
dGVkU2V0OwogdHlwZWRlZiBMaXN0SGFzaFNldDxOb2RlKj4gTmFtZWRGbG93Q29udGVudE5vZGVz
OwogCi1jbGFzcyBSZW5kZXJOYW1lZEZsb3dUaHJlYWQgRklOQUwgOiBwdWJsaWMgUmVuZGVyRmxv
d1RocmVhZCB7CitjbGFzcyBSZW5kZXJOYW1lZEZsb3dUaHJlYWQgOiBwdWJsaWMgUmVuZGVyRmxv
d1RocmVhZCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+UmVuZGVyTmFtZWRGbG93VGhyZWFkKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0LmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydC5oCmluZGV4IGU0NmZhZmYyZTkyYzYx
Mzg0ZjRhYzQyOTA1NTllNDUyODBjOTY2MjQuLjUzOGIwZjk3M2Q2OWYzYmU3ZWEzN2RhNmMxODdk
N2Y2ODFiYzVlODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQ
YXJ0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnQuaApAQCAtMzMs
MjYgKzMzLDI2IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJQYXJ0KEVsZW1lbnQqKTsK
ICAgICB2aXJ0dWFsIH5SZW5kZXJQYXJ0KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2V0V2lkZ2V0
KFBhc3NSZWZQdHI8V2lkZ2V0PikgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCB2b2lkIHNl
dFdpZGdldChQYXNzUmVmUHRyPFdpZGdldD4pOwogICAgIHZpcnR1YWwgdm9pZCB2aWV3Q2xlYXJl
ZCgpOwogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGJvb2wgcmVxdWly
ZXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkgY29uc3Q7CiAjZW5kaWYKIAotICAgIHZpcnR1YWwg
Ym9vbCBuZWVkc1ByZWZlcnJlZFdpZHRoc1JlY2FsY3VsYXRpb24oKSBjb25zdCBPVkVSUklERSBG
SU5BTDsKLSAgICB2aXJ0dWFsIFJlbmRlckJveCogZW1iZWRkZWRDb250ZW50Qm94KCkgY29uc3Qg
T1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCBib29sIG5lZWRzUHJlZmVycmVkV2lkdGhzUmVj
YWxjdWxhdGlvbigpIGNvbnN0OworICAgIHZpcnR1YWwgUmVuZGVyQm94KiBlbWJlZGRlZENvbnRl
bnRCb3goKSBjb25zdDsKIAogICAgIHZpcnR1YWwgYm9vbCBub2RlQXRQb2ludChjb25zdCBIaXRU
ZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0
aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0
VGVzdEFjdGlvbikgT1ZFUlJJREU7CiAKIHByb3RlY3RlZDoKICNpZiBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCi0gICAgdmlydHVhbCBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdCBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0OwogI2VuZGlmCiAK
IHByaXZhdGU6Ci0gICAgdmlydHVhbCBib29sIGlzUmVuZGVyUGFydCgpIGNvbnN0IE9WRVJSSURF
IEZJTkFMIHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5h
bWUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiAiUmVuZGVyUGFydCI7IH0KKyAgICB2aXJ0dWFs
IGJvb2wgaXNSZW5kZXJQYXJ0KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwg
Y29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJQYXJ0IjsgfQog
fTsKIAogaW5saW5lIFJlbmRlclBhcnQqIHRvUmVuZGVyUGFydChSZW5kZXJPYmplY3QqIG9iamVj
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmgKaW5kZXggNzcyNWRi
ZGUxZTExYmYwODA0MTc0YjkzYTRjOTZiZTQ1ODAzZTg0Yi4uMTQyOGQ4MzhiNDkxZmU2ZTE1NmFm
MzQwMDBiYmI2NmZlYTc4ZDcxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclByb2dyZXNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBy
b2dyZXNzLmgKQEAgLTI4LDcgKzI4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBI
VE1MUHJvZ3Jlc3NFbGVtZW50OwogCi1jbGFzcyBSZW5kZXJQcm9ncmVzcyBGSU5BTCA6IHB1Ymxp
YyBSZW5kZXJCbG9jayB7CitjbGFzcyBSZW5kZXJQcm9ncmVzcyA6IHB1YmxpYyBSZW5kZXJCbG9j
ayB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyUHJvZ3Jlc3MoSFRNTEVsZW1lbnQqKTsK
ICAgICB2aXJ0dWFsIH5SZW5kZXJQcm9ncmVzcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJlZ2lvbi5oCmluZGV4IGI5M2MxMTVmN2MyNWM0MjdmODdkYjY0Y2RlMTFmZmE2MDZkMjU1
YWIuLmUyZjU1ZWUyNTRkNzNmYTU0NjhmN2Y1N2VjYzUxNTRlYzBjNGM0YzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgUmVu
ZGVyUmVnaW9uIDogcHVibGljIFJlbmRlckJsb2NrIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBS
ZW5kZXJSZWdpb24oRWxlbWVudCosIFJlbmRlckZsb3dUaHJlYWQqKTsKIAotICAgIHZpcnR1YWwg
Ym9vbCBpc1JlbmRlclJlZ2lvbigpIGNvbnN0IE9WRVJSSURFIEZJTkFMIHsgcmV0dXJuIHRydWU7
IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJSZWdpb24oKSBjb25zdCB7IHJldHVybiB0cnVl
OyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaGl0VGVzdENvbnRlbnRzKGNvbnN0IEhpdFRlc3RSZXF1
ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgbG9jYXRpb25JbkNv
bnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRUZXN0QWN0
aW9uKSBPVkVSUklERTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJlZ2lvblNldC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvblNl
dC5oCmluZGV4IGEwOTYzZmJkMDlkM2NhYjEwN2EzMzg4ZjA0Y2UzNGEyZjNjOTgxODMuLmFhODk2
OWQ2NzYzZjllMzA4ZTUyNTY2OTgzNTFjNDY0OGRkZmM3NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb25TZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUmVnaW9uU2V0LmgKQEAgLTUzLDEzICs1MywxMyBAQCBwcm90ZWN0ZWQ6
CiAgICAgdmlydHVhbCBib29sIHNob3VsZEhhdmVBdXRvTG9naWNhbEhlaWdodCgpIGNvbnN0IE9W
RVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CiAKIHByaXZhdGU6Ci0gICAgdmlydHVhbCB2b2lkIGlu
c3RhbGxGbG93VGhyZWFkKCkgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCB2b2lkIGluc3Rh
bGxGbG93VGhyZWFkKCkgT1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgZXhwYW5kVG9FbmNv
bXBhc3NGbG93VGhyZWFkQ29udGVudHNJZk5lZWRlZCgpIE9WRVJSSURFIEZJTkFMOworICAgIHZp
cnR1YWwgdm9pZCBleHBhbmRUb0VuY29tcGFzc0Zsb3dUaHJlYWRDb250ZW50c0lmTmVlZGVkKCkg
T1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCA9
IDA7CiAgICAgCi0gICAgdmlydHVhbCBib29sIGlzUmVuZGVyUmVnaW9uU2V0KCkgY29uc3QgT1ZF
UlJJREUgRklOQUwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1JlbmRlclJl
Z2lvblNldCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJSZXBsYWNlZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgK
aW5kZXggNDU2Yzc2Yjc4OTJjYzAxZDBmYWMxYzZmMzc1ZDg0ZDNmMmU2MDU1My4uYWU4NWU0NGI3
N2NjYjRmZTdlNGFlMTJiNTkwMTBlNWNhODRjN2U1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclJlcGxhY2VkLmgKQEAgLTQzLDEwICs0MywxMCBAQCBwcm90ZWN0ZWQ6CiAKICAg
ICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7CiAKLSAgICB2aXJ0dWFsIExheW91dFNpemUgaW50cmlu
c2ljU2l6ZSgpIGNvbnN0IE9WRVJSSURFIEZJTkFMIHsgcmV0dXJuIG1faW50cmluc2ljU2l6ZTsg
fQorICAgIHZpcnR1YWwgTGF5b3V0U2l6ZSBpbnRyaW5zaWNTaXplKCkgY29uc3QgT1ZFUlJJREUg
eyByZXR1cm4gbV9pbnRyaW5zaWNTaXplOyB9CiAgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVJbnRy
aW5zaWNSYXRpb0luZm9ybWF0aW9uKEZsb2F0U2l6ZSYgaW50cmluc2ljU2l6ZSwgZG91YmxlJiBp
bnRyaW5zaWNSYXRpbywgYm9vbCYgaXNQZXJjZW50YWdlSW50cmluc2ljU2l6ZSkgY29uc3Q7CiAK
LSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5p
dCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0IE9W
RVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlSW50cmluc2ljTG9naWNhbFdp
ZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxX
aWR0aCkgY29uc3QgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIExheW91dFVuaXQgbWluaW11bVJl
cGxhY2VkSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gTGF5b3V0VW5pdCgpOyB9CiAKQEAgLTYwLDI2
ICs2MCwyNiBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGludHJpbnNpY1NpemVDaGFu
Z2VkKCk7CiAgICAgdmlydHVhbCBib29sIGhhc1JlbGF0aXZlSW50cmluc2ljTG9naWNhbFdpZHRo
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBwYWludChQYWlu
dEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBw
YWludChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwogICAgIGJvb2wgc2hvdWxkUGFp
bnQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKTsKICAgICBMYXlvdXRSZWN0IGxvY2Fs
U2VsZWN0aW9uUmVjdChib29sIGNoZWNrV2hldGhlclNlbGVjdGVkID0gdHJ1ZSkgY29uc3Q7IC8v
IFRoaXMgaXMgaW4gbG9jYWwgY29vcmRpbmF0ZXMsIGJ1dCBpdCdzIGEgcGh5c2ljYWwgcmVjdCAo
c28gdGhlIHRvcCBsZWZ0IGNvcm5lciBpcyBwaHlzaWNhbCB0b3AgbGVmdCkuCiAKIHByaXZhdGU6
CiAgICAgdmlydHVhbCBSZW5kZXJCb3gqIGVtYmVkZGVkQ29udGVudEJveCgpIGNvbnN0IHsgcmV0
dXJuIDA7IH0KLSAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBPVkVS
UklERSB7IHJldHVybiAiUmVuZGVyUmVwbGFjZWQiOyB9CisgICAgdmlydHVhbCBjb25zdCBjaGFy
KiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclJlcGxhY2VkIjsgfQogCiAgICAg
dmlydHVhbCBib29sIGNhbkhhdmVDaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAK
LSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKSBPVkVSUklE
RSBGSU5BTDsKKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMo
KTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRSZXBsYWNlZChQYWludEluZm8mLCBjb25zdCBMYXlv
dXRQb2ludCYpIHsgfQogCiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IGNsaXBwZWRPdmVyZmxvd1Jl
Y3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWlu
ZXIpIGNvbnN0IE9WRVJSSURFOwogCi0gICAgdmlydHVhbCBWaXNpYmxlUG9zaXRpb24gcG9zaXRp
b25Gb3JQb2ludChjb25zdCBMYXlvdXRQb2ludCYpIE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1
YWwgVmlzaWJsZVBvc2l0aW9uIHBvc2l0aW9uRm9yUG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmKTsK
ICAgICAKICAgICB2aXJ0dWFsIGJvb2wgY2FuQmVTZWxlY3Rpb25MZWFmKCkgY29uc3QgeyByZXR1
cm4gdHJ1ZTsgfQogCi0gICAgdmlydHVhbCBMYXlvdXRSZWN0IHNlbGVjdGlvblJlY3RGb3JSZXBh
aW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIGJvb2wg
Y2xpcFRvVmlzaWJsZUNvbnRlbnQgPSB0cnVlKSBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFs
IExheW91dFJlY3Qgc2VsZWN0aW9uUmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2Rl
bE9iamVjdCogcmVwYWludENvbnRhaW5lciwgYm9vbCBjbGlwVG9WaXNpYmxlQ29udGVudCA9IHRy
dWUpIE9WRVJSSURFOwogICAgIHZvaWQgY29tcHV0ZUFzcGVjdFJhdGlvSW5mb3JtYXRpb25Gb3JS
ZW5kZXJCb3goUmVuZGVyQm94KiwgRmxvYXRTaXplJiBjb25zdHJhaW5lZFNpemUsIGRvdWJsZSYg
aW50cmluc2ljUmF0aW8sIGJvb2wmIGlzUGVyY2VudGFnZUludHJpbnNpY1NpemUpIGNvbnN0Owog
CiAgICAgbXV0YWJsZSBMYXlvdXRTaXplIG1faW50cmluc2ljU2l6ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsaWNhLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUmVwbGljYS5oCmluZGV4IDJmZjI5MjQ4NDVmNzc0MWVhOGM2MTNmNzVh
MTVhYjVlMTBmYjZlOGEuLjQ2NjVlMTNmMTg4MTRlMWE5MGFiYThkM2QwNDM1MjRiNmEzNGY5OGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsaWNhLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxpY2EuaApAQCAtMzMsNyArMzMs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlbmRlclJlcGxpY2EgRklOQUwg
OiBwdWJsaWMgUmVuZGVyQm94IHsKK2NsYXNzIFJlbmRlclJlcGxpY2EgOiBwdWJsaWMgUmVuZGVy
Qm94IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVuZGVyUmVwbGljYSogY3JlYXRlQW5vbnltb3Vz
KERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJSdWJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieS5oCmluZGV4IDQw
NzM2NTNjYjBhZDEwZjJkYzgwMTg3ZWZhYmUyYjdmOTBjNGY3N2YuLjI0OTQ2MzlmOWE1NGI2OTZi
MzIzZDc3NWNhMzI1YTgxMTU1NmRlNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJSdWJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1
YnkuaApAQCAtNTEsNyArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBHZW5lcmF0ZWQg
OmJlZm9yZS86YWZ0ZXIgY29udGVudCBpcyBzaHVudGVkIGludG8gYW5vbnltb3VzIGlubGluZSBi
bG9ja3MKIAogLy8gPHJ1Ynk+IHdoZW4gdXNlZCBhcyAnZGlzcGxheTppbmxpbmUnCi1jbGFzcyBS
ZW5kZXJSdWJ5QXNJbmxpbmUgRklOQUwgOiBwdWJsaWMgUmVuZGVySW5saW5lIHsKK2NsYXNzIFJl
bmRlclJ1YnlBc0lubGluZSA6IHB1YmxpYyBSZW5kZXJJbmxpbmUgewogcHVibGljOgogICAgIFJl
bmRlclJ1YnlBc0lubGluZShFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyUnVieUFzSW5s
aW5lKCk7CkBAIC03MCw3ICs3MCw3IEBAIHByaXZhdGU6CiB9OwogCiAvLyA8cnVieT4gd2hlbiB1
c2VkIGFzICdkaXNwbGF5OmJsb2NrJyBvciAnZGlzcGxheTppbmxpbmUtYmxvY2snCi1jbGFzcyBS
ZW5kZXJSdWJ5QXNCbG9jayBGSU5BTCA6IHB1YmxpYyBSZW5kZXJCbG9jayB7CitjbGFzcyBSZW5k
ZXJSdWJ5QXNCbG9jayA6IHB1YmxpYyBSZW5kZXJCbG9jayB7CiBwdWJsaWM6CiAgICAgUmVuZGVy
UnVieUFzQmxvY2soRWxlbWVudCopOwogICAgIHZpcnR1YWwgflJlbmRlclJ1YnlBc0Jsb2NrKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieUJhc2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5QmFzZS5oCmluZGV4IGE3NzQyZjdi
MTUwZjIwZDQxNWYyN2UzOGM5YmVmNTkzZmFhMDkyYTEuLjM4ODg2MDZiNDEwZmRmYTZkODYyM2Ez
ZTA4ZGU0YzFiNDBhMGU4Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJSdWJ5QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5
QmFzZS5oCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVu
ZGVyUnVieVJ1bjsKIAotY2xhc3MgUmVuZGVyUnVieUJhc2UgRklOQUwgOiBwdWJsaWMgUmVuZGVy
QmxvY2sgeworY2xhc3MgUmVuZGVyUnVieUJhc2UgOiBwdWJsaWMgUmVuZGVyQmxvY2sgewogcHVi
bGljOgogICAgIHZpcnR1YWwgflJlbmRlclJ1YnlCYXNlKCk7CiAgICAgCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieVJ1bi5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uaAppbmRleCBiYmFlN2E1OTcxYWQ3YjI3MmRmY2JlMzg4
YjI3ZWU4MjQyYzE3ZTE4Li4xZTU1M2E2YTAwOGQ2Y2VhNTYzZjgwYzcyZDM1YjFkYWQ2MzEwOTFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieVJ1bi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmgKQEAgLTQxLDcgKzQx
LDcgQEAgY2xhc3MgUmVuZGVyUnVieVRleHQ7CiAvLyBSZW5kZXJSdWJ5UnVuIGFyZSAnaW5saW5l
LWJsb2NrL3RhYmxlJyBsaWtlIG9iamVjdHMsYW5kIHdyYXAgYSBzaW5nbGUgcGFpcmluZyBvZiBh
IHJ1YnkgYmFzZSB3aXRoIGl0cyBydWJ5IHRleHQocykuCiAvLyBTZWUgUmVuZGVyUnVieS5oIGZv
ciBmdXJ0aGVyIGNvbW1lbnRzIG9uIHRoZSBzdHJ1Y3R1cmUKIAotY2xhc3MgUmVuZGVyUnVieVJ1
biBGSU5BTCA6IHB1YmxpYyBSZW5kZXJCbG9jayB7CitjbGFzcyBSZW5kZXJSdWJ5UnVuIDogcHVi
bGljIFJlbmRlckJsb2NrIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SZW5kZXJSdWJ5UnVuKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5VGV4dC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlUZXh0LmgKaW5kZXggMDIyMDQ5
MDAxZTA4ODE4ZWZiZmZhY2RiMWEyNjg1OTk0ZDI0MjdhOS4uMGIwYmFlNTgyM2M3MWY0Y2JhOTNi
ZTA2MWQxMjU2YjQwYzliNjc1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclJ1YnlUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1
YnlUZXh0LmgKQEAgLTM1LDcgKzM1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBSZW5kZXJSdWJ5VGV4dCBGSU5BTCA6IHB1YmxpYyBSZW5kZXJCbG9jayB7CitjbGFzcyBSZW5k
ZXJSdWJ5VGV4dCA6IHB1YmxpYyBSZW5kZXJCbG9jayB7CiBwdWJsaWM6CiAgICAgUmVuZGVyUnVi
eVRleHQoRWxlbWVudCopOwogICAgIHZpcnR1YWwgflJlbmRlclJ1YnlUZXh0KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuaAppbmRleCA3OWViOTQ3
ZGU2ZWUyMWY4YWI0MTllNTc2MGExYWM1Yzg0MjFiM2FhLi43NWI3YjUxMDY0NGZhYTJmNTZmY2Fk
ZTY1N2QzZjAyYjUwYTg0OTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU2Nyb2xsYmFyUGFydC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTY3JvbGxiYXJQYXJ0LmgKQEAgLTMzLDcgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBSZW5kZXJTY3JvbGxiYXI7CiAKLWNsYXNzIFJlbmRlclNjcm9sbGJhclBhcnQgRklO
QUwgOiBwdWJsaWMgUmVuZGVyQmxvY2sgeworY2xhc3MgUmVuZGVyU2Nyb2xsYmFyUGFydCA6IHB1
YmxpYyBSZW5kZXJCbG9jayB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlbmRlclNjcm9sbGJhclBh
cnQqIGNyZWF0ZUFub255bW91cyhEb2N1bWVudCosIFJlbmRlclNjcm9sbGJhciogPSAwLCBTY3Jv
bGxiYXJQYXJ0ID0gTm9QYXJ0KTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTZWFyY2hGaWVsZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNlYXJjaEZpZWxkLmgKaW5kZXggYzFiOTBkNTlmY2VjMjI1OTE2MWRiN2E1YTU1ZGNiM2M4
Njc0MzI4YS4uYjBmZmFhOGMzMGFkOTYwZWExNTM0ZTNmYmEzNjVkZDViYzk1YjI5ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmgKQEAgLTMxLDcgKzMx
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIGNsYXNz
IFNlYXJjaFBvcHVwTWVudTsKIAotY2xhc3MgUmVuZGVyU2VhcmNoRmllbGQgRklOQUwgOiBwdWJs
aWMgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLCBwcml2YXRlIFBvcHVwTWVudUNsaWVudCB7
CitjbGFzcyBSZW5kZXJTZWFyY2hGaWVsZCA6IHB1YmxpYyBSZW5kZXJUZXh0Q29udHJvbFNpbmds
ZUxpbmUsIHByaXZhdGUgUG9wdXBNZW51Q2xpZW50IHsKIHB1YmxpYzoKICAgICBSZW5kZXJTZWFy
Y2hGaWVsZChFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyU2VhcmNoRmllbGQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuaAppbmRleCA0ODUyM2E3NjcxNGY1YTFi
NzNhYTYyZWVjZGFjN2I1ZGE5MjVmYWViLi44NjAzYTkwZTg0MzgxYjA2YTJlYzhjZjA0ZTgyNjZm
N2NhYWE2MzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xp
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5oCkBAIC0y
OSw3ICsyOSw3IEBAIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7CiBjbGFzcyBNb3VzZUV2ZW50Owog
Y2xhc3MgU2xpZGVyVGh1bWJFbGVtZW50OwogCi1jbGFzcyBSZW5kZXJTbGlkZXIgRklOQUwgOiBw
dWJsaWMgUmVuZGVyRmxleGlibGVCb3ggeworY2xhc3MgUmVuZGVyU2xpZGVyIDogcHVibGljIFJl
bmRlckZsZXhpYmxlQm94IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgaW50IGRlZmF1bHRU
cmFja0xlbmd0aDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNuYXBzaG90dGVkUGx1Z0luLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25h
cHNob3R0ZWRQbHVnSW4uaAppbmRleCA2ZTFjZjE1MWEyODcyYmM1ZmUwNGQzMDBiNjQwN2QyZTE5
NzAwMjkwLi5iZWFlMjU2ZmFjNjc1ZTA0MjViNDcyZjMyZTdlODg1MDUwMGIzOTFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0ZWRQbHVnSW4uaApA
QCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxQbHVnSW5J
bWFnZUVsZW1lbnQ7CiAKLWNsYXNzIFJlbmRlclNuYXBzaG90dGVkUGx1Z0luIEZJTkFMIDogcHVi
bGljIFJlbmRlckVtYmVkZGVkT2JqZWN0IHsKK2NsYXNzIFJlbmRlclNuYXBzaG90dGVkUGx1Z0lu
IDogcHVibGljIFJlbmRlckVtYmVkZGVkT2JqZWN0IHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBS
ZW5kZXJTbmFwc2hvdHRlZFBsdWdJbihIVE1MUGx1Z0luSW1hZ2VFbGVtZW50Kik7CiAgICAgdmly
dHVhbCB+UmVuZGVyU25hcHNob3R0ZWRQbHVnSW4oKTsKQEAgLTQ3LDExICs0NywxMSBAQCBwcml2
YXRlOgogICAgIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQqIHBsdWdJbkltYWdlRWxlbWVudCgpIGNv
bnN0OwogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJu
ICJSZW5kZXJTbmFwc2hvdHRlZFBsdWdJbiI7IH0KIAotICAgIHZpcnR1YWwgQ3Vyc29yRGlyZWN0
aXZlIGdldEN1cnNvcihjb25zdCBMYXlvdXRQb2ludCYsIEN1cnNvciYpIGNvbnN0IE9WRVJSSURF
IEZJTkFMOwotICAgIHZpcnR1YWwgYm9vbCBpc1NuYXBzaG90dGVkUGx1Z0luKCkgY29uc3QgT1ZF
UlJJREUgRklOQUwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgQ3Vyc29yRGlyZWN0aXZl
IGdldEN1cnNvcihjb25zdCBMYXlvdXRQb2ludCYsIEN1cnNvciYpIGNvbnN0IE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgYm9vbCBpc1NuYXBzaG90dGVkUGx1Z0luKCkgY29uc3QgT1ZFUlJJREUgeyBy
ZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBwYWludChQYWludEluZm8mLCBjb25zdCBM
YXlvdXRQb2ludCYpIE9WRVJSSURFOwogICAgIAotICAgIHZpcnR1YWwgYm9vbCBjYW5IYXZlV2lk
Z2V0KCkgY29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFs
IGJvb2wgY2FuSGF2ZVdpZGdldCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CiAK
ICAgICB2b2lkIHBhaW50U25hcHNob3QoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAppbmRleCAxYjBjODk5YzEyNTRl
MzIzYzRhN2E0MzJlYTM2NWMyNjMzZWQyMDVhLi4zZTE4NzJkNTk5NzNjNjZkYWQ2OTYwYjM0OTJk
OTNmZGUxNTYzNGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaApAQCAt
MTI0LDcgKzEyNCw3IEBAIHB1YmxpYzoKICAgICBpbnQgY2FsY0JvcmRlckVuZCgpIGNvbnN0Owog
ICAgIHZvaWQgcmVjYWxjQm9yZGVyc0luUm93RGlyZWN0aW9uKCk7CiAKLSAgICB2aXJ0dWFsIHZv
aWQgYWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGls
ZCA9IDApIE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgdm9pZCBhZGRDaGlsZChSZW5kZXJP
YmplY3QqIGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkID0gMCk7CiAKICAgICBzdHJ1
Y3QgQ29sdW1uU3RydWN0IHsKICAgICAgICAgZXhwbGljaXQgQ29sdW1uU3RydWN0KHVuc2lnbmVk
IGluaXRpYWxTcGFuID0gMSkKQEAgLTE5NSw4ICsxOTUsOCBAQCBwdWJsaWM6CiAgICAgfQogCiAg
ICAgLy8gT3ZlcnJpZGUgcGFkZGluZ1N0YXJ0L0VuZCB0byByZXR1cm4gcGl4ZWwgdmFsdWVzIHRv
IG1hdGNoIGJlaGF2b3Igb2YgUmVuZGVyVGFibGVDZWxsLgotICAgIHZpcnR1YWwgTGF5b3V0VW5p
dCBwYWRkaW5nRW5kKCkgY29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gc3RhdGljX2Nhc3Q8
aW50PihSZW5kZXJCbG9jazo6cGFkZGluZ0VuZCgpKTsgfQotICAgIHZpcnR1YWwgTGF5b3V0VW5p
dCBwYWRkaW5nU3RhcnQoKSBjb25zdCBPVkVSUklERSBGSU5BTCB7IHJldHVybiBzdGF0aWNfY2Fz
dDxpbnQ+KFJlbmRlckJsb2NrOjpwYWRkaW5nU3RhcnQoKSk7IH0KKyAgICB2aXJ0dWFsIExheW91
dFVuaXQgcGFkZGluZ0VuZCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHN0YXRpY19jYXN0PGlu
dD4oUmVuZGVyQmxvY2s6OnBhZGRpbmdFbmQoKSk7IH0KKyAgICB2aXJ0dWFsIExheW91dFVuaXQg
cGFkZGluZ1N0YXJ0KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PihS
ZW5kZXJCbG9jazo6cGFkZGluZ1N0YXJ0KCkpOyB9CiAKICAgICBMYXlvdXRVbml0IGJvcmRlcnNQ
YWRkaW5nQW5kU3BhY2luZ0luUm93RGlyZWN0aW9uKCkgY29uc3QKICAgICB7CkBAIC0yNjMsNDUg
KzI2Myw0NSBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVDb2x1bW4oY29uc3QgUmVuZGVyVGFi
bGVDb2wqKTsKIAogcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShT
dHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkgT1ZFUlJJREUgRklO
QUw7Ci0gICAgdmlydHVhbCB2b2lkIHNpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0KCkgT1ZFUlJJ
REUgRklOQUw7CisgICAgdmlydHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5j
ZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2ltcGxp
ZmllZE5vcm1hbEZsb3dMYXlvdXQoKTsKIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIGNvbnN0IGNo
YXIqIHJlbmRlck5hbWUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiAiUmVuZGVyVGFibGUiOyB9
CisgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJl
bmRlclRhYmxlIjsgfQogCi0gICAgdmlydHVhbCBib29sIGlzVGFibGUoKSBjb25zdCBPVkVSUklE
RSBGSU5BTCB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIGlzVGFibGUoKSBjb25z
dCB7IHJldHVybiB0cnVlOyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgYXZvaWRzRmxvYXRzKCkgY29u
c3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBhdm9p
ZHNGbG9hdHMoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgcGFp
bnQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2
aXJ0dWFsIHZvaWQgcGFpbnRPYmplY3QoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBP
VkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnRCb3hEZWNvcmF0aW9ucyhQYWlu
dEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwg
dm9pZCBwYWludE1hc2soUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBPVkVSUklERSBG
SU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCkgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmly
dHVhbCB2b2lkIGNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbldp
ZHRoLCBMYXlvdXRVbml0JiBtYXhXaWR0aCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CisgICAgdmly
dHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7CisgICAgdmly
dHVhbCB2b2lkIHBhaW50T2JqZWN0KFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7Cisg
ICAgdmlydHVhbCB2b2lkIHBhaW50Qm94RGVjb3JhdGlvbnMoUGFpbnRJbmZvJiwgY29uc3QgTGF5
b3V0UG9pbnQmKTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRNYXNrKFBhaW50SW5mbyYsIGNvbnN0
IExheW91dFBvaW50Jik7CisgICAgdmlydHVhbCB2b2lkIGxheW91dCgpOworICAgIHZpcnR1YWwg
dm9pZCBjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5XaWR0aCwg
TGF5b3V0VW5pdCYgbWF4V2lkdGgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBj
b21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9v
bCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25z
dCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50
JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbikgT1ZFUlJJREU7CiAKLSAgICB2aXJ0
dWFsIGludCBiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSwgYm9vbCBmaXJzdExpbmUsIExp
bmVEaXJlY3Rpb25Nb2RlLCBMaW5lUG9zaXRpb25Nb2RlID0gUG9zaXRpb25PbkNvbnRhaW5pbmdM
aW5lKSBjb25zdCBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIGludCBiYXNlbGluZVBvc2l0
aW9uKEZvbnRCYXNlbGluZSwgYm9vbCBmaXJzdExpbmUsIExpbmVEaXJlY3Rpb25Nb2RlLCBMaW5l
UG9zaXRpb25Nb2RlID0gUG9zaXRpb25PbkNvbnRhaW5pbmdMaW5lKSBjb25zdCBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIGludCBmaXJzdExpbmVCb3hCYXNlbGluZSgpIGNvbnN0IE9WRVJSSURFOwot
ICAgIHZpcnR1YWwgaW50IGlubGluZUJsb2NrQmFzZWxpbmUoTGluZURpcmVjdGlvbk1vZGUpIGNv
bnN0IE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgaW50IGlubGluZUJsb2NrQmFzZWxpbmUo
TGluZURpcmVjdGlvbk1vZGUpIGNvbnN0IE9WRVJSSURFOwogCiAgICAgUmVuZGVyVGFibGVDb2wq
IHNsb3dDb2xFbGVtZW50KHVuc2lnbmVkIGNvbCwgYm9vbCogc3RhcnRFZGdlLCBib29sKiBlbmRF
ZGdlKSBjb25zdDsKIAogICAgIHZvaWQgdXBkYXRlQ29sdW1uQ2FjaGUoKSBjb25zdDsKICAgICB2
b2lkIGludmFsaWRhdGVDYWNoZWRDb2x1bW5zKCk7CiAKLSAgICB2aXJ0dWFsIFJlbmRlckJsb2Nr
KiBmaXJzdExpbmVCbG9jaygpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9p
ZCB1cGRhdGVGaXJzdExldHRlcigpIE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgUmVuZGVy
QmxvY2sqIGZpcnN0TGluZUJsb2NrKCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZp
cnN0TGV0dGVyKCk7CiAgICAgCi0gICAgdmlydHVhbCB2b2lkIHVwZGF0ZUxvZ2ljYWxXaWR0aCgp
IE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVMb2dpY2FsV2lkdGgoKSBP
VkVSUklERTsKIAogICAgIExheW91dFVuaXQgY29udmVydFN0eWxlTG9naWNhbFdpZHRoVG9Db21w
dXRlZFdpZHRoKGNvbnN0IExlbmd0aCYgc3R5bGVMb2dpY2FsV2lkdGgsIExheW91dFVuaXQgYXZh
aWxhYmxlV2lkdGgpOwogICAgIExheW91dFVuaXQgY29udmVydFN0eWxlTG9naWNhbEhlaWdodFRv
Q29tcHV0ZWRIZWlnaHQoY29uc3QgTGVuZ3RoJiBzdHlsZUxvZ2ljYWxIZWlnaHQpOwogCi0gICAg
dmlydHVhbCBMYXlvdXRSZWN0IG92ZXJmbG93Q2xpcFJlY3QoY29uc3QgTGF5b3V0UG9pbnQmIGxv
Y2F0aW9uLCBSZW5kZXJSZWdpb24qLCBPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSA9IEln
bm9yZU92ZXJsYXlTY3JvbGxiYXJTaXplKSBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIExh
eW91dFJlY3Qgb3ZlcmZsb3dDbGlwUmVjdChjb25zdCBMYXlvdXRQb2ludCYgbG9jYXRpb24sIFJl
bmRlclJlZ2lvbiosIE92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5ID0gSWdub3JlT3Zlcmxh
eVNjcm9sbGJhclNpemUpOwogCi0gICAgdmlydHVhbCB2b2lkIGFkZE92ZXJmbG93RnJvbUNoaWxk
cmVuKCkgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCB2b2lkIGFkZE92ZXJmbG93RnJvbUNo
aWxkcmVuKCk7CiAKICAgICB2b2lkIHN1YnRyYWN0Q2FwdGlvblJlY3QoTGF5b3V0UmVjdCYpIGNv
bnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVD
YXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDYXB0aW9uLmgK
aW5kZXggMzEwN2E2YWE0ODcxZTI2ZDY0YzlhN2NlZTI3M2M3M2U0YmExY2YzZS4uM2ZiNTFkYjMz
NWVkZGQxNWQ4ZDBiNWVkZTM4OWQyNDAwOWY4OTE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2FwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZUNhcHRpb24uaApAQCAtMjYsNyArMjYsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlclRhYmxlOwogCi1jbGFzcyBSZW5kZXJUYWJsZUNhcHRp
b24gRklOQUwgOiBwdWJsaWMgUmVuZGVyQmxvY2sgeworY2xhc3MgUmVuZGVyVGFibGVDYXB0aW9u
IDogcHVibGljIFJlbmRlckJsb2NrIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJUYWJs
ZUNhcHRpb24oRWxlbWVudCopOwogICAgIHZpcnR1YWwgflJlbmRlclRhYmxlQ2FwdGlvbigpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCmluZGV4IGNjM2M0OWEx
NzBiNTY1OWM3MjMxYTQyMDUwNDljMWY3N2I0ZDA0YzMuLmIxZmY1ZmM0ZDM5NTlhNTgzZGRiNjc1
NmRmMTdjMWYwNzIwNmM3YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZUNlbGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVDZWxsLmgKQEAgLTM1LDcgKzM1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heENvbHVt
bkluZGV4ID0gMHgxRkZGRkZGRTsgLy8gNTM2LDg3MCw5MTAKIAogZW51bSBJbmNsdWRlQm9yZGVy
Q29sb3JPck5vdCB7IERvTm90SW5jbHVkZUJvcmRlckNvbG9yLCBJbmNsdWRlQm9yZGVyQ29sb3Ig
fTsKIAotY2xhc3MgUmVuZGVyVGFibGVDZWxsIEZJTkFMIDogcHVibGljIFJlbmRlckJsb2NrIHsK
K2NsYXNzIFJlbmRlclRhYmxlQ2VsbCA6IHB1YmxpYyBSZW5kZXJCbG9jayB7CiBwdWJsaWM6CiAg
ICAgZXhwbGljaXQgUmVuZGVyVGFibGVDZWxsKEVsZW1lbnQqKTsKICAgICAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ29sLmgKaW5kZXggNGY2NjZjMjA5ZGJhZTVlZjc1ZjVi
MTJjNjMwOWQyYzA2YTgyOWU2MS4uYzkzYjAxOTIyZDAxYTY5NDMxOTkxODg2NDk3MTBhYmQ5MWU3
N2ZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ29s
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ29sLmgKQEAgLTMz
LDcgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVuZGVyVGFibGU7CiBjbGFz
cyBSZW5kZXJUYWJsZUNlbGw7CiAKLWNsYXNzIFJlbmRlclRhYmxlQ29sIEZJTkFMIDogcHVibGlj
IFJlbmRlckJveCB7CitjbGFzcyBSZW5kZXJUYWJsZUNvbCA6IHB1YmxpYyBSZW5kZXJCb3ggewog
cHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlclRhYmxlQ29sKEVsZW1lbnQqKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaAppbmRleCAzNTdiYTIwNzEyZDJlNzFm
YWVhOWExMDY5NjE4NTNkNWExYWVkMzE1Li5kMmJmYmM2ZjYwNjAxNzk3Y2U3YmYzNDUzNTE2MjY2
OWY1MGVjYjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVSb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaApA
QCAtMzIsNyArMzIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgdW5zZXRSb3dJbmRleCA9IDB4N0ZGRkZGRkY7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4
Um93SW5kZXggPSAweDdGRkZGRkZFOyAvLyAyLDE0Nyw0ODMsNjQ2CiAKLWNsYXNzIFJlbmRlclRh
YmxlUm93IEZJTkFMIDogcHVibGljIFJlbmRlckJveCB7CitjbGFzcyBSZW5kZXJUYWJsZVJvdyA6
IHB1YmxpYyBSZW5kZXJCb3ggewogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlclRhYmxlUm93
KEVsZW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlU2VjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2Vj
dGlvbi5oCmluZGV4IDZjMWUyNDNlMzM2ODI0NWIwNTM3N2M3NjkxOTkzOWUzZWVmYzYyYjkuLjFl
MTRiOWEyNjEwMmNiYTAzYWJhOWRiY2RjMjdjMzNkYjM0ODQxNTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmgKQEAgLTYwLDcgKzYwLDcgQEAgcHJp
dmF0ZToKIGNsYXNzIFJlbmRlclRhYmxlQ2VsbDsKIGNsYXNzIFJlbmRlclRhYmxlUm93OwogCi1j
bGFzcyBSZW5kZXJUYWJsZVNlY3Rpb24gRklOQUwgOiBwdWJsaWMgUmVuZGVyQm94IHsKK2NsYXNz
IFJlbmRlclRhYmxlU2VjdGlvbiA6IHB1YmxpYyBSZW5kZXJCb3ggewogcHVibGljOgogICAgIFJl
bmRlclRhYmxlU2VjdGlvbihFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyVGFibGVTZWN0
aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAppbmRleCAwYTQ1ZmVhOTc0
N2U2MjYyZWEyZjA1ZjUyYmI4OTNlMDJlNjVjNDU5Li5mNDI1NGU1ZDI3Y2UwYmYxYTQ4ZDQ1MTk4
ODJiNjFmNTBkZmFjZGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgKQEAg
LTM4LDcgKzM4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgflJlbmRlclRleHQoKTsKICNlbmRp
ZgogCi0gICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgT1ZFUlJJREU7
CisgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3Q7CiAKICAgICB2aXJ0
dWFsIGJvb2wgaXNUZXh0RnJhZ21lbnQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNXb3Jk
QnJlYWsoKSBjb25zdDsKQEAgLTU1LDEwICs1NSwxMCBAQCBwdWJsaWM6CiAgICAgSW5saW5lVGV4
dEJveCogY3JlYXRlSW5saW5lVGV4dEJveCgpOwogICAgIHZvaWQgZGlydHlMaW5lQm94ZXMoYm9v
bCBmdWxsTGF5b3V0KTsKIAotICAgIHZpcnR1YWwgdm9pZCBhYnNvbHV0ZVJlY3RzKFZlY3RvcjxJ
bnRSZWN0PiYsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3QgT1ZF
UlJJREUgRklOQUw7CisgICAgdmlydHVhbCB2b2lkIGFic29sdXRlUmVjdHMoVmVjdG9yPEludFJl
Y3Q+JiwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBjb25zdDsKICAgICB2
b2lkIGFic29sdXRlUmVjdHNGb3JSYW5nZShWZWN0b3I8SW50UmVjdD4mLCB1bnNpZ25lZCBzdGFy
dE9mZnNldCA9IDAsIHVuc2lnbmVkIGVuZE9mZnNldCA9IFVJTlRfTUFYLCBib29sIHVzZVNlbGVj
dGlvbkhlaWdodCA9IGZhbHNlLCBib29sKiB3YXNGaXhlZCA9IDApOwogCi0gICAgdmlydHVhbCB2
b2lkIGFic29sdXRlUXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mLCBib29sKiB3YXNGaXhlZCkgY29u
c3QgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCB2b2lkIGFic29sdXRlUXVhZHMoVmVjdG9y
PEZsb2F0UXVhZD4mLCBib29sKiB3YXNGaXhlZCkgY29uc3Q7CiAgICAgdm9pZCBhYnNvbHV0ZVF1
YWRzRm9yUmFuZ2UoVmVjdG9yPEZsb2F0UXVhZD4mLCB1bnNpZ25lZCBzdGFydE9mZnNldCA9IDAs
IHVuc2lnbmVkIGVuZE9mZnNldCA9IFVJTlRfTUFYLCBib29sIHVzZVNlbGVjdGlvbkhlaWdodCA9
IGZhbHNlLCBib29sKiB3YXNGaXhlZCA9IDApOwogCiAgICAgZW51bSBDbGlwcGluZ09wdGlvbiB7
IE5vQ2xpcHBpbmcsIENsaXBUb0VsbGlwc2lzIH07CkBAIC0xMDEsMjUgKzEwMSwyNSBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHRyYW5zZm9ybVRleHQoKTsKIAogICAgIHZpcnR1YWwgYm9v
bCBjYW5CZVNlbGVjdGlvbkxlYWYoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9Ci0gICAgdmlydHVh
bCB2b2lkIHNldFNlbGVjdGlvblN0YXRlKFNlbGVjdGlvblN0YXRlIHMpIE9WRVJSSURFIEZJTkFM
OworICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3Rpb25TdGF0ZShTZWxlY3Rpb25TdGF0ZSBzKTsK
ICAgICB2aXJ0dWFsIExheW91dFJlY3Qgc2VsZWN0aW9uUmVjdEZvclJlcGFpbnQoY29uc3QgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgYm9vbCBjbGlwVG9WaXNpYmxl
Q29udGVudCA9IHRydWUpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBsb2NhbENh
cmV0UmVjdChJbmxpbmVCb3gqLCBpbnQgY2FyZXRPZmZzZXQsIExheW91dFVuaXQqIGV4dHJhV2lk
dGhUb0VuZE9mTGluZSA9IDApOwogCi0gICAgTGF5b3V0VW5pdCBtYXJnaW5MZWZ0KCkgY29uc3Qg
eyByZXR1cm4gbWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCktPm1hcmdpbkxlZnQoKSwgMCwg
dmlldygpKTsgfQotICAgIExheW91dFVuaXQgbWFyZ2luUmlnaHQoKSBjb25zdCB7IHJldHVybiBt
aW5pbXVtVmFsdWVGb3JMZW5ndGgoc3R5bGUoKS0+bWFyZ2luUmlnaHQoKSwgMCwgdmlldygpKTsg
fQorICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBtYXJnaW5MZWZ0KCkgY29uc3QgeyByZXR1cm4gbWlu
aW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCktPm1hcmdpbkxlZnQoKSwgMCwgdmlldygpKTsgfQor
ICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBtYXJnaW5SaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1pbmlt
dW1WYWx1ZUZvckxlbmd0aChzdHlsZSgpLT5tYXJnaW5SaWdodCgpLCAwLCB2aWV3KCkpOyB9CiAK
LSAgICB2aXJ0dWFsIExheW91dFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoY29u
c3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcikgY29uc3QgT1ZFUlJJ
REUgRklOQUw7CisgICAgdmlydHVhbCBMYXlvdXRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JS
ZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpIGNv
bnN0IE9WRVJSSURFOwogCiAgICAgSW5saW5lVGV4dEJveCogZmlyc3RUZXh0Qm94KCkgY29uc3Qg
eyByZXR1cm4gbV9maXJzdFRleHRCb3g7IH0KICAgICBJbmxpbmVUZXh0Qm94KiBsYXN0VGV4dEJv
eCgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdFRleHRCb3g7IH0KIAogICAgIHZpcnR1YWwgaW50IGNh
cmV0TWluT2Zmc2V0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBpbnQgY2FyZXRNYXhPZmZzZXQoKSBj
b25zdDsKLSAgICB1bnNpZ25lZCByZW5kZXJlZFRleHRMZW5ndGgoKSBjb25zdDsKKyAgICB2aXJ0
dWFsIHVuc2lnbmVkIHJlbmRlcmVkVGV4dExlbmd0aCgpIGNvbnN0OwogCi0gICAgdmlydHVhbCBp
bnQgcHJldmlvdXNPZmZzZXQoaW50IGN1cnJlbnQpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwotICAg
IHZpcnR1YWwgaW50IHByZXZpb3VzT2Zmc2V0Rm9yQmFja3dhcmREZWxldGlvbihpbnQgY3VycmVu
dCkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBpbnQgbmV4dE9mZnNldChpbnQg
Y3VycmVudCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCBpbnQgcHJldmlvdXNP
ZmZzZXQoaW50IGN1cnJlbnQpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHByZXZpb3VzT2Zmc2V0
Rm9yQmFja3dhcmREZWxldGlvbihpbnQgY3VycmVudCkgY29uc3Q7CisgICAgdmlydHVhbCBpbnQg
bmV4dE9mZnNldChpbnQgY3VycmVudCkgY29uc3Q7CiAKICAgICBib29sIGNvbnRhaW5zUmV2ZXJz
ZWRUZXh0KCkgY29uc3QgeyByZXR1cm4gbV9jb250YWluc1JldmVyc2VkVGV4dDsgfQogCkBAIC0x
NDEsNyArMTQxLDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVy
cmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgpOwogICAgIHZpcnR1YWwgdm9pZCB3aWxs
QmVEZXN0cm95ZWQoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzdHlsZVdpbGxDaGFuZ2UoU3R5bGVE
aWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSopIE9WRVJSSURFIEZJTkFMIHsgfQorICAgIHZp
cnR1YWwgdm9pZCBzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJT
dHlsZSopIHsgfQogICAgIHZpcnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVu
Y2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0
VGV4dEludGVybmFsKFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4pOwpAQCAtMTU3LDExICsxNTcsMTEg
QEAgcHJpdmF0ZToKICAgICAvLyBNYWtlIGxlbmd0aCgpIHByaXZhdGUgc28gdGhhdCBjYWxsZXJz
IHRoYXQgaGF2ZSBhIFJlbmRlclRleHQqCiAgICAgLy8gd2lsbCB1c2UgdGhlIG1vcmUgZWZmaWNp
ZW50IHRleHRMZW5ndGgoKSBpbnN0ZWFkLCB3aGlsZQogICAgIC8vIGNhbGxlcnMgd2l0aCBhIFJl
bmRlck9iamVjdCogY2FuIGNvbnRpbnVlIHRvIHVzZSBsZW5ndGgoKS4KLSAgICB2aXJ0dWFsIHVu
c2lnbmVkIGxlbmd0aCgpIGNvbnN0IE9WRVJSSURFIEZJTkFMIHsgcmV0dXJuIHRleHRMZW5ndGgo
KTsgfQorICAgIHZpcnR1YWwgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gdGV4dExl
bmd0aCgpOyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFpbnRJbmZvJiwgY29uc3QgTGF5
b3V0UG9pbnQmKSBPVkVSUklERSBGSU5BTCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9Ci0gICAg
dmlydHVhbCB2b2lkIGxheW91dCgpIE9WRVJSSURFIEZJTkFMIHsgQVNTRVJUX05PVF9SRUFDSEVE
KCk7IH0KLSAgICB2aXJ0dWFsIGJvb2wgbm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3Qm
LCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiwgY29uc3QgTGF5b3V0UG9p
bnQmLCBIaXRUZXN0QWN0aW9uKSBPVkVSUklERSBGSU5BTCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFpbnRJbmZvJiwgY29u
c3QgTGF5b3V0UG9pbnQmKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CisgICAgdmlydHVhbCB2
b2lkIGxheW91dCgpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKyAgICB2aXJ0dWFsIGJvb2wg
bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgY29uc3Qg
SGl0VGVzdExvY2F0aW9uJiwgY29uc3QgTGF5b3V0UG9pbnQmLCBIaXRUZXN0QWN0aW9uKSBPVkVS
UklERSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZvaWQg
ZGVsZXRlVGV4dEJveGVzKCk7CiAgICAgYm9vbCBjb250YWluc09ubHlXaGl0ZXNwYWNlKHVuc2ln
bmVkIGZyb20sIHVuc2lnbmVkIGxlbikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0Q29udHJvbC5oCmluZGV4IDRhOWQyNjU4MDU1NTdkNmVkMTk3ZDRhNzk0OTcw
ZTc0YjZlZTE2MWIuLjFmNjYzMGNlZWQ1NTg3Mjc1MGRjMDE3YTY3NTJiNzE3NDllZWQwY2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5oCkBAIC00Nyw3
ICs0Nyw3IEBAIHByb3RlY3RlZDoKICAgICBpbnQgc2Nyb2xsYmFyVGhpY2tuZXNzKCkgY29uc3Q7
CiAgICAgdm9pZCBhZGp1c3RJbm5lclRleHRTdHlsZShjb25zdCBSZW5kZXJTdHlsZSogc3RhcnRT
dHlsZSwgUmVuZGVyU3R5bGUqIHRleHRCbG9ja1N0eWxlKSBjb25zdDsKIAotICAgIHZpcnR1YWwg
dm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBv
bGRTdHlsZSkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxl
RGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKTsKIAogICAgIHZvaWQgaGl0
SW5uZXJUZXh0RWxlbWVudChIaXRUZXN0UmVzdWx0JiwgY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50
SW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCk7CiAKQEAg
LTY3LDEyICs2NywxMiBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGxh
eW91dFNwZWNpYWxFeGNsdWRlZENoaWxkKGJvb2wgcmVsYXlvdXRDaGlsZHJlbik7CiAKIHByaXZh
dGU6Ci0gICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgT1ZFUlJJREUg
eyByZXR1cm4gIlJlbmRlclRleHRDb250cm9sIjsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1RleHRD
b250cm9sKCkgY29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1
YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJUZXh0Q29u
dHJvbCI7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0Q29udHJvbCgpIGNvbnN0IHsgcmV0dXJu
IHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMo
TGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgp
IGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNh
bFdpZHRocygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVMZWZ0b3ZlckFub255
bW91c0Jsb2NrKFJlbmRlckJsb2NrKikgeyB9Ci0gICAgdmlydHVhbCBib29sIGF2b2lkc0Zsb2F0
cygpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgYXZv
aWRzRmxvYXRzKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBjYW5I
YXZlR2VuZXJhdGVkQ2hpbGRyZW4oKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBjYW5CZVJlcGxhY2VkV2l0aElubGluZVJ1bkluKCkgY29uc3QgT1ZF
UlJJREU7CiAgICAgCkBAIC0xMDIsNyArMTAyLDcgQEAgdm9pZCB0b1JlbmRlclRleHRDb250cm9s
KGNvbnN0IFJlbmRlclRleHRDb250cm9sKik7CiAvLyBXZSBjYW4ndCB1c2UgUmVuZGVyRmxleGli
bGVCb3ggZGlyZWN0bHksIGJlY2F1c2UgZmxleGJveGVzIGhhdmUgYSBkaWZmZXJlbnQKIC8vIGJh
c2VsaW5lIGRlZmluaXRpb24sIGFuZCB0aGVuIGlucHV0cyBvZiBkaWZmZXJlbnQgdHlwZXMgd291
bGRuJ3QgbGluZSB1cAogLy8gYW55bW9yZS4KLWNsYXNzIFJlbmRlclRleHRDb250cm9sSW5uZXJD
b250YWluZXIgRklOQUwgOiBwdWJsaWMgUmVuZGVyRmxleGlibGVCb3ggeworY2xhc3MgUmVuZGVy
VGV4dENvbnRyb2xJbm5lckNvbnRhaW5lciA6IHB1YmxpYyBSZW5kZXJGbGV4aWJsZUJveCB7CiBw
dWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyVGV4dENvbnRyb2xJbm5lckNvbnRhaW5lcihFbGVt
ZW50KiBlbGVtZW50KQogICAgICAgICA6IFJlbmRlckZsZXhpYmxlQm94KGVsZW1lbnQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxp
bmUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbE11bHRpTGlu
ZS5oCmluZGV4IDE0OTgyOGMzMzU3NTI1MjExNmIyOWNkOTNlZjkwZjBiZTIxMTMyN2IuLjU5MmEx
MzdkOWVlNWQwMDZmZmJiN2VmYjAxNTA3ZjBjODUwM2NlNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oCkBAIC0yNiw3
ICsyNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyVGV4dENvbnRy
b2xNdWx0aUxpbmUgRklOQUwgOiBwdWJsaWMgUmVuZGVyVGV4dENvbnRyb2wgeworY2xhc3MgUmVu
ZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUgOiBwdWJsaWMgUmVuZGVyVGV4dENvbnRyb2wgewogcHVi
bGljOgogICAgIFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lKEVsZW1lbnQqKTsKICAgICB2aXJ0
dWFsIH5SZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCmluZGV4IDdiY2U2
NDg1ZWRhOTAzOGY5ZmQ0ZGI1NTEwN2ExNmY4YjBjMTA0NjkuLjE0OGFjZmU0YTIzMTdlMjViYzAw
NjMzZGNkMDM2MDg1NTllZDVmNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKQEAgLTQ5LDM1ICs0OSwzNSBAQCBw
cm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZyb21FbGVtZW50KCkgT1ZFUlJJREU7
CiAKIHByaXZhdGU6Ci0gICAgdmlydHVhbCBib29sIGhhc0NvbnRyb2xDbGlwKCkgY29uc3QgT1ZF
UlJJREU7Ci0gICAgdmlydHVhbCBMYXlvdXRSZWN0IGNvbnRyb2xDbGlwUmVjdChjb25zdCBMYXlv
dXRQb2ludCYpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgYm9vbCBpc1RleHRGaWVsZCgp
IGNvbnN0IE9WRVJSSURFIEZJTkFMIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wg
aGFzQ29udHJvbENsaXAoKSBjb25zdDsKKyAgICB2aXJ0dWFsIExheW91dFJlY3QgY29udHJvbENs
aXBSZWN0KGNvbnN0IExheW91dFBvaW50JikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGlzVGV4
dEZpZWxkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgdmlydHVhbCB2b2lkIHBhaW50
KFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2
b2lkIGxheW91dCgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBwYWludChQYWludEluZm8m
LCBjb25zdCBMYXlvdXRQb2ludCYpOworICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKIAogICAg
IHZpcnR1YWwgYm9vbCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RS
ZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0
IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbikgT1ZFUlJJREU7
CiAKLSAgICB2aXJ0dWFsIHZvaWQgYXV0b3Njcm9sbChjb25zdCBJbnRQb2ludCYpIE9WRVJSSURF
OworICAgIHZpcnR1YWwgdm9pZCBhdXRvc2Nyb2xsKGNvbnN0IEludFBvaW50Jik7CiAKICAgICAv
LyBTdWJjbGFzc2VkIHRvIGZvcndhcmQgdG8gb3VyIGlubmVyIGRpdi4KLSAgICB2aXJ0dWFsIGlu
dCBzY3JvbGxMZWZ0KCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBpbnQgc2Nyb2xsVG9w
KCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBpbnQgc2Nyb2xsV2lkdGgoKSBjb25zdCBP
VkVSUklERTsKLSAgICB2aXJ0dWFsIGludCBzY3JvbGxIZWlnaHQoKSBjb25zdCBPVkVSUklERTsK
LSAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsTGVmdChpbnQpIE9WRVJSSURFOwotICAgIHZpcnR1
YWwgdm9pZCBzZXRTY3JvbGxUb3AoaW50KSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgc2Ny
b2xsKFNjcm9sbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIg
PSAxLCBOb2RlKiogc3RvcE5vZGUgPSAwKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgbG9n
aWNhbFNjcm9sbChTY3JvbGxMb2dpY2FsRGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxv
YXQgbXVsdGlwbGllciA9IDEsIE5vZGUqKiBzdG9wTm9kZSA9IDApIE9WRVJSSURFOworICAgIHZp
cnR1YWwgaW50IHNjcm9sbExlZnQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGludCBzY3JvbGxUb3Ao
KSBjb25zdDsKKyAgICB2aXJ0dWFsIGludCBzY3JvbGxXaWR0aCgpIGNvbnN0OworICAgIHZpcnR1
YWwgaW50IHNjcm9sbEhlaWdodCgpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxM
ZWZ0KGludCk7CisgICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbFRvcChpbnQpOworICAgIHZpcnR1
YWwgYm9vbCBzY3JvbGwoU2Nyb2xsRGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQg
bXVsdGlwbGllciA9IDEsIE5vZGUqKiBzdG9wTm9kZSA9IDApOworICAgIHZpcnR1YWwgYm9vbCBs
b2dpY2FsU2Nyb2xsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBm
bG9hdCBtdWx0aXBsaWVyID0gMSwgTm9kZSoqIHN0b3BOb2RlID0gMCk7CiAKICAgICBpbnQgdGV4
dEJsb2NrV2lkdGgoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGZsb2F0IGdldEF2Z0NoYXJXaWR0aChB
dG9taWNTdHJpbmcgZmFtaWx5KSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIExheW91dFVuaXQgcHJl
ZmVycmVkQ29udGVudExvZ2ljYWxXaWR0aChmbG9hdCBjaGFyV2lkdGgpIGNvbnN0IE9WRVJSSURF
OworICAgIHZpcnR1YWwgZmxvYXQgZ2V0QXZnQ2hhcldpZHRoKEF0b21pY1N0cmluZyBmYW1pbHkp
OworICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBwcmVmZXJyZWRDb250ZW50TG9naWNhbFdpZHRoKGZs
b2F0IGNoYXJXaWR0aCkgY29uc3Q7CiAgICAgdmlydHVhbCBMYXlvdXRVbml0IGNvbXB1dGVDb250
cm9sTG9naWNhbEhlaWdodChMYXlvdXRVbml0IGxpbmVIZWlnaHQsIExheW91dFVuaXQgbm9uQ29u
dGVudEhlaWdodCkgY29uc3QgT1ZFUlJJREU7CiAgICAgCi0gICAgdmlydHVhbCB2b2lkIHN0eWxl
RGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKSBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNl
LCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpOwogCi0gICAgdmlydHVhbCBSZW5kZXJTdHls
ZSogdGV4dEJhc2VTdHlsZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgUmVuZGVyU3R5
bGUqIHRleHRCYXNlU3R5bGUoKSBjb25zdDsKIAogICAgIGJvb2wgdGV4dFNob3VsZEJlVHJ1bmNh
dGVkKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0RnJhZ21lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0RnJh
Z21lbnQuaAppbmRleCA5NDBmMjJlZWFhNjNhYjFmMGQ4NzE2YWE4ZmFhZTFhZGE1YTc1MWE1Li4z
Zjg2MzU3ZmZiMTMzZmVkZjE5NDI2MTczYTZmOGM1Yzg5Zjk5ZjM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dEZyYWdtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRGcmFnbWVudC5oCkBAIC0zMSw3ICszMSw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIC8vIGZpcnN0IGxldHRlciBhbmQgdGhhdCBtdXN0IHRoZXJlZm9y
ZSBoYXZlIGRpZmZlcmVudCBzdHlsZXMgKGFuZCBwb3NpdGlvbnMgaW4gdGhlIHJlbmRlciB0cmVl
KS4KIC8vIFdlIGNhY2hlIG9mZnNldHMgc28gdGhhdCB0ZXh0IHRyYW5zZm9ybWF0aW9ucyBjYW4g
YmUgYXBwbGllZCBpbiBzdWNoIGEgd2F5IHRoYXQgd2UgY2FuIHJlY292ZXIKIC8vIHRoZSBvcmln
aW5hbCB1bmFsdGVyZWQgc3RyaW5nIGZyb20gb3VyIGNvcnJlc3BvbmRpbmcgRE9NIG5vZGUuCi1j
bGFzcyBSZW5kZXJUZXh0RnJhZ21lbnQgRklOQUwgOiBwdWJsaWMgUmVuZGVyVGV4dCB7CitjbGFz
cyBSZW5kZXJUZXh0RnJhZ21lbnQgOiBwdWJsaWMgUmVuZGVyVGV4dCB7CiBwdWJsaWM6CiAgICAg
UmVuZGVyVGV4dEZyYWdtZW50KE5vZGUqLCBTdHJpbmdJbXBsKiwgaW50IHN0YXJ0T2Zmc2V0LCBp
bnQgbGVuZ3RoKTsKICAgICBSZW5kZXJUZXh0RnJhZ21lbnQoTm9kZSosIFN0cmluZ0ltcGwqKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0VHJhY2tDdWUu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0VHJhY2tDdWUuaAppbmRleCAx
ZmUwNzc5OGJjYWEyMzRjNGExNzk4OWIwYWUwYTg2MGJjZmJkYjc5Li45ODA4NGFiMzhkZDUzOTU4
NWU2YTkxMzk3MzA3MzExZjY4NTYwOGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dFRyYWNrQ3VlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRUcmFja0N1ZS5oCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgVGV4dFRyYWNrQ3VlQm94OwogCi1jbGFzcyBSZW5kZXJUZXh0VHJhY2tDdWUg
RklOQUwgOiBwdWJsaWMgUmVuZGVyQmxvY2sgeworY2xhc3MgUmVuZGVyVGV4dFRyYWNrQ3VlIDog
cHVibGljIFJlbmRlckJsb2NrIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJUZXh0VHJh
Y2tDdWUoVGV4dFRyYWNrQ3VlQm94Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWRlby5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZGVvLmgKaW5kZXggZjIxNzIwODBiZTdkN2I5ZTkwMDQ3OGUwM2MyMGMyYmNlMmViNzMzYi4uNGEy
NTZkMTg4OTVjY2M0ZDdiZTUyOGJhMjdlYTQzZTBjMTE5NGI4MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclZpZGVvLmgKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgSFRNTE1lZGlhRWxlbWVudDsKIGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiAKLWNs
YXNzIFJlbmRlclZpZGVvIEZJTkFMIDogcHVibGljIFJlbmRlck1lZGlhIHsKK2NsYXNzIFJlbmRl
clZpZGVvIDogcHVibGljIFJlbmRlck1lZGlhIHsKIHB1YmxpYzoKICAgICBSZW5kZXJWaWRlbyhI
VE1MVmlkZW9FbGVtZW50Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyVmlkZW8oKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IDY5MjY4Y2E0YzRhMzhkZTMxZTFlMDJlOTc3
N2FjNzRjMzZmZWExMTkuLjE0Mjk1ZjRhYTI3NDFhNTI3MDBjY2VjNzhiNGE4NmMzMjZhOTMyMDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaApAQCAtNDIsNyArNDIsNyBAQCBj
bGFzcyBSZW5kZXJMYXllckNvbXBvc2l0b3I7CiBjbGFzcyBDdXN0b21GaWx0ZXJHbG9iYWxDb250
ZXh0OwogI2VuZGlmCiAKLWNsYXNzIFJlbmRlclZpZXcgRklOQUwgOiBwdWJsaWMgUmVuZGVyQmxv
Y2sgeworY2xhc3MgUmVuZGVyVmlldyA6IHB1YmxpYyBSZW5kZXJCbG9jayB7CiBwdWJsaWM6CiAg
ICAgZXhwbGljaXQgUmVuZGVyVmlldyhEb2N1bWVudCopOwogICAgIHZpcnR1YWwgflJlbmRlclZp
ZXcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuaAppbmRleCAxNmFmYTA3
NjBkOTIzNDljNTEwNmQyMGE0OWUxZjZkZTU2OGRhMzMxLi5lZjhmM2I3NDE3OWQ4YzU4MDRlOTBj
ZTc4N2M1NmZkNDU5ODZhZjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyV2lkZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdl
dC5oCkBAIC03OSwyMSArNzksMjEgQEAgcHJvdGVjdGVkOgogCiAgICAgdm9pZCBjbGVhcldpZGdl
dCgpOwogCi0gICAgdmlydHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwg
Y29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFs
IHZvaWQgbGF5b3V0KCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50KFBhaW50SW5m
byYsIGNvbnN0IExheW91dFBvaW50JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBDdXJzb3JEaXJl
Y3RpdmUgZ2V0Q3Vyc29yKGNvbnN0IExheW91dFBvaW50JiwgQ3Vyc29yJikgY29uc3QgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29u
c3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKTsKKyAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7Cisg
ICAgdmlydHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7Cisg
ICAgdmlydHVhbCBDdXJzb3JEaXJlY3RpdmUgZ2V0Q3Vyc29yKGNvbnN0IExheW91dFBvaW50Jiwg
Q3Vyc29yJikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIG5vZGVBdFBvaW50KGNvbnN0IEhpdFRl
c3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgbG9jYXRp
b25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBIaXRU
ZXN0QWN0aW9uKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBwYWludENvbnRlbnRzKFBh
aW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7CiAKIHByaXZhdGU6Ci0gICAgdmlydHVhbCBi
b29sIGlzV2lkZ2V0KCkgY29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gdHJ1ZTsgfQorICAg
IHZpcnR1YWwgYm9vbCBpc1dpZGdldCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAotICAgIHZp
cnR1YWwgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFs
IHZvaWQgZGVzdHJveSgpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxl
Y3Rpb25TdGF0ZShTZWxlY3Rpb25TdGF0ZSkgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2
b2lkIHNldE92ZXJsYXBUZXN0UmVzdWx0KGJvb2wpIE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1
YWwgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGVzdHJveSgpOwor
ICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3Rpb25TdGF0ZShTZWxlY3Rpb25TdGF0ZSk7CisgICAg
dmlydHVhbCB2b2lkIHNldE92ZXJsYXBUZXN0UmVzdWx0KGJvb2wpOwogCiAgICAgYm9vbCBzZXRX
aWRnZXRHZW9tZXRyeShjb25zdCBMYXlvdXRSZWN0Jik7CiAgICAgYm9vbCB1cGRhdGVXaWRnZXRH
ZW9tZXRyeSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldv
cmRCcmVhay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldvcmRCcmVhay5oCmlu
ZGV4IGVlYTMxOTNhMGJkNzgxYzY2ZGJjNjI0OTE4ZDhiYTk3Y2I4ZDE1ODIuLmRiMzFlZWMxNmVm
ZjI1NzY4MjcyMWU5ZDcyNDU2ZDRjNzllNmZhOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJXb3JkQnJlYWsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyV29yZEJyZWFrLmgKQEAgLTMzLDcgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBIVE1MRWxlbWVudDsKIAotY2xhc3MgUmVuZGVyV29yZEJyZWFrIEZJTkFMIDog
cHVibGljIFJlbmRlclRleHQgeworY2xhc3MgUmVuZGVyV29yZEJyZWFrIDogcHVibGljIFJlbmRl
clRleHQgewogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlcldvcmRCcmVhayhIVE1MRWxlbWVu
dCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJv
eC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAppbmRleCBlY2Zm
MTgyZjM4ZTg0NjI4OWNlMGQ0ZWQzOWM2MzYxZWEwN2Q5NWRlLi4wOGJjNTEzOWZmZmRiZTlmYWIx
NDA4OTJkZTJmY2ExNDg4MmU5ZTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUm9vdElubGluZUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5s
aW5lQm94LmgKQEAgLTM4LDE2ICszOCwxNiBAQCBjbGFzcyBSb290SW5saW5lQm94IDogcHVibGlj
IElubGluZUZsb3dCb3ggewogcHVibGljOgogICAgIGV4cGxpY2l0IFJvb3RJbmxpbmVCb3goUmVu
ZGVyQmxvY2sqKTsKIAotICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95KFJlbmRlckFyZW5hKikgT1ZF
UlJJREUgRklOQUw7CisgICAgdmlydHVhbCB2b2lkIGRlc3Ryb3koUmVuZGVyQXJlbmEqKSBGSU5B
TDsKIAotICAgIHZpcnR1YWwgYm9vbCBpc1Jvb3RJbmxpbmVCb3goKSBjb25zdCBPVkVSUklERSBG
SU5BTCB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIGlzUm9vdElubGluZUJveCgp
IGNvbnN0IEZJTkFMIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHZvaWQgZGV0YWNoRWxsaXBzaXNC
b3goUmVuZGVyQXJlbmEqKTsKIAogICAgIFJvb3RJbmxpbmVCb3gqIG5leHRSb290Qm94KCkgY29u
c3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Um9vdElubGluZUJveCo+KG1fbmV4dExpbmVCb3gpOyB9
CiAgICAgUm9vdElubGluZUJveCogcHJldlJvb3RCb3goKSBjb25zdCB7IHJldHVybiBzdGF0aWNf
Y2FzdDxSb290SW5saW5lQm94Kj4obV9wcmV2TGluZUJveCk7IH0KIAotICAgIHZpcnR1YWwgdm9p
ZCBhZGp1c3RQb3NpdGlvbihmbG9hdCBkeCwgZmxvYXQgZHkpIE9WRVJSSURFIEZJTkFMOworICAg
IHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihmbG9hdCBkeCwgZmxvYXQgZHkpIEZJTkFMOwog
CiAgICAgTGF5b3V0VW5pdCBsaW5lVG9wKCkgY29uc3QgeyByZXR1cm4gbV9saW5lVG9wOyB9CiAg
ICAgTGF5b3V0VW5pdCBsaW5lQm90dG9tKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm90dG9tOyB9
CkBAIC04NSw3ICs4NSw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9saW5lQm90dG9tV2l0aExlYWRp
bmcgPSBib3R0b21XaXRoTGVhZGluZzsKICAgICB9CiAKLSAgICB2aXJ0dWFsIFJlbmRlckxpbmVC
b3hMaXN0KiByZW5kZXJlckxpbmVCb3hlcygpIGNvbnN0IE9WRVJSSURFIEZJTkFMOworICAgIHZp
cnR1YWwgUmVuZGVyTGluZUJveExpc3QqIHJlbmRlcmVyTGluZUJveGVzKCkgY29uc3QgRklOQUw7
CiAKICAgICBSZW5kZXJPYmplY3QqIGxpbmVCcmVha09iaigpIGNvbnN0IHsgcmV0dXJuIG1fbGlu
ZUJyZWFrT2JqOyB9CiAgICAgQmlkaVN0YXR1cyBsaW5lQnJlYWtCaWRpU3RhdHVzKCkgY29uc3Q7
CkBAIC0xMTQsOCArMTE0LDggQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0h5cGhlbmF0ZWQoKSBj
b25zdDsKIAotICAgIHZpcnR1YWwgaW50IGJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lIGJh
c2VsaW5lVHlwZSkgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBMYXlvdXRVbml0
IGxpbmVIZWlnaHQoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIGludCBiYXNl
bGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUpIGNvbnN0IEZJTkFMOworICAg
IHZpcnR1YWwgTGF5b3V0VW5pdCBsaW5lSGVpZ2h0KCkgY29uc3QgRklOQUw7CiAKICNpZiBQTEFU
Rk9STShNQUMpCiAgICAgdm9pZCBhZGRIaWdobGlnaHRPdmVyZmxvdygpOwpAQCAtMTI4LDcgKzEy
OCw3IEBAIHB1YmxpYzoKICAgICB1c2luZyBJbmxpbmVCb3g6Omhhc1NlbGVjdGVkQ2hpbGRyZW47
CiAgICAgdXNpbmcgSW5saW5lQm94OjpzZXRIYXNTZWxlY3RlZENoaWxkcmVuOwogCi0gICAgdmly
dHVhbCBSZW5kZXJPYmplY3Q6OlNlbGVjdGlvblN0YXRlIHNlbGVjdGlvblN0YXRlKCkgT1ZFUlJJ
REUgRklOQUw7CisgICAgdmlydHVhbCBSZW5kZXJPYmplY3Q6OlNlbGVjdGlvblN0YXRlIHNlbGVj
dGlvblN0YXRlKCkgRklOQUw7CiAgICAgSW5saW5lQm94KiBmaXJzdFNlbGVjdGVkQm94KCk7CiAg
ICAgSW5saW5lQm94KiBsYXN0U2VsZWN0ZWRCb3goKTsKIApAQCAtMTUxLDkgKzE1MSw5IEBAIHB1
YmxpYzoKIAogICAgIFZlY3RvcjxSZW5kZXJCb3gqPiogZmxvYXRzUHRyKCkgeyBBU1NFUlQoIWlz
RGlydHkoKSk7IHJldHVybiBtX2Zsb2F0cy5nZXQoKTsgfQogCi0gICAgdmlydHVhbCB2b2lkIGV4
dHJhY3RMaW5lQm94RnJvbVJlbmRlck9iamVjdCgpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1
YWwgdm9pZCBhdHRhY2hMaW5lQm94VG9SZW5kZXJPYmplY3QoKSBPVkVSUklERSBGSU5BTDsKLSAg
ICB2aXJ0dWFsIHZvaWQgcmVtb3ZlTGluZUJveEZyb21SZW5kZXJPYmplY3QoKSBPVkVSUklERSBG
SU5BTDsKKyAgICB2aXJ0dWFsIHZvaWQgZXh0cmFjdExpbmVCb3hGcm9tUmVuZGVyT2JqZWN0KCkg
RklOQUw7CisgICAgdmlydHVhbCB2b2lkIGF0dGFjaExpbmVCb3hUb1JlbmRlck9iamVjdCgpIEZJ
TkFMOworICAgIHZpcnR1YWwgdm9pZCByZW1vdmVMaW5lQm94RnJvbVJlbmRlck9iamVjdCgpIEZJ
TkFMOwogICAgIAogICAgIEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUoKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxGb250QmFzZWxpbmU+KG1fYmFzZWxpbmVUeXBlKTsgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmgKaW5k
ZXggM2VlODI4ZGEwM2FjMTI1ZGIxM2I5YTQwN2I4ZjJkNGRmN2I1OTQ3ZC4uY2Q5M2Y5OWI4Mzkz
M2ViMTVhNTJhYjY0YTczMDk0MDJlN2QyZWE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suaApAQCAtMTE3LDcgKzExNyw3IEBA
IGlubGluZSBjb25zdCBSZW5kZXJNYXRoTUxCbG9jayogdG9SZW5kZXJNYXRoTUxCbG9jayhjb25z
dCBSZW5kZXJPYmplY3QqIG9iamVjdCkKIC8vIFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUgZG9pbmcg
YW4gdW5uZWNlc3NhcnkgY2FzdC4KIHZvaWQgdG9SZW5kZXJNYXRoTUxCbG9jayhjb25zdCBSZW5k
ZXJNYXRoTUxCbG9jayopOwogCi1jbGFzcyBSZW5kZXJNYXRoTUxUYWJsZSBGSU5BTCA6IHB1Ymxp
YyBSZW5kZXJUYWJsZSB7CitjbGFzcyBSZW5kZXJNYXRoTUxUYWJsZSA6IHB1YmxpYyBSZW5kZXJU
YWJsZSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyTWF0aE1MVGFibGUoRWxlbWVudCog
ZWxlbWVudCkgOiBSZW5kZXJUYWJsZShlbGVtZW50KSB7IH0KICAgICAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQmxvY2suaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQmxvY2suaAppbmRleCBiYWYzY2E4ODg1MTg3NDdm
NTI4ZmExMzQ0NTZlMjdkYTkxYmI3OGU2Li4yMjJkNWVlMjAzNTIwYTUwZmY3YzkyNDM0OWI0MjFh
YTAzNzk5YjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR0Jsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdC
bG9jay5oCkBAIC0zMiwxOSArMzIsMTkgQEAgY2xhc3MgUmVuZGVyU1ZHQmxvY2sgOiBwdWJsaWMg
UmVuZGVyQmxvY2sgewogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlclNWR0Jsb2NrKFNWR0Vs
ZW1lbnQqKTsKIAotICAgIHZpcnR1YWwgTGF5b3V0UmVjdCB2aXN1YWxPdmVyZmxvd1JlY3QoKSBj
b25zdCBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIExheW91dFJlY3QgdmlzdWFsT3ZlcmZs
b3dSZWN0KCkgY29uc3Q7CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbEJlRGVz
dHJveWVkKCkgT1ZFUlJJREU7CiAKIHByaXZhdGU6Ci0gICAgdmlydHVhbCB2b2lkIHNldFN0eWxl
KFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+KSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlRnJvbVN0eWxlKCkgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCB2b2lkIHNl
dFN0eWxlKFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+KTsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
RnJvbVN0eWxlKCkgT1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWJzb2x1dGVSZWN0cyhW
ZWN0b3I8SW50UmVjdD4mLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpIGNv
bnN0IE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgdm9pZCBhYnNvbHV0ZVJlY3RzKFZlY3Rv
cjxJbnRSZWN0PiYsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3Q7
CiAKLSAgICB2aXJ0dWFsIHZvaWQgc3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29u
c3QgUmVuZGVyU3R5bGUqIG5ld1N0eWxlKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZv
aWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xk
U3R5bGUpIE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgdm9pZCBzdHlsZVdpbGxDaGFuZ2Uo
U3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogbmV3U3R5bGUpOworICAgIHZpcnR1
YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxl
KiBvbGRTdHlsZSk7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdDb250YWluZXIuaAppbmRleCA0NzRkZGI1MTQwOGQ4M2Q1MjM2NTZlYzU5Nzlh
NDc5YTE0YWQ4YjBhLi43MGUxZWM4ZDViOTUxZTY0YzliMmFiNWE5NGU4ZmI5MGE1NDQ4N2Y0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5l
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVy
LmgKQEAgLTQzLDI5ICs0MywyOSBAQCBwdWJsaWM6CiAgICAgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0
KiBjaGlsZHJlbigpIHsgcmV0dXJuICZtX2NoaWxkcmVuOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQg
cGFpbnQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKTsKLSAgICB2aXJ0dWFsIHZvaWQg
c2V0TmVlZHNCb3VuZGFyaWVzVXBkYXRlKCkgT1ZFUlJJREUgRklOQUwgeyBtX25lZWRzQm91bmRh
cmllc1VwZGF0ZSA9IHRydWU7IH0KLSAgICB2aXJ0dWFsIGJvb2wgbmVlZHNCb3VuZGFyaWVzVXBk
YXRlKCkgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gbV9uZWVkc0JvdW5kYXJpZXNVcGRhdGU7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNCb3VuZGFyaWVzVXBkYXRlKCkgeyBtX25lZWRzQm91
bmRhcmllc1VwZGF0ZSA9IHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgbmVlZHNCb3VuZGFyaWVz
VXBkYXRlKCkgT1ZFUlJJREUgeyByZXR1cm4gbV9uZWVkc0JvdW5kYXJpZXNVcGRhdGU7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgZGlkVHJhbnNmb3JtVG9Sb290VXBkYXRlKCkgeyByZXR1cm4gZmFsc2U7
IH0KICAgICBib29sIGlzT2JqZWN0Qm91bmRpbmdCb3hWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1f
b2JqZWN0Qm91bmRpbmdCb3hWYWxpZDsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCBSZW5k
ZXJPYmplY3RDaGlsZExpc3QqIHZpcnR1YWxDaGlsZHJlbigpIE9WRVJSSURFIEZJTkFMIHsgcmV0
dXJuIGNoaWxkcmVuKCk7IH0KLSAgICB2aXJ0dWFsIGNvbnN0IFJlbmRlck9iamVjdENoaWxkTGlz
dCogdmlydHVhbENoaWxkcmVuKCkgY29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gY2hpbGRy
ZW4oKTsgfQorICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0KiB2aXJ0dWFsQ2hpbGRy
ZW4oKSB7IHJldHVybiBjaGlsZHJlbigpOyB9CisgICAgdmlydHVhbCBjb25zdCBSZW5kZXJPYmpl
Y3RDaGlsZExpc3QqIHZpcnR1YWxDaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIGNoaWxkcmVuKCk7
IH0KIAotICAgIHZpcnR1YWwgYm9vbCBpc1NWR0NvbnRhaW5lcigpIGNvbnN0IE9WRVJSSURFIEZJ
TkFMIHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUo
KSBjb25zdCBPVkVSUklERSB7IHJldHVybiAiUmVuZGVyU1ZHQ29udGFpbmVyIjsgfQorICAgIHZp
cnR1YWwgYm9vbCBpc1NWR0NvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2
aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyU1ZH
Q29udGFpbmVyIjsgfQogCi0gICAgdmlydHVhbCB2b2lkIGxheW91dCgpIE9WRVJSSURFOworICAg
IHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBhZGRDaGlsZChSZW5k
ZXJPYmplY3QqIGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkID0gMCkgT1ZFUlJJREUg
RklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIHJlbW92ZUNoaWxkKFJlbmRlck9iamVjdCopIE9WRVJS
SURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBhZGRGb2N1c1JpbmdSZWN0cyhWZWN0b3I8SW50
UmVjdD4mLCBjb25zdCBMYXlvdXRQb2ludCYgYWRkaXRpb25hbE9mZnNldCwgY29uc3QgUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdCogcGFpbnRDb250YWluZXIgPSAwKSBPVkVSUklERSBGSU5BTDsKKyAg
ICB2aXJ0dWFsIHZvaWQgYWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVuZGVyT2JqZWN0
KiBiZWZvcmVDaGlsZCA9IDApIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCByZW1vdmVDaGls
ZChSZW5kZXJPYmplY3QqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkRm9jdXNSaW5n
UmVjdHMoVmVjdG9yPEludFJlY3Q+JiwgY29uc3QgTGF5b3V0UG9pbnQmIGFkZGl0aW9uYWxPZmZz
ZXQsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHBhaW50Q29udGFpbmVyID0gMCkgT1ZF
UlJJREU7CiAKLSAgICB2aXJ0dWFsIEZsb2F0UmVjdCBvYmplY3RCb3VuZGluZ0JveCgpIGNvbnN0
IE9WRVJSSURFIEZJTkFMIHsgcmV0dXJuIG1fb2JqZWN0Qm91bmRpbmdCb3g7IH0KLSAgICB2aXJ0
dWFsIEZsb2F0UmVjdCBzdHJva2VCb3VuZGluZ0JveCgpIGNvbnN0IE9WRVJSSURFIEZJTkFMIHsg
cmV0dXJuIG1fc3Ryb2tlQm91bmRpbmdCb3g7IH0KLSAgICB2aXJ0dWFsIEZsb2F0UmVjdCByZXBh
aW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpIGNvbnN0IE9WRVJSSURFIEZJTkFMIHsgcmV0dXJu
IG1fcmVwYWludEJvdW5kaW5nQm94OyB9CisgICAgdmlydHVhbCBGbG9hdFJlY3Qgb2JqZWN0Qm91
bmRpbmdCb3goKSBjb25zdCB7IHJldHVybiBtX29iamVjdEJvdW5kaW5nQm94OyB9CisgICAgdmly
dHVhbCBGbG9hdFJlY3Qgc3Ryb2tlQm91bmRpbmdCb3goKSBjb25zdCB7IHJldHVybiBtX3N0cm9r
ZUJvdW5kaW5nQm94OyB9CisgICAgdmlydHVhbCBGbG9hdFJlY3QgcmVwYWludFJlY3RJbkxvY2Fs
Q29vcmRpbmF0ZXMoKSBjb25zdCB7IHJldHVybiBtX3JlcGFpbnRCb3VuZGluZ0JveDsgfQogCi0g
ICAgdmlydHVhbCBib29sIG5vZGVBdEZsb2F0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBI
aXRUZXN0UmVzdWx0JiwgY29uc3QgRmxvYXRQb2ludCYgcG9pbnRJblBhcmVudCwgSGl0VGVzdEFj
dGlvbikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIG5vZGVBdEZsb2F0UG9pbnQoY29uc3Qg
SGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgRmxvYXRQb2ludCYgcG9pbnRJ
blBhcmVudCwgSGl0VGVzdEFjdGlvbik7CiAKICAgICAvLyBBbGxvdyBSZW5kZXJTVkdUcmFuc2Zv
cm1hYmxlQ29udGFpbmVyIHRvIGhvb2sgaW4gYXQgdGhlIHJpZ2h0IHRpbWUgaW4gbGF5b3V0KCkK
ICAgICB2aXJ0dWFsIGJvb2wgY2FsY3VsYXRlTG9jYWxUcmFuc2Zvcm0oKSB7IHJldHVybiBmYWxz
ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdF
bGxpcHNlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0VsbGlwc2Uu
aAppbmRleCAzMzIxM2RhZmFiYTVjZWI4NjUwZWY1YzE3OGQwNzIzYjAzMDVhYWYyLi5mNTEyOWRm
OTA4ZGFjNDQxM2Q2OWYyZGE4MThmZjk3ZmE3MDVlMjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0VsbGlwc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0VsbGlwc2UuaApAQCAtMzMsNyArMzMsNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlbmRlclNWR0VsbGlwc2UgRklOQUwgOiBwdWJs
aWMgUmVuZGVyU1ZHU2hhcGUgeworY2xhc3MgUmVuZGVyU1ZHRWxsaXBzZSA6IHB1YmxpYyBSZW5k
ZXJTVkdTaGFwZSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU1ZHRWxsaXBzZShTVkdT
dHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCopOwogICAgIHZpcnR1YWwgflJlbmRlclNWR0VsbGlw
c2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
Rm9yZWlnbk9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdG
b3JlaWduT2JqZWN0LmgKaW5kZXggNmVkOTQzODljZjgwOTg5NGY4Yzk5MTIzNmIwNjQ3N2ExYzI5
MTEwNy4uMDJjMjljYzA1OGRhMGUxNGQ4YzY2N2Y3MTc5NzQzOWMzNGJmZTJkMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdGb3JlaWduT2JqZWN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdGb3JlaWduT2JqZWN0
LmgKQEAgLTMxLDcgKzMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGb3Jl
aWduT2JqZWN0RWxlbWVudDsKIAotY2xhc3MgUmVuZGVyU1ZHRm9yZWlnbk9iamVjdCBGSU5BTCA6
IHB1YmxpYyBSZW5kZXJTVkdCbG9jayB7CitjbGFzcyBSZW5kZXJTVkdGb3JlaWduT2JqZWN0IDog
cHVibGljIFJlbmRlclNWR0Jsb2NrIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJTVkdG
b3JlaWduT2JqZWN0KFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+UmVu
ZGVyU1ZHRm9yZWlnbk9iamVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdHcmFkaWVudFN0b3AuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHR3JhZGllbnRTdG9wLmgKaW5kZXggN2VkMGNhMzk5ZDI3MDk4Zjk4NTgz
OTViZmZhM2YxZTFiMzA3MjM4ZS4uMmVlZWJlZGY5MmU1ZTJlNTYzYTBkMTlmZjI3NDRlMTZjNGRl
Y2RjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdH
cmFkaWVudFN0b3AuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R0dyYWRpZW50U3RvcC5oCkBAIC0zMCw3ICszMCw3IEBAIGNsYXNzIFNWR0dyYWRpZW50RWxlbWVu
dDsKIGNsYXNzIFNWR1N0b3BFbGVtZW50OwogCiAvLyBUaGlzIGNsYXNzIGV4aXN0cyBtb3N0bHkg
c28gd2UgY2FuIGhlYXIgYWJvdXQgZ3JhZGllbnQgc3RvcCBzdHlsZSBjaGFuZ2VzCi1jbGFzcyBS
ZW5kZXJTVkdHcmFkaWVudFN0b3AgRklOQUwgOiBwdWJsaWMgUmVuZGVyT2JqZWN0IHsKK2NsYXNz
IFJlbmRlclNWR0dyYWRpZW50U3RvcCA6IHB1YmxpYyBSZW5kZXJPYmplY3QgewogcHVibGljOgog
ICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcChTVkdTdG9wRWxlbWVudCopOwogICAgIHZpcnR1YWwg
flJlbmRlclNWR0dyYWRpZW50U3RvcCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdIaWRkZW5Db250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyLmgKaW5kZXggMjk4Y2QzYzc5Nzhk
OWQxMDRjYWM5NzM1NTkzZTNhNjQ5YmU1ZmJiMi4uOTRmZjhjOGEwZGU4NzUxNTI5NDkyZmIwYWEy
MGVhY2I2YzBiMDZjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdIaWRkZW5Db250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR0hpZGRlbkNvbnRhaW5lci5oCkBAIC0zMywyMCArMzMsMjAgQEAgY2xhc3Mg
UmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIDogcHVibGljIFJlbmRlclNWR0NvbnRhaW5lciB7CiBw
dWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyKFNWR1N0eWxlZEVs
ZW1lbnQqKTsKIAotICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IE9W
RVJSSURFIHsgcmV0dXJuICJSZW5kZXJTVkdIaWRkZW5Db250YWluZXIiOyB9CisgICAgdmlydHVh
bCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclNWR0hpZGRl
bkNvbnRhaW5lciI7IH0KIAogcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKSBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7CiAKIHByaXZhdGU6Ci0gICAgdmly
dHVhbCBib29sIGlzU1ZHSGlkZGVuQ29udGFpbmVyKCkgY29uc3QgT1ZFUlJJREUgRklOQUwgeyBy
ZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1NWR0hpZGRlbkNvbnRhaW5lcigpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBwYWludChQYWludEluZm8m
LCBjb25zdCBMYXlvdXRQb2ludCYpIE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgdm9pZCBw
YWludChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwogICAgIAotICAgIHZpcnR1YWwg
TGF5b3V0UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0KikgY29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gTGF5b3V0UmVjdCgp
OyB9Ci0gICAgdmlydHVhbCB2b2lkIGFic29sdXRlUXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mLCBi
b29sKiB3YXNGaXhlZCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCBMYXlvdXRS
ZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxP
YmplY3QqKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBMYXlvdXRSZWN0KCk7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgYWJzb2x1dGVRdWFkcyhWZWN0b3I8RmxvYXRRdWFkPiYsIGJvb2wqIHdhc0ZpeGVk
KSBjb25zdDsKIAotICAgIHZpcnR1YWwgYm9vbCBub2RlQXRGbG9hdFBvaW50KGNvbnN0IEhpdFRl
c3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50SW5QYXJl
bnQsIEhpdFRlc3RBY3Rpb24pIE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgYm9vbCBub2Rl
QXRGbG9hdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0
IEZsb2F0UG9pbnQmIHBvaW50SW5QYXJlbnQsIEhpdFRlc3RBY3Rpb24pOwogfTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbWFnZS5oCmluZGV4IGI4NDlh
MGQ3YWUzNzdmMWMyMTBlNTI1MmYyZDYzN2EwMzdiNDI4MjguLmFmODViODk1YjA1NDM0NDA5YzQ0
MThhNDM0ODg4MGMwMDE0ZDAzMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR0ltYWdlLmgKQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZTsKIGNsYXNzIFNWR0ltYWdlRWxlbWVudDsKIAotY2xh
c3MgUmVuZGVyU1ZHSW1hZ2UgRklOQUwgOiBwdWJsaWMgUmVuZGVyU1ZHTW9kZWxPYmplY3Qgewor
Y2xhc3MgUmVuZGVyU1ZHSW1hZ2UgOiBwdWJsaWMgUmVuZGVyU1ZHTW9kZWxPYmplY3QgewogcHVi
bGljOgogICAgIFJlbmRlclNWR0ltYWdlKFNWR0ltYWdlRWxlbWVudCopOwogICAgIHZpcnR1YWwg
flJlbmRlclNWR0ltYWdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR0lubGluZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdJbmxpbmUuaAppbmRleCAzNzE0YTFiYjY4YTVlNWRkMjUwZmJmNzMwMjMzYzIzZmQxMWVm
MmI1Li5kYmViMGQzZWQwNTAzZjIyYzc1MWM3ZjZkYjY1MTU0NmY0NDQ0MWU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lLmgKQEAgLTMyLDM0ICsz
MiwzNCBAQCBjbGFzcyBSZW5kZXJTVkdJbmxpbmUgOiBwdWJsaWMgUmVuZGVySW5saW5lIHsKIHB1
YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJTVkdJbmxpbmUoRWxlbWVudCopOwogCi0gICAgdmly
dHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gIlJl
bmRlclNWR0lubGluZSI7IH0KLSAgICB2aXJ0dWFsIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0
IE9WRVJSSURFIEZJTkFMIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzU1ZH
SW5saW5lKCkgY29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1
YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJTVkdJbmxp
bmUiOyB9CisgICAgdmlydHVhbCBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1NWR0lubGluZSgpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KIAogICAgIC8vIENoYXB0ZXIgMTAuNCBvZiB0aGUgU1ZHIFNwZWNpZmljYXRpb24gc2F5
IHRoYXQgd2Ugc2hvdWxkIHVzZSB0aGUKICAgICAvLyBvYmplY3QgYm91bmRpbmcgYm94IG9mIHRo
ZSBwYXJlbnQgdGV4dCBlbGVtZW50LgogICAgIC8vIFdlIHNlYXJjaCBmb3IgdGhlIHJvb3QgdGV4
dCBlbGVtZW50IGFuZCB0YWtlIGl0cyBib3VuZGluZyBib3guCiAgICAgLy8gSXQgaXMgYWxzbyBu
ZWNlc3NhcnkgdG8gdGFrZSB0aGUgc3Ryb2tlIGFuZCByZXBhaW50IHJlY3Qgb2YKICAgICAvLyB0
aGlzIGVsZW1lbnQsIHNpbmNlIHdlIG5lZWQgaXQgZm9yIGZpbHRlcnMuCi0gICAgdmlydHVhbCBG
bG9hdFJlY3Qgb2JqZWN0Qm91bmRpbmdCb3goKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAgICB2
aXJ0dWFsIEZsb2F0UmVjdCBzdHJva2VCb3VuZGluZ0JveCgpIGNvbnN0IE9WRVJSSURFIEZJTkFM
OwotICAgIHZpcnR1YWwgRmxvYXRSZWN0IHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkg
Y29uc3QgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCBGbG9hdFJlY3Qgb2JqZWN0Qm91bmRp
bmdCb3goKSBjb25zdDsKKyAgICB2aXJ0dWFsIEZsb2F0UmVjdCBzdHJva2VCb3VuZGluZ0JveCgp
IGNvbnN0OworICAgIHZpcnR1YWwgRmxvYXRSZWN0IHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5h
dGVzKCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIExheW91dFJlY3QgY2xpcHBlZE92ZXJmbG93UmVj
dEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5l
cikgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lkIGNvbXB1dGVGbG9hdFJl
Y3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWlu
ZXIsIEZsb2F0UmVjdCYsIGJvb2wgZml4ZWQgPSBmYWxzZSkgY29uc3QgT1ZFUlJJREUgRklOQUw7
Ci0gICAgdmlydHVhbCB2b2lkIG1hcExvY2FsVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJN
b2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgVHJhbnNmb3JtU3RhdGUmLCBNYXBDb29yZGlu
YXRlc0ZsYWdzID0gQXBwbHlDb250YWluZXJGbGlwLCBib29sKiB3YXNGaXhlZCA9IDApIGNvbnN0
IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgY29uc3QgUmVuZGVyT2JqZWN0KiBwdXNoTWFw
cGluZ1RvQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGFuY2VzdG9yVG9T
dG9wQXQsIFJlbmRlckdlb21ldHJ5TWFwJikgY29uc3QgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmly
dHVhbCB2b2lkIGFic29sdXRlUXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mLCBib29sKiB3YXNGaXhl
ZCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCBMYXlvdXRSZWN0IGNsaXBwZWRP
dmVyZmxvd1JlY3RGb3JSZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFp
bnRDb250YWluZXIpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlRmxv
YXRSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29u
dGFpbmVyLCBGbG9hdFJlY3QmLCBib29sIGZpeGVkID0gZmFsc2UpIGNvbnN0IE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgdm9pZCBtYXBMb2NhbFRvQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9k
ZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiwgTWFwQ29vcmRpbmF0
ZXNGbGFncyA9IEFwcGx5Q29udGFpbmVyRmxpcCwgYm9vbCogd2FzRml4ZWQgPSAwKSBjb25zdCBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIGNvbnN0IFJlbmRlck9iamVjdCogcHVzaE1hcHBpbmdUb0Nv
bnRhaW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBhbmNlc3RvclRvU3RvcEF0LCBS
ZW5kZXJHZW9tZXRyeU1hcCYpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBhYnNv
bHV0ZVF1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+JiwgYm9vbCogd2FzRml4ZWQpIGNvbnN0OwogCiBw
cml2YXRlOgotICAgIHZpcnR1YWwgSW5saW5lRmxvd0JveCogY3JlYXRlSW5saW5lRmxvd0JveCgp
IE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgSW5saW5lRmxvd0JveCogY3JlYXRlSW5saW5l
Rmxvd0JveCgpOwogCi0gICAgdmlydHVhbCB2b2lkIHdpbGxCZURlc3Ryb3llZCgpIE9WRVJSSURF
IEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNl
LCBjb25zdCBSZW5kZXJTdHlsZSogbmV3U3R5bGUpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1
YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxl
KiBvbGRTdHlsZSkgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCB2b2lkIHdpbGxCZURlc3Ry
b3llZCgpOworICAgIHZpcnR1YWwgdm9pZCBzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNl
LCBjb25zdCBSZW5kZXJTdHlsZSogbmV3U3R5bGUpOworICAgIHZpcnR1YWwgdm9pZCBzdHlsZURp
ZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSk7CiAK
LSAgICB2aXJ0dWFsIHZvaWQgYWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVuZGVyT2Jq
ZWN0KiBiZWZvcmVDaGlsZCA9IDApIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBy
ZW1vdmVDaGlsZChSZW5kZXJPYmplY3QqKSBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIHZv
aWQgYWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGls
ZCA9IDApIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCByZW1vdmVDaGlsZChSZW5kZXJPYmpl
Y3QqKSBPVkVSUklERTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmgKaW5kZXggNTRmMDMxYTRhNWNiYzk2Y2I1ZmYwOTQ2
MTIyYzNmNGZjNDk3ZTJmNS4uYjZmYzgzMDA4OTJmNDJiNWM1ODA1ZTM4NWJiMDMyNWRjYjA1YjMy
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxp
bmVUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxp
bmVUZXh0LmgKQEAgLTMxLDcgKzMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBT
VkdJbmxpbmVUZXh0Qm94OwogCi1jbGFzcyBSZW5kZXJTVkdJbmxpbmVUZXh0IEZJTkFMIDogcHVi
bGljIFJlbmRlclRleHQgeworY2xhc3MgUmVuZGVyU1ZHSW5saW5lVGV4dCA6IHB1YmxpYyBSZW5k
ZXJUZXh0IHsKIHB1YmxpYzoKICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0KE5vZGUqLCBQYXNzUmVm
UHRyPFN0cmluZ0ltcGw+KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oCmluZGV4IGViODc5NDc1N2NkOGUyOTZlOGJjN2Q0OTY4
ODg2YmY3ZjRkODM3OTQuLjA1MTFmMjc3MmZlZWI2NDZkYTFkZWJjMzc1MTc3MTgxMjA0YmEyOTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHTW9kZWxP
YmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR01vZGVs
T2JqZWN0LmgKQEAgLTQ5LDE2ICs0OSwxOCBAQCBjbGFzcyBSZW5kZXJTVkdNb2RlbE9iamVjdCA6
IHB1YmxpYyBSZW5kZXJPYmplY3QgewogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlclNWR01v
ZGVsT2JqZWN0KFNWR1N0eWxlZEVsZW1lbnQqKTsKIAorICAgIHZpcnR1YWwgYm9vbCByZXF1aXJl
c0xheWVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgIHZpcnR1YWwgTGF5b3V0UmVj
dCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2Jq
ZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQg
Y29tcHV0ZUZsb2F0UmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCog
cmVwYWludENvbnRhaW5lciwgRmxvYXRSZWN0JiwgYm9vbCBmaXhlZCA9IGZhbHNlKSBjb25zdCBP
VkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIExheW91dFJlY3Qgb3V0bGluZUJvdW5kc0ZvclJl
cGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgY29u
c3QgUmVuZGVyR2VvbWV0cnlNYXAqKSBjb25zdCBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFs
IHZvaWQgY29tcHV0ZUZsb2F0UmVjdEZvclJlcGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9i
amVjdCogcmVwYWludENvbnRhaW5lciwgRmxvYXRSZWN0JiwgYm9vbCBmaXhlZCA9IGZhbHNlKSBj
b25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIExheW91dFJlY3Qgb3V0bGluZUJvdW5kc0ZvclJl
cGFpbnQoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgY29u
c3QgUmVuZGVyR2VvbWV0cnlNYXAqKSBjb25zdCBPVkVSUklERTsKIAotICAgIHZpcnR1YWwgdm9p
ZCBhYnNvbHV0ZVJlY3RzKFZlY3RvcjxJbnRSZWN0PiYsIGNvbnN0IExheW91dFBvaW50JiBhY2N1
bXVsYXRlZE9mZnNldCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCB2b2lkIGFi
c29sdXRlUmVjdHMoVmVjdG9yPEludFJlY3Q+JiwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxh
dGVkT2Zmc2V0KSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgYWJzb2x1dGVRdWFkcyhWZWN0b3I8
RmxvYXRRdWFkPiYsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdDsKIAotICAgIHZpcnR1YWwgdm9pZCBt
YXBMb2NhbFRvQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRD
b250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiwgTWFwQ29vcmRpbmF0ZXNGbGFncyA9IEFwcGx5Q29u
dGFpbmVyRmxpcCwgYm9vbCogd2FzRml4ZWQgPSAwKSBjb25zdCBPVkVSUklERSBGSU5BTDsKLSAg
ICB2aXJ0dWFsIGNvbnN0IFJlbmRlck9iamVjdCogcHVzaE1hcHBpbmdUb0NvbnRhaW5lcihjb25z
dCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBhbmNlc3RvclRvU3RvcEF0LCBSZW5kZXJHZW9tZXRy
eU1hcCYpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgdm9pZCBzdHlsZVdpbGxD
aGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogbmV3U3R5bGUpIE9WRVJS
SURFIEZJTkFMOworICAgIHZpcnR1YWwgdm9pZCBtYXBMb2NhbFRvQ29udGFpbmVyKGNvbnN0IFJl
bmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiwg
TWFwQ29vcmRpbmF0ZXNGbGFncyA9IEFwcGx5Q29udGFpbmVyRmxpcCwgYm9vbCogd2FzRml4ZWQg
PSAwKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGNvbnN0IFJlbmRlck9iamVjdCogcHVz
aE1hcHBpbmdUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBhbmNlc3Rv
clRvU3RvcEF0LCBSZW5kZXJHZW9tZXRyeU1hcCYpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1
YWwgdm9pZCBzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHls
ZSogbmV3U3R5bGUpOwogICAgIHZpcnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZl
cmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSk7CiAKICAgICBzdGF0aWMgYm9vbCBj
aGVja0ludGVyc2VjdGlvbihSZW5kZXJPYmplY3QqLCBjb25zdCBGbG9hdFJlY3QmKTsKQEAgLTY5
LDEyICs3MSwxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRIYXNTVkdTaGFkb3coYm9vbCBoYXNT
aGFkb3cpIHsgbV9oYXNTVkdTaGFkb3cgPSBoYXNTaGFkb3c7IH0KIAogcHJvdGVjdGVkOgotICAg
IHZpcnR1YWwgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZv
aWQgd2lsbEJlRGVzdHJveWVkKCk7CiAKIHByaXZhdGU6CiAgICAgLy8gVGhpcyBtZXRob2Qgc2hv
dWxkIG5ldmVyIGJlIGNhbGxlZCwgU1ZHIHVzZXMgYSBkaWZmZXJlbnQgbm9kZUF0UG9pbnQgbWV0
aG9kCiAgICAgYm9vbCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RS
ZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0
IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbikgT1ZFUlJJREU7
Ci0gICAgdmlydHVhbCB2b2lkIGFic29sdXRlRm9jdXNSaW5nUXVhZHMoVmVjdG9yPEZsb2F0UXVh
ZD4mKSBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIHZvaWQgYWJzb2x1dGVGb2N1c1JpbmdR
dWFkcyhWZWN0b3I8RmxvYXRRdWFkPiYpOwogICAgIGJvb2wgbV9oYXNTVkdTaGFkb3c7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1BhdGgu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUGF0aC5oCmluZGV4IDU3
MzMyYzZjMDhiOTg1ZjRmNzdlYTJlNTMzNDhiOTc0NzQyMGZiNjAuLjU0MTU0Y2UwMDA0OThiODY4
ZTc4MTYzZGRlN2ZkY2Y5NDJkYTA2MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUGF0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUGF0aC5oCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgUmVuZGVyU1ZHUGF0aCBGSU5BTCA6IHB1YmxpYyBSZW5kZXJTVkdTaGFwZSB7
CitjbGFzcyBSZW5kZXJTVkdQYXRoIDogcHVibGljIFJlbmRlclNWR1NoYXBlIHsKIHB1YmxpYzoK
ICAgICBleHBsaWNpdCBSZW5kZXJTVkdQYXRoKFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50
Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyU1ZHUGF0aCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1JlY3QuaAppbmRleCA2MjgzZGU1ZWI4Njc2MjhjYzk5NDA4NjBj
OWVlODZkMDRjMzkxZjczLi42MzA1NTc5MGNlZTZkNDc5NTY2ZDIzYjA2N2Y4Y2MwNGQ5ZjY5OTM2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1JlY3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1JlY3QuaApAQCAt
MzQsNyArMzQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlbmRlclNWR1Jl
Y3QgRklOQUwgOiBwdWJsaWMgUmVuZGVyU1ZHU2hhcGUgeworY2xhc3MgUmVuZGVyU1ZHUmVjdCA6
IHB1YmxpYyBSZW5kZXJTVkdTaGFwZSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU1ZH
UmVjdChTVkdSZWN0RWxlbWVudCopOwogICAgIHZpcnR1YWwgflJlbmRlclNWR1JlY3QoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VD
bGlwcGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNl
Q2xpcHBlci5oCmluZGV4IGM3MjIyMjZkMTBjM2RlMzgyODJjOTgyMjg0MDFkOWRmMmJjMTg0ZWEu
LjU5MTU3ZmE0NjAwYTMyNWNmZWFhZDE0YzJkNzk5MzM4MTY2ZGFjZDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIu
aApAQCAtNDEsNyArNDEsNyBAQCBwdWJsaWM6CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlw
TWFza0ltYWdlOwogfTsKIAotY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyIEZJTkFMIDog
cHVibGljIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyIHsKK2NsYXNzIFJlbmRlclNWR1Jlc291
cmNlQ2xpcHBlciA6IHB1YmxpYyBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciB7CiBwdWJsaWM6
CiAgICAgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyKFNWR0NsaXBQYXRoRWxlbWVudCopOwogICAg
IHZpcnR1YWwgflJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lci5oCmlu
ZGV4IGIzNGI1ZTJjYTM2YzIyOTVmMjgyYzcxZmExYjczNmQ4NDA4YTI5NTUuLjBmNDI1Y2Q0NWFk
ZjY3NDMzMWQ4ODQ1ZDM2YzhiNWFiMzczNDY5YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyLmgKQEAgLTM0
LDExICszNCwxMSBAQCBwdWJsaWM6CiAgICAgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIoU1ZH
U3R5bGVkRWxlbWVudCopOwogICAgIHZpcnR1YWwgflJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVy
KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2
b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9s
ZFN0eWxlKSBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7CisgICAg
dmlydHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVy
U3R5bGUqIG9sZFN0eWxlKTsKIAotICAgIHZpcnR1YWwgYm9vbCBpc1NWR1Jlc291cmNlQ29udGFp
bmVyKCkgY29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwg
UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIHRvUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIo
KSBPVkVSUklERSBGSU5BTCB7IHJldHVybiB0aGlzOyB9CisgICAgdmlydHVhbCBib29sIGlzU1ZH
UmVzb3VyY2VDb250YWluZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBS
ZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciogdG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigp
IHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHN0YXRpYyBib29sIHNob3VsZFRyYW5zZm9ybU9uVGV4
dFBhaW50aW5nKFJlbmRlck9iamVjdCosIEFmZmluZVRyYW5zZm9ybSYpOwogICAgIHN0YXRpYyBB
ZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtT25Ob25TY2FsaW5nU3Ryb2tlKFJlbmRlck9iamVjdCos
IGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgcmVzb3VyY2VUcmFuc2Zvcm0pOwpAQCAtNjYsNyArNjYs
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVtb3ZlQ2xpZW50KFJlbmRlck9iamVjdCopOwogCiBw
cml2YXRlOgotICAgIHZpcnR1YWwgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKSBPVkVSUklERSBGSU5B
TDsKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbEJlRGVzdHJveWVkKCk7CiAgICAgdm9pZCByZWdpc3Rl
clJlc291cmNlKCk7CiAKICAgICBBdG9taWNTdHJpbmcgbV9pZDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuaAppbmRleCBi
ZjY2Mjg1ZmUyMDc3YWRjMTg2MzE0MGY5NmY1MTY2YzBkYWQyZmYwLi5hNjkxMWFhMDgxOWJhZWY0
OTJjMjFiMmVlODI3YTllMGVmNTBmMTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5oCkBAIC02Myw3ICs2Myw3IEBA
IHB1YmxpYzoKIAogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogCi1jbGFzcyBSZW5kZXJTVkdSZXNv
dXJjZUZpbHRlciBGSU5BTCA6IHB1YmxpYyBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciB7Citj
bGFzcyBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciA6IHB1YmxpYyBSZW5kZXJTVkdSZXNvdXJjZUNv
bnRhaW5lciB7CiBwdWJsaWM6CiAgICAgUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIoU1ZHRmlsdGVy
RWxlbWVudCopOwogICAgIHZpcnR1YWwgflJlbmRlclNWR1Jlc291cmNlRmlsdGVyKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlRmls
dGVyUHJpbWl0aXZlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jl
c291cmNlRmlsdGVyUHJpbWl0aXZlLmgKaW5kZXggMTM5N2M3ZmE1NDg2NzkyNzMxMzNiOGNjYTZl
NzQ2YTc5YjM5YmM3ZS4uZThlNGVmY2I5Mjc1N2ZhNTQyZGNiMGRhYWFiNDM4YmE0MzY5N2QzYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJj
ZUZpbHRlclByaW1pdGl2ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHUmVzb3VyY2VGaWx0ZXJQcmltaXRpdmUuaApAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZpbHRlckVmZmVjdDsKIAotY2xhc3MgUmVuZGVyU1ZHUmVz
b3VyY2VGaWx0ZXJQcmltaXRpdmUgRklOQUwgOiBwdWJsaWMgUmVuZGVyU1ZHSGlkZGVuQ29udGFp
bmVyIHsKK2NsYXNzIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyUHJpbWl0aXZlIDogcHVibGljIFJl
bmRlclNWR0hpZGRlbkNvbnRhaW5lciB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU1ZH
UmVzb3VyY2VGaWx0ZXJQcmltaXRpdmUoU1ZHU3R5bGVkRWxlbWVudCogZmlsdGVyUHJpbWl0aXZl
RWxlbWVudCkKICAgICAgICAgOiBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIoZmlsdGVyUHJpbWl0
aXZlRWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHUmVzb3VyY2VHcmFkaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50LmgKaW5kZXggNGVlZmI0OTViNGM4MWM3MWQwZjI1NDg2
NWFhYTExNWYzNzcyM2U0ZS4uZDc5OWY3NTZkNzgyOTk2ZjM1ZjY5NTQ0NmVhMjU0MjcyM2QwNGI1
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNv
dXJjZUdyYWRpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSZXNvdXJjZUdyYWRpZW50LmgKQEAgLTQ3LDEyICs0NywxMiBAQCBjbGFzcyBSZW5kZXJTVkdS
ZXNvdXJjZUdyYWRpZW50IDogcHVibGljIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyIHsKIHB1
YmxpYzoKICAgICBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50KFNWR0dyYWRpZW50RWxlbWVudCop
OwogCi0gICAgdmlydHVhbCB2b2lkIHJlbW92ZUFsbENsaWVudHNGcm9tQ2FjaGUoYm9vbCBtYXJr
Rm9ySW52YWxpZGF0aW9uID0gdHJ1ZSkgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCB2b2lk
IHJlbW92ZUNsaWVudEZyb21DYWNoZShSZW5kZXJPYmplY3QqLCBib29sIG1hcmtGb3JJbnZhbGlk
YXRpb24gPSB0cnVlKSBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlQWxs
Q2xpZW50c0Zyb21DYWNoZShib29sIG1hcmtGb3JJbnZhbGlkYXRpb24gPSB0cnVlKTsKKyAgICB2
aXJ0dWFsIHZvaWQgcmVtb3ZlQ2xpZW50RnJvbUNhY2hlKFJlbmRlck9iamVjdCosIGJvb2wgbWFy
a0ZvckludmFsaWRhdGlvbiA9IHRydWUpOwogCi0gICAgdmlydHVhbCBib29sIGFwcGx5UmVzb3Vy
Y2UoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5bGUqLCBHcmFwaGljc0NvbnRleHQqJiwgdW5zaWdu
ZWQgc2hvcnQgcmVzb3VyY2VNb2RlKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQg
cG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0KiYsIHVuc2ln
bmVkIHNob3J0IHJlc291cmNlTW9kZSwgY29uc3QgUGF0aCosIGNvbnN0IFJlbmRlclNWR1NoYXBl
KikgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBGbG9hdFJlY3QgcmVzb3VyY2VCb3VuZGlu
Z0JveChSZW5kZXJPYmplY3QqKSBPVkVSUklERSBGSU5BTCB7IHJldHVybiBGbG9hdFJlY3QoKTsg
fQorICAgIHZpcnR1YWwgYm9vbCBhcHBseVJlc291cmNlKFJlbmRlck9iamVjdCosIFJlbmRlclN0
eWxlKiwgR3JhcGhpY3NDb250ZXh0KiYsIHVuc2lnbmVkIHNob3J0IHJlc291cmNlTW9kZSk7Cisg
ICAgdmlydHVhbCB2b2lkIHBvc3RBcHBseVJlc291cmNlKFJlbmRlck9iamVjdCosIEdyYXBoaWNz
Q29udGV4dComLCB1bnNpZ25lZCBzaG9ydCByZXNvdXJjZU1vZGUsIGNvbnN0IFBhdGgqLCBjb25z
dCBSZW5kZXJTVkdTaGFwZSopOworICAgIHZpcnR1YWwgRmxvYXRSZWN0IHJlc291cmNlQm91bmRp
bmdCb3goUmVuZGVyT2JqZWN0KikgeyByZXR1cm4gRmxvYXRSZWN0KCk7IH0KIAogcHJvdGVjdGVk
OgogICAgIHZvaWQgYWRkU3RvcHMoR3JhZGllbnREYXRhKiwgY29uc3QgVmVjdG9yPEdyYWRpZW50
OjpDb2xvclN0b3A+JikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5oCmluZGV4IDYy
ZmE4M2ViODc0ZjY1ZWJhMmI1YzcyZjAwOGY0MGE5ZDU3ZmUwMmIuLmYwZDNjMTgwZTZhY2ZjOGZl
NjFhYmUzMGY3YWZjNjgyMmUxMDZiODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5oCkBA
IC0yOSw3ICsyOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHTGluZWFyR3Jh
ZGllbnRFbGVtZW50OwogCi1jbGFzcyBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50IEZJ
TkFMIDogcHVibGljIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQgeworY2xhc3MgUmVuZGVyU1ZH
UmVzb3VyY2VMaW5lYXJHcmFkaWVudCA6IHB1YmxpYyBSZW5kZXJTVkdSZXNvdXJjZUdyYWRpZW50
IHsKIHB1YmxpYzoKICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRpZW50KFNWR0xpbmVh
ckdyYWRpZW50RWxlbWVudCopOwogICAgIHZpcnR1YWwgflJlbmRlclNWR1Jlc291cmNlTGluZWFy
R3JhZGllbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHUmVzb3VyY2VNYXJrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHUmVzb3VyY2VNYXJrZXIuaAppbmRleCA3YmY1ZmVkYmQ2NDM2ZDY2N2Y4MDg3OGZhYzIy
YjRkNTA5ZmYwNTU2Li4yNmZiYzZmOTNjNjRkMmM4NTc4NWZjYjg2Y2E2YTZiYmE5MjE5NDU5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNl
TWFya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNv
dXJjZU1hcmtlci5oCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgUmVuZGVyU1ZH
UmVzb3VyY2VNYXJrZXIgRklOQUwgOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIg
eworY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIgOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXIgewogcHVibGljOgogICAgIFJlbmRlclNWR1Jlc291cmNlTWFya2VyKFNWR01h
cmtlckVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJTVkdSZXNvdXJjZU1hcmtlcigpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJj
ZU1hc2tlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJj
ZU1hc2tlci5oCmluZGV4IGM2N2ZmZGFjOGJhNzU4MDdkMGQ2YjU2M2RkNjVlY2Y2ZmQ5NzgwY2Iu
LjljNTc5MjM0ZDJmYmY1ZDYxZmYzNjVhMzI1YmM2MDBlNThmY2Q1OTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmgK
QEAgLTM4LDcgKzM4LDcgQEAgc3RydWN0IE1hc2tlckRhdGEgewogICAgIE93blB0cjxJbWFnZUJ1
ZmZlcj4gbWFza0ltYWdlOwogfTsKIAotY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIgRklO
QUwgOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIgeworY2xhc3MgUmVuZGVyU1ZH
UmVzb3VyY2VNYXNrZXIgOiBwdWJsaWMgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIgewogcHVi
bGljOgogICAgIFJlbmRlclNWR1Jlc291cmNlTWFza2VyKFNWR01hc2tFbGVtZW50Kik7CiAgICAg
dmlydHVhbCB+UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlUGF0dGVybi5oCmluZGV4IDM3
ZGIxZmM2ZDliMDY5Njk2ZGIxYmM4N2Q1Yzg1M2E1MDc3NGZmMmQuLmQ0ZGE1MzU2NzVlNmRjZWRi
MjgyZmU4MGIxMWU3MzdjNmVjZGM1YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VQYXR0ZXJuLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4uaApAQCAtNDMsNyArNDMsNyBA
QCBwdWJsaWM6CiAgICAgQWZmaW5lVHJhbnNmb3JtIHRyYW5zZm9ybTsKIH07CiAKLWNsYXNzIFJl
bmRlclNWR1Jlc291cmNlUGF0dGVybiBGSU5BTCA6IHB1YmxpYyBSZW5kZXJTVkdSZXNvdXJjZUNv
bnRhaW5lciB7CitjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZVBhdHRlcm4gOiBwdWJsaWMgUmVuZGVy
U1ZHUmVzb3VyY2VDb250YWluZXIgewogcHVibGljOgogICAgIFJlbmRlclNWR1Jlc291cmNlUGF0
dGVybihTVkdQYXR0ZXJuRWxlbWVudCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oCmlu
ZGV4IGUwOTJmODUxMDhiZDkwZjdlY2Q0OGJkZmNhOWQ2ZWJmNzQ4ZTcyNTAuLjZhNzZlODBhYTM1
MmU4OTcxOGZkY2U2YzdiMmViNzJhMjg5NmE3OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVu
dC5oCkBAIC0yOSw3ICsyOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHUmFk
aWFsR3JhZGllbnRFbGVtZW50OwogCi1jbGFzcyBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRp
ZW50IEZJTkFMIDogcHVibGljIFJlbmRlclNWR1Jlc291cmNlR3JhZGllbnQgeworY2xhc3MgUmVu
ZGVyU1ZHUmVzb3VyY2VSYWRpYWxHcmFkaWVudCA6IHB1YmxpYyBSZW5kZXJTVkdSZXNvdXJjZUdy
YWRpZW50IHsKIHB1YmxpYzoKICAgICBSZW5kZXJTVkdSZXNvdXJjZVJhZGlhbEdyYWRpZW50KFNW
R1JhZGlhbEdyYWRpZW50RWxlbWVudCopOwogICAgIHZpcnR1YWwgflJlbmRlclNWR1Jlc291cmNl
UmFkaWFsR3JhZGllbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUm9vdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSb290LmgKaW5kZXggMzc5Y2NhMzg2NWQ2MjE5NDE0YThmYzExN2Q3NGNjZGYyZGI5N2NjOC4u
ZTIxOGUyOTFlM2Y4NTRmMjkxNDgzNjE0MTBiNzQ1ZGYzMTNiMzk3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgU1ZHU3R5bGVk
RWxlbWVudDsKIAotY2xhc3MgUmVuZGVyU1ZHUm9vdCBGSU5BTCA6IHB1YmxpYyBSZW5kZXJSZXBs
YWNlZCB7CitjbGFzcyBSZW5kZXJTVkdSb290IDogcHVibGljIFJlbmRlclJlcGxhY2VkIHsKIHB1
YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJTVkdSb290KFNWR1N0eWxlZEVsZW1lbnQqKTsKICAg
ICB2aXJ0dWFsIH5SZW5kZXJTVkdSb290KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1NoYXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1NoYXBlLmgKaW5kZXggMDFhYzJmMTI2ZTkyZjJlZjVlYzdkNGE2ODFkYzJi
OGQzYTZjZjM2Mi4uNDc5ZGE2NmUzMDYxNmRiZWNmZTU3NWJlOGMyMGVhMDJkZTgzY2Y0OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHU2hhcGUuaApAQCAtNzEs
OSArNzEsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+UmVuZGVyU1ZHU2hhcGUoKTsKIAogICAg
IHZvaWQgc2V0TmVlZHNTaGFwZVVwZGF0ZSgpIHsgbV9uZWVkc1NoYXBlVXBkYXRlID0gdHJ1ZTsg
fQotICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc0JvdW5kYXJpZXNVcGRhdGUoKSBPVkVSUklERSBG
SU5BTCB7IG1fbmVlZHNCb3VuZGFyaWVzVXBkYXRlID0gdHJ1ZTsgfQotICAgIHZpcnR1YWwgYm9v
bCBuZWVkc0JvdW5kYXJpZXNVcGRhdGUoKSBPVkVSUklERSBGSU5BTCB7IHJldHVybiBtX25lZWRz
Qm91bmRhcmllc1VwZGF0ZTsgfQotICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc1RyYW5zZm9ybVVw
ZGF0ZSgpIE9WRVJSSURFIEZJTkFMIHsgbV9uZWVkc1RyYW5zZm9ybVVwZGF0ZSA9IHRydWU7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNCb3VuZGFyaWVzVXBkYXRlKCkgeyBtX25lZWRzQm91
bmRhcmllc1VwZGF0ZSA9IHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgbmVlZHNCb3VuZGFyaWVz
VXBkYXRlKCkgT1ZFUlJJREUgeyByZXR1cm4gbV9uZWVkc0JvdW5kYXJpZXNVcGRhdGU7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNUcmFuc2Zvcm1VcGRhdGUoKSB7IG1fbmVlZHNUcmFuc2Zv
cm1VcGRhdGUgPSB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIGZpbGxTaGFwZShHcmFwaGljc0Nv
bnRleHQqKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc3Ryb2tlU2hhcGUoR3JhcGhpY3NDb250
ZXh0KikgY29uc3Q7CiAKQEAgLTEwNCwyMiArMTA0LDIyIEBAIHByaXZhdGU6CiAgICAgYm9vbCBm
aWxsQ29udGFpbnMoY29uc3QgRmxvYXRQb2ludCYsIGJvb2wgcmVxdWlyZXNGaWxsID0gdHJ1ZSwg
Y29uc3QgV2luZFJ1bGUgZmlsbFJ1bGUgPSBSVUxFX05PTlpFUk8pOwogICAgIGJvb2wgc3Ryb2tl
Q29udGFpbnMoY29uc3QgRmxvYXRQb2ludCYsIGJvb2wgcmVxdWlyZXNTdHJva2UgPSB0cnVlKTsK
IAotICAgIHZpcnR1YWwgRmxvYXRSZWN0IHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkg
Y29uc3QgT1ZFUlJJREUgRklOQUwgeyByZXR1cm4gbV9yZXBhaW50Qm91bmRpbmdCb3g7IH0KLSAg
ICB2aXJ0dWFsIEZsb2F0UmVjdCByZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlc0V4Y2x1ZGlu
Z1NWR1NoYWRvdygpIGNvbnN0IE9WRVJSSURFIEZJTkFMIHsgcmV0dXJuIG1fcmVwYWludEJvdW5k
aW5nQm94RXhjbHVkaW5nU2hhZG93OyB9Ci0gICAgdmlydHVhbCBjb25zdCBBZmZpbmVUcmFuc2Zv
cm0mIGxvY2FsVG9QYXJlbnRUcmFuc2Zvcm0oKSBjb25zdCBPVkVSUklERSBGSU5BTCB7IHJldHVy
biBtX2xvY2FsVHJhbnNmb3JtOyB9Ci0gICAgdmlydHVhbCBBZmZpbmVUcmFuc2Zvcm0gbG9jYWxU
cmFuc2Zvcm0oKSBjb25zdCBPVkVSUklERSBGSU5BTCB7IHJldHVybiBtX2xvY2FsVHJhbnNmb3Jt
OyB9CisgICAgdmlydHVhbCBGbG9hdFJlY3QgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMo
KSBjb25zdCB7IHJldHVybiBtX3JlcGFpbnRCb3VuZGluZ0JveDsgfQorICAgIHZpcnR1YWwgRmxv
YXRSZWN0IHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzRXhjbHVkaW5nU1ZHU2hhZG93KCkg
Y29uc3QgT1ZFUlJJREUgeyByZXR1cm4gbV9yZXBhaW50Qm91bmRpbmdCb3hFeGNsdWRpbmdTaGFk
b3c7IH0KKyAgICB2aXJ0dWFsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgbG9jYWxUb1BhcmVudFRy
YW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxUcmFuc2Zvcm07IH0KKyAgICB2aXJ0dWFs
IEFmZmluZVRyYW5zZm9ybSBsb2NhbFRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxU
cmFuc2Zvcm07IH0KIAotICAgIHZpcnR1YWwgYm9vbCBpc1NWR1NoYXBlKCkgY29uc3QgT1ZFUlJJ
REUgRklOQUwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1NWR1NoYXBlKCkg
Y29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFt
ZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJTVkdTaGFwZSI7IH0KIAotICAgIHZpcnR1YWwgdm9p
ZCBsYXlvdXQoKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFpbnRJ
bmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZv
aWQgYWRkRm9jdXNSaW5nUmVjdHMoVmVjdG9yPEludFJlY3Q+JiwgY29uc3QgTGF5b3V0UG9pbnQm
IGFkZGl0aW9uYWxPZmZzZXQsIGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHBhaW50Q29u
dGFpbmVyID0gMCkgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVhbCB2b2lkIGxheW91dCgpOwor
ICAgIHZpcnR1YWwgdm9pZCBwYWludChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwor
ICAgIHZpcnR1YWwgdm9pZCBhZGRGb2N1c1JpbmdSZWN0cyhWZWN0b3I8SW50UmVjdD4mLCBjb25z
dCBMYXlvdXRQb2ludCYgYWRkaXRpb25hbE9mZnNldCwgY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9i
amVjdCogcGFpbnRDb250YWluZXIgPSAwKSBPVkVSUklERTsKIAotICAgIHZpcnR1YWwgYm9vbCBu
b2RlQXRGbG9hdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNv
bnN0IEZsb2F0UG9pbnQmIHBvaW50SW5QYXJlbnQsIEhpdFRlc3RBY3Rpb24pIE9WRVJSSURFIEZJ
TkFMOworICAgIHZpcnR1YWwgYm9vbCBub2RlQXRGbG9hdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1
ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50SW5QYXJlbnQsIEhp
dFRlc3RBY3Rpb24pOwogCi0gICAgdmlydHVhbCBGbG9hdFJlY3Qgb2JqZWN0Qm91bmRpbmdCb3go
KSBjb25zdCBPVkVSUklERSBGSU5BTCB7IHJldHVybiBtX2ZpbGxCb3VuZGluZ0JveDsgfQotICAg
IHZpcnR1YWwgRmxvYXRSZWN0IHN0cm9rZUJvdW5kaW5nQm94KCkgY29uc3QgT1ZFUlJJREUgRklO
QUwgeyByZXR1cm4gbV9zdHJva2VCb3VuZGluZ0JveDsgfQorICAgIHZpcnR1YWwgRmxvYXRSZWN0
IG9iamVjdEJvdW5kaW5nQm94KCkgY29uc3QgeyByZXR1cm4gbV9maWxsQm91bmRpbmdCb3g7IH0K
KyAgICB2aXJ0dWFsIEZsb2F0UmVjdCBzdHJva2VCb3VuZGluZ0JveCgpIGNvbnN0IHsgcmV0dXJu
IG1fc3Ryb2tlQm91bmRpbmdCb3g7IH0KICAgICBGbG9hdFJlY3QgY2FsY3VsYXRlT2JqZWN0Qm91
bmRpbmdCb3goKSBjb25zdDsKICAgICBGbG9hdFJlY3QgY2FsY3VsYXRlU3Ryb2tlQm91bmRpbmdC
b3goKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVJlcGFpbnRCb3VuZGluZ0JveCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUU3Bhbi5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUU3Bhbi5oCmluZGV4IGY3OGE4NTE5
NTFjMjQyNTAxMTJlNjlkZDk3YWYyZjA5YzIzNTQ4MjYuLmJkOWNlOWFiZTA2OWIyNjA2ZjcwMTQ4
MTk2Nzk2YTUzM2Y1YjQ5ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHVFNwYW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1RTcGFuLmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJSZW5kZXJTVkdJbmxp
bmUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgUmVuZGVyU1ZHVFNwYW4gRklOQUwg
OiBwdWJsaWMgUmVuZGVyU1ZHSW5saW5lIHsKK2NsYXNzIFJlbmRlclNWR1RTcGFuIDogcHVibGlj
IFJlbmRlclNWR0lubGluZSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU1ZHVFNwYW4o
RWxlbWVudCopOwogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsg
cmV0dXJuICJSZW5kZXJTVkdUU3BhbiI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHVGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdUZXh0LmgKaW5kZXggYWRmYTQ1NmU3MDA5YTIzY2E4NmQ1YjNiN2ZhNGM5Njk2
Y2MzZWQ2ZC4uNGQ0ZjRhZTNkY2M0OTNiMDA2ZjhjZTNmOTIzNTk2NzI1MWM4MGQyYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0LmgKQEAgLTMzLDcgKzMz
LDcgQEAgY2xhc3MgUmVuZGVyU1ZHSW5saW5lVGV4dDsKIGNsYXNzIFNWR1RleHRFbGVtZW50Owog
Y2xhc3MgUmVuZGVyU1ZHSW5saW5lVGV4dDsKIAotY2xhc3MgUmVuZGVyU1ZHVGV4dCBGSU5BTCA6
IHB1YmxpYyBSZW5kZXJTVkdCbG9jayB7CitjbGFzcyBSZW5kZXJTVkdUZXh0IDogcHVibGljIFJl
bmRlclNWR0Jsb2NrIHsKIHB1YmxpYzoKICAgICBSZW5kZXJTVkdUZXh0KFNWR1RleHRFbGVtZW50
Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyU1ZHVGV4dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0UGF0aC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUZXh0UGF0aC5oCmluZGV4IDNhMDIxYjhmMzQzY2NmZjQ3
MjJiNjhmYjU1ZTE0YzI3YmVkMTRkZTkuLmYxYzg3MjEzODY1ODQ5YWI5Y2UyNDg0NmFhOTgwY2Jk
NmZhMDAwY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHVGV4dFBhdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1RleHRQYXRoLmgKQEAgLTI2LDcgKzI2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBSZW5kZXJTVkdUZXh0UGF0aCBGSU5BTCA6IHB1YmxpYyBSZW5kZXJTVkdJbmxpbmUgewor
Y2xhc3MgUmVuZGVyU1ZHVGV4dFBhdGggOiBwdWJsaWMgUmVuZGVyU1ZHSW5saW5lIHsKIHB1Ymxp
YzoKICAgICBSZW5kZXJTVkdUZXh0UGF0aChFbGVtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lci5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29u
dGFpbmVyLmgKaW5kZXggMzZhZTNhZGQ4NTM5ZjZiOWUwMTE5YzhmYTllM2I3ODM3NDU5ZTZiZC4u
YzEwYTA4ZGMyYWExYjQ5NjhiNWFkZjc2NTJkNjQwNWIwMTc5MzBlMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdUcmFuc2Zvcm1h
YmxlQ29udGFpbmVyLmgKQEAgLTI3LDcgKzI3LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAKIGNsYXNzIFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50OwotY2xhc3MgUmVuZGVyU1ZH
VHJhbnNmb3JtYWJsZUNvbnRhaW5lciBGSU5BTCA6IHB1YmxpYyBSZW5kZXJTVkdDb250YWluZXIg
eworY2xhc3MgUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNvbnRhaW5lciA6IHB1YmxpYyBSZW5kZXJT
VkdDb250YWluZXIgewogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlclNWR1RyYW5zZm9ybWFi
bGVDb250YWluZXIoU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQqKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5l
ci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdWaWV3cG9ydENvbnRh
aW5lci5oCmluZGV4IGQ3YzQzZTgwZjhmN2JhODE0MTdlNWIzYjMyZjM2YjBiNGUwODBmNTkuLjQy
N2U0MjNkYWEyYTUyMGUxZjk5MThhZjhhMTEwY2VhYWE3ODdhNzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVy
LmgKQEAgLTMwLDcgKzMwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaGlzIGlzIHVz
ZWQgZm9yIG5vbi1yb290IDxzdmc+IGVsZW1lbnRzIGFuZCA8bWFya2VyPiBlbGVtZW50cywgbmVp
dGhlciBvZiB3aGljaCBhcmUgU1ZHVHJhbnNmb3JtYWJsZQogLy8gdGh1cyB3ZSBpbmhlcml0IGZy
b20gUmVuZGVyU1ZHQ29udGFpbmVyIGluc3RlYWQgb2YgUmVuZGVyU1ZHVHJhbnNmb3JtYWJsZUNv
bnRhaW5lcgotY2xhc3MgUmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXIgRklOQUwgOiBwdWJsaWMg
UmVuZGVyU1ZHQ29udGFpbmVyIHsKK2NsYXNzIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVyIDog
cHVibGljIFJlbmRlclNWR0NvbnRhaW5lciB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVy
U1ZHVmlld3BvcnRDb250YWluZXIoU1ZHU3R5bGVkRWxlbWVudCopOwogICAgIEZsb2F0UmVjdCB2
aWV3cG9ydCgpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnQ7IH0KZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA0YTg3NzkzNDBmM2VkZGZkNmY5Njg2
ODYwNTlkZGM4M2RjYmRiYTYyLi5hNTNjMWQ4Y2M2YjZmNWM3YWQwMjI0OTZjODc4MDZhMTQ5YzIy
NGFlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTMtMDUtMTIgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3
ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNDk5NTUuCisg
ICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE0OTk1NQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE1OTkwCisKKyAgICAgICAg
QnJva2UgbG90cyBvZiB0ZXN0cyAoUmVxdWVzdGVkIGJ5IHNtZnIgb24gI3dlYmtpdCkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWFjLnB5OgorCiAyMDEzLTA1LTEyICBDYXJs
b3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBS
ZW1vdmUgdW5uZWNlc3NhcnkgR1RLX0NIRUNLX1ZFUlNJT04gI2lmZGVmcwpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L21hYy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9tYWMucHkKaW5kZXggZjJkMTg2MzFmMmQwNTIyNzY2ZWExMmYyMDRiYTk5MThjM2Jm
Yzk3ZS4uZDY2ZTZkNmZhZmYwZGQ0YjhiMmUzMGEzYjZlN2I2ZjM1ZWI0YmJhMiAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L21hYy5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvbWFjLnB5CkBAIC0xMzYsNyArMTM2LDYgQEAgY2xhc3MgTWFjUG9ydChB
cHBsZVBvcnQpOgogICAgICAgICByZXR1cm4gbWluKHN1cHBvcnRhYmxlX2luc3RhbmNlcywgZGVm
YXVsdF9jb3VudCkKIAogICAgIGRlZiBfYnVpbGRfamF2YV90ZXN0X3N1cHBvcnQoc2VsZik6Ci0g
ICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgIGphdmFfdGVzdHNfcGF0aCA9IHNlbGYuX2ZpbGVz
eXN0ZW0uam9pbihzZWxmLmxheW91dF90ZXN0c19kaXIoKSwgImphdmEiKQogICAgICAgICBidWls
ZF9qYXZhID0gW3NlbGYubWFrZV9jb21tYW5kKCksICItQyIsIGphdmFfdGVzdHNfcGF0aF0KICAg
ICAgICAgaWYgc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKGJ1aWxkX2phdmEsIHJldHVybl9l
eGl0X2NvZGU9VHJ1ZSk6ICAjIFBhdGhzIGFyZSBhYnNvbHV0ZSwgc28gd2UgZG9uJ3QgbmVlZCB0
byBzZXQgYSBjd2QuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>