<?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>40065</bug_id>
          
          <creation_ts>2010-06-02 08:24:53 -0700</creation_ts>
          <short_desc>Geolocation callbacks should make use of new callback generation mechanism</short_desc>
          <delta_ts>2011-05-24 03:55:06 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>39879</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Steve Block">steveblock</assigned_to>
          <cc>andreip</cc>
    
    <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>dbates</cc>
    
    <cc>jknotten</cc>
    
    <cc>leandrogracia</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>233276</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-06-02 08:24:53 -0700</bug_when>
    <thetext>Geolocation callbacks should make use of new callback generation mechanism. This will remove the need for the Geolocation custom callback code. See the equivalent change for Database in http://trac.webkit.org/changeset/58801</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233342</commentid>
    <comment_count>1</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-06-02 11:12:18 -0700</bug_when>
    <thetext>Bug 40071 is adding a weak pointer wrapper around ScriptExecutionContext. This is required for Bug 39879 which fixes a Geolocation crash. We should hold off on switching to the generated callbacks until this is complete and Geolocation tests are in place to check the behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372733</commentid>
    <comment_count>2</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-24 03:55:46 -0700</bug_when>
    <thetext>The resolution of Bug 40071 was to not use a weak wrapper around ScriptExecutionContext, but instead to make callbacks inherit from ActiveDOMObject. The (hand written) Geolocation callbacks were updated to use this approach in http://trac.webkit.org/changeset/60840

http://trac.webkit.org/changeset/58801 updated the bindings script to automatically generate callbacks, and updated all DB callbacks to be automatically generated. The automatically generated callbacks were updated in http://trac.webkit.org/changeset/64537 to use ActiveDOMObject, similar to how the Geolocation callbacks do.

So we should now be able to switch to the automatically generated callbacks for Geolocation.

Note that there is ongoing discussion about a more fundamental refactoring of Geolocation - https://bugs.webkit.org/show_bug.cgi?id=40162 - but I think that eliminating custom bindings code still makes sense now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372740</commentid>
    <comment_count>3</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-24 04:07:18 -0700</bug_when>
    <thetext>Adding Leandro as this will be relevant to Media Streaming. See Bug 56459.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384778</commentid>
    <comment_count>4</comment_count>
      <attachid>89361</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-04-13 03:57:52 -0700</bug_when>
    <thetext>Created attachment 89361
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384793</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-04-13 04:30:58 -0700</bug_when>
    <thetext>Attachment 89361 did not build on mac:
Build output: http://queues.webkit.org/results/8404205</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384803</commentid>
    <comment_count>6</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-04-13 05:20:30 -0700</bug_when>
    <thetext>Attachment 89361 did not build on win:
Build output: http://queues.webkit.org/results/8401286</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384918</commentid>
    <comment_count>7</comment_count>
      <attachid>89382</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-04-13 08:47:33 -0700</bug_when>
    <thetext>Created attachment 89382
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408378</commentid>
    <comment_count>8</comment_count>
      <attachid>89382</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-23 15:15:48 -0700</bug_when>
    <thetext>Comment on attachment 89382
Patch

Um.  I like deleting code.  So rs=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408399</commentid>
    <comment_count>9</comment_count>
      <attachid>94505</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-05-23 15:36:57 -0700</bug_when>
    <thetext>Created attachment 94505
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408402</commentid>
    <comment_count>10</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-05-23 15:39:52 -0700</bug_when>
    <thetext>Not for review.

Rebased to account for deletion of android Makefiles. Will wait for bots to cycle before submitting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408660</commentid>
    <comment_count>11</comment_count>
      <attachid>94505</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-23 22:45:03 -0700</bug_when>
    <thetext>Comment on attachment 94505
Patch

Attachment 94505 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/8727497</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408743</commentid>
    <comment_count>12</comment_count>
      <attachid>94586</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-05-24 02:38:49 -0700</bug_when>
    <thetext>Created attachment 94586
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408761</commentid>
    <comment_count>13</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-05-24 03:54:48 -0700</bug_when>
    <thetext>Committed r87143: &lt;http://trac.webkit.org/changeset/87143&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89361</attachid>
            <date>2011-04-13 03:57:52 -0700</date>
            <delta_ts>2011-04-13 08:47:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40065-20110413115749.patch</filename>
            <type>text/plain</type>
            <size>56596</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODM3MTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Fu
ZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tayBiL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuZGVy
aXZlZC5qc2NiaW5kaW5ncy5tawppbmRleCAxMzZmMDE3MzdjODg5NDUyZmIwOThlNjgyNDZhNWY4
ODQ0YmVkYTBhLi44N2M1ZWNhZjRkOTEzNjBmOTkzMTcxMWYwODcyZjkxOWExYTMyOTg2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKKysr
IGIvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rCkBAIC0yOTks
NyArMjk5LDkgQEAgR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL3BhZ2UvSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL3BhZ2UvSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvcGFnZS9K
U05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIFwKKyAgICAkKGludGVybWVkaWF0
ZXMpL3BhZ2UvSlNQb3NpdGlvbkNhbGxiYWNrLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvcGFn
ZS9KU1Bvc2l0aW9uRXJyb3IuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9wYWdlL0pTUG9zaXRp
b25FcnJvckNhbGxiYWNrLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvcGFnZS9KU1NjcmVlbi5o
IFwKICAgICAkKGludGVybWVkaWF0ZXMpL3BhZ2UvSlNXZWJLaXRBbmltYXRpb24uaCBcCiAgICAg
JChpbnRlcm1lZGlhdGVzKS9wYWdlL0pTV2ViS2l0QW5pbWF0aW9uTGlzdC5oIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rIGIvU291cmNl
L1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKaW5kZXggMTQ0MDFkZGIwOWJm
ZTRmOTQwNzFmZWJjNTg1YWQyZmRiMjFhMDlmZS4uZTRlOTM3MjlkZjNhMDVlYWM2YmY1NzFhYmEw
OGY5NDU5ZmQ5ZmMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVk
LnY4YmluZGluZ3MubWsKKysrIGIvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4Ymlu
ZGluZ3MubWsKQEAgLTI4MCw3ICsyODAsOSBAQCBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRl
cykvYmluZGluZ3MvVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIFwKICAgICAkKGludGVybWVk
aWF0ZXMpL2JpbmRpbmdzL1Y4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIFwKICAg
ICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhQb3NpdGlvbkNhbGxi
YWNrLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhQb3NpdGlvbkVycm9yLmgg
XAorICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhQb3NpdGlvbkVycm9yQ2FsbGJhY2su
aCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFNjcmVlbi5oIFwKICAgICAkKGlu
dGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4V2ViS2l0QW5pbWF0aW9uLmggXAogICAgICQoaW50ZXJt
ZWRpYXRlcykvYmluZGluZ3MvVjhXZWJLaXRBbmltYXRpb25MaXN0LmggXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tayBiL1NvdXJjZS9XZWJDb3JlL0Fu
ZHJvaWQuanNjYmluZGluZ3MubWsKaW5kZXggYTc0M2E3YmU0ZjhmMTZjZDllYTdhZWRmZWViNzI3
NzkzNzcyOGZmNS4uMTBiMzQ5NWJiYTNiYmZlMzgyZjQ4NDMxMWMxYjk4ZTQ1MWE0M2IxMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5taworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCkBAIC03Nyw4ICs3Nyw2IEBAIExPQ0FM
X1NSQ19GSUxFUyArPSBcCiAJYmluZGluZ3MvanMvSlNDbGlwYm9hcmRDdXN0b20uY3BwIFwKIAli
aW5kaW5ncy9qcy9KU0NvbnNvbGVDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0Nvb3JkaW5h
dGVzQ3VzdG9tLmNwcCBcCi0JYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNw
cCBcCi0JYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwIFwKIAli
aW5kaW5ncy9qcy9KU0N1c3RvbVNRTFN0YXRlbWVudENhbGxiYWNrLmNwcCBcCiAJYmluZGluZ3Mv
anMvSlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCBcCiAJYmluZGluZ3MvanMv
SlNDdXN0b21TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9BbmRyb2lkLnY4YmluZGluZ3MubWsgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLnY4
YmluZGluZ3MubWsKaW5kZXggYTRkYjI4OGY5YmU0ZTIwZThkYzFhM2VlODM4ZjI5ZTg3ODE2ODc2
ZS4uZDg5MjRmMWM5MjI4Zjg3MzRmMGZkODVkN2UwYjhmOGFhMTFhOWY3NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1rCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0FuZHJvaWQudjhiaW5kaW5ncy5tawpAQCAtOTUsOCArOTUsNiBAQCBMT0NBTF9TUkNfRklMRVMg
Kz0gXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOENsaXBib2FyZEN1c3RvbS5jcHAgXAogCWJpbmRp
bmdzL3Y4L2N1c3RvbS9WOENvb3JkaW5hdGVzQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Q3VzdG9tRXZlbnRMaXN0ZW5lci5jcHAgXAotCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1
c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwIFwKLQliaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Q
b3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwIFwKIAliaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21T
UUxTdGF0ZW1lbnRDYWxsYmFjay5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNR
TFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwIFwKIAliaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0
b21TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGI2
Zjg3MGY1NGI0ZWNlODUyYTE2MGEwYzJmZmVjODFiYWFkNzU4MzIuLmFkNjY1MWYzMzU1YjllODA5
NjkwMDA5YWMzOTA4MDIxOTA5MGM2OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zMzYsNyAr
MzM2LDkgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgcGFnZS9QZXJmb3JtYW5jZS5pZGwK
ICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNl
VGltaW5nLmlkbAorICAgIHBhZ2UvUG9zaXRpb25DYWxsYmFjay5pZGwKICAgICBwYWdlL1Bvc2l0
aW9uRXJyb3IuaWRsCisgICAgcGFnZS9Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaWRsCiAgICAgcGFn
ZS9TY3JlZW4uaWRsCiAgICAgcGFnZS9TcGVlY2hJbnB1dEV2ZW50LmlkbAogICAgIHBhZ2UvU3Bl
ZWNoSW5wdXRSZXN1bHQuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGI3MDg0YjM4MDQ2M2MxMDhiNDNmMGM0
ZDNkMmM2Y2ZiNTFmODUxOC4uYjRhNzI2ZDI2MmJkOGJiZjMyZWRjZDE1ZGQ5YzE5Njk4MzM1NjVi
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDExLTA0LTEzICBTdGV2ZSBCbG9jayAg
PHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBHZW9sb2NhdGlvbiBjYWxsYmFja3Mgc2hvdWxkIG1ha2UgdXNlIG9m
IG5ldyBjYWxsYmFjayBnZW5lcmF0aW9uIG1hY2hhbmlzbQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAwNjUKKworICAgICAgICBObyBuZXcgdGVzdHMs
IHJlZmFjdG9yaW5nIG9ubHkuCisKKyAgICAgICAgKiBBbmRyb2lkLmRlcml2ZWQuanNjYmluZGlu
Z3MubWs6CisgICAgICAgICogQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWs6CisgICAgICAg
ICogQW5kcm9pZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLnY4YmluZGluZ3Mu
bWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogQ29kZUdlbmVyYXRvcnMu
cHJpOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVXNlSlNDLmNt
YWtlOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLm9yZGVyOgor
ICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHA6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaDogUmVt
b3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFj
ay5jcHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkVy
cm9yQ2FsbGJhY2suaDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0dlb2xvY2F0
aW9uQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTR2VvbG9jYXRpb246OmdldEN1cnJl
bnRQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpKU0dlb2xvY2F0aW9uOjp3YXRjaFBvc2l0
aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkNhbGxi
YWNrLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Q
b3NpdGlvbkNhbGxiYWNrLmg6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBi
aW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhHZW9sb2NhdGlvbkN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpWOEdlb2xvY2F0aW9uOjpnZXRDdXJyZW50UG9zaXRpb25DYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOEdlb2xvY2F0aW9uOjp3YXRjaFBvc2l0aW9uQ2Fs
bGJhY2spOgorICAgICAgICAqIHBhZ2UvUG9zaXRpb25DYWxsYmFjay5oOgorICAgICAgICAqIHBh
Z2UvUG9zaXRpb25DYWxsYmFjay5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvUG9zaXRpb25F
cnJvckNhbGxiYWNrLmg6CisgICAgICAgICogcGFnZS9Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaWRs
OiBBZGRlZC4KKwogMjAxMS0wNC0xMyAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9Db2Rl
R2VuZXJhdG9ycy5wcmkKaW5kZXggNWIxZTg2NDk3MGM3ZjdmZWYzNjMxNzA1M2ZkMDEzOTM2ZWEw
YjU0ZC4uNjk0YWNmNDg5MGFmN2M2ZTUxMDQ4ZDRjNmZmOTUxNDY2MGIzZjUyYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NvZGVHZW5lcmF0b3JzLnByaQpAQCAtMzMyLDcgKzMzMiw5IEBAIElETF9CSU5ESU5HUyArPSBc
CiAgICAgcGFnZS9QZXJmb3JtYW5jZS5pZGwgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uLmlkbCBcCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwgXAorICAgIHBhZ2UvUG9z
aXRpb25DYWxsYmFjay5pZGwgXAogICAgIHBhZ2UvUG9zaXRpb25FcnJvci5pZGwgXAorICAgIHBh
Z2UvUG9zaXRpb25FcnJvckNhbGxiYWNrLmlkbCBcCiAgICAgcGFnZS9TY3JlZW4uaWRsIFwKICAg
ICBwYWdlL1NwZWVjaElucHV0RXZlbnQuaWRsIFwKICAgICBwYWdlL1NwZWVjaElucHV0UmVzdWx0
LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBjMjE5MTYwMzI3YjZiZGE5
YzgzNDdiMjk3MzM4ZDI4MmE0NDkyZDRmLi5kY2E1MzFlY2VjMzIyODMxYTAyOTM5ZWY1ZTVhZTc5
NWY3ZjUxZWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQxOSw4ICs0MTks
MTIgQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGVyZm9ybWFuY2VUaW1pbmcuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BvcFN0
YXRlRXZlbnQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUG9wU3RhdGVFdmVudC5o
IFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUG9zaXRpb25DYWxsYmFjay5jcHAgXAorCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3NpdGlvbkNhbGxiYWNrLmggXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQb3NpdGlvbkVycm9yLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1Bvc2l0aW9uRXJyb3IuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bvc2l0aW9u
RXJyb3JDYWxsYmFjay5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3NpdGlvbkVy
cm9yQ2FsbGJhY2suaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Byb2Nlc3NpbmdJbnN0
cnVjdGlvbi5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQcm9jZXNzaW5nSW5zdHJ1
Y3Rpb24uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Byb2dyZXNzRXZlbnQuY3BwIFwK
QEAgLTY2MSwxMCArNjY1LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0NsaXBib2FyZEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTQ29uc29sZUN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ29vcmRpbmF0ZXNDdXN0b20uY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCBcCi0JU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwIFwKLQlTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVZvaWRDYWxsYmFjay5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tVm9pZENhbGxiYWNrLmggXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlIGIvU291cmNlL1dlYkNvcmUv
VXNlSlNDLmNtYWtlCmluZGV4IGY2ZDljOTA4OTI4ZTQ3MmM3MGYyYTk4MDU3N2IzMGEwOTkzY2M0
ZjMuLmNkYzQ0ZDg1MDRhMzAzNWM5YmQwMmNiYjM5OTk5ODJiOTViZDI4OTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0Mu
Y21ha2UKQEAgLTMxLDggKzMxLDYgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAg
YmluZGluZ3MvanMvSlNDbGlwYm9hcmRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNDb25z
b2xlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTQ29vcmRpbmF0ZXNDdXN0b20uY3BwCi0g
ICAgYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcAotICAgIGJpbmRpbmdz
L2pzL0pTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcAogICAgIGJpbmRpbmdzL2pzL0pT
Q3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0N1
c3RvbVZvaWRDYWxsYmFjay5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNv
bHZlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAzMjQ1OWY4MTAzMzhhMzkxYWRmY2I3NzY1MzUy
NTVmZGUxYWVlMDdiLi5hMDgzYjE4NGI0MDk1OGJkMWRhNmM3YmVkZmJmNTU0NjRhYmM1NGVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC0xMzMxLDcgKzEzMzEsOSBAQAogICAgICAgICAgICAgJ3BhZ2Uv
UGVyZm9ybWFuY2UuaWRsJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlv
bi5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsJywKKyAgICAg
ICAgICAgICdwYWdlL1Bvc2l0aW9uQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdwYWdlL1Bv
c2l0aW9uRXJyb3IuaWRsJywKKyAgICAgICAgICAgICdwYWdlL1Bvc2l0aW9uRXJyb3JDYWxsYmFj
ay5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvU2NyZWVuLmlkbCcsCiAgICAgICAgICAgICAncGFn
ZS9TcGVlY2hJbnB1dEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9TcGVlY2hJbnB1dFJl
c3VsdC5pZGwnLApAQCAtMTcxMiwxMCArMTcxNCw2IEBACiAgICAgICAgICAgICAnYmluZGluZ3Mv
anMvSlNDb25zb2xlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNDb252
b2x2ZXJOb2RlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNDb29yZGlu
YXRlc0N1c3RvbS5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRp
b25DYWxsYmFjay5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRp
b25DYWxsYmFjay5oJywKLSAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9u
RXJyb3JDYWxsYmFjay5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9z
aXRpb25FcnJvckNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTQ3VzdG9t
U1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTQ3VzdG9tVm9pZENhbGxiYWNrLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlND
dXN0b21Wb2lkQ2FsbGJhY2suaCcsCkBAIC0yMDU4LDEwICsyMDU2LDYgQEAKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhDbGlwYm9hcmRDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhDb25zb2xlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvdjgvY3VzdG9tL1Y4Q29vcmRpbmF0ZXNDdXN0b20uY3BwJywKLSAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcCcsCi0gICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25DYWxsYmFjay5oJywK
LSAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkVycm9yQ2Fs
bGJhY2suY3BwJywKLSAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3Np
dGlvbkVycm9yQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVZvaWRDYWxsYmFjay5jcHAnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVZvaWRDYWxsYmFjay5oJywKQEAgLTc0MzksOCArNzQz
MywxMiBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNQZXJmb3JtYW5jZVRpbWluZy5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUG9wU3RhdGVFdmVudC5jcHAnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3BTdGF0ZUV2ZW50Lmgn
LAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQ
b3NpdGlvbkNhbGxiYWNrLmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1Bvc2l0aW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bvc2l0aW9uRXJyb3IuY3BwJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUG9z
aXRpb25FcnJvci5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCcsCisgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bvc2l0aW9uRXJyb3JDYWxsYmFj
ay5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oJywKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHJvZ3Jl
c3NFdmVudC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlciBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKaW5kZXggYWYxYTJhYmIyNTM4YTBhZGI4YmMy
NzMzNjE1YTI4MTliZjg5NGNkZi4uNTVlMzlhMTFmNDI4OTU2MGQzMGQ0ODQ2OTczMzFlNTJmOGFj
MjIwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCkBAIC0xMjc2NCwxMSArMTI3NjQsMTEgQEAgX19aTjdX
ZWJDb3JlNDhqc0dlb2xvY2F0aW9uUHJvdG90eXBlRnVuY3Rpb25HZXRDdXJyZW50UG9zaXRpb25F
UE4zSlNDOUV4ZWNTdGF0ZUUKIF9fWk5LN1dlYkNvcmUxM0pTR2VvbG9jYXRpb245Y2xhc3NJbmZv
RXYKIF9fWk43V2ViQ29yZTEzSlNHZW9sb2NhdGlvbjE4Z2V0Q3VycmVudFBvc2l0aW9uRVBOM0pT
QzlFeGVjU3RhdGVFUktOUzFfN0FyZ0xpc3RFCiBfX1pON1dlYkNvcmVMMjJjcmVhdGVQb3NpdGlv
bkNhbGxiYWNrRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFTlMwXzdK
U1ZhbHVlRQotX19aTjdXZWJDb3JlMjRKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2tDMUVQTjNKU0M4
SlNPYmplY3RFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFCi1fX1pON1dlYkNvcmUyNEpTQ3VzdG9t
UG9zaXRpb25DYWxsYmFja0MyRVBOM0pTQzhKU09iamVjdEVQTlNfMTdKU0RPTUdsb2JhbE9iamVj
dEUKK19fWk43V2ViQ29yZTI0SlNQb3NpdGlvbkNhbGxiYWNrQzFFUE4zSlNDOEpTT2JqZWN0RVBO
U18xN0pTRE9NR2xvYmFsT2JqZWN0RQorX19aTjdXZWJDb3JlMjRKU1Bvc2l0aW9uQ2FsbGJhY2tD
MkVQTjNKU0M4SlNPYmplY3RFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFCiBfX1pON1dlYkNvcmVM
MjdjcmVhdGVQb3NpdGlvbkVycm9yQ2FsbGJhY2tFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RP
TUdsb2JhbE9iamVjdEVOUzBfN0pTVmFsdWVFCi1fX1pON1dlYkNvcmUyOUpTQ3VzdG9tUG9zaXRp
b25FcnJvckNhbGxiYWNrQzFFUE4zSlNDOEpTT2JqZWN0RVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0
RQotX19aTjdXZWJDb3JlMjlKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFja0MyRVBOM0pTQzhK
U09iamVjdEVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEUKK19fWk43V2ViQ29yZTI5SlNQb3NpdGlv
bkVycm9yQ2FsbGJhY2tDMUVQTjNKU0M4SlNPYmplY3RFUE5TXzE3SlNET01HbG9iYWxPYmplY3RF
CitfX1pON1dlYkNvcmUyOUpTUG9zaXRpb25FcnJvckNhbGxiYWNrQzJFUE4zSlNDOEpTT2JqZWN0
RVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RQogX19aTjdXZWJDb3JlTDIxY3JlYXRlUG9zaXRpb25P
cHRpb25zRVBOM0pTQzlFeGVjU3RhdGVFTlMwXzdKU1ZhbHVlRQogX19aTjdXZWJDb3JlMTFHZW9s
b2NhdGlvbjE4Z2V0Q3VycmVudFBvc2l0aW9uRU4zV1RGMTBQYXNzUmVmUHRySU5TXzE2UG9zaXRp
b25DYWxsYmFja0VFRU5TMl9JTlNfMjFQb3NpdGlvbkVycm9yQ2FsbGJhY2tFRUVOUzJfSQogX19a
TjdXZWJDb3JlMTFHZW9sb2NhdGlvbjEyc3RhcnRSZXF1ZXN0RU4zV1RGMTBQYXNzUmVmUHRySU5T
XzE2UG9zaXRpb25DYWxsYmFja0VFRU5TMl9JTlNfMjFQb3NpdGlvbkVycm9yQ2FsbGJhY2tFRUVO
UzJfSU5TXzE1UApAQCAtMTI3ODcsNyArMTI3ODcsNyBAQCBfX1pON1dlYkNvcmUxMUdlb2xvY2F0
aW9uMTJzZXRJc0FsbG93ZWRFYgogX19aTjdXZWJDb3JlMTFHZW9sb2NhdGlvbjExR2VvTm90aWZp
ZXIxM3NldEZhdGFsRXJyb3JFTjNXVEYxMFBhc3NSZWZQdHJJTlNfMTNQb3NpdGlvbkVycm9yRUVF
CiBfX1pON1dlYkNvcmU1VGltZXJJTlNfMTFHZW9sb2NhdGlvbjExR2VvTm90aWZpZXJFRTVmaXJl
ZEV2CiBfX1pON1dlYkNvcmUxMUdlb2xvY2F0aW9uMTFHZW9Ob3RpZmllcjEwdGltZXJGaXJlZEVQ
TlNfNVRpbWVySVMxX0VFCi1fX1pON1dlYkNvcmUyOUpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxi
YWNrMTFoYW5kbGVFdmVudEVQTlNfMTNQb3NpdGlvbkVycm9yRQorX19aTjdXZWJDb3JlMjlKU1Bv
c2l0aW9uRXJyb3JDYWxsYmFjazExaGFuZGxlRXZlbnRFUE5TXzEzUG9zaXRpb25FcnJvckUKIF9f
Wk43V2ViQ29yZTR0b0pTRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RF
UE5TXzEzUG9zaXRpb25FcnJvckUKIF9fWk43V2ViQ29yZTE1SlNQb3NpdGlvbkVycm9yMTVjcmVh
dGVQcm90b3R5cGVFUE4zSlNDOUV4ZWNTdGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RFCiBfX1pO
N1dlYkNvcmUxNUpTUG9zaXRpb25FcnJvckMxRU4zV1RGMTdOb25OdWxsUGFzc1JlZlB0cklOM0pT
QzlTdHJ1Y3R1cmVFRUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVOUzFfMTBQYXNzUmVmUHRySU5T
XzEzUG9zaXRpCkBAIC0xMjc5Nyw4ICsxMjc5Nyw4IEBAIF9fWk43V2ViQ29yZTExR2VvbG9jYXRp
b24xOGZhdGFsRXJyb3JPY2N1cnJlZEVQTlMwXzExR2VvTm90aWZpZXJFCiBfX1pON1dlYkNvcmUx
MUdlb2xvY2F0aW9uOFdhdGNoZXJzNnJlbW92ZUVQTlMwXzExR2VvTm90aWZpZXJFCiBfX1pOSzdX
ZWJDb3JlMTFHZW9sb2NhdGlvbjhXYXRjaGVyczdpc0VtcHR5RXYKIF9fWk43V2ViQ29yZTExR2Vv
bG9jYXRpb24xMnN0b3BVcGRhdGluZ0V2Ci1fX1pON1dlYkNvcmUyOUpTQ3VzdG9tUG9zaXRpb25F
cnJvckNhbGxiYWNrRDBFdgotX19aTjdXZWJDb3JlMjRKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2tE
MEV2CitfX1pON1dlYkNvcmUyOUpTUG9zaXRpb25FcnJvckNhbGxiYWNrRDBFdgorX19aTjdXZWJD
b3JlMjRKU1Bvc2l0aW9uQ2FsbGJhY2tEMEV2CiBfX1pON1dlYkNvcmUxNUpTUG9zaXRpb25FcnJv
ckQxRXYKIF9fWk43V2ViQ29yZTE1SlNQb3NpdGlvbkVycm9yRDJFdgogX19aTjdXZWJDb3JlMTFH
ZW9sb2NhdGlvbjE1ZGlzY29ubmVjdEZyYW1lRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMDJmOGEyOTkx
OTBjZWJkNmQ0NDU5NjhlMWE2Y2NkNmM4ZGI3N2M4Mi4uZDM1MWM1MGI1OGUyMTNiMTUyMzQ1NmYy
ZjgxM2YxOGY5ZjJhYjMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8K
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTI1MSw4ICsyNTEsNiBAQCB2OCB7
CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTQ2xpcGJvYXJkQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJp
bmRpbmdzL2pzL0pTQ29uc29sZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0Nv
b3JkaW5hdGVzQ3VzdG9tLmNwcCBcCi0gICAgICAgIGJpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRp
b25DYWxsYmFjay5jcHAgXAotICAgICAgICBiaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uRXJy
b3JDYWxsYmFjay5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0N1c3RvbVZvaWRDYWxsYmFj
ay5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAg
XAogICAgICAgICBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwIFwKQEAgLTEyMDEsOCArMTE5
OSw2IEBAIEhFQURFUlMgKz0gXAogCiB2OCB7CiAgICAgSEVBREVSUyArPSBcCi0gICAgICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCBcCi0gICAgICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5oICBcCiAgICAg
ICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVZvaWRDYWxsYmFjay5oIFwKICAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmggXAogICAgICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQXVkaW9FbGVtZW50Q29uc3RydWN0b3IuaCBcCkBAIC0x
Mjc5LDggKzEyNzUsNiBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTQXVkaW9Db25zdHJ1
Y3Rvci5oIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9t
LmggXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5oIFwKLSAgICAgICAgYmlu
ZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmggXAotICAgICAgICBiaW5kaW5ncy9q
cy9KU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5oIFwKICAgICAgICAgYmluZGluZ3MvanMv
SlNDdXN0b21Wb2lkQ2FsbGJhY2suaCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTQ3VzdG9tWFBh
dGhOU1Jlc29sdmVyLmggXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBcCkBA
IC0zMTE1LDggKzMxMDksNiBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfUVRfQkVBUkVSPTEp
IHsKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9HRU9MT0NBVElPTj0xKSB7CiAgICAgdjggewog
ICAgICAgICBTT1VSQ0VTICs9IFwKLSAgICAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1
c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwIFwKLSAgICAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAgXAogICAgICAgICAgICAgYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4R2VvbG9jYXRpb25DdXN0b20uY3BwCiAgICAgfQogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA2ZmNiNzliZTFmM2M1
MDQxMTk1NDM0ZTQ2YTg3NzRmZmQ2MmY2Yzk4Li5hZGMxNTczZGJhZjhjNTYyODMyNDkyNjMwMDBh
YTY0NzVkZjNjNWExIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagpAQCAtMTI3NzQsNiArMTI3NzQsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8
RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1Bvc2l0aW9uQ2FsbGJhY2suY3BwIgorCQkJCT4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTUG9z
aXRpb25DYWxsYmFjay5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRp
dmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTUG9zaXRpb25FcnJvci5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgpAQCAtMTI4MzAsNiArMTI4ODYsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAiCisJCQkJ
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0
ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxs
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9u
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNQ
b3NpdGlvbkVycm9yQ2FsbGJhY2suaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJ
CVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAiCiAJCQkJPgogCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtNTc5NzMsMTE4ICs1ODA4NSw2IEBACiAJCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0
aD0iLi5cYmluZGluZ3NcanNcSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcCIKLQkJCQkJPgot
CQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgotCQkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+Ci0JCQkJCQk8VG9vbAotCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQkvPgotCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCi0J
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJCT4KLQkJCQkJCTxUb29sCi0JCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCS8+Ci0JCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+Ci0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9f
Q0ZMaXRlfFdpbjMyIgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+Ci0J
CQkJCQk8VG9vbAotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQkvPgotCQkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5h
bWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCi0JCQkJCQk+Ci0JCQkJCQk8VG9vbAotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCi0JCQkJCQkvPgotCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KLQkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKLQkJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgotCQkJCQkJPgotCQkJCQkJPFRvb2wKLQkJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgotCQkJCQkJLz4KLQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQkJPEZp
bGVDb25maWd1cmF0aW9uCi0JCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgotCQkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+Ci0JCQkJCQk8VG9vbAotCQkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQkvPgotCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgot
CQkJCTwvRmlsZT4KLQkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpz
XEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5oIgotCQkJCQk+Ci0JCQkJPC9GaWxlPgotCQkJCTxG
aWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNDdXN0b21Qb3NpdGlvbkVy
cm9yQ2FsbGJhY2suY3BwIgotCQkJCQk+Ci0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiCi0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJ
CT4KLQkJCQkJCTxUb29sCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCS8+
Ci0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJ
CQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKLQkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgot
CQkJCQkJPgotCQkJCQkJPFRvb2wKLQkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJ
CQkJLz4KLQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQkJPEZpbGVDb25maWd1cmF0aW9u
Ci0JCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKLQkJCQkJCT4KLQkJCQkJCTxUb29sCi0JCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKLQkJCQkJCS8+Ci0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgotCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIi
Ci0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJCT4KLQkJCQkJCTxUb29sCi0J
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCS8+Ci0JCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+Ci0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQkJTmFtZT0iRGVidWdfQWxs
fFdpbjMyIgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+Ci0JCQkJCQk8
VG9vbAotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQkvPgotCQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IlBy
b2R1Y3Rpb258V2luMzIiCi0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJCT4K
LQkJCQkJCTxUb29sCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCS8+Ci0J
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxlCi0JCQkJCVJl
bGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2su
aCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGJpbmRpbmdzXGpzXEpTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAiCiAJCQkJ
CT4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAppbmRleCBhNDU3Y2U4ZGFjNDQ4YTYwMTQ4YWU1
MTRhNzc0YzdlY2EzNjJmOTNiLi5mNmEzNDNmYTY3NTQwMDY5MDRhOWMzZDA1OGJlMjlmM2M5YzQz
ZWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxs
SW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJ
bk9uZS5jcHAKQEAgLTQ4LDggKzQ4LDYgQEAKICNpbmNsdWRlICJKU0NsaXBib2FyZEN1c3RvbS5j
cHAiCiAjaW5jbHVkZSAiSlNDb25zb2xlQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0Nvb3JkaW5h
dGVzQ3VzdG9tLmNwcCIKLSNpbmNsdWRlICJKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwIgot
I2luY2x1ZGUgIkpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJK
U0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTQ3VzdG9t
Vm9pZENhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAi
CkBAIC0xNzUsNCArMTczLDMgQEAKICNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3Bw
IgogI2luY2x1ZGUgIldvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwIgogI2luY2x1ZGUgIldvcmtl
clNjcmlwdERlYnVnU2VydmVyLmNwcCIKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5jcHAKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDg5OTA1MjAxNDE4Y2I5NmVkMDYxMWNhZDAxMDAzMWFhYzkwYWZhNTcuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcAorKysgL2Rldi9udWxs
CkBAIC0xLDYzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBB
bGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTQ3VzdG9tUG9zaXRpb25D
YWxsYmFjay5oIgotCi0jaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQotCi0jaW5jbHVkZSAiRnJhbWUu
aCIKLSNpbmNsdWRlICJKU0dlb3Bvc2l0aW9uLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxl
ci5oIgotI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQotSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrOjpKU0N1
c3RvbVBvc2l0aW9uQ2FsbGJhY2soSlNPYmplY3QqIGNhbGxiYWNrLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KQotICAgIDogUG9zaXRpb25DYWxsYmFjayhnbG9iYWxPYmplY3QtPnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLSAgICAsIG1fZGF0YShjYWxsYmFjaywgZ2xvYmFsT2Jq
ZWN0KQotewotfQotCi12b2lkIEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjazo6aGFuZGxlRXZlbnQo
R2VvcG9zaXRpb24qIGdlb3Bvc2l0aW9uKQotewotICAgIC8vIEFjdGl2ZURPTU9iamVjdCB3aWxs
IG51bGwgb3VyIHBvaW50ZXIgdG8gdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgd2hlbiBpdCBn
b2VzIGF3YXkuCi0gICAgaWYgKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIFJlZlB0cjxKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2s+IHByb3RlY3QodGhp
cyk7Ci0KLSAgICBKU0M6OkpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7Ci0gICAg
RXhlY1N0YXRlKiBleGVjID0gbV9kYXRhLmdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7Ci0g
ICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKLSAgICBhcmdzLmFwcGVuZCh0b0pTKGV4ZWMs
IGRlcHJlY2F0ZWRHbG9iYWxPYmplY3RGb3JQcm90b3R5cGUoZXhlYyksIGdlb3Bvc2l0aW9uKSk7
Ci0gICAgbV9kYXRhLmludm9rZUNhbGxiYWNrKGFyZ3MpOwotfQotCi19IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoR0VPTE9DQVRJT04pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDU1MjhkYzIzNWFjY2EwY2QwMDk5ODY1NGExOWUyYmQ0
NmRmY2IwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5oCisrKyAv
ZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBs
ZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKLSAqLwotCi0jaWZuZGVmIEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFja19oCi0jZGVm
aW5lIEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFja19oCi0KLSNpbmNsdWRlICJKU0NhbGxiYWNrRGF0
YS5oIgotI2luY2x1ZGUgIlBvc2l0aW9uQ2FsbGJhY2suaCIKLSNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEdlb3Bvc2l0aW9uOwotY2xhc3Mg
SlNET01HbG9iYWxPYmplY3Q7Ci0KLWNsYXNzIEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjayA6IHB1
YmxpYyBQb3NpdGlvbkNhbGxiYWNrIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxK
U0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2s+IGNyZWF0ZShKU0M6OkpTT2JqZWN0KiBjYWxsYmFjaywg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrKGNhbGxiYWNrLCBnbG9iYWxPYmpl
Y3QpKTsKLSAgICB9Ci0gICAgCi1wcml2YXRlOgotICAgIEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFj
ayhKU0M6OkpTT2JqZWN0KiBjYWxsYmFjaywgSlNET01HbG9iYWxPYmplY3QqKTsKLQotICAgIHZp
cnR1YWwgdm9pZCBoYW5kbGVFdmVudChHZW9wb3NpdGlvbiopOwotICAgIAotICAgIEpTQ2FsbGJh
Y2tEYXRhIG1fZGF0YTsKLX07Ci0gICAgCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRp
ZiAvLyBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzc3Mzg3YTdhYTJlN2U2YWQxY2FiZDg0NGUx
ZDhkMmRlYWViODI4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxi
YWNrLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIkpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmgiCi0KLSNpZiBFTkFCTEUoR0VPTE9D
QVRJT04pCi0KLSNpbmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIkpTUG9zaXRpb25FcnJvci5o
IgotI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKLSNpbmNsdWRlIDxydW50aW1lL0pTTG9j
ay5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCi11c2luZyBuYW1lc3BhY2UgSlNDOwot
Ci1KU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjazo6SlNDdXN0b21Qb3NpdGlvbkVycm9yQ2Fs
bGJhY2soSlNPYmplY3QqIGNhbGxiYWNrLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQotICAgIDogUG9zaXRpb25FcnJvckNhbGxiYWNrKGdsb2JhbE9iamVjdC0+c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpKQotICAgICwgbV9kYXRhKGNhbGxiYWNrLCBnbG9iYWxPYmplY3QpCi17Ci19
Ci0KLXZvaWQgSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KFBvc2l0
aW9uRXJyb3IqIHBvc2l0aW9uRXJyb3IpCi17Ci0gICAgLy8gQWN0aXZlRE9NT2JqZWN0IHdpbGwg
bnVsbCBvdXIgcG9pbnRlciB0byB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCB3aGVuIGl0IGdv
ZXMgYXdheS4KLSAgICBpZiAoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgUmVmUHRyPEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrPiBwcm90ZWN0
KHRoaXMpOwotCi0gICAgSlNDOjpKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwot
ICAgIEV4ZWNTdGF0ZSogZXhlYyA9IG1fZGF0YS5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygp
OwotICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7Ci0gICAgYXJncy5hcHBlbmQodG9KUyhl
eGVjLCBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90eXBlKGV4ZWMpLCBwb3NpdGlvbkVy
cm9yKSk7Ci0gICAgCi0gICAgbV9kYXRhLmludm9rZUNhbGxiYWNrKGFyZ3MpOwotfQotICAgIAot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKEdFT0xPQ0FUSU9OKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkVy
cm9yQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRp
b25FcnJvckNhbGxiYWNrLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU5MzI4Y2E5
ZWI0YWRkNDlmYTliYTcxMTlmZjQ4Yzk2ZjI4Y2E1NzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0
b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBK
U0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFja19oCi0jZGVmaW5lIEpTQ3VzdG9tUG9zaXRpb25F
cnJvckNhbGxiYWNrX2gKLQotI2luY2x1ZGUgIkpTQ2FsbGJhY2tEYXRhLmgiCi0jaW5jbHVkZSAi
UG9zaXRpb25FcnJvckNhbGxiYWNrLmgiCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotICAgIAotY2xhc3MgUG9zaXRpb25FcnJvcjsKLQotY2xhc3MgSlND
dXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2sgOiBwdWJsaWMgUG9zaXRpb25FcnJvckNhbGxiYWNr
IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxKU0N1c3RvbVBvc2l0aW9uRXJyb3JD
YWxsYmFjaz4gY3JlYXRlKEpTQzo6SlNPYmplY3QqIGNhbGxiYWNrLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBKU0N1
c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjayhjYWxsYmFjaywgZ2xvYmFsT2JqZWN0KSk7Ci0gICAg
fQotICAgIAotcHJpdmF0ZToKLSAgICBKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjayhKU0M6
OkpTT2JqZWN0KiBjYWxsYmFjaywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCk7Ci0g
ICAgdmlydHVhbCB2b2lkIGhhbmRsZUV2ZW50KFBvc2l0aW9uRXJyb3IqKTsKLSAgICAKLSAgICBK
U0NhbGxiYWNrRGF0YSBtX2RhdGE7Ci19OwotICAgIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQot
Ci0jZW5kaWYgLy8gSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNHZW9sb2NhdGlvbkN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0dlb2xvY2F0aW9uQ3VzdG9tLmNwcAppbmRleCBiOTNj
NGNlYzRmYzQ0NzgwZWE1ZTcyMzNkNDkxZWFjMjEyN2UwOWU2Li43ZTExZDViNjQ1YmU2NmViNWRj
MDhiZjYwOTRkY2FiMzIwNDQwYmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0dlb2xvY2F0aW9uQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0dlb2xvY2F0aW9uQ3VzdG9tLmNwcApAQCAtMzEsOSArMzEsOSBAQAogI2luY2x1ZGUg
IkNhbGxiYWNrRnVuY3Rpb24uaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJH
ZW9sb2NhdGlvbi5oIgotI2luY2x1ZGUgIkpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5oIgotI2lu
Y2x1ZGUgIkpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNET01X
aW5kb3cuaCIKKyNpbmNsdWRlICJKU1Bvc2l0aW9uQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU1Bv
c2l0aW9uRXJyb3JDYWxsYmFjay5oIgogI2luY2x1ZGUgIlBvc2l0aW9uT3B0aW9ucy5oIgogCiAj
aWYgIUVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCkBAIC0xMTMsMTIgKzExMywxMiBA
QCBKU1ZhbHVlIEpTR2VvbG9jYXRpb246OmdldEN1cnJlbnRQb3NpdGlvbihFeGVjU3RhdGUqIGV4
ZWMpCiB7CiAgICAgLy8gQXJndW1lbnRzOiBQb3NpdGlvbkNhbGxiYWNrLCAob3B0aW9uYWwpUG9z
aXRpb25FcnJvckNhbGxiYWNrLCAob3B0aW9uYWwpUG9zaXRpb25PcHRpb25zCiAKLSAgICBSZWZQ
dHI8UG9zaXRpb25DYWxsYmFjaz4gcG9zaXRpb25DYWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25s
eUNhbGxiYWNrPEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjaz4oZXhlYywgc3RhdGljX2Nhc3Q8SlNE
T01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBleGVjLT5hcmd1
bWVudCgwKSk7CisgICAgUmVmUHRyPFBvc2l0aW9uQ2FsbGJhY2s+IHBvc2l0aW9uQ2FsbGJhY2sg
PSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxKU1Bvc2l0aW9uQ2FsbGJhY2s+KGV4ZWMsIHN0
YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgp
KSwgZXhlYy0+YXJndW1lbnQoMCkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAg
ICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAgQVNTRVJUKHBvc2l0aW9uQ2FsbGJhY2sp
OwogCi0gICAgUmVmUHRyPFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4gcG9zaXRpb25FcnJvckNhbGxi
YWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8SlNDdXN0b21Qb3NpdGlvbkVycm9yQ2Fs
bGJhY2s+KGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNh
bEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMSksIENhbGxiYWNrQWxsb3dVbmRlZmlu
ZWQgfCBDYWxsYmFja0FsbG93TnVsbCk7CisgICAgUmVmUHRyPFBvc2l0aW9uRXJyb3JDYWxsYmFj
az4gcG9zaXRpb25FcnJvckNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8SlNQ
b3NpdGlvbkVycm9yQ2FsbGJhY2s+KGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0
Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMSksIENhbGxi
YWNrQWxsb3dVbmRlZmluZWQgfCBDYWxsYmFja0FsbG93TnVsbCk7CiAgICAgaWYgKGV4ZWMtPmhh
ZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIApAQCAtMTM1LDEy
ICsxMzUsMTIgQEAgSlNWYWx1ZSBKU0dlb2xvY2F0aW9uOjp3YXRjaFBvc2l0aW9uKEV4ZWNTdGF0
ZSogZXhlYykKIHsKICAgICAvLyBBcmd1bWVudHM6IFBvc2l0aW9uQ2FsbGJhY2ssIChvcHRpb25h
bClQb3NpdGlvbkVycm9yQ2FsbGJhY2ssIChvcHRpb25hbClQb3NpdGlvbk9wdGlvbnMKIAotICAg
IFJlZlB0cjxQb3NpdGlvbkNhbGxiYWNrPiBwb3NpdGlvbkNhbGxiYWNrID0gY3JlYXRlRnVuY3Rp
b25Pbmx5Q2FsbGJhY2s8SlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrPihleGVjLCBzdGF0aWNfY2Fz
dDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4ZWMt
PmFyZ3VtZW50KDApKTsKKyAgICBSZWZQdHI8UG9zaXRpb25DYWxsYmFjaz4gcG9zaXRpb25DYWxs
YmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPEpTUG9zaXRpb25DYWxsYmFjaz4oZXhl
Yywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2Jq
ZWN0KCkpLCBleGVjLT5hcmd1bWVudCgwKSk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigp
KQogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICBBU1NFUlQocG9zaXRpb25DYWxs
YmFjayk7CiAKLSAgICBSZWZQdHI8UG9zaXRpb25FcnJvckNhbGxiYWNrPiBwb3NpdGlvbkVycm9y
Q2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxKU0N1c3RvbVBvc2l0aW9uRXJy
b3JDYWxsYmFjaz4oZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBleGVjLT5hcmd1bWVudCgxKSwgQ2FsbGJhY2tBbGxvd1Vu
ZGVmaW5lZCB8IENhbGxiYWNrQWxsb3dOdWxsKTsKKyAgICBSZWZQdHI8UG9zaXRpb25FcnJvckNh
bGxiYWNrPiBwb3NpdGlvbkVycm9yQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFj
azxKU1Bvc2l0aW9uRXJyb3JDYWxsYmFjaz4oZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxP
YmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBleGVjLT5hcmd1bWVudCgxKSwg
Q2FsbGJhY2tBbGxvd1VuZGVmaW5lZCB8IENhbGxiYWNrQWxsb3dOdWxsKTsKICAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlv
bkNhbGxiYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3Rv
bVBvc2l0aW9uQ2FsbGJhY2suY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5N2Qw
ZGRlNWY5ZTM4OTU1ZWZlZDRlZmJmMThjNzhiMDQ4N2I5ODcxLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODIg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAyMDA5LCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQ
cm9qZWN0Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlY4Q3VzdG9tUG9z
aXRpb25DYWxsYmFjay5oIgotCi0jaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQotCi0jaW5jbHVkZSAi
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgotI2luY2x1ZGUgIlY4Q3VzdG9tVm9pZENhbGxiYWNr
LmgiICAvLyBGb3IgaW52b2tlQ2FsbGJhY2sKLSNpbmNsdWRlICJWOEdlb3Bvc2l0aW9uLmgiCi0j
aW5jbHVkZSAiVjhQcm94eS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVY4Q3VzdG9tUG9z
aXRpb25DYWxsYmFjazo6VjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrKHY4OjpMb2NhbDx2ODo6T2Jq
ZWN0PiBjYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKLSAgICA6IFBv
c2l0aW9uQ2FsbGJhY2soY29udGV4dCkKLSAgICAsIG1fY2FsbGJhY2sodjg6OlBlcnNpc3RlbnQ8
djg6Ok9iamVjdD46Ok5ldyhjYWxsYmFjaykpCi17Ci19Ci0KLVY4Q3VzdG9tUG9zaXRpb25DYWxs
YmFjazo6flY4Q3VzdG9tUG9zaXRpb25DYWxsYmFjaygpCi17Ci0gICAgbV9jYWxsYmFjay5EaXNw
b3NlKCk7Ci19Ci0KLXZvaWQgVjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrOjpoYW5kbGVFdmVudChH
ZW9wb3NpdGlvbiogcG9zaXRpb24pCi17Ci0gICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3Bl
OwotCi0gICAgLy8gQWN0aXZlRE9NT2JqZWN0IHdpbGwgbnVsbCBvdXIgcG9pbnRlciB0byB0aGUg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCB3aGVuIGl0IGdvZXMgYXdheS4KLSAgICBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBzY3JpcHRDb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwot
ICAgIGlmICghc2NyaXB0Q29udGV4dCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gVGhlIGxv
b2t1cCBvZiB0aGUgcHJveHkgd2lsbCBmYWlsIGlmIHRoZSBGcmFtZSBoYXMgYmVlbiBkZXRhY2hl
ZC4KLSAgICBWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6OnJldHJpZXZlKHNjcmlwdENvbnRleHQp
OwotICAgIGlmICghcHJveHkpCi0gICAgICAgIHJldHVybjsKLQotICAgIHY4OjpIYW5kbGU8djg6
OkNvbnRleHQ+IGNvbnRleHQgPSBwcm94eS0+Y29udGV4dCgpOwotICAgIGlmIChjb250ZXh0Lklz
RW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdjg6OkNvbnRleHQ6OlNjb3BlIHNjb3Bl
KGNvbnRleHQpOwotCi0gICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3ZbXSA9IHsKLSAgICAg
ICAgdG9WOChwb3NpdGlvbikKLSAgICB9OwotCi0gICAgLy8gUHJvdGVjdCB0aGUgc2NyaXB0IGNv
bnRleHQgdW50aWwgdGhlIGNhbGxiYWNrIHJldHVybnMuCi0gICAgUmVmUHRyPFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ+IHByb3RlY3RvcihzY3JpcHRDb250ZXh0KTsKLQotICAgIGJvb2wgY2FsbGJh
Y2tSZXR1cm5WYWx1ZSA9IGZhbHNlOwotICAgIGludm9rZUNhbGxiYWNrKG1fY2FsbGJhY2ssIDEs
IGFyZ3YsIGNhbGxiYWNrUmV0dXJuVmFsdWUsIHNjcmlwdENvbnRleHQpOwotfQotCi19IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoR0VPTE9DQVRJT04pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkNh
bGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3Np
dGlvbkNhbGxiYWNrLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxZGI5MjIzNjNh
YmE5NDg2MGM5ZjZhZTM0MzVmMTM2OGU0YTJkZTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q3VzdG9tUG9zaXRpb25DYWxsYmFjay5oCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAyMDA5LCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2lmbmRlZiBWOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2tfaAotI2RlZmluZSBWOEN1c3Rv
bVBvc2l0aW9uQ2FsbGJhY2tfaAotCi0jaW5jbHVkZSAiUG9zaXRpb25DYWxsYmFjay5oIgotCi0j
aW5jbHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBGcmFtZTsKLWNsYXNz
IEdlb3Bvc2l0aW9uOwotY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKLQotY2xhc3MgVjhD
dXN0b21Qb3NpdGlvbkNhbGxiYWNrIDogcHVibGljIFBvc2l0aW9uQ2FsbGJhY2sgewotcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFY4Q3VzdG9tUG9zaXRpb25DYWxsYmFjaz4gY3JlYXRl
KHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0KQotICAgIHsKLSAgICAgICAgQVNTRVJUKHZhbHVlLT5Jc09iamVjdCgpKTsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBWOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2sodmFsdWUtPlRvT2Jq
ZWN0KCksIGNvbnRleHQpKTsKLSAgICB9Ci0gICAgdmlydHVhbCB+VjhDdXN0b21Qb3NpdGlvbkNh
bGxiYWNrKCk7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQoR2VvcG9zaXRpb24qKTsK
LQotcHJpdmF0ZToKLSAgICBWOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2sodjg6OkxvY2FsPHY4OjpP
YmplY3Q+LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7Ci0KLSAgICB2ODo6UGVyc2lzdGVudDx2
ODo6T2JqZWN0PiBtX2NhbGxiYWNrOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0j
ZW5kaWYgLy8gVjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkVy
cm9yQ2FsbGJhY2suY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MDZhOTA5Nzdi
NjA1ZGNkNDc2ODA0NThlY2MzNzhmY2QzMWQ1ZGI2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4MiAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IDIwMDksIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFBy
b2plY3QKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiVjhDdXN0b21Qb3Np
dGlvbkVycm9yQ2FsbGJhY2suaCIKLQotI2lmIEVOQUJMRShHRU9MT0NBVElPTikKLQotI2luY2x1
ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKLSNpbmNsdWRlICJWOEN1c3RvbVZvaWRDYWxs
YmFjay5oIiAgLy8gRm9yIGludm9rZUNhbGxiYWNrCi0jaW5jbHVkZSAiVjhQb3NpdGlvbkVycm9y
LmgiCi0jaW5jbHVkZSAiVjhQcm94eS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVY4Q3Vz
dG9tUG9zaXRpb25FcnJvckNhbGxiYWNrOjpWOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjayh2
ODo6TG9jYWw8djg6Ok9iamVjdD4gY2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQpCi0gICAgOiBQb3NpdGlvbkVycm9yQ2FsbGJhY2soY29udGV4dCkKLSAgICAsIG1fY2Fs
bGJhY2sodjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46Ok5ldyhjYWxsYmFjaykpCi17Ci19Ci0K
LVY4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrOjp+VjhDdXN0b21Qb3NpdGlvbkVycm9yQ2Fs
bGJhY2soKQotewotICAgIG1fY2FsbGJhY2suRGlzcG9zZSgpOwotfQotCi12b2lkIFY4Q3VzdG9t
UG9zaXRpb25FcnJvckNhbGxiYWNrOjpoYW5kbGVFdmVudChQb3NpdGlvbkVycm9yKiBlcnJvcikK
LXsKLSAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7Ci0KLSAgICAvLyBBY3RpdmVET01P
YmplY3Qgd2lsbCBudWxsIG91ciBwb2ludGVyIHRvIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0
IHdoZW4gaXQgZ29lcyBhd2F5LgotICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdENv
bnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgaWYgKCFzY3JpcHRDb250ZXh0
KQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBUaGUgbG9va3VwIG9mIHRoZSBwcm94eSB3aWxs
IGZhaWwgaWYgdGhlIEZyYW1lIGhhcyBiZWVuIGRldGFjaGVkLgotICAgIFY4UHJveHkqIHByb3h5
ID0gVjhQcm94eTo6cmV0cmlldmUoc2NyaXB0Q29udGV4dCk7Ci0gICAgaWYgKCFwcm94eSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgdjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gY29udGV4dCA9IHBy
b3h5LT5jb250ZXh0KCk7Ci0gICAgaWYgKGNvbnRleHQuSXNFbXB0eSgpKQotICAgICAgICByZXR1
cm47Ci0KLSAgICB2ODo6Q29udGV4dDo6U2NvcGUgc2NvcGUoY29udGV4dCk7Ci0KLSAgICB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gYXJndltdID0gewotICAgICAgICB0b1Y4KGVycm9yKQotICAgIH07
Ci0KLSAgICAvLyBQcm90ZWN0IHRoZSBzY3JpcHQgY29udGV4dCB1bnRpbCB0aGUgY2FsbGJhY2sg
cmV0dXJucy4KLSAgICBSZWZQdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gcHJvdGVjdG9yKHNj
cmlwdENvbnRleHQpOwotCi0gICAgYm9vbCBjYWxsYmFja1JldHVyblZhbHVlID0gZmFsc2U7Ci0g
ICAgaW52b2tlQ2FsbGJhY2sobV9jYWxsYmFjaywgMSwgYXJndiwgY2FsbGJhY2tSZXR1cm5WYWx1
ZSwgc2NyaXB0Q29udGV4dCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlm
IC8vIEVOQUJMRShHRU9MT0NBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyMTFiNjA2M2Y1OTZkNzQ2ZDE4ZTQ3YmYy
ZWM3YzZjYzRkZGFlMjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25F
cnJvckNhbGxiYWNrLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IDIwMDksIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IK
LSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZu
ZGVmIFY4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrX2gKLSNkZWZpbmUgVjhDdXN0b21Qb3Np
dGlvbkVycm9yQ2FsbGJhY2tfaAotCi0jaW5jbHVkZSAiUG9zaXRpb25FcnJvckNhbGxiYWNrLmgi
Ci0KLSNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0jaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEZyYW1lOwot
Y2xhc3MgUG9zaXRpb25FcnJvcjsKLWNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7Ci0KLWNs
YXNzIFY4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrIDogcHVibGljIFBvc2l0aW9uRXJyb3JD
YWxsYmFjayB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8VjhDdXN0b21Qb3NpdGlv
bkVycm9yQ2FsbGJhY2s+IGNyZWF0ZSh2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKLSAgICB7Ci0gICAgICAgIEFTU0VSVCh2YWx1ZS0+
SXNPYmplY3QoKSk7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVjhDdXN0b21Qb3NpdGlv
bkVycm9yQ2FsbGJhY2sodmFsdWUtPlRvT2JqZWN0KCksIGNvbnRleHQpKTsKLSAgICB9Ci0gICAg
dmlydHVhbCB+VjhDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2soKTsKLQotICAgIHZpcnR1YWwg
dm9pZCBoYW5kbGVFdmVudChQb3NpdGlvbkVycm9yKik7Ci0KLXByaXZhdGU6Ci0gICAgVjhDdXN0
b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2sodjg6OkxvY2FsPHY4OjpPYmplY3Q+LCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0Kik7Ci0KLSAgICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBtX2NhbGxi
YWNrOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gVjhDdXN0b21Q
b3NpdGlvbkVycm9yQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4R2VvbG9jYXRpb25DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4R2VvbG9jYXRpb25DdXN0b20uY3BwCmluZGV4IDkxMzg5ZDgyYTlm
Zjk3YzE1MzU2NzIxMTg5N2ExNDNhOGU5NGY0YjEuLjgyN2NjM2Q2NTNlMDY2YWIwOGU1NDdjNWIw
NmUyYWUxNGQ3ODc1ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEdlb2xvY2F0aW9uQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhHZW9sb2NhdGlvbkN1c3RvbS5jcHAKQEAgLTMxLDggKzMxLDggQEAKICNp
bmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkdlb2xvY2F0aW9uLmgiCiAjaW5jbHVkZSAiVjhC
aW5kaW5nLmgiCi0jaW5jbHVkZSAiVjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmgiCi0jaW5jbHVk
ZSAiVjhDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJWOFBvc2l0aW9u
Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJWOFBvc2l0aW9uRXJyb3JDYWxsYmFjay5oIgogI2luY2x1
ZGUgIlY4VXRpbGl0aWVzLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC0xMzMsMTMgKzEz
MywxMyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhHZW9sb2NhdGlvbjo6Z2V0Q3VycmVudFBv
c2l0aW9uQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZQogCiAgICAgYm9vbCBzdWNjZWVkZWQgPSBm
YWxzZTsKIAotICAgIFJlZlB0cjxQb3NpdGlvbkNhbGxiYWNrPiBwb3NpdGlvbkNhbGxiYWNrID0g
Y3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8VjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrPihhcmdz
WzBdLCBzdWNjZWVkZWQpOworICAgIFJlZlB0cjxQb3NpdGlvbkNhbGxiYWNrPiBwb3NpdGlvbkNh
bGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8VjhQb3NpdGlvbkNhbGxiYWNrPihh
cmdzWzBdLCBzdWNjZWVkZWQpOwogICAgIGlmICghc3VjY2VlZGVkKQogICAgICAgICByZXR1cm4g
djg6OlVuZGVmaW5lZCgpOwogICAgIEFTU0VSVChwb3NpdGlvbkNhbGxiYWNrKTsKIAogICAgIC8v
IEFyZ3VtZW50IGlzIG9wdGlvbmFsIChoZW5jZSB1bmRlZmluZWQgaXMgYWxsb3dlZCksIGFuZCBu
dWxsIGlzIGFsbG93ZWQuCi0gICAgUmVmUHRyPFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4gcG9zaXRp
b25FcnJvckNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8VjhDdXN0b21Qb3Np
dGlvbkVycm9yQ2FsbGJhY2s+KGFyZ3NbMV0sIHN1Y2NlZWRlZCwgQ2FsbGJhY2tBbGxvd1VuZGVm
aW5lZCB8IENhbGxiYWNrQWxsb3dOdWxsKTsKKyAgICBSZWZQdHI8UG9zaXRpb25FcnJvckNhbGxi
YWNrPiBwb3NpdGlvbkVycm9yQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxW
OFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4oYXJnc1sxXSwgc3VjY2VlZGVkLCBDYWxsYmFja0FsbG93
VW5kZWZpbmVkIHwgQ2FsbGJhY2tBbGxvd051bGwpOwogICAgIGlmICghc3VjY2VlZGVkKQogICAg
ICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogCkBAIC0xNTksMTMgKzE1OSwxMyBAQCB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gVjhHZW9sb2NhdGlvbjo6d2F0Y2hQb3NpdGlvbkNhbGxiYWNrKGNv
bnN0IHY4OjpBcmd1bWVudHMmCiAKICAgICBib29sIHN1Y2NlZWRlZCA9IGZhbHNlOwogCi0gICAg
UmVmUHRyPFBvc2l0aW9uQ2FsbGJhY2s+IHBvc2l0aW9uQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlv
bk9ubHlDYWxsYmFjazxWOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2s+KGFyZ3NbMF0sIHN1Y2NlZWRl
ZCk7CisgICAgUmVmUHRyPFBvc2l0aW9uQ2FsbGJhY2s+IHBvc2l0aW9uQ2FsbGJhY2sgPSBjcmVh
dGVGdW5jdGlvbk9ubHlDYWxsYmFjazxWOFBvc2l0aW9uQ2FsbGJhY2s+KGFyZ3NbMF0sIHN1Y2Nl
ZWRlZCk7CiAgICAgaWYgKCFzdWNjZWVkZWQpCiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVk
KCk7CiAgICAgQVNTRVJUKHBvc2l0aW9uQ2FsbGJhY2spOwogCiAgICAgLy8gQXJndW1lbnQgaXMg
b3B0aW9uYWwgKGhlbmNlIHVuZGVmaW5lZCBpcyBhbGxvd2VkKSwgYW5kIG51bGwgaXMgYWxsb3dl
ZC4KLSAgICBSZWZQdHI8UG9zaXRpb25FcnJvckNhbGxiYWNrPiBwb3NpdGlvbkVycm9yQ2FsbGJh
Y2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxWOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxs
YmFjaz4oYXJnc1sxXSwgc3VjY2VlZGVkLCBDYWxsYmFja0FsbG93VW5kZWZpbmVkIHwgQ2FsbGJh
Y2tBbGxvd051bGwpOworICAgIFJlZlB0cjxQb3NpdGlvbkVycm9yQ2FsbGJhY2s+IHBvc2l0aW9u
RXJyb3JDYWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPFY4UG9zaXRpb25FcnJv
ckNhbGxiYWNrPihhcmdzWzFdLCBzdWNjZWVkZWQsIENhbGxiYWNrQWxsb3dVbmRlZmluZWQgfCBD
YWxsYmFja0FsbG93TnVsbCk7CiAgICAgaWYgKCFzdWNjZWVkZWQpCiAgICAgICAgIHJldHVybiB2
ODo6VW5kZWZpbmVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9zaXRp
b25DYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3NpdGlvbkNhbGxiYWNrLmgKaW5k
ZXggNTUxMWQzZTBlMTgyMTMxMjFiN2RlMzQ4MjZiMWFhZGY2ZWVjYzFmNS4uMDlkN2ViNjkyMTg2
NzYwMDk0YWRkZGNiODcxOTgzMTZhMjRlM2IxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Qb3NpdGlvbkNhbGxiYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3NpdGlv
bkNhbGxiYWNrLmgKQEAgLTI2LDIwICsyNiwxOCBAQAogI2lmbmRlZiBQb3NpdGlvbkNhbGxiYWNr
X2gKICNkZWZpbmUgUG9zaXRpb25DYWxsYmFja19oCiAKLSNpbmNsdWRlICJBY3RpdmVET01PYmpl
Y3QuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
Ci0gICAgCisKICAgICBjbGFzcyBHZW9wb3NpdGlvbjsKLSAgICAKLSAgICBjbGFzcyBQb3NpdGlv
bkNhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8UG9zaXRpb25DYWxsYmFjaz4sIHB1YmxpYyBB
Y3RpdmVET01PYmplY3QgeworCisgICAgY2xhc3MgUG9zaXRpb25DYWxsYmFjayA6IHB1YmxpYyBS
ZWZDb3VudGVkPFBvc2l0aW9uQ2FsbGJhY2s+IHsKICAgICBwdWJsaWM6Ci0gICAgICAgIFBvc2l0
aW9uQ2FsbGJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgOiBBY3RpdmVET01P
YmplY3QoY29udGV4dCwgdGhpcykgeyB9CiAgICAgICAgIHZpcnR1YWwgflBvc2l0aW9uQ2FsbGJh
Y2soKSB7IH0KLSAgICAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUV2ZW50KEdlb3Bvc2l0aW9uKikg
PSAwOworICAgICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoR2VvcG9zaXRpb24qKSA9IDA7
CiAgICAgfTsKLSAgICAKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gUG9z
aXRpb25DYWxsYmFja19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9u
Q2FsbGJhY2suaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3NpdGlvbkNhbGxiYWNrLmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wZjFjYTQ0NDJkMDM0OTYxMDY2NjkzYTRjODVmNGM1ODQ3YjhmZDc0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3NpdGlvbkNhbGxiYWNrLmlkbApA
QCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgd2luZG93IHsKKyAgICBpbnRl
cmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1HRU9MT0NBVElPTiwKKyAgICAgICAgQ2FsbGJh
Y2s9RnVuY3Rpb25Pbmx5CisgICAgXSBQb3NpdGlvbkNhbGxiYWNrIHsKKyAgICAgICAgYm9vbGVh
biBoYW5kbGVFdmVudChpbiBHZW9wb3NpdGlvbiBwb3NpdGlvbik7CisgICAgfTsKKworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUG9zaXRpb25FcnJvckNhbGxiYWNrLmgKaW5kZXggYTY1ZTM1MDUx
OTc5NzEwYzQzMDIyMDVhN2Q3ZWQ0ZTMzYzhlN2I1Yi4uZDE1Mjc4NWMxMDU1N2U1MjcwYzc2NDRj
MGVkOGFjZDA3OWM5YzJiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3NpdGlv
bkVycm9yQ2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9uRXJyb3JD
YWxsYmFjay5oCkBAIC0yNiwyMCArMjYsMTggQEAKICNpZm5kZWYgUG9zaXRpb25FcnJvckNhbGxi
YWNrX2gKICNkZWZpbmUgUG9zaXRpb25FcnJvckNhbGxiYWNrX2gKIAotI2luY2x1ZGUgIkFjdGl2
ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogICAgIGNsYXNzIFBvc2l0aW9uRXJyb3I7CiAKLSAgICBjbGFzcyBQb3NpdGlv
bkVycm9yQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxQb3NpdGlvbkVycm9yQ2FsbGJhY2s+
LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICBjbGFzcyBQb3NpdGlvbkVycm9yQ2FsbGJh
Y2sgOiBwdWJsaWMgUmVmQ291bnRlZDxQb3NpdGlvbkVycm9yQ2FsbGJhY2s+IHsKICAgICBwdWJs
aWM6Ci0gICAgICAgIFBvc2l0aW9uRXJyb3JDYWxsYmFjayhTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0KSA6IEFjdGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKSB7IH0KICAgICAgICAg
dmlydHVhbCB+UG9zaXRpb25FcnJvckNhbGxiYWNrKCkgeyB9Ci0gICAgICAgIHZpcnR1YWwgdm9p
ZCBoYW5kbGVFdmVudChQb3NpdGlvbkVycm9yKikgPSAwOworICAgICAgICB2aXJ0dWFsIGJvb2wg
aGFuZGxlRXZlbnQoUG9zaXRpb25FcnJvciopID0gMDsKICAgICB9OwotICAgIAorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBQb3NpdGlvbkVycm9yQ2FsbGJhY2tfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaWRsIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmY0NWI0M2M4MWI5OGY0M2JhZDdhNTM2M2ZjYWU1MjM5M2MwOGNlZWIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5pZGwKQEAgLTAs
MCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHdpbmRvdyB7CisgICAgaW50ZXJmYWNl
IFsKKyAgICAgICAgQ29uZGl0aW9uYWw9R0VPTE9DQVRJT04sCisgICAgICAgIENhbGxiYWNrPUZ1
bmN0aW9uT25seQorICAgIF0gUG9zaXRpb25FcnJvckNhbGxiYWNrIHsKKyAgICAgICAgYm9vbGVh
biBoYW5kbGVFdmVudChpbiBQb3NpdGlvbkVycm9yIGVycm9yKTsKKyAgICB9OworCit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89382</attachid>
            <date>2011-04-13 08:47:33 -0700</date>
            <delta_ts>2011-05-23 15:36:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40065-20110413164730.patch</filename>
            <type>text/plain</type>
            <size>70650</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODM3MjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Fu
ZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tayBiL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuZGVy
aXZlZC5qc2NiaW5kaW5ncy5tawppbmRleCAxMzZmMDE3MzdjODg5NDUyZmIwOThlNjgyNDZhNWY4
ODQ0YmVkYTBhLi44N2M1ZWNhZjRkOTEzNjBmOTkzMTcxMWYwODcyZjkxOWExYTMyOTg2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKKysr
IGIvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rCkBAIC0yOTks
NyArMjk5LDkgQEAgR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL3BhZ2UvSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL3BhZ2UvSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvcGFnZS9K
U05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIFwKKyAgICAkKGludGVybWVkaWF0
ZXMpL3BhZ2UvSlNQb3NpdGlvbkNhbGxiYWNrLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvcGFn
ZS9KU1Bvc2l0aW9uRXJyb3IuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9wYWdlL0pTUG9zaXRp
b25FcnJvckNhbGxiYWNrLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvcGFnZS9KU1NjcmVlbi5o
IFwKICAgICAkKGludGVybWVkaWF0ZXMpL3BhZ2UvSlNXZWJLaXRBbmltYXRpb24uaCBcCiAgICAg
JChpbnRlcm1lZGlhdGVzKS9wYWdlL0pTV2ViS2l0QW5pbWF0aW9uTGlzdC5oIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rIGIvU291cmNl
L1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKaW5kZXggMTQ0MDFkZGIwOWJm
ZTRmOTQwNzFmZWJjNTg1YWQyZmRiMjFhMDlmZS4uZTRlOTM3MjlkZjNhMDVlYWM2YmY1NzFhYmEw
OGY5NDU5ZmQ5ZmMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVk
LnY4YmluZGluZ3MubWsKKysrIGIvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4Ymlu
ZGluZ3MubWsKQEAgLTI4MCw3ICsyODAsOSBAQCBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRl
cykvYmluZGluZ3MvVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIFwKICAgICAkKGludGVybWVk
aWF0ZXMpL2JpbmRpbmdzL1Y4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIFwKICAg
ICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhQb3NpdGlvbkNhbGxi
YWNrLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhQb3NpdGlvbkVycm9yLmgg
XAorICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhQb3NpdGlvbkVycm9yQ2FsbGJhY2su
aCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFNjcmVlbi5oIFwKICAgICAkKGlu
dGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4V2ViS2l0QW5pbWF0aW9uLmggXAogICAgICQoaW50ZXJt
ZWRpYXRlcykvYmluZGluZ3MvVjhXZWJLaXRBbmltYXRpb25MaXN0LmggXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tayBiL1NvdXJjZS9XZWJDb3JlL0Fu
ZHJvaWQuanNjYmluZGluZ3MubWsKaW5kZXggYTc0M2E3YmU0ZjhmMTZjZDllYTdhZWRmZWViNzI3
NzkzNzcyOGZmNS4uMTBiMzQ5NWJiYTNiYmZlMzgyZjQ4NDMxMWMxYjk4ZTQ1MWE0M2IxMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5taworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCkBAIC03Nyw4ICs3Nyw2IEBAIExPQ0FM
X1NSQ19GSUxFUyArPSBcCiAJYmluZGluZ3MvanMvSlNDbGlwYm9hcmRDdXN0b20uY3BwIFwKIAli
aW5kaW5ncy9qcy9KU0NvbnNvbGVDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0Nvb3JkaW5h
dGVzQ3VzdG9tLmNwcCBcCi0JYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNw
cCBcCi0JYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwIFwKIAli
aW5kaW5ncy9qcy9KU0N1c3RvbVNRTFN0YXRlbWVudENhbGxiYWNrLmNwcCBcCiAJYmluZGluZ3Mv
anMvSlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCBcCiAJYmluZGluZ3MvanMv
SlNDdXN0b21TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9BbmRyb2lkLnY4YmluZGluZ3MubWsgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLnY4
YmluZGluZ3MubWsKaW5kZXggYTRkYjI4OGY5YmU0ZTIwZThkYzFhM2VlODM4ZjI5ZTg3ODE2ODc2
ZS4uZDg5MjRmMWM5MjI4Zjg3MzRmMGZkODVkN2UwYjhmOGFhMTFhOWY3NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1rCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0FuZHJvaWQudjhiaW5kaW5ncy5tawpAQCAtOTUsOCArOTUsNiBAQCBMT0NBTF9TUkNfRklMRVMg
Kz0gXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOENsaXBib2FyZEN1c3RvbS5jcHAgXAogCWJpbmRp
bmdzL3Y4L2N1c3RvbS9WOENvb3JkaW5hdGVzQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Q3VzdG9tRXZlbnRMaXN0ZW5lci5jcHAgXAotCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1
c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwIFwKLQliaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Q
b3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwIFwKIAliaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21T
UUxTdGF0ZW1lbnRDYWxsYmFjay5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNR
TFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwIFwKIAliaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0
b21TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGI2
Zjg3MGY1NGI0ZWNlODUyYTE2MGEwYzJmZmVjODFiYWFkNzU4MzIuLmFkNjY1MWYzMzU1YjllODA5
NjkwMDA5YWMzOTA4MDIxOTA5MGM2OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zMzYsNyAr
MzM2LDkgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgcGFnZS9QZXJmb3JtYW5jZS5pZGwK
ICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNl
VGltaW5nLmlkbAorICAgIHBhZ2UvUG9zaXRpb25DYWxsYmFjay5pZGwKICAgICBwYWdlL1Bvc2l0
aW9uRXJyb3IuaWRsCisgICAgcGFnZS9Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaWRsCiAgICAgcGFn
ZS9TY3JlZW4uaWRsCiAgICAgcGFnZS9TcGVlY2hJbnB1dEV2ZW50LmlkbAogICAgIHBhZ2UvU3Bl
ZWNoSW5wdXRSZXN1bHQuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTg0ODc5NWQ0ODY5YTY2ZDJiODg0Y2Q3
NWZiNTBiN2RjOGZhNGNjOC4uYjlhZDgzMmRmOTJjNTM1ZDg0Y2FjMGVlZDI1ZGU5YjZkMWM0ZjE5
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDExLTA0LTEzICBTdGV2ZSBCbG9jayAg
PHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBHZW9sb2NhdGlvbiBjYWxsYmFja3Mgc2hvdWxkIG1ha2UgdXNlIG9m
IG5ldyBjYWxsYmFjayBnZW5lcmF0aW9uIG1lY2hhbmlzbQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAwNjUKKworICAgICAgICBObyBuZXcgdGVzdHMs
IHJlZmFjdG9yaW5nIG9ubHkuCisKKyAgICAgICAgKiBBbmRyb2lkLmRlcml2ZWQuanNjYmluZGlu
Z3MubWs6CisgICAgICAgICogQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWs6CisgICAgICAg
ICogQW5kcm9pZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLnY4YmluZGluZ3Mu
bWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogQ29kZUdlbmVyYXRvcnMu
cHJpOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVXNl
SlNDLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLm9y
ZGVyOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5jcHA6IFJlbW92ZWQuCisg
ICAgICAgICogYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmg6IFJlbW92ZWQu
CisgICAgICAgICogYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3Bw
OiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25FcnJvckNh
bGxiYWNrLmg6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNHZW9sb2NhdGlvbkN1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0dlb2xvY2F0aW9uOjpnZXRDdXJyZW50UG9z
aXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SlNHZW9sb2NhdGlvbjo6d2F0Y2hQb3NpdGlvbik6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25DYWxsYmFjay5j
cHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRp
b25DYWxsYmFjay5oOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1
c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmg6IFJlbW92ZWQuCisg
ICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4R2VvbG9jYXRpb25DdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VjhHZW9sb2NhdGlvbjo6Z2V0Q3VycmVudFBvc2l0aW9uQ2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6VjhHZW9sb2NhdGlvbjo6d2F0Y2hQb3NpdGlvbkNhbGxiYWNr
KToKKyAgICAgICAgKiBwYWdlL1Bvc2l0aW9uQ2FsbGJhY2suaDoKKyAgICAgICAgKiBwYWdlL1Bv
c2l0aW9uQ2FsbGJhY2suaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL1Bvc2l0aW9uRXJyb3JD
YWxsYmFjay5oOgorICAgICAgICAqIHBhZ2UvUG9zaXRpb25FcnJvckNhbGxiYWNrLmlkbDogQWRk
ZWQuCisKIDIwMTEtMDQtMTMgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODM2OTUuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9Db2RlR2Vu
ZXJhdG9ycy5wcmkKaW5kZXggNWIxZTg2NDk3MGM3ZjdmZWYzNjMxNzA1M2ZkMDEzOTM2ZWEwYjU0
ZC4uNjk0YWNmNDg5MGFmN2M2ZTUxMDQ4ZDRjNmZmOTUxNDY2MGIzZjUyYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Nv
ZGVHZW5lcmF0b3JzLnByaQpAQCAtMzMyLDcgKzMzMiw5IEBAIElETF9CSU5ESU5HUyArPSBcCiAg
ICAgcGFnZS9QZXJmb3JtYW5jZS5pZGwgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
LmlkbCBcCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwgXAorICAgIHBhZ2UvUG9zaXRp
b25DYWxsYmFjay5pZGwgXAogICAgIHBhZ2UvUG9zaXRpb25FcnJvci5pZGwgXAorICAgIHBhZ2Uv
UG9zaXRpb25FcnJvckNhbGxiYWNrLmlkbCBcCiAgICAgcGFnZS9TY3JlZW4uaWRsIFwKICAgICBw
YWdlL1NwZWVjaElucHV0RXZlbnQuaWRsIFwKICAgICBwYWdlL1NwZWVjaElucHV0UmVzdWx0Lmlk
bCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggMmNhZTgwYzNlMjYyNzA2MmZlYWU4
MmNlZThiYWJiYWFiMTA4MDY2Yi4uYmYzZjliNjFiMDI1MjFmYTI5ODMwNGQwMTY2OGExYWEyMTBj
YjYxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMjYxLDcgKzI2MSw5IEBACiAj
aW5jbHVkZSAiSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTUGVyZm9y
bWFuY2VUaW1pbmcuY3BwIgogI2luY2x1ZGUgIkpTUG9wU3RhdGVFdmVudC5jcHAiCisjaW5jbHVk
ZSAiSlNQb3NpdGlvbkNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU1Bvc2l0aW9uRXJyb3IuY3Bw
IgorI2luY2x1ZGUgIkpTUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU1By
b2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNQcm9ncmVzc0V2ZW50LmNwcCIK
ICNpbmNsdWRlICJKU1JhbmdlLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4
IDc2ZjExNzQ1MzBhMTczM2EyM2UyZDVkZjhiZDc3ZmVjNzc4MmI4YzMuLjI2MGM4Y2VkZDQ3NjZj
YjExMzY3Y2QyZWUwNTRhMzUyOTA2ZTVhZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQpAQCAtMzI5LDcgKzMyOSw5IEBAIERPTV9DTEFTU0VTID0gXAogICAgIFBlcmZvcm1hbmNlTmF2
aWdhdGlvbiBcCiAgICAgUGVyZm9ybWFuY2VUaW1pbmcgXAogICAgIFBvcFN0YXRlRXZlbnQgXAor
ICAgIFBvc2l0aW9uQ2FsbGJhY2sgXAogICAgIFBvc2l0aW9uRXJyb3IgXAorICAgIFBvc2l0aW9u
RXJyb3JDYWxsYmFjayBcCiAgICAgUHJvY2Vzc2luZ0luc3RydWN0aW9uIFwKICAgICBQcm9ncmVz
c0V2ZW50IFwKICAgICBSR0JDb2xvciBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRl
eCBjMjE5MTYwMzI3YjZiZGE5YzgzNDdiMjk3MzM4ZDI4MmE0NDkyZDRmLi5kY2E1MzFlY2VjMzIy
ODMxYTAyOTM5ZWY1ZTVhZTc5NWY3ZjUxZWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KQEAgLTQxOSw4ICs0MTksMTIgQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VUaW1pbmcuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1BvcFN0YXRlRXZlbnQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUG9wU3RhdGVFdmVudC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUG9zaXRpb25D
YWxsYmFjay5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3NpdGlvbkNhbGxiYWNr
LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3NpdGlvbkVycm9yLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bvc2l0aW9uRXJyb3IuaCBcCisJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNQb3NpdGlvbkVycm9yQ2FsbGJhY2suaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1By
b2dyZXNzRXZlbnQuY3BwIFwKQEAgLTY2MSwxMCArNjY1LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NsaXBib2FyZEN1c3RvbS5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ29uc29sZUN1c3RvbS5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ29vcmRpbmF0ZXNDdXN0b20uY3BwIFwKLQlTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwIFwKLQlTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCBcCi0JU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3Bw
IFwKLQlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxs
YmFjay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVNRTFN0YXRlbWVu
dEVycm9yQ2FsbGJhY2suY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3Rv
bVZvaWRDYWxsYmFjay5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9t
Vm9pZENhbGxiYWNrLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtl
IGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCmluZGV4IGY2ZDljOTA4OTI4ZTQ3MmM3MGYy
YTk4MDU3N2IzMGEwOTkzY2M0ZjMuLmNkYzQ0ZDg1MDRhMzAzNWM5YmQwMmNiYjM5OTk5ODJiOTVi
ZDI4OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKQEAgLTMxLDggKzMxLDYgQEAgTElTVChBUFBFTkQgV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNDbGlwYm9hcmRDdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvanMvSlNDb25zb2xlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTQ29vcmRp
bmF0ZXNDdXN0b20uY3BwCi0gICAgYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNr
LmNwcAotICAgIGJpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcAog
ICAgIGJpbmRpbmdzL2pzL0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAKICAg
ICBiaW5kaW5ncy9qcy9KU0N1c3RvbVZvaWRDYWxsYmFjay5jcHAKICAgICBiaW5kaW5ncy9qcy9K
U0N1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAxNjdhY2Y5M2Fh
Nzg3Y2Q1MGI1YWExZDc3ZmUwZWYxYmYwYTVjZjlkLi43YzM5OWUwMDllNDhjZjc0NjEwNTRjNDY3
YjVlZjdlODk0NjJkOTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xMzMxLDcgKzEzMzEsOSBAQAog
ICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2UuaWRsJywKICAgICAgICAgICAgICdwYWdlL1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VU
aW1pbmcuaWRsJywKKyAgICAgICAgICAgICdwYWdlL1Bvc2l0aW9uQ2FsbGJhY2suaWRsJywKICAg
ICAgICAgICAgICdwYWdlL1Bvc2l0aW9uRXJyb3IuaWRsJywKKyAgICAgICAgICAgICdwYWdlL1Bv
c2l0aW9uRXJyb3JDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvU2NyZWVuLmlkbCcs
CiAgICAgICAgICAgICAncGFnZS9TcGVlY2hJbnB1dEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAn
cGFnZS9TcGVlY2hJbnB1dFJlc3VsdC5pZGwnLApAQCAtMTcxMiwxMCArMTcxNCw2IEBACiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNDb25zb2xlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvanMvSlNDb252b2x2ZXJOb2RlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNDb29yZGluYXRlc0N1c3RvbS5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdz
L2pzL0pTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdz
L2pzL0pTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5oJywKLSAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAnLAotICAgICAgICAgICAgJ2JpbmRp
bmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL2pzL0pTQ3VzdG9tVm9pZENhbGxiYWNrLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvanMvSlNDdXN0b21Wb2lkQ2FsbGJhY2suaCcsCkBAIC0yMDU4LDEwICsyMDU2
LDYgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDbGlwYm9hcmRDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDb25zb2xlQ3VzdG9tLmNw
cCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q29vcmRpbmF0ZXNDdXN0b20u
Y3BwJywKLSAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkNh
bGxiYWNrLmNwcCcsCi0gICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9z
aXRpb25DYWxsYmFjay5oJywKLSAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0
b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwJywKLSAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVZvaWRDYWxsYmFjay5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVZvaWRDYWxsYmFjay5o
JywKQEAgLTc0NDAsOCArNzQzNCwxMiBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZVRpbWluZy5oJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUG9wU3RhdGVFdmVudC5j
cHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNQb3BTdGF0ZUV2ZW50LmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNQb3NpdGlvbkNhbGxiYWNrLmNwcCcsCisgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bvc2l0aW9uQ2FsbGJhY2suaCcs
CiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bv
c2l0aW9uRXJyb3IuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUG9zaXRpb25FcnJvci5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCcs
CisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bv
c2l0aW9uRXJyb3JDYWxsYmFjay5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcCcsCiAgICAgICAg
ICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Byb2Nlc3NpbmdJ
bnN0cnVjdGlvbi5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUHJvZ3Jlc3NFdmVudC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5vcmRlciBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKaW5kZXggYWYx
YTJhYmIyNTM4YTBhZGI4YmMyNzMzNjE1YTI4MTliZjg5NGNkZi4uNTVlMzlhMTFmNDI4OTU2MGQz
MGQ0ODQ2OTczMzFlNTJmOGFjMjIwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5vcmRlcgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCkBAIC0xMjc2NCwxMSAr
MTI3NjQsMTEgQEAgX19aTjdXZWJDb3JlNDhqc0dlb2xvY2F0aW9uUHJvdG90eXBlRnVuY3Rpb25H
ZXRDdXJyZW50UG9zaXRpb25FUE4zSlNDOUV4ZWNTdGF0ZUUKIF9fWk5LN1dlYkNvcmUxM0pTR2Vv
bG9jYXRpb245Y2xhc3NJbmZvRXYKIF9fWk43V2ViQ29yZTEzSlNHZW9sb2NhdGlvbjE4Z2V0Q3Vy
cmVudFBvc2l0aW9uRVBOM0pTQzlFeGVjU3RhdGVFUktOUzFfN0FyZ0xpc3RFCiBfX1pON1dlYkNv
cmVMMjJjcmVhdGVQb3NpdGlvbkNhbGxiYWNrRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01H
bG9iYWxPYmplY3RFTlMwXzdKU1ZhbHVlRQotX19aTjdXZWJDb3JlMjRKU0N1c3RvbVBvc2l0aW9u
Q2FsbGJhY2tDMUVQTjNKU0M4SlNPYmplY3RFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFCi1fX1pO
N1dlYkNvcmUyNEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFja0MyRVBOM0pTQzhKU09iamVjdEVQTlNf
MTdKU0RPTUdsb2JhbE9iamVjdEUKK19fWk43V2ViQ29yZTI0SlNQb3NpdGlvbkNhbGxiYWNrQzFF
UE4zSlNDOEpTT2JqZWN0RVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RQorX19aTjdXZWJDb3JlMjRK
U1Bvc2l0aW9uQ2FsbGJhY2tDMkVQTjNKU0M4SlNPYmplY3RFUE5TXzE3SlNET01HbG9iYWxPYmpl
Y3RFCiBfX1pON1dlYkNvcmVMMjdjcmVhdGVQb3NpdGlvbkVycm9yQ2FsbGJhY2tFUE4zSlNDOUV4
ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVOUzBfN0pTVmFsdWVFCi1fX1pON1dlYkNv
cmUyOUpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrQzFFUE4zSlNDOEpTT2JqZWN0RVBOU18x
N0pTRE9NR2xvYmFsT2JqZWN0RQotX19aTjdXZWJDb3JlMjlKU0N1c3RvbVBvc2l0aW9uRXJyb3JD
YWxsYmFja0MyRVBOM0pTQzhKU09iamVjdEVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEUKK19fWk43
V2ViQ29yZTI5SlNQb3NpdGlvbkVycm9yQ2FsbGJhY2tDMUVQTjNKU0M4SlNPYmplY3RFUE5TXzE3
SlNET01HbG9iYWxPYmplY3RFCitfX1pON1dlYkNvcmUyOUpTUG9zaXRpb25FcnJvckNhbGxiYWNr
QzJFUE4zSlNDOEpTT2JqZWN0RVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RQogX19aTjdXZWJDb3Jl
TDIxY3JlYXRlUG9zaXRpb25PcHRpb25zRVBOM0pTQzlFeGVjU3RhdGVFTlMwXzdKU1ZhbHVlRQog
X19aTjdXZWJDb3JlMTFHZW9sb2NhdGlvbjE4Z2V0Q3VycmVudFBvc2l0aW9uRU4zV1RGMTBQYXNz
UmVmUHRySU5TXzE2UG9zaXRpb25DYWxsYmFja0VFRU5TMl9JTlNfMjFQb3NpdGlvbkVycm9yQ2Fs
bGJhY2tFRUVOUzJfSQogX19aTjdXZWJDb3JlMTFHZW9sb2NhdGlvbjEyc3RhcnRSZXF1ZXN0RU4z
V1RGMTBQYXNzUmVmUHRySU5TXzE2UG9zaXRpb25DYWxsYmFja0VFRU5TMl9JTlNfMjFQb3NpdGlv
bkVycm9yQ2FsbGJhY2tFRUVOUzJfSU5TXzE1UApAQCAtMTI3ODcsNyArMTI3ODcsNyBAQCBfX1pO
N1dlYkNvcmUxMUdlb2xvY2F0aW9uMTJzZXRJc0FsbG93ZWRFYgogX19aTjdXZWJDb3JlMTFHZW9s
b2NhdGlvbjExR2VvTm90aWZpZXIxM3NldEZhdGFsRXJyb3JFTjNXVEYxMFBhc3NSZWZQdHJJTlNf
MTNQb3NpdGlvbkVycm9yRUVFCiBfX1pON1dlYkNvcmU1VGltZXJJTlNfMTFHZW9sb2NhdGlvbjEx
R2VvTm90aWZpZXJFRTVmaXJlZEV2CiBfX1pON1dlYkNvcmUxMUdlb2xvY2F0aW9uMTFHZW9Ob3Rp
ZmllcjEwdGltZXJGaXJlZEVQTlNfNVRpbWVySVMxX0VFCi1fX1pON1dlYkNvcmUyOUpTQ3VzdG9t
UG9zaXRpb25FcnJvckNhbGxiYWNrMTFoYW5kbGVFdmVudEVQTlNfMTNQb3NpdGlvbkVycm9yRQor
X19aTjdXZWJDb3JlMjlKU1Bvc2l0aW9uRXJyb3JDYWxsYmFjazExaGFuZGxlRXZlbnRFUE5TXzEz
UG9zaXRpb25FcnJvckUKIF9fWk43V2ViQ29yZTR0b0pTRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3
SlNET01HbG9iYWxPYmplY3RFUE5TXzEzUG9zaXRpb25FcnJvckUKIF9fWk43V2ViQ29yZTE1SlNQ
b3NpdGlvbkVycm9yMTVjcmVhdGVQcm90b3R5cGVFUE4zSlNDOUV4ZWNTdGF0ZUVQTlMxXzE0SlNH
bG9iYWxPYmplY3RFCiBfX1pON1dlYkNvcmUxNUpTUG9zaXRpb25FcnJvckMxRU4zV1RGMTdOb25O
dWxsUGFzc1JlZlB0cklOM0pTQzlTdHJ1Y3R1cmVFRUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVO
UzFfMTBQYXNzUmVmUHRySU5TXzEzUG9zaXRpCkBAIC0xMjc5Nyw4ICsxMjc5Nyw4IEBAIF9fWk43
V2ViQ29yZTExR2VvbG9jYXRpb24xOGZhdGFsRXJyb3JPY2N1cnJlZEVQTlMwXzExR2VvTm90aWZp
ZXJFCiBfX1pON1dlYkNvcmUxMUdlb2xvY2F0aW9uOFdhdGNoZXJzNnJlbW92ZUVQTlMwXzExR2Vv
Tm90aWZpZXJFCiBfX1pOSzdXZWJDb3JlMTFHZW9sb2NhdGlvbjhXYXRjaGVyczdpc0VtcHR5RXYK
IF9fWk43V2ViQ29yZTExR2VvbG9jYXRpb24xMnN0b3BVcGRhdGluZ0V2Ci1fX1pON1dlYkNvcmUy
OUpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrRDBFdgotX19aTjdXZWJDb3JlMjRKU0N1c3Rv
bVBvc2l0aW9uQ2FsbGJhY2tEMEV2CitfX1pON1dlYkNvcmUyOUpTUG9zaXRpb25FcnJvckNhbGxi
YWNrRDBFdgorX19aTjdXZWJDb3JlMjRKU1Bvc2l0aW9uQ2FsbGJhY2tEMEV2CiBfX1pON1dlYkNv
cmUxNUpTUG9zaXRpb25FcnJvckQxRXYKIF9fWk43V2ViQ29yZTE1SlNQb3NpdGlvbkVycm9yRDJF
dgogX19aTjdXZWJDb3JlMTFHZW9sb2NhdGlvbjE1ZGlzY29ubmVjdEZyYW1lRXYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5w
cm8KaW5kZXggMDJmOGEyOTkxOTBjZWJkNmQ0NDU5NjhlMWE2Y2NkNmM4ZGI3N2M4Mi4uZDM1MWM1
MGI1OGUyMTNiMTUyMzQ1NmYyZjgxM2YxOGY5ZjJhYjMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTI1
MSw4ICsyNTEsNiBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTQ2xpcGJvYXJkQ3VzdG9t
LmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTQ29uc29sZUN1c3RvbS5jcHAgXAogICAgICAg
ICBiaW5kaW5ncy9qcy9KU0Nvb3JkaW5hdGVzQ3VzdG9tLmNwcCBcCi0gICAgICAgIGJpbmRpbmdz
L2pzL0pTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5jcHAgXAotICAgICAgICBiaW5kaW5ncy9qcy9K
U0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9K
U0N1c3RvbVZvaWRDYWxsYmFjay5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0N1c3RvbVhQ
YXRoTlNSZXNvbHZlci5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3Bw
IFwKQEAgLTEyMDEsOCArMTE5OSw2IEBAIEhFQURFUlMgKz0gXAogCiB2OCB7CiAgICAgSEVBREVS
UyArPSBcCi0gICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uQ2FsbGJh
Y2suaCBcCi0gICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uRXJyb3JD
YWxsYmFjay5oICBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVZvaWRDYWxs
YmFjay5oIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29s
dmVyLmggXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQXVkaW9FbGVtZW50Q29u
c3RydWN0b3IuaCBcCkBAIC0xMjc5LDggKzEyNzUsNiBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdz
L2pzL0pTQXVkaW9Db25zdHJ1Y3Rvci5oIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNDU1NTdHls
ZURlY2xhcmF0aW9uQ3VzdG9tLmggXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0
YS5oIFwKLSAgICAgICAgYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmggXAot
ICAgICAgICBiaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5oIFwKICAg
ICAgICAgYmluZGluZ3MvanMvSlNDdXN0b21Wb2lkQ2FsbGJhY2suaCBcCiAgICAgICAgIGJpbmRp
bmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmggXAogICAgICAgICBiaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmcuaCBcCkBAIC0zMTE1LDggKzMxMDksNiBAQCBjb250YWlucyhERUZJTkVTLCBF
TkFCTEVfUVRfQkVBUkVSPTEpIHsKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9HRU9MT0NBVElP
Tj0xKSB7CiAgICAgdjggewogICAgICAgICBTT1VSQ0VTICs9IFwKLSAgICAgICAgICAgIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwIFwKLSAgICAgICAgICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAgXAog
ICAgICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4R2VvbG9jYXRpb25DdXN0b20uY3BwCiAg
ICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpp
bmRleCA3NGM0NjhjMDY1MDZlNTg4ZDQzYzAxMGIzNGUxMTA1MTU3M2YxZmFhLi42MjkwNWI3Zjlh
ZmU3NTkxZWE0ODM0NjQxZjFlNDRmOGE3NjU5OTFiIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTI3NzQsNiArMTI3NzQsNjIgQEAKIAkJCQk+
CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1Bvc2l0aW9uQ2Fs
bGJhY2suY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVi
dWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJv
X0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVs
ZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTUG9zaXRpb25DYWxsYmFjay5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJ
CTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTUG9zaXRpb25FcnJvci5jcHAiCiAJCQkJPgog
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtMTI4MzAsNiArMTI4ODYsNjIgQEAKIAkJCQk+CiAJ
CQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVp
bGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1Bvc2l0aW9uRXJyb3JD
YWxsYmFjay5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJE
ZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFz
ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fp
cm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJS
ZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNQb3NpdGlvbkVycm9yQ2FsbGJhY2suaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1Byb2Nlc3NpbmdJbnN0cnVjdGlv
bi5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtNTc5NzMsMTE4ICs1ODA4
NSw2IEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxl
Ci0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNDdXN0b21Qb3NpdGlvbkNhbGxi
YWNrLmNwcCIKLQkJCQkJPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IkRl
YnVnfFdpbjMyIgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+Ci0JCQkJ
CQk8VG9vbAotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQkvPgotCQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9
IlJlbGVhc2V8V2luMzIiCi0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJCT4K
LQkJCQkJCTxUb29sCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCS8+Ci0J
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQkJ
TmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCi0JCQkJCQk+Ci0JCQkJCQk8VG9vbAotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCi0JCQkJCQkvPgotCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KLQkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+Ci0JCQkJCQk8VG9vbAotCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQkvPgotCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIK
LQkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQkJPgotCQkJCQkJPFRvb2wKLQkJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJLz4KLQkJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KLQkJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCQlOYW1lPSJQcm9kdWN0aW9u
fFdpbjMyIgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+Ci0JCQkJCQk8
VG9vbAotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQkvPgotCQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGJpbmRpbmdzXGpzXEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5oIgotCQkJCQk+Ci0J
CQkJPC9GaWxlPgotCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNc
SlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwIgotCQkJCQk+Ci0JCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgotCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCi0JCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKLQkJCQkJCT4KLQkJCQkJCTxUb29sCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKLQkJCQkJCS8+Ci0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgotCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKLQkJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQkJPgotCQkJCQkJPFRvb2wKLQkJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgotCQkJCQkJLz4KLQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIi
Ci0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJCT4KLQkJCQkJCTxUb29sCi0J
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCS8+Ci0JCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+Ci0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQkJTmFtZT0iUmVsZWFzZV9D
YWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJ
CT4KLQkJCQkJCTxUb29sCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCS8+
Ci0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJ
CQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
Ci0JCQkJCQk+Ci0JCQkJCQk8VG9vbAotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0J
CQkJCQkvPgotCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KLQkJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCi0JCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKLQkJCQkJCT4KLQkJCQkJCTxUb29sCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKLQkJCQkJCS8+Ci0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPC9GaWxlPgot
CQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNDdXN0b21Qb3Np
dGlvbkVycm9yQ2FsbGJhY2suaCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQogCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JD
YWxsYmFjay5jcHAiCiAJCQkJCT4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNmZkODY3
YWViMWFkYTAyNTg3OTMxNzRhNWQyNjczOTNkYjc3YjZmMy4uYmEyNmZhOGNhYjFjYTM3NjIyYTU3
OWQ1MTU5M2M3YmQ4ZTQxYzBkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQxNyw2ICsxNDE3LDEwIEBACiAJCTU5NjIyOTdB
MTEzM0VGRTIwMERDNENCQiAvKiBHZW9sb2NhdGlvblBvc2l0aW9uQ2FjaGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5NjIyOTc5MTEzM0VGRTIwMERD
NENCQiAvKiBHZW9sb2NhdGlvblBvc2l0aW9uQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1OTY5NTA4MjEzMjEwNTk5MDBDM0VEMTggLyog
Sm9iamVjdFdyYXBwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDU5Njk1MDgxMTMyMTA1OTkwMEMzRUQxOCAvKiBKb2JqZWN0V3JhcHBlci5oICovOyB9
OwogCQk1OTY5NTA4NDEzMjEwNUE1MDBDM0VEMTggLyogSm9iamVjdFdyYXBwZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTk2OTUwODMxMzIxMDVB
NTAwQzNFRDE4IC8qIEpvYmplY3RXcmFwcGVyLmNwcCAqLzsgfTsKKwkJNTk4MzY1REQxMzU1RjU1
NzAwMUIxODVEIC8qIEpTUG9zaXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTk4MzY1REMxMzU1RjUzQzAwMUIxODVEIC8qIEpTUG9z
aXRpb25DYWxsYmFjay5oICovOyB9OworCQk1OTgzNjVERjEzNTVGNTYyMDAxQjE4NUQgLyogSlNQ
b3NpdGlvbkVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU5ODM2NURFMTM1NUY1NjIwMDFCMTg1RCAvKiBKU1Bvc2l0aW9uRXJyb3JD
YWxsYmFjay5oICovOyB9OworCQk1OTgzNjVFNDEzNTVGNjA0MDAxQjE4NUQgLyogSlNQb3NpdGlv
bkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDU5ODM2NUUzMTM1NUY2MDQwMDFCMTg1RCAvKiBKU1Bvc2l0aW9uQ2FsbGJhY2suY3BwICov
OyB9OworCQk1OTgzNjVFNjEzNTVGNjBEMDAxQjE4NUQgLyogSlNQb3NpdGlvbkVycm9yQ2FsbGJh
Y2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTk4
MzY1RTUxMzU1RjYwRDAwMUIxODVEIC8qIEpTUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCAqLzsg
fTsKIAkJNTk4RDc3REQxMzI1NDFFRTAwNzYxQjIyIC8qIEphdmFBcnJheUpTQy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OThENzdEQzEzMjU0MUVF
MDA3NjFCMjIgLyogSmF2YUFycmF5SlNDLmNwcCAqLzsgfTsKIAkJNTk4RDc3REYxMzI1NDFGQTAw
NzYxQjIyIC8qIEphdmFBcnJheUpTQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTk4RDc3REUxMzI1NDFGQTAwNzYxQjIyIC8qIEphdmFBcnJheUpTQy5o
ICovOyB9OwogCQk1OThENzdFMTEzMjU0MjA0MDA3NjFCMjIgLyogSmF2YUZpZWxkSlNDLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5OEQ3N0UwMTMy
NTQyMDQwMDc2MUIyMiAvKiBKYXZhRmllbGRKU0MuY3BwICovOyB9OwpAQCAtNTk1NCwxMCArNTk1
OCw2IEBACiAJCUZFNkZENDhEMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNkZENDhCMEY2
NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCAqLzsgfTsKIAkJRkU2RkQ0OEUwRjY3
NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNkZENDhDMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3Jk
aW5hdGVzLmggKi87IH07CiAJCUZFNzAwREQxMEY5MkQ4MUEwMDhFMkJGRSAvKiBKU0Nvb3JkaW5h
dGVzQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEZFNzAwREQwMEY5MkQ4MUEwMDhFMkJGRSAvKiBKU0Nvb3JkaW5hdGVzQ3VzdG9tLmNwcCAq
LzsgfTsKLQkJRkU4MEQ3QTcwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25DYWxs
YmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
RTgwRDdBMjBFOUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcCAq
LzsgfTsKLQkJRkU4MEQ3QTgwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25DYWxs
YmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4
MEQ3QTMwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5oICovOyB9
OwotCQlGRTgwRDdBOTBFOUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2Fs
bGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RkU4MEQ3QTQwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNr
LmNwcCAqLzsgfTsKLQkJRkU4MEQ3QUEwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRp
b25FcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGRTgwRDdBNTBFOUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkVycm9y
Q2FsbGJhY2suaCAqLzsgfTsKIAkJRkU4MEQ3QUIwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTR2VvbG9j
YXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRkU4MEQ3QTYwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb25DdXN0b20uY3Bw
ICovOyB9OwogCQlGRTgwRDdDNTBFOUMxRjI1MDAwRDZGNzUgLyogR2VvbG9jYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4MEQ3QjcwRTlD
MUYyNTAwMEQ2Rjc1IC8qIEdlb2xvY2F0aW9uLmNwcCAqLzsgfTsKIAkJRkU4MEQ3QzYwRTlDMUYy
NTAwMEQ2Rjc1IC8qIEdlb2xvY2F0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGRTgwRDdCODBFOUMxRjI1MDAwRDZGNzUgLyogR2VvbG9jYXRpb24u
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzk3
MCw2ICs3OTcwLDggQEAKIAkJNTkwRTFCNEExMUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2aWNlT3Jp
ZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1OTMwOUExMDExRjRBRTU4MDAyNTA2MDMgLyogRGV2aWNlT3JpZW50YXRp
b25DbGllbnRNb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERl
dmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHA7IHBhdGggPSBtb2NrL0RldmljZU9yaWVudGF0
aW9uQ2xpZW50TW9jay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5MzA5QTEy
MTFGNEFFNkEwMDI1MDYwMyAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmg7
IHBhdGggPSBtb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1OTNBQjY5NzEzNTVDRDkyMDBGQzgyMTEgLyogUG9zaXRpb25DYWxs
YmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUG9zaXRpb25DYWxsYmFjay5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU5M0FCNjk5MTM1NUNEQUUwMEZDODIxMSAvKiBQ
b3NpdGlvbkVycm9yQ2FsbGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBvc2l0aW9u
RXJyb3JDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5M0QzRUFF
MTMyNTMyOEMwMDU3RTdFRSAvKiBKYXZhTWV0aG9kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEphdmFNZXRob2QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTkz
RDNFQjAxMzI1MzI5NTAwNTdFN0VFIC8qIEphdmFTdHJpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSmF2YVN0cmluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1OTU4RjFDQjEzNDM5MTdDMDA4MEIzMUYgLyogWE1MVmlld2VyLmNzcyAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQuY3NzOyBwYXRoID0gWE1MVmlld2VyLmNzczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTc5NzgsNiArNzk4MCwxMCBAQAogCQk1OTYyMjk3OTExMzNFRkUyMDBEQzRDQkIgLyogR2Vv
bG9jYXRpb25Qb3NpdGlvbkNhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEdlb2xvY2F0aW9uUG9zaXRpb25DYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1OTY5NTA4MTEzMjEwNTk5MDBDM0VEMTggLyogSm9iamVjdFdyYXBwZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSm9iamVjdFdyYXBwZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTk2OTUwODMxMzIxMDVBNTAwQzNFRDE4IC8qIEpvYmplY3RXcmFwcGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpvYmplY3RXcmFwcGVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTk4MzY1REMxMzU1RjUzQzAwMUIx
ODVEIC8qIEpTUG9zaXRpb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU1Bvc2l0aW9uQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NTk4MzY1REUxMzU1RjU2MjAwMUIxODVEIC8qIEpTUG9zaXRpb25FcnJvckNhbGxiYWNrLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUG9zaXRpb25FcnJvckNhbGxiYWNrLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU5ODM2NUUzMTM1NUY2MDQwMDFCMTg1RCAv
KiBKU1Bvc2l0aW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNQb3NpdGlvbkNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTk4MzY1RTUxMzU1RjYwRDAwMUIxODVEIC8qIEpTUG9zaXRpb25FcnJvckNhbGxiYWNrLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUG9zaXRpb25FcnJvckNh
bGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTk4RDc3REMxMzI1NDFF
RTAwNzYxQjIyIC8qIEphdmFBcnJheUpTQy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBKYXZhQXJyYXlKU0MuY3BwOyBwYXRoID0ganNjL0phdmFBcnJheUpTQy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5OEQ3N0RFMTMyNTQxRkEwMDc2MUIyMiAv
KiBKYXZhQXJyYXlKU0MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSmF2YUFy
cmF5SlNDLmg7IHBhdGggPSBqc2MvSmF2YUFycmF5SlNDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTU5OEQ3N0UwMTMyNTQyMDQwMDc2MUIyMiAvKiBKYXZhRmllbGRKU0MuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSmF2YUZpZWxkSlNDLmNwcDsgcGF0
aCA9IGpzYy9KYXZhRmllbGRKU0MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTI1MjEsMTAgKzEyNTI3LDYgQEAKIAkJRkU2RkQ0OEIwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29v
cmRpbmF0ZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDb29y
ZGluYXRlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFNkZENDhDMEY2NzZF
OTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTQ29vcmRpbmF0ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU3
MDBERDAwRjkyRDgxQTAwOEUyQkZFIC8qIEpTQ29vcmRpbmF0ZXNDdXN0b20uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDb29yZGluYXRlc0N1c3RvbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUZFODBEN0EyMEU5QzFFRDIwMDBENkY3NSAvKiBK
U0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJRkU4MEQ3QTMwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25D
YWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0N1c3RvbVBvc2l0
aW9uQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRkU4MEQ3QTQwRTlD
MUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxi
YWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRkU4MEQ3QTUwRTlDMUVEMjAw
MEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFODBEN0E2MEU5QzFFRDIwMDBENkY3NSAvKiBKU0dl
b2xvY2F0aW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTR2VvbG9jYXRpb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
RTgwRDdCNzBFOUMxRjI1MDAwRDZGNzUgLyogR2VvbG9jYXRpb24uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR2VvbG9jYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGRTgwRDdCODBFOUMxRjI1MDAwRDZGNzUgLyogR2VvbG9jYXRpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2VvbG9jYXRpb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MjE2LDYgKzE0MjE4LDggQEAKIAkJNjVCRjAyMTgwOTc0
ODA2MzAwQzQzMTk2IC8qIHBhZ2UgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKAorCQkJCTU5M0FCNjk5MTM1NUNEQUUwMEZDODIxMSAvKiBQb3NpdGlvbkVycm9yQ2Fs
bGJhY2suaWRsICovLAorCQkJCTU5M0FCNjk3MTM1NUNEOTIwMEZDODIxMSAvKiBQb3NpdGlvbkNh
bGxiYWNrLmlkbCAqLywKIAkJCQkzMTZGRTEwNjBFNkUxRDg0MDBCRjYwODggLyogYW5pbWF0aW9u
ICovLAogCQkJCTkzQzA5QTgyMEIwNjRGMDUwMDVBQkQ0RCAvKiBtYWMgKi8sCiAJCQkJODUzOEYw
MDAwQUQ3MTc3MDAwNkE4MUQxIC8qIEFic3RyYWN0Vmlldy5pZGwgKi8sCkBAIC0xNjkyNyw2ICsx
NjkzMSwxMCBAQAogCQlBODNCNzkxMDBDQ0IwMDFCMDAwQjA4MjUgLyogQ29yZSAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNTk4MzY1RTUxMzU1RjYwRDAw
MUIxODVEIC8qIEpTUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCAqLywKKwkJCQk1OTgzNjVFMzEz
NTVGNjA0MDAxQjE4NUQgLyogSlNQb3NpdGlvbkNhbGxiYWNrLmNwcCAqLywKKwkJCQk1OTgzNjVE
RTEzNTVGNTYyMDAxQjE4NUQgLyogSlNQb3NpdGlvbkVycm9yQ2FsbGJhY2suaCAqLywKKwkJCQk1
OTgzNjVEQzEzNTVGNTNDMDAxQjE4NUQgLyogSlNQb3NpdGlvbkNhbGxiYWNrLmggKi8sCiAJCQkJ
NjVERjMxRDgwOUQxQzEyMjAwMEJFMzI1IC8qIEpTQXR0ci5jcHAgKi8sCiAJCQkJNjVERjMxRDkw
OUQxQzEyMzAwMEJFMzI1IC8qIEpTQXR0ci5oICovLAogCQkJCTkzRjlCNzlFMEJBNjAzMjYwMDg1
NDA2NCAvKiBKU0NEQVRBU2VjdGlvbi5jcHAgKi8sCkBAIC0xODUxNCwxMCArMTg1MjIsNiBAQAog
CQkJY2hpbGRyZW4gPSAoCiAJCQkJMTQ0OUUyODYxMDdENERCNDAwQjU3OTNGIC8qIEpTQ2FsbGJh
Y2tEYXRhLmNwcCAqLywKIAkJCQkxNDQ5RTI0QTEwN0Q0QTg0MDBCNTc5M0YgLyogSlNDYWxsYmFj
a0RhdGEuaCAqLywKLQkJCQlGRTgwRDdBMjBFOUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3Np
dGlvbkNhbGxiYWNrLmNwcCAqLywKLQkJCQlGRTgwRDdBMzBFOUMxRUQyMDAwRDZGNzUgLyogSlND
dXN0b21Qb3NpdGlvbkNhbGxiYWNrLmggKi8sCi0JCQkJRkU4MEQ3QTQwRTlDMUVEMjAwMEQ2Rjc1
IC8qIEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCAqLywKLQkJCQlGRTgwRDdBNTBF
OUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaCAqLywKIAkJ
CQk1MUVDOTI1RDBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNh
bGxiYWNrLmNwcCAqLywKIAkJCQkxQTM0MTdDODBDRUNGRjI1MDA0OUNCREUgLyogSlNDdXN0b21W
b2lkQ2FsbGJhY2suY3BwICovLAogCQkJCTFBMzQxN0M3MENFQ0ZGMjUwMDQ5Q0JERSAvKiBKU0N1
c3RvbVZvaWRDYWxsYmFjay5oICovLApAQCAtMjE0MTAsOCArMjE0MTQsNiBAQAogCQkJCTE0Q0Y3
OEE2MDlGNThDRDgwMEVCMzY2NSAvKiBKU0NTU1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
OEQwNUZBQzBBMjNCMzBGMDA1RTcyMDMgLyogSlNDU1NWYWx1ZUxpc3QuaCBpbiBIZWFkZXJzICov
LAogCQkJCUU0Nzc4QjgwMTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmggaW4gSGVh
ZGVycyAqLywKLQkJCQlGRTgwRDdBODBFOUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlv
bkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKLQkJCQlGRTgwRDdBQTBFOUMxRUQyMDAwRDZGNzUg
LyogSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
MzQxN0M5MENFQ0ZGMjUwMDQ5Q0JERSAvKiBKU0N1c3RvbVZvaWRDYWxsYmFjay5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTEwQjkzN0MwQjczQzAwQTAwM0VEODkwIC8qIEpTQ3VzdG9tWFBhdGhOU1Jl
c29sdmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU4MkY5MDBDQUFGQTlEMDAyMjM3QUUgLyog
SlNEYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMjg4Nyw2ICsyMjg4OSw4IEBACiAJCQkJ
OTNGMTk5RUQwODI0NUU1OTAwMUU5QUJDIC8qIFhTTFRQcm9jZXNzb3IuaCBpbiBIZWFkZXJzICov
LAogCQkJCUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTk3N0UyRTBGMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NGaWx0ZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTU5ODM2NUREMTM1NUY1NTcwMDFCMTg1RCAvKiBKU1Bvc2l0aW9u
Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCTU5ODM2NURGMTM1NUY1NjIwMDFCMTg1RCAv
KiBKU1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNDIyNyw4ICsy
NDIzMSw2IEBACiAJCQkJQkMyMEZCN0YwQzBFOEU2QzAwRDE0NDdGIC8qIEpTQ1NTVmFsdWVDdXN0
b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThEMDVGQUIwQTIzQjMwRjAwNUU3MjAzIC8qIEpT
Q1NTVmFsdWVMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0Nzc4QjdGMTE1QTU4MUEwMEI1
RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUZFODBEN0E3MEU5
QzFFRDIwMDBENkY3NSAvKiBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJRkU4MEQ3QTkwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25FcnJv
ckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRUM5MjY1MENFOTBERDQwMEY5MDMw
OCAvKiBKU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUEzNDE3Q0EwQ0VDRkYyNTAwNDlDQkRFIC8qIEpTQ3VzdG9tVm9pZENhbGxiYWNrLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUUxMEI5M0MzMEI3M0MyOTEwMDNFRDg5MCAvKiBKU0N1c3Rv
bVhQYXRoTlNSZXNvbHZlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI1NTg0LDYgKzI1NTg2LDgg
QEAKIAkJCQk5M0YxOUIwNTA4MjQ1RTU5MDAxRTlBQkMgLyogWFNMVFByb2Nlc3NvckxpYnhzbHQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRV
bmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMz
NzkgLyogWFNTRmlsdGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTU5ODM2NUU0MTM1NUY2MDQw
MDFCMTg1RCAvKiBKU1Bvc2l0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTk4
MzY1RTYxMzU1RjYwRDAwMUIxODVEIC8qIEpTUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5k
aW5nc0FsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NB
bGxJbk9uZS5jcHAKaW5kZXggYTQ1N2NlOGRhYzQ0OGE2MDE0OGFlNTE0YTc3NGM3ZWNhMzYyZjkz
Yi4uZjZhMzQzZmE2NzU0MDA2OTA0YTljM2QwNThiZTI5ZjNjOWM0M2VkMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCkBAIC00OCw4
ICs0OCw2IEBACiAjaW5jbHVkZSAiSlNDbGlwYm9hcmRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpT
Q29uc29sZUN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNDb29yZGluYXRlc0N1c3RvbS5jcHAiCi0j
aW5jbHVkZSAiSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcCIKLSNpbmNsdWRlICJKU0N1c3Rv
bVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNDdXN0b21TUUxTdGF0ZW1l
bnRFcnJvckNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU0N1c3RvbVZvaWRDYWxsYmFjay5jcHAi
CiAjaW5jbHVkZSAiSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwIgpAQCAtMTc1LDQgKzE3Mywz
IEBACiAjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCIKICNpbmNsdWRlICJXb3Jr
ZXJTY3JpcHRDb250cm9sbGVyLmNwcCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHREZWJ1Z1NlcnZl
ci5jcHAiCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9t
UG9zaXRpb25DYWxsYmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3Rv
bVBvc2l0aW9uQ2FsbGJhY2suY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OTkw
NTIwMTQxOGNiOTZlZDA2MTFjYWQwMTAwMzFhYWM5MGFmYTU3Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
Q3VzdG9tUG9zaXRpb25DYWxsYmFjay5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQot
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRl
ICJjb25maWcuaCIKLSNpbmNsdWRlICJKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCIKLQotI2lm
IEVOQUJMRShHRU9MT0NBVElPTikKLQotI2luY2x1ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiSlNH
ZW9wb3NpdGlvbi5oIgotI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKLSNpbmNsdWRlIDxy
dW50aW1lL0pTTG9jay5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVzaW5nIG5hbWVzcGFj
ZSBKU0M7Ci0KLUpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjazo6SlNDdXN0b21Qb3NpdGlvbkNhbGxi
YWNrKEpTT2JqZWN0KiBjYWxsYmFjaywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
LSAgICA6IFBvc2l0aW9uQ2FsbGJhY2soZ2xvYmFsT2JqZWN0LT5zY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkpCi0gICAgLCBtX2RhdGEoY2FsbGJhY2ssIGdsb2JhbE9iamVjdCkKLXsKLX0KLQotdm9p
ZCBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KEdlb3Bvc2l0aW9uKiBnZW9w
b3NpdGlvbikKLXsKLSAgICAvLyBBY3RpdmVET01PYmplY3Qgd2lsbCBudWxsIG91ciBwb2ludGVy
IHRvIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0IHdoZW4gaXQgZ29lcyBhd2F5LgotICAgIGlm
ICghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBSZWZQ
dHI8SlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrPiBwcm90ZWN0KHRoaXMpOwotCi0gICAgSlNDOjpK
U0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIEV4ZWNTdGF0ZSogZXhlYyA9
IG1fZGF0YS5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpOwotICAgIE1hcmtlZEFyZ3VtZW50
QnVmZmVyIGFyZ3M7Ci0gICAgYXJncy5hcHBlbmQodG9KUyhleGVjLCBkZXByZWNhdGVkR2xvYmFs
T2JqZWN0Rm9yUHJvdG90eXBlKGV4ZWMpLCBnZW9wb3NpdGlvbikpOwotICAgIG1fZGF0YS5pbnZv
a2VDYWxsYmFjayhhcmdzKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYg
Ly8gRU5BQkxFKEdFT0xPQ0FUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYWQ1NTI4ZGMyMzVhY2NhMGNkMDA5OTg2NTRhMTllMmJkNDZkZmNiMC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaAorKysgL2Rldi9udWxsCkBAIC0xLDU1
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRz
IFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQot
I2lmbmRlZiBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2tfaAotI2RlZmluZSBKU0N1c3RvbVBvc2l0
aW9uQ2FsbGJhY2tfaAotCi0jaW5jbHVkZSAiSlNDYWxsYmFja0RhdGEuaCIKLSNpbmNsdWRlICJQ
b3NpdGlvbkNhbGxiYWNrLmgiCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1jbGFzcyBHZW9wb3NpdGlvbjsKLWNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0
OwotCi1jbGFzcyBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2sgOiBwdWJsaWMgUG9zaXRpb25DYWxs
YmFjayB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8SlNDdXN0b21Qb3NpdGlvbkNh
bGxiYWNrPiBjcmVhdGUoSlNDOjpKU09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEpTQ3Vz
dG9tUG9zaXRpb25DYWxsYmFjayhjYWxsYmFjaywgZ2xvYmFsT2JqZWN0KSk7Ci0gICAgfQotICAg
IAotcHJpdmF0ZToKLSAgICBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2soSlNDOjpKU09iamVjdCog
Y2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0Kik7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxl
RXZlbnQoR2VvcG9zaXRpb24qKTsKLSAgICAKLSAgICBKU0NhbGxiYWNrRGF0YSBtX2RhdGE7Ci19
OwotICAgIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gSlNDdXN0b21Qb3Np
dGlvbkNhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMTc3NzM4N2E3YWEyZTdlNmFkMWNhYmQ4NDRlMWQ4ZDJkZWFlYjgyOC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSw2NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIElu
Yy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0g
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJKU0N1c3RvbVBvc2l0
aW9uRXJyb3JDYWxsYmFjay5oIgotCi0jaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQotCi0jaW5jbHVk
ZSAiRnJhbWUuaCIKLSNpbmNsdWRlICJKU1Bvc2l0aW9uRXJyb3IuaCIKLSNpbmNsdWRlICJTY3Jp
cHRDb250cm9sbGVyLmgiCi0jaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotICAgIAotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQotSlNDdXN0b21Qb3NpdGlv
bkVycm9yQ2FsbGJhY2s6OkpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrKEpTT2JqZWN0KiBj
YWxsYmFjaywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLSAgICA6IFBvc2l0aW9u
RXJyb3JDYWxsYmFjayhnbG9iYWxPYmplY3QtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLSAg
ICAsIG1fZGF0YShjYWxsYmFjaywgZ2xvYmFsT2JqZWN0KQotewotfQotCi12b2lkIEpTQ3VzdG9t
UG9zaXRpb25FcnJvckNhbGxiYWNrOjpoYW5kbGVFdmVudChQb3NpdGlvbkVycm9yKiBwb3NpdGlv
bkVycm9yKQotewotICAgIC8vIEFjdGl2ZURPTU9iamVjdCB3aWxsIG51bGwgb3VyIHBvaW50ZXIg
dG8gdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgd2hlbiBpdCBnb2VzIGF3YXkuCi0gICAgaWYg
KCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIFJlZlB0
cjxKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjaz4gcHJvdGVjdCh0aGlzKTsKLQotICAgIEpT
Qzo6SlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKLSAgICBFeGVjU3RhdGUqIGV4
ZWMgPSBtX2RhdGEuZ2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKLSAgICBNYXJrZWRBcmd1
bWVudEJ1ZmZlciBhcmdzOwotICAgIGFyZ3MuYXBwZW5kKHRvSlMoZXhlYywgZGVwcmVjYXRlZEds
b2JhbE9iamVjdEZvclByb3RvdHlwZShleGVjKSwgcG9zaXRpb25FcnJvcikpOwotICAgIAotICAg
IG1fZGF0YS5pbnZva2VDYWxsYmFjayhhcmdzKTsKLX0KLSAgICAKLX0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShHRU9MT0NBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OTMyOGNhOWViNGFkZDQ5ZmE5YmE3MTE5
ZmY0OGM5NmYyOGNhNTcwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25FcnJvckNh
bGxiYWNrLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpZm5kZWYgSlNDdXN0b21Qb3NpdGlvbkVy
cm9yQ2FsbGJhY2tfaAotI2RlZmluZSBKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFja19oCi0K
LSNpbmNsdWRlICJKU0NhbGxiYWNrRGF0YS5oIgotI2luY2x1ZGUgIlBvc2l0aW9uRXJyb3JDYWxs
YmFjay5oIgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LSAgICAKLWNsYXNzIFBvc2l0aW9uRXJyb3I7Ci0KLWNsYXNzIEpTQ3VzdG9tUG9zaXRpb25FcnJv
ckNhbGxiYWNrIDogcHVibGljIFBvc2l0aW9uRXJyb3JDYWxsYmFjayB7Ci1wdWJsaWM6Ci0gICAg
c3RhdGljIFBhc3NSZWZQdHI8SlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2s+IGNyZWF0ZShK
U0M6OkpTT2JqZWN0KiBjYWxsYmFjaywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkK
LSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgSlNDdXN0b21Qb3NpdGlvbkVycm9y
Q2FsbGJhY2soY2FsbGJhY2ssIGdsb2JhbE9iamVjdCkpOwotICAgIH0KLSAgICAKLXByaXZhdGU6
Ci0gICAgSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2soSlNDOjpKU09iamVjdCogY2FsbGJh
Y2ssIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpOwotICAgIHZpcnR1YWwgdm9pZCBo
YW5kbGVFdmVudChQb3NpdGlvbkVycm9yKik7Ci0gICAgCi0gICAgSlNDYWxsYmFja0RhdGEgbV9k
YXRhOwotfTsKLSAgICAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEpTQ3Vz
dG9tUG9zaXRpb25FcnJvckNhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTR2VvbG9jYXRpb25DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNHZW9sb2NhdGlvbkN1c3RvbS5jcHAKaW5kZXggYjkzYzRjZWM0ZmM0NDc4MGVhNWU3
MjMzZDQ5MWVhYzIxMjdlMDllNi4uN2UxMWQ1YjY0NWJlNjZlYjVkYzA4YmY2MDk0ZGNhYjMyMDQ0
MGJiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNHZW9sb2NhdGlv
bkN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNHZW9sb2NhdGlv
bkN1c3RvbS5jcHAKQEAgLTMxLDkgKzMxLDkgQEAKICNpbmNsdWRlICJDYWxsYmFja0Z1bmN0aW9u
LmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIKLSNp
bmNsdWRlICJKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCIKLSNpbmNsdWRlICJKU0N1c3RvbVBv
c2l0aW9uRXJyb3JDYWxsYmFjay5oIgogI2luY2x1ZGUgIkpTRE9NV2luZG93LmgiCisjaW5jbHVk
ZSAiSlNQb3NpdGlvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSAiSlNQb3NpdGlvbkVycm9yQ2FsbGJh
Y2suaCIKICNpbmNsdWRlICJQb3NpdGlvbk9wdGlvbnMuaCIKIAogI2lmICFFTkFCTEUoQ0xJRU5U
X0JBU0VEX0dFT0xPQ0FUSU9OKQpAQCAtMTEzLDEyICsxMTMsMTIgQEAgSlNWYWx1ZSBKU0dlb2xv
Y2F0aW9uOjpnZXRDdXJyZW50UG9zaXRpb24oRXhlY1N0YXRlKiBleGVjKQogewogICAgIC8vIEFy
Z3VtZW50czogUG9zaXRpb25DYWxsYmFjaywgKG9wdGlvbmFsKVBvc2l0aW9uRXJyb3JDYWxsYmFj
aywgKG9wdGlvbmFsKVBvc2l0aW9uT3B0aW9ucwogCi0gICAgUmVmUHRyPFBvc2l0aW9uQ2FsbGJh
Y2s+IHBvc2l0aW9uQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxKU0N1c3Rv
bVBvc2l0aW9uQ2FsbGJhY2s+KGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4o
ZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMCkpOworICAgIFJl
ZlB0cjxQb3NpdGlvbkNhbGxiYWNrPiBwb3NpdGlvbkNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25P
bmx5Q2FsbGJhY2s8SlNQb3NpdGlvbkNhbGxiYWNrPihleGVjLCBzdGF0aWNfY2FzdDxKU0RPTUds
b2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4ZWMtPmFyZ3VtZW50
KDApKTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBqc1Vu
ZGVmaW5lZCgpOwogICAgIEFTU0VSVChwb3NpdGlvbkNhbGxiYWNrKTsKIAotICAgIFJlZlB0cjxQ
b3NpdGlvbkVycm9yQ2FsbGJhY2s+IHBvc2l0aW9uRXJyb3JDYWxsYmFjayA9IGNyZWF0ZUZ1bmN0
aW9uT25seUNhbGxiYWNrPEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrPihleGVjLCBzdGF0
aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSks
IGV4ZWMtPmFyZ3VtZW50KDEpLCBDYWxsYmFja0FsbG93VW5kZWZpbmVkIHwgQ2FsbGJhY2tBbGxv
d051bGwpOworICAgIFJlZlB0cjxQb3NpdGlvbkVycm9yQ2FsbGJhY2s+IHBvc2l0aW9uRXJyb3JD
YWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPEpTUG9zaXRpb25FcnJvckNhbGxi
YWNrPihleGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxH
bG9iYWxPYmplY3QoKSksIGV4ZWMtPmFyZ3VtZW50KDEpLCBDYWxsYmFja0FsbG93VW5kZWZpbmVk
IHwgQ2FsbGJhY2tBbGxvd051bGwpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAg
ICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAKQEAgLTEzNSwxMiArMTM1LDEyIEBAIEpTVmFs
dWUgSlNHZW9sb2NhdGlvbjo6d2F0Y2hQb3NpdGlvbihFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAg
Ly8gQXJndW1lbnRzOiBQb3NpdGlvbkNhbGxiYWNrLCAob3B0aW9uYWwpUG9zaXRpb25FcnJvckNh
bGxiYWNrLCAob3B0aW9uYWwpUG9zaXRpb25PcHRpb25zCiAKLSAgICBSZWZQdHI8UG9zaXRpb25D
YWxsYmFjaz4gcG9zaXRpb25DYWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPEpT
Q3VzdG9tUG9zaXRpb25DYWxsYmFjaz4oZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmpl
Y3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBleGVjLT5hcmd1bWVudCgwKSk7Cisg
ICAgUmVmUHRyPFBvc2l0aW9uQ2FsbGJhY2s+IHBvc2l0aW9uQ2FsbGJhY2sgPSBjcmVhdGVGdW5j
dGlvbk9ubHlDYWxsYmFjazxKU1Bvc2l0aW9uQ2FsbGJhY2s+KGV4ZWMsIHN0YXRpY19jYXN0PEpT
RE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJn
dW1lbnQoMCkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJu
IGpzVW5kZWZpbmVkKCk7CiAgICAgQVNTRVJUKHBvc2l0aW9uQ2FsbGJhY2spOwogCi0gICAgUmVm
UHRyPFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4gcG9zaXRpb25FcnJvckNhbGxiYWNrID0gY3JlYXRl
RnVuY3Rpb25Pbmx5Q2FsbGJhY2s8SlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2s+KGV4ZWMs
IHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpKSwgZXhlYy0+YXJndW1lbnQoMSksIENhbGxiYWNrQWxsb3dVbmRlZmluZWQgfCBDYWxsYmFj
a0FsbG93TnVsbCk7CisgICAgUmVmUHRyPFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4gcG9zaXRpb25F
cnJvckNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8SlNQb3NpdGlvbkVycm9y
Q2FsbGJhY2s+KGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMSksIENhbGxiYWNrQWxsb3dVbmRl
ZmluZWQgfCBDYWxsYmFja0FsbG93TnVsbCk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigp
KQogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25DYWxsYmFjay5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNr
LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTdkMGRkZTVmOWUzODk1NWVmZWQ0
ZWZiZjE4Yzc4YjA0ODdiOTg3MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3Np
dGlvbkNhbGxiYWNrLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDgyICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgMjAwOSwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJWOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCIK
LQotI2lmIEVOQUJMRShHRU9MT0NBVElPTikKLQotI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaCIKLSNpbmNsdWRlICJWOEN1c3RvbVZvaWRDYWxsYmFjay5oIiAgLy8gRm9yIGludm9r
ZUNhbGxiYWNrCi0jaW5jbHVkZSAiVjhHZW9wb3NpdGlvbi5oIgotI2luY2x1ZGUgIlY4UHJveHku
aCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1WOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2s6OlY4
Q3VzdG9tUG9zaXRpb25DYWxsYmFjayh2ODo6TG9jYWw8djg6Ok9iamVjdD4gY2FsbGJhY2ssIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCi0gICAgOiBQb3NpdGlvbkNhbGxiYWNrKGNv
bnRleHQpCi0gICAgLCBtX2NhbGxiYWNrKHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+OjpOZXco
Y2FsbGJhY2spKQotewotfQotCi1WOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2s6On5WOEN1c3RvbVBv
c2l0aW9uQ2FsbGJhY2soKQotewotICAgIG1fY2FsbGJhY2suRGlzcG9zZSgpOwotfQotCi12b2lk
IFY4Q3VzdG9tUG9zaXRpb25DYWxsYmFjazo6aGFuZGxlRXZlbnQoR2VvcG9zaXRpb24qIHBvc2l0
aW9uKQotewotICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKLQotICAgIC8vIEFjdGl2
ZURPTU9iamVjdCB3aWxsIG51bGwgb3VyIHBvaW50ZXIgdG8gdGhlIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQgd2hlbiBpdCBnb2VzIGF3YXkuCi0gICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2Ny
aXB0Q29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAgICBpZiAoIXNjcmlwdENv
bnRleHQpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIFRoZSBsb29rdXAgb2YgdGhlIHByb3h5
IHdpbGwgZmFpbCBpZiB0aGUgRnJhbWUgaGFzIGJlZW4gZGV0YWNoZWQuCi0gICAgVjhQcm94eSog
cHJveHkgPSBWOFByb3h5OjpyZXRyaWV2ZShzY3JpcHRDb250ZXh0KTsKLSAgICBpZiAoIXByb3h5
KQotICAgICAgICByZXR1cm47Ci0KLSAgICB2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0
ID0gcHJveHktPmNvbnRleHQoKTsKLSAgICBpZiAoY29udGV4dC5Jc0VtcHR5KCkpCi0gICAgICAg
IHJldHVybjsKLQotICAgIHY4OjpDb250ZXh0OjpTY29wZSBzY29wZShjb250ZXh0KTsKLQotICAg
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmd2W10gPSB7Ci0gICAgICAgIHRvVjgocG9zaXRpb24p
Ci0gICAgfTsKLQotICAgIC8vIFByb3RlY3QgdGhlIHNjcmlwdCBjb250ZXh0IHVudGlsIHRoZSBj
YWxsYmFjayByZXR1cm5zLgotICAgIFJlZlB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBwcm90
ZWN0b3Ioc2NyaXB0Q29udGV4dCk7Ci0KLSAgICBib29sIGNhbGxiYWNrUmV0dXJuVmFsdWUgPSBm
YWxzZTsKLSAgICBpbnZva2VDYWxsYmFjayhtX2NhbGxiYWNrLCAxLCBhcmd2LCBjYWxsYmFja1Jl
dHVyblZhbHVlLCBzY3JpcHRDb250ZXh0KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQot
Ci0jZW5kaWYgLy8gRU5BQkxFKEdFT0xPQ0FUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25DYWxsYmFjay5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25DYWxsYmFjay5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MWRiOTIyMzYzYWJhOTQ4NjBjOWY2YWUzNDM1
ZjEzNjhlNGEyZGU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uQ2Fs
bGJhY2suaAorKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
MjAwOSwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgVjhD
dXN0b21Qb3NpdGlvbkNhbGxiYWNrX2gKLSNkZWZpbmUgVjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNr
X2gKLQotI2luY2x1ZGUgIlBvc2l0aW9uQ2FsbGJhY2suaCIKLQotI2luY2x1ZGUgPHY4Lmg+Ci0j
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgRnJhbWU7Ci1jbGFzcyBHZW9wb3NpdGlvbjsKLWNs
YXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7Ci0KLWNsYXNzIFY4Q3VzdG9tUG9zaXRpb25DYWxs
YmFjayA6IHB1YmxpYyBQb3NpdGlvbkNhbGxiYWNrIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxWOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2s+IGNyZWF0ZSh2ODo6TG9jYWw8djg6OlZh
bHVlPiB2YWx1ZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKLSAgICB7Ci0gICAg
ICAgIEFTU0VSVCh2YWx1ZS0+SXNPYmplY3QoKSk7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgVjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrKHZhbHVlLT5Ub09iamVjdCgpLCBjb250ZXh0KSk7
Ci0gICAgfQotICAgIHZpcnR1YWwgflY4Q3VzdG9tUG9zaXRpb25DYWxsYmFjaygpOwotCi0gICAg
dmlydHVhbCB2b2lkIGhhbmRsZUV2ZW50KEdlb3Bvc2l0aW9uKik7Ci0KLXByaXZhdGU6Ci0gICAg
VjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrKHY4OjpMb2NhbDx2ODo6T2JqZWN0PiwgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCopOwotCi0gICAgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4gbV9jYWxs
YmFjazsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIFY4Q3VzdG9t
UG9zaXRpb25DYWxsYmFja19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTA2YTkwOTc3YjYwNWRjZDQ3NjgwNDU4ZWNj
Mzc4ZmNkMzFkNWRiNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkVy
cm9yQ2FsbGJhY2suY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODIgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAyMDA5LCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
Ci0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lu
Y2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlY4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNr
LmgiCi0KLSNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCi0KLSNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCi0jaW5jbHVkZSAiVjhDdXN0b21Wb2lkQ2FsbGJhY2suaCIgIC8vIEZvciBp
bnZva2VDYWxsYmFjawotI2luY2x1ZGUgIlY4UG9zaXRpb25FcnJvci5oIgotI2luY2x1ZGUgIlY4
UHJveHkuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1WOEN1c3RvbVBvc2l0aW9uRXJyb3JD
YWxsYmFjazo6VjhDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2sodjg6OkxvY2FsPHY4OjpPYmpl
Y3Q+IGNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQotICAgIDogUG9z
aXRpb25FcnJvckNhbGxiYWNrKGNvbnRleHQpCi0gICAgLCBtX2NhbGxiYWNrKHY4OjpQZXJzaXN0
ZW50PHY4OjpPYmplY3Q+OjpOZXcoY2FsbGJhY2spKQotewotfQotCi1WOEN1c3RvbVBvc2l0aW9u
RXJyb3JDYWxsYmFjazo6flY4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrKCkKLXsKLSAgICBt
X2NhbGxiYWNrLkRpc3Bvc2UoKTsKLX0KLQotdm9pZCBWOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxs
YmFjazo6aGFuZGxlRXZlbnQoUG9zaXRpb25FcnJvciogZXJyb3IpCi17Ci0gICAgdjg6OkhhbmRs
ZVNjb3BlIGhhbmRsZVNjb3BlOwotCi0gICAgLy8gQWN0aXZlRE9NT2JqZWN0IHdpbGwgbnVsbCBv
dXIgcG9pbnRlciB0byB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCB3aGVuIGl0IGdvZXMgYXdh
eS4KLSAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRDb250ZXh0ID0gc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOwotICAgIGlmICghc2NyaXB0Q29udGV4dCkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgLy8gVGhlIGxvb2t1cCBvZiB0aGUgcHJveHkgd2lsbCBmYWlsIGlmIHRoZSBGcmFt
ZSBoYXMgYmVlbiBkZXRhY2hlZC4KLSAgICBWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6OnJldHJp
ZXZlKHNjcmlwdENvbnRleHQpOwotICAgIGlmICghcHJveHkpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQgPSBwcm94eS0+Y29udGV4dCgpOwot
ICAgIGlmIChjb250ZXh0LklzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdjg6OkNv
bnRleHQ6OlNjb3BlIHNjb3BlKGNvbnRleHQpOwotCi0gICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IGFyZ3ZbXSA9IHsKLSAgICAgICAgdG9WOChlcnJvcikKLSAgICB9OwotCi0gICAgLy8gUHJvdGVj
dCB0aGUgc2NyaXB0IGNvbnRleHQgdW50aWwgdGhlIGNhbGxiYWNrIHJldHVybnMuCi0gICAgUmVm
UHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+IHByb3RlY3RvcihzY3JpcHRDb250ZXh0KTsKLQot
ICAgIGJvb2wgY2FsbGJhY2tSZXR1cm5WYWx1ZSA9IGZhbHNlOwotICAgIGludm9rZUNhbGxiYWNr
KG1fY2FsbGJhY2ssIDEsIGFyZ3YsIGNhbGxiYWNrUmV0dXJuVmFsdWUsIHNjcmlwdENvbnRleHQp
OwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoR0VPTE9D
QVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhD
dXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1MjExYjYwNjNmNTk2ZDc0NmQxOGU0N2JmMmVjN2M2Y2M0ZGRhZTIxLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5oCisr
KyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAyMDA5LCBUaGUg
QW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCi0gKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
LSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBWOEN1c3RvbVBvc2l0
aW9uRXJyb3JDYWxsYmFja19oCi0jZGVmaW5lIFY4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNr
X2gKLQotI2luY2x1ZGUgIlBvc2l0aW9uRXJyb3JDYWxsYmFjay5oIgotCi0jaW5jbHVkZSA8djgu
aD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBGcmFtZTsKLWNsYXNzIFBvc2l0aW9uRXJy
b3I7Ci1jbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwotCi1jbGFzcyBWOEN1c3RvbVBvc2l0
aW9uRXJyb3JDYWxsYmFjayA6IHB1YmxpYyBQb3NpdGlvbkVycm9yQ2FsbGJhY2sgewotcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFY4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrPiBj
cmVhdGUodjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQpCi0gICAgewotICAgICAgICBBU1NFUlQodmFsdWUtPklzT2JqZWN0KCkpOwotICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFY4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrKHZh
bHVlLT5Ub09iamVjdCgpLCBjb250ZXh0KSk7Ci0gICAgfQotICAgIHZpcnR1YWwgflY4Q3VzdG9t
UG9zaXRpb25FcnJvckNhbGxiYWNrKCk7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQo
UG9zaXRpb25FcnJvciopOwotCi1wcml2YXRlOgotICAgIFY4Q3VzdG9tUG9zaXRpb25FcnJvckNh
bGxiYWNrKHY4OjpMb2NhbDx2ODo6T2JqZWN0PiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwot
Ci0gICAgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4gbV9jYWxsYmFjazsKLX07Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIFY4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxi
YWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEdl
b2xvY2F0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEdlb2xvY2F0aW9uQ3VzdG9tLmNwcAppbmRleCA5MTM4OWQ4MmE5ZmY5N2MxNTM1NjcyMTE4OTdh
MTQzYThlOTRmNGIxLi44MjdjYzNkNjUzZTA2NmFiMDhlNTQ3YzViMDZlMmFlMTRkNzg3NWY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhHZW9sb2NhdGlv
bkN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4R2Vv
bG9jYXRpb25DdXN0b20uY3BwCkBAIC0zMSw4ICszMSw4IEBACiAjaW5jbHVkZSAiRnJhbWUuaCIK
ICNpbmNsdWRlICJHZW9sb2NhdGlvbi5oIgogI2luY2x1ZGUgIlY4QmluZGluZy5oIgotI2luY2x1
ZGUgIlY4Q3VzdG9tUG9zaXRpb25DYWxsYmFjay5oIgotI2luY2x1ZGUgIlY4Q3VzdG9tUG9zaXRp
b25FcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiVjhQb3NpdGlvbkNhbGxiYWNrLmgiCisjaW5j
bHVkZSAiVjhQb3NpdGlvbkVycm9yQ2FsbGJhY2suaCIKICNpbmNsdWRlICJWOFV0aWxpdGllcy5o
IgogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpAQCAtMTMzLDEzICsxMzMsMTMgQEAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4R2VvbG9jYXRpb246OmdldEN1cnJlbnRQb3NpdGlvbkNhbGxiYWNrKGNv
bnN0IHY4OjpBcmd1bWUKIAogICAgIGJvb2wgc3VjY2VlZGVkID0gZmFsc2U7CiAKLSAgICBSZWZQ
dHI8UG9zaXRpb25DYWxsYmFjaz4gcG9zaXRpb25DYWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25s
eUNhbGxiYWNrPFY4Q3VzdG9tUG9zaXRpb25DYWxsYmFjaz4oYXJnc1swXSwgc3VjY2VlZGVkKTsK
KyAgICBSZWZQdHI8UG9zaXRpb25DYWxsYmFjaz4gcG9zaXRpb25DYWxsYmFjayA9IGNyZWF0ZUZ1
bmN0aW9uT25seUNhbGxiYWNrPFY4UG9zaXRpb25DYWxsYmFjaz4oYXJnc1swXSwgc3VjY2VlZGVk
KTsKICAgICBpZiAoIXN1Y2NlZWRlZCkKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsK
ICAgICBBU1NFUlQocG9zaXRpb25DYWxsYmFjayk7CiAKICAgICAvLyBBcmd1bWVudCBpcyBvcHRp
b25hbCAoaGVuY2UgdW5kZWZpbmVkIGlzIGFsbG93ZWQpLCBhbmQgbnVsbCBpcyBhbGxvd2VkLgot
ICAgIFJlZlB0cjxQb3NpdGlvbkVycm9yQ2FsbGJhY2s+IHBvc2l0aW9uRXJyb3JDYWxsYmFjayA9
IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPFY4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNr
PihhcmdzWzFdLCBzdWNjZWVkZWQsIENhbGxiYWNrQWxsb3dVbmRlZmluZWQgfCBDYWxsYmFja0Fs
bG93TnVsbCk7CisgICAgUmVmUHRyPFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4gcG9zaXRpb25FcnJv
ckNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8VjhQb3NpdGlvbkVycm9yQ2Fs
bGJhY2s+KGFyZ3NbMV0sIHN1Y2NlZWRlZCwgQ2FsbGJhY2tBbGxvd1VuZGVmaW5lZCB8IENhbGxi
YWNrQWxsb3dOdWxsKTsKICAgICBpZiAoIXN1Y2NlZWRlZCkKICAgICAgICAgcmV0dXJuIHY4OjpV
bmRlZmluZWQoKTsKIApAQCAtMTU5LDEzICsxNTksMTMgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFY4R2VvbG9jYXRpb246OndhdGNoUG9zaXRpb25DYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRz
JgogCiAgICAgYm9vbCBzdWNjZWVkZWQgPSBmYWxzZTsKIAotICAgIFJlZlB0cjxQb3NpdGlvbkNh
bGxiYWNrPiBwb3NpdGlvbkNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8VjhD
dXN0b21Qb3NpdGlvbkNhbGxiYWNrPihhcmdzWzBdLCBzdWNjZWVkZWQpOworICAgIFJlZlB0cjxQ
b3NpdGlvbkNhbGxiYWNrPiBwb3NpdGlvbkNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2Fs
bGJhY2s8VjhQb3NpdGlvbkNhbGxiYWNrPihhcmdzWzBdLCBzdWNjZWVkZWQpOwogICAgIGlmICgh
c3VjY2VlZGVkKQogICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogICAgIEFTU0VSVChw
b3NpdGlvbkNhbGxiYWNrKTsKIAogICAgIC8vIEFyZ3VtZW50IGlzIG9wdGlvbmFsIChoZW5jZSB1
bmRlZmluZWQgaXMgYWxsb3dlZCksIGFuZCBudWxsIGlzIGFsbG93ZWQuCi0gICAgUmVmUHRyPFBv
c2l0aW9uRXJyb3JDYWxsYmFjaz4gcG9zaXRpb25FcnJvckNhbGxiYWNrID0gY3JlYXRlRnVuY3Rp
b25Pbmx5Q2FsbGJhY2s8VjhDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2s+KGFyZ3NbMV0sIHN1
Y2NlZWRlZCwgQ2FsbGJhY2tBbGxvd1VuZGVmaW5lZCB8IENhbGxiYWNrQWxsb3dOdWxsKTsKKyAg
ICBSZWZQdHI8UG9zaXRpb25FcnJvckNhbGxiYWNrPiBwb3NpdGlvbkVycm9yQ2FsbGJhY2sgPSBj
cmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxWOFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4oYXJnc1sx
XSwgc3VjY2VlZGVkLCBDYWxsYmFja0FsbG93VW5kZWZpbmVkIHwgQ2FsbGJhY2tBbGxvd051bGwp
OwogICAgIGlmICghc3VjY2VlZGVkKQogICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9uQ2FsbGJhY2suaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUG9zaXRpb25DYWxsYmFjay5oCmluZGV4IDU1MTFkM2UwZTE4MjEz
MTIxYjdkZTM0ODI2YjFhYWRmNmVlY2MxZjUuLjA5ZDdlYjY5MjE4Njc2MDA5NGFkZGRjYjg3MTk4
MzE2YTI0ZTNiMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9zaXRpb25DYWxs
YmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9zaXRpb25DYWxsYmFjay5oCkBAIC0y
NiwyMCArMjYsMTggQEAKICNpZm5kZWYgUG9zaXRpb25DYWxsYmFja19oCiAjZGVmaW5lIFBvc2l0
aW9uQ2FsbGJhY2tfaAogCi0jaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAorCiAgICAgY2xh
c3MgR2VvcG9zaXRpb247Ci0gICAgCi0gICAgY2xhc3MgUG9zaXRpb25DYWxsYmFjayA6IHB1Ymxp
YyBSZWZDb3VudGVkPFBvc2l0aW9uQ2FsbGJhY2s+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsK
KworICAgIGNsYXNzIFBvc2l0aW9uQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxQb3NpdGlv
bkNhbGxiYWNrPiB7CiAgICAgcHVibGljOgotICAgICAgICBQb3NpdGlvbkNhbGxiYWNrKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRo
aXMpIHsgfQogICAgICAgICB2aXJ0dWFsIH5Qb3NpdGlvbkNhbGxiYWNrKCkgeyB9Ci0gICAgICAg
IHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChHZW9wb3NpdGlvbiopID0gMDsKKyAgICAgICAgdmly
dHVhbCBib29sIGhhbmRsZUV2ZW50KEdlb3Bvc2l0aW9uKikgPSAwOwogICAgIH07Ci0gICAgCisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFBvc2l0aW9uQ2FsbGJhY2tfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3NpdGlvbkNhbGxiYWNrLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUG9zaXRpb25DYWxsYmFjay5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQxMGM0
MzM3YmQ5MTY1NGE2MmNkN2M1YjBlMzljY2Q1ZjNiNDc4NgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUG9zaXRpb25DYWxsYmFjay5pZGwKQEAgLTAsMCArMSwzMiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwor
ICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworbW9kdWxlIGNvcmUgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENv
bmRpdGlvbmFsPUdFT0xPQ0FUSU9OLAorICAgICAgICBDYWxsYmFjaz1GdW5jdGlvbk9ubHkKKyAg
ICBdIFBvc2l0aW9uQ2FsbGJhY2sgeworICAgICAgICBib29sZWFuIGhhbmRsZUV2ZW50KGluIEdl
b3Bvc2l0aW9uIHBvc2l0aW9uKTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9z
aXRpb25FcnJvckNhbGxiYWNrLmgKaW5kZXggYTY1ZTM1MDUxOTc5NzEwYzQzMDIyMDVhN2Q3ZWQ0
ZTMzYzhlN2I1Yi4uZDE1Mjc4NWMxMDU1N2U1MjcwYzc2NDRjMGVkOGFjZDA3OWM5YzJiYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5oCkBAIC0yNiwyMCAr
MjYsMTggQEAKICNpZm5kZWYgUG9zaXRpb25FcnJvckNhbGxiYWNrX2gKICNkZWZpbmUgUG9zaXRp
b25FcnJvckNhbGxiYWNrX2gKIAotI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNz
IFBvc2l0aW9uRXJyb3I7CiAKLSAgICBjbGFzcyBQb3NpdGlvbkVycm9yQ2FsbGJhY2sgOiBwdWJs
aWMgUmVmQ291bnRlZDxQb3NpdGlvbkVycm9yQ2FsbGJhY2s+LCBwdWJsaWMgQWN0aXZlRE9NT2Jq
ZWN0IHsKKyAgICBjbGFzcyBQb3NpdGlvbkVycm9yQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRl
ZDxQb3NpdGlvbkVycm9yQ2FsbGJhY2s+IHsKICAgICBwdWJsaWM6Ci0gICAgICAgIFBvc2l0aW9u
RXJyb3JDYWxsYmFjayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KSA6IEFjdGl2ZURP
TU9iamVjdChjb250ZXh0LCB0aGlzKSB7IH0KICAgICAgICAgdmlydHVhbCB+UG9zaXRpb25FcnJv
ckNhbGxiYWNrKCkgeyB9Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChQb3NpdGlv
bkVycm9yKikgPSAwOworICAgICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoUG9zaXRpb25F
cnJvciopID0gMDsKICAgICB9OwotICAgIAorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNl
bmRpZiAvLyBQb3NpdGlvbkVycm9yQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
b3NpdGlvbkVycm9yQ2FsbGJhY2suaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyMDk5Zjk0Zjg4NzU0YTgyNjI4
YTczNTk1NzZlMzFiNDcwZTEzNjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
CisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworbW9kdWxlIGNvcmUgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFs
PUdFT0xPQ0FUSU9OLAorICAgICAgICBDYWxsYmFjaz1GdW5jdGlvbk9ubHkKKyAgICBdIFBvc2l0
aW9uRXJyb3JDYWxsYmFjayB7CisgICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gUG9zaXRp
b25FcnJvciBlcnJvcik7CisgICAgfTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94505</attachid>
            <date>2011-05-23 15:36:57 -0700</date>
            <delta_ts>2011-05-24 02:38:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40065-20110523233655.patch</filename>
            <type>text/plain</type>
            <size>53289</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODcxMDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNTIxNTI1
