<?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>98041</bug_id>
          
          <creation_ts>2012-10-01 09:25:30 -0700</creation_ts>
          <short_desc>REGRESSION(r130048): Broke chromium build (Requested by caseq on #webkit).</short_desc>
          <delta_ts>2012-10-02 23:05:13 -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>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>98005</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>pfeldman</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>731741</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-01 09:25:30 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/130048 broke the build:
Broke chromium build (Requested by caseq 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>731743</commentid>
    <comment_count>1</comment_count>
      <attachid>166492</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-01 09:26:11 -0700</bug_when>
    <thetext>Created attachment 166492
ROLLOUT of r130048

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>731746</commentid>
    <comment_count>2</comment_count>
      <attachid>166492</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-01 09:30:02 -0700</bug_when>
    <thetext>Comment on attachment 166492
ROLLOUT of r130048

Rejecting attachment 166492 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:
stBase.cpp
patching file Source/WebCore/platform/network/ResourceResponseBase.cpp
patching file Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp
patching file Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp
Hunk #3 FAILED at 450.
1 out of 3 hunks FAILED -- saving rejects to file Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp.rej

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/14085827</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733374</commentid>
    <comment_count>3</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-10-02 23:05:13 -0700</bug_when>
    <thetext>The problem was fixed in follow-up change.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166492</attachid>
            <date>2012-10-01 09:26:11 -0700</date>
            <delta_ts>2012-10-01 09:30:02 -0700</delta_ts>
            <desc>ROLLOUT of r130048</desc>
            <filename>bug-98041-20121001163241.patch</filename>
            <type>text/plain</type>
            <size>41942</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGNlNDdlZTYyMzU2ZWM1NDI0ODU2ZDY1
Y2VlZDk3MWE5MzMxZDY4NzQuLmM2ZTllMmRiNmE2Y2RhMDZkNDIxODIzOTZmMjY3ZmQ3MmRjYjcx
NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTItMTAtMDEgIFNoZXJpZmYgQm90ICA8d2Via2l0
LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIxMzAwNDggYW5kIHIxMzAwNDkuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hh
bmdlc2V0LzEzMDA0OAorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8x
MzAwNDkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4
MDQxCisKKyAgICAgICAgQnJva2UgY2hyb21pdW0gYnVpbGQgKFJlcXVlc3RlZCBieSBjYXNlcSBv
biAjd2Via2l0KS4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICog
V1RGLmd5cGk6CisgICAgICAgICogV1RGLnBybzoKKyAgICAgICAgKiBXVEYudmNwcm9qL1dURi52
Y3Byb2o6CisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogd3RmL01lbW9yeUluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uKToKKyAgICAgICAgKFdURjo6TWVtb3J5Q2xhc3NJbmZvOjphZGRIYXNoTWFwKToKKyAg
ICAgICAgKFdURjo6TWVtb3J5Q2xhc3NJbmZvOjphZGRIYXNoQ291bnRlZFNldCk6CisgICAgICAg
IChXVEY6Ok1lbW9yeUNsYXNzSW5mbzo6YWRkSW5zdHJ1bWVudGVkTWFwRW50cmllcyk6CisgICAg
ICAgIChXVEY6Ok1lbW9yeUNsYXNzSW5mbzo6YWRkSW5zdHJ1bWVudGVkTWFwVmFsdWVzKToKKyAg
ICAgICAgKFdURik6CisgICAgICAgIChXVEY6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSGFz
aE1hcCk6CisgICAgICAgIChXVEY6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVu
dGVkTWFwRW50cmllcyk6CisgICAgICAgIChXVEY6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRk
SW5zdHJ1bWVudGVkTWFwVmFsdWVzKToKKyAgICAgICAgKiB3dGYvTWVtb3J5SW5zdHJ1bWVudGF0
aW9uSGFzaE1hcC5oOiBSZW1vdmVkLgorCiAyMDEyLTEwLTAxICBZdXJ5IFNlbWlraGF0c2t5ICA8
eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHByb3ZpZGUgbWVt
b3J5IGluc3RydW1lbnRhdGlvbiBmb3IgSGFzaE1hcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDM3OWE3MmE1MDI3
ZTg5MGVlMDY3MzU1ZGZkY2UyNGJhNzEwYmYyOTguLmU5MDI4NzMwZTRjZjdjZmE1MDFlYzM2MzE4
OGI0Yjk0NmRmYjE2N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxMi0xMC0wMSAg
U2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzMDA0OCBhbmQgcjEzMDA0OS4KKyAgICAgICAgaHR0cDov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTMwMDQ4CisgICAgICAgIGh0dHA6Ly90cmFjLndl
YmtpdC5vcmcvY2hhbmdlc2V0LzEzMDA0OQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTgwNDEKKworICAgICAgICBCcm9rZSBjaHJvbWl1bSBidWlsZCAo
UmVxdWVzdGVkIGJ5IGNhc2VxIG9uICN3ZWJraXQpLgorCisgICAgICAgICogYmluZGluZ3Mvdjgv
U2NvcGVkRE9NRGF0YVN0b3JlLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEJpbmRpbmcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RyaW5nQ2FjaGU6OnJlcG9ydE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTU1hcC5oOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogYmluZGluZ3MvdjgvVjhQZXJJc29sYXRlRGF0YS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpWOFBlcklzb2xhdGVEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3Nz
L0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VH
ZW5lcmF0b3JWYWx1ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNz
cy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAg
ICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNv
bHZlcjo6Y29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KToKKyAgICAgICAgKiBjc3MvU3R5bGVT
aGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hlZXRDb250ZW50czo6
cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVw
b3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAg
ICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcDoKKwog
MjAxMi0xMC0wMSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkLiBDaHJvbWl1bSBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCmluZGV4IGRmN2EzNzVhNDU5MDJhYWFkN2Q3MjQ0MjkwNzA5NzFjMjU1OTBmNjkuLjcxM2Fh
NWQyNGJiYTIyZDE2MmIyNDY5MTRlNmZiMTdhODAwY2E3ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMTAtMDEgIFNoZXJpZmYgQm90ICA8d2Via2l0
LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIxMzAwNDggYW5kIHIxMzAwNDkuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hh
bmdlc2V0LzEzMDA0OAorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8x
MzAwNDkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4
MDQxCisKKyAgICAgICAgQnJva2UgY2hyb21pdW0gYnVpbGQgKFJlcXVlc3RlZCBieSBjYXNlcSBv
biAjd2Via2l0KS4KKworICAgICAgICAqIHRlc3RzL01lbW9yeUluc3RydW1lbnRhdGlvblRlc3Qu
Y3BwOgorCiAyMDEyLTEwLTAxICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHByb3ZpZGUgbWVtb3J5IGluc3RydW1lbnRhdGlv
biBmb3IgSGFzaE1hcApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGJkNmUwMWY3NjMzNDU1ZDA0
YmJkZjNiZTBiNzRiMWE2YTJiNTAwNjMuLmNmNzYwNmJhODBlM2Y5MTAyMzdkNTdmYWEwMTYxODk5
ZDZlYzYzOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQorKysg
Yi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTgxLDcgKzgxLDYgQEAgd3RmX3Nv
dXJjZXMgKz0gXAogICAgIFNvdXJjZS9XVEYvd3RmL01lZGlhVGltZS5jcHAgXAogICAgIFNvdXJj
ZS9XVEYvd3RmL01lbW9yeUluc3RydW1lbnRhdGlvbi5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9N
ZW1vcnlJbnN0cnVtZW50YXRpb25BcnJheUJ1ZmZlclZpZXcuaCBcCi0gICAgU291cmNlL1dURi93
dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uSGFzaE1hcC5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9N
ZW1vcnlJbnN0cnVtZW50YXRpb25IYXNoU2V0LmggXAogICAgIFNvdXJjZS9XVEYvd3RmL01lbW9y
eUluc3RydW1lbnRhdGlvblZlY3Rvci5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9NZXNzYWdlUXVl
dWUuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi5neXBpIGIvU291cmNlL1dURi9XVEYu
Z3lwaQppbmRleCAxZjk3ZmUwYzU2ODhkZjIyNDdhMjU1MDBlYjlkN2E0MDU5ZGJjYjZhLi5kZWFj
NTcxOWM3YWU1Yjk5YzJkMThjYjQ4YjJjNTU0NjIyYmQ4YjE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL1dURi5neXBpCisrKyBiL1NvdXJjZS9XVEYvV1RGLmd5cGkKQEAgLTUxLDcgKzUxLDYgQEAK
ICAgICAgICAgICAgICd3dGYvTWF0aEV4dHJhcy5oJywKICAgICAgICAgICAgICd3dGYvTWVtb3J5
SW5zdHJ1bWVudGF0aW9uLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZW1vcnlJbnN0cnVtZW50YXRp
b25BcnJheUJ1ZmZlclZpZXcuaCcsCi0gICAgICAgICAgICAnd3RmL01lbW9yeUluc3RydW1lbnRh
dGlvbkhhc2hNYXAuaCcsCiAgICAgICAgICAgICAnd3RmL01lbW9yeUluc3RydW1lbnRhdGlvbkhh
c2hTZXQuaCcsCiAgICAgICAgICAgICAnd3RmL01lbW9yeUluc3RydW1lbnRhdGlvblZlY3Rvci5o
JywKICAgICAgICAgICAgICd3dGYvTWVzc2FnZVF1ZXVlLmgnLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9XVEYucHJvIGIvU291cmNlL1dURi9XVEYucHJvCmluZGV4IDdmMmNjNjAyZTE2YzU4ZjIx
MTZkM2YwMjU1ODYyY2UxNjRhZTdlZWUuLjdhMTBiZWZlMzNkNGU4ZjU2YjllN2RlNTBjMjk2MjM1
OWNlODU0N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnBybworKysgYi9Tb3VyY2UvV1RG
L1dURi5wcm8KQEAgLTg4LDcgKzg4LDYgQEAgSEVBREVSUyArPSBcCiAgICAgTWVkaWFUaW1lLmgg
XAogICAgIE1lbW9yeUluc3RydW1lbnRhdGlvbi5oIFwKICAgICBNZW1vcnlJbnN0cnVtZW50YXRp
b25BcnJheUJ1ZmZlclZpZXcuaCBcCi0gICAgTWVtb3J5SW5zdHJ1bWVudGF0aW9uSGFzaE1hcC5o
IFwKICAgICBNZW1vcnlJbnN0cnVtZW50YXRpb25IYXNoU2V0LmggXAogICAgIE1lbW9yeUluc3Ry
dW1lbnRhdGlvblZlY3Rvci5oIFwKICAgICBNZXNzYWdlUXVldWUuaCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL1dURi52Y3Byb2ovV1RGLnZjcHJvaiBiL1NvdXJjZS9XVEYvV1RGLnZjcHJvai9X
VEYudmNwcm9qCmluZGV4IDJiZGE2ODc1MjIxN2RmMTdjMzQ4YTRkNzkyM2Q2YjJkODU1ZDQxZjMu
LmI5MmU3Nzg5MDM1M2ZjODE0YmQxYTA5ZWEyNGNmN2VmNTM4ZDA5OTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvV1RGLnZjcHJvai9XVEYudmNwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnZjcHJv
ai9XVEYudmNwcm9qCkBAIC05MDksMTAgKzkwOSw2IEBACiAJCQk+CiAJCTwvRmlsZT4KIAkJPEZp
bGUKLQkJICAgICAgICBSZWxhdGl2ZVBhdGg9Ii4uXHd0ZlxNZW1vcnlJbnN0cnVtZW50YXRpb25I
YXNoTWFwLmgiCi0JCQk+Ci0JCTwvRmlsZT4KLQkJPEZpbGUKIAkJICAgICAgICBSZWxhdGl2ZVBh
dGg9Ii4uXHd0ZlxNZW1vcnlJbnN0cnVtZW50YXRpb25IYXNoU2V0LmgiCiAJCQk+CiAJCTwvRmls
ZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGU3ZTQ5MDMx
YzllZWI3NzEzN2MxMTMyZDM3MWIxZDA4NTg3MTJkM2EuLjk3M2IxYzgxNjQxNmY5YjkzOTA1MGY2
NDE5NmYzNWExZjJhMmJiYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMjc1LDcgKzI3NSw2IEBACiAJCUE4QTQ3NDhDMTUxQTgyNjQwMDQxMjNGRiAvKiBj
b25maWcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4
QTQ3NDhCMTUxQTgyNjQwMDQxMjNGRiAvKiBjb25maWcuaCAqLzsgfTsKIAkJQ0Q1NDk3QUMxNTg1
N0QwMzAwQjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRDU0OTdBQTE1ODU3RDAzMDBCNUJDMzAgLyogTWVkaWFUaW1l
LmNwcCAqLzsgfTsKIAkJQ0Q1NDk3QUQxNTg1N0QwMzAwQjVCQzMwIC8qIE1lZGlhVGltZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1NDk3QUIxNTg1
N0QwMzAwQjVCQzMwIC8qIE1lZGlhVGltZS5oICovOyB9OwotCQlGMzUyNUU0NjE2MTlBNEVFMDAy
NzhCQzEgLyogTWVtb3J5SW5zdHJ1bWVudGF0aW9uSGFzaE1hcC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM1MjVFNDUxNjE5QTRFRTAwMjc4QkMxIC8q
IE1lbW9yeUluc3RydW1lbnRhdGlvbkhhc2hNYXAuaCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZp
bGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KQEAg
LTU1Niw3ICs1NTUsNiBAQAogCQlBOEE0NzQ4QjE1MUE4MjY0MDA0MTIzRkYgLyogY29uZmlnLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGNvbmZpZy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDRDU0OTdBQTE1ODU3RDAzMDBCNUJDMzAgLyogTWVkaWFUaW1lLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhVGltZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENTQ5N0FCMTU4NTdEMDMwMEI1QkMzMCAvKiBN
ZWRpYVRpbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFUaW1lLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUYzNTI1RTQ1MTYxOUE0RUUwMDI3OEJDMSAv
KiBNZW1vcnlJbnN0cnVtZW50YXRpb25IYXNoTWFwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IE1lbW9yeUluc3RydW1lbnRhdGlvbkhhc2hNYXAuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KIAogLyogQmVn
aW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtNjk5LDcgKzY5Nyw2IEBA
CiAJCQkJQ0Q1NDk3QUIxNTg1N0QwMzAwQjVCQzMwIC8qIE1lZGlhVGltZS5oICovLAogCQkJCTRG
MUQxMTUzMTVGRjExQkUwMDI2RTkwOCAvKiBNZW1vcnlJbnN0cnVtZW50YXRpb24uaCAqLywKIAkJ
CQk0RkQ4NTU0NjE2MTMzRTBFMDBDNUI3MDQgLyogTWVtb3J5SW5zdHJ1bWVudGF0aW9uQXJyYXlC
dWZmZXJWaWV3LmggKi8sCi0JCQkJRjM1MjVFNDUxNjE5QTRFRTAwMjc4QkMxIC8qIE1lbW9yeUlu
c3RydW1lbnRhdGlvbkhhc2hNYXAuaCAqLywKIAkJCQk0RjFCMkRCNTE2MEI0NEFBMDA1ODY1NTkg
LyogTWVtb3J5SW5zdHJ1bWVudGF0aW9uSGFzaFNldC5oICovLAogCQkJCTRGQ0I3MTA5MTYwQTFB
MDcwMDg0MjVFQyAvKiBNZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0b3IuaCAqLywKIAkJCQlBOEE0
NzJDQzE1MUE4MjVCMDA0MTIzRkYgLyogTWVzc2FnZVF1ZXVlLmggKi8sCkBAIC0xMTU2LDcgKzEx
NTMsNiBAQAogCQkJCTRGQ0I3MTBBMTYwQTFBMDcwMDg0MjVFQyAvKiBNZW1vcnlJbnN0cnVtZW50
YXRpb25WZWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTRGMUIyREI2MTYwQjQ0QUEwMDU4NjU1
OSAvKiBNZW1vcnlJbnN0cnVtZW50YXRpb25IYXNoU2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0
RkQ4NTU0NzE2MTMzRTBFMDBDNUI3MDQgLyogTWVtb3J5SW5zdHJ1bWVudGF0aW9uQXJyYXlCdWZm
ZXJWaWV3LmggaW4gSGVhZGVycyAqLywKLQkJCQlGMzUyNUU0NjE2MTlBNEVFMDAyNzhCQzEgLyog
TWVtb3J5SW5zdHJ1bWVudGF0aW9uSGFzaE1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XVEYvd3Rm
L01lbW9yeUluc3RydW1lbnRhdGlvbi5oCmluZGV4IGIxNDk2YzgwN2M4MGFmNGZmNTM3YjM5NTE0
NTg0MzFlYzBlOTQ2MmUuLjY5YjAyMjU0YjM3YWZhNzIwYjI1NjI2N2MyODhjNThmMWVlZTVjOGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeUluc3RydW1lbnRhdGlvbi5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL01lbW9yeUluc3RydW1lbnRhdGlvbi5oCkBAIC0xNTYsOCArMTU2LDEw
IEBAIHByaXZhdGU6CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgYWRk
T2JqZWN0KGNvbnN0IFQmIHQsIE1lbW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlKSB7IE93
bmluZ1RyYWl0czxUPjo6YWRkT2JqZWN0KHRoaXMsIHQsIG93bmVyT2JqZWN0VHlwZSk7IH0KLSAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoQ291bnRlZFNldFR5cGU+IHZvaWQgYWRkSGFzaENvdW50
ZWRTZXQoY29uc3QgSGFzaENvdW50ZWRTZXRUeXBlJiwgTWVtb3J5T2JqZWN0VHlwZSwgYm9vbCBj
b250ZW50T25seSA9IGZhbHNlKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoTWFwVHlwZT4g
dm9pZCBhZGRIYXNoTWFwKGNvbnN0IEhhc2hNYXBUeXBlJiwgTWVtb3J5T2JqZWN0VHlwZSwgYm9v
bCBjb250ZW50T25seSA9IGZhbHNlKTsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDb2xsZWN0aW9u
VHlwZT4gdm9pZCBhZGRJbnN0cnVtZW50ZWRDb2xsZWN0aW9uKGNvbnN0IENvbGxlY3Rpb25UeXBl
JiwgTWVtb3J5T2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSA9IGZhbHNlKTsKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBNYXBUeXBlPiB2b2lkIGFkZEluc3RydW1lbnRlZE1hcEVudHJpZXMoY29u
c3QgTWFwVHlwZSYsIE1lbW9yeU9iamVjdFR5cGUpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIE1h
cFR5cGU+IHZvaWQgYWRkSW5zdHJ1bWVudGVkTWFwVmFsdWVzKGNvbnN0IE1hcFR5cGUmLCBNZW1v
cnlPYmplY3RUeXBlKTsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBMaXN0SGFzaFNldFR5cGU+IHZv
aWQgYWRkTGlzdEhhc2hTZXQoY29uc3QgTGlzdEhhc2hTZXRUeXBlJiwgTWVtb3J5T2JqZWN0VHlw
ZSwgYm9vbCBjb250ZW50T25seSA9IGZhbHNlKTsKICAgICB2b2lkIGFkZFJhd0J1ZmZlcihjb25z
dCB2b2lkKiBjb25zdCYgYnVmZmVyLCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSwg
c2l6ZV90IHNpemUpCiAgICAgewpAQCAtMjEyLDcgKzIxNCwxMCBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBhZGRDb2xsZWN0aW9uRWxlbWVudHMoY29uc3QgY2hhciosIGNvbnN0IGNoYXIqKSB7IH0KICAg
ICB2b2lkIGFkZENvbGxlY3Rpb25FbGVtZW50cyhjb25zdCBpbnQqLCBjb25zdCBpbnQqKSB7IH0K
IAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhhc2hTZXRUeXBlPiB2b2lkIGFkZEhhc2hDb3VudGVk
U2V0KGNvbnN0IEhhc2hTZXRUeXBlJiBzZXQpIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFk
ZEhhc2hDb3VudGVkU2V0KHNldCwgbV9vYmplY3RUeXBlLCB0cnVlKTsgfQorICAgIHRlbXBsYXRl
PHR5cGVuYW1lIEhhc2hNYXBUeXBlPiB2b2lkIGFkZEhhc2hNYXAoY29uc3QgSGFzaE1hcFR5cGUm
IG1hcCkgeyBtX21lbW9yeUluc3RydW1lbnRhdGlvbi0+YWRkSGFzaE1hcChtYXAsIG1fb2JqZWN0
VHlwZSwgdHJ1ZSk7IH0KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoU2V0VHlwZT4gdm9pZCBh
ZGRIYXNoQ291bnRlZFNldChjb25zdCBIYXNoU2V0VHlwZSYgc2V0KSB7IG1fbWVtb3J5SW5zdHJ1
bWVudGF0aW9uLT5hZGRIYXNoTWFwKHNldCwgbV9vYmplY3RUeXBlLCB0cnVlKTsgfQorICAgIHRl
bXBsYXRlPHR5cGVuYW1lIE1hcFR5cGU+IHZvaWQgYWRkSW5zdHJ1bWVudGVkTWFwRW50cmllcyhj
b25zdCBNYXBUeXBlJiBtYXApIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZEluc3RydW1l
bnRlZE1hcEVudHJpZXMobWFwLCBtX29iamVjdFR5cGUpOyB9CisgICAgdGVtcGxhdGU8dHlwZW5h
bWUgTWFwVHlwZT4gdm9pZCBhZGRJbnN0cnVtZW50ZWRNYXBWYWx1ZXMoY29uc3QgTWFwVHlwZSYg
bWFwKSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRJbnN0cnVtZW50ZWRNYXBWYWx1ZXMo
bWFwLCBtX29iamVjdFR5cGUpOyB9CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgTGlzdEhhc2hTZXRU
eXBlPiB2b2lkIGFkZExpc3RIYXNoU2V0KGNvbnN0IExpc3RIYXNoU2V0VHlwZSYgc2V0KSB7IG1f
bWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRMaXN0SGFzaFNldChzZXQsIG1fb2JqZWN0VHlwZSwg
dHJ1ZSk7IH0KICAgICB2b2lkIGFkZFJhd0J1ZmZlcihjb25zdCB2b2lkKiBjb25zdCYgYnVmZmVy
LCBzaXplX3Qgc2l6ZSkgeyBtX21lbW9yeUluc3RydW1lbnRhdGlvbi0+YWRkUmF3QnVmZmVyKGJ1
ZmZlciwgbV9vYmplY3RUeXBlLCBzaXplKTsgfQogICAgIHZvaWQgYWRkUHJpdmF0ZUJ1ZmZlcihz
aXplX3Qgc2l6ZSkgeyBtX21lbW9yeUluc3RydW1lbnRhdGlvbi0+Y291bnRPYmplY3RTaXplKG1f
b2JqZWN0VHlwZSwgc2l6ZSk7IH0KQEAgLTI2NSwxMiArMjcwLDEyIEBAIHZvaWQgTWVtb3J5SW5z
dHJ1bWVudGF0aW9uOjphZGRPYmplY3RJbXBsKGNvbnN0IFJlZlB0cjxUPiogY29uc3QmIG9iamVj
dCwgTWVtb3J5CiAgICAgYWRkT2JqZWN0SW1wbChvYmplY3QtPmdldCgpLCBvd25lck9iamVjdFR5
cGUsIGJ5UG9pbnRlcik7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIEhhc2hDb3VudGVkU2V0VHlw
ZT4KLXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRIYXNoQ291bnRlZFNldChjb25zdCBI
YXNoQ291bnRlZFNldFR5cGUmIGhhc2hDb3VudGVkU2V0LCBNZW1vcnlPYmplY3RUeXBlIG93bmVy
T2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSkKK3RlbXBsYXRlPHR5cGVuYW1lIEhhc2hNYXBU
eXBlPgordm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEhhc2hNYXAoY29uc3QgSGFzaE1h
cFR5cGUmIGhhc2hNYXAsIE1lbW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlLCBib29sIGNv
bnRlbnRPbmx5KQogewotICAgIGlmICh2aXNpdGVkKCZoYXNoQ291bnRlZFNldCkpCisgICAgaWYg
KHZpc2l0ZWQoJmhhc2hNYXApKQogICAgICAgICByZXR1cm47Ci0gICAgY291bnRPYmplY3RTaXpl
KG93bmVyT2JqZWN0VHlwZSwgY2FsY3VsYXRlQ29udGFpbmVyU2l6ZShoYXNoQ291bnRlZFNldCwg
Y29udGVudE9ubHkpKTsKKyAgICBjb3VudE9iamVjdFNpemUob3duZXJPYmplY3RUeXBlLCBjYWxj
dWxhdGVDb250YWluZXJTaXplKGhhc2hNYXAsIGNvbnRlbnRPbmx5KSk7CiB9CiAKIHRlbXBsYXRl
PHR5cGVuYW1lIENvbGxlY3Rpb25UeXBlPgpAQCAtMjg0LDYgKzI4OSwyNCBAQCB2b2lkIE1lbW9y
eUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkQ29sbGVjdGlvbihjb25zdCBDb2xsZWN0
aW9uVHlwZSYgY29sbAogICAgICAgICBhZGRPYmplY3QoKmksIG93bmVyT2JqZWN0VHlwZSk7CiB9
CiAKK3RlbXBsYXRlPHR5cGVuYW1lIE1hcFR5cGU+Cit2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6YWRkSW5zdHJ1bWVudGVkTWFwRW50cmllcyhjb25zdCBNYXBUeXBlJiBtYXAsIE1lbW9yeU9i
amVjdFR5cGUgb3duZXJPYmplY3RUeXBlKQoreworICAgIHR5cGVuYW1lIE1hcFR5cGU6OmNvbnN0
X2l0ZXJhdG9yIGVuZCA9IG1hcC5lbmQoKTsKKyAgICBmb3IgKHR5cGVuYW1lIE1hcFR5cGU6OmNv
bnN0X2l0ZXJhdG9yIGkgPSBtYXAuYmVnaW4oKTsgaSAhPSBlbmQ7ICsraSkgeworICAgICAgICBh
ZGRPYmplY3QoaS0+Zmlyc3QsIG93bmVyT2JqZWN0VHlwZSk7CisgICAgICAgIGFkZE9iamVjdChp
LT5zZWNvbmQsIG93bmVyT2JqZWN0VHlwZSk7CisgICAgfQorfQorCit0ZW1wbGF0ZTx0eXBlbmFt
ZSBNYXBUeXBlPgordm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEluc3RydW1lbnRlZE1h
cFZhbHVlcyhjb25zdCBNYXBUeXBlJiBtYXAsIE1lbW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RU
eXBlKQoreworICAgIHR5cGVuYW1lIE1hcFR5cGU6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1hcC5l
bmQoKTsKKyAgICBmb3IgKHR5cGVuYW1lIE1hcFR5cGU6OmNvbnN0X2l0ZXJhdG9yIGkgPSBtYXAu
YmVnaW4oKTsgaSAhPSBlbmQ7ICsraSkKKyAgICAgICAgYWRkT2JqZWN0KGktPnNlY29uZCwgb3du
ZXJPYmplY3RUeXBlKTsKK30KKwogdGVtcGxhdGU8dHlwZW5hbWUgTGlzdEhhc2hTZXRUeXBlPgog
dm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZExpc3RIYXNoU2V0KGNvbnN0IExpc3RIYXNo
U2V0VHlwZSYgaGFzaFNldCwgTWVtb3J5T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUsIGJvb2wg
Y29udGVudE9ubHkpCiB7CkBAIC0zMTEsOSArMzM0LDYgQEAgdm9pZCBNZW1vcnlJbnN0cnVtZW50
YXRpb246Okluc3RydW1lbnRlZFBvaW50ZXI8VD46OnByb2Nlc3MoTWVtb3J5SW5zdHJ1bWVudGF0
aW8KIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4gY2xhc3MgVmVj
dG9yOwogdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PiB2b2lkIHJl
cG9ydE1lbW9yeVVzYWdlKGNvbnN0IFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eT4qIGNvbnN0Jiwg
TWVtb3J5T2JqZWN0SW5mbyopOwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBLZXlBcmcsIHR5cGVuYW1l
IE1hcHBlZEFyZywgdHlwZW5hbWUgSGFzaEFyZywgdHlwZW5hbWUgS2V5VHJhaXRzQXJnLCB0eXBl
bmFtZSBNYXBwZWRUcmFpdHNBcmc+IGNsYXNzIEhhc2hNYXA7Ci10ZW1wbGF0ZTx0eXBlbmFtZSBL
ZXlBcmcsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5hbWUgSGFzaEFyZywgdHlwZW5hbWUgS2V5
VHJhaXRzQXJnLCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmc+IHZvaWQgcmVwb3J0TWVtb3J5VXNh
Z2UoY29uc3QgSGFzaE1hcDxLZXlBcmcsIE1hcHBlZEFyZywgSGFzaEFyZywgS2V5VHJhaXRzQXJn
LCBNYXBwZWRUcmFpdHNBcmc+KiBjb25zdCYsIE1lbW9yeU9iamVjdEluZm8qKTsKLQogfSAvLyBu
YW1lc3BhY2UgV1RGCiAKICNlbmRpZiAvLyAhZGVmaW5lZChNZW1vcnlJbnN0cnVtZW50YXRpb25f
aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeUluc3RydW1lbnRhdGlvbkhhc2hN
YXAuaCBiL1NvdXJjZS9XVEYvd3RmL01lbW9yeUluc3RydW1lbnRhdGlvbkhhc2hNYXAuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWU0MDFlZWU2YTMxYTViYzI1NjZhYzMzM2E4ZTI5
YWU1MDJiZjk4ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25IYXNoTWFwLmgKKysrIC9kZXYv
bnVsbApAQCAtMSw3MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
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
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBNZW1vcnlJbnN0cnVtZW50YXRpb25IYXNoTWFw
X2gKLSNkZWZpbmUgTWVtb3J5SW5zdHJ1bWVudGF0aW9uSGFzaE1hcF9oCi0KLSNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9UeXBlVHJhaXRzLmg+Ci0KLW5hbWVzcGFjZSBX
VEYgewotCi10ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUeXBlPgotc3RydWN0IFNlcXVlbmNlTWVtb3J5
SW5zdHJ1bWVudGF0aW9uVHJhaXRzIHsKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgST4gc3RhdGlj
IHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoSSBpdGVyYXRvciwgSSBlbmQsIE1lbW9yeUNsYXNzSW5m
byYgaW5mbykKLSAgICB7Ci0gICAgICAgIGluZm8uYWRkQ29sbGVjdGlvbkVsZW1lbnRzKGl0ZXJh
dG9yLCBlbmQpOwotICAgIH0KLX07Ci0KLXRlbXBsYXRlPD4gc3RydWN0IFNlcXVlbmNlTWVtb3J5
SW5zdHJ1bWVudGF0aW9uVHJhaXRzPGludD4gewotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBJPiBz
dGF0aWMgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShJLCBJLCBNZW1vcnlDbGFzc0luZm8mKSB7IH0K
LX07Ci0KLXRlbXBsYXRlPD4gc3RydWN0IFNlcXVlbmNlTWVtb3J5SW5zdHJ1bWVudGF0aW9uVHJh
aXRzPHZvaWQqPiB7Ci0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIEk+IHN0YXRpYyB2b2lkIHJlcG9y
dE1lbW9yeVVzYWdlKEksIEksIE1lbW9yeUNsYXNzSW5mbyYpIHsgfQotfTsKLQotdGVtcGxhdGU8
dHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcsIHR5
cGVuYW1lIEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnPgotdm9pZCByZXBv
cnRNZW1vcnlVc2FnZShjb25zdCBIYXNoTWFwPEtleUFyZywgTWFwcGVkQXJnLCBIYXNoQXJnLCBL
ZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4qIGNvbnN0JiBoYXNoTWFwLCBNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKQotewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIGhhc2hNYXApOwotICAgIHR5cGVkZWYgSGFzaE1hcDxLZXlBcmcsIE1h
cHBlZEFyZywgSGFzaEFyZywgS2V5VHJhaXRzQXJnLCBNYXBwZWRUcmFpdHNBcmc+IEhhc2hNYXBU
eXBlOwotCi0gICAgdHlwZWRlZiBIYXNoTWFwVmFsdWVUcmFpdHM8S2V5QXJnLCBNYXBwZWRBcmc+
IFZhbHVlVHJhaXRzOwotICAgIHR5cGVkZWYgSGFzaFRhYmxlPHR5cGVuYW1lIEhhc2hNYXBUeXBl
OjpLZXlUeXBlLCB0eXBlbmFtZSBIYXNoTWFwVHlwZTo6VmFsdWVUeXBlLCBLZXlWYWx1ZVBhaXJL
ZXlFeHRyYWN0b3I8dHlwZW5hbWUgSGFzaE1hcFR5cGU6OlZhbHVlVHlwZT4sIEhhc2hBcmcsIFZh
bHVlVHJhaXRzLCBLZXlUcmFpdHNBcmc+IEhhc2hUYWJsZVR5cGU7Ci0KLSAgICBpbmZvLmFkZFBy
aXZhdGVCdWZmZXIoc2l6ZW9mKHR5cGVuYW1lIEhhc2hUYWJsZVR5cGU6OlZhbHVlVHlwZSkgKiBo
YXNoTWFwLT5jYXBhY2l0eSgpKTsKLQotICAgIC8vIENoZWNrIGlmIHR5cGUgaXMgY29udmVydGli
bGUgdG8gaW50ZWdlciB0byBoYW5kbGUgZW51bSBrZXlzIGFuZCB2YWx1ZXMuCi0gICAgU2VxdWVu
Y2VNZW1vcnlJbnN0cnVtZW50YXRpb25UcmFpdHM8dHlwZW5hbWUgQ29uZGl0aW9uYWw8SXNDb252
ZXJ0aWJsZVRvSW50ZWdlcjxLZXlBcmc+Ojp2YWx1ZSwgaW50LCBLZXlBcmc+OjpUeXBlPjo6cmVw
b3J0TWVtb3J5VXNhZ2UoaGFzaE1hcC0+YmVnaW4oKS5rZXlzKCksIGhhc2hNYXAtPmVuZCgpLmtl
eXMoKSwgaW5mbyk7Ci0gICAgU2VxdWVuY2VNZW1vcnlJbnN0cnVtZW50YXRpb25UcmFpdHM8dHlw
ZW5hbWUgQ29uZGl0aW9uYWw8SXNDb252ZXJ0aWJsZVRvSW50ZWdlcjxNYXBwZWRBcmc+Ojp2YWx1
ZSwgaW50LCBNYXBwZWRBcmc+OjpUeXBlPjo6cmVwb3J0TWVtb3J5VXNhZ2UoaGFzaE1hcC0+YmVn
aW4oKS52YWx1ZXMoKSwgaGFzaE1hcC0+ZW5kKCkudmFsdWVzKCksIGluZm8pOwotfQotCi19Ci0K
LSNlbmRpZiAvLyAhZGVmaW5lZChNZW1vcnlJbnN0cnVtZW50YXRpb25IYXNoTWFwX2gpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY29wZWRET01EYXRhU3RvcmUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NvcGVkRE9NRGF0YVN0b3JlLmNwcAppbmRl
eCBiYmRkYzVjMWJjYzkxY2ZhZDdmNjk3NzA2MzJhMDQzNTJhMmY4NjQ3Li5mOTUxMzY2NTgxZTFj
NjVkMWY3MjA1ZGM2NTYxZjQ3YzkyZjRmMmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9TY29wZWRET01EYXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Njb3BlZERPTURhdGFTdG9yZS5jcHAKQEAgLTMxLDcgKzMxLDYgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTY29wZWRET01EYXRhU3RvcmUuaCIKIAotI2luY2x1
ZGUgIk5vZGUuaCIKICNpbmNsdWRlICJXZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4QmluZGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcu
Y3BwCmluZGV4IGEyZDVkZjRmNWM0MGYxYWMzMjUwNjc5MjE3NmJhNjNjOWNkMzUwMDEuLmQyMmU3
NzUwNzVkMzkyZTdjNDdhZTIzMjlkYjBlNzAzNWJiMzZlZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhCaW5kaW5nLmNwcApAQCAtNTIsNyArNTIsNiBAQAogI2luY2x1ZGUgIlhQYXRo
TlNSZXNvbHZlci5oIgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3Rm
L01haW5UaHJlYWQuaD4KLSNpbmNsdWRlIDx3dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFk
aW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CkBAIC0yMjIsNyArMjIx
LDcgQEAgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGNyZWF0ZVJhd1RlbXBs
YXRlKCkKIHZvaWQgU3RyaW5nQ2FjaGU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpCaW5kaW5nKTsKLSAg
ICBpbmZvLmFkZE1lbWJlcihtX3N0cmluZ0NhY2hlKTsKKyAgICBpbmZvLmFkZEhhc2hNYXAobV9z
dHJpbmdDYWNoZSk7CiB9CiAgICAgCiBQYXNzUmVmUHRyPERPTVN0cmluZ0xpc3Q+IHRvRE9NU3Ry
aW5nTGlzdCh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1hcC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhET01NYXAuaAppbmRleCA0ZTU5MTc4OGFmZGJlNmQ1MmUzMDNhODRhZGU2OGNjNGZiZDQ1
YTQ4Li5hNzU5OGM2YzVlODZjZDVjOGFhZDJiNGMzYzU1ZGZiYzk5YzdkYzM5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1hcC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4RE9NTWFwLmgKQEAgLTMxLDE2ICszMSwxNSBAQAogI2lmbmRlZiBW
OERPTU1hcF9oCiAjZGVmaW5lIFY4RE9NTWFwX2gKIAotI2luY2x1ZGUgIk5vZGUuaCIKICNpbmNs
dWRlICJXZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9NZW1vcnlJbnN0
cnVtZW50YXRpb25IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUg
PHY4Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01EYXRhU3RvcmU7Cisg
ICAgY2xhc3MgTm9kZTsKIAogICAgIHRlbXBsYXRlIDxjbGFzcyBLZXlUeXBlLCBjbGFzcyBWYWx1
ZVR5cGU+IGNsYXNzIEFic3RyYWN0V2Vha1JlZmVyZW5jZU1hcCB7CiAgICAgcHVibGljOgpAQCAt
MTM4LDcgKzEzNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lk
IHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0IE9WRVJSSURFCiAgICAgICAgIHsKICAgICAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZv
KG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6QmluZGluZyk7Ci0g
ICAgICAgICAgICBpbmZvLmFkZE1lbWJlcihtX21hcCk7CisgICAgICAgICAgICBpbmZvLmFkZEhh
c2hNYXAobV9tYXApOwogICAgICAgICB9CiAKICAgICBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFBlcklzb2xhdGVEYXRhLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UGVySXNvbGF0ZURhdGEuY3BwCmluZGV4IGY1Y2QzOGFiZDA0
NmNlMWRiNzUyYjdhMTY4Zjk3NjJlYWY0MzFjMjcuLjRlMWUwYTFmNWM5OWE3N2Y0MDFhNWM5NzJj
NGViZTNkN2IzMjcxYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
UGVySXNvbGF0ZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UGVy
SXNvbGF0ZURhdGEuY3BwCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJTY3JpcHRHQ0V2
ZW50LmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCi0jaW5jbHVkZSA8d3RmL01lbW9yeUluc3Ry
dW1lbnRhdGlvbkhhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9u
VmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTg2LDggKzg1LDggQEAgdjg6Okhh
bmRsZTx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gVjhQZXJJc29sYXRlRGF0YTo6dG9TdHJpbmdUZW1w
bGF0ZSgpCiB2b2lkIFY4UGVySXNvbGF0ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9i
amVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZv
IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpCaW5kaW5n
KTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3Jhd1RlbXBsYXRlcyk7Ci0gICAgaW5mby5hZGRNZW1i
ZXIobV90ZW1wbGF0ZXMpOworICAgIGluZm8uYWRkSGFzaE1hcChtX3Jhd1RlbXBsYXRlcyk7Cisg
ICAgaW5mby5hZGRIYXNoTWFwKG1fdGVtcGxhdGVzKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX3N0
cmluZ0NhY2hlKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2RvbURhdGFMaXN0KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCmluZGV4IDkwZTEyNzE2
MDIxNjk2NjljMTM2ODc3YmEwMjk1NWQ0YjA1NmQ5YjQuLjYzY2I0MjJhOWZmNzMzZjhiZjBhZGE2
NGY1OWM1NDU5NGJiNjE2NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFn
ZUdlbmVyYXRvclZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5l
cmF0b3JWYWx1ZS5jcHAKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJJbWFnZS5oIgogI2lu
Y2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIldlYkNvcmVNZW1vcnlJbnN0cnVtZW50
YXRpb24uaCIKLSNpbmNsdWRlIDx3dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uSGFzaE1hcC5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0xMTQsOCArMTEzLDggQEAgdm9pZCBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpyZXBvcnRCYXNl
Q2xhc3NNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnkKIHsKICAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkNTUyk7CiAgICAgaW5mby5hZGRIYXNoQ291bnRlZFNldChtX3NpemVzKTsKLSAgICBpbmZvLmFk
ZE1lbWJlcihtX2NsaWVudHMpOwotICAgIGluZm8uYWRkTWVtYmVyKG1faW1hZ2VzKTsgLy8gRklY
TUU6IGluc3RydW1lbnQgSW1hZ2UKKyAgICBpbmZvLmFkZEhhc2hNYXAobV9jbGllbnRzKTsKKyAg
ICBpbmZvLmFkZEhhc2hNYXAobV9pbWFnZXMpOyAvLyBGSVhNRTogaW5zdHJ1bWVudCBJbWFnZQog
fQogCiBQYXNzUmVmUHRyPEltYWdlPiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjppbWFnZShSZW5k
ZXJPYmplY3QqIHJlbmRlcmVyLCBjb25zdCBJbnRTaXplJiBzaXplKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCA1
ZmFkZjE2ZjAzZTUwMTY2MWIyNjI1OTI1MDU1ZjkwY2I4Mjc4NzE0Li5mNmUzZGIzOWI3NTk4Mjcx
NTlmMTJhMWMwZmE3ZDAwODRhZDMxMzY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
UHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMzIsNyArMzIsNiBAQAog
I2luY2x1ZGUgIlN0eWxlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJVbmRvTWFuYWdlci5oIgogI2lu
Y2x1ZGUgIldlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uaCIKLSNpbmNsdWRlIDx3dGYvTWVt
b3J5SW5zdHJ1bWVudGF0aW9uSGFzaE1hcC5oPgogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCkBA
IC0xNzQsNyArMTczLDggQEAgdm9pZCBQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb246OnJl
cG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU8KIHsKICAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkNTUyk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9wcm9wZXJ0eVNldCk7Ci0gICAgaW5mby5hZGRN
ZW1iZXIobV9jc3NvbUNTU1ZhbHVlQ2xvbmVzKTsKKyAgICBpZiAobV9jc3NvbUNTU1ZhbHVlQ2xv
bmVzKQorICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1hcEVudHJpZXMoKm1fY3Nzb21DU1NW
YWx1ZUNsb25lcyk7CiB9CiAKIHVuc2lnbmVkIFByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlv
bjo6bGVuZ3RoKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJl
c29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCA1
NGE1M2JkMzA3ZTU3MGVhNDAxM2NlMTc5Y2RlNjEzNWQ3M2NhODI2Li4wZDUyMTliN2E5NTUyNTE5
NjQ0Yjg1NDMzNTk2ZWM3ZDcxY2UxZTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIu
Y3BwCkBAIC0xMjYsNyArMTI2LDYgQEAKICNpbmNsdWRlICJXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZS5oIgogI2luY2x1ZGUgIldlYktpdEZvbnRGYW1pbHlOYW1lcy5oIgogI2luY2x1ZGUgIlhNTE5h
bWVzLmgiCi0jaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRhdGlvbkhhc2hNYXAuaD4KICNp
bmNsdWRlIDx3dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0
Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0
cmFzLmg+CkBAIC0yNTcwLDcgKzI1NjksNyBAQCBSdWxlU2V0OjpSdWxlU2V0KCkKIAogc3RhdGlj
IHZvaWQgcmVwb3J0QXRvbVJ1bGVNYXAoTWVtb3J5Q2xhc3NJbmZvKiBpbmZvLCBjb25zdCBSdWxl
U2V0OjpBdG9tUnVsZU1hcCYgYXRvbWljUnVsZU1hcCkKIHsKLSAgICBpbmZvLT5hZGRNZW1iZXIo
YXRvbWljUnVsZU1hcCk7CisgICAgaW5mby0+YWRkSGFzaE1hcChhdG9taWNSdWxlTWFwKTsKICAg
ICBmb3IgKFJ1bGVTZXQ6OkF0b21SdWxlTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IGF0b21pY1J1
bGVNYXAuYmVnaW4oKTsgaXQgIT0gYXRvbWljUnVsZU1hcC5lbmQoKTsgKytpdCkKICAgICAgICAg
aW5mby0+YWRkTWVtYmVyKCppdC0+c2Vjb25kKTsKIH0KQEAgLTU3ODIsMjEgKzU3ODEsMjUgQEAg
dm9pZCBTdHlsZVJlc29sdmVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIGluZm8uYWRkTWVtYmVyKG1fdXNlclN0eWxlKTsK
ICAgICBpbmZvLmFkZE1lbWJlcihtX3NpYmxpbmdSdWxlU2V0KTsKICAgICBpbmZvLmFkZE1lbWJl
cihtX3VuY29tbW9uQXR0cmlidXRlUnVsZVNldCk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9rZXlm
cmFtZXNSdWxlTWFwKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX21hdGNoZWRQcm9wZXJ0aWVzQ2Fj
aGUpOworICAgIGluZm8uYWRkSGFzaE1hcChtX2tleWZyYW1lc1J1bGVNYXApOworICAgIGluZm8u
YWRkSGFzaE1hcChtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUpOworICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWFwVmFsdWVzKG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZSk7CiAgICAgaW5mby5hZGRN
ZW1iZXIobV9tYXRjaGVkUnVsZXMpOwogCiAgICAgaW5mby5hZGRNZW1iZXIobV9ydWxlTGlzdCk7
Ci0gICAgaW5mby5hZGRNZW1iZXIobV9wZW5kaW5nSW1hZ2VQcm9wZXJ0aWVzKTsKKyAgICBpbmZv
LmFkZEhhc2hNYXAobV9wZW5kaW5nSW1hZ2VQcm9wZXJ0aWVzKTsKKyAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1hcFZhbHVlcyhtX3BlbmRpbmdJbWFnZVByb3BlcnRpZXMpOwogICAgIGluZm8uYWRk
TWVtYmVyKG1fbGluZUhlaWdodFZhbHVlKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX3ZpZXdwb3J0
RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdHMpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fc3R5bGVS
dWxlVG9DU1NPTVdyYXBwZXJNYXApOworICAgIGluZm8uYWRkSGFzaE1hcChtX3N0eWxlUnVsZVRv
Q1NTT01XcmFwcGVyTWFwKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1hcEVudHJpZXMobV9z
dHlsZVJ1bGVUb0NTU09NV3JhcHBlck1hcCk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9zdHlsZVNo
ZWV0Q1NTT01XcmFwcGVyU2V0KTsKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpICYmIEVOQUJMRShT
VkcpCi0gICAgaW5mby5hZGRNZW1iZXIobV9wZW5kaW5nU1ZHRG9jdW1lbnRzKTsKKyAgICBpbmZv
LmFkZEhhc2hNYXAobV9wZW5kaW5nU1ZHRG9jdW1lbnRzKTsKICNlbmRpZgogI2lmIEVOQUJMRShT
VFlMRV9TQ09QRUQpCi0gICAgaW5mby5hZGRNZW1iZXIobV9zY29wZWRBdXRob3JTdHlsZXMpOwor
ICAgIGluZm8uYWRkSGFzaE1hcChtX3Njb3BlZEF1dGhvclN0eWxlcyk7CisgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNYXBFbnRyaWVzKG1fc2NvcGVkQXV0aG9yU3R5bGVzKTsKICAgICBpbmZvLmFk
ZE1lbWJlcihtX3Njb3BlU3RhY2spOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
U2hlZXRDb250ZW50cy5jcHAKaW5kZXggOWIxZjUxNGI5ZDE0MGY3MGJiMzFjMDY5ZDkwNjdjZWU2
YTMwZTFlNi4uOGMzOWZhYzM3MGI0NDZiMmJkMDliMDU3MGQ2MmE4ZTNkOGEwMTVjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKQEAgLTMzLDcgKzMzLDYgQEAK
ICNpbmNsdWRlICJTdHlsZVJ1bGVJbXBvcnQuaCIKICNpbmNsdWRlICJXZWJDb3JlTWVtb3J5SW5z
dHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL01l
bW9yeUluc3RydW1lbnRhdGlvbkhhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTWVtb3J5SW5zdHJ1
bWVudGF0aW9uVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ5OSw3ICs0OTgs
NyBAQCB2b2lkIFN0eWxlU2hlZXRDb250ZW50czo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgYwogICAgIGluZm8uYWRkTWVtYmVyKG1fZW5jb2Rp
bmdGcm9tQ2hhcnNldFJ1bGUpOwogICAgIGluZm8uYWRkTWVtYmVyKG1faW1wb3J0UnVsZXMpOwog
ICAgIGluZm8uYWRkTWVtYmVyKG1fY2hpbGRSdWxlcyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9u
YW1lc3BhY2VzKTsKKyAgICBpbmZvLmFkZEhhc2hNYXAobV9uYW1lc3BhY2VzKTsKICAgICBpbmZv
LmFkZE1lbWJlcihtX2NsaWVudHMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBk
M2JiZDUzNmU0NWRlOTBkMTA2YzQ0N2I5YjU1OTI3Mzk2YmVkNjQ1Li5jNTA5NDY1YWM2ZjMxY2Uz
MDhhYTgxY2ZkYmZjOTRkMGVjMDk5YWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTE3
NSw3ICsxNzUsNiBAQAogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoRnVuY3Rpb25zLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KLSNpbmNsdWRl
IDx3dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9NZW1v
cnlJbnN0cnVtZW50YXRpb25IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1l
bnRhdGlvblZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC01ODg4LDE3
ICs1ODg3LDE3IEBAIHZvaWQgRG9jdW1lbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgaW5mby5hZGRNZW1iZXIobV94bWxF
bmNvZGluZyk7CiAgICAgaW5mby5hZGRNZW1iZXIobV94bWxWZXJzaW9uKTsKICAgICBpbmZvLmFk
ZE1lbWJlcihtX2NvbnRlbnRMYW5ndWFnZSk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9kb2N1bWVu
dE5hbWVkSXRlbUNvbGxlY3Rpb25zKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3dpbmRvd05hbWVk
SXRlbUNvbGxlY3Rpb25zKTsKKyAgICBpbmZvLmFkZEhhc2hNYXAobV9kb2N1bWVudE5hbWVkSXRl
bUNvbGxlY3Rpb25zKTsKKyAgICBpbmZvLmFkZEhhc2hNYXAobV93aW5kb3dOYW1lZEl0ZW1Db2xs
ZWN0aW9ucyk7CiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQogICAgIGluZm8uYWRkTWVt
YmVyKG1fZGFzaGJvYXJkUmVnaW9ucyk7CiAjZW5kaWYKLSAgICBpbmZvLmFkZE1lbWJlcihtX2Nz
c0NhbnZhc0VsZW1lbnRzKTsKKyAgICBpbmZvLmFkZEhhc2hNYXAobV9jc3NDYW52YXNFbGVtZW50
cyk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9pY29uVVJMcyk7CiAgICAgaW5mby5hZGRNZW1iZXIo
bV9kb2N1bWVudFN1c3BlbnNpb25DYWxsYmFja0VsZW1lbnRzKTsKICAgICBpbmZvLmFkZE1lbWJl
cihtX21lZGlhVm9sdW1lQ2FsbGJhY2tFbGVtZW50cyk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9w
cml2YXRlQnJvd3NpbmdTdGF0ZUNoYW5nZWRFbGVtZW50cyk7Ci0gICAgaW5mby5hZGRNZW1iZXIo
bV9lbGVtZW50c0J5QWNjZXNzS2V5KTsKKyAgICBpbmZvLmFkZEhhc2hNYXAobV9lbGVtZW50c0J5
QWNjZXNzS2V5KTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2V2ZW50UXVldWUpOwogICAgIGluZm8u
YWRkTWVtYmVyKG1fbWVkaWFDYW5TdGFydExpc3RlbmVycyk7CiAgICAgaW5mby5hZGRNZW1iZXIo
bV9wZW5kaW5nVGFza3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAK
aW5kZXggYjVhY2YyYjU1MzFkZmY3YjBkOGU2ZjJlZmQyZjU5YjAyZTBlZjY1Ny4uNGNjODM2MTRm
ZGNhZjViOTU1MDFiYjI2ODZmM2ViZTNhNDQ3YmI4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRMb2FkZXIuY3BwCkBAIC01Myw3ICs1Myw2IEBACiAjaW5jbHVkZSAiVGV4dFJlc291
cmNlRGVjb2Rlci5oIgogI2luY2x1ZGUgIldlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uaCIK
ICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9NZW1vcnlJbnN0cnVt
ZW50YXRpb25IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRhdGlvbkhh
c2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uVmVjdG9yLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtMzc4LDcgKzM3Nyw3IEBAIHZvaWQgRG9j
dW1lbnRMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9i
amVjdEluZm8pIGNvbnN0CiAgICAgaW5mby5hZGRNZW1iZXIobV9yZXNwb25zZSk7CiAgICAgaW5m
by5hZGRNZW1iZXIobV9sYXN0Q2hlY2tlZFJlcXVlc3QpOwogICAgIGluZm8uYWRkTWVtYmVyKG1f
cmVzcG9uc2VzKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3BlbmRpbmdTdWJzdGl0dXRlUmVzb3Vy
Y2VzKTsKKyAgICBpbmZvLmFkZEhhc2hNYXAobV9wZW5kaW5nU3Vic3RpdHV0ZVJlc291cmNlcyk7
CiAgICAgaW5mby5hZGRNZW1iZXIobV9yZXNvdXJjZXNDbGllbnRLbm93c0Fib3V0KTsKICAgICBp
bmZvLmFkZE1lbWJlcihtX3Jlc291cmNlc0xvYWRlZEZyb21NZW1vcnlDYWNoZUZvckNsaWVudE5v
dGlmaWNhdGlvbik7CiAgICAgaW5mby5hZGRNZW1iZXIobV9jbGllbnRSZWRpcmVjdFNvdXJjZUZv
ckhpc3RvcnkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggYmUwZDlkNzhhN2Y4MmY2ZjJkZDNkOWIxMmIwYzljZGRl
MGViNWI2ZS4uYmI2ODc0MDUxYmNiOTQ4MWRlNGQwZmI0YWFlNDZjNjIxMDIyMTNmMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
Y3BwCkBAIC00OCw3ICs0OCw2IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgi
CiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgotI2lu
Y2x1ZGUgPHd0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L01lbW9yeUluc3RydW1lbnRhdGlvbkhhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvVW51c2VkUGFy
YW0uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC04OTcsNyArODk2LDExIEBA
IHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnByaW50UHJlbG9hZFN0YXRzKCkKIHZvaWQgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5
T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpMb2FkZXIpOwotICAgIGluZm8u
YWRkTWVtYmVyKG1fZG9jdW1lbnRSZXNvdXJjZXMpOworICAgIGluZm8uYWRkSGFzaE1hcChtX2Rv
Y3VtZW50UmVzb3VyY2VzKTsKKyAgICBmb3IgKERvY3VtZW50UmVzb3VyY2VNYXA6OmNvbnN0X2l0
ZXJhdG9yIGkgPSBtX2RvY3VtZW50UmVzb3VyY2VzLmJlZ2luKCk7IGkgIT0gbV9kb2N1bWVudFJl
c291cmNlcy5lbmQoKTsgKytpKSB7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKGktPmZpcnN0KTsK
KyAgICAgICAgaW5mby5hZGRNZW1iZXIoaS0+c2Vjb25kKTsKKyAgICB9CiAgICAgaW5mby5hZGRN
ZW1iZXIobV92YWxpZGF0ZWRVUkxzKTsKICAgICBpZiAobV9wcmVsb2FkcykKICAgICAgICAgaW5m
by5hZGRMaXN0SGFzaFNldCgqbV9wcmVsb2Fkcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL01lbW9yeUNhY2hlLmNwcAppbmRleCAxMGM5ZTZiYjE4MzcyNGIwYjRlYzAzOTBjMjc5YTgx
NmY5YzBhMmJhLi5jMWFmMDlkNjliOWMwZGU3YzhhNzJmM2UzOGQ0NzQ3YWI4ODNkMmQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTQ1LDcgKzQ1
LDYgQEAKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKICNpbmNsdWRlIDxzdGRpby5oPgogI2lu
Y2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9NZW1vcnlJbnN0cnVtZW50
YXRpb25IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRhdGlvblZlY3Rv
ci5oPgogI2luY2x1ZGUgPHd0Zi9UZW1wb3JhcnlDaGFuZ2UuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9DU3RyaW5nLmg+CkBAIC03MjAsNyArNzE5LDEyIEBAIE1lbW9yeUNhY2hlOjpTdGF0aXN0aWNz
IE1lbW9yeUNhY2hlOjpnZXRTdGF0aXN0aWNzKCkKIHZvaWQgTWVtb3J5Q2FjaGU6OnJlcG9ydE1l
bW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAg
ICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1l
bW9yeVR5cGVzOjpNZW1vcnlDYWNoZVN0cnVjdHVyZXMpOwotICAgIGluZm8uYWRkTWVtYmVyKG1f
cmVzb3VyY2VzKTsKKyAgICBpbmZvLmFkZEhhc2hNYXAobV9yZXNvdXJjZXMpOworICAgIENhY2hl
ZFJlc291cmNlTWFwOjpjb25zdF9pdGVyYXRvciBlID0gbV9yZXNvdXJjZXMuZW5kKCk7CisgICAg
Zm9yIChDYWNoZWRSZXNvdXJjZU1hcDo6Y29uc3RfaXRlcmF0b3IgaSA9IG1fcmVzb3VyY2VzLmJl
Z2luKCk7IGkgIT0gZTsgKytpKSB7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKGktPmZpcnN0KTsK
KyAgICAgICAgaW5mby5hZGRNZW1iZXIoaS0+c2Vjb25kKTsKKyAgICB9CiAgICAgaW5mby5hZGRN
ZW1iZXIobV9hbGxSZXNvdXJjZXMpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fbGl2ZURlY29kZWRS
ZXNvdXJjZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKaW5kZXggNTQzNjQ3YmUzOGI5NTY4NjAxNGEzNDll
NGE4NWU3NTJiNDg2ZDQyZS4uMzAzZGVhYTljYmRhNzZhZmJmYzZjNTYyMmMwNTQ3NDE0OTkwZmM0
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
cXVlc3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuY3BwCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJQbGF0Zm9y
bU1lbW9yeUluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgot
I2luY2x1ZGUgPHd0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL01lbW9yeUluc3RydW1lbnRhdGlvblZlY3Rvci5oPgogCiB1c2luZyBuYW1lc3BhY2Ugc3Rk
OwpAQCAtNDUyLDcgKzQ1MSw4IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6cmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykKICAgICBpbmZvLmFk
ZE1lbWJlcihtX3VybCk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9maXJzdFBhcnR5Rm9yQ29va2ll
cyk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9odHRwTWV0aG9kKTsKLSAgICBpbmZvLmFkZE1lbWJl
cihtX2h0dHBIZWFkZXJGaWVsZHMpOworICAgIGluZm8uYWRkSGFzaE1hcChtX2h0dHBIZWFkZXJG
aWVsZHMpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWFwRW50cmllcyhtX2h0dHBIZWFkZXJG
aWVsZHMpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fcmVzcG9uc2VDb250ZW50RGlzcG9zaXRpb25F
bmNvZGluZ0ZhbGxiYWNrQXJyYXkpOwogICAgIGluZm8uYWRkTWVtYmVyKG1faHR0cEJvZHkpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVzcG9uc2VCYXNlLmNwcAppbmRleCA0ODU2OGVmNmZhNjk3YjYwYmJhZGYyMDhjYzM4NDU4NmFh
NGY3MzM0Li4yNTIxZmIxMmUxOTdmYjQ5MWUxYmZmYjE0YTM4YmYwYTBjNjYwNzdjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2Uu
aCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJh
cy5oPgotI2luY2x1ZGUgPHd0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpAQCAtNTc3
LDcgKzU3Niw4IEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZUJhc2U6OnJlcG9ydE1lbW9yeVVzYWdl
KE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pCiAgICAgaW5mby5hZGRNZW1iZXIo
bV90ZXh0RW5jb2RpbmdOYW1lKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX3N1Z2dlc3RlZEZpbGVu
YW1lKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2h0dHBTdGF0dXNUZXh0KTsKLSAgICBpbmZvLmFk
ZE1lbWJlcihtX2h0dHBIZWFkZXJGaWVsZHMpOworICAgIGluZm8uYWRkSGFzaE1hcChtX2h0dHBI
ZWFkZXJGaWVsZHMpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWFwRW50cmllcyhtX2h0dHBI
ZWFkZXJGaWVsZHMpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fcmVzb3VyY2VMb2FkVGltaW5nKTsK
ICAgICBpbmZvLmFkZE1lbWJlcihtX3Jlc291cmNlTG9hZEluZm8pOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRl
ZERhdGEuY3BwCmluZGV4IDM5OGVkMGY4NzY4MDUyNDU4NzExM2M0OTFjNGMyNmI1NGFjY2I5OGMu
LjIyNDI1ZjBkNTcyYmQyN2IzMzAyZmUxNzUxODIwZDQ4OTg0ZTM5NDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YS5jcHAKQEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJTdHlsZUltYWdlLmgiCiAj
aW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgogI2luY2x1ZGUgIldlYkNvcmVNZW1vcnlJbnN0cnVt
ZW50YXRpb24uaCIKLSNpbmNsdWRlIDx3dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9N
ZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvTWVtb3J5SW5zdHJ1bWVudGF0aW9uVGVzdC5jcHAKaW5kZXggZDRiMjVhN2MzYjk4YjcxNWQ0
M2NiMzc1MTBhMTMwMDA3MDIzMjFmNi4uYmVjMWMwMGY3N2U1MTZjODk0ZTBiYjJhN2VlMmYxMmZl
ZjEzMWY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9NZW1vcnlJ
bnN0cnVtZW50YXRpb25UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L01lbW9yeUluc3RydW1lbnRhdGlvblRlc3QuY3BwCkBAIC0zNywxMCArMzcsOCBAQAogI2luY2x1
ZGUgPGd0ZXN0L2d0ZXN0Lmg+CiAKICNpbmNsdWRlIDx3dGYvQXJyYXlCdWZmZXIuaD4KLSNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8
d3RmL01lbW9yeUluc3RydW1lbnRhdGlvbkFycmF5QnVmZmVyVmlldy5oPgotI2luY2x1ZGUgPHd0
Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01lbW9yeUlu
c3RydW1lbnRhdGlvbkhhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvTWVtb3J5SW5zdHJ1bWVudGF0
aW9uVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTU0LDI1ICs1Miw2
IEBACiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIHsKLWVudW0gVGVzdEVu
dW0geyBPTkUgPSAxLCBUV08sIFRIUkVFLCBNWV9FTlVNX01BWCB9OwotfQotCi1uYW1lc3BhY2Ug
V1RGIHsKLQotdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8VGVzdEVudW0+IHsKLSAgICB0
eXBlZGVmIEludEhhc2g8dW5zaWduZWQ+IEhhc2g7Ci19OwotCi10ZW1wbGF0ZTw+IHN0cnVjdCBI
YXNoVHJhaXRzPFRlc3RFbnVtPiA6IEdlbmVyaWNIYXNoVHJhaXRzPFRlc3RFbnVtPiB7Ci0gICAg
c3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IHRydWU7Ci0gICAgc3RhdGljIGNv
bnN0IGJvb2wgbmVlZHNEZXN0cnVjdGlvbiA9IGZhbHNlOwotICAgIHN0YXRpYyB2b2lkIGNvbnN0
cnVjdERlbGV0ZWRWYWx1ZShUZXN0RW51bSYgc2xvdCkgeyBzbG90ID0gc3RhdGljX2Nhc3Q8VGVz
dEVudW0+KE1ZX0VOVU1fTUFYICsgMSk7IH0KLSAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1
ZShUZXN0RW51bSB2YWx1ZSkgeyByZXR1cm4gdmFsdWUgPT0gKE1ZX0VOVU1fTUFYICsgMSk7IH0K
LX07Ci0KLX0KLQotbmFtZXNwYWNlIHsKIAogY2xhc3MgSW5zdHJ1bWVudGF0aW9uVGVzdEhlbHBl
ciB7CiBwdWJsaWM6CkBAIC00NzEsMTQxICs0NTAsNiBAQCBURVNUKE1lbW9yeUluc3RydW1lbnRh
dGlvblRlc3QsIGhhc2hTZXRXaXRoSW5zdHJ1bWVudGVkVHlwZSkKICAgICBFWFBFQ1RfRVEoY291
bnQgKyAxLCAoc2l6ZV90KWhlbHBlci52aXNpdGVkT2JqZWN0cygpKTsKIH0KIAotVEVTVChNZW1v
cnlJbnN0cnVtZW50YXRpb25UZXN0LCBoYXNoTWFwV2l0aE5vdEluc3RydW1lbnRlZEtleXNBbmRW
YWx1ZXMpCi17Ci0gICAgSW5zdHJ1bWVudGF0aW9uVGVzdEhlbHBlciBoZWxwZXI7Ci0KLSAgICB0
eXBlZGVmIEhhc2hNYXA8aW50LCBpbnQ+IEludFRvSW50TWFwOwotICAgIE93blB0cjxJbnRUb0lu
dE1hcD4gdmFsdWUgPSBhZG9wdFB0cihuZXcgSW50VG9JbnRNYXAoKSk7Ci0gICAgc2l6ZV90IGNv
dW50ID0gMTA7Ci0gICAgZm9yIChzaXplX3QgaSA9IDE7IGkgPD0gY291bnQ7ICsraSkKLSAgICAg
ICAgdmFsdWUtPnNldChpLCBpKTsKLSAgICBJbnN0cnVtZW50ZWRPd25lcjxJbnRUb0ludE1hcCog
PiByb290KHZhbHVlLmdldCgpKTsKLSAgICBoZWxwZXIuYWRkUm9vdE9iamVjdChyb290KTsKLSAg
ICBFWFBFQ1RfRVEoc2l6ZW9mKEludFRvSW50TWFwKSArIHNpemVvZihJbnRUb0ludE1hcDo6VmFs
dWVUeXBlKSAqIHZhbHVlLT5jYXBhY2l0eSgpLCBoZWxwZXIucmVwb3J0ZWRTaXplRm9yQWxsVHlw
ZXMoKSk7Ci0gICAgRVhQRUNUX0VRKDEsIGhlbHBlci52aXNpdGVkT2JqZWN0cygpKTsKLX0KLQot
VEVTVChNZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0LCBoYXNoTWFwV2l0aEluc3RydW1lbnRlZEtl
eXMpCi17Ci0gICAgSW5zdHJ1bWVudGF0aW9uVGVzdEhlbHBlciBoZWxwZXI7Ci0KLSAgICB0eXBl
ZGVmIEhhc2hNYXA8U3RyaW5nLCBpbnQ+IFN0cmluZ1RvSW50TWFwOwotICAgIE93blB0cjxTdHJp
bmdUb0ludE1hcD4gdmFsdWUgPSBhZG9wdFB0cihuZXcgU3RyaW5nVG9JbnRNYXAoKSk7Ci0gICAg
aW50IGNvdW50ID0gMTA7Ci0gICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gY291bnQ7ICsraSkKLSAg
ICAgICAgdmFsdWUtPnNldChTdHJpbmc6Om51bWJlcihpKSwgaSk7Ci0gICAgSW5zdHJ1bWVudGVk
T3duZXI8U3RyaW5nVG9JbnRNYXAqID4gcm9vdCh2YWx1ZS5nZXQoKSk7Ci0gICAgaGVscGVyLmFk
ZFJvb3RPYmplY3Qocm9vdCk7Ci0gICAgRVhQRUNUX0VRKHNpemVvZihTdHJpbmdUb0ludE1hcCkg
KyBzaXplb2YoU3RyaW5nVG9JbnRNYXA6OlZhbHVlVHlwZSkgKiB2YWx1ZS0+Y2FwYWNpdHkoKSAr
IHNpemVvZihTdHJpbmdJbXBsKSAqIHZhbHVlLT5zaXplKCksIGhlbHBlci5yZXBvcnRlZFNpemVG
b3JBbGxUeXBlcygpKTsKLSAgICBFWFBFQ1RfRVEoY291bnQgKyAxLCBoZWxwZXIudmlzaXRlZE9i
amVjdHMoKSk7Ci19Ci0KLVRFU1QoTWVtb3J5SW5zdHJ1bWVudGF0aW9uVGVzdCwgaGFzaE1hcFdp
dGhJbnN0cnVtZW50ZWRWYWx1ZXMpCi17Ci0gICAgSW5zdHJ1bWVudGF0aW9uVGVzdEhlbHBlciBo
ZWxwZXI7Ci0KLSAgICB0eXBlZGVmIEhhc2hNYXA8aW50LCBTdHJpbmc+IEludFRvU3RyaW5nTWFw
OwotICAgIE93blB0cjxJbnRUb1N0cmluZ01hcD4gdmFsdWUgPSBhZG9wdFB0cihuZXcgSW50VG9T
dHJpbmdNYXAoKSk7Ci0gICAgaW50IGNvdW50ID0gMTA7Ci0gICAgZm9yIChpbnQgaSA9IDE7IGkg
PD0gY291bnQ7ICsraSkKLSAgICAgICAgdmFsdWUtPnNldChpLCBTdHJpbmc6Om51bWJlcihpKSk7
Ci0gICAgSW5zdHJ1bWVudGVkT3duZXI8SW50VG9TdHJpbmdNYXAqID4gcm9vdCh2YWx1ZS5nZXQo
KSk7Ci0gICAgaGVscGVyLmFkZFJvb3RPYmplY3Qocm9vdCk7Ci0gICAgRVhQRUNUX0VRKHNpemVv
ZihJbnRUb1N0cmluZ01hcCkgKyBzaXplb2YoSW50VG9TdHJpbmdNYXA6OlZhbHVlVHlwZSkgKiB2
YWx1ZS0+Y2FwYWNpdHkoKSArIHNpemVvZihTdHJpbmdJbXBsKSAqIHZhbHVlLT5zaXplKCksIGhl
bHBlci5yZXBvcnRlZFNpemVGb3JBbGxUeXBlcygpKTsKLSAgICBFWFBFQ1RfRVEoY291bnQgKyAx
LCBoZWxwZXIudmlzaXRlZE9iamVjdHMoKSk7Ci19Ci0KLVRFU1QoTWVtb3J5SW5zdHJ1bWVudGF0
aW9uVGVzdCwgaGFzaE1hcFdpdGhJbnN0cnVtZW50ZWRLZXlzQW5kVmFsdWVzKQotewotICAgIElu
c3RydW1lbnRhdGlvblRlc3RIZWxwZXIgaGVscGVyOwotCi0gICAgdHlwZWRlZiBIYXNoTWFwPFN0
cmluZywgU3RyaW5nPiBTdHJpbmdUb1N0cmluZ01hcDsKLSAgICBPd25QdHI8U3RyaW5nVG9TdHJp
bmdNYXA+IHZhbHVlID0gYWRvcHRQdHIobmV3IFN0cmluZ1RvU3RyaW5nTWFwKCkpOwotICAgIGlu
dCBjb3VudCA9IDEwOwotICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IGNvdW50OyArK2kpCi0gICAg
ICAgIHZhbHVlLT5zZXQoU3RyaW5nOjpudW1iZXIoY291bnQgKyBpKSwgU3RyaW5nOjpudW1iZXIo
aSkpOwotICAgIEluc3RydW1lbnRlZE93bmVyPFN0cmluZ1RvU3RyaW5nTWFwKiA+IHJvb3QodmFs
dWUuZ2V0KCkpOwotICAgIGhlbHBlci5hZGRSb290T2JqZWN0KHJvb3QpOwotICAgIEVYUEVDVF9F
UShzaXplb2YoU3RyaW5nVG9TdHJpbmdNYXApICsgc2l6ZW9mKFN0cmluZ1RvU3RyaW5nTWFwOjpW
YWx1ZVR5cGUpICogdmFsdWUtPmNhcGFjaXR5KCkgKyAyICogc2l6ZW9mKFN0cmluZ0ltcGwpICog
dmFsdWUtPnNpemUoKSwgaGVscGVyLnJlcG9ydGVkU2l6ZUZvckFsbFR5cGVzKCkpOwotICAgIEVY
UEVDVF9FUSgyICogY291bnQgKyAxLCBoZWxwZXIudmlzaXRlZE9iamVjdHMoKSk7Ci19Ci0KLVRF
U1QoTWVtb3J5SW5zdHJ1bWVudGF0aW9uVGVzdCwgaGFzaE1hcFdpdGhJbnN0cnVtZW50ZWRQb2lu
dGVyS2V5c0FuZFBvaW50ZXJWYWx1ZXMpCi17Ci0gICAgSW5zdHJ1bWVudGF0aW9uVGVzdEhlbHBl
ciBoZWxwZXI7Ci0KLSAgICB0eXBlZGVmIEhhc2hNYXA8SW5zdHJ1bWVudGVkKiwgSW5zdHJ1bWVu
dGVkKj4gSW5zdHJ1bWVudGVkVG9JbnN0cnVtZW50ZWRNYXA7Ci0gICAgT3duUHRyPEluc3RydW1l
bnRlZFRvSW5zdHJ1bWVudGVkTWFwPiB2YWx1ZSA9IGFkb3B0UHRyKG5ldyBJbnN0cnVtZW50ZWRU
b0luc3RydW1lbnRlZE1hcCgpKTsKLSAgICBWZWN0b3I8T3duUHRyPEluc3RydW1lbnRlZD4gPiB2
YWx1ZXNWZWN0b3I7Ci0gICAgaW50IGNvdW50ID0gMTA7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkg
PCBjb3VudDsgKytpKSB7Ci0gICAgICAgIHZhbHVlc1ZlY3Rvci5hcHBlbmQoYWRvcHRQdHIobmV3
IEluc3RydW1lbnRlZCgpKSk7Ci0gICAgICAgIHZhbHVlc1ZlY3Rvci5hcHBlbmQoYWRvcHRQdHIo
bmV3IEluc3RydW1lbnRlZCgpKSk7Ci0gICAgICAgIHZhbHVlLT5zZXQodmFsdWVzVmVjdG9yWzIg
KiBpXS5nZXQoKSwgdmFsdWVzVmVjdG9yWzIgKiBpICsgMV0uZ2V0KCkpOwotICAgIH0KLSAgICBJ
bnN0cnVtZW50ZWRPd25lcjxJbnN0cnVtZW50ZWRUb0luc3RydW1lbnRlZE1hcCogPiByb290KHZh
bHVlLmdldCgpKTsKLSAgICBoZWxwZXIuYWRkUm9vdE9iamVjdChyb290KTsKLSAgICBFWFBFQ1Rf
RVEoc2l6ZW9mKEluc3RydW1lbnRlZFRvSW5zdHJ1bWVudGVkTWFwKSArIHNpemVvZihJbnN0cnVt
ZW50ZWRUb0luc3RydW1lbnRlZE1hcDo6VmFsdWVUeXBlKSAqIHZhbHVlLT5jYXBhY2l0eSgpICsg
MiAqIChzaXplb2YoSW5zdHJ1bWVudGVkKSArIHNpemVvZihOb3RJbnN0cnVtZW50ZWQpKSAqIHZh
bHVlLT5zaXplKCksIGhlbHBlci5yZXBvcnRlZFNpemVGb3JBbGxUeXBlcygpKTsKLSAgICBFWFBF
Q1RfRVEoMiAqIDIgKiBjb3VudCArIDEsIGhlbHBlci52aXNpdGVkT2JqZWN0cygpKTsKLX0KLQot
Y2xhc3MgSW5zdHJ1bWVudGVkQ29udmVydGlibGVUb0ludCB7Ci1wdWJsaWM6Ci0gICAgSW5zdHJ1
bWVudGVkQ29udmVydGlibGVUb0ludCgpIDogbV9ub3RJbnN0cnVtZW50ZWQoMCkgeyB9Ci0gICAg
fkluc3RydW1lbnRlZENvbnZlcnRpYmxlVG9JbnQoKSB7IH0KLQotICAgIHZpcnR1YWwgdm9pZCBy
ZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25z
dAotICAgIHsKLSAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpET00pOwotICAgICAgICBpbmZvLmFkZE1lbWJlciht
X25vdEluc3RydW1lbnRlZCk7Ci0gICAgfQotCi0gICAgb3BlcmF0b3IgaW50KCkgY29uc3QgeyBy
ZXR1cm4gMjAxMjsgfQotCi0gICAgTm90SW5zdHJ1bWVudGVkKiBtX25vdEluc3RydW1lbnRlZDsK
LX07Ci0KLS8vIFRoaXMgdGVzdCBjaGVja3MgaWYgcmVwb3J0TWVtb3J5VXNhZ2UgbWV0aG9kIHdp
bGwgYmUgY2FsbGVkIG9uIGEgY2xhc3MKLS8vIHRoYXQgY2FuIGJlIGltcGxpY2l0bHkgY2FzdCB0
byBpbnQuIEN1cnJlbnRseSBvYmplY3RzIG9mIHN1Y2ggY2xhc3NlcyBhcmUKLS8vIHRyZWF0ZWQg
YXMgaW50ZWdlcnMgd2hlbiB0aGV5IGFyZSBzdG9yZWQgaW4gYSBIYXNoTWFwIGJ5IHZhbHVlIGFu
ZAotLy8gcmVwb3J0TWVtb3J5VXNhZ2Ugd2lsbCBub3QgYmUgY2FsbGVkIG9uIHRoZW0uIFdlIG1h
eSBmaXggdGhhdCBsYXRlci4KLVRFU1QoTWVtb3J5SW5zdHJ1bWVudGF0aW9uVGVzdCwgaGFzaE1h
cFdpdGhWYWx1ZXNDb252ZXJ0aWJsZVRvSW50KQotewotICAgIEluc3RydW1lbnRhdGlvblRlc3RI
ZWxwZXIgaGVscGVyOwotCi0gICAgdHlwZWRlZiBIYXNoTWFwPEluc3RydW1lbnRlZENvbnZlcnRp
YmxlVG9JbnQqLCBJbnN0cnVtZW50ZWRDb252ZXJ0aWJsZVRvSW50PiBUZXN0TWFwOwotICAgIE93
blB0cjxUZXN0TWFwPiB2YWx1ZSA9IGFkb3B0UHRyKG5ldyBUZXN0TWFwKCkpOwotICAgIFZlY3Rv
cjxPd25QdHI8SW5zdHJ1bWVudGVkQ29udmVydGlibGVUb0ludD4gPiBrZXlzVmVjdG9yOwotICAg
IFZlY3RvcjxPd25QdHI8Tm90SW5zdHJ1bWVudGVkPiA+IHZhbHVlc1ZlY3RvcjsKLSAgICBpbnQg
Y291bnQgPSAxMDsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKLSAgICAg
ICAga2V5c1ZlY3Rvci5hcHBlbmQoYWRvcHRQdHIobmV3IEluc3RydW1lbnRlZENvbnZlcnRpYmxl
VG9JbnQoKSkpOwotICAgICAgICB2YWx1ZXNWZWN0b3IuYXBwZW5kKGFkb3B0UHRyKG5ldyBOb3RJ
bnN0cnVtZW50ZWQoKSkpOwotICAgICAgICB2YWx1ZS0+c2V0KGtleXNWZWN0b3JbaV0uZ2V0KCks
IEluc3RydW1lbnRlZENvbnZlcnRpYmxlVG9JbnQoKSkuaXRlcmF0b3ItPnNlY29uZC5tX25vdElu
c3RydW1lbnRlZCA9IHZhbHVlc1ZlY3RvcltpXS5nZXQoKTsKLSAgICB9Ci0gICAgSW5zdHJ1bWVu
dGVkT3duZXI8VGVzdE1hcCogPiByb290KHZhbHVlLmdldCgpKTsKLSAgICBoZWxwZXIuYWRkUm9v
dE9iamVjdChyb290KTsKLSAgICBFWFBFQ1RfRVEoc2l6ZW9mKFRlc3RNYXApICsgc2l6ZW9mKFRl
c3RNYXA6OlZhbHVlVHlwZSkgKiB2YWx1ZS0+Y2FwYWNpdHkoKSArCi0gICAgICAgIHNpemVvZihJ
bnN0cnVtZW50ZWRDb252ZXJ0aWJsZVRvSW50KSAqIGNvdW50IC8qICsgc2l6ZW9mKE5vdEluc3Ry
dW1lbnRlZCkgKiBjb3VudCAqLywgaGVscGVyLnJlcG9ydGVkU2l6ZUZvckFsbFR5cGVzKCkpOwot
ICAgIEVYUEVDVF9FUShjb3VudCArIDEsIGhlbHBlci52aXNpdGVkT2JqZWN0cygpKTsKLX0KLQot
VEVTVChNZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0LCBoYXNoTWFwV2l0aEVudW1LZXlzQW5kSW5z
dHJ1bWVudGVkVmFsdWVzKQotewotICAgIEluc3RydW1lbnRhdGlvblRlc3RIZWxwZXIgaGVscGVy
OwotCi0gICAgdHlwZWRlZiBIYXNoTWFwPFRlc3RFbnVtLCBTdHJpbmc+IEVudW1Ub1N0cmluZ01h
cDsKLSAgICBPd25QdHI8RW51bVRvU3RyaW5nTWFwPiB2YWx1ZSA9IGFkb3B0UHRyKG5ldyBFbnVt
VG9TdHJpbmdNYXAoKSk7Ci0gICAgaW50IGNvdW50ID0gTVlfRU5VTV9NQVg7Ci0gICAgZm9yIChp
bnQgaSA9IE9ORTsgaSA8PSBjb3VudDsgKytpKQotICAgICAgICB2YWx1ZS0+c2V0KHN0YXRpY19j
YXN0PFRlc3RFbnVtPihpKSwgU3RyaW5nOjpudW1iZXIoaSkpOwotICAgIEluc3RydW1lbnRlZE93
bmVyPEVudW1Ub1N0cmluZ01hcCogPiByb290KHZhbHVlLmdldCgpKTsKLSAgICBoZWxwZXIuYWRk
Um9vdE9iamVjdChyb290KTsKLSAgICBFWFBFQ1RfRVEoc2l6ZW9mKEVudW1Ub1N0cmluZ01hcCkg
KyBzaXplb2YoRW51bVRvU3RyaW5nTWFwOjpWYWx1ZVR5cGUpICogdmFsdWUtPmNhcGFjaXR5KCkg
KyBzaXplb2YoU3RyaW5nSW1wbCkgKiB2YWx1ZS0+c2l6ZSgpLCBoZWxwZXIucmVwb3J0ZWRTaXpl
Rm9yQWxsVHlwZXMoKSk7Ci0gICAgRVhQRUNUX0VRKGNvdW50ICsgMSwgaGVscGVyLnZpc2l0ZWRP
YmplY3RzKCkpOwotfQotCiBURVNUKE1lbW9yeUluc3RydW1lbnRhdGlvblRlc3QsIGFycmF5QnVm
ZmVyKQogewogICAgIEluc3RydW1lbnRhdGlvblRlc3RIZWxwZXIgaGVscGVyOwo=
</data>
<flag name="commit-queue"
          id="178842"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>