<?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>93294</bug_id>
          
          <creation_ts>2012-08-06 13:20:55 -0700</creation_ts>
          <short_desc>REGRESSION(r124780): This patch broke the Adroid build (Requested by annacc on #webkit).</short_desc>
          <delta_ts>2012-08-06 23:41:01 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>93340</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>91773</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>annacc</cc>
    
    <cc>eric.carlson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>688376</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-06 13:20:55 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/124780 broke the build:
This patch broke the Adroid build (Requested by annacc on #webkit).

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

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688378</commentid>
    <comment_count>1</comment_count>
      <attachid>156753</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-06 13:21:44 -0700</bug_when>
    <thetext>Created attachment 156753
ROLLOUT of r124780

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

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

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688397</commentid>
    <comment_count>2</comment_count>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-08-06 13:42:38 -0700</bug_when>
    <thetext>Landed a fix in r124798 rather than reverting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688837</commentid>
    <comment_count>3</comment_count>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-08-06 22:53:22 -0700</bug_when>
    <thetext>Going ahead and reverting this patch so that we have a consistent Media Source Extensions version for the chromium branch cut.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688840</commentid>
    <comment_count>4</comment_count>
      <attachid>156753</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-06 22:56:14 -0700</bug_when>
    <thetext>Comment on attachment 156753
ROLLOUT of r124780

Rejecting attachment 156753 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
ore/dom/EventTarget.h
patching file Source/WebCore/dom/EventTargetFactory.in
patching file Source/WebCore/html/DOMURL.cpp
Hunk #2 FAILED at 49.
1 out of 2 hunks FAILED -- saving rejects to file Source/WebCore/html/DOMURL.cpp.rej
patching file Source/WebCore/html/DOMURL.h
patching file Source/WebCore/html/DOMURL.idl
patching file Source/WebCore/page/DOMWindow.idl

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/13452155</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688875</commentid>
    <comment_count>5</comment_count>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-08-06 23:41:01 -0700</bug_when>
    <thetext>Looks like this patch was a bit stale.  Created a new one for the revert

*** This bug has been marked as a duplicate of bug 93340 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156753</attachid>
            <date>2012-08-06 13:21:44 -0700</date>
            <delta_ts>2012-08-06 22:56:13 -0700</delta_ts>
            <desc>ROLLOUT of r124780</desc>
            <filename>bug-93294-20120806202720.patch</filename>
            <type>text/plain</type>
            <size>43908</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0Nzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGU0NzgwZWM0NzUzZDU5
ZTY1NGJhOWNhNDQ0NjliMGE3ZTk0OGYxZi4uZmU4Y2JhYjllMDc1ODlhOGUxMDM1YjMxYTliNmM4
ZWEyODU2ZDdhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTA4LTA2ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTI0NzgwLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMjQ3ODAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkzMjk0CisKKyAgICAgICAgVGhpcyBwYXRjaCBicm9rZSB0aGUgQWRyb2lkIGJ1
aWxkIChSZXF1ZXN0ZWQgYnkgYW5uYWNjIG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgor
ICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNv
dXJjZS9NZWRpYVNvdXJjZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNv
dXJjZS9NZWRpYVNvdXJjZS5oOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3Vy
Y2UvTWVkaWFTb3VyY2UuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3Vy
Y2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5Lmg6IFJlbW92ZWQuCisgICAgICAgICogTW9k
dWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U291
cmNlQnVmZmVyOjpTb3VyY2VCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVy
OjpidWZmZXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFwcGVuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFib3J0KToKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVm
ZmVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpjbGVhcik6Cisg
ICAgICAgIChTb3VyY2VCdWZmZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyTGlzdC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXJMaXN0Lmg6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9FdmVudFRh
cmdldC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFj
dG9yeS5pbjoKKyAgICAgICAgKiBodG1sL0RPTVVSTC5jcHA6CisgICAgICAgICogaHRtbC9ET01V
UkwuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRE9NVVJMKToKKyAgICAgICAgKiBo
dG1sL0RPTVVSTC5pZGw6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEyLTA3
LTMxICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgbmVlZCB0ZXN0
cyB0byBlbnN1cmUgZmxleGJveGVzIHBsYXkgbmljZWx5IHdpdGggYm94LXNpemluZwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAppbmRleCBkYjg4YTA1N2E2YTQ3MTllYWQ4YzhlNDI5ZDNiODU1ZjZlMjExOGEx
Li5jNTcwZjA4OTYzYWMxNzgyNTI4Mjg5ODYyMThkMmE4MThhZGIyYWUzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dApAQCAtMTk0LDcgKzE5NCw2IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIE1v
ZHVsZXMvaW50ZW50cy9JbnRlbnRSZXN1bHRDYWxsYmFjay5pZGwKICAgICBNb2R1bGVzL2ludGVu
dHMvTmF2aWdhdG9ySW50ZW50cy5pZGwKIAotICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFT
b3VyY2UuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsCiAgICAg
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbAogCkBAIC04MjUsNyArODI0
LDYgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIE1vZHVsZXMvaW50ZW50cy9JbnRlbnRSZXF1
ZXN0LmNwcAogICAgIE1vZHVsZXMvaW50ZW50cy9OYXZpZ2F0b3JJbnRlbnRzLmNwcAogCi0gICAg
TW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKICAgICBNb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlci5jcHAKICAgICBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ckxpc3QuY3BwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCAwZmE4YWNjZjQ5YjEx
N2JjMGQ1ZjA4YzhkYzBjZjg0NTk3NDdlYzliLi5mODBhOWUyMGI1OGVkMjA1MDkxNmZiOGMyMTY4
OGE4NjA2OGEzMTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0yMzcsOSArMjM3
LDYgQEAKICNpbmNsdWRlICJKU01lZGlhRXJyb3IuY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFMaXN0
LmNwcCIKICNpbmNsdWRlICJKU01lZGlhUXVlcnlMaXN0LmNwcCIKLSNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQotI2luY2x1ZGUgIkpTTWVkaWFTb3VyY2UuY3BwIgotI2VuZGlmCiAjaW5jbHVkZSAi
SlNNZW1vcnlJbmZvLmNwcCIKICNpbmNsdWRlICJKU01lc3NhZ2VDaGFubmVsLmNwcCIKICNpbmNs
dWRlICJKU01lc3NhZ2VFdmVudC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRl
eCA3NGRkNGYzZDM1ZmNmZDI3OTAzYzU5YzlmMDI5NGY0N2VkNjc3MmQ1Li4wY2YyOWJlOThlMzE3
MmM4ZjlkNjZhOWIxOTNkOTI1ZDkwYzc3NWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTEwNiw3ICsxMDYsNiBAQCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJWZXJzaW9uQ2hhbmdlRXZlbnQuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvaW5kZXhlZGRiL0lEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0LmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJDb250ZXh0SW5kZXhlZERhdGFiYXNl
LmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0Lmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZp
Y2F0aW9ucy5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
cHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCmluZGV4IDE1NjJlMjU5MGM3
NzZjZGYzMjM4YTNjMTk5ODczMjRlZWQ1MzE2YzkuLjkzZjNkZGE2YTMwNjdiOTcxZjk3ZGRkMjc4
ZDQ1NzkwNjNkZTlmYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKQEAgLTYyNCw3ICs2
MjQsNiBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVklERU9fVFJBQ0s9MSkgewogCiBjb250
YWlucyhERUZJTkVTLCBFTkFCTEVfTUVESUFfU09VUkNFPTEpIHsKICAgSURMX0JJTkRJTkdTICs9
IFwKLSAgICAkJFBXRC9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbCBcCiAgICAg
JCRQV0QvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsIFwKICAgICAkJFBXRC9N
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRsCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQppbmRleCA1ZWMwYmMyZjBmOGQ1NTdmNzJhMTNlYjE4MzA5ZmQ0MjRmY2I3
MDMzLi44YjFjNjI5NmJmMjQyODRlOTVjMDcyMDdiMjMzZDY0ZmVmYjFiMTc3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTM4Myw4ICszODMsNiBAQCB3ZWJjb3JlX2J1aWx0X3Nv
dXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUVycm9yLmggXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUxpc3QuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTWVkaWFMaXN0LmggXAotCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVNv
dXJjZS5jcHAgXAotCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVNvdXJjZS5oIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFTdHJlYW0uY3BwIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTWVkaWFTdHJlYW0uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01l
ZGlhU3RyZWFtRXZlbnQuY3BwIFwKQEAgLTcwMiw3ICs3MDAsNiBAQCBkb21fYmluZGluZ19pZGxz
ICs9IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25DYWxsYmFjay5p
ZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9yLmlkbCBc
CiAJJChXZWJDb3JlKS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5p
ZGwgXAotCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwgXAog
CSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsIFwKIAkkKFdl
YkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwgXAogCSQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9ET01XaW5kb3dNZWRpYVN0cmVhbS5pZGwgXApAQCAt
MTE3NSwxMCArMTE3Miw2IEBAIHdlYmNvcmVfbW9kdWxlc19zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9QYWdlR3JvdXBJbmRleGVkRGF0YWJhc2UuaCBcCiAJ
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4ZWREYXRh
YmFzZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL1dvcmtlckNvbnRl
eHRJbmRleGVkRGF0YWJhc2UuaCBcCi0JU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZS5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
TWVkaWFTb3VyY2UuaCBcCi0JU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRp
YVNvdXJjZVJlZ2lzdHJ5LmNwcCBcCi0JU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA2Zjg0ZDk0Mzk5ZThlN2Y4MGQ2NjZlYmQxNzUzMWMwYjc1MGIyZGRmLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjg3ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0g
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTWVkaWFTb3VyY2UuaCIKLQotI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCi0KLSNpbmNsdWRlICJDb250ZW50VHlwZS5oIgotI2luY2x1ZGUg
IkV2ZW50LmgiCi0jaW5jbHVkZSAiVGltZVJhbmdlcy5oIgotI2luY2x1ZGUgPHd0Zi9VaW50OEFy
cmF5Lmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotUGFzc1JlZlB0cjxNZWRpYVNvdXJjZT4g
TWVkaWFTb3VyY2U6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQotewot
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFTb3VyY2UoY29udGV4dCkpOwotfQotCi1NZWRp
YVNvdXJjZTo6TWVkaWFTb3VyY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKLSAg
ICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyKGNvbnRleHQpCi0gICAgLCBtX3JlYWR5U3Rh
dGUoY2xvc2VkS2V5d29yZCgpKQotICAgICwgbV9wbGF5ZXIoMCkKLSAgICAsIG1fbmV4dFNvdXJj
ZUJ1ZmZlcklkKDApCi17Ci0gICAgbV9zb3VyY2VCdWZmZXJzID0gU291cmNlQnVmZmVyTGlzdDo6
Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Ci0gICAgbV9hY3RpdmVTb3VyY2VCdWZm
ZXJzID0gU291cmNlQnVmZmVyTGlzdDo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7
Ci19Ci0KLVNvdXJjZUJ1ZmZlckxpc3QqIE1lZGlhU291cmNlOjpzb3VyY2VCdWZmZXJzKCkKLXsK
LSAgICByZXR1cm4gbV9zb3VyY2VCdWZmZXJzLmdldCgpOwotfQotCi1Tb3VyY2VCdWZmZXJMaXN0
KiBNZWRpYVNvdXJjZTo6YWN0aXZlU291cmNlQnVmZmVycygpCi17Ci0gICAgLy8gRklYTUUoOTE2
NDkpOiBzdXBwb3J0IHRyYWNrIHNlbGVjdGlvbgotICAgIHJldHVybiBtX2FjdGl2ZVNvdXJjZUJ1
ZmZlcnMuZ2V0KCk7Ci19Ci0KLVNvdXJjZUJ1ZmZlciogTWVkaWFTb3VyY2U6OmFkZFNvdXJjZUJ1
ZmZlcihjb25zdCBTdHJpbmcmIHR5cGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIC8vIDMu
MSBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRtbC1tZWRpYS9yYXctZmlsZS90aXAvbWVkaWEtc291
cmNlL21lZGlhLXNvdXJjZS5odG1sI2RvbS1hZGRzb3VyY2VidWZmZXIKLSAgICAvLyAxLiBJZiB0
eXBlIGlzIG51bGwgb3IgYW4gZW1wdHkgdGhlbiB0aHJvdyBhbiBJTlZBTElEX0FDQ0VTU19FUlIg
ZXhjZXB0aW9uIGFuZAotICAgIC8vIGFib3J0IHRoZXNlIHN0ZXBzLgotICAgIGlmICh0eXBlLmlz
TnVsbCgpIHx8IHR5cGUuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1Nf
RVJSOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICAvLyAyLiBJZiB0eXBlIGNvbnRh
aW5zIGEgTUlNRSB0eXBlIHRoYXQgaXMgbm90IHN1cHBvcnRlZCAuLi4sIHRoZW4gdGhyb3cgYQot
ICAgIC8vIE5PVF9TVVBQT1JURURfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMu
Ci0gICAgQ29udGVudFR5cGUgY29udGVudFR5cGUodHlwZSk7Ci0gICAgVmVjdG9yPFN0cmluZz4g
Y29kZWNzID0gY29udGVudFR5cGUuY29kZWNzKCk7Ci0KLSAgICBpZiAoIWNvZGVjcy5zaXplKCkp
IHsKLSAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKLSAgICAgICAgcmV0dXJuIDA7Ci0g
ICAgfQotICAgIAotICAgIC8vIDQuIElmIHRoZSByZWFkeVN0YXRlIGF0dHJpYnV0ZSBpcyBub3Qg
aW4gdGhlICJvcGVuIiBzdGF0ZSB0aGVuIHRocm93IGFuCi0gICAgLy8gSU5WQUxJRF9TVEFURV9F
UlIgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KLSAgICBpZiAoIW1fcGxheWVyIHx8
IG1fcmVhZHlTdGF0ZSAhPSBvcGVuS2V5d29yZCgpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9T
VEFURV9FUlI7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLQotICAgIC8vIDUuIENyZWF0ZSBh
IG5ldyBTb3VyY2VCdWZmZXIgb2JqZWN0IGFuZCBhc3NvY2lhdGVkIHJlc291cmNlcy4KLSAgICBS
ZWZQdHI8U291cmNlQnVmZmVyPiBidWZmZXIgPSBTb3VyY2VCdWZmZXI6OmNyZWF0ZShTdHJpbmc6
Om51bWJlcigrK21fbmV4dFNvdXJjZUJ1ZmZlcklkKSwgdGhpcyk7Ci0KLSAgICBzd2l0Y2ggKG1f
cGxheWVyLT5zb3VyY2VBZGRJZChidWZmZXItPmlkKCksIGNvbnRlbnRUeXBlLnR5cGUoKSwgY29k
ZWNzKSkgewotICAgIGNhc2UgTWVkaWFQbGF5ZXI6Ok9rOgotICAgICAgICAvLyA2LiBBZGQgdGhl
IG5ldyBvYmplY3QgdG8gc291cmNlQnVmZmVycyBhbmQgZmlyZSBhIGFkZHNvdXJjZWJ1ZmZlciBv
biB0aGF0IG9iamVjdC4KLSAgICAgICAgbV9zb3VyY2VCdWZmZXJzLT5hZGQoYnVmZmVyKTsKLSAg
ICAgICAgbV9hY3RpdmVTb3VyY2VCdWZmZXJzLT5hZGQoYnVmZmVyKTsKLSAgICAgICAgLy8gNy4g
UmV0dXJuIHRoZSBuZXcgb2JqZWN0IHRvIHRoZSBjYWxsZXIuCi0gICAgICAgIHJldHVybiBidWZm
ZXIuZ2V0KCk7Ci0gICAgY2FzZSBNZWRpYVBsYXllcjo6Tm90U3VwcG9ydGVkOgotICAgICAgICAv
LyAyIChjb250KS4gSWYgdHlwZSBjb250YWlucyBhIE1JTUUgdHlwZSAuLi4gdGhhdCBpcyBub3Qg
c3VwcG9ydGVkIHdpdGggdGhlIHR5cGVzIAotICAgICAgICAvLyBzcGVjaWZpZWQgZm9yIHRoZSBv
dGhlciBTb3VyY2VCdWZmZXIgb2JqZWN0cyBpbiBzb3VyY2VCdWZmZXJzLCB0aGVuIHRocm93Ci0g
ICAgICAgIC8vIGEgTk9UX1NVUFBPUlRFRF9FUlIgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBz
dGVwcy4KLSAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKLSAgICAgICAgcmV0dXJuIDA7
Ci0gICAgY2FzZSBNZWRpYVBsYXllcjo6UmVhY2hlZElkTGltaXQ6Ci0gICAgICAgIC8vIDMgKGNv
bnQpLiBJZiB0aGUgdXNlciBhZ2VudCBjYW4ndCBoYW5kbGUgYW55IG1vcmUgU291cmNlQnVmZmVy
IG9iamVjdHMgdGhlbiB0aHJvdyAKLSAgICAgICAgLy8gYSBRVU9UQV9FWENFRURFRF9FUlIgZXhj
ZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KLSAgICAgICAgZWMgPSBRVU9UQV9FWENFRURF
RF9FUlI7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLQotICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotICAgIHJldHVybiAwOwotfQotCi12b2lkIE1lZGlhU291cmNlOjpyZW1vdmVTb3VyY2VC
dWZmZXIoU291cmNlQnVmZmVyKiBidWZmZXIsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIC8v
IDMuMSBodHRwOi8vZHZjcy53My5vcmcvaGcvaHRtbC1tZWRpYS9yYXctZmlsZS90aXAvbWVkaWEt
c291cmNlL21lZGlhLXNvdXJjZS5odG1sI2RvbS1yZW1vdmVzb3VyY2VidWZmZXIKLSAgICAvLyAx
LiBJZiBzb3VyY2VCdWZmZXIgaXMgbnVsbCB0aGVuIHRocm93IGFuIElOVkFMSURfQUNDRVNTX0VS
UiBleGNlcHRpb24gYW5kCi0gICAgLy8gYWJvcnQgdGhlc2Ugc3RlcHMuCi0gICAgaWYgKCFidWZm
ZXIpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICAvLyAyLiBJZiBzb3VyY2VCdWZmZXJzIGlzIGVtcHR5IHRoZW4gdGhyb3cg
YW4gSU5WQUxJRF9TVEFURV9FUlIgZXhjZXB0aW9uIGFuZAotICAgIC8vIGFib3J0IHRoZXNlIHN0
ZXBzLgotICAgIGlmICghbV9wbGF5ZXIgfHwgIW1fc291cmNlQnVmZmVycy0+bGVuZ3RoKCkpIHsK
LSAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIC8vIDMuIElmIHNvdXJjZUJ1ZmZlciBzcGVjaWZpZXMgYW4gb2JqZWN0IHRoYXQgaXMg
bm90IGluIHNvdXJjZUJ1ZmZlcnMgdGhlbgotICAgIC8vIHRocm93IGEgTk9UX0ZPVU5EX0VSUiBl
eGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgotICAgIC8vIDYuIFJlbW92ZSBzb3VyY2VC
dWZmZXIgZnJvbSBzb3VyY2VCdWZmZXJzIGFuZCBmaXJlIGEgcmVtb3Zlc291cmNlYnVmZmVyIGV2
ZW50Ci0gICAgLy8gb24gdGhhdCBvYmplY3QuCi0gICAgaWYgKCFtX3NvdXJjZUJ1ZmZlcnMtPnJl
bW92ZShidWZmZXIpKSB7Ci0gICAgICAgIGVjID0gTk9UX0ZPVU5EX0VSUjsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIC8vIDcuIERlc3Ryb3kgYWxsIHJlc291cmNlcyBmb3Igc291cmNl
QnVmZmVyLgotICAgIG1fYWN0aXZlU291cmNlQnVmZmVycy0+cmVtb3ZlKGJ1ZmZlcik7Ci0gICAg
bV9wbGF5ZXItPnNvdXJjZVJlbW92ZUlkKGJ1ZmZlci0+aWQoKSk7Ci0KLSAgICAvLyA0LiBSZW1v
dmUgdHJhY2sgaW5mb3JtYXRpb24gZnJvbSBhdWRpb1RyYWNrcywgdmlkZW9UcmFja3MsIGFuZCB0
ZXh0VHJhY2tzIGZvciBhbGwgdHJhY2tzIAotICAgIC8vIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2VC
dWZmZXIgYW5kIGZpcmUgYSBzaW1wbGUgZXZlbnQgbmFtZWQgY2hhbmdlIG9uIHRoZSBtb2RpZmll
ZCBsaXN0cy4KLSAgICAvLyBGSVhNRSg5MTY0OSk6IHN1cHBvcnQgdHJhY2sgc2VsZWN0aW9uCi0K
LSAgICAvLyA1LiBJZiBzb3VyY2VCdWZmZXIgaXMgaW4gYWN0aXZlU291cmNlQnVmZmVycywgdGhl
biByZW1vdmUgaXQgZnJvbSB0aGF0IGxpc3QgYW5kIGZpcmUgYQotICAgIC8vIHJlbW92ZXNvdXJj
ZWJ1ZmZlciBldmVudCBvbiB0aGF0IG9iamVjdC4KLSAgICAvLyBGSVhNRSg5MTY0OSk6IHN1cHBv
cnQgdHJhY2sgc2VsZWN0aW9uCi19Ci0KLWNvbnN0IFN0cmluZyYgTWVkaWFTb3VyY2U6OnJlYWR5
U3RhdGUoKSBjb25zdAotewotICAgIHJldHVybiBtX3JlYWR5U3RhdGU7Ci19Ci0KLXZvaWQgTWVk
aWFTb3VyY2U6OnNldFJlYWR5U3RhdGUoY29uc3QgU3RyaW5nJiBzdGF0ZSkKLXsKLSAgICBBU1NF
UlQoc3RhdGUgPT0gb3BlbktleXdvcmQoKSB8fCBzdGF0ZSA9PSBjbG9zZWRLZXl3b3JkKCkgfHwg
c3RhdGUgPT0gZW5kZWRLZXl3b3JkKCkpOwotICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gc3RhdGUp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIFN0cmluZyBvbGRTdGF0ZSA9IG1fcmVhZHlTdGF0ZTsK
LSAgICBtX3JlYWR5U3RhdGUgPSBzdGF0ZTsKLQotICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gY2xv
c2VkS2V5d29yZCgpKSB7Ci0gICAgICAgIG1fc291cmNlQnVmZmVycy0+Y2xlYXIoKTsKLSAgICAg
ICAgbV9hY3RpdmVTb3VyY2VCdWZmZXJzLT5jbGVhcigpOwotICAgICAgICBtX3BsYXllciA9IDA7
Ci0gICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2Via2l0
c291cmNlY2xvc2VFdmVudCwgZmFsc2UsIGZhbHNlKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0gICAgCi0gICAgaWYgKG9sZFN0YXRlID09IG9wZW5LZXl3b3JkKCkgJiYgbV9yZWFkeVN0YXRl
ID09IGVuZGVkS2V5d29yZCgpKSB7Ci0gICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkud2Via2l0c291cmNlZW5kZWRFdmVudCwgZmFsc2UsIGZhbHNlKSk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAobV9yZWFkeVN0YXRlID09IG9wZW5LZXl3
b3JkKCkpIHsKLSAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMo
KS53ZWJraXRzb3VyY2VvcGVuRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotfQotCi12b2lkIE1lZGlhU291cmNlOjplbmRPZlN0cmVhbShjb25zdCBTdHJpbmcm
IGVycm9yLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICAvLyAzLjEgaHR0cDovL2R2Y3MudzMu
b3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvdGlwL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Uu
aHRtbCNkb20tZW5kb2ZzdHJlYW0KLSAgICAvLyAxLiBJZiB0aGUgcmVhZHlTdGF0ZSBhdHRyaWJ1
dGUgaXMgbm90IGluIHRoZSAib3BlbiIgc3RhdGUgdGhlbiB0aHJvdyBhbgotICAgIC8vIElOVkFM
SURfU1RBVEVfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCi0gICAgaWYgKCFt
X3BsYXllciB8fCBtX3JlYWR5U3RhdGUgIT0gb3BlbktleXdvcmQoKSkgewotICAgICAgICBlYyA9
IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgTWVkaWFQ
bGF5ZXI6OkVuZE9mU3RyZWFtU3RhdHVzIGVvc1N0YXR1cyA9IE1lZGlhUGxheWVyOjpFb3NOb0Vy
cm9yOwotCi0gICAgaWYgKGVycm9yLmlzTnVsbCgpIHx8IGVycm9yLmlzRW1wdHkoKSkKLSAgICAg
ICAgZW9zU3RhdHVzID0gTWVkaWFQbGF5ZXI6OkVvc05vRXJyb3I7Ci0gICAgZWxzZSBpZiAoZXJy
b3IgPT0gIm5ldHdvcmsiKQotICAgICAgICBlb3NTdGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zTmV0
d29ya0Vycm9yOwotICAgIGVsc2UgaWYgKGVycm9yID09ICJkZWNvZGUiKQotICAgICAgICBlb3NT
dGF0dXMgPSBNZWRpYVBsYXllcjo6RW9zRGVjb2RlRXJyb3I7Ci0gICAgZWxzZSB7Ci0gICAgICAg
IGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
Ly8gMi4gQ2hhbmdlIHRoZSByZWFkeVN0YXRlIGF0dHJpYnV0ZSB2YWx1ZSB0byAiZW5kZWQiLgot
ICAgIHNldFJlYWR5U3RhdGUoZW5kZWRLZXl3b3JkKCkpOwotICAgIG1fcGxheWVyLT5zb3VyY2VF
bmRPZlN0cmVhbShlb3NTdGF0dXMpOwotfQotCi1QYXNzUmVmUHRyPFRpbWVSYW5nZXM+IE1lZGlh
U291cmNlOjpidWZmZXJlZChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJiBlYykgY29u
c3QKLXsKLSAgICBpZiAoIW1fcGxheWVyIHx8IG1fcmVhZHlTdGF0ZSA9PSBjbG9zZWRLZXl3b3Jk
KCkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJuIDA7
Ci0gICAgfQotCi0gICAgcmV0dXJuIG1fcGxheWVyLT5zb3VyY2VCdWZmZXJlZChpZCk7Ci19Ci0K
LXZvaWQgTWVkaWFTb3VyY2U6OmFwcGVuZChjb25zdCBTdHJpbmcmIGlkLCBQYXNzUmVmUHRyPFVp
bnQ4QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGlmICghZGF0YS5nZXQo
KSkgewotICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIGlmICghbV9wbGF5ZXIgfHwgbV9yZWFkeVN0YXRlICE9IG9wZW5LZXl3b3Jk
KCkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIGlmICghZGF0YS0+bGVuZ3RoKCkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGlmICghbV9wbGF5ZXItPnNvdXJjZUFwcGVuZChpZCwgZGF0YS0+ZGF0YSgpLCBkYXRhLT5sZW5n
dGgoKSkpIHsKLSAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotfQotCi12b2lkIE1lZGlhU291cmNlOjphYm9ydChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRp
b25Db2RlJiBlYykKLXsKLSAgICBpZiAoIW1fcGxheWVyIHx8IG1fcmVhZHlTdGF0ZSAhPSBvcGVu
S2V5d29yZCgpKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIW1fcGxheWVyLT5zb3VyY2VBYm9ydChpZCkpCi0gICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1jb25zdCBBdG9taWNTdHJpbmcmIE1lZGlh
U291cmNlOjppbnRlcmZhY2VOYW1lKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZXZlbnROYW1lcygp
LmludGVyZmFjZUZvck1lZGlhU291cmNlOwotfQotCi1TY3JpcHRFeGVjdXRpb25Db250ZXh0KiBN
ZWRpYVNvdXJjZTo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci19
Ci0KLUV2ZW50VGFyZ2V0RGF0YSogTWVkaWFTb3VyY2U6OmV2ZW50VGFyZ2V0RGF0YSgpCi17Ci0g
ICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKLX0KLQotRXZlbnRUYXJnZXREYXRhKiBNZWRp
YVNvdXJjZTo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkKLXsKLSAgICByZXR1cm4gJm1fZXZlbnRU
YXJnZXREYXRhOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NDZhYzNhZTc3MDA2NjhlMDJlZDI5NTg4ZTRkZTdmODBk
ZjAyMzMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaAorKysgL2Rldi9u
dWxsCkBAIC0xLDExMyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
LSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBNZWRpYVNvdXJjZV9oCi0jZGVmaW5lIE1lZGlh
U291cmNlX2gKLQotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0KLSNpbmNsdWRlICJDb250ZXh0
RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgotI2luY2x1ZGUgIk1lZGlhUGxheWVyLmgiCi0jaW5jbHVk
ZSAiU291cmNlQnVmZmVyLmgiCi0jaW5jbHVkZSAiU291cmNlQnVmZmVyTGlzdC5oIgotI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgTWVk
aWFTb3VyY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVNvdXJjZT4sIHB1YmxpYyBFdmVudFRh
cmdldCwgcHVibGljIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKLXB1YmxpYzoKLSAgICBz
dGF0aWMgY29uc3QgU3RyaW5nJiBvcGVuS2V5d29yZCgpCi0gICAgewotICAgICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgb3BlbiwgKCJvcGVuIikpOwotICAgICAgICByZXR1
cm4gb3BlbjsKLSAgICB9Ci0KLSAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiBjbG9zZWRLZXl3b3Jk
KCkKLSAgICB7Ci0gICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBjbG9z
ZWQsICgiY2xvc2VkIikpOwotICAgICAgICByZXR1cm4gY2xvc2VkOwotICAgIH0KLQotICAgIHN0
YXRpYyBjb25zdCBTdHJpbmcmIGVuZGVkS2V5d29yZCgpCi0gICAgewotICAgICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgZW5kZWQsICgiZW5kZWQiKSk7Ci0gICAgICAgIHJl
dHVybiBlbmRlZDsKLSAgICB9Ci0KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYVNvdXJjZT4g
Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKLSAgICB2aXJ0dWFsIH5NZWRpYVNvdXJj
ZSgpIHsgfQotCi0gICAgU291cmNlQnVmZmVyTGlzdCogc291cmNlQnVmZmVycygpOwotICAgIFNv
dXJjZUJ1ZmZlckxpc3QqIGFjdGl2ZVNvdXJjZUJ1ZmZlcnMoKTsKLQotICAgIFNvdXJjZUJ1ZmZl
ciogYWRkU291cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYgdHlwZSwgRXhjZXB0aW9uQ29kZSYpOwot
ICAgIHZvaWQgcmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciosIEV4Y2VwdGlvbkNvZGUm
KTsKLQotICAgIGNvbnN0IFN0cmluZyYgcmVhZHlTdGF0ZSgpIGNvbnN0OwotICAgIHZvaWQgc2V0
UmVhZHlTdGF0ZShjb25zdCBTdHJpbmcmKTsKLQotICAgIHZvaWQgZW5kT2ZTdHJlYW0oY29uc3Qg
U3RyaW5nJiBlcnJvciwgRXhjZXB0aW9uQ29kZSYpOwotCi0gICAgdm9pZCBzZXRNZWRpYVBsYXll
cihNZWRpYVBsYXllciogcGxheWVyKSB7IG1fcGxheWVyID0gcGxheWVyOyB9Ci0gICAgCi0gICAg
UGFzc1JlZlB0cjxUaW1lUmFuZ2VzPiBidWZmZXJlZChjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRp
b25Db2RlJikgY29uc3Q7Ci0gICAgdm9pZCBhcHBlbmQoY29uc3QgU3RyaW5nJiBpZCwgUGFzc1Jl
ZlB0cjxVaW50OEFycmF5PiBkYXRhLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCBhYm9ydChj
b25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJik7Ci0KLSAgICAvLyBFdmVudFRhcmdldCBp
bnRlcmZhY2UKLSAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgp
IGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IE9WRVJSSURFOwotCi0gICAgdXNpbmcgUmVmQ291
bnRlZDxNZWRpYVNvdXJjZT46OnJlZjsKLSAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlhU291cmNl
Pjo6ZGVyZWY7Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgTWVkaWFTb3VyY2UoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCopOwotCi0gICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGV2ZW50VGFy
Z2V0RGF0YSgpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBlbnN1cmVF
dmVudFRhcmdldERhdGEoKSBPVkVSUklERTsKLQotICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRh
cmdldCgpIE9WRVJSSURFIHsgcmVmKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRh
cmdldCgpIE9WRVJSSURFIHsgZGVyZWYoKTsgfQotCi0gICAgRXZlbnRUYXJnZXREYXRhIG1fZXZl
bnRUYXJnZXREYXRhOwotCi0gICAgU3RyaW5nIG1fcmVhZHlTdGF0ZTsKLSAgICBNZWRpYVBsYXll
ciogbV9wbGF5ZXI7Ci0KLSAgICBSZWZQdHI8U291cmNlQnVmZmVyTGlzdD4gbV9zb3VyY2VCdWZm
ZXJzOwotICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJMaXN0PiBtX2FjdGl2ZVNvdXJjZUJ1ZmZlcnM7
Ci0gICAgaW50IG1fbmV4dFNvdXJjZUJ1ZmZlcklkOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL01lZGlhU291cmNlLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MjVmN2RlYzFiYmQ1Yjk3NzZiOGNkOGI3NjA0NjdkMDMxNGJhNmRiNS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL01lZGlhU291cmNlLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQot
ICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
LSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotIAot
bW9kdWxlIGh0bWwgewotCi0gICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9TUVE
SUFfU09VUkNFLAotICAgICAgICBWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2UsCi0gICAg
ICAgIEV2ZW50VGFyZ2V0LAotICAgICAgICBDb25zdHJ1Y3RvciwKLSAgICAgICAgQ2FsbFdpdGg9
U2NyaXB0RXhlY3V0aW9uQ29udGV4dAotICAgIF0gTWVkaWFTb3VyY2UgewotICAgICAgICAvLyBB
bGwgdGhlIHNvdXJjZSBidWZmZXJzIGNyZWF0ZWQgYnkgdGhpcyBvYmplY3QuCi0gICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBTb3VyY2VCdWZmZXJMaXN0IHNvdXJjZUJ1ZmZlcnM7Ci0KLSAgICAg
ICAgLy8gU3Vic2V0IG9mIHNvdXJjZUJ1ZmZlcnMgdGhhdCBwcm92aWRlIGRhdGEgZm9yIHRoZSBz
ZWxlY3RlZC9lbmFibGVkIHRyYWNrcy4KLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNvdXJj
ZUJ1ZmZlckxpc3QgYWN0aXZlU291cmNlQnVmZmVyczsKLQotICAgICAgICBTb3VyY2VCdWZmZXIg
YWRkU291cmNlQnVmZmVyKGluIERPTVN0cmluZyB0eXBlKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7
Ci0gICAgICAgIHZvaWQgcmVtb3ZlU291cmNlQnVmZmVyKGluIFNvdXJjZUJ1ZmZlciBidWZmZXIp
IHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLQotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHJlYWR5U3RhdGU7Ci0gICAgICAgIAotICAgICAgICB2b2lkIGVuZE9mU3RyZWFtKGlu
IFtPcHRpb25hbD1EZWZhdWx0SXNOdWxsU3RyaW5nXSBET01TdHJpbmcgZXJyb3IpCi0gICAgICAg
ICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIAotICAgICAgICAvLyBFdmVudFRh
cmdldCBpbnRlcmZhY2UKLSAgICAgICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERPTVN0cmlu
ZyB0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBs
aXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbF0gYm9v
bGVhbiB1c2VDYXB0dXJlKTsKLSAgICAgICAgdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKGluIERP
TVN0cmluZyB0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRM
aXN0ZW5lciBsaXN0ZW5lciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtP
cHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgICAgICAgYm9vbGVhbiBkaXNwYXRjaEV2
ZW50KGluIEV2ZW50IGV2ZW50KQotICAgICAgICAgICAgcmFpc2VzKEV2ZW50RXhjZXB0aW9uKTsK
LSAgICB9OwotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZGM2ZTRjNzZlNTIwZThiZjY1YmM0ZTBkODU2MTM1ZWU4YTZiMTJlNy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsNzAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICog
bWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJNZWRpYVNvdXJjZVJl
Z2lzdHJ5LmgiCi0KLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotCi0jaW5jbHVkZSAiS1VSTC5o
IgotI2luY2x1ZGUgIk1lZGlhU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4K
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1NZWRpYVNvdXJjZVJlZ2lzdHJ5JiBNZWRpYVNvdXJj
ZVJlZ2lzdHJ5OjpyZWdpc3RyeSgpCi17Ci0gICAgLy8gU2luY2UgV2ViV29ya2VycyBjYW5ub3Qg
b2J0YWluIE1lZGlhU291cmNlIG9iamVjdHMsIHdlIHNob3VsZCBiZSBvbiB0aGUgbWFpbiB0aHJl
YWQuCi0gICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KE1lZGlhU291cmNlUmVnaXN0cnksIGluc3RhbmNlLCAoKSk7Ci0gICAgcmV0dXJuIGluc3RhbmNl
OwotfQotCi12b2lkIE1lZGlhU291cmNlUmVnaXN0cnk6OnJlZ2lzdGVyTWVkaWFTb3VyY2VVUkwo
Y29uc3QgS1VSTCYgdXJsLCBQYXNzUmVmUHRyPE1lZGlhU291cmNlPiBzb3VyY2UpCi17Ci0gICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICBtX21lZGlhU291cmNlcy5zZXQodXJsLnN0cmlu
ZygpLCBzb3VyY2UpOwotfQotCi12b2lkIE1lZGlhU291cmNlUmVnaXN0cnk6OnVucmVnaXN0ZXJN
ZWRpYVNvdXJjZVVSTChjb25zdCBLVVJMJiB1cmwpCi17Ci0gICAgQVNTRVJUKGlzTWFpblRocmVh
ZCgpKTsKLSAgICBtX21lZGlhU291cmNlcy5yZW1vdmUodXJsLnN0cmluZygpKTsKLX0KLQotTWVk
aWFTb3VyY2UqIE1lZGlhU291cmNlUmVnaXN0cnk6Omxvb2t1cE1lZGlhU291cmNlKGNvbnN0IFN0
cmluZyYgdXJsKQotewotICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgcmV0dXJuIG1f
bWVkaWFTb3VyY2VzLmdldCh1cmwpLmdldCgpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL01lZGlhU291cmNlUmVnaXN0cnkuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OTZkYTZiMzQ3YzcwYzUxMWNiNDY4ZmVkMjE3MjcyOTcxNjY3NTM3NC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuaAorKysgL2Rldi9udWxsCkBAIC0xLDYzICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAq
Ci0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
LSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaWZuZGVmIE1lZGlhU291cmNlUmVnaXN0cnlfaAotI2RlZmluZSBNZWRpYVNvdXJjZVJl
Z2lzdHJ5X2gKLQotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0KLSNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nSGFzaC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEtVUkw7Ci1jbGFz
cyBNZWRpYVNvdXJjZTsKLQotY2xhc3MgTWVkaWFTb3VyY2VSZWdpc3RyeSB7Ci1wdWJsaWM6Ci0g
ICAgLy8gUmV0dXJucyBhIHNpbmdsZSBpbnN0YW5jZSBvZiBNZWRpYVNvdXJjZVJlZ2lzdHJ5Lgot
ICAgIHN0YXRpYyBNZWRpYVNvdXJjZVJlZ2lzdHJ5JiByZWdpc3RyeSgpOwotCi0gICAgLy8gUmVn
aXN0ZXJzIGEgYmxvYiBVUkwgcmVmZXJyaW5nIHRvIHRoZSBzcGVjaWZpZWQgbWVkaWEgc291cmNl
LgotICAgIHZvaWQgcmVnaXN0ZXJNZWRpYVNvdXJjZVVSTChjb25zdCBLVVJMJiwgUGFzc1JlZlB0
cjxNZWRpYVNvdXJjZT4pOwotICAgIHZvaWQgdW5yZWdpc3Rlck1lZGlhU291cmNlVVJMKGNvbnN0
IEtVUkwmKTsKLQotICAgIE1lZGlhU291cmNlKiBsb29rdXBNZWRpYVNvdXJjZShjb25zdCBTdHJp
bmcmIHVybCk7Ci0KLXByaXZhdGU6Ci0gICAgSGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxNZWRpYVNv
dXJjZT4gPiBtX21lZGlhU291cmNlczsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQot
I2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyLmNwcAppbmRleCA1OTE5MTA4MDMwODA4MDU3YThmODcwYmFiM2Q4OGYw
MmY1ZGIwOTFhLi43YjM2ODIxNmE2MmQyZTIyNGMyYzAyMzIzZmYzZDlhYzViMGZjOTQ1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwCkBAIC0zOCw5ICszOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU291cmNlQnVm
ZmVyOjpTb3VyY2VCdWZmZXIoY29uc3QgU3RyaW5nJiBpZCwgUGFzc1JlZlB0cjxNZWRpYVNvdXJj
ZT4gc291cmNlKQorU291cmNlQnVmZmVyOjpTb3VyY2VCdWZmZXIoY29uc3QgU3RyaW5nJiBpZCkK
ICAgICA6IG1faWQoaWQpCi0gICAgLCBtX3NvdXJjZShzb3VyY2UpCiB7CiB9CiAKQEAgLTQ4LDM0
ICs0NywyMCBAQCBTb3VyY2VCdWZmZXI6On5Tb3VyY2VCdWZmZXIoKQogewogfQogCi1QYXNzUmVm
UHRyPFRpbWVSYW5nZXM+IFNvdXJjZUJ1ZmZlcjo6YnVmZmVyZWQoRXhjZXB0aW9uQ29kZSYgZWMp
IGNvbnN0CitQYXNzUmVmUHRyPFRpbWVSYW5nZXM+IFNvdXJjZUJ1ZmZlcjo6YnVmZmVyZWQoRXhj
ZXB0aW9uQ29kZSYpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3NvdXJjZSkgewotICAgICAgICBlYyA9
IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICByZXR1
cm4gbV9zb3VyY2UtPmJ1ZmZlcmVkKGlkKCksIGVjKTsKKyAgICAvLyBGSVhNRSg5MTc3Myk6IHJl
dHVybiBidWZmZXJlZCBkYXRhIGZyb20gbWVkaWEgc291cmNlLgorICAgIHJldHVybiAwOwogfQog
Ci12b2lkIFNvdXJjZUJ1ZmZlcjo6YXBwZW5kKFBhc3NSZWZQdHI8VWludDhBcnJheT4gZGF0YSwg
RXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIFNvdXJjZUJ1ZmZlcjo6YXBwZW5kKFBhc3NSZWZQdHI8
VWludDhBcnJheT4sIEV4Y2VwdGlvbkNvZGUmKQogewotICAgIGlmICghbV9zb3VyY2UpIHsKLSAg
ICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIG1fc291cmNlLT5hcHBlbmQoaWQoKSwgZGF0YSwgZWMpOworICAgIC8vIEZJWE1FKDkxNzcz
KTogYXBwZW5kIHRoZSBkYXRhIHRvIHRoZSBtZWRpYSBzb3VyY2UuCiB9CiAKLXZvaWQgU291cmNl
QnVmZmVyOjphYm9ydChFeGNlcHRpb25Db2RlJiBlYykKK3ZvaWQgU291cmNlQnVmZmVyOjphYm9y
dChFeGNlcHRpb25Db2RlJikKIHsKLSAgICBpZiAoIW1fc291cmNlKSB7Ci0gICAgICAgIGVjID0g
SU5WQUxJRF9TVEFURV9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBtX3NvdXJj
ZS0+YWJvcnQoaWQoKSwgZWMpOworICAgIC8vIEZJWE1FKDkxNzczKTogc2lnbmFsIHRoZSBtZWRp
YSBzb3VyY2UgdG8gYWJvcnQgdGhpcyBzb3VyY2UgYnVmZmVyLgogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNl
L1NvdXJjZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXIuaAppbmRleCBkMTgwZGQ0ZDdiMDY5ZjE4NTI4ZmFiYmRmMDAyYTkyMWJjNmFkMjZl
Li4wY2JmZjNlMTNmZGJjYjcwNmQ4ZjIxODBlZGQ4N2RmMjQ2ZTdhNmVkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKQEAgLTM0LDcg
KzM0LDYgQEAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogCiAjaW5jbHVkZSAiRXhjZXB0aW9u
Q29kZS5oIgotI2luY2x1ZGUgIk1lZGlhU291cmNlLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgpAQCAtNDUsOSArNDQsOSBAQCBjbGFzcyBUaW1lUmFuZ2VzOwogCiBjbGFzcyBT
b3VyY2VCdWZmZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxTb3VyY2VCdWZmZXI+IHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTb3VyY2VCdWZmZXI+IGNyZWF0ZShjb25zdCBTdHJpbmcm
IGlkLCBQYXNzUmVmUHRyPE1lZGlhU291cmNlPiBzb3VyY2UpCisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8U291cmNlQnVmZmVyPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBpZCkKICAgICB7Ci0gICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU291cmNlQnVmZmVyKGlkLCBzb3VyY2UpKTsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBTb3VyY2VCdWZmZXIoaWQpKTsKICAgICB9CiAKICAgICB2aXJ0
dWFsIH5Tb3VyY2VCdWZmZXIoKTsKQEAgLTYwLDEzICs1OSwxMiBAQCBwdWJsaWM6CiAgICAgCiAg
ICAgY29uc3QgU3RyaW5nJiBpZCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0KIAotICAgIHZvaWQg
Y2xlYXIoKSB7IG1fc291cmNlLmNsZWFyKCk7IH0KKyAgICB2b2lkIGNsZWFyKCkgeyB9CiAKIHBy
aXZhdGU6Ci0gICAgZXhwbGljaXQgU291cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYgaWQsIFBhc3NS
ZWZQdHI8TWVkaWFTb3VyY2U+KTsKKyAgICBleHBsaWNpdCBTb3VyY2VCdWZmZXIoY29uc3QgU3Ry
aW5nJiBpZCk7CiAKICAgICBTdHJpbmcgbV9pZDsKLSAgICBSZWZQdHI8TWVkaWFTb3VyY2U+IG1f
c291cmNlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAKaW5kZXgg
NjYyYjQ2ZjBmYjY3YTg2MTU3MjhmYjhhMzRkMGIyYmExNzYzMmVkMy4uM2NjNDY3ODMxZjUxYjEy
ZGM5MGJmYmY5ZDU2MzA5ZmM2NjNjMGI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwCkBAIC0zNCw3ICszNCw2
IEBACiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIAogI2luY2x1ZGUgIkV2ZW50LmgiCi0jaW5j
bHVkZSAiU291cmNlQnVmZmVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaApp
bmRleCA2ZjdmOWE3ODkyN2UxNjcxMjFiN2E2MzBmODhiOWY1MTc0MTdjZWRhLi43ZTlmODMxNTI3
MWZhZjMxOWI2MjkwOGUzN2M2MmEyMDQyZGUwZjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaApAQCAtMzQsMTMgKzM0
LDEyIEBACiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0
LmgiCisjaW5jbHVkZSAiU291cmNlQnVmZmVyLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgU291cmNlQnVmZmVyOwotCiBjbGFzcyBTb3VyY2VCdWZmZXJMaXN0IDogcHVibGljIFJlZkNv
dW50ZWQ8U291cmNlQnVmZmVyTGlzdD4sIHB1YmxpYyBFdmVudFRhcmdldCB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8U291cmNlQnVmZmVyTGlzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBiYjBlYmU0NTQwYzdmODYyNGVi
MDAwMTRkNGM0NDg3MmEzMjU1MDVkLi42YjdlYTM3NjA1NWYxZTMxOTA1NTRiYWU3OGNiMjRmYWYw
NGVjMDVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTMwMjIsMTMgKzMwMjIsOSBAQCBjb250YWlucyhERUZJ
TkVTLCBFTkFCTEVfRklMRV9TWVNURU09MSkgewogCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVf
TUVESUFfU09VUkNFPTEpIHsKICAgICBIRUFERVJTICs9IFwKLSAgICAgICAgTW9kdWxlcy9tZWRp
YXNvdXJjZS9NZWRpYVNvdXJjZS5oIFwKLSAgICAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRp
YVNvdXJjZVJlZ2lzdHJ5LmggXAogICAgICAgICBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlci5oIFwKICAgICAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmgK
ICAgICBTT1VSQ0VTICs9IFwKLSAgICAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJj
ZS5jcHAgXAotICAgICAgICBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnku
Y3BwIFwKICAgICAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwIFwKICAg
ICAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcAogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCmluZGV4IGI0NmU1NzFiNjIzZDdmNjQ5MmFlMDIzMGFjNjY2NWNiMjNkZGE3NmYuLjMw
ZGI0YzMzOTRiNGZlZWZjNzZjY2Q5MWRhMTk5ZTRiOWM3MmE2MjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
QEAgLTgyOSw3ICs4MjksNiBAQAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnQu
aWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvSW50ZW50UmVzdWx0Q2FsbGJhY2su
aWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvTmF2aWdhdG9ySW50ZW50cy5pZGwn
LAotICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsJywKICAg
ICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwnLAogICAgICAg
ICAgICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwnLAogICAgICAg
ICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVkaWFTdHJlYW0uaWRsJywKQEAg
LTE1NDQsMTAgKzE1NDMsNiBAQAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnRS
ZXN1bHRDYWxsYmFjay5oJywKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvTmF2aWdhdG9y
SW50ZW50cy5jcHAnLAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9OYXZpZ2F0b3JJbnRl
bnRzLmgnLAotICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3Bw
JywKLSAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgnLAotICAg
ICAgICAgICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAnLAot
ICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3RyeS5oJywK
ICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAnLAogICAg
ICAgICAgICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgnLAogICAgICAgICAg
ICAgJ01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAnLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA3ZjNhZjE0ZGFlMDA2
ZWYyMGFmNjcxZWM2MTUyYTBhMmY3Y2E1NWI5Li41NzMxYThmNzY5MmQxNzZjN2JjZDhlOWUyOWRh
OTE1NTk1YThmNjQ0IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagpAQCAtMjUwODYsMjIgKzI1MDg2LDYgQEAKIAkJCQlOYW1lPSJtZWRpYXNvdXJjZSIK
IAkJCQk+CiAJCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXG1lZGlhc291
cmNlXE1lZGlhU291cmNlLmNwcCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQotCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNcbWVkaWFzb3VyY2VcTWVkaWFTb3VyY2UuaCIKLQkJ
CQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVs
ZXNcbWVkaWFzb3VyY2VcTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAiCi0JCQkJCT4KLQkJCQk8L0Zp
bGU+Ci0JCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXG1lZGlhc291cmNl
XE1lZGlhU291cmNlUmVnaXN0cnkuaCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLSAgICAgICAgPEZp
bGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXG1lZGlhc291cmNlXFNvdXJjZUJ1ZmZl
ci5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGJkNDBlYjVmYjJhY2QyYzBmM2ExZmQx
OTZmMjNiNmFmYzQ2YTkzNi4uNzJmYjI0NTI0MWZkZDYwYzFiMTM4NmE1NThmYjQ5Yzg2ZTJmZWQx
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMTE2MTYsMTEgKzExNjE2LDYgQEAKIAkJQjEwQjY5N0UxNDBDMTc0MDAwQkMxQzI2
IC8qIFdlYlZUVFRva2VuaXplci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXZWJWVFRUb2tlbml6ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
MTBCNjk3RjE0MEMxNzQwMDBCQzFDMjYgLyogV2ViVlRUVG9rZW5pemVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlZUVFRva2VuaXplci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCMTgyNzQ5MjEzNENBNEMxMDBCOThDMkQgLyogQ2FsbGJhY2tGdW5jdGlv
bi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWxsYmFja0Z1bmN0
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjFBOTQyREUxNUI1Q0UyMjAw
RDUyNUQxIC8qIE1lZGlhU291cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE1lZGlhU291cmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjFB
OTQyREYxNUI1Q0UyMjAwRDUyNUQxIC8qIE1lZGlhU291cmNlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE1lZGlhU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCUIxQTk0MkUwMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZS5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gTWVkaWFTb3VyY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlCMUE5NDJFMTE1QjVDRTIyMDBENTI1RDEgLyogTWVkaWFTb3VyY2VSZWdpc3RyeS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVNvdXJjZVJlZ2lzdHJ5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjFBOTQyRTIxNUI1Q0UyMjAwRDUy
NUQxIC8qIE1lZGlhU291cmNlUmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTWVkaWFTb3VyY2VSZWdpc3RyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlCMUE5NDJFMzE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVmZmVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNvdXJjZUJ1ZmZlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUIxQTk0MkU0MTVCNUNFMjIwMEQ1MjVEMSAvKiBTb3VyY2VCdWZm
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU291cmNlQnVmZmVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxQTk0MkU1MTVCNUNFMjIwMEQ1MjVEMSAvKiBT
b3VyY2VCdWZmZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNvdXJjZUJ1ZmZlci5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xOTA2MywxMSArMTkwNTgsNiBAQAogCQlC
MUE5NDJERDE1QjVDRTIyMDBENTI1RDEgLyogbWVkaWFzb3VyY2UgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCUIxQTk0MkRFMTVCNUNFMjIwMEQ1MjVEMSAv
KiBNZWRpYVNvdXJjZS5jcHAgKi8sCi0JCQkJQjFBOTQyREYxNUI1Q0UyMjAwRDUyNUQxIC8qIE1l
ZGlhU291cmNlLmggKi8sCi0JCQkJQjFBOTQyRTAxNUI1Q0UyMjAwRDUyNUQxIC8qIE1lZGlhU291
cmNlLmlkbCAqLywKLQkJCQlCMUE5NDJFMTE1QjVDRTIyMDBENTI1RDEgLyogTWVkaWFTb3VyY2VS
ZWdpc3RyeS5jcHAgKi8sCi0JCQkJQjFBOTQyRTIxNUI1Q0UyMjAwRDUyNUQxIC8qIE1lZGlhU291
cmNlUmVnaXN0cnkuaCAqLywKIAkJCQlCMUE5NDJFMzE1QjVDRTIyMDBENTI1RDEgLyogU291cmNl
QnVmZmVyLmNwcCAqLywKIAkJCQlCMUE5NDJFNDE1QjVDRTIyMDBENTI1RDEgLyogU291cmNlQnVm
ZmVyLmggKi8sCiAJCQkJQjFBOTQyRTUxNUI1Q0UyMjAwRDUyNUQxIC8qIFNvdXJjZUJ1ZmZlci5p
ZGwgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCmluZGV4IGQ4NWE4YzRjOTRkYjFiNDhlZmFk
ZjQ3YmFhYjRkMmMzZDI0MWU3NDEuLmQzNGEyNjU2NzU0NmZlZmRkYjc4YmQzYjhkM2YwZWRiZGZl
MGI5MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC01Niw3ICs1Niw2IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBKYXZhU2NyaXB0QXVkaW9Ob2RlOwogICAgIGNsYXNz
IExvY2FsTWVkaWFTdHJlYW07CiAgICAgY2xhc3MgTWVkaWFDb250cm9sbGVyOwotICAgIGNsYXNz
IE1lZGlhU291cmNlOwogICAgIGNsYXNzIE1lZGlhU3RyZWFtOwogICAgIGNsYXNzIE1lc3NhZ2VQ
b3J0OwogICAgIGNsYXNzIE5vZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9y
eS5pbgppbmRleCA2ZDk3MmMzOTZkNzYzMzJlMWEwYjI2NTczMWFlM2RiOGE0OWYyMWU5Li4wYTQ5
ZWNlZmQyYzI4MTc5NDAxYjMzODJkNDM5YmY1YWQ0NTYyOTE3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTE1LDcgKzE1LDYgQEAgSURCVmVyc2lvbkNoYW5n
ZVJlcXVlc3QgY29uZGl0aW9uYWw9SU5ERVhFRF9EQVRBQkFTRQogSmF2YVNjcmlwdEF1ZGlvTm9k
ZSBjb25kaXRpb25hbD1XRUJfQVVESU8KIExvY2FsTWVkaWFTdHJlYW0gY29uZGl0aW9uYWw9TUVE
SUFfU1RSRUFNCiBNZWRpYUNvbnRyb2xsZXIgY29uZGl0aW9uYWw9VklERU8KLU1lZGlhU291cmNl
IGNvbmRpdGlvbmFsPU1FRElBX1NPVVJDRQogTWVkaWFTdHJlYW0gY29uZGl0aW9uYWw9TUVESUFf
U1RSRUFNCiBNZWRpYVN0cmVhbVRyYWNrIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogTWVkaWFT
dHJlYW1UcmFja0xpc3QgY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RPTVVSTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5j
cHAKaW5kZXggZjQyMzVkOTViZjcwNjQ1ODc1NjZlYjA2ZWFkM2FmNTE4NDlkZDM2OC4uNGY5Nzgw
ZGNkNmIzMzQ3NjM5OGJiNGM2OGI0OThlNWNiMDk5MTk5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9ET01VUkwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmNw
cApAQCAtNDIsMTEgKzQyLDYgQEAKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKLSNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotI2luY2x1
ZGUgIk1lZGlhU291cmNlLmgiCi0jaW5jbHVkZSAiTWVkaWFTb3VyY2VSZWdpc3RyeS5oIgotI2Vu
ZGlmCi0KICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogI2luY2x1ZGUgIk1lZGlhU3RyZWFtLmgi
CiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1SZWdpc3RyeS5oIgpAQCAtNTQsMjYgKzQ5LDYgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLVN0cmluZyBE
T01VUkw6OmNyZWF0ZU9iamVjdFVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVj
dXRpb25Db250ZXh0LCBNZWRpYVNvdXJjZSogc291cmNlKQotewotICAgIC8vIFNpbmNlIFdlYldv
cmtlcnMgY2Fubm90IG9idGFpbiBNZWRpYVNvdXJjZSBvYmplY3RzLCB3ZSBzaG91bGQgYmUgb24g
dGhlIG1haW4gdGhyZWFkLgotICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0KLSAgICBpZiAo
IXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgfHwgIXNvdXJjZSkKLSAgICAgICAgcmV0dXJuIFN0cmlu
ZygpOwotCi0gICAgS1VSTCBwdWJsaWNVUkwgPSBCbG9iVVJMOjpjcmVhdGVQdWJsaWNVUkwoc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSk7Ci0gICAgaWYgKHB1YmxpY1VS
TC5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsKLQotICAgIE1lZGlhU291cmNl
UmVnaXN0cnk6OnJlZ2lzdHJ5KCkucmVnaXN0ZXJNZWRpYVNvdXJjZVVSTChwdWJsaWNVUkwsIHNv
dXJjZSk7Ci0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cHVibGljVVJMTWFuYWdlcigpLnN0
cmVhbVVSTHMoKS5hZGQocHVibGljVVJMLnN0cmluZygpKTsKLQotICAgIHJldHVybiBwdWJsaWNV
Ukwuc3RyaW5nKCk7Ci19Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiBTdHJp
bmcgRE9NVVJMOjpjcmVhdGVPYmplY3RVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCwgTWVkaWFTdHJlYW0qIHN0cmVhbSkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5o
CmluZGV4IGQ3MWZiOTNmMzU1YjVhZDJlMmZlYmQyZmI5MDMxODNkOTc0MTIxN2IuLjI1YWUwMTNl
YjBhOGExMGJjNDMzM2EwYmJiNGEwNzc5MTdiMjdmYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRE9NVVJMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaApAQCAt
MzYsNyArMzYsNiBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBCbG9iOwotY2xhc3Mg
TWVkaWFTb3VyY2U7CiBjbGFzcyBNZWRpYVN0cmVhbTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ7CiAKQEAgLTUwLDkgKzQ5LDYgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFN0cmluZyBj
cmVhdGVPYmplY3RVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEJsb2IqKTsKICAgICBzdGF0
aWMgdm9pZCByZXZva2VPYmplY3RVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFN0
cmluZyYpOwotI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0gICAgc3RhdGljIFN0cmluZyBjcmVh
dGVPYmplY3RVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIE1lZGlhU291cmNlKik7Ci0jZW5k
aWYKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHN0YXRpYyBTdHJpbmcgY3JlYXRlT2Jq
ZWN0VVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBNZWRpYVN0cmVhbSopOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVSTC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0RPTVVSTC5pZGwKaW5kZXggYjM2ZThmN2NlYmFlN2RjMzc2ZTliYWEzMjljZGNlOThl
MmVhMGFjYi4uZWQwNGMyM2Q1YzY3YjMxYzNiOTM3MzYyMDdmYjQwYWU5NmExNmFhYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRE9NVVJMLmlkbApAQCAtMzMsOSArMzMsNiBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAg
IEpTTm9TdGF0aWNUYWJsZXMsCiAgICAgICAgIEludGVyZmFjZU5hbWU9VVJMCiAgICAgXSBET01V
UkwgewotI2lmIGRlZmluZWQoRU5BQkxFX01FRElBX1NPVVJDRSkgJiYgRU5BQkxFX01FRElBX1NP
VVJDRQotICAgICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCxUcmVhdFJldHVy
bmVkTnVsbFN0cmluZ0FzPU51bGxdIHN0YXRpYyBET01TdHJpbmcgY3JlYXRlT2JqZWN0VVJMKGlu
IE1lZGlhU291cmNlPyBzb3VyY2UpOwotI2VuZGlmCiAjaWYgZGVmaW5lZChFTkFCTEVfTUVESUFf
U1RSRUFNKSAmJiBFTkFCTEVfTUVESUFfU1RSRUFNCiAgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRF
eGVjdXRpb25Db250ZXh0LFRyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9TnVsbF0gc3RhdGljIERP
TVN0cmluZyBjcmVhdGVPYmplY3RVUkwoaW4gTWVkaWFTdHJlYW0/IHN0cmVhbSk7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCA2ZDE5NTdiNDhiNGIxZjcxY2JlZmZkNWNi
YzFiMzU0OWZmNWRiZjQ1Li5mMWEzNDc0Mzg5NjY4ZTU4N2Q5Nzg5MWE3OTMyNDhkYzZhZjRhN2Qx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC03ODUsNyArNzg1LDYgQEAgbW9kdWxl
IHdpbmRvdyB7CiAKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1NVVRBVElPTl9PQlNF
UlZFUlNdIE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3RvciBXZWJLaXRNdXRhdGlvbk9ic2VydmVy
OwogCi0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFLCBWOEVuYWJs
ZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIE1lZGlhU291cmNlQ29uc3RydWN0b3IgTWVkaWFTb3Vy
Y2U7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFLCBWOEVuYWJs
ZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIFNvdXJjZUJ1ZmZlckNvbnN0cnVjdG9yIFNvdXJjZUJ1
ZmZlcjsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1NRURJQV9TT1VSQ0UsIFY4RW5h
YmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gU291cmNlQnVmZmVyTGlzdENvbnN0cnVjdG9yIFNv
dXJjZUJ1ZmZlckxpc3Q7CiAK
</data>
<flag name="commit-queue"
          id="166512"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>