MTU4NGQyOTdiNmQ5NTllYTA5YTFlYzBiNjhlZjRmNGIxZi4uMzI3NjRmNGRmMDRiNTlkMDRhZjFj
MTEwMjljN2Q0MDk2NjdmZDM1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTMzMSw3ICszMzEs
OSBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBwYWdlL1BlcmZvcm1hbmNlLmlkbAogICAg
IHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1p
bmcuaWRsCisgICAgcGFnZS9Qb3NpdGlvbkNhbGxiYWNrLmlkbAogICAgIHBhZ2UvUG9zaXRpb25F
cnJvci5pZGwKKyAgICBwYWdlL1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5pZGwKICAgICBwYWdlL1Nj
cmVlbi5pZGwKICAgICBwYWdlL1NwZWVjaElucHV0RXZlbnQuaWRsCiAgICAgcGFnZS9TcGVlY2hJ
bnB1dFJlc3VsdC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjNGFlNjcwOTEzMWM1MjYwZmY3NmY4MzYyZDNl
Njc1NjMxM2FlMGJkLi5hN2FmNjIzYzRkNmIxNWEwZGQ5ZWMwYjMwYTQ1Nzc4NWM1NTVmZTgxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMDUtMjMgIFN0ZXZlIEJsb2NrICA8c3Rl
dmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgor
CisgICAgICAgIEdlb2xvY2F0aW9uIGNhbGxiYWNrcyBzaG91bGQgbWFrZSB1c2Ugb2YgbmV3IGNh
bGxiYWNrIGdlbmVyYXRpb24gbWVjaGFuaXNtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MDA2NQorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmVmYWN0
b3Jpbmcgb25seS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIENvZGVH
ZW5lcmF0b3JzLnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAq
IFVzZUpTQy5jbWFrZToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29y
ZS5vcmRlcjoKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5j
cHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkNhbGxi
YWNrLmg6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkVy
cm9yQ2FsbGJhY2suY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ3VzdG9t
UG9zaXRpb25FcnJvckNhbGxiYWNrLmg6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvanMv
SlNHZW9sb2NhdGlvbkN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0dlb2xvY2F0aW9u
OjpnZXRDdXJyZW50UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SlNHZW9sb2NhdGlvbjo6
d2F0Y2hQb3NpdGlvbik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9z
aXRpb25DYWxsYmFjay5jcHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q3VzdG9tUG9zaXRpb25DYWxsYmFjay5oOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHA6IFJlbW92ZWQuCisg
ICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNr
Lmg6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4R2VvbG9jYXRpb25D
dXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhHZW9sb2NhdGlvbjo6Z2V0Q3VycmVudFBv
c2l0aW9uQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhHZW9sb2NhdGlvbjo6d2F0Y2hQ
b3NpdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKiBwYWdlL1Bvc2l0aW9uQ2FsbGJhY2suaDoKKyAg
ICAgICAgKiBwYWdlL1Bvc2l0aW9uQ2FsbGJhY2suaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdl
L1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5oOgorICAgICAgICAqIHBhZ2UvUG9zaXRpb25FcnJvckNh
bGxiYWNrLmlkbDogQWRkZWQuCisKIDIwMTEtMDUtMjAgIEplcmVteSBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9D
b2RlR2VuZXJhdG9ycy5wcmkKaW5kZXggYzkzYjI0NzU0MGZjYjA3Yjk5MDE4YWYzNjM1ODQ1MjZl
ZDdmYTFiZS4uMGVmZGFhMDcyZmJjOWFlOTg2MWJjZDBiMjVhZGExZGIyNGRlZGZjMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NvZGVHZW5lcmF0b3JzLnByaQpAQCAtMzMxLDcgKzMzMSw5IEBAIElETF9CSU5ESU5HUyAr
PSBcCiAgICAgcGFnZS9QZXJmb3JtYW5jZS5pZGwgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZp
Z2F0aW9uLmlkbCBcCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwgXAorICAgIHBhZ2Uv
UG9zaXRpb25DYWxsYmFjay5pZGwgXAogICAgIHBhZ2UvUG9zaXRpb25FcnJvci5pZGwgXAorICAg
IHBhZ2UvUG9zaXRpb25FcnJvckNhbGxiYWNrLmlkbCBcCiAgICAgcGFnZS9TY3JlZW4uaWRsIFwK
ICAgICBwYWdlL1NwZWVjaElucHV0RXZlbnQuaWRsIFwKICAgICBwYWdlL1NwZWVjaElucHV0UmVz
dWx0LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA1ZGY2M2RkNDM5MDIx
YmRkMWViZjcwNGUxNDBhODYwNDJjOGRjNDNhLi5mNmQwODVhZmRiZTY5MTc2Y2NkYWY5Yjg1Yjg0
OTY5YTExZDY0YzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQwNSw4ICs0
MDUsMTIgQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUGVyZm9ybWFuY2VUaW1pbmcuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bv
cFN0YXRlRXZlbnQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUG9wU3RhdGVFdmVu
dC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUG9zaXRpb25DYWxsYmFjay5jcHAgXAor
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3NpdGlvbkNhbGxiYWNrLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNQb3NpdGlvbkVycm9yLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1Bvc2l0aW9uRXJyb3IuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bvc2l0
aW9uRXJyb3JDYWxsYmFjay5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3NpdGlv
bkVycm9yQ2FsbGJhY2suaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Byb2Nlc3NpbmdJ
bnN0cnVjdGlvbi5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQcm9jZXNzaW5nSW5z
dHJ1Y3Rpb24uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Byb2dyZXNzRXZlbnQuY3Bw
IFwKQEAgLTY1MywxMCArNjU3LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0NsaXBib2FyZEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQ29uc29sZUN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQ29vcmRpbmF0ZXNDdXN0b20uY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCBcCi0JU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwIFwKLQlTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2su
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVZvaWRDYWxsYmFjay5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tVm9pZENhbGxiYWNrLmgg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlIGIvU291cmNlL1dlYkNv
cmUvVXNlSlNDLmNtYWtlCmluZGV4IGNkZGJkNWYyNmU2N2ZjYzkxMTYyMGFhYWU2NTM4MDc4NzA1
YWI0OGMuLjViY2EzNmYwMzZhZDRkODBhZWFmZTNhZDY5NjEwNzk4ZGExMjExMzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VK
U0MuY21ha2UKQEAgLTMxLDggKzMxLDYgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgYmluZGluZ3MvanMvSlNDbGlwYm9hcmRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlND
b25zb2xlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTQ29vcmRpbmF0ZXNDdXN0b20uY3Bw
Ci0gICAgYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcAotICAgIGJpbmRp
bmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcAogICAgIGJpbmRpbmdzL2pz
L0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAKICAgICBiaW5kaW5ncy9qcy9K
U0N1c3RvbVZvaWRDYWxsYmFjay5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNS
ZXNvbHZlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBlNGZhYjY0ZGUxYTQ5ZDk2YjdmMDlhNWVk
MzA1N2MzNWYwNDBjN2ExLi4wOWMwMTNmNTVjMmNkNTBlMTlkNmUyYjI0MTJkYzM2NTAwNGYxMTU2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xMzQ0LDcgKzEzNDQsOSBAQAogICAgICAgICAgICAgJ3Bh
Z2UvUGVyZm9ybWFuY2UuaWRsJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlTmF2aWdh
dGlvbi5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsJywKKyAg
ICAgICAgICAgICdwYWdlL1Bvc2l0aW9uQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdwYWdl
L1Bvc2l0aW9uRXJyb3IuaWRsJywKKyAgICAgICAgICAgICdwYWdlL1Bvc2l0aW9uRXJyb3JDYWxs
YmFjay5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvU2NyZWVuLmlkbCcsCiAgICAgICAgICAgICAn
cGFnZS9TcGVlY2hJbnB1dEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9TcGVlY2hJbnB1
dFJlc3VsdC5pZGwnLApAQCAtMTczMiwxMCArMTczNCw2IEBACiAgICAgICAgICAgICAnYmluZGlu
Z3MvanMvSlNDb25zb2xlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlND
b252b2x2ZXJOb2RlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNDb29y
ZGluYXRlc0N1c3RvbS5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9z
aXRpb25DYWxsYmFjay5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9z
aXRpb25DYWxsYmFjay5oJywKLSAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0
aW9uRXJyb3JDYWxsYmFjay5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTQ3VzdG9t
UG9zaXRpb25FcnJvckNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTQ3Vz
dG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L2pzL0pTQ3VzdG9tVm9pZENhbGxiYWNrLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMv
SlNDdXN0b21Wb2lkQ2FsbGJhY2suaCcsCkBAIC0yMDc1LDEwICsyMDczLDYgQEAKICAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDbGlwYm9hcmRDdXN0b20uY3BwJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDb25zb2xlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q29vcmRpbmF0ZXNDdXN0b20uY3BwJywKLSAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcCcsCi0g
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25DYWxsYmFjay5o
JywKLSAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkVycm9y
Q2FsbGJhY2suY3BwJywKLSAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Q
b3NpdGlvbkVycm9yQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVZvaWRDYWxsYmFjay5jcHAnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVZvaWRDYWxsYmFjay5oJywKQEAgLTc0MDAsOCAr
NzM5NCwxMiBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNQZXJmb3JtYW5jZVRpbWluZy5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUG9wU3RhdGVFdmVudC5jcHAnLAogICAgICAgICAg
ICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3BTdGF0ZUV2ZW50
LmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNQb3NpdGlvbkNhbGxiYWNrLmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bvc2l0aW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bvc2l0aW9uRXJyb3IuY3Bw
JywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UG9zaXRpb25FcnJvci5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCcsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bvc2l0aW9uRXJyb3JDYWxs
YmFjay5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNU
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHJv
Z3Jlc3NFdmVudC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRl
ciBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKaW5kZXggYWYxYTJhYmIyNTM4YTBhZGI4
YmMyNzMzNjE1YTI4MTliZjg5NGNkZi4uNTVlMzlhMTFmNDI4OTU2MGQzMGQ0ODQ2OTczMzFlNTJm
OGFjMjIwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCkBAIC0xMjc2NCwxMSArMTI3NjQsMTEgQEAgX19a
TjdXZWJDb3JlNDhqc0dlb2xvY2F0aW9uUHJvdG90eXBlRnVuY3Rpb25HZXRDdXJyZW50UG9zaXRp
b25FUE4zSlNDOUV4ZWNTdGF0ZUUKIF9fWk5LN1dlYkNvcmUxM0pTR2VvbG9jYXRpb245Y2xhc3NJ
bmZvRXYKIF9fWk43V2ViQ29yZTEzSlNHZW9sb2NhdGlvbjE4Z2V0Q3VycmVudFBvc2l0aW9uRVBO
M0pTQzlFeGVjU3RhdGVFUktOUzFfN0FyZ0xpc3RFCiBfX1pON1dlYkNvcmVMMjJjcmVhdGVQb3Np
dGlvbkNhbGxiYWNrRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFTlMw
XzdKU1ZhbHVlRQotX19aTjdXZWJDb3JlMjRKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2tDMUVQTjNK
U0M4SlNPYmplY3RFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFCi1fX1pON1dlYkNvcmUyNEpTQ3Vz
dG9tUG9zaXRpb25DYWxsYmFja0MyRVBOM0pTQzhKU09iamVjdEVQTlNfMTdKU0RPTUdsb2JhbE9i
amVjdEUKK19fWk43V2ViQ29yZTI0SlNQb3NpdGlvbkNhbGxiYWNrQzFFUE4zSlNDOEpTT2JqZWN0
RVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RQorX19aTjdXZWJDb3JlMjRKU1Bvc2l0aW9uQ2FsbGJh
Y2tDMkVQTjNKU0M4SlNPYmplY3RFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFCiBfX1pON1dlYkNv
cmVMMjdjcmVhdGVQb3NpdGlvbkVycm9yQ2FsbGJhY2tFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdK
U0RPTUdsb2JhbE9iamVjdEVOUzBfN0pTVmFsdWVFCi1fX1pON1dlYkNvcmUyOUpTQ3VzdG9tUG9z
aXRpb25FcnJvckNhbGxiYWNrQzFFUE4zSlNDOEpTT2JqZWN0RVBOU18xN0pTRE9NR2xvYmFsT2Jq
ZWN0RQotX19aTjdXZWJDb3JlMjlKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFja0MyRVBOM0pT
QzhKU09iamVjdEVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEUKK19fWk43V2ViQ29yZTI5SlNQb3Np
dGlvbkVycm9yQ2FsbGJhY2tDMUVQTjNKU0M4SlNPYmplY3RFUE5TXzE3SlNET01HbG9iYWxPYmpl
Y3RFCitfX1pON1dlYkNvcmUyOUpTUG9zaXRpb25FcnJvckNhbGxiYWNrQzJFUE4zSlNDOEpTT2Jq
ZWN0RVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RQogX19aTjdXZWJDb3JlTDIxY3JlYXRlUG9zaXRp
b25PcHRpb25zRVBOM0pTQzlFeGVjU3RhdGVFTlMwXzdKU1ZhbHVlRQogX19aTjdXZWJDb3JlMTFH
ZW9sb2NhdGlvbjE4Z2V0Q3VycmVudFBvc2l0aW9uRU4zV1RGMTBQYXNzUmVmUHRySU5TXzE2UG9z
aXRpb25DYWxsYmFja0VFRU5TMl9JTlNfMjFQb3NpdGlvbkVycm9yQ2FsbGJhY2tFRUVOUzJfSQog
X19aTjdXZWJDb3JlMTFHZW9sb2NhdGlvbjEyc3RhcnRSZXF1ZXN0RU4zV1RGMTBQYXNzUmVmUHRy
SU5TXzE2UG9zaXRpb25DYWxsYmFja0VFRU5TMl9JTlNfMjFQb3NpdGlvbkVycm9yQ2FsbGJhY2tF
RUVOUzJfSU5TXzE1UApAQCAtMTI3ODcsNyArMTI3ODcsNyBAQCBfX1pON1dlYkNvcmUxMUdlb2xv
Y2F0aW9uMTJzZXRJc0FsbG93ZWRFYgogX19aTjdXZWJDb3JlMTFHZW9sb2NhdGlvbjExR2VvTm90
aWZpZXIxM3NldEZhdGFsRXJyb3JFTjNXVEYxMFBhc3NSZWZQdHJJTlNfMTNQb3NpdGlvbkVycm9y
RUVFCiBfX1pON1dlYkNvcmU1VGltZXJJTlNfMTFHZW9sb2NhdGlvbjExR2VvTm90aWZpZXJFRTVm
aXJlZEV2CiBfX1pON1dlYkNvcmUxMUdlb2xvY2F0aW9uMTFHZW9Ob3RpZmllcjEwdGltZXJGaXJl
ZEVQTlNfNVRpbWVySVMxX0VFCi1fX1pON1dlYkNvcmUyOUpTQ3VzdG9tUG9zaXRpb25FcnJvckNh
bGxiYWNrMTFoYW5kbGVFdmVudEVQTlNfMTNQb3NpdGlvbkVycm9yRQorX19aTjdXZWJDb3JlMjlK
U1Bvc2l0aW9uRXJyb3JDYWxsYmFjazExaGFuZGxlRXZlbnRFUE5TXzEzUG9zaXRpb25FcnJvckUK
IF9fWk43V2ViQ29yZTR0b0pTRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmpl
Y3RFUE5TXzEzUG9zaXRpb25FcnJvckUKIF9fWk43V2ViQ29yZTE1SlNQb3NpdGlvbkVycm9yMTVj
cmVhdGVQcm90b3R5cGVFUE4zSlNDOUV4ZWNTdGF0ZUVQTlMxXzE0SlNHbG9iYWxPYmplY3RFCiBf
X1pON1dlYkNvcmUxNUpTUG9zaXRpb25FcnJvckMxRU4zV1RGMTdOb25OdWxsUGFzc1JlZlB0cklO
M0pTQzlTdHJ1Y3R1cmVFRUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVOUzFfMTBQYXNzUmVmUHRy
SU5TXzEzUG9zaXRpCkBAIC0xMjc5Nyw4ICsxMjc5Nyw4IEBAIF9fWk43V2ViQ29yZTExR2VvbG9j
YXRpb24xOGZhdGFsRXJyb3JPY2N1cnJlZEVQTlMwXzExR2VvTm90aWZpZXJFCiBfX1pON1dlYkNv
cmUxMUdlb2xvY2F0aW9uOFdhdGNoZXJzNnJlbW92ZUVQTlMwXzExR2VvTm90aWZpZXJFCiBfX1pO
SzdXZWJDb3JlMTFHZW9sb2NhdGlvbjhXYXRjaGVyczdpc0VtcHR5RXYKIF9fWk43V2ViQ29yZTEx
R2VvbG9jYXRpb24xMnN0b3BVcGRhdGluZ0V2Ci1fX1pON1dlYkNvcmUyOUpTQ3VzdG9tUG9zaXRp
b25FcnJvckNhbGxiYWNrRDBFdgotX19aTjdXZWJDb3JlMjRKU0N1c3RvbVBvc2l0aW9uQ2FsbGJh
Y2tEMEV2CitfX1pON1dlYkNvcmUyOUpTUG9zaXRpb25FcnJvckNhbGxiYWNrRDBFdgorX19aTjdX
ZWJDb3JlMjRKU1Bvc2l0aW9uQ2FsbGJhY2tEMEV2CiBfX1pON1dlYkNvcmUxNUpTUG9zaXRpb25F
cnJvckQxRXYKIF9fWk43V2ViQ29yZTE1SlNQb3NpdGlvbkVycm9yRDJFdgogX19aTjdXZWJDb3Jl
MTFHZW9sb2NhdGlvbjE1ZGlzY29ubmVjdEZyYW1lRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMmM1MjYx
OGViNDJiMDhhNDlkNzg4OTkyNTViMzgzY2Y1NWM3NzU5OS4uNWI0Zjk3OWQ0ZTgyYmQ0NTNhN2Zm
NDM5ODBmZmUxYjQ3ZDllNTQ3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5w
cm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTI1MSw4ICsyNTEsNiBAQCB2
OCB7CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTQ2xpcGJvYXJkQ3VzdG9tLmNwcCBcCiAgICAgICAg
IGJpbmRpbmdzL2pzL0pTQ29uc29sZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9K
U0Nvb3JkaW5hdGVzQ3VzdG9tLmNwcCBcCi0gICAgICAgIGJpbmRpbmdzL2pzL0pTQ3VzdG9tUG9z
aXRpb25DYWxsYmFjay5jcHAgXAotICAgICAgICBiaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9u
RXJyb3JDYWxsYmFjay5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0N1c3RvbVZvaWRDYWxs
YmFjay5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5j
cHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwIFwKQEAgLTEyMTIsOCAr
MTIxMCw2IEBAIEhFQURFUlMgKz0gXAogCiB2OCB7CiAgICAgSEVBREVSUyArPSBcCi0gICAgICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCBcCi0gICAgICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5oICBcCiAg
ICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVZvaWRDYWxsYmFjay5oIFwKICAgICAg
ICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmggXAogICAgICAg
ICBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQXVkaW9FbGVtZW50Q29uc3RydWN0b3IuaCBcCkBA
IC0xMjkxLDggKzEyODcsNiBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTQXVkaW9Db25z
dHJ1Y3Rvci5oIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNDU1NTdHlsZURlY2xhcmF0aW9uQ3Vz
dG9tLmggXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5oIFwKLSAgICAgICAg
YmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmggXAotICAgICAgICBiaW5kaW5n
cy9qcy9KU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5oIFwKICAgICAgICAgYmluZGluZ3Mv
anMvSlNDdXN0b21Wb2lkQ2FsbGJhY2suaCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTQ3VzdG9t
WFBhdGhOU1Jlc29sdmVyLmggXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBc
CkBAIC0zMTAyLDggKzMwOTYsNiBAQCBjb250YWlucyhERUZJTkVTLCBXVEZfVVNFX1FUX0JFQVJF
Uj0xKSB7CiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfR0VPTE9DQVRJT049MSkgewogICAgIHY4
IHsKICAgICAgICAgU09VUkNFUyArPSBcCi0gICAgICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcCBcCi0gICAgICAgICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwIFwKICAgICAgICAgICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOEdlb2xvY2F0aW9uQ3VzdG9tLmNwcAogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNWQzMzk3MzVm
OWU2NDUzOWQxMGMyMzUzYzM0NWViOGNlOTA5OGMwMi4uZDg4NzJkZGU4ODk4MmYzMDQ5OWYyNzRk
NDFkNWE0YWFhOGIxNDNmNiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKQEAgLTEyMzI2LDYgKzEyMzI2LDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgog
CQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNQb3NpdGlvbkNhbGxiYWNrLmNwcCIKKwkJ
CQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZM
aXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19B
bGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rp
b258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U1Bvc2l0aW9uQ2FsbGJhY2suaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJl
bGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU1Bvc2l0aW9uRXJyb3IuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KQEAgLTEyMzgyLDYgKzEyNDM4LDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNQb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwIgor
CQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19D
RkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJ
CTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVn
X0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVj
dGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTUG9zaXRpb25FcnJvckNhbGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
IAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwIgogCQkJCT4K
IAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTU3NzkzLDExOCArNTc5MDUsNiBAQAogCQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQotCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5jcHAiCi0JCQkJ
CT4KLQkJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKLQkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQkJPgotCQkJCQkJPFRvb2wKLQkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJLz4KLQkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KLQkJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMy
IgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+Ci0JCQkJCQk8VG9vbAot
CQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQkvPgotCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IkRlYnVnX0Nh
aXJvX0NGTGl0ZXxXaW4zMiIKLQkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQkJ
PgotCQkJCQkJPFRvb2wKLQkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJLz4K
LQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJ
CQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKLQkJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgotCQkJCQkJPgotCQkJCQkJPFRvb2wKLQkJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgotCQkJCQkJLz4KLQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQkJPEZpbGVD
b25maWd1cmF0aW9uCi0JCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCi0JCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJCT4KLQkJCQkJCTxUb29sCi0JCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKLQkJCQkJCS8+Ci0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKLQkJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQkJPgotCQkJCQkJPFRvb2wKLQkJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJLz4KLQkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5n
c1xqc1xKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJ
CQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTQ3VzdG9tUG9zaXRp
b25FcnJvckNhbGxiYWNrLmNwcCIKLQkJCQkJPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJ
CQkJCU5hbWU9IkRlYnVnfFdpbjMyIgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0J
CQkJCQk+Ci0JCQkJCQk8VG9vbAotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJ
CQkvPgotCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
LQkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCi0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKLQkJCQkJCT4KLQkJCQkJCTxUb29sCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
LQkJCQkJCS8+Ci0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgotCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+Ci0JCQkJCQk8VG9vbAotCQkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCi0JCQkJCQkvPgotCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdp
bjMyIgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+Ci0JCQkJCQk8VG9v
bAotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQkvPgotCQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IkRlYnVn
X0FsbHxXaW4zMiIKLQkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQkJPgotCQkJ
CQkJPFRvb2wKLQkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJLz4KLQkJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCQlOYW1l
PSJQcm9kdWN0aW9ufFdpbjMyIgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJ
CQk+Ci0JCQkJCQk8VG9vbAotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQkv
PgotCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQotCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxi
YWNrLmgiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxiaW5kaW5nc1xqc1xKU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwIgog
CQkJCQk+CiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKaW5kZXggZDE5MTlhMjkyNDRmZDc1M2U0
NGE5YjA5NWUzZTRmYzMwNWUxY2Q2Yi4uYzNjMmQ0MzgwYjg1ZjVkOGI1ZDAyZWRhM2Y1Yzk5YzEx
ZTJiYzJjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5n
c0FsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdz
QWxsSW5PbmUuY3BwCkBAIC00OCw4ICs0OCw2IEBACiAjaW5jbHVkZSAiSlNDbGlwYm9hcmRDdXN0
b20uY3BwIgogI2luY2x1ZGUgIkpTQ29uc29sZUN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNDb29y
ZGluYXRlc0N1c3RvbS5jcHAiCi0jaW5jbHVkZSAiSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNw
cCIKLSNpbmNsdWRlICJKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAiCiAjaW5jbHVk
ZSAiSlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU0N1
c3RvbVZvaWRDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIu
Y3BwIgpAQCAtMTc1LDQgKzE3MywzIEBACiAjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcCIKICNpbmNsdWRlICJX
b3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5jcHAiCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA4YzgzMjQyOTZhYzkxZjVlNTc0ZGM3YmRkZTg3YmNiZmE5Zjk3YTUx
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSw2MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIElu
Yy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0g
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJKU0N1c3RvbVBvc2l0
aW9uQ2FsbGJhY2suaCIKLQotI2lmIEVOQUJMRShHRU9MT0NBVElPTikKLQotI2luY2x1ZGUgIkZy
YW1lLmgiCi0jaW5jbHVkZSAiSlNHZW9wb3NpdGlvbi5oIgotI2luY2x1ZGUgPHJ1bnRpbWUvSlNM
b2NrLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQot
SlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrOjpKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2soSlNPYmpl
Y3QqIGNhbGxiYWNrLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQotICAgIDogUG9z
aXRpb25DYWxsYmFjayhnbG9iYWxPYmplY3QtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLSAg
ICAsIG1fZGF0YShjYWxsYmFjaywgZ2xvYmFsT2JqZWN0KQotewotfQotCi12b2lkIEpTQ3VzdG9t
UG9zaXRpb25DYWxsYmFjazo6aGFuZGxlRXZlbnQoR2VvcG9zaXRpb24qIGdlb3Bvc2l0aW9uKQot
ewotICAgIC8vIEFjdGl2ZURPTU9iamVjdCB3aWxsIG51bGwgb3VyIHBvaW50ZXIgdG8gdGhlIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQgd2hlbiBpdCBnb2VzIGF3YXkuCi0gICAgaWYgKCFzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIFJlZlB0cjxKU0N1c3Rv
bVBvc2l0aW9uQ2FsbGJhY2s+IHByb3RlY3QodGhpcyk7Ci0KLSAgICBKU0M6OkpTTG9jayBsb2Nr
KFNpbGVuY2VBc3NlcnRpb25zT25seSk7Ci0gICAgRXhlY1N0YXRlKiBleGVjID0gbV9kYXRhLmds
b2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7Ci0gICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJn
czsKLSAgICBhcmdzLmFwcGVuZCh0b0pTKGV4ZWMsIGRlcHJlY2F0ZWRHbG9iYWxPYmplY3RGb3JQ
cm90b3R5cGUoZXhlYyksIGdlb3Bvc2l0aW9uKSk7Ci0gICAgbV9kYXRhLmludm9rZUNhbGxiYWNr
KGFyZ3MpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUo
R0VPTE9DQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1
c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3Vz
dG9tUG9zaXRpb25DYWxsYmFjay5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDU1
MjhkYzIzNWFjY2EwY2QwMDk5ODY1NGExOWUyYmQ0NmRmY2IwLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
Q3VzdG9tUG9zaXRpb25DYWxsYmFjay5oCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaWZuZGVmIEpT
Q3VzdG9tUG9zaXRpb25DYWxsYmFja19oCi0jZGVmaW5lIEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFj
a19oCi0KLSNpbmNsdWRlICJKU0NhbGxiYWNrRGF0YS5oIgotI2luY2x1ZGUgIlBvc2l0aW9uQ2Fs
bGJhY2suaCIKLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWNsYXNzIEdlb3Bvc2l0aW9uOwotY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7Ci0KLWNsYXNz
IEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjayA6IHB1YmxpYyBQb3NpdGlvbkNhbGxiYWNrIHsKLXB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2s+IGNy
ZWF0ZShKU0M6OkpTT2JqZWN0KiBjYWxsYmFjaywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgSlNDdXN0b21Qb3NpdGlv
bkNhbGxiYWNrKGNhbGxiYWNrLCBnbG9iYWxPYmplY3QpKTsKLSAgICB9Ci0gICAgCi1wcml2YXRl
OgotICAgIEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjayhKU0M6OkpTT2JqZWN0KiBjYWxsYmFjaywg
SlNET01HbG9iYWxPYmplY3QqKTsKLQotICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChHZW9w
b3NpdGlvbiopOwotICAgIAotICAgIEpTQ2FsbGJhY2tEYXRhIG1fZGF0YTsKLX07Ci0gICAgCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJh
Y2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21Qb3Np
dGlvbkVycm9yQ2FsbGJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0
b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA1NzExNjg4MmMxMDlhZmUzNmFmMTA4MDY1ZDUxZmZiNmE1ZDM5ZjUxLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcAorKysgL2Rldi9udWxsCkBAIC0x
LDYzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmln
aHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8K
LQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTQ3VzdG9tUG9zaXRpb25FcnJvckNh
bGxiYWNrLmgiCi0KLSNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCi0KLSNpbmNsdWRlICJGcmFtZS5o
IgotI2luY2x1ZGUgIkpTUG9zaXRpb25FcnJvci5oIgotI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2Nr
Lmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0K
LUpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrOjpKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxs
YmFjayhKU09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
Ci0gICAgOiBQb3NpdGlvbkVycm9yQ2FsbGJhY2soZ2xvYmFsT2JqZWN0LT5zY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkpCi0gICAgLCBtX2RhdGEoY2FsbGJhY2ssIGdsb2JhbE9iamVjdCkKLXsKLX0K
LQotdm9pZCBKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjazo6aGFuZGxlRXZlbnQoUG9zaXRp
b25FcnJvciogcG9zaXRpb25FcnJvcikKLXsKLSAgICAvLyBBY3RpdmVET01PYmplY3Qgd2lsbCBu
dWxsIG91ciBwb2ludGVyIHRvIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0IHdoZW4gaXQgZ29l
cyBhd2F5LgotICAgIGlmICghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBSZWZQdHI8SlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2s+IHByb3RlY3Qo
dGhpcyk7Ci0KLSAgICBKU0M6OkpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7Ci0g
ICAgRXhlY1N0YXRlKiBleGVjID0gbV9kYXRhLmdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7
Ci0gICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKLSAgICBhcmdzLmFwcGVuZCh0b0pTKGV4
ZWMsIGRlcHJlY2F0ZWRHbG9iYWxPYmplY3RGb3JQcm90b3R5cGUoZXhlYyksIHBvc2l0aW9uRXJy
b3IpKTsKLSAgICAKLSAgICBtX2RhdGEuaW52b2tlQ2FsbGJhY2soYXJncyk7Ci19Ci0gICAgCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoR0VPTE9DQVRJT04pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uRXJy
b3JDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlv
bkVycm9yQ2FsbGJhY2suaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTkzMjhjYTll
YjRhZGQ0OWZhOWJhNzExOWZmNDhjOTZmMjhjYTU3MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3Rv
bVBvc2l0aW9uRXJyb3JDYWxsYmFjay5oCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaWZuZGVmIEpT
Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrX2gKLSNkZWZpbmUgSlNDdXN0b21Qb3NpdGlvbkVy
cm9yQ2FsbGJhY2tfaAotCi0jaW5jbHVkZSAiSlNDYWxsYmFja0RhdGEuaCIKLSNpbmNsdWRlICJQ
b3NpdGlvbkVycm9yQ2FsbGJhY2suaCIKLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0gICAgCi1jbGFzcyBQb3NpdGlvbkVycm9yOwotCi1jbGFzcyBKU0N1
c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjayA6IHB1YmxpYyBQb3NpdGlvbkVycm9yQ2FsbGJhY2sg
ewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEpTQ3VzdG9tUG9zaXRpb25FcnJvckNh
bGxiYWNrPiBjcmVhdGUoSlNDOjpKU09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEpTQ3Vz
dG9tUG9zaXRpb25FcnJvckNhbGxiYWNrKGNhbGxiYWNrLCBnbG9iYWxPYmplY3QpKTsKLSAgICB9
Ci0gICAgCi1wcml2YXRlOgotICAgIEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrKEpTQzo6
SlNPYmplY3QqIGNhbGxiYWNrLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KTsKLSAg
ICB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQoUG9zaXRpb25FcnJvciopOwotICAgIAotICAgIEpT
Q2FsbGJhY2tEYXRhIG1fZGF0YTsKLX07Ci0gICAgCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZiAvLyBKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFja19oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0dlb2xvY2F0aW9uQ3VzdG9tLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTR2VvbG9jYXRpb25DdXN0b20uY3BwCmluZGV4IGI5M2M0
Y2VjNGZjNDQ3ODBlYTVlNzIzM2Q0OTFlYWMyMTI3ZTA5ZTYuLjdlMTFkNWI2NDViZTY2ZWI1ZGMw
OGJmNjA5NGRjYWIzMjA0NDBiYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTR2VvbG9jYXRpb25DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTR2VvbG9jYXRpb25DdXN0b20uY3BwCkBAIC0zMSw5ICszMSw5IEBACiAjaW5jbHVkZSAi
Q2FsbGJhY2tGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkdl
b2xvY2F0aW9uLmgiCi0jaW5jbHVkZSAiSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmgiCi0jaW5j
bHVkZSAiSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaCIKICNpbmNsdWRlICJKU0RPTVdp
bmRvdy5oIgorI2luY2x1ZGUgIkpTUG9zaXRpb25DYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTUG9z
aXRpb25FcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiUG9zaXRpb25PcHRpb25zLmgiCiAKICNp
ZiAhRU5BQkxFKENMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikKQEAgLTExMywxMiArMTEzLDEyIEBA
IEpTVmFsdWUgSlNHZW9sb2NhdGlvbjo6Z2V0Q3VycmVudFBvc2l0aW9uKEV4ZWNTdGF0ZSogZXhl
YykKIHsKICAgICAvLyBBcmd1bWVudHM6IFBvc2l0aW9uQ2FsbGJhY2ssIChvcHRpb25hbClQb3Np
dGlvbkVycm9yQ2FsbGJhY2ssIChvcHRpb25hbClQb3NpdGlvbk9wdGlvbnMKIAotICAgIFJlZlB0
cjxQb3NpdGlvbkNhbGxiYWNrPiBwb3NpdGlvbkNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5
Q2FsbGJhY2s8SlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrPihleGVjLCBzdGF0aWNfY2FzdDxKU0RP
TUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4ZWMtPmFyZ3Vt
ZW50KDApKTsKKyAgICBSZWZQdHI8UG9zaXRpb25DYWxsYmFjaz4gcG9zaXRpb25DYWxsYmFjayA9
IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPEpTUG9zaXRpb25DYWxsYmFjaz4oZXhlYywgc3Rh
dGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkp
LCBleGVjLT5hcmd1bWVudCgwKSk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAg
ICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICBBU1NFUlQocG9zaXRpb25DYWxsYmFjayk7
CiAKLSAgICBSZWZQdHI8UG9zaXRpb25FcnJvckNhbGxiYWNrPiBwb3NpdGlvbkVycm9yQ2FsbGJh
Y2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxs
YmFjaz4oZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2Fs
R2xvYmFsT2JqZWN0KCkpLCBleGVjLT5hcmd1bWVudCgxKSwgQ2FsbGJhY2tBbGxvd1VuZGVmaW5l
ZCB8IENhbGxiYWNrQWxsb3dOdWxsKTsKKyAgICBSZWZQdHI8UG9zaXRpb25FcnJvckNhbGxiYWNr
PiBwb3NpdGlvbkVycm9yQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxKU1Bv
c2l0aW9uRXJyb3JDYWxsYmFjaz4oZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3Qq
PihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBleGVjLT5hcmd1bWVudCgxKSwgQ2FsbGJh
Y2tBbGxvd1VuZGVmaW5lZCB8IENhbGxiYWNrQWxsb3dOdWxsKTsKICAgICBpZiAoZXhlYy0+aGFk
RXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogCkBAIC0xMzUsMTIg
KzEzNSwxMiBAQCBKU1ZhbHVlIEpTR2VvbG9jYXRpb246OndhdGNoUG9zaXRpb24oRXhlY1N0YXRl
KiBleGVjKQogewogICAgIC8vIEFyZ3VtZW50czogUG9zaXRpb25DYWxsYmFjaywgKG9wdGlvbmFs
KVBvc2l0aW9uRXJyb3JDYWxsYmFjaywgKG9wdGlvbmFsKVBvc2l0aW9uT3B0aW9ucwogCi0gICAg
UmVmUHRyPFBvc2l0aW9uQ2FsbGJhY2s+IHBvc2l0aW9uQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlv
bk9ubHlDYWxsYmFjazxKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2s+KGV4ZWMsIHN0YXRpY19jYXN0
PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+
YXJndW1lbnQoMCkpOworICAgIFJlZlB0cjxQb3NpdGlvbkNhbGxiYWNrPiBwb3NpdGlvbkNhbGxi
YWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8SlNQb3NpdGlvbkNhbGxiYWNrPihleGVj
LCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKSksIGV4ZWMtPmFyZ3VtZW50KDApKTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkp
CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgIEFTU0VSVChwb3NpdGlvbkNhbGxi
YWNrKTsKIAotICAgIFJlZlB0cjxQb3NpdGlvbkVycm9yQ2FsbGJhY2s+IHBvc2l0aW9uRXJyb3JD
YWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPEpTQ3VzdG9tUG9zaXRpb25FcnJv
ckNhbGxiYWNrPihleGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxl
eGljYWxHbG9iYWxPYmplY3QoKSksIGV4ZWMtPmFyZ3VtZW50KDEpLCBDYWxsYmFja0FsbG93VW5k
ZWZpbmVkIHwgQ2FsbGJhY2tBbGxvd051bGwpOworICAgIFJlZlB0cjxQb3NpdGlvbkVycm9yQ2Fs
bGJhY2s+IHBvc2l0aW9uRXJyb3JDYWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNr
PEpTUG9zaXRpb25FcnJvckNhbGxiYWNrPihleGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9i
amVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4ZWMtPmFyZ3VtZW50KDEpLCBD
YWxsYmFja0FsbG93VW5kZWZpbmVkIHwgQ2FsbGJhY2tBbGxvd051bGwpOwogICAgIGlmIChleGVj
LT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9u
Q2FsbGJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9t
UG9zaXRpb25DYWxsYmFjay5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3ZDBk
ZGU1ZjllMzg5NTVlZmVkNGVmYmYxOGM3OGIwNDg3Yjk4NzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Q3VzdG9tUG9zaXRpb25DYWxsYmFjay5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4MiAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IDIwMDksIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFBy
b2plY3QKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiVjhDdXN0b21Qb3Np
dGlvbkNhbGxiYWNrLmgiCi0KLSNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCi0KLSNpbmNsdWRlICJT
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCi0jaW5jbHVkZSAiVjhDdXN0b21Wb2lkQ2FsbGJhY2su
aCIgIC8vIEZvciBpbnZva2VDYWxsYmFjawotI2luY2x1ZGUgIlY4R2VvcG9zaXRpb24uaCIKLSNp
bmNsdWRlICJWOFByb3h5LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotVjhDdXN0b21Qb3Np
dGlvbkNhbGxiYWNrOjpWOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2sodjg6OkxvY2FsPHY4OjpPYmpl
Y3Q+IGNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQotICAgIDogUG9z
aXRpb25DYWxsYmFjayhjb250ZXh0KQotICAgICwgbV9jYWxsYmFjayh2ODo6UGVyc2lzdGVudDx2
ODo6T2JqZWN0Pjo6TmV3KGNhbGxiYWNrKSkKLXsKLX0KLQotVjhDdXN0b21Qb3NpdGlvbkNhbGxi
YWNrOjp+VjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrKCkKLXsKLSAgICBtX2NhbGxiYWNrLkRpc3Bv
c2UoKTsKLX0KLQotdm9pZCBWOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KEdl
b3Bvc2l0aW9uKiBwb3NpdGlvbikKLXsKLSAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7
Ci0KLSAgICAvLyBBY3RpdmVET01PYmplY3Qgd2lsbCBudWxsIG91ciBwb2ludGVyIHRvIHRoZSBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0IHdoZW4gaXQgZ29lcyBhd2F5LgotICAgIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIHNjcmlwdENvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0g
ICAgaWYgKCFzY3JpcHRDb250ZXh0KQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBUaGUgbG9v
a3VwIG9mIHRoZSBwcm94eSB3aWxsIGZhaWwgaWYgdGhlIEZyYW1lIGhhcyBiZWVuIGRldGFjaGVk
LgotICAgIFY4UHJveHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUoc2NyaXB0Q29udGV4dCk7
Ci0gICAgaWYgKCFwcm94eSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdjg6OkhhbmRsZTx2ODo6
Q29udGV4dD4gY29udGV4dCA9IHByb3h5LT5jb250ZXh0KCk7Ci0gICAgaWYgKGNvbnRleHQuSXNF
bXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICB2ODo6Q29udGV4dDo6U2NvcGUgc2NvcGUo
Y29udGV4dCk7Ci0KLSAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXJndltdID0gewotICAgICAg
ICB0b1Y4KHBvc2l0aW9uKQotICAgIH07Ci0KLSAgICAvLyBQcm90ZWN0IHRoZSBzY3JpcHQgY29u
dGV4dCB1bnRpbCB0aGUgY2FsbGJhY2sgcmV0dXJucy4KLSAgICBSZWZQdHI8U2NyaXB0RXhlY3V0
aW9uQ29udGV4dD4gcHJvdGVjdG9yKHNjcmlwdENvbnRleHQpOwotCi0gICAgYm9vbCBjYWxsYmFj
a1JldHVyblZhbHVlID0gZmFsc2U7Ci0gICAgaW52b2tlQ2FsbGJhY2sobV9jYWxsYmFjaywgMSwg
YXJndiwgY2FsbGJhY2tSZXR1cm5WYWx1ZSwgc2NyaXB0Q29udGV4dCk7Ci19Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShHRU9MT0NBVElPTikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uQ2Fs
bGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0
aW9uQ2FsbGJhY2suaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjFkYjkyMjM2M2Fi
YTk0ODYwYzlmNmFlMzQzNWYxMzY4ZTRhMmRlNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhD
dXN0b21Qb3NpdGlvbkNhbGxiYWNrLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IDIwMDksIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0g
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaWZuZGVmIFY4Q3VzdG9tUG9zaXRpb25DYWxsYmFja19oCi0jZGVmaW5lIFY4Q3VzdG9t
UG9zaXRpb25DYWxsYmFja19oCi0KLSNpbmNsdWRlICJQb3NpdGlvbkNhbGxiYWNrLmgiCi0KLSNp
bmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEZyYW1lOwotY2xhc3Mg
R2VvcG9zaXRpb247Ci1jbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwotCi1jbGFzcyBWOEN1
c3RvbVBvc2l0aW9uQ2FsbGJhY2sgOiBwdWJsaWMgUG9zaXRpb25DYWxsYmFjayB7Ci1wdWJsaWM6
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8VjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrPiBjcmVhdGUo
djg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQpCi0gICAgewotICAgICAgICBBU1NFUlQodmFsdWUtPklzT2JqZWN0KCkpOwotICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFY4Q3VzdG9tUG9zaXRpb25DYWxsYmFjayh2YWx1ZS0+VG9PYmpl
Y3QoKSwgY29udGV4dCkpOwotICAgIH0KLSAgICB2aXJ0dWFsIH5WOEN1c3RvbVBvc2l0aW9uQ2Fs
bGJhY2soKTsKLQotICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChHZW9wb3NpdGlvbiopOwot
Ci1wcml2YXRlOgotICAgIFY4Q3VzdG9tUG9zaXRpb25DYWxsYmFjayh2ODo6TG9jYWw8djg6Ok9i
amVjdD4sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKLQotICAgIHY4OjpQZXJzaXN0ZW50PHY4
OjpPYmplY3Q+IG1fY2FsbGJhY2s7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNl
bmRpZiAvLyBWOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uRXJy
b3JDYWxsYmFjay5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwNmE5MDk3N2I2
MDVkY2Q0NzY4MDQ1OGVjYzM3OGZjZDMxZDVkYjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDgyICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgMjAwOSwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJv
amVjdAotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJWOEN1c3RvbVBvc2l0
aW9uRXJyb3JDYWxsYmFjay5oIgotCi0jaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQotCi0jaW5jbHVk
ZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgotI2luY2x1ZGUgIlY4Q3VzdG9tVm9pZENhbGxi
YWNrLmgiICAvLyBGb3IgaW52b2tlQ2FsbGJhY2sKLSNpbmNsdWRlICJWOFBvc2l0aW9uRXJyb3Iu
aCIKLSNpbmNsdWRlICJWOFByb3h5LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotVjhDdXN0
b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2s6OlY4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrKHY4
OjpMb2NhbDx2ODo6T2JqZWN0PiBjYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCkKLSAgICA6IFBvc2l0aW9uRXJyb3JDYWxsYmFjayhjb250ZXh0KQotICAgICwgbV9jYWxs
YmFjayh2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pjo6TmV3KGNhbGxiYWNrKSkKLXsKLX0KLQot
VjhDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2s6On5WOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxs
YmFjaygpCi17Ci0gICAgbV9jYWxsYmFjay5EaXNwb3NlKCk7Ci19Ci0KLXZvaWQgVjhDdXN0b21Q
b3NpdGlvbkVycm9yQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KFBvc2l0aW9uRXJyb3IqIGVycm9yKQot
ewotICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKLQotICAgIC8vIEFjdGl2ZURPTU9i
amVjdCB3aWxsIG51bGwgb3VyIHBvaW50ZXIgdG8gdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQg
d2hlbiBpdCBnb2VzIGF3YXkuCi0gICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0Q29u
dGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAgICBpZiAoIXNjcmlwdENvbnRleHQp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIC8vIFRoZSBsb29rdXAgb2YgdGhlIHByb3h5IHdpbGwg
ZmFpbCBpZiB0aGUgRnJhbWUgaGFzIGJlZW4gZGV0YWNoZWQuCi0gICAgVjhQcm94eSogcHJveHkg
PSBWOFByb3h5OjpyZXRyaWV2ZShzY3JpcHRDb250ZXh0KTsKLSAgICBpZiAoIXByb3h5KQotICAg
ICAgICByZXR1cm47Ci0KLSAgICB2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0ID0gcHJv
eHktPmNvbnRleHQoKTsKLSAgICBpZiAoY29udGV4dC5Jc0VtcHR5KCkpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIHY4OjpDb250ZXh0OjpTY29wZSBzY29wZShjb250ZXh0KTsKLQotICAgIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBhcmd2W10gPSB7Ci0gICAgICAgIHRvVjgoZXJyb3IpCi0gICAgfTsK
LQotICAgIC8vIFByb3RlY3QgdGhlIHNjcmlwdCBjb250ZXh0IHVudGlsIHRoZSBjYWxsYmFjayBy
ZXR1cm5zLgotICAgIFJlZlB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBwcm90ZWN0b3Ioc2Ny
aXB0Q29udGV4dCk7Ci0KLSAgICBib29sIGNhbGxiYWNrUmV0dXJuVmFsdWUgPSBmYWxzZTsKLSAg
ICBpbnZva2VDYWxsYmFjayhtX2NhbGxiYWNrLCAxLCBhcmd2LCBjYWxsYmFja1JldHVyblZhbHVl
LCBzY3JpcHRDb250ZXh0KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYg
Ly8gRU5BQkxFKEdFT0xPQ0FUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTIxMWI2MDYzZjU5NmQ3NDZkMThlNDdiZjJl
YzdjNmNjNGRkYWUyMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkVy
cm9yQ2FsbGJhY2suaAorKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgMjAwOSwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBg
QVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5k
ZWYgVjhDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2tfaAotI2RlZmluZSBWOEN1c3RvbVBvc2l0
aW9uRXJyb3JDYWxsYmFja19oCi0KLSNpbmNsdWRlICJQb3NpdGlvbkVycm9yQ2FsbGJhY2suaCIK
LQotI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgRnJhbWU7Ci1j
bGFzcyBQb3NpdGlvbkVycm9yOwotY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKLQotY2xh
c3MgVjhDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2sgOiBwdWJsaWMgUG9zaXRpb25FcnJvckNh
bGxiYWNrIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxWOEN1c3RvbVBvc2l0aW9u
RXJyb3JDYWxsYmFjaz4gY3JlYXRlKHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQotICAgIHsKLSAgICAgICAgQVNTRVJUKHZhbHVlLT5J
c09iamVjdCgpKTsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBWOEN1c3RvbVBvc2l0aW9u
RXJyb3JDYWxsYmFjayh2YWx1ZS0+VG9PYmplY3QoKSwgY29udGV4dCkpOwotICAgIH0KLSAgICB2
aXJ0dWFsIH5WOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjaygpOwotCi0gICAgdmlydHVhbCB2
b2lkIGhhbmRsZUV2ZW50KFBvc2l0aW9uRXJyb3IqKTsKLQotcHJpdmF0ZToKLSAgICBWOEN1c3Rv
bVBvc2l0aW9uRXJyb3JDYWxsYmFjayh2ODo6TG9jYWw8djg6Ok9iamVjdD4sIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKTsKLQotICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IG1fY2FsbGJh
Y2s7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBWOEN1c3RvbVBv
c2l0aW9uRXJyb3JDYWxsYmFja19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhHZW9sb2NhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhHZW9sb2NhdGlvbkN1c3RvbS5jcHAKaW5kZXggOTEzODlkODJhOWZm
OTdjMTUzNTY3MjExODk3YTE0M2E4ZTk0ZjRiMS4uODI3Y2MzZDY1M2UwNjZhYjA4ZTU0N2M1YjA2
ZTJhZTE0ZDc4NzVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4R2VvbG9jYXRpb25DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEdlb2xvY2F0aW9uQ3VzdG9tLmNwcApAQCAtMzEsOCArMzEsOCBAQAogI2lu
Y2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIKICNpbmNsdWRlICJWOEJp
bmRpbmcuaCIKLSNpbmNsdWRlICJWOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCIKLSNpbmNsdWRl
ICJWOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIlY4UG9zaXRpb25D
YWxsYmFjay5oIgorI2luY2x1ZGUgIlY4UG9zaXRpb25FcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVk
ZSAiVjhVdGlsaXRpZXMuaCIKIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKQEAgLTEzMywxMyArMTMz
LDEzIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEdlb2xvY2F0aW9uOjpnZXRDdXJyZW50UG9z
aXRpb25DYWxsYmFjayhjb25zdCB2ODo6QXJndW1lCiAKICAgICBib29sIHN1Y2NlZWRlZCA9IGZh
bHNlOwogCi0gICAgUmVmUHRyPFBvc2l0aW9uQ2FsbGJhY2s+IHBvc2l0aW9uQ2FsbGJhY2sgPSBj
cmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxWOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2s+KGFyZ3Nb
MF0sIHN1Y2NlZWRlZCk7CisgICAgUmVmUHRyPFBvc2l0aW9uQ2FsbGJhY2s+IHBvc2l0aW9uQ2Fs
bGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxWOFBvc2l0aW9uQ2FsbGJhY2s+KGFy
Z3NbMF0sIHN1Y2NlZWRlZCk7CiAgICAgaWYgKCFzdWNjZWVkZWQpCiAgICAgICAgIHJldHVybiB2
ODo6VW5kZWZpbmVkKCk7CiAgICAgQVNTRVJUKHBvc2l0aW9uQ2FsbGJhY2spOwogCiAgICAgLy8g
QXJndW1lbnQgaXMgb3B0aW9uYWwgKGhlbmNlIHVuZGVmaW5lZCBpcyBhbGxvd2VkKSwgYW5kIG51
bGwgaXMgYWxsb3dlZC4KLSAgICBSZWZQdHI8UG9zaXRpb25FcnJvckNhbGxiYWNrPiBwb3NpdGlv
bkVycm9yQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxWOEN1c3RvbVBvc2l0
aW9uRXJyb3JDYWxsYmFjaz4oYXJnc1sxXSwgc3VjY2VlZGVkLCBDYWxsYmFja0FsbG93VW5kZWZp
bmVkIHwgQ2FsbGJhY2tBbGxvd051bGwpOworICAgIFJlZlB0cjxQb3NpdGlvbkVycm9yQ2FsbGJh
Y2s+IHBvc2l0aW9uRXJyb3JDYWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPFY4
UG9zaXRpb25FcnJvckNhbGxiYWNrPihhcmdzWzFdLCBzdWNjZWVkZWQsIENhbGxiYWNrQWxsb3dV
bmRlZmluZWQgfCBDYWxsYmFja0FsbG93TnVsbCk7CiAgICAgaWYgKCFzdWNjZWVkZWQpCiAgICAg
ICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAKQEAgLTE1OSwxMyArMTU5LDEzIEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOEdlb2xvY2F0aW9uOjp3YXRjaFBvc2l0aW9uQ2FsbGJhY2soY29u
c3Qgdjg6OkFyZ3VtZW50cyYKIAogICAgIGJvb2wgc3VjY2VlZGVkID0gZmFsc2U7CiAKLSAgICBS
ZWZQdHI8UG9zaXRpb25DYWxsYmFjaz4gcG9zaXRpb25DYWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9u
T25seUNhbGxiYWNrPFY4Q3VzdG9tUG9zaXRpb25DYWxsYmFjaz4oYXJnc1swXSwgc3VjY2VlZGVk
KTsKKyAgICBSZWZQdHI8UG9zaXRpb25DYWxsYmFjaz4gcG9zaXRpb25DYWxsYmFjayA9IGNyZWF0
ZUZ1bmN0aW9uT25seUNhbGxiYWNrPFY4UG9zaXRpb25DYWxsYmFjaz4oYXJnc1swXSwgc3VjY2Vl
ZGVkKTsKICAgICBpZiAoIXN1Y2NlZWRlZCkKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQo
KTsKICAgICBBU1NFUlQocG9zaXRpb25DYWxsYmFjayk7CiAKICAgICAvLyBBcmd1bWVudCBpcyBv
cHRpb25hbCAoaGVuY2UgdW5kZWZpbmVkIGlzIGFsbG93ZWQpLCBhbmQgbnVsbCBpcyBhbGxvd2Vk
LgotICAgIFJlZlB0cjxQb3NpdGlvbkVycm9yQ2FsbGJhY2s+IHBvc2l0aW9uRXJyb3JDYWxsYmFj
ayA9IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPFY4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxi
YWNrPihhcmdzWzFdLCBzdWNjZWVkZWQsIENhbGxiYWNrQWxsb3dVbmRlZmluZWQgfCBDYWxsYmFj
a0FsbG93TnVsbCk7CisgICAgUmVmUHRyPFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4gcG9zaXRpb25F
cnJvckNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8VjhQb3NpdGlvbkVycm9y
Q2FsbGJhY2s+KGFyZ3NbMV0sIHN1Y2NlZWRlZCwgQ2FsbGJhY2tBbGxvd1VuZGVmaW5lZCB8IENh
bGxiYWNrQWxsb3dOdWxsKTsKICAgICBpZiAoIXN1Y2NlZWRlZCkKICAgICAgICAgcmV0dXJuIHY4
OjpVbmRlZmluZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3NpdGlv
bkNhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9uQ2FsbGJhY2suaAppbmRl
eCA1NTExZDNlMGUxODIxMzEyMWI3ZGUzNDgyNmIxYWFkZjZlZWNjMWY1Li4wOWQ3ZWI2OTIxODY3
NjAwOTRhZGRkY2I4NzE5ODMxNmEyNGUzYjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1Bvc2l0aW9uQ2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9u
Q2FsbGJhY2suaApAQCAtMjYsMjAgKzI2LDE4IEBACiAjaWZuZGVmIFBvc2l0aW9uQ2FsbGJhY2tf
aAogI2RlZmluZSBQb3NpdGlvbkNhbGxiYWNrX2gKIAotI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVj
dC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
LSAgICAKKwogICAgIGNsYXNzIEdlb3Bvc2l0aW9uOwotICAgIAotICAgIGNsYXNzIFBvc2l0aW9u
Q2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxQb3NpdGlvbkNhbGxiYWNrPiwgcHVibGljIEFj
dGl2ZURPTU9iamVjdCB7CisKKyAgICBjbGFzcyBQb3NpdGlvbkNhbGxiYWNrIDogcHVibGljIFJl
ZkNvdW50ZWQ8UG9zaXRpb25DYWxsYmFjaz4gewogICAgIHB1YmxpYzoKLSAgICAgICAgUG9zaXRp
b25DYWxsYmFjayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KSA6IEFjdGl2ZURPTU9i
amVjdChjb250ZXh0LCB0aGlzKSB7IH0KICAgICAgICAgdmlydHVhbCB+UG9zaXRpb25DYWxsYmFj
aygpIHsgfQotICAgICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQoR2VvcG9zaXRpb24qKSA9
IDA7CisgICAgICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChHZW9wb3NpdGlvbiopID0gMDsK
ICAgICB9OwotICAgIAorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBQb3Np
dGlvbkNhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9zaXRpb25D
YWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9uQ2FsbGJhY2suaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjBmMWNhNDQ0MmQwMzQ5NjEwNjY2OTNhNGM4NWY0YzU4NDdiOGZkNzQKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9uQ2FsbGJhY2suaWRsCkBA
IC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworICAgIGludGVy
ZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUdFT0xPQ0FUSU9OLAorICAgICAgICBDYWxsYmFj
az1GdW5jdGlvbk9ubHkKKyAgICBdIFBvc2l0aW9uQ2FsbGJhY2sgeworICAgICAgICBib29sZWFu
IGhhbmRsZUV2ZW50KGluIEdlb3Bvc2l0aW9uIHBvc2l0aW9uKTsKKyAgICB9OworCit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaAppbmRleCBhNjVlMzUwNTE5
Nzk3MTBjNDMwMjIwNWE3ZDdlZDRlMzNjOGU3YjViLi5kMTUyNzg1YzEwNTU3ZTUyNzBjNzY0NGMw
ZWQ4YWNkMDc5YzljMmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9u
RXJyb3JDYWxsYmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9zaXRpb25FcnJvckNh
bGxiYWNrLmgKQEAgLTI2LDIwICsyNiwxOCBAQAogI2lmbmRlZiBQb3NpdGlvbkVycm9yQ2FsbGJh
Y2tfaAogI2RlZmluZSBQb3NpdGlvbkVycm9yQ2FsbGJhY2tfaAogCi0jaW5jbHVkZSAiQWN0aXZl
RE9NT2JqZWN0LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgY2xhc3MgUG9zaXRpb25FcnJvcjsKIAotICAgIGNsYXNzIFBvc2l0aW9u
RXJyb3JDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4s
IHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworICAgIGNsYXNzIFBvc2l0aW9uRXJyb3JDYWxsYmFj
ayA6IHB1YmxpYyBSZWZDb3VudGVkPFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4gewogICAgIHB1Ymxp
YzoKLSAgICAgICAgUG9zaXRpb25FcnJvckNhbGxiYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQpIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpIHsgfQogICAgICAgICB2
aXJ0dWFsIH5Qb3NpdGlvbkVycm9yQ2FsbGJhY2soKSB7IH0KLSAgICAgICAgdmlydHVhbCB2b2lk
IGhhbmRsZUV2ZW50KFBvc2l0aW9uRXJyb3IqKSA9IDA7CisgICAgICAgIHZpcnR1YWwgYm9vbCBo
YW5kbGVFdmVudChQb3NpdGlvbkVycm9yKikgPSAwOwogICAgIH07Ci0gICAgCisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFBvc2l0aW9uRXJyb3JDYWxsYmFja19oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjQ1YjQzYzgxYjk4ZjQzYmFkN2E1MzYzZmNhZTUyMzkzYzA4Y2VlYgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9zaXRpb25FcnJvckNhbGxiYWNrLmlkbApAQCAtMCww
ICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgd2luZG93IHsKKyAgICBpbnRlcmZhY2Ug
WworICAgICAgICBDb25kaXRpb25hbD1HRU9MT0NBVElPTiwKKyAgICAgICAgQ2FsbGJhY2s9RnVu
Y3Rpb25Pbmx5CisgICAgXSBQb3NpdGlvbkVycm9yQ2FsbGJhY2sgeworICAgICAgICBib29sZWFu
IGhhbmRsZUV2ZW50KGluIFBvc2l0aW9uRXJyb3IgZXJyb3IpOworICAgIH07CisKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94586</attachid>
            <date>2011-05-24 02:38:49 -0700</date>
            <delta_ts>2011-05-24 03:55:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40065-20110524103847.patch</filename>
            <type>text/plain</type>
            <size>67523</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODcxMzYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggOGQwOTM1
OTM4NzM4M2ZhMThiNTIzNGE2N2UwNDQzOGEwZThiNTJkZi4uOGJiZTVlYzM2NDNkYjQ5OWY3Zjc4
Y2Y1YWM4Mzk1YmQxMDAzMDU1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTMzMSw3ICszMzEs
OSBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBwYWdlL1BlcmZvcm1hbmNlLmlkbAogICAg
IHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1p
bmcuaWRsCisgICAgcGFnZS9Qb3NpdGlvbkNhbGxiYWNrLmlkbAogICAgIHBhZ2UvUG9zaXRpb25F
cnJvci5pZGwKKyAgICBwYWdlL1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5pZGwKICAgICBwYWdlL1Nj
cmVlbi5pZGwKICAgICBwYWdlL1NwZWVjaElucHV0RXZlbnQuaWRsCiAgICAgcGFnZS9TcGVlY2hJ
bnB1dFJlc3VsdC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ZmQ4ZDRiZjhjODhjNDA1MWYwMzlhNWVkNmNh
YjA2NTYxNjY3MmU5Li5kNWJjNGJhNmVlYTJmZGQyMTU5MzMyMzRhYTI4NDI0ZTk2ZWY3YWQwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTEtMDQtMTMgIFN0ZXZlIEJsb2NrICA8c3Rl
dmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgor
CisgICAgICAgIEdlb2xvY2F0aW9uIGNhbGxiYWNrcyBzaG91bGQgbWFrZSB1c2Ugb2YgbmV3IGNh
bGxiYWNrIGdlbmVyYXRpb24gbWVjaGFuaXNtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MDA2NQorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmVmYWN0
b3Jpbmcgb25seS4KKworICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tazoK
KyAgICAgICAgKiBBbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRy
b2lkLmpzY2JpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQudjhiaW5kaW5ncy5tazoKKyAg
ICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1h
a2U6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBVc2VKU0MuY21h
a2U6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUub3JkZXI6Cisg
ICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHA6CisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcDogUmVtb3ZlZC4KKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHA6IFJlbW92
ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2su
aDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0dlb2xvY2F0aW9uQ3VzdG9tLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkpTR2VvbG9jYXRpb246OmdldEN1cnJlbnRQb3NpdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpKU0dlb2xvY2F0aW9uOjp3YXRjaFBvc2l0aW9uKToKKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcDogUmVt
b3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkNhbGxi
YWNrLmg6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9z
aXRpb25FcnJvckNhbGxiYWNrLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaDogUmVtb3ZlZC4KKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhHZW9sb2NhdGlvbkN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpWOEdlb2xvY2F0aW9uOjpnZXRDdXJyZW50UG9zaXRpb25DYWxsYmFjayk6CisgICAg
ICAgIChXZWJDb3JlOjpWOEdlb2xvY2F0aW9uOjp3YXRjaFBvc2l0aW9uQ2FsbGJhY2spOgorICAg
ICAgICAqIHBhZ2UvUG9zaXRpb25DYWxsYmFjay5oOgorICAgICAgICAqIHBhZ2UvUG9zaXRpb25D
YWxsYmFjay5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvUG9zaXRpb25FcnJvckNhbGxiYWNr
Lmg6CisgICAgICAgICogcGFnZS9Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaWRsOiBBZGRlZC4KKwog
MjAxMS0wNS0yNCAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NvZGVHZW5lcmF0b3JzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnBy
aQppbmRleCBjOTNiMjQ3NTQwZmNiMDdiOTkwMThhZjM2MzU4NDUyNmVkN2ZhMWJlLi4wZWZkYWEw
NzJmYmM5YWU5ODYxYmNkMGIyNWFkYTFkYjI0ZGVkZmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRv
cnMucHJpCkBAIC0zMzEsNyArMzMxLDkgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBwYWdlL1Bl
cmZvcm1hbmNlLmlkbCBcCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsIFwKICAg
ICBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCisgICAgcGFnZS9Qb3NpdGlvbkNhbGxiYWNr
LmlkbCBcCiAgICAgcGFnZS9Qb3NpdGlvbkVycm9yLmlkbCBcCisgICAgcGFnZS9Qb3NpdGlvbkVy
cm9yQ2FsbGJhY2suaWRsIFwKICAgICBwYWdlL1NjcmVlbi5pZGwgXAogICAgIHBhZ2UvU3BlZWNo
SW5wdXRFdmVudC5pZGwgXAogICAgIHBhZ2UvU3BlZWNoSW5wdXRSZXN1bHQuaWRsIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA3ZDVlNGY5N2Y4ZmI4N2QxMjQ5NDFiYmM0ZjRkMDY4
MTQ4NjhhYWMzLi44MmQ3MzY2YmNkZTg3ZjNhZGNhNmRkNTc1YzVkYjBjODg3Y2I5Y2E2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0yNTUsNyArMjU1LDkgQEAKICNpbmNsdWRlICJK
U1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVRpbWlu
Zy5jcHAiCiAjaW5jbHVkZSAiSlNQb3BTdGF0ZUV2ZW50LmNwcCIKKyNpbmNsdWRlICJKU1Bvc2l0
aW9uQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTUG9zaXRpb25FcnJvci5jcHAiCisjaW5jbHVk
ZSAiSlNQb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTUHJvY2Vzc2luZ0lu
c3RydWN0aW9uLmNwcCIKICNpbmNsdWRlICJKU1Byb2dyZXNzRXZlbnQuY3BwIgogI2luY2x1ZGUg
IkpTUmFuZ2UuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggN2JjZjMwMGE0
ZjA4Y2Y4M2EzYzFhOTI4YWNiYThlZmZlNTdlMjNiYy4uZjRlMDA2NTdlZTcxMjVlYjRjMGYzZDNj
NWM5YmQwMGI2MTc5ZGE1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zMjQs
NyArMzI0LDkgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uIFwK
ICAgICBQZXJmb3JtYW5jZVRpbWluZyBcCiAgICAgUG9wU3RhdGVFdmVudCBcCisgICAgUG9zaXRp
b25DYWxsYmFjayBcCiAgICAgUG9zaXRpb25FcnJvciBcCisgICAgUG9zaXRpb25FcnJvckNhbGxi
YWNrIFwKICAgICBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gXAogICAgIFByb2dyZXNzRXZlbnQgXAog
ICAgIFJHQkNvbG9yIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGRiZDFmMWYy
ZWNhNjU3NzNjOWEzYzgwN2NjZmFjMDc3M2IwZjFhZjUuLjhmZTZjZWQ0NmI4ZGRiNjQzZTRkOGRi
OWEzNGY5NGZkNGE1ZTZjMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDA1
LDggKzQwNSwxMiBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJmb3JtYW5jZVRpbWluZy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUG9wU3RhdGVFdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3BTdGF0
ZUV2ZW50LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3NpdGlvbkNhbGxiYWNrLmNw
cCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bvc2l0aW9uQ2FsbGJhY2suaCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bvc2l0aW9uRXJyb3IuY3BwIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUG9zaXRpb25FcnJvci5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bv
c2l0aW9uRXJyb3JDYWxsYmFjay5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHJvY2Vz
c2luZ0luc3RydWN0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Byb2Nlc3Np
bmdJbnN0cnVjdGlvbi5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHJvZ3Jlc3NFdmVu
dC5jcHAgXApAQCAtNjUzLDEwICs2NTcsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ2xpcGJvYXJkQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNDb25zb2xlQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNDb29yZGluYXRlc0N1c3RvbS5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5jcHAgXAotCVNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5oIFwKLQlTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAgXAotCVNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmggXAog
CVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxs
YmFjay5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tVm9pZENhbGxi
YWNrLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21Wb2lkQ2FsbGJh
Y2suaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UgYi9Tb3VyY2Uv
V2ViQ29yZS9Vc2VKU0MuY21ha2UKaW5kZXggY2RkYmQ1ZjI2ZTY3ZmNjOTExNjIwYWFhZTY1Mzgw
Nzg3MDVhYjQ4Yy4uNWJjYTM2ZjAzNmFkNGQ4MGFlYWZlM2FkNjk2MTA3OThkYTEyMTEzNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1VzZUpTQy5jbWFrZQpAQCAtMzEsOCArMzEsNiBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJD
RVMKICAgICBiaW5kaW5ncy9qcy9KU0NsaXBib2FyZEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9q
cy9KU0NvbnNvbGVDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNDb29yZGluYXRlc0N1c3Rv
bS5jcHAKLSAgICBiaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwCi0gICAg
YmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwCiAgICAgYmluZGlu
Z3MvanMvSlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcAogICAgIGJpbmRpbmdz
L2pzL0pTQ3VzdG9tVm9pZENhbGxiYWNrLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTQ3VzdG9tWFBh
dGhOU1Jlc29sdmVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDAxM2U1ODQ0YzIxOTllZGY2YTM4
Y2Y0YjdhYzFjZmFiN2UwMTIxYWEuLmMzZTk0N2QxZDAxNGE2OWQwMWVlNDgyYWNjMzVjYzllNjE1
YzY3MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTEzNDQsNyArMTM0NCw5IEBACiAgICAgICAgICAg
ICAncGFnZS9QZXJmb3JtYW5jZS5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwn
LAorICAgICAgICAgICAgJ3BhZ2UvUG9zaXRpb25DYWxsYmFjay5pZGwnLAogICAgICAgICAgICAg
J3BhZ2UvUG9zaXRpb25FcnJvci5pZGwnLAorICAgICAgICAgICAgJ3BhZ2UvUG9zaXRpb25FcnJv
ckNhbGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9TY3JlZW4uaWRsJywKICAgICAgICAg
ICAgICdwYWdlL1NwZWVjaElucHV0RXZlbnQuaWRsJywKICAgICAgICAgICAgICdwYWdlL1NwZWVj
aElucHV0UmVzdWx0LmlkbCcsCkBAIC0xNzMyLDEwICsxNzM0LDYgQEAKICAgICAgICAgICAgICdi
aW5kaW5ncy9qcy9KU0NvbnNvbGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9q
cy9KU0NvbnZvbHZlck5vZGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9K
U0Nvb3JkaW5hdGVzQ3VzdG9tLmNwcCcsCi0gICAgICAgICAgICAnYmluZGluZ3MvanMvSlNDdXN0
b21Qb3NpdGlvbkNhbGxiYWNrLmNwcCcsCi0gICAgICAgICAgICAnYmluZGluZ3MvanMvSlNDdXN0
b21Qb3NpdGlvbkNhbGxiYWNrLmgnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTQ3VzdG9t
UG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCcsCi0gICAgICAgICAgICAnYmluZGluZ3MvanMvSlND
dXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMv
SlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNDdXN0b21Wb2lkQ2FsbGJhY2suY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy9qcy9KU0N1c3RvbVZvaWRDYWxsYmFjay5oJywKQEAgLTIwNzUsMTAgKzIwNzMsNiBAQAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENsaXBib2FyZEN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENvbnNvbGVDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDb29yZGluYXRlc0N1c3RvbS5jcHAnLAotICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3Bw
JywKLSAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkNhbGxi
YWNrLmgnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9u
RXJyb3JDYWxsYmFjay5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1
c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tVm9pZENhbGxiYWNrLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tVm9pZENhbGxiYWNrLmgnLApAQCAtNzQw
Miw4ICs3Mzk2LDEyIEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlVGltaW5nLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVD
VF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3BTdGF0ZUV2ZW50LmNwcCcsCiAgICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BvcFN0YXRl
RXZlbnQuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1Bvc2l0aW9uQ2FsbGJhY2suY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUG9zaXRpb25DYWxsYmFjay5oJywKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUG9zaXRpb25FcnJv
ci5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNQb3NpdGlvbkVycm9yLmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNQb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwJywKKyAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUG9zaXRpb25FcnJv
ckNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHJvY2Vzc2luZ0luc3RydWN0aW9u
LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNQcm9ncmVzc0V2ZW50LmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lm9yZGVyIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgppbmRleCBhZjFhMmFiYjI1Mzhh
MGFkYjhiYzI3MzM2MTVhMjgxOWJmODk0Y2RmLi41NWUzOWExMWY0Mjg5NTYwZDMwZDQ4NDY5NzMz
MWU1MmY4YWMyMjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKQEAgLTEyNzY0LDExICsxMjc2NCwxMSBA
QCBfX1pON1dlYkNvcmU0OGpzR2VvbG9jYXRpb25Qcm90b3R5cGVGdW5jdGlvbkdldEN1cnJlbnRQ
b3NpdGlvbkVQTjNKU0M5RXhlY1N0YXRlRQogX19aTks3V2ViQ29yZTEzSlNHZW9sb2NhdGlvbjlj
bGFzc0luZm9FdgogX19aTjdXZWJDb3JlMTNKU0dlb2xvY2F0aW9uMThnZXRDdXJyZW50UG9zaXRp
b25FUE4zSlNDOUV4ZWNTdGF0ZUVSS05TMV83QXJnTGlzdEUKIF9fWk43V2ViQ29yZUwyMmNyZWF0
ZVBvc2l0aW9uQ2FsbGJhY2tFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVj
dEVOUzBfN0pTVmFsdWVFCi1fX1pON1dlYkNvcmUyNEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFja0Mx
RVBOM0pTQzhKU09iamVjdEVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEUKLV9fWk43V2ViQ29yZTI0
SlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrQzJFUE4zSlNDOEpTT2JqZWN0RVBOU18xN0pTRE9NR2xv
YmFsT2JqZWN0RQorX19aTjdXZWJDb3JlMjRKU1Bvc2l0aW9uQ2FsbGJhY2tDMUVQTjNKU0M4SlNP
YmplY3RFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFCitfX1pON1dlYkNvcmUyNEpTUG9zaXRpb25D
YWxsYmFja0MyRVBOM0pTQzhKU09iamVjdEVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEUKIF9fWk43
V2ViQ29yZUwyN2NyZWF0ZVBvc2l0aW9uRXJyb3JDYWxsYmFja0VQTjNKU0M5RXhlY1N0YXRlRVBO
U18xN0pTRE9NR2xvYmFsT2JqZWN0RU5TMF83SlNWYWx1ZUUKLV9fWk43V2ViQ29yZTI5SlNDdXN0
b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2tDMUVQTjNKU0M4SlNPYmplY3RFUE5TXzE3SlNET01HbG9i
YWxPYmplY3RFCi1fX1pON1dlYkNvcmUyOUpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrQzJF
UE4zSlNDOEpTT2JqZWN0RVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RQorX19aTjdXZWJDb3JlMjlK
U1Bvc2l0aW9uRXJyb3JDYWxsYmFja0MxRVBOM0pTQzhKU09iamVjdEVQTlNfMTdKU0RPTUdsb2Jh
bE9iamVjdEUKK19fWk43V2ViQ29yZTI5SlNQb3NpdGlvbkVycm9yQ2FsbGJhY2tDMkVQTjNKU0M4
SlNPYmplY3RFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFCiBfX1pON1dlYkNvcmVMMjFjcmVhdGVQ
b3NpdGlvbk9wdGlvbnNFUE4zSlNDOUV4ZWNTdGF0ZUVOUzBfN0pTVmFsdWVFCiBfX1pON1dlYkNv
cmUxMUdlb2xvY2F0aW9uMThnZXRDdXJyZW50UG9zaXRpb25FTjNXVEYxMFBhc3NSZWZQdHJJTlNf
MTZQb3NpdGlvbkNhbGxiYWNrRUVFTlMyX0lOU18yMVBvc2l0aW9uRXJyb3JDYWxsYmFja0VFRU5T
Ml9JCiBfX1pON1dlYkNvcmUxMUdlb2xvY2F0aW9uMTJzdGFydFJlcXVlc3RFTjNXVEYxMFBhc3NS
ZWZQdHJJTlNfMTZQb3NpdGlvbkNhbGxiYWNrRUVFTlMyX0lOU18yMVBvc2l0aW9uRXJyb3JDYWxs
YmFja0VFRU5TMl9JTlNfMTVQCkBAIC0xMjc4Nyw3ICsxMjc4Nyw3IEBAIF9fWk43V2ViQ29yZTEx
R2VvbG9jYXRpb24xMnNldElzQWxsb3dlZEViCiBfX1pON1dlYkNvcmUxMUdlb2xvY2F0aW9uMTFH
ZW9Ob3RpZmllcjEzc2V0RmF0YWxFcnJvckVOM1dURjEwUGFzc1JlZlB0cklOU18xM1Bvc2l0aW9u
RXJyb3JFRUUKIF9fWk43V2ViQ29yZTVUaW1lcklOU18xMUdlb2xvY2F0aW9uMTFHZW9Ob3RpZmll
ckVFNWZpcmVkRXYKIF9fWk43V2ViQ29yZTExR2VvbG9jYXRpb24xMUdlb05vdGlmaWVyMTB0aW1l
ckZpcmVkRVBOU181VGltZXJJUzFfRUUKLV9fWk43V2ViQ29yZTI5SlNDdXN0b21Qb3NpdGlvbkVy
cm9yQ2FsbGJhY2sxMWhhbmRsZUV2ZW50RVBOU18xM1Bvc2l0aW9uRXJyb3JFCitfX1pON1dlYkNv
cmUyOUpTUG9zaXRpb25FcnJvckNhbGxiYWNrMTFoYW5kbGVFdmVudEVQTlNfMTNQb3NpdGlvbkVy
cm9yRQogX19aTjdXZWJDb3JlNHRvSlNFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2Jh
bE9iamVjdEVQTlNfMTNQb3NpdGlvbkVycm9yRQogX19aTjdXZWJDb3JlMTVKU1Bvc2l0aW9uRXJy
b3IxNWNyZWF0ZVByb3RvdHlwZUVQTjNKU0M5RXhlY1N0YXRlRVBOUzFfMTRKU0dsb2JhbE9iamVj
dEUKIF9fWk43V2ViQ29yZTE1SlNQb3NpdGlvbkVycm9yQzFFTjNXVEYxN05vbk51bGxQYXNzUmVm
UHRySU4zSlNDOVN0cnVjdHVyZUVFRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RU5TMV8xMFBhc3NS
ZWZQdHJJTlNfMTNQb3NpdGkKQEAgLTEyNzk3LDggKzEyNzk3LDggQEAgX19aTjdXZWJDb3JlMTFH
ZW9sb2NhdGlvbjE4ZmF0YWxFcnJvck9jY3VycmVkRVBOUzBfMTFHZW9Ob3RpZmllckUKIF9fWk43
V2ViQ29yZTExR2VvbG9jYXRpb244V2F0Y2hlcnM2cmVtb3ZlRVBOUzBfMTFHZW9Ob3RpZmllckUK
IF9fWk5LN1dlYkNvcmUxMUdlb2xvY2F0aW9uOFdhdGNoZXJzN2lzRW1wdHlFdgogX19aTjdXZWJD
b3JlMTFHZW9sb2NhdGlvbjEyc3RvcFVwZGF0aW5nRXYKLV9fWk43V2ViQ29yZTI5SlNDdXN0b21Q
b3NpdGlvbkVycm9yQ2FsbGJhY2tEMEV2Ci1fX1pON1dlYkNvcmUyNEpTQ3VzdG9tUG9zaXRpb25D
YWxsYmFja0QwRXYKK19fWk43V2ViQ29yZTI5SlNQb3NpdGlvbkVycm9yQ2FsbGJhY2tEMEV2Citf
X1pON1dlYkNvcmUyNEpTUG9zaXRpb25DYWxsYmFja0QwRXYKIF9fWk43V2ViQ29yZTE1SlNQb3Np
dGlvbkVycm9yRDFFdgogX19aTjdXZWJDb3JlMTVKU1Bvc2l0aW9uRXJyb3JEMkV2CiBfX1pON1dl
YkNvcmUxMUdlb2xvY2F0aW9uMTVkaXNjb25uZWN0RnJhbWVFdgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCAy
NWU1ZjRjOGVlNjJkYmE1OWQ2ZTBiOWZiNmNlMzI2MGY0YjAyM2NhLi5lMjMyMDlhZWNhODI4Y2Ew
MDdiY2Y1ZTAxZTMyNGU0OTViODMzNjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMjUxLDggKzI1MSw2
IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvanMvSlNDbGlwYm9hcmRDdXN0b20uY3BwIFwKICAg
ICAgICAgYmluZGluZ3MvanMvSlNDb25zb2xlQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdz
L2pzL0pTQ29vcmRpbmF0ZXNDdXN0b20uY3BwIFwKLSAgICAgICAgYmluZGluZ3MvanMvSlNDdXN0
b21Qb3NpdGlvbkNhbGxiYWNrLmNwcCBcCi0gICAgICAgIGJpbmRpbmdzL2pzL0pTQ3VzdG9tUG9z
aXRpb25FcnJvckNhbGxiYWNrLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTQ3VzdG9tVm9p
ZENhbGxiYWNrLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29s
dmVyLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAgXApAQCAtMTIx
Myw4ICsxMjExLDYgQEAgSEVBREVSUyArPSBcCiAKIHY4IHsKICAgICBIRUFERVJTICs9IFwKLSAg
ICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25DYWxsYmFjay5oIFwKLSAg
ICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmgg
IFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tVm9pZENhbGxiYWNrLmggXAog
ICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21YUGF0aE5TUmVzb2x2ZXIuaCBcCiAg
ICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxBdWRpb0VsZW1lbnRDb25zdHJ1Y3Rvci5o
IFwKQEAgLTEyOTIsOCArMTI4OCw2IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvanMvSlNBdWRp
b0NvbnN0cnVjdG9yLmggXAogICAgICAgICBiaW5kaW5ncy9qcy9KU0NTU1N0eWxlRGVjbGFyYXRp
b25DdXN0b20uaCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTQ2FsbGJhY2tEYXRhLmggXAotICAg
ICAgICBiaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCBcCi0gICAgICAgIGJp
bmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmggXAogICAgICAgICBiaW5k
aW5ncy9qcy9KU0N1c3RvbVZvaWRDYWxsYmFjay5oIFwKICAgICAgICAgYmluZGluZ3MvanMvSlND
dXN0b21YUGF0aE5TUmVzb2x2ZXIuaCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5oIFwKQEAgLTMxMDQsOCArMzA5OCw2IEBAIGNvbnRhaW5zKERFRklORVMsIFdURl9VU0VfUVRf
QkVBUkVSPTEpIHsKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9HRU9MT0NBVElPTj0xKSB7CiAg
ICAgdjggewogICAgICAgICBTT1VSQ0VTICs9IFwKLSAgICAgICAgICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwIFwKLSAgICAgICAgICAgIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAgXAogICAgICAgICAg
ICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4R2VvbG9jYXRpb25DdXN0b20uY3BwCiAgICAgfQogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA4YmUw
MjdkNGJjNmM3ZWViNTgyNzFmZjU3MzFhOGMxYzg5NDQ1ZjgwLi4xNTI1MzI1YzgzMTAyMGNkOTcw
ZWYxMDE1NDdlMDIxZjlmNTBhMjM0IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtMTIzMjYsNiArMTIzMjYsNjIgQEAKIAkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1Bvc2l0aW9uQ2FsbGJhY2suY3Bw
IgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWly
b19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRl
YnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJv
ZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRo
PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTUG9zaXRpb25DYWxsYmFjay5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJ
CQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTUG9zaXRpb25FcnJvci5jcHAiCiAJCQkJPgogCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgpAQCAtMTIzODIsNiArMTI0MzgsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5j
cHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRl
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0Nh
aXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
RGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQ
cm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNQb3NpdGlvbkVycm9yQ2FsbGJhY2suaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8
RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAiCiAJ
CQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtNTc4NDksMTE4ICs1Nzk2MSw2IEBACiAJ
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCi0JCQkJCVJl
bGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcCIK
LQkJCQkJPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
IgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+Ci0JCQkJCQk8VG9vbAot
CQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQkvPgotCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IlJlbGVhc2V8
V2luMzIiCi0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJCT4KLQkJCQkJCTxU
b29sCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCS8+Ci0JCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+Ci0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQkJTmFtZT0iRGVi
dWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0J
CQkJCQk+Ci0JCQkJCQk8VG9vbAotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJ
CQkvPgotCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
LQkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+Ci0JCQkJCQk8VG9vbAotCQkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCi0JCQkJCQkvPgotCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKLQkJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQkJPgotCQkJCQkJPFRvb2wKLQkJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJLz4KLQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
LQkJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgot
CQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+Ci0JCQkJCQk8VG9vbAotCQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQkvPgotCQkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJp
bmRpbmdzXGpzXEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5oIgotCQkJCQk+Ci0JCQkJPC9GaWxl
PgotCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNDdXN0b21Q
b3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwIgotCQkJCQk+Ci0JCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgotCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCi0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKLQkJCQkJCT4KLQkJCQkJCTxUb29sCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
LQkJCQkJCS8+Ci0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgotCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKLQkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgotCQkJCQkJPgotCQkJCQkJPFRvb2wKLQkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgotCQkJCQkJLz4KLQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCi0JCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJCT4KLQkJCQkJCTxUb29sCi0JCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCS8+Ci0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
Ci0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxp
dGV8V2luMzIiCi0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJCT4KLQkJCQkJ
CTxUb29sCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJCS8+Ci0JCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQkJTmFtZT0i
RGVidWdfQWxsfFdpbjMyIgotCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCQk+
Ci0JCQkJCQk8VG9vbAotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCQkvPgot
CQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJ
CU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCi0JCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
LQkJCQkJCT4KLQkJCQkJCTxUb29sCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJ
CQkJCS8+Ci0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxl
Ci0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNDdXN0b21Qb3NpdGlvbkVycm9y
Q2FsbGJhY2suaCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQogCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5j
cHAiCiAJCQkJCT4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2M4YTViMzlmMWFkNGU3
NDhiZDAwNWY4Y2RjMWRkMTIzNjgxZWRkNi4uYmRhNmE0MmVkMzYzNWE5NjAyMDdlM2QyYmQxMDg5
ODA3NGY1NWU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMTM4MCw2ICsxMzgwLDEwIEBACiAJCTU5NjIyOTdBMTEzM0VGRTIw
MERDNENCQiAvKiBHZW9sb2NhdGlvblBvc2l0aW9uQ2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5NjIyOTc5MTEzM0VGRTIwMERDNENCQiAvKiBH
ZW9sb2NhdGlvblBvc2l0aW9uQ2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk1OTY5NTA4MjEzMjEwNTk5MDBDM0VEMTggLyogSm9iamVjdFdy
YXBwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5
Njk1MDgxMTMyMTA1OTkwMEMzRUQxOCAvKiBKb2JqZWN0V3JhcHBlci5oICovOyB9OwogCQk1OTY5
NTA4NDEzMjEwNUE1MDBDM0VEMTggLyogSm9iamVjdFdyYXBwZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTk2OTUwODMxMzIxMDVBNTAwQzNFRDE4
IC8qIEpvYmplY3RXcmFwcGVyLmNwcCAqLzsgfTsKKwkJNTk4MzY1REQxMzU1RjU1NzAwMUIxODVE
IC8qIEpTUG9zaXRpb25DYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTk4MzY1REMxMzU1RjUzQzAwMUIxODVEIC8qIEpTUG9zaXRpb25DYWxs
YmFjay5oICovOyB9OworCQk1OTgzNjVERjEzNTVGNTYyMDAxQjE4NUQgLyogSlNQb3NpdGlvbkVy
cm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDU5ODM2NURFMTM1NUY1NjIwMDFCMTg1RCAvKiBKU1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5o
ICovOyB9OworCQk1OTgzNjVFNDEzNTVGNjA0MDAxQjE4NUQgLyogSlNQb3NpdGlvbkNhbGxiYWNr
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5ODM2
NUUzMTM1NUY2MDQwMDFCMTg1RCAvKiBKU1Bvc2l0aW9uQ2FsbGJhY2suY3BwICovOyB9OworCQk1
OTgzNjVFNjEzNTVGNjBEMDAxQjE4NUQgLyogSlNQb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTk4MzY1RTUxMzU1
RjYwRDAwMUIxODVEIC8qIEpTUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCAqLzsgfTsKIAkJNTk4
RDc3REQxMzI1NDFFRTAwNzYxQjIyIC8qIEphdmFBcnJheUpTQy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OThENzdEQzEzMjU0MUVFMDA3NjFCMjIg
LyogSmF2YUFycmF5SlNDLmNwcCAqLzsgfTsKIAkJNTk4RDc3REYxMzI1NDFGQTAwNzYxQjIyIC8q
IEphdmFBcnJheUpTQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTk4RDc3REUxMzI1NDFGQTAwNzYxQjIyIC8qIEphdmFBcnJheUpTQy5oICovOyB9Owog
CQk1OThENzdFMTEzMjU0MjA0MDA3NjFCMjIgLyogSmF2YUZpZWxkSlNDLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5OEQ3N0UwMTMyNTQyMDQwMDc2
MUIyMiAvKiBKYXZhRmllbGRKU0MuY3BwICovOyB9OwpAQCAtNTkzMywxMCArNTkzNyw2IEBACiAJ
CUZFNkZENDhEMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNkZENDhCMEY2NzZFOTMwMDA5
Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCAqLzsgfTsKIAkJRkU2RkQ0OEUwRjY3NkU5MzAwMDky
ODczIC8qIEpTQ29vcmRpbmF0ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEZFNkZENDhDMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmgg
Ki87IH07CiAJCUZFNzAwREQxMEY5MkQ4MUEwMDhFMkJGRSAvKiBKU0Nvb3JkaW5hdGVzQ3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNzAw
REQwMEY5MkQ4MUEwMDhFMkJGRSAvKiBKU0Nvb3JkaW5hdGVzQ3VzdG9tLmNwcCAqLzsgfTsKLQkJ
RkU4MEQ3QTcwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTgwRDdBMjBF
OUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcCAqLzsgfTsKLQkJ
RkU4MEQ3QTgwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4MEQ3QTMwRTlD
MUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5oICovOyB9OwotCQlGRTgw
RDdBOTBFOUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4MEQ3QTQw
RTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCAqLzsg
fTsKLQkJRkU4MEQ3QUEwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25FcnJvckNh
bGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
RTgwRDdBNTBFOUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2su
aCAqLzsgfTsKIAkJRkU4MEQ3QUIwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb25DdXN0
b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4
MEQ3QTYwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb25DdXN0b20uY3BwICovOyB9Owog
CQlGRTgwRDdDNTBFOUMxRjI1MDAwRDZGNzUgLyogR2VvbG9jYXRpb24uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4MEQ3QjcwRTlDMUYyNTAwMEQ2
Rjc1IC8qIEdlb2xvY2F0aW9uLmNwcCAqLzsgfTsKIAkJRkU4MEQ3QzYwRTlDMUYyNTAwMEQ2Rjc1
IC8qIEdlb2xvY2F0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGRTgwRDdCODBFOUMxRjI1MDAwRDZGNzUgLyogR2VvbG9jYXRpb24uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzkxNyw2ICs3OTE3
LDggQEAKIAkJNTkwRTFCNEExMUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2aWNlT3JpZW50YXRpb25F
dmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Rl
dmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1OTMwOUExMDExRjRBRTU4MDAyNTA2MDMgLyogRGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERldmljZU9yaWVu
dGF0aW9uQ2xpZW50TW9jay5jcHA7IHBhdGggPSBtb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50
TW9jay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5MzA5QTEyMTFGNEFFNkEw
MDI1MDYwMyAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmg7IHBhdGggPSBt
b2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1OTNBQjY5NzEzNTVDRDkyMDBGQzgyMTEgLyogUG9zaXRpb25DYWxsYmFjay5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUG9zaXRpb25DYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTU5M0FCNjk5MTM1NUNEQUUwMEZDODIxMSAvKiBQb3NpdGlvbkVy
cm9yQ2FsbGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBvc2l0aW9uRXJyb3JDYWxs
YmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5M0QzRUFFMTMyNTMyOEMw
MDU3RTdFRSAvKiBKYXZhTWV0aG9kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEphdmFNZXRob2QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTkzRDNFQjAxMzI1
MzI5NTAwNTdFN0VFIC8qIEphdmFTdHJpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSmF2YVN0cmluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OTU4RjFD
QjEzNDM5MTdDMDA4MEIzMUYgLyogWE1MVmlld2VyLmNzcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuY3NzOyBw
YXRoID0gWE1MVmlld2VyLmNzczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc5MjUs
NiArNzkyNywxMCBAQAogCQk1OTYyMjk3OTExMzNFRkUyMDBEQzRDQkIgLyogR2VvbG9jYXRpb25Q
b3NpdGlvbkNhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdlb2xvY2F0
aW9uUG9zaXRpb25DYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OTY5NTA4
MTEzMjEwNTk5MDBDM0VEMTggLyogSm9iamVjdFdyYXBwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSm9iamVjdFdyYXBwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNTk2OTUwODMxMzIxMDVBNTAwQzNFRDE4IC8qIEpvYmplY3RXcmFwcGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpvYmplY3RXcmFwcGVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTk4MzY1REMxMzU1RjUzQzAwMUIxODVEIC8qIEpT
UG9zaXRpb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1Bv
c2l0aW9uQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTk4MzY1REUx
MzU1RjU2MjAwMUIxODVEIC8qIEpTUG9zaXRpb25FcnJvckNhbGxiYWNrLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUG9zaXRpb25FcnJvckNhbGxiYWNrLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTU5ODM2NUUzMTM1NUY2MDQwMDFCMTg1RCAvKiBKU1Bvc2l0
aW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQ
b3NpdGlvbkNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTk4MzY1
RTUxMzU1RjYwRDAwMUIxODVEIC8qIEpTUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUG9zaXRpb25FcnJvckNhbGxiYWNrLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTk4RDc3REMxMzI1NDFFRTAwNzYxQjIy
IC8qIEphdmFBcnJheUpTQy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBKYXZhQXJyYXlKU0MuY3BwOyBwYXRoID0ganNjL0phdmFBcnJheUpTQy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5OEQ3N0RFMTMyNTQxRkEwMDc2MUIyMiAvKiBKYXZhQXJy
YXlKU0MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSmF2YUFycmF5SlNDLmg7
IHBhdGggPSBqc2MvSmF2YUFycmF5SlNDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTU5OEQ3N0UwMTMyNTQyMDQwMDc2MUIyMiAvKiBKYXZhRmllbGRKU0MuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSmF2YUZpZWxkSlNDLmNwcDsgcGF0aCA9IGpzYy9K
YXZhRmllbGRKU0MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI0ODAsMTAg
KzEyNDg2LDYgQEAKIAkJRkU2RkQ0OEIwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDb29yZGluYXRlcy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFNkZENDhDMEY2NzZFOTMwMDA5Mjg3
MyAvKiBKU0Nvb3JkaW5hdGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
Q29vcmRpbmF0ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU3MDBERDAwRjky
RDgxQTAwOEUyQkZFIC8qIEpTQ29vcmRpbmF0ZXNDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNDb29yZGluYXRlc0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCUZFODBEN0EyMEU5QzFFRDIwMDBENkY3NSAvKiBKU0N1c3RvbVBv
c2l0aW9uQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJRkU4MEQ3QTMwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJh
Y2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRkU4MEQ3QTQwRTlDMUVEMjAwMEQ2
Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRkU4MEQ3QTUwRTlDMUVEMjAwMEQ2Rjc1IC8q
IEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUZFODBEN0E2MEU5QzFFRDIwMDBENkY3NSAvKiBKU0dlb2xvY2F0aW9u
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR2VvbG9j
YXRpb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRTgwRDdCNzBF
OUMxRjI1MDAwRDZGNzUgLyogR2VvbG9jYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gR2VvbG9jYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlGRTgwRDdCODBFOUMxRjI1MDAwRDZGNzUgLyogR2VvbG9jYXRpb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2VvbG9jYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE0MTI0LDYgKzE0MTI2LDggQEAKIAkJNjVCRjAyMTgwOTc0ODA2MzAwQzQz
MTk2IC8qIHBhZ2UgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAor
CQkJCTU5M0FCNjk5MTM1NUNEQUUwMEZDODIxMSAvKiBQb3NpdGlvbkVycm9yQ2FsbGJhY2suaWRs
ICovLAorCQkJCTU5M0FCNjk3MTM1NUNEOTIwMEZDODIxMSAvKiBQb3NpdGlvbkNhbGxiYWNrLmlk
bCAqLywKIAkJCQkzMTZGRTEwNjBFNkUxRDg0MDBCRjYwODggLyogYW5pbWF0aW9uICovLAogCQkJ
CTkzQzA5QTgyMEIwNjRGMDUwMDVBQkQ0RCAvKiBtYWMgKi8sCiAJCQkJODUzOEYwMDAwQUQ3MTc3
MDAwNkE4MUQxIC8qIEFic3RyYWN0Vmlldy5pZGwgKi8sCkBAIC0xNjgzMiw2ICsxNjgzNiwxMCBA
QAogCQlBODNCNzkxMDBDQ0IwMDFCMDAwQjA4MjUgLyogQ29yZSAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNTk4MzY1RTUxMzU1RjYwRDAwMUIxODVEIC8q
IEpTUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCAqLywKKwkJCQk1OTgzNjVFMzEzNTVGNjA0MDAx
QjE4NUQgLyogSlNQb3NpdGlvbkNhbGxiYWNrLmNwcCAqLywKKwkJCQk1OTgzNjVERTEzNTVGNTYy
MDAxQjE4NUQgLyogSlNQb3NpdGlvbkVycm9yQ2FsbGJhY2suaCAqLywKKwkJCQk1OTgzNjVEQzEz
NTVGNTNDMDAxQjE4NUQgLyogSlNQb3NpdGlvbkNhbGxiYWNrLmggKi8sCiAJCQkJNjVERjMxRDgw
OUQxQzEyMjAwMEJFMzI1IC8qIEpTQXR0ci5jcHAgKi8sCiAJCQkJNjVERjMxRDkwOUQxQzEyMzAw
MEJFMzI1IC8qIEpTQXR0ci5oICovLAogCQkJCTkzRjlCNzlFMEJBNjAzMjYwMDg1NDA2NCAvKiBK
U0NEQVRBU2VjdGlvbi5jcHAgKi8sCkBAIC0xODQ0MSwxMCArMTg0NDksNiBAQAogCQkJCUIxRDVF
Q0I0MTM0QjU4REEwMDg3Qzc4RiAvKiBDYWxsYmFja0Z1bmN0aW9uLmggKi8sCiAJCQkJMTQ0OUUy
ODYxMDdENERCNDAwQjU3OTNGIC8qIEpTQ2FsbGJhY2tEYXRhLmNwcCAqLywKIAkJCQkxNDQ5RTI0
QTEwN0Q0QTg0MDBCNTc5M0YgLyogSlNDYWxsYmFja0RhdGEuaCAqLywKLQkJCQlGRTgwRDdBMjBF
OUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcCAqLywKLQkJCQlG
RTgwRDdBMzBFOUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmggKi8s
Ci0JCQkJRkU4MEQ3QTQwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25FcnJvckNh
bGxiYWNrLmNwcCAqLywKLQkJCQlGRTgwRDdBNTBFOUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Q
b3NpdGlvbkVycm9yQ2FsbGJhY2suaCAqLywKIAkJCQk1MUVDOTI1RDBDRTkwREQ0MDBGOTAzMDgg
LyogSlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCAqLywKIAkJCQkxQTM0MTdD
ODBDRUNGRjI1MDA0OUNCREUgLyogSlNDdXN0b21Wb2lkQ2FsbGJhY2suY3BwICovLAogCQkJCTFB
MzQxN0M3MENFQ0ZGMjUwMDQ5Q0JERSAvKiBKU0N1c3RvbVZvaWRDYWxsYmFjay5oICovLApAQCAt
MjEzNjgsOCArMjEzNzIsNiBAQAogCQkJCTE0Q0Y3OEE2MDlGNThDRDgwMEVCMzY2NSAvKiBKU0NT
U1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEQwNUZBQzBBMjNCMzBGMDA1RTcyMDMgLyog
SlNDU1NWYWx1ZUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0Nzc4QjgwMTE1QTU4MUEwMEI1
RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlGRTgwRDdBODBFOUMx
RUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywK
LQkJCQlGRTgwRDdBQTBFOUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMzQxN0M5MENFQ0ZGMjUwMDQ5Q0JERSAvKiBK
U0N1c3RvbVZvaWRDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEwQjkzN0MwQjczQzAw
QTAwM0VEODkwIC8qIEpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQUU4MkY5MDBDQUFGQTlEMDAyMjM3QUUgLyogSlNEYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yMjgzNSw2ICsyMjgzNyw4IEBACiAJCQkJRTFCRTUxMkUwQ0Y2QzUxMjAwMkVBOTU5IC8q
IFhTTFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3RTJFMEYxMkYwRkM5QzAw
QzEzMzc5IC8qIFhTU0ZpbHRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ1MzczNTMxMzdCNjUx
ODAwMDA4RENFIC8qIFplcm9Qb2xlLmggaW4gSGVhZGVycyAqLywKKwkJCQk1OTgzNjVERDEzNTVG
NTU3MDAxQjE4NUQgLyogSlNQb3NpdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQk1
OTgzNjVERjEzNTVGNTYyMDAxQjE4NUQgLyogSlNQb3NpdGlvbkVycm9yQ2FsbGJhY2suaCBpbiBI
ZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwogCQl9OwpAQCAtMjQxNzgsOCArMjQxODIsNiBAQAogCQkJCUJDMjBGQjdGMEMwRThFNkMw
MEQxNDQ3RiAvKiBKU0NTU1ZhbHVlQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4RDA1
RkFCMEEyM0IzMEYwMDVFNzIwMyAvKiBKU0NTU1ZhbHVlTGlzdC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlFNDc3OEI3RjExNUE1ODFBMDBCNUQzNzIgLyogSlNDdXN0b21FdmVudC5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQlGRTgwRDdBNzBFOUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlv
bkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUZFODBEN0E5MEU5QzFFRDIwMDBENkY3
NSAvKiBKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk1MUVDOTI2NTBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNh
bGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMzQxN0NBMENFQ0ZGMjUwMDQ5Q0JERSAv
KiBKU0N1c3RvbVZvaWRDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTBCOTNDMzBC
NzNDMjkxMDAzRUQ4OTAgLyogSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC0yNTUxMCw2ICsyNTUxMiw4IEBACiAJCQkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVBOTU5
IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzdFMkUwRTEyRjBG
QzlDMDBDMTMzNzkgLyogWFNTRmlsdGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZENTM3MzUy
MTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1OTgz
NjVFNDEzNTVGNjA0MDAxQjE4NUQgLyogSlNQb3NpdGlvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTU5ODM2NUU2MTM1NUY2MEQwMDFCMTg1RCAvKiBKU1Bvc2l0aW9uRXJyb3JDYWxs
YmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCmluZGV4IGQxOTE5YTI5MjQ0ZmQ3NTNlNDRhOWIwOTVl
M2U0ZmMzMDVlMWNkNmIuLmMzYzJkNDM4MGI4NWY1ZDhiNWQwMmVkYTNmNWM5OWMxMWUyYmMyY2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9u
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25l
LmNwcApAQCAtNDgsOCArNDgsNiBAQAogI2luY2x1ZGUgIkpTQ2xpcGJvYXJkQ3VzdG9tLmNwcCIK
ICNpbmNsdWRlICJKU0NvbnNvbGVDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTQ29vcmRpbmF0ZXND
dXN0b20uY3BwIgotI2luY2x1ZGUgIkpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5jcHAiCi0jaW5j
bHVkZSAiSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTQ3Vz
dG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNDdXN0b21Wb2lk
Q2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcCIKQEAg
LTE3NSw0ICsxNzMsMyBAQAogI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAiCiAj
aW5jbHVkZSAiV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAiCiAjaW5jbHVkZSAiV29ya2VyU2Ny
aXB0RGVidWdTZXJ2ZXIuY3BwIgotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOGM4MzI0Mjk2YWM5MWY1ZTU3NGRjN2JkZGU4N2JjYmZhOWY5N2E1MS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsNjIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSlNDdXN0b21Qb3NpdGlvbkNhbGxi
YWNrLmgiCi0KLSNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCi0KLSNpbmNsdWRlICJGcmFtZS5oIgot
I2luY2x1ZGUgIkpTR2VvcG9zaXRpb24uaCIKLSNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLUpTQ3VzdG9t
UG9zaXRpb25DYWxsYmFjazo6SlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrKEpTT2JqZWN0KiBjYWxs
YmFjaywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLSAgICA6IFBvc2l0aW9uQ2Fs
bGJhY2soZ2xvYmFsT2JqZWN0LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCi0gICAgLCBtX2Rh
dGEoY2FsbGJhY2ssIGdsb2JhbE9iamVjdCkKLXsKLX0KLQotdm9pZCBKU0N1c3RvbVBvc2l0aW9u
Q2FsbGJhY2s6OmhhbmRsZUV2ZW50KEdlb3Bvc2l0aW9uKiBnZW9wb3NpdGlvbikKLXsKLSAgICAv
LyBBY3RpdmVET01PYmplY3Qgd2lsbCBudWxsIG91ciBwb2ludGVyIHRvIHRoZSBTY3JpcHRFeGVj
dXRpb25Db250ZXh0IHdoZW4gaXQgZ29lcyBhd2F5LgotICAgIGlmICghc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBSZWZQdHI8SlNDdXN0b21Qb3NpdGlv
bkNhbGxiYWNrPiBwcm90ZWN0KHRoaXMpOwotCi0gICAgSlNDOjpKU0xvY2sgbG9jayhTaWxlbmNl
QXNzZXJ0aW9uc09ubHkpOwotICAgIEV4ZWNTdGF0ZSogZXhlYyA9IG1fZGF0YS5nbG9iYWxPYmpl
Y3QoKS0+Z2xvYmFsRXhlYygpOwotICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7Ci0gICAg
YXJncy5hcHBlbmQodG9KUyhleGVjLCBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90eXBl
KGV4ZWMpLCBnZW9wb3NpdGlvbikpOwotICAgIG1fZGF0YS5pbnZva2VDYWxsYmFjayhhcmdzKTsK
LX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKEdFT0xPQ0FU
SU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21Qb3Np
dGlvbkNhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVBvc2l0
aW9uQ2FsbGJhY2suaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWQ1NTI4ZGMyMzVh
Y2NhMGNkMDA5OTg2NTRhMTllMmJkNDZkZmNiMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVBv
c2l0aW9uQ2FsbGJhY2suaAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBKU0N1c3RvbVBv
c2l0aW9uQ2FsbGJhY2tfaAotI2RlZmluZSBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2tfaAotCi0j
aW5jbHVkZSAiSlNDYWxsYmFja0RhdGEuaCIKLSNpbmNsdWRlICJQb3NpdGlvbkNhbGxiYWNrLmgi
Ci0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFz
cyBHZW9wb3NpdGlvbjsKLWNsYXNzIEpTRE9NR2xvYmFsT2JqZWN0OwotCi1jbGFzcyBKU0N1c3Rv
bVBvc2l0aW9uQ2FsbGJhY2sgOiBwdWJsaWMgUG9zaXRpb25DYWxsYmFjayB7Ci1wdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8SlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrPiBjcmVhdGUoSlND
OjpKU09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCi0g
ICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFj
ayhjYWxsYmFjaywgZ2xvYmFsT2JqZWN0KSk7Ci0gICAgfQotICAgIAotcHJpdmF0ZToKLSAgICBK
U0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2soSlNDOjpKU09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xv
YmFsT2JqZWN0Kik7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQoR2VvcG9zaXRpb24q
KTsKLSAgICAKLSAgICBKU0NhbGxiYWNrRGF0YSBtX2RhdGE7Ci19OwotICAgIAotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25FcnJv
ckNhbGxiYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRp
b25FcnJvckNhbGxiYWNrLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTcxMTY4
ODJjMTA5YWZlMzZhZjEwODA2NWQ1MWZmYjZhNWQzOWY1MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1
c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0g
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNs
dWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5o
IgotCi0jaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQotCi0jaW5jbHVkZSAiRnJhbWUuaCIKLSNpbmNs
dWRlICJKU1Bvc2l0aW9uRXJyb3IuaCIKLSNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCi11c2luZyBuYW1lc3BhY2UgSlNDOwotCi1KU0N1c3Rv
bVBvc2l0aW9uRXJyb3JDYWxsYmFjazo6SlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2soSlNP
YmplY3QqIGNhbGxiYWNrLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQotICAgIDog
UG9zaXRpb25FcnJvckNhbGxiYWNrKGdsb2JhbE9iamVjdC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKQotICAgICwgbV9kYXRhKGNhbGxiYWNrLCBnbG9iYWxPYmplY3QpCi17Ci19Ci0KLXZvaWQg
SlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KFBvc2l0aW9uRXJyb3Iq
IHBvc2l0aW9uRXJyb3IpCi17Ci0gICAgLy8gQWN0aXZlRE9NT2JqZWN0IHdpbGwgbnVsbCBvdXIg
cG9pbnRlciB0byB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCB3aGVuIGl0IGdvZXMgYXdheS4K
LSAgICBpZiAoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgUmVmUHRyPEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrPiBwcm90ZWN0KHRoaXMpOwot
Ci0gICAgSlNDOjpKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIEV4ZWNT
dGF0ZSogZXhlYyA9IG1fZGF0YS5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpOwotICAgIE1h
cmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7Ci0gICAgYXJncy5hcHBlbmQodG9KUyhleGVjLCBkZXBy
ZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90eXBlKGV4ZWMpLCBwb3NpdGlvbkVycm9yKSk7Ci0g
ICAgCi0gICAgbV9kYXRhLmludm9rZUNhbGxiYWNrKGFyZ3MpOwotfQotICAgIAotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKEdFT0xPQ0FUSU9OKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJh
Y2suaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tUG9zaXRpb25FcnJvckNh
bGxiYWNrLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU5MzI4Y2E5ZWI0YWRkNDlm
YTliYTcxMTlmZjQ4Yzk2ZjI4Y2E1NzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21Qb3NpdGlv
bkVycm9yQ2FsbGJhY2suaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBKU0N1c3RvbVBv
c2l0aW9uRXJyb3JDYWxsYmFja19oCi0jZGVmaW5lIEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxi
YWNrX2gKLQotI2luY2x1ZGUgIkpTQ2FsbGJhY2tEYXRhLmgiCi0jaW5jbHVkZSAiUG9zaXRpb25F
cnJvckNhbGxiYWNrLmgiCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLQotbmFtZXNwYWNlIFdl
YkNvcmUgewotICAgIAotY2xhc3MgUG9zaXRpb25FcnJvcjsKLQotY2xhc3MgSlNDdXN0b21Qb3Np
dGlvbkVycm9yQ2FsbGJhY2sgOiBwdWJsaWMgUG9zaXRpb25FcnJvckNhbGxiYWNrIHsKLXB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjaz4g
Y3JlYXRlKEpTQzo6SlNPYmplY3QqIGNhbGxiYWNrLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBKU0N1c3RvbVBvc2l0
aW9uRXJyb3JDYWxsYmFjayhjYWxsYmFjaywgZ2xvYmFsT2JqZWN0KSk7Ci0gICAgfQotICAgIAot
cHJpdmF0ZToKLSAgICBKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjayhKU0M6OkpTT2JqZWN0
KiBjYWxsYmFjaywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCk7Ci0gICAgdmlydHVh
bCB2b2lkIGhhbmRsZUV2ZW50KFBvc2l0aW9uRXJyb3IqKTsKLSAgICAKLSAgICBKU0NhbGxiYWNr
RGF0YSBtX2RhdGE7Ci19OwotICAgIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYg
Ly8gSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNHZW9sb2NhdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0dlb2xvY2F0aW9uQ3VzdG9tLmNwcAppbmRleCBiOTNjNGNlYzRmYzQ0
NzgwZWE1ZTcyMzNkNDkxZWFjMjEyN2UwOWU2Li43ZTExZDViNjQ1YmU2NmViNWRjMDhiZjYwOTRk
Y2FiMzIwNDQwYmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0dl
b2xvY2F0aW9uQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0dl
b2xvY2F0aW9uQ3VzdG9tLmNwcApAQCAtMzEsOSArMzEsOSBAQAogI2luY2x1ZGUgIkNhbGxiYWNr
RnVuY3Rpb24uaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJHZW9sb2NhdGlv
bi5oIgotI2luY2x1ZGUgIkpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5oIgotI2luY2x1ZGUgIkpT
Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNET01XaW5kb3cuaCIK
KyNpbmNsdWRlICJKU1Bvc2l0aW9uQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU1Bvc2l0aW9uRXJy
b3JDYWxsYmFjay5oIgogI2luY2x1ZGUgIlBvc2l0aW9uT3B0aW9ucy5oIgogCiAjaWYgIUVOQUJM
RShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCkBAIC0xMTMsMTIgKzExMywxMiBAQCBKU1ZhbHVl
IEpTR2VvbG9jYXRpb246OmdldEN1cnJlbnRQb3NpdGlvbihFeGVjU3RhdGUqIGV4ZWMpCiB7CiAg
ICAgLy8gQXJndW1lbnRzOiBQb3NpdGlvbkNhbGxiYWNrLCAob3B0aW9uYWwpUG9zaXRpb25FcnJv
ckNhbGxiYWNrLCAob3B0aW9uYWwpUG9zaXRpb25PcHRpb25zCiAKLSAgICBSZWZQdHI8UG9zaXRp
b25DYWxsYmFjaz4gcG9zaXRpb25DYWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNr
PEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjaz4oZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxP
YmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBleGVjLT5hcmd1bWVudCgwKSk7
CisgICAgUmVmUHRyPFBvc2l0aW9uQ2FsbGJhY2s+IHBvc2l0aW9uQ2FsbGJhY2sgPSBjcmVhdGVG
dW5jdGlvbk9ubHlDYWxsYmFjazxKU1Bvc2l0aW9uQ2FsbGJhY2s+KGV4ZWMsIHN0YXRpY19jYXN0
PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+
YXJndW1lbnQoMCkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0
dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAgQVNTRVJUKHBvc2l0aW9uQ2FsbGJhY2spOwogCi0gICAg
UmVmUHRyPFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4gcG9zaXRpb25FcnJvckNhbGxiYWNrID0gY3Jl
YXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8SlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2s+KGV4
ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMSksIENhbGxiYWNrQWxsb3dVbmRlZmluZWQgfCBDYWxs
YmFja0FsbG93TnVsbCk7CisgICAgUmVmUHRyPFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4gcG9zaXRp
b25FcnJvckNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8SlNQb3NpdGlvbkVy
cm9yQ2FsbGJhY2s+KGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMSksIENhbGxiYWNrQWxsb3dV
bmRlZmluZWQgfCBDYWxsYmFja0FsbG93TnVsbCk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlv
bigpKQogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIApAQCAtMTM1LDEyICsxMzUsMTIg
QEAgSlNWYWx1ZSBKU0dlb2xvY2F0aW9uOjp3YXRjaFBvc2l0aW9uKEV4ZWNTdGF0ZSogZXhlYykK
IHsKICAgICAvLyBBcmd1bWVudHM6IFBvc2l0aW9uQ2FsbGJhY2ssIChvcHRpb25hbClQb3NpdGlv
bkVycm9yQ2FsbGJhY2ssIChvcHRpb25hbClQb3NpdGlvbk9wdGlvbnMKIAotICAgIFJlZlB0cjxQ
b3NpdGlvbkNhbGxiYWNrPiBwb3NpdGlvbkNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2Fs
bGJhY2s8SlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrPihleGVjLCBzdGF0aWNfY2FzdDxKU0RPTUds
b2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4ZWMtPmFyZ3VtZW50
KDApKTsKKyAgICBSZWZQdHI8UG9zaXRpb25DYWxsYmFjaz4gcG9zaXRpb25DYWxsYmFjayA9IGNy
ZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPEpTUG9zaXRpb25DYWxsYmFjaz4oZXhlYywgc3RhdGlj
X2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBl
eGVjLT5hcmd1bWVudCgwKSk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAg
ICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICBBU1NFUlQocG9zaXRpb25DYWxsYmFjayk7CiAK
LSAgICBSZWZQdHI8UG9zaXRpb25FcnJvckNhbGxiYWNrPiBwb3NpdGlvbkVycm9yQ2FsbGJhY2sg
PSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFj
az4oZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xv
YmFsT2JqZWN0KCkpLCBleGVjLT5hcmd1bWVudCgxKSwgQ2FsbGJhY2tBbGxvd1VuZGVmaW5lZCB8
IENhbGxiYWNrQWxsb3dOdWxsKTsKKyAgICBSZWZQdHI8UG9zaXRpb25FcnJvckNhbGxiYWNrPiBw
b3NpdGlvbkVycm9yQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxKU1Bvc2l0
aW9uRXJyb3JDYWxsYmFjaz4oZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihl
eGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBleGVjLT5hcmd1bWVudCgxKSwgQ2FsbGJhY2tB
bGxvd1VuZGVmaW5lZCB8IENhbGxiYWNrQWxsb3dOdWxsKTsKICAgICBpZiAoZXhlYy0+aGFkRXhj
ZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNr
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9u
Q2FsbGJhY2suY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5N2QwZGRlNWY5ZTM4
OTU1ZWZlZDRlZmJmMThjNzhiMDQ4N2I5ODcxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1
c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODIgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAyMDA5LCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlY4Q3VzdG9tUG9zaXRpb25DYWxs
YmFjay5oIgotCi0jaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQotCi0jaW5jbHVkZSAiU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIgotI2luY2x1ZGUgIlY4Q3VzdG9tVm9pZENhbGxiYWNrLmgiICAvLyBG
b3IgaW52b2tlQ2FsbGJhY2sKLSNpbmNsdWRlICJWOEdlb3Bvc2l0aW9uLmgiCi0jaW5jbHVkZSAi
VjhQcm94eS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVY4Q3VzdG9tUG9zaXRpb25DYWxs
YmFjazo6VjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrKHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBjYWxs
YmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKLSAgICA6IFBvc2l0aW9uQ2Fs
bGJhY2soY29udGV4dCkKLSAgICAsIG1fY2FsbGJhY2sodjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVj
dD46Ok5ldyhjYWxsYmFjaykpCi17Ci19Ci0KLVY4Q3VzdG9tUG9zaXRpb25DYWxsYmFjazo6flY4
Q3VzdG9tUG9zaXRpb25DYWxsYmFjaygpCi17Ci0gICAgbV9jYWxsYmFjay5EaXNwb3NlKCk7Ci19
Ci0KLXZvaWQgVjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrOjpoYW5kbGVFdmVudChHZW9wb3NpdGlv
biogcG9zaXRpb24pCi17Ci0gICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOwotCi0gICAg
Ly8gQWN0aXZlRE9NT2JqZWN0IHdpbGwgbnVsbCBvdXIgcG9pbnRlciB0byB0aGUgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCB3aGVuIGl0IGdvZXMgYXdheS4KLSAgICBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBzY3JpcHRDb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotICAgIGlmICgh
c2NyaXB0Q29udGV4dCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gVGhlIGxvb2t1cCBvZiB0
aGUgcHJveHkgd2lsbCBmYWlsIGlmIHRoZSBGcmFtZSBoYXMgYmVlbiBkZXRhY2hlZC4KLSAgICBW
OFByb3h5KiBwcm94eSA9IFY4UHJveHk6OnJldHJpZXZlKHNjcmlwdENvbnRleHQpOwotICAgIGlm
ICghcHJveHkpCi0gICAgICAgIHJldHVybjsKLQotICAgIHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+
IGNvbnRleHQgPSBwcm94eS0+Y29udGV4dCgpOwotICAgIGlmIChjb250ZXh0LklzRW1wdHkoKSkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgdjg6OkNvbnRleHQ6OlNjb3BlIHNjb3BlKGNvbnRleHQp
OwotCi0gICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3ZbXSA9IHsKLSAgICAgICAgdG9WOChw
b3NpdGlvbikKLSAgICB9OwotCi0gICAgLy8gUHJvdGVjdCB0aGUgc2NyaXB0IGNvbnRleHQgdW50
aWwgdGhlIGNhbGxiYWNrIHJldHVybnMuCi0gICAgUmVmUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ+IHByb3RlY3RvcihzY3JpcHRDb250ZXh0KTsKLQotICAgIGJvb2wgY2FsbGJhY2tSZXR1cm5W
YWx1ZSA9IGZhbHNlOwotICAgIGludm9rZUNhbGxiYWNrKG1fY2FsbGJhY2ssIDEsIGFyZ3YsIGNh
bGxiYWNrUmV0dXJuVmFsdWUsIHNjcmlwdENvbnRleHQpOwotfQotCi19IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoR0VPTE9DQVRJT04pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkNhbGxi
YWNrLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxZGI5MjIzNjNhYmE5NDg2MGM5
ZjZhZTM0MzVmMTM2OGU0YTJkZTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9z
aXRpb25DYWxsYmFjay5oCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAyMDA5LCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Ci0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
Ci0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lm
bmRlZiBWOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2tfaAotI2RlZmluZSBWOEN1c3RvbVBvc2l0aW9u
Q2FsbGJhY2tfaAotCi0jaW5jbHVkZSAiUG9zaXRpb25DYWxsYmFjay5oIgotCi0jaW5jbHVkZSA8
djguaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBGcmFtZTsKLWNsYXNzIEdlb3Bvc2l0
aW9uOwotY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKLQotY2xhc3MgVjhDdXN0b21Qb3Np
dGlvbkNhbGxiYWNrIDogcHVibGljIFBvc2l0aW9uQ2FsbGJhY2sgewotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFY4Q3VzdG9tUG9zaXRpb25DYWxsYmFjaz4gY3JlYXRlKHY4OjpMb2Nh
bDx2ODo6VmFsdWU+IHZhbHVlLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQotICAg
IHsKLSAgICAgICAgQVNTRVJUKHZhbHVlLT5Jc09iamVjdCgpKTsKLSAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBWOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2sodmFsdWUtPlRvT2JqZWN0KCksIGNv
bnRleHQpKTsKLSAgICB9Ci0gICAgdmlydHVhbCB+VjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrKCk7
Ci0KLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQoR2VvcG9zaXRpb24qKTsKLQotcHJpdmF0
ZToKLSAgICBWOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2sodjg6OkxvY2FsPHY4OjpPYmplY3Q+LCBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0Kik7Ci0KLSAgICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0
PiBtX2NhbGxiYWNrOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8g
VjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJh
Y2suY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MDZhOTA5NzdiNjA1ZGNkNDc2
ODA0NThlY2MzNzhmY2QzMWQ1ZGI2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVBv
c2l0aW9uRXJyb3JDYWxsYmFjay5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4MiArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IDIwMDksIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
T1dORVIgT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0g
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiVjhDdXN0b21Qb3NpdGlvbkVycm9y
Q2FsbGJhY2suaCIKLQotI2lmIEVOQUJMRShHRU9MT0NBVElPTikKLQotI2luY2x1ZGUgIlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaCIKLSNpbmNsdWRlICJWOEN1c3RvbVZvaWRDYWxsYmFjay5oIiAg
Ly8gRm9yIGludm9rZUNhbGxiYWNrCi0jaW5jbHVkZSAiVjhQb3NpdGlvbkVycm9yLmgiCi0jaW5j
bHVkZSAiVjhQcm94eS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVY4Q3VzdG9tUG9zaXRp
b25FcnJvckNhbGxiYWNrOjpWOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjayh2ODo6TG9jYWw8
djg6Ok9iamVjdD4gY2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCi0g
ICAgOiBQb3NpdGlvbkVycm9yQ2FsbGJhY2soY29udGV4dCkKLSAgICAsIG1fY2FsbGJhY2sodjg6
OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46Ok5ldyhjYWxsYmFjaykpCi17Ci19Ci0KLVY4Q3VzdG9t
UG9zaXRpb25FcnJvckNhbGxiYWNrOjp+VjhDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2soKQot
ewotICAgIG1fY2FsbGJhY2suRGlzcG9zZSgpOwotfQotCi12b2lkIFY4Q3VzdG9tUG9zaXRpb25F
cnJvckNhbGxiYWNrOjpoYW5kbGVFdmVudChQb3NpdGlvbkVycm9yKiBlcnJvcikKLXsKLSAgICB2
ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7Ci0KLSAgICAvLyBBY3RpdmVET01PYmplY3Qgd2ls
bCBudWxsIG91ciBwb2ludGVyIHRvIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0IHdoZW4gaXQg
Z29lcyBhd2F5LgotICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdENvbnRleHQgPSBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgaWYgKCFzY3JpcHRDb250ZXh0KQotICAgICAg
ICByZXR1cm47Ci0KLSAgICAvLyBUaGUgbG9va3VwIG9mIHRoZSBwcm94eSB3aWxsIGZhaWwgaWYg
dGhlIEZyYW1lIGhhcyBiZWVuIGRldGFjaGVkLgotICAgIFY4UHJveHkqIHByb3h5ID0gVjhQcm94
eTo6cmV0cmlldmUoc2NyaXB0Q29udGV4dCk7Ci0gICAgaWYgKCFwcm94eSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgdjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gY29udGV4dCA9IHByb3h5LT5jb250
ZXh0KCk7Ci0gICAgaWYgKGNvbnRleHQuSXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICB2ODo6Q29udGV4dDo6U2NvcGUgc2NvcGUoY29udGV4dCk7Ci0KLSAgICB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gYXJndltdID0gewotICAgICAgICB0b1Y4KGVycm9yKQotICAgIH07Ci0KLSAgICAv
LyBQcm90ZWN0IHRoZSBzY3JpcHQgY29udGV4dCB1bnRpbCB0aGUgY2FsbGJhY2sgcmV0dXJucy4K
LSAgICBSZWZQdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gcHJvdGVjdG9yKHNjcmlwdENvbnRl
eHQpOwotCi0gICAgYm9vbCBjYWxsYmFja1JldHVyblZhbHVlID0gZmFsc2U7Ci0gICAgaW52b2tl
Q2FsbGJhY2sobV9jYWxsYmFjaywgMSwgYXJndiwgY2FsbGJhY2tSZXR1cm5WYWx1ZSwgc2NyaXB0
Q29udGV4dCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJM
RShHRU9MT0NBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmgKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyMTFiNjA2M2Y1OTZkNzQ2ZDE4ZTQ3YmYyZWM3YzZjYzRk
ZGFlMjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tUG9zaXRpb25FcnJvckNhbGxi
YWNrLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IDIw
MDksIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKLSAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFY4Q3Vz
dG9tUG9zaXRpb25FcnJvckNhbGxiYWNrX2gKLSNkZWZpbmUgVjhDdXN0b21Qb3NpdGlvbkVycm9y
Q2FsbGJhY2tfaAotCi0jaW5jbHVkZSAiUG9zaXRpb25FcnJvckNhbGxiYWNrLmgiCi0KLSNpbmNs
dWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEZyYW1lOwotY2xhc3MgUG9z
aXRpb25FcnJvcjsKLWNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7Ci0KLWNsYXNzIFY4Q3Vz
dG9tUG9zaXRpb25FcnJvckNhbGxiYWNrIDogcHVibGljIFBvc2l0aW9uRXJyb3JDYWxsYmFjayB7
Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8VjhDdXN0b21Qb3NpdGlvbkVycm9yQ2Fs
bGJhY2s+IGNyZWF0ZSh2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCkKLSAgICB7Ci0gICAgICAgIEFTU0VSVCh2YWx1ZS0+SXNPYmplY3Qo
KSk7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVjhDdXN0b21Qb3NpdGlvbkVycm9yQ2Fs
bGJhY2sodmFsdWUtPlRvT2JqZWN0KCksIGNvbnRleHQpKTsKLSAgICB9Ci0gICAgdmlydHVhbCB+
VjhDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2soKTsKLQotICAgIHZpcnR1YWwgdm9pZCBoYW5k
bGVFdmVudChQb3NpdGlvbkVycm9yKik7Ci0KLXByaXZhdGU6Ci0gICAgVjhDdXN0b21Qb3NpdGlv
bkVycm9yQ2FsbGJhY2sodjg6OkxvY2FsPHY4OjpPYmplY3Q+LCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0Kik7Ci0KLSAgICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBtX2NhbGxiYWNrOwotfTsK
LQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gVjhDdXN0b21Qb3NpdGlvbkVy
cm9yQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4R2VvbG9jYXRpb25DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4R2VvbG9jYXRpb25DdXN0b20uY3BwCmluZGV4IDkxMzg5ZDgyYTlmZjk3YzE1MzU2
NzIxMTg5N2ExNDNhOGU5NGY0YjEuLjgyN2NjM2Q2NTNlMDY2YWIwOGU1NDdjNWIwNmUyYWUxNGQ3
ODc1ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEdl
b2xvY2F0aW9uQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhHZW9sb2NhdGlvbkN1c3RvbS5jcHAKQEAgLTMxLDggKzMxLDggQEAKICNpbmNsdWRlICJG
cmFtZS5oIgogI2luY2x1ZGUgIkdlb2xvY2F0aW9uLmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgi
Ci0jaW5jbHVkZSAiVjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmgiCi0jaW5jbHVkZSAiVjhDdXN0
b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJWOFBvc2l0aW9uQ2FsbGJhY2su
aCIKKyNpbmNsdWRlICJWOFBvc2l0aW9uRXJyb3JDYWxsYmFjay5oIgogI2luY2x1ZGUgIlY4VXRp
bGl0aWVzLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC0xMzMsMTMgKzEzMywxMyBAQCB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhHZW9sb2NhdGlvbjo6Z2V0Q3VycmVudFBvc2l0aW9uQ2Fs
bGJhY2soY29uc3Qgdjg6OkFyZ3VtZQogCiAgICAgYm9vbCBzdWNjZWVkZWQgPSBmYWxzZTsKIAot
ICAgIFJlZlB0cjxQb3NpdGlvbkNhbGxiYWNrPiBwb3NpdGlvbkNhbGxiYWNrID0gY3JlYXRlRnVu
Y3Rpb25Pbmx5Q2FsbGJhY2s8VjhDdXN0b21Qb3NpdGlvbkNhbGxiYWNrPihhcmdzWzBdLCBzdWNj
ZWVkZWQpOworICAgIFJlZlB0cjxQb3NpdGlvbkNhbGxiYWNrPiBwb3NpdGlvbkNhbGxiYWNrID0g
Y3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8VjhQb3NpdGlvbkNhbGxiYWNrPihhcmdzWzBdLCBz
dWNjZWVkZWQpOwogICAgIGlmICghc3VjY2VlZGVkKQogICAgICAgICByZXR1cm4gdjg6OlVuZGVm
aW5lZCgpOwogICAgIEFTU0VSVChwb3NpdGlvbkNhbGxiYWNrKTsKIAogICAgIC8vIEFyZ3VtZW50
IGlzIG9wdGlvbmFsIChoZW5jZSB1bmRlZmluZWQgaXMgYWxsb3dlZCksIGFuZCBudWxsIGlzIGFs
bG93ZWQuCi0gICAgUmVmUHRyPFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4gcG9zaXRpb25FcnJvckNh
bGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8VjhDdXN0b21Qb3NpdGlvbkVycm9y
Q2FsbGJhY2s+KGFyZ3NbMV0sIHN1Y2NlZWRlZCwgQ2FsbGJhY2tBbGxvd1VuZGVmaW5lZCB8IENh
bGxiYWNrQWxsb3dOdWxsKTsKKyAgICBSZWZQdHI8UG9zaXRpb25FcnJvckNhbGxiYWNrPiBwb3Np
dGlvbkVycm9yQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxWOFBvc2l0aW9u
RXJyb3JDYWxsYmFjaz4oYXJnc1sxXSwgc3VjY2VlZGVkLCBDYWxsYmFja0FsbG93VW5kZWZpbmVk
IHwgQ2FsbGJhY2tBbGxvd051bGwpOwogICAgIGlmICghc3VjY2VlZGVkKQogICAgICAgICByZXR1
cm4gdjg6OlVuZGVmaW5lZCgpOwogCkBAIC0xNTksMTMgKzE1OSwxMyBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhHZW9sb2NhdGlvbjo6d2F0Y2hQb3NpdGlvbkNhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmCiAKICAgICBib29sIHN1Y2NlZWRlZCA9IGZhbHNlOwogCi0gICAgUmVmUHRyPFBv
c2l0aW9uQ2FsbGJhY2s+IHBvc2l0aW9uQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxs
YmFjazxWOEN1c3RvbVBvc2l0aW9uQ2FsbGJhY2s+KGFyZ3NbMF0sIHN1Y2NlZWRlZCk7CisgICAg
UmVmUHRyPFBvc2l0aW9uQ2FsbGJhY2s+IHBvc2l0aW9uQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlv
bk9ubHlDYWxsYmFjazxWOFBvc2l0aW9uQ2FsbGJhY2s+KGFyZ3NbMF0sIHN1Y2NlZWRlZCk7CiAg
ICAgaWYgKCFzdWNjZWVkZWQpCiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAgICAg
QVNTRVJUKHBvc2l0aW9uQ2FsbGJhY2spOwogCiAgICAgLy8gQXJndW1lbnQgaXMgb3B0aW9uYWwg
KGhlbmNlIHVuZGVmaW5lZCBpcyBhbGxvd2VkKSwgYW5kIG51bGwgaXMgYWxsb3dlZC4KLSAgICBS
ZWZQdHI8UG9zaXRpb25FcnJvckNhbGxiYWNrPiBwb3NpdGlvbkVycm9yQ2FsbGJhY2sgPSBjcmVh
dGVGdW5jdGlvbk9ubHlDYWxsYmFjazxWOEN1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjaz4oYXJn
c1sxXSwgc3VjY2VlZGVkLCBDYWxsYmFja0FsbG93VW5kZWZpbmVkIHwgQ2FsbGJhY2tBbGxvd051
bGwpOworICAgIFJlZlB0cjxQb3NpdGlvbkVycm9yQ2FsbGJhY2s+IHBvc2l0aW9uRXJyb3JDYWxs
YmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPFY4UG9zaXRpb25FcnJvckNhbGxiYWNr
PihhcmdzWzFdLCBzdWNjZWVkZWQsIENhbGxiYWNrQWxsb3dVbmRlZmluZWQgfCBDYWxsYmFja0Fs
bG93TnVsbCk7CiAgICAgaWYgKCFzdWNjZWVkZWQpCiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZp
bmVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9zaXRpb25DYWxsYmFj
ay5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3NpdGlvbkNhbGxiYWNrLmgKaW5kZXggNTUxMWQz
ZTBlMTgyMTMxMjFiN2RlMzQ4MjZiMWFhZGY2ZWVjYzFmNS4uMDlkN2ViNjkyMTg2NzYwMDk0YWRk
ZGNiODcxOTgzMTZhMjRlM2IxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3Np
dGlvbkNhbGxiYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3NpdGlvbkNhbGxiYWNr
LmgKQEAgLTI2LDIwICsyNiwxOCBAQAogI2lmbmRlZiBQb3NpdGlvbkNhbGxiYWNrX2gKICNkZWZp
bmUgUG9zaXRpb25DYWxsYmFja19oCiAKLSNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCisK
ICAgICBjbGFzcyBHZW9wb3NpdGlvbjsKLSAgICAKLSAgICBjbGFzcyBQb3NpdGlvbkNhbGxiYWNr
IDogcHVibGljIFJlZkNvdW50ZWQ8UG9zaXRpb25DYWxsYmFjaz4sIHB1YmxpYyBBY3RpdmVET01P
YmplY3QgeworCisgICAgY2xhc3MgUG9zaXRpb25DYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVk
PFBvc2l0aW9uQ2FsbGJhY2s+IHsKICAgICBwdWJsaWM6Ci0gICAgICAgIFBvc2l0aW9uQ2FsbGJh
Y2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgOiBBY3RpdmVET01PYmplY3QoY29u
dGV4dCwgdGhpcykgeyB9CiAgICAgICAgIHZpcnR1YWwgflBvc2l0aW9uQ2FsbGJhY2soKSB7IH0K
LSAgICAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUV2ZW50KEdlb3Bvc2l0aW9uKikgPSAwOworICAg
ICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoR2VvcG9zaXRpb24qKSA9IDA7CiAgICAgfTsK
LSAgICAKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gUG9zaXRpb25DYWxs
YmFja19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9uQ2FsbGJhY2su
aWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3NpdGlvbkNhbGxiYWNrLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42ZDEwYzQzMzdiZDkxNjU0YTYyY2Q3YzViMGUzOWNjZDVmM2I0Nzg2Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Qb3NpdGlvbkNhbGxiYWNrLmlkbApAQCAtMCwwICsx
LDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgY29yZSB7CisgICAgaW50ZXJmYWNlIFsKKyAg
ICAgICAgQ29uZGl0aW9uYWw9R0VPTE9DQVRJT04sCisgICAgICAgIENhbGxiYWNrPUZ1bmN0aW9u
T25seQorICAgIF0gUG9zaXRpb25DYWxsYmFjayB7CisgICAgICAgIGJvb2xlYW4gaGFuZGxlRXZl
bnQoaW4gR2VvcG9zaXRpb24gcG9zaXRpb24pOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaAppbmRleCBhNjVlMzUwNTE5Nzk3MTBjNDMwMjIw
NWE3ZDdlZDRlMzNjOGU3YjViLi5kMTUyNzg1YzEwNTU3ZTUyNzBjNzY0NGMwZWQ4YWNkMDc5Yzlj
MmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9uRXJyb3JDYWxsYmFj
ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUG9zaXRpb25FcnJvckNhbGxiYWNrLmgKQEAg
LTI2LDIwICsyNiwxOCBAQAogI2lmbmRlZiBQb3NpdGlvbkVycm9yQ2FsbGJhY2tfaAogI2RlZmlu
ZSBQb3NpdGlvbkVycm9yQ2FsbGJhY2tfaAogCi0jaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0Lmgi
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAg
ICAgY2xhc3MgUG9zaXRpb25FcnJvcjsKIAotICAgIGNsYXNzIFBvc2l0aW9uRXJyb3JDYWxsYmFj
ayA6IHB1YmxpYyBSZWZDb3VudGVkPFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4sIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QgeworICAgIGNsYXNzIFBvc2l0aW9uRXJyb3JDYWxsYmFjayA6IHB1YmxpYyBS
ZWZDb3VudGVkPFBvc2l0aW9uRXJyb3JDYWxsYmFjaz4gewogICAgIHB1YmxpYzoKLSAgICAgICAg
UG9zaXRpb25FcnJvckNhbGxiYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIDog
QWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpIHsgfQogICAgICAgICB2aXJ0dWFsIH5Qb3Np
dGlvbkVycm9yQ2FsbGJhY2soKSB7IH0KLSAgICAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUV2ZW50
KFBvc2l0aW9uRXJyb3IqKSA9IDA7CisgICAgICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChQ
b3NpdGlvbkVycm9yKikgPSAwOwogICAgIH07Ci0gICAgCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIFBvc2l0aW9uRXJyb3JDYWxsYmFja19oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzIwOTlmOTRmODg3
NTRhODI2MjhhNzM1OTU3NmUzMWI0NzBlMTM2NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUG9zaXRpb25FcnJvckNhbGxiYWNrLmlkbApAQCAtMCwwICsxLDMyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisg
KiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCittb2R1bGUgY29yZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29u
ZGl0aW9uYWw9R0VPTE9DQVRJT04sCisgICAgICAgIENhbGxiYWNrPUZ1bmN0aW9uT25seQorICAg
IF0gUG9zaXRpb25FcnJvckNhbGxiYWNrIHsKKyAgICAgICAgYm9vbGVhbiBoYW5kbGVFdmVudChp
biBQb3NpdGlvbkVycm9yIGVycm9yKTsKKyAgICB9OworfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>